:root {
  --ink: #141414;
  --muted: #5a5a5a;
  --line: #d9d6d0;
  --accent: #9b2c22;
  --paper: #ffffff;
  --dark: #141414;
  --serif: "Libre Baskerville", Baskerville, "Baskerville Old Face", "Hoefler Text", Georgia, serif;
  --sans: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.7;
}

a { color: inherit; }

.wrap {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 clamp(16px, 5vw, 70px);
}

/* Kopf */
.kopf {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 24px;
  padding-top: clamp(32px, 5vw, 48px);
  padding-bottom: 28px;
  border-bottom: 3px solid var(--ink);
}

.name {
  margin: 0;
  font-weight: 400;
  font-size: clamp(44px, 7.5vw, 92px);
  line-height: 0.98;
  letter-spacing: -0.01em;
}

.name a { text-decoration: none; }

.unterzeile {
  margin: 0 0 6px;
  text-align: right;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.9;
}

nav.haupt {
  border-bottom: 1px solid var(--ink);
}

nav.haupt ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 40px;
  margin: 0;
  padding: 14px 0;
  list-style: none;
}

nav.haupt a {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
}

nav.haupt a:hover,
nav.haupt a[aria-current="page"] { color: var(--accent); }

/* Hauptprojekt */
.hero {
  display: grid;
  grid-template-columns: minmax(0, 585px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  padding: 56px 0;
}

.hero figure { margin: 0; }

.hero img {
  display: block;
  width: 100%;
  aspect-ratio: 585 / 640;
  object-fit: cover;
  filter: grayscale(1);
  background: #e9e7e3;
}

.label {
  margin: 0 0 14px;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}

.hero h2 {
  margin: 0 0 22px;
  font-weight: 400;
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.1;
}

.hero .text { margin: 0 0 36px; }

.zitat {
  margin: 0;
  padding-top: 26px;
  border-top: 1px solid var(--ink);
  font-style: italic;
  font-size: clamp(20px, 2vw, 24px);
}

/* Buchkarten */
.buecher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 3px solid var(--ink);
}

.buch {
  padding: 30px 26px 40px;
  border-right: 1px solid var(--line);
}

.buch:last-child { border-right: 0; }

.buch h3 {
  margin: 34px 0 10px;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.25;
}

.buch p {
  margin: 0 0 30px;
  font-size: 15px;
  line-height: 1.65;
  color: #333;
}

.status {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}

/* Über mich + Kontakt */
.ueber {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  padding: 50px 0 70px;
  border-top: 1px solid var(--ink);
  margin-top: 60px;
}

.ueber .spalten {
  columns: 2;
  column-gap: 44px;
  font-size: 18px;
}

.ueber .spalten p { margin: 0; }

.kontakt-box {
  align-self: start;
  padding: 34px;
  background: var(--dark);
  color: #fff;
}

.kontakt-box .label { color: #f08a80; font-weight: 600; }

.kontakt-box p { margin: 0 0 18px; }

.kontakt-box a { color: #fff; }

/* Fuß */
.fuss {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 26px 0 40px;
  border-top: 3px solid var(--ink);
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.fuss a { text-decoration: none; }
.fuss a:hover { color: var(--accent); }

/* Rechtsseiten */
.recht {
  max-width: 760px;
  padding: 50px 0 70px;
}

.recht h2 {
  font-weight: 400;
  font-size: clamp(32px, 4vw, 46px);
  margin: 0 0 30px;
}

.recht h3 {
  font-weight: 400;
  font-size: 22px;
  margin: 36px 0 8px;
}

.recht p, .recht li { font-size: 17px; }

/* Leseprobe */
.weiter {
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
  text-decoration: none;
}

.weiter:hover { text-decoration: underline; }

.buch .mehr { margin: 18px 0 0; }

.leseprobe .einleitung { font-size: 19px; margin: 0 0 10px; }

.auszug {
  margin: 0 0 40px;
  padding: 6px 0 6px 28px;
  border-left: 2px solid var(--ink);
}

.auszug p { margin: 0 0 14px; font-size: 18px; }

.auszug .auslassung { color: var(--muted); }

.hinweis { font-size: 15px; color: var(--muted); margin: 0 0 10px; }

:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

/* Tablet */
@media (max-width: 980px) {
  .buecher { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .buch:nth-child(2) { border-right: 0; }
  .buch:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .ueber { grid-template-columns: 1fr; }
}

/* Handy */
@media (max-width: 680px) {
  body { font-size: 17px; }
  .kopf { flex-direction: column; align-items: flex-start; }
  .unterzeile { text-align: left; }
  nav.haupt ul { gap: 8px 26px; }
  .hero { grid-template-columns: 1fr; padding: 36px 0; }
  .buecher { grid-template-columns: 1fr; }
  .buch { border-right: 0; border-bottom: 1px solid var(--line); }
  .buch:last-child { border-bottom: 0; }
  .buch h3 { margin-top: 18px; }
  .ueber .spalten { columns: 1; }
  .ueber .spalten p + p { margin-top: 0; }
}
