/* ============================================================
   VF-Services - Ultra-Premium 2026-09
   Design-System aus 22_DESIGN_DECISIONS.md (Loop 03)
   Fraunces (Display) + Inter (UI/Fliesstext/Daten), beide self-hosted
   ============================================================ */

@font-face{
  font-family:"Fraunces";
  src:url("/assets/fonts/fraunces-latin-var.7234ed86.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

/* Metrisch angepasster Fallback fuer Fraunces (uebernommen aus Runde 078).
   Georgia setzt rund 14 Prozent schmaler; size-adjust gleicht die Laufweite an,
   damit der Zeilenumbruch beim Schriftwechsel erhalten bleibt. */
@font-face{
  font-family:"Fraunces-Fallback";
  src:local("Georgia"),local("Georgia Regular");
  size-adjust:115.44%;
  ascent-override:84.72%;
  descent-override:22.09%;
  line-gap-override:0%;
}

/* Inter, variabler Subset (Loop 06). Enthaelt Latin-1, typografische
   Anfuehrungszeichen, Gedankenstriche, Prozent, Mittelpunkt und die Pfeile
   U+2190-2193 - der Rechtspfeil traegt die Methode und alle Sprungziele. */
@font-face{
  font-family:"Inter";
  src:url("/assets/fonts/inter-latin-var.42fb1481.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

/* Metrisch angepasster Fallback fuer Inter: Helvetica/Arial laufen breiter,
   die x-Hoehen liegen dicht beieinander. */
@font-face{
  font-family:"Inter-Fallback";
  src:local("Helvetica Neue"),local("Helvetica"),local("Arial");
  size-adjust:99.2%;
  ascent-override:97.6%;
  descent-override:24.3%;
  line-gap-override:0%;
}

:root{
  /* --- Farbtokens, 22_DESIGN_DECISIONS §2 (18 Stueck) --- */
  --ink:#14161a;
  --surface:#1b1e24;
  --surface-2:#22262e;
  --paper:#f2ede3;
  --paper-bg:#efe9dc;
  --paper-card:#f7f3ea;
  --orange:#ea6a2a;
  --orange-hover:#d0641f;
  --orange-deep:#ab4417;
  --brass:#b08d57;
  --brass-deep:#7a5c32;
  --focus:#9d6a3e;
  --text-secondary:#c8c1b4;
  --text-tertiary:#b9b2a6;
  --field-border:#6b7280;
  --hairline:#3a3f48;
  --ink-on-paper:#3a3d43;
  --error:#e07a5f;

  /* --- Schrift --- */
  --font-display:"Fraunces","Fraunces-Fallback",Georgia,"Times New Roman",serif;
  --font-ui:"Inter","Inter-Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* Kein drittes Font-File (Scorecard R-6): die Mono-Rolle uebernimmt Inter mit
     tabellarischen Ziffern und geweiteter Laufweite. */
  --font-data:var(--font-ui);

  /* --- Spacing-Skala, §4: 4 8 12 16 24 32 48 64 80 96 128 --- */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:80px; --s-10:96px; --s-11:128px;

  --sec-top:56px;      /* Mobile-Vorgabe, wird per Breakpoint erhoeht */
  --sec-bottom:64px;

  /* --- Raster, §5 --- */
  --content:342px;     /* Mobile-Inhaltsbreite */
  --band:342px;        /* Flaechenband */
  --gutter:16px;

  /* --- Radien und Linien, §5 --- */
  --r-s:4px;           /* Buttons, Felder, Markierungen */
  --r-l:10px;          /* Karten und Flaechen */

  --dur:220ms;
  --ease:cubic-bezier(.22,.61,.36,1);
}

@media (min-width:768px){
  :root{ --content:688px; --band:688px; --gutter:24px; --sec-top:64px; --sec-bottom:72px; }
}
@media (min-width:1280px){
  :root{ --content:1120px; --band:1200px; --sec-top:80px; --sec-bottom:88px; }
}
@media (min-width:1440px){
  :root{ --content:1180px; --band:1320px; }
}

/* ============================================================
   RESET UND BASIS
   ============================================================ */

*,*::before,*::after{ box-sizing:border-box; }

html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--ink);
  color:var(--text-secondary);
  font-family:var(--font-ui);
  font-size:16px;
  line-height:26px;
  font-synthesis-weight:none;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img,video,svg{ max-width:100%; height:auto; display:block; }

h1,h2,h3,h4{
  font-family:var(--font-display);
  color:var(--paper);
  margin:0 0 var(--s-3);
  font-weight:600;
  text-wrap:balance;
}

p{ margin:0 0 var(--s-4); }
ul,ol{ margin:0 0 var(--s-4); padding-left:1.15em; }
li{ margin:0 0 var(--s-2); }

a{ color:var(--brass); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover{ color:var(--brass); text-decoration-thickness:2px; }

strong,b{ color:var(--paper); font-weight:600; }

/* --- Fokusring, zweifarbig, §6.1 --- */
:focus{ outline:none; }
:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:2px;
  box-shadow:0 0 0 1px var(--ink);
}

.skip-link{
  position:absolute; left:var(--s-4); top:-100px; z-index:1000;
  background:var(--orange); color:var(--ink);
  font-weight:600; padding:var(--s-3) var(--s-5);
  border-radius:var(--r-s); text-decoration:none;
  transition:top var(--dur) var(--ease);
}
.skip-link:focus{ top:var(--s-4); color:var(--ink); }

.sr-only{
  position:absolute!important; width:1px; height:1px;
  padding:0; margin:-1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* ============================================================
   LAYOUT
   ============================================================ */

.wrap{ width:100%; max-width:var(--content); margin-inline:auto; padding-inline:0; }
.band-wrap{ width:100%; max-width:var(--band); margin-inline:auto; }

.section{
  padding-block:var(--sec-top) var(--sec-bottom);
  padding-inline:24px;
}
@media (min-width:768px){ .section{ padding-inline:40px; } }
@media (min-width:1280px){ .section{ padding-inline:80px; } }
@media (min-width:1440px){ .section{ padding-inline:130px; } }

.section--caesura{ padding-block:calc(var(--sec-top) + 16px) calc(var(--sec-bottom) + 16px); }
.section--surface{ background:var(--surface); }
.section--paper{ background:var(--paper-bg); color:var(--ink-on-paper); }
.section--paper h1,.section--paper h2,.section--paper h3{ color:var(--ink); }
.section--paper a{ color:var(--brass-deep); }

.eyebrow{
  font-family:var(--font-data);
  font-size:12px; line-height:17px; letter-spacing:1.2px;
  text-transform:none;
  color:var(--brass);
  margin:0 0 var(--s-3);
  font-variant-numeric:tabular-nums;
}
@media (min-width:768px){ .eyebrow{ font-size:13px; line-height:18px; } }

.mono{
  font-family:var(--font-data);
  font-size:11px; line-height:16px; letter-spacing:.8px;
  font-variant-numeric:tabular-nums;
  color:var(--brass);
}
@media (min-width:768px){ .mono{ font-size:12px; line-height:17px; } }

.lead{ font-size:17px; line-height:27px; color:var(--text-secondary); max-width:780px; }
@media (min-width:768px){ .lead{ font-size:18px; line-height:29px; } }
@media (min-width:1280px){ .lead{ font-size:19px; line-height:30px; } }

.small{ font-size:15px; line-height:23px; color:var(--text-tertiary); max-width:880px; }
@media (min-width:768px){ .small{ line-height:24px; } }

.caption{ font-size:13px; line-height:20px; color:var(--text-tertiary); }

h1{ font-size:36px; line-height:42px; letter-spacing:-.8px; font-weight:400; }
h2{ font-size:27px; line-height:34px; letter-spacing:-.5px; }
h3{ font-size:24px; line-height:32px; letter-spacing:-.3px; }
.t-large{ font-family:var(--font-display); font-size:30px; line-height:38px; letter-spacing:-.6px; color:var(--paper); }

@media (min-width:768px){
  h1{ font-size:46px; line-height:54px; letter-spacing:-1px; }
  h2{ font-size:32px; line-height:40px; letter-spacing:-.6px; }
  h3{ font-size:28px; line-height:38px; letter-spacing:-.4px; }
  .t-large{ font-size:40px; line-height:48px; letter-spacing:-.9px; }
}
@media (min-width:1280px){
  h1{ font-size:62px; line-height:70px; letter-spacing:-1.4px; }
  h2{ font-size:40px; line-height:48px; letter-spacing:-.8px; }
  h3{ font-size:34px; line-height:44px; letter-spacing:-.5px; }
  .t-large{ font-size:56px; line-height:64px; letter-spacing:-1.2px; }
}

.rule{ border:0; border-top:1px solid var(--hairline); margin:var(--s-5) 0; }
.rule--brass{ border-top-color:var(--brass); }

.stack > * + *{ margin-top:var(--s-5); }
.mt-1{ margin-top:var(--s-3); } .mt-2{ margin-top:var(--s-5); } .mt-3{ margin-top:var(--s-6); }

/* ============================================================
   BUTTONS UND LINKS
   ============================================================ */

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:var(--s-2);
  font-family:var(--font-ui);
  font-size:17px; line-height:22px; font-weight:600; letter-spacing:.2px;
  padding:16px var(--s-5);
  min-height:56px;
  border-radius:var(--r-s);
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
  transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
@media (min-width:768px){ .btn{ font-size:16px; line-height:20px; min-height:52px; } }

.btn-primary{ background:var(--orange); color:var(--ink); border-color:var(--orange); }
.btn-primary:hover{ background:var(--orange-hover); border-color:var(--orange-hover); color:var(--ink); }
.btn-secondary{ background:transparent; color:var(--paper); border-color:var(--brass); }
.btn-secondary:hover{ background:var(--surface-2); border-color:var(--brass-deep); color:var(--paper); }
.btn-block{ width:100%; }

.btn[disabled],.btn[aria-busy="true"]{ opacity:.72; cursor:progress; }

.link-arrow{
  display:inline-block;
  color:var(--brass);
  font-weight:500;
  text-decoration:none;
  border-bottom:1px solid transparent;
  padding-block:2px;
}
.link-arrow:hover{ border-bottom-color:var(--brass); color:var(--brass); }
.section--paper .link-arrow{ color:var(--brass-deep); }
.section--paper .link-arrow:hover{ border-bottom-color:var(--brass-deep); }

.cta-question{
  font-family:var(--font-display);
  font-size:24px; line-height:32px; color:var(--paper);
  margin:0 0 var(--s-4);
}
@media (min-width:768px){ .cta-question{ font-size:28px; line-height:38px; } }
@media (min-width:1280px){ .cta-question{ font-size:34px; line-height:44px; } }

.cta-block{ margin-top:var(--s-6); }
.cta-block .btn{ width:100%; }
@media (min-width:768px){ .cta-block .btn{ width:auto; min-width:260px; } }

/* Markierungen: "zur Freigabe", "in Arbeit" - Messing, nie Orange (§7). */
.flag{
  display:inline-block;
  font-family:var(--font-data);
  font-size:11px; line-height:16px; letter-spacing:.8px;
  color:var(--brass);
  border:1px solid var(--brass);
  border-radius:var(--r-s);
  padding:1px 6px;
  margin-left:var(--s-2);
  vertical-align:middle;
  white-space:nowrap;
}

/* ============================================================
   HEADER, NAVIGATION, MOBILE-OVERLAY
   ============================================================ */

/* R4: backdrop-filter darf NICHT auf .site-header stehen.
   Ein Filter ungleich none macht das Element zum Containing Block fuer
   position:fixed-Nachkommen. Das viewportfuellende .nav-overlay (inset:0) lag
   im DOM innerhalb der Kopfzeile und wurde dadurch auf deren Hoehe
   eingesperrt: gemessen 390 x 76 px, sichtbar nur das Schliessen-X.
   Flaeche und Weichzeichner sitzen jetzt auf .masthead, die Kopfzeile selbst
   bleibt filterfrei. Quelle der Diagnose: MDN, Containing block. */
.site-header{
  position:sticky; top:0; z-index:60;
  border-bottom:1px solid var(--hairline);
  transition:padding var(--dur) var(--ease);
}

.masthead{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-4);
  padding:14px 24px;
  background:color-mix(in srgb, var(--ink) 92%, transparent);
  backdrop-filter:saturate(140%) blur(8px);
  transition:padding var(--dur) var(--ease);
}
@supports not (backdrop-filter:blur(8px)){ .masthead{ background:var(--ink); } }
@media (min-width:768px){ .masthead{ padding:16px 40px; } }
@media (min-width:1280px){ .masthead{ padding:18px 80px; } }
@media (min-width:1440px){ .masthead{ padding:18px 130px; } }

.site-header.is-compact .masthead{ padding-block:8px; }

.brand{
  display:inline-flex; align-items:center; gap:var(--s-3);
  text-decoration:none; color:var(--paper);
}
.brand img{ width:34px; height:34px; }
.brand-line{
  display:none;
  font-family:var(--font-data);
  font-size:12px; line-height:17px; letter-spacing:.6px;
  color:var(--text-tertiary);
}
@media (min-width:1280px){ .brand-line{ display:inline; } }

.nav-desktop{ display:none; }
@media (min-width:1024px){
  .nav-desktop{ display:flex; align-items:center; gap:var(--s-5); }
  .nav-desktop ul{ display:flex; align-items:center; gap:var(--s-5); list-style:none; margin:0; padding:0; }
  .nav-desktop li{ margin:0; }
  /* R7: auf die Listenlinks eingegrenzt. Vorher traf .nav-desktop a auch den
     Primaerbutton und ueberschrieb dessen Textfarbe mit text-secondary
     (gemessen rgb(200,193,180) auf Orange). */
  .nav-desktop ul a{
    color:var(--text-secondary); text-decoration:none;
    font-size:16px; line-height:20px;
    padding-block:6px;
    border-bottom:1px solid transparent;
  }
  .nav-desktop ul a:hover{ color:var(--paper); border-bottom-color:var(--brass); }
  .nav-desktop ul a[aria-current="page"]{ color:var(--paper); border-bottom-color:var(--brass); }
}

.nav-burger{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px;
  background:transparent; border:1px solid var(--hairline);
  border-radius:var(--r-s); cursor:pointer;
}
@media (min-width:1024px){ .nav-burger{ display:none; } }
.nav-burger span{ display:block; width:20px; height:2px; background:var(--paper); position:relative; }
.nav-burger span::before,.nav-burger span::after{
  content:""; position:absolute; left:0; width:20px; height:2px; background:var(--paper);
}
.nav-burger span::before{ top:-6px; } .nav-burger span::after{ top:6px; }

.nav-overlay{
  position:fixed; inset:0; z-index:80;
  background:var(--ink);
  display:flex; flex-direction:column;
  padding:24px;
  overflow-y:auto;
}
.nav-overlay[hidden]{ display:none; }
.nav-overlay-top{ display:flex; justify-content:flex-end; }
.nav-overlay-close{
  width:48px; height:48px;
  background:transparent; border:1px solid var(--hairline); border-radius:var(--r-s);
  color:var(--paper); font-size:22px; line-height:1; cursor:pointer;
}
.nav-overlay ul{ list-style:none; margin:var(--s-6) 0 0; padding:0; }
.nav-overlay li{ margin:0; border-bottom:1px solid var(--hairline); }
/* R7: ebenfalls auf die Listenlinks eingegrenzt; vorher gewann paper
   (gemessen rgb(242,237,227)) gegen die Buttonfarbe im Mobile-Overlay. */
.nav-overlay ul a{
  display:flex; align-items:center; min-height:56px;
  font-family:var(--font-display); font-size:24px; line-height:32px;
  color:var(--paper); text-decoration:none;
}
.nav-overlay-cta{ margin-top:auto; padding-top:var(--s-7); }
.nav-overlay-cta .cta-question{ font-size:20px; line-height:28px; }

/* R7-Riegel: der CTA in Navigation, Overlay und Bottom-Bar ist ein
   Primaerbutton und traegt ink auf orange, in jedem Zustand. Freigegebene
   Tokens, keine neue Palette. */
.nav-desktop a.btn-primary,
.nav-desktop a.btn-primary:link,
.nav-desktop a.btn-primary:visited,
.nav-desktop a.btn-primary:hover,
.nav-desktop a.btn-primary:focus,
.nav-overlay a.btn-primary,
.nav-overlay a.btn-primary:link,
.nav-overlay a.btn-primary:visited,
.nav-overlay a.btn-primary:hover,
.nav-overlay a.btn-primary:focus,
.bottom-bar a.btn-primary,
.bottom-bar a.btn-primary:link,
.bottom-bar a.btn-primary:visited,
.bottom-bar a.btn-primary:hover,
.bottom-bar a.btn-primary:focus{ color:var(--ink); }

/* --- Bottom-Bar (Mobile), IA 2.2 --- */
.bottom-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:70;
  padding:12px 24px calc(12px + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--ink) 94%, transparent);
  border-top:1px solid var(--hairline);
  transform:translateY(110%);
  transition:transform var(--dur) var(--ease);
}
@supports not (backdrop-filter:blur(8px)){ .bottom-bar{ background:var(--ink); } }
.bottom-bar.is-visible{ transform:translateY(0); }
.bottom-bar.is-muted{ transform:translateY(110%); }
.bottom-bar .btn{ width:100%; }
@media (min-width:1024px){ .bottom-bar{ display:none; } }

/* ============================================================
   FOOTER
   ============================================================ */

.site-footer{
  background:var(--surface);
  border-top:1px solid var(--hairline);
  padding:var(--s-9) 24px var(--s-7);
  margin-top:0;
}
@media (min-width:768px){ .site-footer{ padding-inline:40px; } }
@media (min-width:1280px){ .site-footer{ padding-inline:80px; } }
@media (min-width:1440px){ .site-footer{ padding-inline:130px; } }

.fgrid{ display:grid; gap:var(--s-7); }
@media (min-width:768px){ .fgrid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1024px){ .fgrid{ grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:var(--s-6); } }

.site-footer h2{ font-family:var(--font-ui); font-size:13px; line-height:20px; letter-spacing:.8px; color:var(--text-tertiary); margin:0 0 var(--s-3); font-weight:600; }
.fcol ul{ list-style:none; margin:0; padding:0; }
.fcol li{ margin:0; }
.fcol a{ display:block; padding-block:8px; color:var(--text-secondary); text-decoration:none; min-height:36px; }
.fcol a:hover{ color:var(--paper); text-decoration:underline; }
.fmeta{ font-size:13px; line-height:20px; color:var(--text-tertiary); }
.fbottom{
  margin-top:var(--s-7); padding-top:var(--s-5);
  border-top:1px solid var(--hairline);
  font-size:13px; line-height:20px; color:var(--text-tertiary);
  display:flex; flex-wrap:wrap; gap:var(--s-3) var(--s-5);
}

/* ============================================================
   H-01 CINEMATIC HERO
   21:9 volle Breite, Scrim links, Copy im Negativraum > 40 %
   ============================================================ */

.hero{position:relative;isolation:isolate;background:#111312;min-height:620px;padding:48px 24px 34px;overflow:hidden;}
.hero-media{position:absolute;inset:0;z-index:-2;overflow:hidden;}
.hero-media>*{position:absolute;inset:0;width:100%;height:100%;}
.hero-media img,.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 24%;}
.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#111312f5 0%,#111312d9 32%,#1113126b 55%,#11131200 78%),linear-gradient(0deg,#111312c9,transparent 22%);}
.hero-inner{position:relative;max-width:var(--content);margin-inline:auto;}
.hero-copy{max-width:610px;}
.hero .eyebrow{color:#d7b37b;letter-spacing:1.3px;margin-bottom:20px;}
.hero h1{font-weight:700;font-size:clamp(42px,4.7vw,70px);line-height:1.07;letter-spacing:-1.6px;margin:0 0 22px;text-wrap:initial;}
.hero h1 em{font-style:normal;color:var(--orange);}
.hero-body{font-size:18px;line-height:28px;color:#e0d9cc;max-width:500px;margin-bottom:24px;}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;}
.hero-actions .btn{min-width:206px;justify-content:space-between;gap:28px;}
.hero-qualification{font-size:13px;line-height:21px;color:#c8c1b4;margin:20px 0 0;}
.hero-scene-label{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:40px 0 0;font-size:11px;line-height:17px;color:#c8c1b4;}
.hero-scene-label .mono{color:#d7b37b;}
.hero-play{position:absolute;right:24px;top:16px;z-index:2;min-height:44px;padding:10px 16px;background:#14161ae6;border:1px solid var(--brass);border-radius:var(--r-s);color:var(--paper);font-size:13px;cursor:pointer;}
.hero-play[hidden]{display:none;}
.diagnose-strip{padding:22px 24px;background:#1b1d1c;border-top:1px solid #695339;border-bottom:1px solid #393933;}
.diagnose-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.diagnose-strip p{margin:0;display:flex;flex-direction:column;gap:3px;}
.diagnose-strip strong{font-size:17px;font-weight:500;color:var(--paper);}
.diagnose-strip span{font-size:12px;line-height:19px;color:var(--text-tertiary);}
@media(min-width:768px){.hero{padding-inline:40px;}.hero-copy{width:62%;}.hero{min-height:620px;}.diagnose-strip{padding-inline:40px;}}
@media(min-width:1024px) and (max-width:1279px){.hero-inner,.diagnose-strip .wrap{max-width:100%;}.hero-copy{width:60%;}.hero h1{font-size:56px;}}
@media(min-width:1280px){.hero{padding-inline:80px;}.hero-copy{width:57%;}.diagnose-strip{padding-inline:80px;}}
@media(min-width:1440px){.hero{padding-inline:130px;padding-top:62px;min-height:690px;}.diagnose-strip{padding-inline:130px;}}
@media(max-width:767px){
  .hero{display:flex;flex-direction:column;min-height:0;padding:30px 24px 0;}
  .hero-inner{order:1;width:100%;}
  .hero-copy{max-width:none;}
  .hero .eyebrow{font-size:11px;letter-spacing:1px;margin-bottom:16px;}
  .hero h1{font-size:39px;line-height:1.08;letter-spacing:-.9px;margin-bottom:18px;}
  .hero-body{font-size:16px;line-height:24px;margin-bottom:20px;}
  .hero-actions{gap:12px 18px;}
  .hero-actions .btn{min-width:180px;min-height:56px;padding:13px 18px;font-size:15px;gap:18px;}
  .hero-actions .link-arrow{font-size:13px;}
  .hero-qualification{font-size:12px;line-height:19px;margin-top:16px;}
  .hero-media{position:relative;order:2;z-index:0;inset:auto;height:calc(100vw * 748 / 900);width:calc(100% + 48px);margin:18px -24px 0;}
  .hero-media img{object-position:center 25%;}
  .hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#111312 0%,transparent 14%,transparent 82%,#111312 100%);}
  .hero-scrim{display:none;}
  .hero-scene-label{position:absolute;bottom:calc(-100vw * 748 / 900 - 2px);left:0;right:0;z-index:2;margin:0;font-size:9px;line-height:15px;}
  .hero-scene-label .mono{font-size:9px;}
  .diagnose-strip{padding:18px 24px;}
  .diagnose-strip .wrap{gap:12px;}
  .diagnose-strip strong{font-size:13px;line-height:19px;}
  .diagnose-strip span{font-size:11px;line-height:16px;}
}

/* ============================================================
   H-02 ERGEBNISBLOCK / KENNZAHLEN
   ============================================================ */

.kpi-intro{ border-left:1px solid var(--brass); padding-left:var(--s-4); margin-bottom:var(--s-6); }

.kpi-grid{ display:grid; gap:20px; margin:var(--s-6) 0; list-style:none; padding:0; }
@media (min-width:768px){ .kpi-grid{ grid-template-columns:repeat(2,1fr); } }
@media (min-width:1280px){ .kpi-grid{ grid-template-columns:repeat(5,1fr); } }
.kpi{ border-top:1px solid var(--brass); padding-top:var(--s-4); margin:0; }
.kpi-value{
  display:block;
  font-family:var(--font-display);
  font-size:32px; line-height:38px; letter-spacing:-.6px;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
}
@media (min-width:1280px){ .kpi-value{ font-size:40px; line-height:46px; } }
.kpi-name{ display:block; color:var(--paper); font-weight:600; margin-top:var(--s-2); }
.kpi-desc{ display:block; font-size:15px; line-height:24px; color:var(--text-tertiary); margin-top:var(--s-1); }

.methodik{
  font-size:15px; line-height:24px; color:var(--text-tertiary);
  max-width:880px;
  border-top:1px solid var(--hairline);
  padding-top:var(--s-4);
}
.anchor-row{ display:flex; flex-direction:column; gap:var(--s-3); margin-top:var(--s-5); }
@media (min-width:768px){ .anchor-row{ flex-direction:row; gap:var(--s-6); flex-wrap:wrap; } }

/* ============================================================
   H-03 KERNTHESE (einzige helle Zaesurflaeche)
   ============================================================ */

.thesis{ font-family:var(--font-display); font-size:30px; line-height:38px; letter-spacing:-.6px; color:var(--ink); max-width:940px; margin:0 0 var(--s-5); }
@media (min-width:768px){ .thesis{ font-size:40px; line-height:48px; } }
@media (min-width:1280px){ .thesis{ font-size:56px; line-height:64px; letter-spacing:-1.2px; } }
.thesis-context{ color:var(--ink-on-paper); max-width:880px; border-top:1px solid var(--brass-deep); padding-top:var(--s-4); }

/* ============================================================
   H-04 DIE FUENF SYSTEME - Excavation Map
   Tiefenskala links, stratigraphische Staffelung, Fundstelle System 5
   ============================================================ */

.systems{ position:relative; margin-top:var(--s-7); }
/* R5: ab 1024 px stehen Buehne und Liste nebeneinander, die Buehne klebt.
   Vorher lief der Zustandswechsel weiter, waehrend die Buehne bereits
   vollstaendig oberhalb des Bildschirms lag; der Signature-Moment war nicht
   erlebbar. Der Containing Block der klebenden Spalte ist ihre Rasterflaeche,
   deshalb behaelt .systems-visual eine eigene Huelle. */
@media (min-width:1024px){
  .systems{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
    column-gap:var(--s-7);
    align-items:start;
  }
  .systems-visual{
    grid-column:1; grid-row:1;
    position:sticky; top:104px;
  }
  .systems-list{ grid-column:2; grid-row:1; padding-bottom:var(--s-7); }
  .systems-stage{ margin-bottom:var(--s-4); }
}

.systems-stage{
  position:relative;
  margin-bottom:var(--s-6);
  border:1px solid var(--hairline);
  border-radius:var(--r-l);
  overflow:hidden;
  background:var(--ink);
  aspect-ratio:1920 / 1080;
}
.systems-stage[hidden]{ display:none; }
.systems-stage img,.systems-stage video{ width:100%; height:100%; object-fit:cover; }
.systems-state{ position:absolute; inset:0; opacity:0; transition:opacity var(--dur) var(--ease); }
.systems-state.is-active{ opacity:1; }
.systems-state:first-child{ opacity:1; }

.systems-progress{
  font-family:var(--font-data);
  font-size:11px; line-height:16px; letter-spacing:.8px;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
  margin-bottom:var(--s-4);
}

.systems-list{ list-style:none; margin:0; padding:0; }
.system{
  position:relative;
  border-left:1px solid var(--brass);
  padding:var(--s-5) 0 var(--s-5) var(--s-5);
  margin:0;
}
/* Stratigraphische Staffelung: 6 px je Ebene auf Mobile, 12 px ab Desktop. */
.system:nth-child(2){ margin-left:6px; }
.system:nth-child(3){ margin-left:12px; }
.system:nth-child(4){ margin-left:18px; }
.system:nth-child(5){ margin-left:24px; }
@media (min-width:1024px){
  .system:nth-child(2){ margin-left:12px; }
  .system:nth-child(3){ margin-left:24px; }
  .system:nth-child(4){ margin-left:36px; }
  .system:nth-child(5){ margin-left:48px; }
}
.system::before{
  content:""; position:absolute; left:-4px; top:calc(var(--s-5) + 10px);
  width:7px; height:7px; border-radius:50%;
  background:var(--brass);
}
.system--find{ border-left-color:var(--brass); }
.system--find::before{ background:var(--orange); }
.system--find .system-card{ border-color:var(--orange); }

.system-no{
  font-family:var(--font-data);
  font-size:11px; line-height:16px; letter-spacing:.8px;
  color:var(--brass); font-variant-numeric:tabular-nums;
  display:block; margin-bottom:var(--s-2);
}
.system--find .system-no{ color:var(--orange); }
.system-card{
  border:1px solid var(--hairline);
  border-radius:var(--r-l);
  background:var(--surface);
  padding:var(--s-5);
}
.system-card h3{ font-size:20px; line-height:28px; margin-bottom:var(--s-2); }
@media (min-width:1280px){ .system-card h3{ font-size:24px; line-height:32px; } }
.system-question{ font-size:17px; line-height:27px; color:var(--paper); margin-bottom:var(--s-3); }
.system-explain{ font-size:15px; line-height:24px; color:var(--text-tertiary); max-width:820px; margin:0; }
.system-find-label{ display:inline-block; margin-top:var(--s-3); }
.system-find-label .mono{ color:var(--orange); border:1px solid var(--orange); border-radius:var(--r-s); padding:1px 6px; }

.system-toggle{
  display:none;
  align-items:center; gap:var(--s-2);
  min-height:44px; margin-top:var(--s-3);
  background:transparent; border:1px solid var(--field-border); border-radius:var(--r-s);
  color:var(--paper); font-family:var(--font-ui); font-size:14px; padding:0 var(--s-4);
  cursor:pointer;
}
html.js .system-toggle{ display:inline-flex; }
html.js .system-detail[aria-hidden="true"]{ display:none; }
@media (min-width:1024px){
  html.js .system-toggle{ display:none; }
  html.js .system-detail[aria-hidden="true"]{ display:block; }
}

/* ============================================================
   H-05 SIEBENSTUFIGE METHODE - vertikale Zeitachse (FR-04)
   ============================================================ */

.method-line{
  font-family:var(--font-display);
  font-size:20px; line-height:32px; color:var(--paper);
  margin:0 0 var(--s-6);
  max-width:940px;
}
@media (min-width:1280px){ .method-line{ font-size:28px; line-height:42px; } }

.steps{ list-style:none; margin:0; padding:0; border-left:1px solid var(--brass); }
.step{
  position:relative;
  display:grid;
  grid-template-columns:12px 1fr;
  gap:var(--s-3);
  padding:14px 0 14px var(--s-5);
  margin:0;
  border-bottom:1px solid var(--hairline);
}
.step:last-child{ border-bottom:0; }
.step-marker{ position:relative; }
.step-marker::before{
  content:""; position:absolute; left:-30px; top:10px;
  width:7px; height:7px; border-radius:50%; background:transparent;
  border:1px solid var(--brass);
}
/* Stufe 6 "Beweisen" ist dauerhaft orange markiert (§7.1) -
   eigene Markerspalte, damit die Zeile nicht verspringt. */
.step--proof .step-marker::before{ background:var(--orange); border-color:var(--orange); }
.step-no{ font-family:var(--font-data); font-size:11px; letter-spacing:.8px; color:var(--brass); font-variant-numeric:tabular-nums; }
.step--proof .step-no,.step--proof .step-verb{ color:var(--orange); }
.step-verb{ font-family:var(--font-display); font-size:20px; line-height:28px; color:var(--paper); }
@media (min-width:1280px){ .step-verb{ font-size:24px; line-height:32px; } }
.step-result{ display:block; font-size:15px; line-height:24px; color:var(--text-tertiary); margin-top:2px; }

/* ============================================================
   H-06 REVENUE-IMPACT-SIMULATOR
   ============================================================ */

.sim{ display:grid; gap:var(--s-6); margin-top:var(--s-6); }
@media (min-width:1024px){ .sim{ grid-template-columns:1.05fr .95fr; gap:var(--s-7); align-items:start; } }

.sliders{ display:grid; gap:var(--s-5); }
.slider-row{ display:block; }
.slider-head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s-3); margin-bottom:var(--s-2); }
.slider-label{ color:var(--paper); font-weight:600; }
/* Reglerwerte in paper, NICHT orange (FR-06): Eingabe ist kein Ergebnis. */
.slider-value{
  font-family:var(--font-display);
  font-size:22px; line-height:28px; color:var(--paper);
  font-variant-numeric:tabular-nums;
}
.slider-controls{ display:flex; align-items:center; gap:var(--s-3); }
.slider-step{
  width:44px; height:44px; flex:0 0 44px;
  background:var(--surface-2);
  border:1px solid var(--field-border); border-radius:var(--r-s);
  color:var(--paper); font-size:20px; line-height:1; cursor:pointer;
}
@media (min-width:1024px){ .slider-step{ display:none; } }

input[type="range"]{
  -webkit-appearance:none; appearance:none;
  flex:1 1 auto; width:100%;
  height:44px; margin:0; background:transparent; cursor:pointer;
}
input[type="range"]::-webkit-slider-runnable-track{
  height:4px; border-radius:2px;
  background:var(--field-border);
}
input[type="range"]::-moz-range-track{ height:4px; border-radius:2px; background:var(--field-border); }
input[type="range"]::-moz-range-progress{ height:4px; border-radius:2px; background:var(--brass); }
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none;
  width:18px; height:18px; margin-top:-7px;
  border-radius:50%; background:var(--paper);
  border:1px solid var(--ink);
}
input[type="range"]::-moz-range-thumb{
  width:18px; height:18px; border-radius:50%;
  background:var(--paper); border:1px solid var(--ink);
}

.sim-hint{ font-size:15px; line-height:24px; color:var(--text-tertiary); margin-top:var(--s-4); }

.field{ display:block; margin-top:var(--s-5); }
.field-label{ display:block; color:var(--paper); font-weight:600; margin-bottom:var(--s-2); }
.field-help{ display:block; font-size:13px; line-height:20px; color:var(--text-tertiary); margin-bottom:var(--s-2); }
.field-shell{
  display:flex; align-items:center;
  background:var(--surface-2);
  border:1px solid var(--field-border);
  border-radius:var(--r-s);
}
.field-prefix{ padding:0 var(--s-3); color:var(--text-tertiary); font-family:var(--font-data); font-variant-numeric:tabular-nums; }
.field-shell input,.field-shell textarea{
  flex:1 1 auto; width:100%;
  min-height:52px; padding:12px var(--s-3);
  background:transparent; border:0; color:var(--paper);
  font-family:var(--font-ui); font-size:16px; line-height:24px;
}
.field-shell input:focus-visible,.field-shell textarea:focus-visible{ outline-offset:1px; }
.field-shell:has(input[aria-invalid="true"]),
.field-shell:has(textarea[aria-invalid="true"]){ border-color:var(--error); }
.field-error{ display:block; font-size:14px; line-height:22px; color:var(--error); margin-top:var(--s-2); }
.field-error[hidden]{ display:none; }

.sim-result{
  background:var(--surface-2);
  border:1px solid var(--hairline);
  border-radius:var(--r-l);
  padding:var(--s-5);
}
@media (min-width:1280px){ .sim-result{ padding:26px; } }
.sim-result-label{ font-family:var(--font-data); font-size:12px; letter-spacing:.8px; color:var(--text-tertiary); display:block; margin-bottom:var(--s-2); }
.sim-result-value{
  font-family:var(--font-display);
  font-size:40px; line-height:48px; letter-spacing:-.9px;
  color:var(--orange);
  font-variant-numeric:tabular-nums;
  display:block;
}
@media (min-width:1280px){ .sim-result-value{ font-size:56px; line-height:64px; letter-spacing:-1.2px; } }
.sim-result-amount{ display:block; color:var(--paper); margin-top:var(--s-2); }
.sim-result-amount[hidden]{ display:none; }
.sim-formula{ font-family:var(--font-data); font-size:14px; line-height:22px; color:var(--text-secondary); margin-top:var(--s-4); font-variant-numeric:tabular-nums; }
.sim-mapping{ font-size:14px; line-height:22px; color:var(--text-tertiary); margin-top:var(--s-2); }
/* R2: die vereinfachende Faktorannahme steht unmittelbar am Ergebnis und
   nicht erst im allgemeinen Pflichthinweis darunter. */
.sim-assumption{
  font-size:14px; line-height:22px; color:var(--text-secondary);
  margin-top:var(--s-3);
  padding-top:var(--s-3);
  border-top:1px solid var(--hairline);
  max-width:60ch;
}
.sim-disclaimer{
  font-size:15px; line-height:24px; color:var(--text-tertiary);
  margin-top:var(--s-4); padding-top:var(--s-4);
  border-top:1px solid var(--hairline);
}
.sim-reset{
  margin-top:var(--s-4);
  min-height:44px; padding:0 var(--s-4);
  background:transparent; border:1px solid var(--field-border); border-radius:var(--r-s);
  color:var(--paper); font-family:var(--font-ui); font-size:14px; cursor:pointer;
}
.sim-handover{ margin-top:var(--s-5); color:var(--text-secondary); }

.sim-static{ margin-top:var(--s-6); }
html.js .sim-static{ display:none; }
html:not(.js) .sim-live{ display:none; }

/* ============================================================
   H-07 MANDATE, H-08 PROOF, H-09 FOUNDER, H-10 FIT, H-11 CTA
   ============================================================ */

.cards{ display:grid; gap:20px; margin-top:var(--s-6); list-style:none; padding:0; }
@media (min-width:1024px){ .cards{ grid-template-columns:repeat(3,1fr); gap:var(--s-5); } }
.card{
  background:var(--surface);
  border:1px solid var(--hairline);
  border-radius:var(--r-l);
  padding:var(--s-5);
  margin:0;
}
@media (min-width:1280px){ .card{ padding:26px; } }
.card h3{ font-size:22px; line-height:30px; margin-bottom:var(--s-3); }
@media (min-width:1280px){ .card h3{ font-size:26px; line-height:34px; } }
.card p{ font-size:15px; line-height:24px; color:var(--text-tertiary); }

.ledger{ list-style:none; margin:var(--s-6) 0 0; padding:0; }
.ledger li{
  padding:16px 0; margin:0;
  border-bottom:1px solid var(--hairline);
  color:var(--text-secondary);
}
.ledger li:last-child{ border-bottom:0; }
.ledger--brass li{ border-bottom-color:var(--hairline); }
.ledger li strong{ display:block; color:var(--paper); margin-bottom:2px; }

.founder{ display:grid; gap:var(--s-6); margin-top:var(--s-6); }
@media (min-width:1024px){ .founder{ grid-template-columns:.8fr 1.2fr; gap:var(--s-7); align-items:start; } }
.founder-media img{ border-radius:var(--r-l); width:100%; }
.founder-card{
  border:1px solid var(--brass); border-radius:var(--r-l);
  padding:var(--s-5); background:var(--surface);
}
.founder-card .mono{ display:block; margin-bottom:var(--s-3); }
.founder-card p{ font-family:var(--font-display); font-size:20px; line-height:30px; color:var(--paper); margin:0; }

.fit-line{
  font-size:17px; line-height:27px; color:var(--paper);
  border-left:1px solid var(--brass); padding-left:var(--s-4);
  max-width:880px;
}
.anti{ list-style:none; margin:var(--s-6) 0 0; padding:0; }
.anti li{ padding:14px 0; border-bottom:1px solid var(--hairline); color:var(--text-secondary); margin:0; }
.anti li:last-child{ border-bottom:0; }

.cta-band{
  position:relative; isolation:isolate;
  background:var(--surface-2);
  padding-block:calc(var(--sec-top) + 16px) calc(var(--sec-bottom) + 16px);
  padding-inline:24px;
  overflow:hidden;
}
@media (min-width:768px){ .cta-band{ padding-inline:40px; } }
@media (min-width:1280px){ .cta-band{ padding-inline:80px; } }
@media (min-width:1440px){ .cta-band{ padding-inline:130px; } }
/* Ab 768 px als dekorative CSS-Flaeche. Auf Mobile wird nichts geladen
   (Delivery-Matrix Pfad D: H-11 traegt dort die Flaechenfarbe). */
.cta-band-media{ position:absolute; inset:0; z-index:-2; background:var(--ink); }
@media (min-width:768px){
  .cta-band-media{
    background-image:image-set(
      url("/assets/media/hg04-evidence-still-1920.a3a40af2.avif") type("image/avif"),
      url("/assets/media/hg04-evidence-still-1920.dee48276.webp") type("image/webp"));
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
  }
}
.cta-band-scrim{
  position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, var(--ink) 0%, color-mix(in srgb, var(--ink) 88%, transparent) 46%, color-mix(in srgb, var(--ink) 40%, transparent) 100%);
}
@supports not (background:color-mix(in srgb, #000 50%, transparent)){
  .cta-band-scrim{ background:linear-gradient(100deg,#14161a 0%,#14161ae0 46%,#14161a66 100%); }
}
.cta-band-inner{ position:relative; max-width:var(--content); margin-inline:auto; }
.cta-band .cta-question{ font-family:var(--font-display); font-size:30px; line-height:38px; }
@media (min-width:1280px){ .cta-band .cta-question{ font-size:56px; line-height:64px; letter-spacing:-1.2px; } }
.cta-band-note{ font-size:15px; line-height:24px; color:var(--text-tertiary); margin-top:var(--s-5); max-width:780px; }

/* ============================================================
   TABELLEN, PROSE, UNTERSEITEN
   ============================================================ */

.table-scroll{ overflow-x:auto; margin-top:var(--s-6); -webkit-overflow-scrolling:touch; }
table{ width:100%; border-collapse:collapse; font-size:15px; line-height:24px; min-width:100%; }
th,td{ text-align:left; padding:14px var(--s-4) 14px 0; border-bottom:1px solid var(--hairline); vertical-align:top; }
th{ color:var(--paper); font-weight:600; font-size:13px; letter-spacing:.4px; }
td strong{ color:var(--paper); }
.section--paper th{ color:var(--ink); }
.section--paper th,.section--paper td{ border-bottom-color:rgba(58,61,67,.24); }

/* Auf Mobile werden Tabellen als Karten gestapelt - kein horizontales Scrollen. */
@media (max-width:767px){
  table.stack-mobile,table.stack-mobile tbody,table.stack-mobile tr,table.stack-mobile td{ display:block; width:100%; }
  table.stack-mobile thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); }
  table.stack-mobile tr{ border:1px solid var(--hairline); border-radius:var(--r-l); padding:var(--s-4); margin-bottom:var(--s-4); }
  table.stack-mobile td{ border-bottom:0; padding:6px 0; }
  table.stack-mobile td::before{
    content:attr(data-label);
    display:block;
    font-family:var(--font-data); font-size:11px; letter-spacing:.8px;
    color:var(--brass); margin-bottom:2px;
  }
  .section--paper table.stack-mobile tr{ border-color:rgba(58,61,67,.3); }
}

.prose{ max-width:780px; }
.prose h2{ margin-top:var(--s-7); }
.prose h2:first-child{ margin-top:0; }
.prose li{ color:inherit; }
.toc{ list-style:none; margin:var(--s-5) 0 var(--s-7); padding:var(--s-4) 0; border-block:1px solid var(--hairline); }
.toc li{ margin:0; }
.toc a{ display:block; padding-block:6px; }

.notice{
  border:1px solid var(--brass);
  border-radius:var(--r-l);
  padding:var(--s-5);
  margin-top:var(--s-6);
  color:var(--text-secondary);
}
.notice strong{ color:var(--paper); }

/* ============================================================
   FORMULAR /mandat-pruefen/
   ============================================================ */

.form-shell{ max-width:640px; margin-top:var(--s-6); }
.form-legend{ font-size:14px; line-height:22px; color:var(--text-tertiary); margin-bottom:var(--s-5); }
.hp{ position:absolute!important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-consent{ font-size:14px; line-height:22px; color:var(--text-tertiary); margin:var(--s-5) 0; }
.form-summary{
  border:1px solid var(--error); border-radius:var(--r-s);
  padding:var(--s-4); margin-bottom:var(--s-5); color:var(--error);
}
.form-summary[hidden]{ display:none; }
.form-status{ margin-top:var(--s-4); font-size:15px; line-height:24px; }
.form-status[hidden]{ display:none; }
.form-status--error{ color:var(--error); }
.form-status--ok{ color:var(--paper); }

/* ============================================================
   404
   ============================================================ */

.error-page{ padding-block:var(--s-10) var(--s-11); }
.error-links{ list-style:none; margin:var(--s-6) 0 0; padding:0; }
.error-links li{ border-bottom:1px solid var(--hairline); margin:0; }
.error-links a{ display:flex; align-items:center; min-height:56px; font-size:17px; text-decoration:none; }

/* ============================================================
   REDUCED MOTION (§8) UND DRUCK
   ============================================================ */

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  /* Keine Interpolation, nur Zustandswechsel - Inhalt bleibt vollstaendig. */
  .systems-state{ transition:none; }
  /* QA104 D.2: ohne Bewegung entfaellt die Buehne, also muss der Stapel alles
     tragen. Alle fuenf Erklaerungen stehen offen, die Schalter entfallen.
     Das JavaScript entfernt dann zusaetzlich aria-hidden. */
  html.js .system-detail,
  html.js .system-detail[aria-hidden="true"]{ display:block; }
  html.js .system-toggle{ display:none; }
  .bottom-bar{ transition:none; }
  .site-header,.masthead{ transition:none; }
}

@media print{
  .site-header,.bottom-bar,.nav-overlay,.hero-media,.hero-scrim,.cta-band-media,.cta-band-scrim{ display:none!important; }
  body{ background:#fff; color:#000; }
  h1,h2,h3{ color:#000; }
}

/* VFS-107: Papierkapitel, Fundstellen und wirtschaftlicher Lesepfad. */
.section--paper .lead,.section--paper .small,.section--paper strong{color:var(--ink-on-paper);}
.section--paper .eyebrow,.section--paper .mono{color:var(--brass-deep);}
.section--paper .btn-primary{color:var(--ink);}
.symptoms-section h2,.mandates-section h2{font-weight:700;max-width:830px;}
.symptoms-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:64px;align-items:center;margin-top:40px;}
.symptoms-list{list-style:none;margin:0;padding:0;}
.symptoms-list li{display:flex;gap:22px;border-top:1px solid #b6aa96;padding:24px 0;margin:0;}
.symptom-no{font-size:12px;font-variant-numeric:tabular-nums;color:var(--brass-deep);padding-top:6px;}
.symptoms-list h3{font-size:26px;line-height:33px;margin-bottom:10px;}
.symptoms-list p{font-size:16px;line-height:25px;margin:0;max-width:520px;}
.fossil-exhibit{margin:0;background:#161815;color:var(--paper);border-radius:3px;overflow:hidden;}
.fossil-exhibit img{width:100%;height:340px;object-fit:cover;object-position:center 60%;}
.fossil-exhibit figcaption{font-size:13px;line-height:21px;padding:0 24px 24px;color:#d9d0bf;}
.fossil-exhibit .mono{display:block;color:#d6b680;margin-bottom:8px;}
.fossil-exhibit figcaption strong{display:block;font-family:var(--font-display);font-size:26px;line-height:1.2;color:var(--paper);margin-bottom:12px;}
.archaeology-evidence{max-width:880px;margin-inline:auto;}
.archaeology-evidence img{width:100%;height:auto;display:block;}
.archaeology-evidence figcaption{font-size:14px;line-height:22px;color:var(--text-secondary);padding-top:14px;}
.diagnosis-sample{margin-top:56px;border-block:1px solid #aa977a;display:grid;grid-template-columns:1fr 1.6fr;gap:54px;padding:32px 0;}
.diagnosis-sample h3{font-size:32px;line-height:39px;}
.sample-label{font-size:13px;line-height:21px;color:#635848;margin:16px 0 0;}
.diagnosis-sample dl{margin:0;}
.diagnosis-sample dl>div{display:grid;grid-template-columns:110px 1fr;gap:22px;padding:12px 0;border-bottom:1px solid #c6bcaa;}
.diagnosis-sample dl>div:first-child{padding-top:0;}
.diagnosis-sample dl>div:last-child{border:0;padding-bottom:0;}
.diagnosis-sample dt{font-size:12px;line-height:23px;color:#705634;font-weight:600;}
.diagnosis-sample dd{font-size:15px;line-height:24px;margin:0;}
.thesis-section{background:#232521;border-bottom:1px solid #43463d;}
.thesis-section .thesis{color:var(--paper);font-weight:650;}
.thesis-section .thesis-context{color:var(--text-secondary);max-width:780px;}
.systems-caption{font-size:13px;line-height:20px;color:var(--text-secondary);margin-bottom:6px;}
.systems-stage{border-radius:2px;border-color:#66553d;box-shadow:0 25px 70px #0004;}
.sim-result{border-color:var(--brass);border-radius:3px;background:linear-gradient(145deg,#222620,#171b17);}
.sim-result-label{letter-spacing:1.1px;}
.sim-model-note{font-size:13px;line-height:21px;color:#e9dcc5;margin:18px 0 12px;padding-top:16px;border-top:1px solid #62523a;}
.mandates-section .cards{gap:24px;}
.mandates-section .card{background:transparent;border-color:#b5a58e;border-radius:2px;}
.mandates-section .card h3{font-size:31px;line-height:37px;font-weight:650;}
.mandates-section .card p{color:var(--ink-on-paper);}
.mandates-section .mandate-name{font-size:12px;line-height:19px;color:#716550;margin:14px 0 20px;}
.founder-portrait{width:100%;height:auto;border-radius:3px;}
#h1-sa{hyphens:auto;overflow-wrap:anywhere;}
.founder-media .caption{margin-top:10px;font-size:11px;}
.form-preview-notice{padding:16px 20px;border:1px solid var(--brass);font-size:14px;line-height:23px;margin:0 0 24px;}
@media(max-width:1023px){.symptoms-layout{gap:28px;}.fossil-exhibit img{height:280px;}.diagnosis-sample{gap:28px;grid-template-columns:1fr;}}
@media(max-width:767px){
 .symptoms-layout{grid-template-columns:1fr;margin-top:28px;gap:26px;}
 .symptoms-list li{gap:16px;padding:20px 0;}
 .symptoms-list h3{font-size:24px;line-height:30px;}
 .fossil-exhibit{display:block;}
 .fossil-exhibit img{height:auto;aspect-ratio:4/3;object-position:center;}
 .fossil-exhibit figcaption{padding:16px;font-size:12px;line-height:19px;}
 .diagnosis-sample{margin-top:36px;padding-block:26px;gap:24px;}
 .diagnosis-sample h3{font-size:28px;line-height:34px;}
 .diagnosis-sample dl>div{grid-template-columns:1fr;gap:4px;}
 .mandates-section .card h3{font-size:28px;line-height:35px;}
}

/* Kompakte Navigation und vollstaendige statische Systemansicht. */
@media(min-width:1024px){.nav-desktop{flex-shrink:0;gap:20px;}.nav-desktop ul{gap:20px;}.nav-desktop a{white-space:nowrap;}.brand{min-width:0;}.brand img{flex-shrink:0;}}
@media(min-width:1280px) and (max-width:1439px){.brand-line{max-width:250px;font-size:11px;}.nav-desktop ul a{font-size:15px;}.nav-desktop ul{gap:18px;}}
html:not(.js) .systems{display:block;}
html:not(.js) .systems-visual{display:none;}
html:not(.js) .systems-list{max-width:920px;margin-inline:auto;}
@media(prefers-reduced-motion:reduce){.systems{display:block;}.systems-visual{display:none;}.systems-list{max-width:920px;margin-inline:auto;}}
@media(max-width:1023px){.systems-visual{display:none;}}
@media(min-width:1024px){
 #methode .steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:16px;border:0;padding-left:0;}
 #methode .step{display:block;padding:20px 0 0;border:0;border-top:1px solid var(--brass);}
 #methode .step-marker{display:none;}
 #methode .step-no{display:block;margin-bottom:12px;}
 #methode .step-verb{font-size:19px;line-height:27px;display:block;}
 #methode .step-result{font-size:12px;line-height:20px;overflow-wrap:anywhere;}
 #methode .step--proof{border-top:2px solid var(--orange);}
}

@media(min-width:1024px){.hero-media img,.hero-media video{object-fit:contain;object-position:right center;}}

/* VFS-110: vom Nutzer freigegebene aktuelle Mandatsuebersicht. */
.mandate-results{margin-top:48px;padding:32px;background:var(--surface);border:1px solid var(--brass);border-radius:var(--r-s);}
.mandate-results h3{font-family:var(--font-display);font-size:clamp(28px,3vw,40px);line-height:1.15;}
.mandate-results-cohort{margin:16px 0 0;color:var(--paper);}
.mandate-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0;}
.mandate-results-grid>div{display:flex;flex-direction:column;border-top:1px solid var(--hairline);padding-top:24px;}
.mandate-results-grid dt{font-size:16px;line-height:24px;color:var(--paper);}
.mandate-results-grid dd{order:-1;margin:0 0 12px;font-family:var(--font-display);font-size:clamp(42px,5vw,64px);line-height:1.08;color:var(--orange);font-variant-numeric:tabular-nums;}
.mandate-results-source{max-width:75ch;font-size:13px;line-height:21px;color:var(--text-secondary);margin-bottom:0;}
@media(max-width:767px){.mandate-results{padding:24px;}.mandate-results-grid{grid-template-columns:1fr;gap:24px;}.mandate-results-grid>div{padding-top:18px;}.mandate-results-grid dd{font-size:48px;}}

/* VFS-111: one editorial system from first impression to mandate decision. */
:root{--content:1180px;--band:1320px;}
.section,.site-footer,.masthead,.hero,.diagnose-strip{padding-inline:clamp(24px,5.56vw,130px);}
.section{padding-block:clamp(52px,6vw,88px);}
.wrap>*:last-child{margin-bottom:0;}
h2{font-size:clamp(30px,3.6vw,46px);line-height:1.14;letter-spacing:-.8px;font-weight:500;}
h3{font-size:clamp(25px,2.5vw,32px);line-height:1.22;font-weight:500;}
h4{font-size:21px;line-height:1.3;font-weight:500;}
p{max-width:75ch;}
section[id],article[id],div[id],li[id]{scroll-margin-top:100px;}
.brand-line{display:flex!important;flex-direction:column;gap:1px;max-width:none!important;letter-spacing:0;font-size:11px!important;line-height:17px;white-space:nowrap;}
.brand-line strong{font-family:var(--font-ui);font-size:15px;line-height:21px;font-weight:500;}
.brand-line>span{color:var(--text-tertiary);}
.brand{gap:12px;}
.hero-body{max-width:490px;}
.hero-play{top:auto;bottom:24px;right:clamp(24px,5.56vw,130px);border-color:#82704f;background:#14161af5;}
.hero-scene-label{padding-right:190px;}
.hero-scene-label>span:last-child{max-width:190px;}
.entry-section{padding-block:clamp(48px,6vw,84px);}
.entry-section>.wrap{display:grid;gap:48px;}
.entry-section h2{font-size:clamp(32px,3.4vw,46px);margin-bottom:24px;}
.entry-heading .fit-line{font-size:17px;line-height:27px;}
.entry-mandate{border-top:1px solid #b3a58d;padding-top:28px;}
.entry-mandate h3{font-size:clamp(28px,3vw,36px);margin-bottom:20px;}
.entry-boundary{font-size:15px;line-height:24px;color:#60584c;}
.entry-followup{display:flex;flex-wrap:wrap;gap:8px 22px;border-top:1px solid #c2b7a5;margin-top:24px;padding-top:16px;font-size:14px;}
.entry-followup>span{width:100%;font-size:12px;color:#625541;}
.entry-followup a{display:inline-flex;align-items:center;min-height:44px;}
.dossier-section{padding-top:0;}
.chapter-head{padding-top:40px;border-top:1px solid #b3a58d;margin-bottom:32px;}
.chapter-head>p:last-child{max-width:54ch;margin-top:20px;}
.diagnostic-dossier{background:var(--paper-card);border:1px solid #b8aa91;box-shadow:0 18px 44px #4e402510;}
.dossier-header{display:flex;gap:28px;align-items:flex-start;padding:28px;border-bottom:1px solid #c7bca9;}
.dossier-mark{font-size:12px;line-height:20px;letter-spacing:1px;white-space:nowrap;color:#705534;border-block:1px solid #a58e66;padding-block:8px;margin-top:4px;}
.dossier-header h3{font-size:clamp(28px,2.8vw,36px);max-width:none;}
.dossier-header .eyebrow{font-size:11px;letter-spacing:.8px;}
.dossier-header .sample-label{margin-top:12px;}
.dossier-grid{display:grid;}
.dossier-evidence,.dossier-findings{padding:28px;}
.dossier-evidence{border-bottom:1px solid #c7bca9;}
.dossier-item+.dossier-item{margin-top:28px;padding-top:24px;border-top:1px solid #d0c7b7;}
.dossier-index{display:block;font-size:10px;line-height:17px;letter-spacing:1px;color:#705534;margin-bottom:12px;}
.dossier-item p{font-size:15px;line-height:24px;margin-bottom:0;}
.dossier-item h4{color:var(--ink);margin-bottom:10px;}
.dossier-findings{border-left:3px solid var(--orange-deep);background:#ece4d5;}
.dossier-footer{padding:24px 28px;border-top:1px solid #b8aa91;}
.dossier-footer p{font-size:15px;line-height:24px;max-width:88ch;}
.dossier-footer .link-arrow{font-size:14px;}
details>summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;list-style-position:inside;font-size:14px;line-height:22px;font-weight:500;}
details[open]>summary{margin-bottom:16px;}
.dossier-alternatives{margin-top:14px;}
.dossier-alternatives summary{color:#715329;}
.dossier-alternatives p+p{margin-top:12px;}
.system-map{margin-top:32px;padding-block:24px;border-block:1px solid #594e3b;}
.system-map ol{list-style:none;margin:0;padding:0;display:grid;gap:0;}
.system-map li{margin:0;position:relative;}
.system-map li+li::before{content:"";display:block;height:10px;width:1px;background:#8b7655;margin-left:22px;}
.system-map a{display:flex;gap:16px;align-items:center;min-height:46px;color:var(--paper);font-size:14px;line-height:21px;text-decoration:none;}
.system-map a>span{border:1px solid #9b825b;flex:0 0 44px;min-height:44px;display:grid;place-items:center;font-size:11px;color:#d6b780;}
.system-map a:hover>span,.system-map a[aria-current]>span{background:#332b1e;color:#f2deba;}
.system-map p{font-size:12px;line-height:20px;color:var(--text-tertiary);margin:20px 0 0;}
.systems-static-figure{margin:24px 0;}
.systems-static-figure img{width:100%;height:auto;border:1px solid #594e3b;}
.systems-static-figure figcaption{font-size:12px;line-height:19px;margin-top:12px;}
.systems{margin-top:32px;}
.system:nth-child(n){margin-left:0;padding:24px 0 24px 20px;border-left-color:#665238;}
.system-card{border:0;border-radius:0;padding:0;background:transparent;}
.system-no{margin-bottom:8px;}
.system-card h3{font-size:clamp(24px,2.2vw,30px);line-height:1.22;}
.system-question{font-size:16px;line-height:25px;color:var(--text-secondary);}
.system-explain{font-size:15px;line-height:24px;max-width:62ch;}
.system-find-label .mono{border-color:#9c7442;color:#dcc09b;}
.systems-active-label{font-family:var(--font-display);font-size:28px;line-height:36px;color:var(--paper);margin-bottom:8px;}
.systems-caption{font-size:16px;line-height:25px;max-width:38ch;}
.systems-progress{margin-top:20px;padding-top:16px;border-top:1px solid #665238;color:#d6b780;}
.method-summary .steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:0;gap:12px 24px;margin-top:30px;}
.method-summary .step{display:block;border:0;border-top:1px solid #625139;padding:14px 0 0;}
.method-summary .step-marker{display:none;}
.method-summary .step-no{display:block;margin-bottom:5px;}
.method-summary .step-verb{font-size:21px;line-height:29px;}
.method-summary .step-result{font-size:13px;line-height:21px;}
.method-summary .step--proof{border-top:2px solid var(--orange);}
.sim{gap:28px;}
.sim-controls-panel{position:relative;min-width:0;}
.sim-result{padding:28px;min-width:0;}
.sim-result-value{font-size:clamp(48px,5.5vw,76px);line-height:1.1;}
.sim-result-amount{font-size:17px;line-height:27px;overflow-wrap:anywhere;}
.sim-model-note{margin-top:24px;}
.sim-assumption,.sim-disclaimer{font-size:14px;line-height:23px;}
.sim-formula,.sim-mapping{font-size:13px;line-height:22px;}
.sim-details{border-top:1px solid #62523a;margin-top:20px;padding-top:8px;}
.sim-details summary{color:#dcc49e;}
.sim-mobile-feedback{display:none;}
.sim-handover{margin-top:12px;}
.founder{gap:clamp(32px,6vw,88px);align-items:center;margin-top:36px;}
.founder .lead{font-family:var(--font-display);font-size:clamp(26px,2.5vw,35px);line-height:1.3;font-weight:400;color:var(--paper);}
.founder-media{min-width:0;}
.founder-portrait{width:100%;height:auto;object-fit:contain;border-radius:2px;}
.founder-media .caption{font-size:12px;line-height:20px;}
.evidence-link-section .editorial-grid{align-items:center;}
.page-intro{padding-top:clamp(40px,6vw,88px);padding-bottom:40px;}
.page-intro h1{font-size:clamp(40px,5.6vw,72px);line-height:1.06;letter-spacing:-1.3px;max-width:17ch;font-weight:500;margin-bottom:28px;hyphens:none!important;overflow-wrap:normal!important;}
.page-deck{font-size:clamp(17px,1.8vw,21px);line-height:1.55;color:var(--text-secondary);max-width:64ch;}
.page-nav{display:flex;flex-wrap:wrap;gap:8px 26px;border-block:1px solid var(--hairline);padding-block:12px;margin-top:30px;}
.page-nav ul{display:flex;flex-wrap:wrap;gap:8px 26px;list-style:none;margin:0;padding:0;}
.page-nav li{margin:0;}
.page-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--text-secondary);text-decoration:none;}
.page-nav a:hover{color:var(--paper);text-decoration:underline;}
.editorial-grid{display:grid;gap:30px;}
.editorial-grid h2{max-width:18ch;}
.editorial-grid>div{min-width:0;}
.deliverables{margin:24px 0 0;padding:0;list-style:none;}
.deliverables>div,.deliverables>li{padding:22px 0;border-top:1px solid var(--hairline);margin:0;}
.deliverables dt{font-weight:600;color:var(--paper);margin-bottom:8px;}
.deliverables dd{margin:0;max-width:70ch;}
.deliverables h3{font-size:25px;}
.decision-panel{padding:28px;border:1px solid #8e7652;background:#24251f;margin-top:32px;}
.decision-panel h2,.decision-panel h3{font-size:clamp(28px,3vw,36px);}
.decision-panel>p:last-child{margin-bottom:0;}
.section--paper .decision-panel{background:#e4d9c5;color:var(--ink-on-paper);border-color:#a99573;}
.section--paper .decision-panel a:not(.btn-primary){color:#654824;}
.section--paper .deliverables>div,.section--paper .deliverables>li{border-color:#b9ad96;}
.section--paper .deliverables dt{color:var(--ink);}
.section--paper .fit-line,.section--paper .ledger li,.section--paper .ledger li strong,
.section--paper .archaeology-evidence figcaption,.section--paper .caption,
.section--paper .page-deck,.section--paper .notice,.section--paper .notice strong{color:var(--ink-on-paper);}
.section--paper .ledger li{border-color:#b9ad96;}
.contact-direct{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:24px 0;}
.contact-direct a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere;}
.contact-direct .btn{white-space:normal;}
.contact-direct p{margin:0;}
.form-preview{border:1px solid var(--hairline);padding:24px;margin-top:28px;}
.form-preview>summary{font-size:17px;color:var(--paper);}
.form-preview .form-shell{margin-top:20px;}
.form-preview-notice{background:#24251f;}
.mandate-results{margin-top:0;border:0;border-block:1px solid #806b4a;padding:32px 0;background:transparent;}
.mandate-results-grid{gap:24px;}
.mandate-results-grid dd{color:#d8bc8c;}
.mandate-results-grid dt{font-size:16px;}
.mandate-results-source{max-width:90ch;}
@media(min-width:768px){
 .entry-section>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;}
 .entry-mandate{border-top:0;border-left:1px solid #b3a58d;padding:0 0 0 40px;}
 .entry-section [data-bar-gate]{grid-column:1/-1;}
 .chapter-head{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;}
 .chapter-head .eyebrow{grid-column:1/-1;}
 .chapter-head>p:last-child{margin-top:0;}
 .dossier-grid{grid-template-columns:1fr 1fr;}
 .dossier-evidence{border-bottom:0;}
 .dossier-header,.dossier-footer{padding:30px 36px;}
 .dossier-evidence,.dossier-findings{padding:30px 36px;}
 .method-summary .steps{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(min-width:1024px){
 .hero-play{right:44%;bottom:24px;}
 .hero-scene-label{max-width:380px;padding-right:0;justify-content:flex-start;}
 .systems-static-figure{display:none;}
 html:not(.js) .systems-static-figure{display:block;max-width:650px;margin-inline:auto;}
 .system-map ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;}
 .system-map a{flex-direction:column;align-items:flex-start;gap:12px;}
 .system-map a>span{width:44px;}
 .system-map li+li::before{position:absolute;top:22px;left:-50%;width:calc(100% - 60px);height:1px;margin:0;z-index:-1;}
 .system-map{isolation:isolate;}
 .system-map a>span{background:var(--ink);}
 .systems{column-gap:64px;}
 .system:nth-child(n){min-height:250px;padding-block:28px;}
 .systems-list{padding-bottom:280px;}
 .sim{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:60px;}
 .sim-controls-panel{padding-top:20px;}
 .sliders{gap:36px;}
 .founder{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);}
 .editorial-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:70px;}
 .method-summary .steps{grid-template-columns:repeat(7,minmax(0,1fr));}
 .method-summary .step-verb{font-size:20px;}
}
@media(prefers-reduced-motion:reduce){.systems-static-figure{display:block;max-width:650px;margin-inline:auto;}.system-toggle{display:none!important;}}
@media(max-width:1023px){
 .hero-play{bottom:8px;left:50%;right:auto;}
 html.js .sim-mobile-feedback{position:sticky;top:74px;z-index:30;display:block;margin-bottom:24px;padding:14px 16px;background:#242820;border:1px solid #978159;box-shadow:0 8px 18px #0004;}
 .sim-mobile-feedback>div{display:flex;justify-content:space-between;align-items:center;gap:16px;}
 .sim-mobile-feedback span{font-size:12px;line-height:18px;color:#e0cfaf;max-width:16ch;}
 .sim-mobile-feedback strong{font-family:var(--font-display);font-size:33px;line-height:39px;font-weight:500;color:var(--orange);white-space:nowrap;}
 .sim-mobile-feedback p{font-size:11px;line-height:18px;margin:4px 0 0;color:#dccfb8;}
 body:has(.sim-controls-panel:focus-within) .bottom-bar{transform:translateY(110%);}
 .sliders{gap:24px;}
}
@media(max-width:767px){
 .hero{padding-bottom:0;}
 .hero-media{width:calc(100% + 48px);margin-inline:-24px;}
 .hero-scene-label{padding-right:0;}
 .hero-scene-label>span:last-child{max-width:none;}
 .hero-actions{gap:8px 16px;}
 .hero-actions .link-arrow{min-height:44px;display:inline-flex;align-items:center;}
 .entry-section>.wrap{gap:32px;}
 .entry-section .fit-line{font-size:16px;line-height:26px;}
 .chapter-head{padding-top:28px;}
 .dossier-header{display:block;padding:24px;}
 .dossier-mark{display:inline-block;margin:0 0 20px;}
 .dossier-evidence,.dossier-findings,.dossier-footer{padding:24px;}
 .dossier-item h4{font-size:23px;}
 .dossier-footer .link-arrow{min-height:44px;}
 .system-map a{font-size:14px;}
 .system-map p{max-width:31ch;}
 .system-toggle{max-width:100%;height:auto;min-height:44px;text-align:left;padding:8px 12px;}
 .sim-result{padding:24px;}
 .page-intro h1{font-size:40px;letter-spacing:-.8px;}
 .page-nav{gap:4px 20px;margin-top:24px;}
 .contact-direct{flex-direction:column;align-items:flex-start;gap:4px;margin-top:20px;}
 .contact-direct .btn{min-height:52px;}
 .decision-panel{padding:24px;}
 .form-preview{padding:20px;}
 .mandate-results-grid>div{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:14px;padding-top:20px;}
 .mandate-results-grid dd{grid-column:1;grid-row:1;font-size:40px;line-height:1.15;margin:0;}
 .mandate-results-grid dt{grid-column:2;grid-row:1;font-size:16px;line-height:24px;}
 .mandate-results-grid{margin-block:28px;gap:20px;}
}
@media(max-width:359px){.brand-line strong{font-size:13px;}.brand-line{font-size:10px!important;}.hero h1{font-size:35px;}.dossier-header,.dossier-evidence,.dossier-findings,.dossier-footer{padding:20px;}}

/* ================= VFS-115 · Redaktionelle Seiten (Cluster, Fallstudien, Leitfaden) =================
   Nur bestehende Tokens. Keine neuen Farben, kein Orange auf Text. */
.byline{margin:20px 0 0;font-size:14px;line-height:22px;color:var(--text-secondary);max-width:72ch;}
.byline a{color:var(--paper);text-decoration:underline;text-underline-offset:3px;}
.byline time{white-space:nowrap;}
.answer{margin-top:24px;padding:24px 28px;border-left:3px solid var(--brass);background:var(--surface);}
.answer p{margin:0;font-size:18px;line-height:29px;color:var(--paper);max-width:70ch;}
.answer p+p{margin-top:12px;font-size:16px;line-height:26px;color:var(--text-secondary);}
.section--paper .answer{background:var(--paper-card);border-left-color:var(--brass-deep);}
.section--paper .answer p{color:var(--ink);}
.section--paper .answer p+p{color:var(--ink-on-paper);}
.topic-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:0;}
.topic-list li{margin:0;padding:18px 0;border-top:1px solid var(--hairline);}
.topic-list a{font-weight:600;color:var(--paper);text-decoration:none;}
.topic-list a:hover{text-decoration:underline;text-underline-offset:3px;}
.topic-list span{display:block;margin-top:6px;color:var(--text-secondary);max-width:70ch;}
.section--paper .topic-list li{border-top-color:rgba(58,61,67,.24);}
.section--paper .topic-list a{color:var(--ink);}
.section--paper .topic-list span{color:var(--ink-on-paper);}
.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;margin:28px 0 0;padding:0;}
.case-facts>div{border-top:1px solid var(--brass);padding-top:12px;margin:0;}
.case-facts dt{font-size:14px;line-height:21px;color:var(--text-secondary);}
.case-facts dd{margin:4px 0 0;font-family:var(--font-display);font-size:clamp(24px,2.6vw,32px);line-height:1.2;color:var(--paper);}
.source-note{margin-top:20px;font-size:14px;line-height:22px;color:var(--text-secondary);max-width:80ch;}
.section--paper .source-note{color:var(--ink-on-paper);}
.calc{margin-top:20px;padding:0;list-style:none;}
.calc li{margin:0;padding:10px 0;border-bottom:1px solid var(--hairline);font-variant-numeric:tabular-nums;color:var(--text-secondary);}
.section--paper .calc li{border-bottom-color:rgba(58,61,67,.24);color:var(--ink-on-paper);}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
@media (min-width:1024px){
 .case-facts{grid-template-columns:repeat(4,minmax(0,1fr));}
 .topic-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;}
}
@media (max-width:767px){
 td.num{text-align:left;white-space:normal;}
 .answer{padding:20px;}
 .answer p{font-size:17px;line-height:27px;}
}
