/* Design tokens – single source for colors, spacing (8px grid), radii, shadows, type */
/* Schriften: selbst gehostet, OFL (assets/fonts/OFL.txt). Fallbacks mit angepassten Metriken gegen Layout-Sprünge. */
@font-face{font-family:"Newsreader";src:url("../assets/fonts/newsreader-display.woff2?v=5b") format("woff2");font-weight:500;font-style:normal;font-display:optional}
@font-face{font-family:"Schibsted Grotesk";src:url("../assets/fonts/schibsted-grotesk.woff2?v=5a") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:95.2%;ascent-override:77%;descent-override:28%;line-gap-override:0%}
@font-face{font-family:"Schibsted Fallback";src:local("Arial"),local("Helvetica Neue"),local("Helvetica");size-adjust:103.9%;ascent-override:94%;descent-override:25%;line-gap-override:0%}
:root{
  color-scheme:light;
  --font:"Schibsted Grotesk","Schibsted Fallback",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --font-display:"Newsreader","Newsreader Fallback",Georgia,"Times New Roman",serif;
  --font-serif:"Newsreader","Newsreader Fallback","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* type scale 14/16/18/22/28/36 (+ display) */
  --text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-display:clamp(2.6rem,6.2vw,4.75rem);
  --lh-tight:1.04;--lh-snug:1.25;--lh-base:1.55;

  /* spacing: 8px grid */
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;

  /* v6: Radien 0–4px. Papier und Formulare, keine Kissen, keine Pillen */
  --radius-sm:2px;--radius-md:2px;--radius-lg:3px;--radius-xl:4px;--radius-full:2px;
  --control-h:3.5rem;

  /* Papier, Tinte, ein Markengrün, ein warmer Akzent (sparsam: Markierung, Fristen) */
  --paper:#f6f2e9;--bg:var(--paper);--surface:#fffdf8;--surface-2:#efe9dc;--surface-3:#e5ddcc;
  --border:#dcd3c1;--border-strong:#77806f;--rule:#d3c9b5;--rule-ink:#13241c;
  --ink:#13241c;--text:var(--ink);--text-muted:#4a564e;
  --accent:#0b6e4f;--accent-hover:#085a40;--accent-contrast:#fff;--accent-soft:#e2ede4;--accent-ring:#0b6e4f;--accent-deep:#0b3a2a;
  --warm:#a8401a;--warm-soft:#f6e2d3;--highlight:#f1d36e;
  --warn:#8a4b00;--warn-bg:#fbf0dc;--warn-border:#e3c07a;
  --info:#24508f;--info-bg:#e9eef5;--info-border:#b9c8de;

  /* v6: keine Schatten. Erhebung zeigen Linien in Tinte, nicht Unschärfe. */
  --shadow-sm:none;--shadow-md:none;--shadow-lg:none;

  --ease:cubic-bezier(.2,.7,.2,1);--dur:.18s;
}

/* Ratgeberseiten (pages/**): schlank, ohne Tool-CSS. Basis: tokens.css (wird beim Build vorangestellt).
   Design v6: gesetzt wie eine Erklärseite in der Zeitung. Papier, Tinte, Haarlinien;
   keine getönten Kästen, keine Randbalken, keine Schatten, Radien höchstens 2px. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:var(--text-md)/var(--lh-base) var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
::selection{background:var(--highlight);color:var(--ink)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--accent-hover);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--accent-ring);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:var(--space-2) var(--space-4);border:1px solid var(--ink)}
.skip:focus{left:var(--space-4);top:var(--space-4);z-index:10}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
h1,h2,h3{line-height:var(--lh-snug);text-wrap:balance}
h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em}
h3{font-weight:650;letter-spacing:-.01em}
table,td,th,.kennzahlen,.rechner-out{font-variant-numeric:lining-nums}

/* Kopf: Wortmarke wie ein Zeitungskopf, bloßer Prüfhaken statt Kachel */
.top{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4);width:100%;max-width:72rem;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-3);border-bottom:1px solid var(--ink)}
/* Original-Logo (wie in den v2-Videos): grüne Kachel mit Haken + Wortmarke Inter 700 als Pfad im SVG */
.logo{display:inline-flex;align-items:center;gap:var(--space-3);text-decoration:none;border-radius:var(--radius-sm)}
.logo .logo-art{display:block;width:130px;height:32px;flex:none}
.brand{display:inline-flex;align-items:center;min-width:0}
.prod{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;color:#475569;white-space:nowrap;padding-left:var(--space-3);border-left:1px solid #77806f}
.mainnav{margin-left:auto}
.mainnav ul{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);list-style:none;margin:0;padding:0}
.mainnav a{display:inline-block;padding:var(--space-2) 0;color:var(--ink);font-size:.9375rem;font-weight:500;text-decoration:none}
.mainnav a:hover,.mainnav a[aria-current]{color:var(--ink);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 var(--space-5);border:1px solid transparent;border-radius:2px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.btn.primary{background:var(--accent);color:var(--accent-contrast)}
.btn.primary:hover{background:var(--accent-deep);color:var(--accent-contrast)}
.btn.secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.sm{min-height:2.75rem;padding:0 var(--space-4);font-size:var(--text-sm)}
@media (max-width:720px){.prod{display:none}.mainnav{order:3;width:100%;margin:0}.headcta{margin-left:auto}}

/* Brotkrümel */
.crumbs{width:100%;max-width:72rem;margin:0 auto;padding:0 var(--space-5)}
.crumbs ol{display:flex;flex-wrap:wrap;list-style:none;margin:var(--space-4) 0 0;padding:0;font-size:.8125rem;color:var(--text-muted)}
.crumbs li+li::before{content:"›";margin:0 var(--space-2)}
.crumbs a{color:var(--text-muted)}

/* Inhalt: eine Lesespalte */
main{flex:1;display:block;width:100%;max-width:72rem;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-7)}
.ratgeber{max-width:44rem}
.ratgeber h1{max-width:18ch;margin:var(--space-5) 0 var(--space-4);font-size:clamp(2.25rem,5.5vw,3.75rem);line-height:1.04;letter-spacing:-.028em}
.ratgeber h2{margin:var(--space-8) 0 var(--space-3);padding-top:var(--space-4);border-top:2px solid var(--ink);font-size:clamp(1.5rem,3vw,2rem);line-height:1.15}
.ratgeber h3{margin:var(--space-6) 0 var(--space-2);font-size:1.125rem}
.ratgeber p,.ratgeber li{max-width:70ch}
.ratgeber li{margin:var(--space-1) 0}
.ratgeber ol li::marker{font-family:var(--font-display);font-size:1.125em;color:var(--accent)}
.ratgeber ul li::marker{content:"–  ";color:var(--accent)}
.stand{margin:0 0 var(--space-5);font-size:.8125rem;letter-spacing:.02em;color:var(--text-muted)}
/* „Kurz gesagt“: Vorspann in der Serife, ohne Kasten und ohne Randbalken */
.kurz{margin:var(--space-5) 0;padding-bottom:var(--space-5);border-bottom:1px solid var(--rule);font-size:1.1875rem;line-height:1.6}
.kurz p{margin:0}
.kurz strong:first-child{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);vertical-align:.1em}
.kennzahlen{margin:var(--space-5) 0;padding:var(--space-4) 0;border-top:1.5px solid var(--ink);border-bottom:1px solid var(--ink)}
.kennzahlen dl{display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;gap:var(--space-2) var(--space-4);margin:0;font-size:var(--text-sm)}
.kennzahlen dt{font-weight:650;color:var(--text-muted)}
.kennzahlen dd{margin:0}
@media (max-width:520px){.kennzahlen dl{grid-template-columns:1fr}.kennzahlen dd{margin-bottom:var(--space-2)}}
table{display:block;width:100%;margin:var(--space-4) 0;overflow-x:auto;border-collapse:collapse;border-top:1.5px solid var(--ink);font-size:var(--text-sm)}
th,td{padding:var(--space-2) var(--space-3) var(--space-2) 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
th{border-bottom-color:var(--ink);font-size:.75rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.quelle{font-size:.8125rem;color:var(--text-muted)}
/* Zitate aus Urteilen/Gesetzen: eingerückt, Serife, ohne Fläche und ohne Balken */
blockquote{margin:var(--space-4) 0 var(--space-4) var(--space-5);padding:0;font-family:var(--font-display);font-size:1.0625rem;line-height:1.5;color:var(--ink)}
blockquote p{margin:0}
blockquote p:first-child::before{content:"„" / "";margin-left:-.42em;color:var(--accent)}
blockquote p:last-child::after{content:"“" / "";color:var(--accent)}
/* Musterbrief: ein Blatt Papier mit 1px Rand, kein Schatten */
pre.muster{overflow-x:auto;padding:var(--space-6);white-space:pre-wrap;background:var(--surface);border:1px solid #d6cfc1;font:1rem/1.7 var(--font-serif)}
.tool-teaser{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin:var(--space-5) 0;padding:var(--space-4) 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.tool-teaser p{flex:1 1 16rem;margin:0}
/* Rechtsgrundlagen wie Fußnoten: kleine Ziffern */
.fakten{margin-top:var(--space-8);padding-top:var(--space-4);border-top:2px solid var(--ink)}
.fakten h2{margin-top:0;padding-top:0;border-top:0}
.fakten ul{list-style:none;counter-reset:fn;padding:0}
.fakten li{position:relative;counter-increment:fn;margin:0;padding:var(--space-1) 0 var(--space-1) 1.5rem;font-size:.875rem;color:var(--text-muted)}
.fakten li::marker{content:none}
.fakten li::before{content:counter(fn) / "";position:absolute;left:0;top:.2rem;font-size:.6875rem;font-weight:700;color:var(--accent)}
.faq details{padding:var(--space-3) 0;border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);font-weight:600;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+" / "";font-family:var(--font-display);font-size:1.5rem;line-height:1;color:var(--accent)}
.faq details[open] summary::after{content:"–" / ""}
.faq details p{margin:var(--space-2) 0 0}
.related ul,.linklist{list-style:none;margin:0;padding:0}
.related li,.linklist li{margin:0;padding:var(--space-2) 0;border-bottom:1px solid var(--rule)}
.related li::marker,.linklist li::marker{content:none}
.linklist a,.related a{color:var(--ink);font-weight:500}
.linklist span{display:block;font-size:var(--text-sm);color:var(--text-muted)}
/* Aufruf zum Werkzeug: zwischen zwei Linien, keine Fläche */
.cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3) var(--space-5);margin:var(--space-7) 0 var(--space-4);padding:var(--space-5) 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink)}
.cta p{flex:1 1 16rem;margin:0;font-size:1.0625rem}
.hinweis{padding-top:var(--space-3);border-top:1px solid var(--rule);font-size:var(--text-sm);color:var(--text-muted)}
dl.glossar dt{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--rule);font-weight:680;scroll-margin-top:var(--space-5)}
dl.glossar dd{margin:var(--space-1) 0 0}

/* Fristenrechner */
.rechner{display:grid;gap:var(--space-4);margin:var(--space-5) 0;padding:var(--space-5) 0;border-top:2px solid var(--ink)}
.field{display:grid;gap:var(--space-1)}
.lbl{font-weight:650}
.helper,.tipp{font-size:var(--text-sm);color:var(--text-muted)}
.field input{max-width:16rem;min-height:3rem;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:2px;background:var(--surface);font:inherit;color:var(--ink)}
.field input:focus-visible{outline:2px solid var(--accent-ring);outline-offset:0;border-color:var(--accent)}
/* Ergebnis: Zeilen mit Linie, Datum groß in der Serife */
.rechner-out .res{display:grid;gap:2px;margin:0;padding:var(--space-4) 0;border-top:1px solid var(--rule)}
.rechner-out .res:first-child{border-top:1.5px solid var(--ink)}
.rechner-out .res strong{font-family:var(--font-display);font-size:1.75rem;font-weight:500;font-variant-numeric:tabular-nums lining-nums}
.rechner-out .res small{color:var(--text-muted)}
.rechner-out .res.warn strong{color:var(--warm)}
.rechner-out .res.ok strong{color:var(--accent)}

/* Fuß: dunkelgrün, randlos (Innenabstand statt Schatten-Trick) */
.foot{width:100%;margin:var(--space-9) 0 0;padding:var(--space-7) max(var(--space-5),calc((100% - 72rem)/2 + var(--space-5)));background:var(--accent-deep);font-size:.8125rem;line-height:1.6;color:#c9d8cf}
.foot p{max-width:46rem}
.foot a,.foot-nav a{color:#fff}
.foot strong{color:#fff}
.foot-nav{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);list-style:none;margin:0 0 var(--space-4);padding:0 0 var(--space-4);border-bottom:1px solid rgb(255 255 255 / .18)}
.foot :focus-visible{outline-color:#fff}
@media (max-width:720px){.ratgeber h2{margin-top:var(--space-7)}}
