/* Arthur Wetzel – Autorenseite – Design System "Arthur Wetzel" (nachtblau/bordeaux) */

@font-face {
  font-family: 'EB Garamond';
  src: url('fonts/eb-garamond-latin-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'EB Garamond';
  src: url('fonts/eb-garamond-latin-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'EB Garamond';
  src: url('fonts/eb-garamond-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'EB Garamond';
  src: url('fonts/eb-garamond-latin-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-latin-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-latin-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-latin-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Inter';
  src: url('fonts/inter-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Brand color tokens */
  --nachtblau: #0b1e3f;
  --nachtblau-700: #1b3260;
  --bordeaux: #6d1a2c;
  --dunkelgrau: #3a3d42;
  --schwarz: #141414;
  --beige: #ece4d4;
  --hellbeige: #f6f2ea;
  --surface-100: #ffffff;
  --surface-200: var(--hellbeige);
  --brand-surface: var(--nachtblau);
  --on-brand: var(--hellbeige);
  --ink: var(--schwarz);
  --heading: var(--nachtblau);
  --muted: #5c5f66;
  --link: #2e4a80;
  --hairline: #e2dccf;
  --hairline-on-brand: rgba(246, 242, 234, 0.22);
  --muted-on-brand: #b9c2d6;
  --signal-error: #b3261e;
  --white: #ffffff;

  /* Type */
  --font-display: 'EB Garamond', 'Garamond', 'Times New Roman', serif;
  --font-text: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Spacing (8px rhythm) */
  --space-1: 4px;
  --space-2: 8px;
  --space-4: 16px;
  --space-6: 24px;
  --space-10: 40px;
  --space-16: 64px;

  /* Radius – 0 is standard, exceptions are rare */
  --radius-0: 0px;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-pill: 999px;

  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface-100);
  color: var(--ink);
  font-family: var(--font-text);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 28px; }

h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 500; line-height: 1.1; margin: 0; color: var(--heading); }
h1 { font-size: clamp(2.3rem, 5vw, 4rem); letter-spacing: -0.01em; }
h2 { font-size: clamp(1.5rem, 2.8vw, 2.1rem); }
h3 { font-size: 1.3rem; }
h4 { font-size: 1.05rem; }
p { margin: 0 0 1em; color: var(--muted); }

.eyebrow {
  font-family: var(--font-text);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bordeaux);
  display: inline-block;
}
.on-brand .eyebrow, .is-on-brand .eyebrow { color: #d98a99; }

/* Header */
.site-header {
  position: sticky; top: 0; z-index: 40;
  background: var(--surface-100);
  border-bottom: 1px solid var(--hairline);
}
.site-header .wrap { display: flex; align-items: center; justify-content: space-between; height: 76px; }
.wordmark { display: inline-flex; align-items: center; font-family: var(--font-display); font-size: 1.3rem; font-style: italic; font-weight: 500; color: var(--heading); white-space: nowrap; }
.wordmark span { color: var(--bordeaux); font-style: normal; }
.logo-mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; margin-right: 13px; flex-shrink: 0;
  transition: transform 0.4s cubic-bezier(.2,.8,.2,1);
}
.logo-mark svg { width: 100%; height: 100%; display: block; }
.wordmark:hover .logo-mark { transform: rotate(-8deg) scale(1.1); }
.main-nav { display: flex; gap: 30px; }
.main-nav a { font-size: 0.86rem; color: var(--ink); font-weight: 500; }
.main-nav a:hover, .main-nav a[aria-current] { color: var(--bordeaux); }
.site-badge {
  font-family: var(--font-text); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; font-weight: 600;
  color: var(--dunkelgrau); border: 1px solid var(--hairline); border-radius: var(--radius-pill); padding: 6px 14px;
  white-space: nowrap;
}

/* Dark brand band – used for hero sections (home + book pages) */
.band-brand {
  background-color: var(--brand-surface);
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%2279.0%2011.5%201166.0%201166.0%22%3E%3Cpath%20fill%3D%22%23f6f2ea%22%20fill-opacity%3D%220.12%22%20fill-rule%3D%22evenodd%22%20d%3D%22M846.7%20370.3%20L835.3%20347.9%20L826.9%20333.5%20L815.4%20315.9%20L805.5%20302.4%20L795.1%20289.4%20L781.1%20273.7%20L766.3%20258.9%20L753.9%20247.7%20L737.6%20234.5%20L720.7%20222.3%20L706.6%20213.2%20L688.5%20202.7%20L673.5%20195.1%20L654.4%20186.6%20L634.8%20179.2%20L618.9%20174.1%20L598.7%20168.7%20L582.3%20165.2%20L565.7%20162.5%20L544.9%20160.2%20L528.2%20159.2%20L507.3%20159.1%20L486.4%20160.1%20L469.7%20161.8%20L449.0%20165.0%20L432.6%20168.4%20L412.4%20173.7%20L392.5%20180.1%20L372.9%20187.7%20L357.7%20194.5%20L342.7%20202.1%20L324.5%20212.5%20L310.4%20221.5%20L296.8%20231.2%20L283.5%20241.5%20L270.8%20252.4%20L258.6%20263.8%20L246.9%20275.8%20L235.8%20288.4%20L225.3%20301.4%20L215.3%20314.9%20L206.0%20328.8%20L197.4%20343.1%20L189.4%20357.9%20L182.1%20372.9%20L175.5%20388.3%20L169.6%20404.0%20L164.4%20419.9%20L159.0%20440.1%20L156.3%20452.4%20L154.0%20464.8%20L151.1%20485.5%20L150.0%20498.0%20L149.3%20510.5%20L149.0%20523.1%20L149.2%20535.7%20L150.4%20556.6%20L152.8%20577.4%20L156.3%20598.0%20L161.1%20618.4%20L164.5%20630.5%20L168.3%20642.4%20L175.6%20662.0%20L180.5%20673.6%20L185.8%20685.0%20L191.5%20696.2%20L197.6%20707.2%20L208.5%20725.1%20L220.5%20742.2%20L228.1%20752.2%20L234.6%20760.2%20L226.3%20763.8%20L217.6%20766.8%20L208.3%20769.3%20L198.4%20771.3%20L187.8%20772.9%20L176.5%20774.1%20L164.6%20774.8%20L152.0%20775.0%20L152.0%20787.0%20L388.0%20787.0%20L388.0%20775.0%20L380.3%20774.9%20L366.0%20774.1%20L359.4%20773.4%20L347.4%20771.4%20L336.8%20768.7%20L332.1%20767.0%20L327.7%20765.1%20L323.8%20763.1%20L320.2%20760.8%20L316.9%20758.3%20L314.1%20755.7%20L311.6%20752.8%20L309.5%20749.7%20L307.7%20746.5%20L306.4%20743.0%20L305.4%20739.4%20L304.8%20735.5%20L304.5%20731.5%20L304.6%20727.2%20L305.1%20722.8%20L306.0%20718.2%20L307.2%20713.3%20L308.8%20708.3%20L313.2%20697.6%20L374.6%20577.0%20L615.4%20577.0%20L839.6%201030.0%20L913.1%20855.1%20L999.6%201030.0%20L1114.3%20757.0%20L1118.7%20747.6%20L1121.9%20741.9%20L1125.2%20736.6%20L1130.6%20729.6%20L1136.5%20723.6%20L1142.8%20718.6%20L1149.5%20714.7%20L1156.6%20711.8%20L1164.2%20709.9%20L1169.5%20709.2%20L1175.0%20709.0%20L1175.0%20697.0%20L1097.5%20697.0%20L1097.5%20709.0%20L1100.3%20709.3%20L1101.9%20709.8%20L1103.2%20710.6%20L1104.2%20711.7%20L1105.0%20713.0%20L1105.7%20715.5%20L1105.9%20718.6%20L1105.4%20722.3%20L1103.4%20729.8%20L1100.7%20737.0%20L1017.1%20936.0%20L918.6%20737.0%20L914.4%20728.2%20L911.0%20719.8%20L909.6%20715.5%20L909.1%20713.0%20L909.0%20711.1%20L909.3%20709.8%20L910.1%20709.1%20L910.8%20709.0%20L910.8%20697.0%20L800.0%20697.0%20L800.0%20709.0%20L808.3%20709.6%20L813.7%20710.7%20L821.6%20713.4%20L826.7%20715.9%20L834.1%20720.7%20L838.9%20724.5%20L846.0%20731.3%20L852.7%20739.4%20L859.2%20748.7%20L863.4%20755.6%20L867.5%20763.1%20L901.2%20831.1%20L866.3%20914.2%20L528.1%20230.9%20L523.1%20230.9%20L269.8%20727.5%20L263.5%20719.6%20L256.9%20710.8%20L246.7%20695.8%20L237.4%20680.1%20L229.0%20664.0%20L221.5%20647.4%20L215.0%20630.5%20L209.5%20613.1%20L204.9%20595.5%20L202.0%20581.3%20L199.8%20566.9%20L198.2%20552.4%20L197.0%20534.3%20L196.7%20516.1%20L197.1%20501.5%20L198.3%20483.3%20L199.9%20468.7%20L202.7%20450.5%20L205.5%20436.1%20L209.0%20421.7%20L213.0%20407.4%20L218.9%20389.7%20L224.3%20375.8%20L230.3%20362.0%20L236.9%20348.4%20L244.1%20335.1%20L252.0%20322.0%20L260.5%20309.3%20L269.6%20296.9%20L279.3%20284.9%20L289.6%20273.3%20L300.5%20262.2%20L309.0%20254.3%20L320.9%20244.1%20L333.4%20234.5%20L346.3%20225.5%20L356.3%20219.2%20L370.1%20211.4%20L384.2%20204.3%20L398.8%20198.0%20L409.9%20193.7%20L425.1%20188.7%20L440.5%20184.6%20L456.1%20181.2%20L467.9%20179.3%20L483.7%20177.4%20L499.7%20176.3%20L515.6%20175.9%20L531.6%20176.1%20L551.6%20177.3%20L567.5%20179.0%20L583.3%20181.4%20L599.1%20184.4%20L614.7%20188.2%20L630.2%20192.5%20L645.5%20197.6%20L660.7%20203.3%20L675.6%20209.6%20L690.2%20216.6%20L704.5%20224.3%20L718.6%20232.6%20L732.3%20241.5%20L745.6%20251.1%20L758.5%20261.2%20L767.9%20269.3%20L780.0%20280.5%20L791.6%20292.3%20L802.7%20304.6%20L810.6%20314.2%20L820.6%20327.5%20L830.1%20341.3%20L838.8%20355.6ZM386.8%20553.0%20L496.8%20337.4%20L603.5%20553.0Z%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right -170px center;
  background-size: 760px auto;
  color: var(--on-brand);
  position: relative;
  overflow: hidden;
}
.band-brand h1, .band-brand h2, .band-brand h3 { color: var(--on-brand); }
.band-brand p { color: var(--muted-on-brand); }
.band-brand .eyebrow { color: #e0a3ad; }
.band-brand .wrap { position: relative; z-index: 1; }

/* Entrance motion for hero bands */
@keyframes heroRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.band-brand .wrap > * { animation: heroRise 0.8s cubic-bezier(.2,.7,.2,1) both; }
.band-brand .wrap > *:nth-child(2) { animation-delay: 0.06s; }
.band-brand .wrap > *:nth-child(3) { animation-delay: 0.12s; }
.band-brand .wrap > *:nth-child(4) { animation-delay: 0.18s; }
.band-brand .wrap > *:nth-child(5) { animation-delay: 0.22s; }
@media (prefers-reduced-motion: reduce) {
  .band-brand .wrap > * { animation: none; }
}
@media (max-width: 860px) {
  .band-brand { background-size: 420px auto; background-position: right -90px top 10px; }
}

/* Hero */
.hero { padding: clamp(64px, 10vw, 116px) 0 clamp(52px, 8vw, 92px); position: relative; overflow: hidden; }
.hero::after {
  content: '';
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(100deg, transparent 55%, rgba(109, 26, 44, 0.16) 100%);
}
.hero-grid { position: relative; max-width: 74ch; }
.hero h1 { margin-top: 18px; }
.hero .lede { font-size: 1.14rem; max-width: 52ch; margin-top: 20px; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; flex-wrap: wrap; align-items: center; }

.btn {
  display: inline-flex; align-items: center; gap: 10px; padding: 15px 27px; border-radius: 0;
  font-family: var(--font-text); font-size: 0.9rem; font-weight: 600; border: 1px solid transparent; cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 15px) 0, 100% 15px, 100% 100%, 0 100%);
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary {
  background: linear-gradient(135deg, #7f2134 0%, var(--bordeaux) 48%, #4d121d 100%);
  color: var(--on-brand); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.8rem;
  padding-right: 46px;
}
.btn-primary::after {
  content: '\2192'; position: absolute; right: 21px; top: 50%; transform: translateY(-50%);
  transition: transform 0.25s ease; font-size: 1rem;
}
.btn-primary:hover { box-shadow: 0 12px 30px -8px rgba(109,26,44,0.6); }
.btn-primary:hover::after { transform: translateY(-50%) translateX(4px); }
.btn-outline { border-color: var(--hairline-on-brand); color: var(--on-brand); background: transparent; border-width: 1.5px; }
.band-brand .btn-outline { border-color: rgba(246,242,234,0.45); }
.btn-outline:hover { background: var(--on-brand); color: var(--nachtblau); border-color: var(--on-brand); box-shadow: 0 12px 28px -10px rgba(0,0,0,0.4); }
/* On light backgrounds, outline buttons use ink tones instead of on-brand */
.is-on-light .btn-outline, .section-light .btn-outline, .btn-outline.is-light { border-color: var(--hairline); color: var(--ink); }
.section-light .btn-outline:hover, .btn-outline.is-light:hover { background: var(--ink); color: var(--white); border-color: var(--ink); }
.btn-ghost { color: var(--on-brand); padding: 13px 4px; opacity: 0.85; clip-path: none; }
.band-brand .btn-ghost { color: var(--on-brand); }
.btn-ghost:hover { text-decoration: underline; opacity: 1; transform: none; }
.btn-ghost.is-light { color: var(--bordeaux); }
.btn-sm { padding: 10px 17px; font-size: 0.8rem; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }

/* Retailer icon badge – small circular letter mark, tinted with each retailer's own accent for a more individual CTA */
.retailer-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: var(--radius-pill);
  background: var(--nachtblau); flex-shrink: 0;
  transition: transform 0.25s cubic-bezier(.2,.8,.2,1);
}
.btn:hover .retailer-badge { transform: scale(1.14) rotate(-4deg); }
.retailer-badge.is-thalia { background: #9c1458; }
.retailer-badge.is-amazon { background: #c97a1a; }
.retailer-badge span {
  font-family: var(--font-text); font-weight: 700; font-size: 0.66rem;
  color: var(--on-brand);
}

/* Section rhythm */
section { padding: clamp(48px, 7vw, 84px) 0; }
.section-tint, .section-light.is-tint { background: var(--surface-200); border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); }
.section-head { margin-bottom: clamp(30px, 4vw, 46px); max-width: 62ch; }
.section-head h2 { margin-top: 10px; }
.section-head .lede { margin-top: 12px; font-size: 1.04rem; }

/* Book showcase – cover + copy, used on homepage for the featured book */
.showcase-grid { display: grid; grid-template-columns: 300px 1fr; gap: clamp(36px, 5vw, 64px); align-items: start; }
.showcase-cover { position: relative; }
.showcase-cover img { width: 100%; height: auto; }
.showcase-copy .lead-line { font-size: 1.05rem; color: var(--ink); }
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: var(--space-10); border: 1px solid var(--hairline); background: var(--surface-100); }
.stat-row li { list-style: none; padding: var(--space-6) var(--space-4); border-right: 1px solid var(--hairline); text-align: left; }
.stat-row li:last-child { border-right: none; }
.stat-row .stat-num { display: block; font-family: var(--font-display); font-size: 2.1rem; font-style: italic; font-weight: 500; color: var(--bordeaux); line-height: 1; }
.stat-row .stat-label { display: block; font-size: 0.82rem; color: var(--muted); margin-top: var(--space-2); max-width: 20ch; }

/* Works grid */
.works-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1px; background: var(--hairline); border: 1px solid var(--hairline); }
.work-card {
  background: var(--surface-100); padding: 28px;
  display: flex; flex-direction: column; gap: 11px; transition: background-color 0.15s ease;
  position: relative; overflow: hidden;
}
.work-card::before {
  content: ''; position: absolute; top: 0; left: 0; width: 3px; height: 0;
  background: var(--bordeaux); transition: height 0.18s ease; z-index: 2;
}
.work-card { transition: background-color 0.2s ease, transform 0.25s ease, box-shadow 0.25s ease; }
.work-card:hover { background: var(--surface-200); transform: translateY(-5px); box-shadow: 0 18px 34px -16px rgba(11,30,63,0.3); }
.work-card:hover::before { height: 100%; }

/* Bold, confident cover treatment: the mockup breaks out of the card's own
   padding at the top so it reads as a real object sitting on the tile, not
   a shrunk-down thumbnail. */
.work-cover {
  margin: -28px -28px 4px; padding: 30px 20px 14px;
  display: flex; align-items: flex-end; justify-content: center;
  height: 236px;
  background: linear-gradient(180deg, var(--nachtblau) 0%, var(--nachtblau-700) 100%);
  position: relative; overflow: hidden;
}
.work-cover img {
  max-height: 212px; width: auto;
  filter: drop-shadow(0 18px 22px rgba(11,30,63,0.45));
  transition: transform 0.35s cubic-bezier(.2,.8,.2,1);
}
.work-card:hover .work-cover img { transform: translateY(-6px) scale(1.045) rotate(-0.6deg); }
.work-status { display: flex; align-items: center; gap: 8px; }
.status-pill {
  font-family: var(--font-text); font-size: 0.64rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 4px 10px; border-radius: var(--radius-pill); font-weight: 600;
}
.status-pill.is-live { background: #e4ede1; color: #2f5c38; }
.status-pill.is-soon { background: #ece4d4; color: var(--dunkelgrau); }
.status-pill.is-progress { background: #f1e1e4; color: var(--bordeaux); }
.work-lang { font-family: var(--font-text); font-size: 0.68rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; }
.work-card h3 { margin-top: 2px; }
.work-card p.work-desc { font-size: 0.92rem; margin-bottom: 4px; }
.work-meta { font-size: 0.78rem; color: var(--muted); margin-top: auto; padding-top: 12px; border-top: 1px solid var(--hairline); }
.work-card .btn-ghost { font-size: 0.84rem; color: var(--bordeaux); opacity: 1; }

/* Bio / two-col */
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(36px, 5vw, 64px); align-items: start; }
.bio-copy .lead-line { font-family: var(--font-display); font-style: italic; font-size: 1.26rem; color: var(--ink); line-height: 1.45; }
.credentials-list { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.credentials-list li { font-size: 0.93rem; color: var(--muted); padding-left: 20px; position: relative; }
.credentials-list li::before { content: '•'; position: absolute; left: 0; color: var(--bordeaux); font-weight: 700; }

/* Book detail hero (dark band, text only) */
.book-hero { padding: clamp(56px, 8vw, 96px) 0 clamp(44px, 6vw, 76px); }
.book-hero .eyebrow { margin-bottom: var(--space-2); }
.book-hero h1 { margin-top: 10px; }
.book-subtitle { font-family: var(--font-display); font-style: italic; font-size: 1.18rem; color: var(--muted-on-brand); margin-top: 12px; max-width: 58ch; }
.book-hero .book-actions { margin-top: var(--space-10); }

/* Das Buch – cover + steckbrief, light section below the dark hero */
.book-hero-grid { display: grid; grid-template-columns: 300px 1fr; gap: clamp(36px, 5vw, 64px); align-items: start; }
.book-cover { position: relative; }
.book-cover img { width: 100%; height: auto; }
.book-cover.placeholder {
  background: var(--surface-200); border: 1px solid var(--hairline); aspect-ratio: 2/3;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center;
}
.book-cover.placeholder .eyebrow { color: var(--muted); }
.steckbrief {
  margin-top: 0; border: 1px solid var(--hairline); background: var(--surface-100);
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.steckbrief dt {
  font-family: var(--font-text); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600;
  color: var(--muted); margin: 0; padding: 15px 16px 0;
}
.steckbrief dd {
  margin: 3px 0 0; padding: 0 16px 15px; font-size: 0.94rem; font-weight: 600; color: var(--dunkelgrau);
  border-right: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline);
}
.steckbrief > div:nth-last-child(-n+2) dd, .steckbrief dd:last-child { border-right: none; }
.book-actions { display: flex; gap: 14px; margin-top: 26px; flex-wrap: wrap; align-items: center; }
.book-body { max-width: 68ch; }
.book-body h2 { margin-top: 48px; margin-bottom: 16px; }
.book-body p { font-size: 1rem; color: var(--ink); }
.pull-quote { font-family: var(--font-display); font-style: italic; font-size: 1.36rem; color: var(--bordeaux); line-height: 1.4; margin: 30px 0; padding-left: 22px; border-left: 2px solid var(--bordeaux); }
.toc-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--hairline); }
.toc-list li { font-size: 0.95rem; color: var(--ink); padding: 13px 0; border-bottom: 1px solid var(--hairline); padding-left: 20px; position: relative; }
.toc-list li::before { content: '–'; position: absolute; left: 0; color: var(--bordeaux); }
.review-block { background: var(--surface-200); border: 1px solid var(--hairline); padding: 22px 24px; margin-top: 20px; }
.review-block p { font-size: 0.95rem; font-style: italic; margin: 0 0 8px; color: var(--ink); font-family: var(--font-display); }
.review-block cite { font-size: 0.8rem; color: var(--muted); font-style: normal; }

/* In-progress placeholder page */
.progress-hero { padding: clamp(64px, 10vw, 124px) 0; text-align: center; }
.progress-hero .status-pill { display: inline-flex; }
.progress-hero h1 { margin-top: 18px; }
.progress-hero .lede { max-width: 54ch; margin: 18px auto 0; }
.progress-facts { display: flex; justify-content: center; gap: 36px; margin-top: 38px; flex-wrap: wrap; }
.progress-fact { text-align: left; }
.progress-fact dt { font-family: var(--font-text); font-size: 0.64rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin: 0; font-weight: 600; }
.progress-fact dd { margin: 4px 0 0; font-size: 0.96rem; font-weight: 600; max-width: 28ch; color: var(--dunkelgrau); }

/* Legal */
.legal-body h2 { font-size: 1.15rem; margin-top: 36px; margin-bottom: 10px; font-family: var(--font-text); font-weight: 700; color: var(--heading); }
.legal-body h2:first-child { margin-top: 0; }
.legal-body p { margin-bottom: 14px; font-size: 0.95rem; }

/* Footer */
.site-footer {
  border-top: 1px solid var(--hairline); background-color: var(--surface-200);
  position: relative; overflow: hidden;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%2279.0%2011.5%201166.0%201166.0%22%3E%3Cpath%20fill%3D%22%230b1e3f%22%20fill-opacity%3D%220.05%22%20fill-rule%3D%22evenodd%22%20d%3D%22M846.7%20370.3%20L835.3%20347.9%20L826.9%20333.5%20L815.4%20315.9%20L805.5%20302.4%20L795.1%20289.4%20L781.1%20273.7%20L766.3%20258.9%20L753.9%20247.7%20L737.6%20234.5%20L720.7%20222.3%20L706.6%20213.2%20L688.5%20202.7%20L673.5%20195.1%20L654.4%20186.6%20L634.8%20179.2%20L618.9%20174.1%20L598.7%20168.7%20L582.3%20165.2%20L565.7%20162.5%20L544.9%20160.2%20L528.2%20159.2%20L507.3%20159.1%20L486.4%20160.1%20L469.7%20161.8%20L449.0%20165.0%20L432.6%20168.4%20L412.4%20173.7%20L392.5%20180.1%20L372.9%20187.7%20L357.7%20194.5%20L342.7%20202.1%20L324.5%20212.5%20L310.4%20221.5%20L296.8%20231.2%20L283.5%20241.5%20L270.8%20252.4%20L258.6%20263.8%20L246.9%20275.8%20L235.8%20288.4%20L225.3%20301.4%20L215.3%20314.9%20L206.0%20328.8%20L197.4%20343.1%20L189.4%20357.9%20L182.1%20372.9%20L175.5%20388.3%20L169.6%20404.0%20L164.4%20419.9%20L159.0%20440.1%20L156.3%20452.4%20L154.0%20464.8%20L151.1%20485.5%20L150.0%20498.0%20L149.3%20510.5%20L149.0%20523.1%20L149.2%20535.7%20L150.4%20556.6%20L152.8%20577.4%20L156.3%20598.0%20L161.1%20618.4%20L164.5%20630.5%20L168.3%20642.4%20L175.6%20662.0%20L180.5%20673.6%20L185.8%20685.0%20L191.5%20696.2%20L197.6%20707.2%20L208.5%20725.1%20L220.5%20742.2%20L228.1%20752.2%20L234.6%20760.2%20L226.3%20763.8%20L217.6%20766.8%20L208.3%20769.3%20L198.4%20771.3%20L187.8%20772.9%20L176.5%20774.1%20L164.6%20774.8%20L152.0%20775.0%20L152.0%20787.0%20L388.0%20787.0%20L388.0%20775.0%20L380.3%20774.9%20L366.0%20774.1%20L359.4%20773.4%20L347.4%20771.4%20L336.8%20768.7%20L332.1%20767.0%20L327.7%20765.1%20L323.8%20763.1%20L320.2%20760.8%20L316.9%20758.3%20L314.1%20755.7%20L311.6%20752.8%20L309.5%20749.7%20L307.7%20746.5%20L306.4%20743.0%20L305.4%20739.4%20L304.8%20735.5%20L304.5%20731.5%20L304.6%20727.2%20L305.1%20722.8%20L306.0%20718.2%20L307.2%20713.3%20L308.8%20708.3%20L313.2%20697.6%20L374.6%20577.0%20L615.4%20577.0%20L839.6%201030.0%20L913.1%20855.1%20L999.6%201030.0%20L1114.3%20757.0%20L1118.7%20747.6%20L1121.9%20741.9%20L1125.2%20736.6%20L1130.6%20729.6%20L1136.5%20723.6%20L1142.8%20718.6%20L1149.5%20714.7%20L1156.6%20711.8%20L1164.2%20709.9%20L1169.5%20709.2%20L1175.0%20709.0%20L1175.0%20697.0%20L1097.5%20697.0%20L1097.5%20709.0%20L1100.3%20709.3%20L1101.9%20709.8%20L1103.2%20710.6%20L1104.2%20711.7%20L1105.0%20713.0%20L1105.7%20715.5%20L1105.9%20718.6%20L1105.4%20722.3%20L1103.4%20729.8%20L1100.7%20737.0%20L1017.1%20936.0%20L918.6%20737.0%20L914.4%20728.2%20L911.0%20719.8%20L909.6%20715.5%20L909.1%20713.0%20L909.0%20711.1%20L909.3%20709.8%20L910.1%20709.1%20L910.8%20709.0%20L910.8%20697.0%20L800.0%20697.0%20L800.0%20709.0%20L808.3%20709.6%20L813.7%20710.7%20L821.6%20713.4%20L826.7%20715.9%20L834.1%20720.7%20L838.9%20724.5%20L846.0%20731.3%20L852.7%20739.4%20L859.2%20748.7%20L863.4%20755.6%20L867.5%20763.1%20L901.2%20831.1%20L866.3%20914.2%20L528.1%20230.9%20L523.1%20230.9%20L269.8%20727.5%20L263.5%20719.6%20L256.9%20710.8%20L246.7%20695.8%20L237.4%20680.1%20L229.0%20664.0%20L221.5%20647.4%20L215.0%20630.5%20L209.5%20613.1%20L204.9%20595.5%20L202.0%20581.3%20L199.8%20566.9%20L198.2%20552.4%20L197.0%20534.3%20L196.7%20516.1%20L197.1%20501.5%20L198.3%20483.3%20L199.9%20468.7%20L202.7%20450.5%20L205.5%20436.1%20L209.0%20421.7%20L213.0%20407.4%20L218.9%20389.7%20L224.3%20375.8%20L230.3%20362.0%20L236.9%20348.4%20L244.1%20335.1%20L252.0%20322.0%20L260.5%20309.3%20L269.6%20296.9%20L279.3%20284.9%20L289.6%20273.3%20L300.5%20262.2%20L309.0%20254.3%20L320.9%20244.1%20L333.4%20234.5%20L346.3%20225.5%20L356.3%20219.2%20L370.1%20211.4%20L384.2%20204.3%20L398.8%20198.0%20L409.9%20193.7%20L425.1%20188.7%20L440.5%20184.6%20L456.1%20181.2%20L467.9%20179.3%20L483.7%20177.4%20L499.7%20176.3%20L515.6%20175.9%20L531.6%20176.1%20L551.6%20177.3%20L567.5%20179.0%20L583.3%20181.4%20L599.1%20184.4%20L614.7%20188.2%20L630.2%20192.5%20L645.5%20197.6%20L660.7%20203.3%20L675.6%20209.6%20L690.2%20216.6%20L704.5%20224.3%20L718.6%20232.6%20L732.3%20241.5%20L745.6%20251.1%20L758.5%20261.2%20L767.9%20269.3%20L780.0%20280.5%20L791.6%20292.3%20L802.7%20304.6%20L810.6%20314.2%20L820.6%20327.5%20L830.1%20341.3%20L838.8%20355.6ZM386.8%20553.0%20L496.8%20337.4%20L603.5%20553.0Z%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left -110px bottom -70px;
  background-size: 440px auto;
}
.site-footer > .wrap { position: relative; z-index: 1; }

/* Scroll-reveal for in-page sections – gated behind html.js so content stays visible with
   JS disabled or blocked; hero bands animate in on load via @keyframes instead (no JS needed). */
html.js main section:not(.band-brand) {
  opacity: 0; transform: translateY(26px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
html.js main section:not(.band-brand).is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html.js main section:not(.band-brand) { opacity: 1; transform: none; transition: none; }
}
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 32px; padding-block: 48px; }
.footer-col h4 { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.08em; font-family: var(--font-text); font-weight: 700; color: var(--muted); margin-bottom: 15px; }
.footer-col a, .footer-col p { display: block; font-size: 0.89rem; color: var(--ink); margin-bottom: 9px; }
.footer-col a:hover { color: var(--bordeaux); }
.footer-bottom { border-top: 1px solid var(--hairline); padding: 18px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 0.8rem; color: var(--muted); }
.footer-bottom a { margin-left: 16px; color: var(--muted); }
.footer-bottom a:hover { color: var(--bordeaux); }
.lang-switch { display: flex; gap: 6px; align-items: center; font-family: var(--font-text); font-size: 0.72rem; }
.lang-switch a { color: var(--muted); }
.lang-switch a.is-active { color: var(--bordeaux); font-weight: 600; }

.press-contact { display:flex; flex-wrap:wrap; gap:8px; padding-block:14px; border-top:1px solid var(--hairline); font-size:0.84rem; color:var(--muted); }
.press-contact a { color: var(--bordeaux); }
.press-contact .sep { color: var(--muted); }

.newsletter-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 34px; border-bottom: 1px solid var(--hairline); flex-wrap: wrap; }
.newsletter-row h3 { max-width: 34ch; font-size: 1.3rem; }
.newsletter-form { display: flex; gap: 10px; flex-wrap: wrap; }
.newsletter-form input[type="email"] { padding: 13px 15px; border: 1px solid var(--hairline); border-radius: var(--radius-sm); font-family: var(--font-text); font-size: 0.9rem; min-width: 240px; background: var(--surface-100); }
.newsletter-form button { padding: 13px 22px; background: var(--nachtblau); color: var(--white); border: none; border-radius: var(--radius-sm); font-weight: 600; font-size: 0.86rem; cursor: pointer; font-family: var(--font-text); }
.newsletter-form button:hover { background: var(--bordeaux); }
.newsletter-status { font-size: 0.8rem; margin-top: 8px; width: 100%; }
.newsletter-status.is-success { color: #2f5c38; }
.newsletter-status.is-error { color: var(--bordeaux); }

.press-form { display: flex; flex-direction: column; gap: 8px; margin: 2px 0 10px; }
.press-form input, .press-form textarea { padding: 10px 12px; border: 1px solid var(--hairline); border-radius: var(--radius-sm); font-family: var(--font-text); font-size: 0.85rem; background: var(--surface-100); width: 100%; box-sizing: border-box; }
.press-form textarea { resize: vertical; min-height: 68px; }
.press-form button { align-self: flex-start; padding: 10px 18px; background: var(--nachtblau); color: var(--white); border: none; border-radius: var(--radius-sm); font-weight: 600; font-size: 0.82rem; cursor: pointer; font-family: var(--font-text); }
.press-form button:hover { background: var(--bordeaux); }
.press-status { font-size: 0.78rem; margin-top: -2px; }
.press-status.is-success { color: #2f5c38; }
.press-status.is-error { color: var(--bordeaux); }

.header-right { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.lang-switch { display: flex; align-items: center; gap: 2px; font-family: var(--font-text); flex-shrink: 0; }
.lang-switch a { padding: 5px 10px; border-radius: var(--radius-pill); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em; color: var(--muted); }
.lang-switch a:hover { color: var(--bordeaux); }
.lang-switch a[aria-current] { background: var(--nachtblau); color: var(--white); }

@media (max-width: 860px) {
  .two-col, .book-hero-grid, .showcase-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .main-nav { display: none; }
  .stat-row { grid-template-columns: repeat(2, 1fr); }
  .stat-row li:nth-child(2) { border-right: none; }
}
@media (max-width: 480px) {
  .site-header .site-badge { display: none; }
}
