/* Impressum & Datenschutz (12.10.2026, Wunsch des Auftraggebers: modern und minimalistisch) — gemeinsame Gestaltung.
   Weiße Seite ohne Rahmen, schmale Kopfzeile, großer Titel, ab 1000 px Inhaltsverzeichnis links (klebt, aus den h2
   erzeugt), Text max. 720 px. Dunkel per Umschalter (config.js). */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-400-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-500-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-600-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-700-normal.woff2") format("woff2");}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:800;font-display:swap;src:url("fonts/plus-jakarta-sans-latin-800-normal.woff2") format("woff2");}

:root{--bg:#ffffff;--card:#ffffff;--ink:#3a1f28;--sub:#6b3a4a;--brand:#e63e73;--brand-dark:#c02a5c;--line:#f1e4e9;--feld:#faf3f6;--todo-bg:#fff3a8;--todo-ink:#3a1f28;--radius:16px;--pill:999px;}
:root[data-theme="dark"]{--bg:#140e11;--card:#140e11;--ink:#f2e6ea;--sub:#b79ba7;--brand:#ef7ea0;--brand-dark:#f29ab5;--line:#2c2026;--feld:#211820;--todo-bg:#5c5320;--todo-ink:#fff6c2;color-scheme:dark;}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;font-size:15.5px;line-height:1.7;-webkit-font-smoothing:antialiased;}

/* Kopfzeile: Wortmarke, Links, „Zur Startseite“ */
header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line);}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:64px;}
.logo{display:flex;align-items:center;line-height:0;}
.logo img{height:19px;width:auto;}
nav{display:flex;gap:6px;align-items:center;}
nav a{padding:7px 12px;border-radius:var(--pill);color:var(--sub);font-size:14px;font-weight:600;text-decoration:none;}
nav a:hover{color:var(--ink);background:var(--feld);}
nav a[aria-current="page"]{color:var(--ink);background:var(--feld);}
.thema-btn{width:36px;height:36px;border-radius:var(--pill);border:0;background:var(--feld);color:var(--ink);font-size:15px;line-height:1;cursor:pointer;padding:0;}

.wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
main{padding:44px 0 64px;}
.card{max-width:720px;}

/* Titel */
h1{margin:0 0 6px;font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.025em;}
.eyebrow{display:inline-block;margin:0 0 14px;padding:4px 12px;border-radius:var(--pill);background:var(--feld);color:var(--brand-dark);font-size:12.5px;font-weight:700;letter-spacing:.02em;}
.card > .sub:first-of-type{margin-bottom:28px;}
h2{margin:44px 0 10px;padding-top:28px;border-top:1px solid var(--line);font-size:20px;line-height:1.3;font-weight:800;letter-spacing:-.01em;color:var(--ink);}
h1 + .sub + h2, h1 + .sub + p + h2{border-top:0;padding-top:0;}
h3{margin:22px 0 6px;font-size:16px;font-weight:700;}
p,li{margin:8px 0;}
ul,ol{padding-left:22px;margin:8px 0;}
a{color:var(--brand-dark);text-underline-offset:3px;}
strong{font-weight:700;}
.sub{color:var(--sub);font-size:14px;}
mark.todo{background:var(--todo-bg);color:var(--todo-ink);padding:1px 5px;border-radius:5px;}

/* Inhaltsverzeichnis im Text (Datenschutz): als ruhige Fläche, ab 1000 px durch die Leiste ersetzt */
.toc{margin:24px 0 8px;padding:18px 22px;border-radius:var(--radius);background:var(--feld);font-size:14.5px;}
.toc strong{display:block;margin-bottom:6px;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);}
.toc ol{margin:0;padding-left:0;list-style:none;columns:2;column-gap:28px;}
.toc li{margin:3px 0;break-inside:avoid;}
.toc a{color:var(--ink);text-decoration:none;}
.toc a:hover{color:var(--brand-dark);}

/* Leiste links ab 1000 px (aus den h2 erzeugt, rechtliches.js) */
.seiten-raster{display:block;}
.seitennav{display:none;}
@media (min-width:1000px){
  .seiten-raster{display:grid;grid-template-columns:240px minmax(0,720px);gap:72px;justify-content:center;}
  .seitennav{display:block;position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;padding-right:6px;}
  .seitennav b{display:block;margin:0 0 10px 12px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);}
  .seitennav a{display:block;padding:6px 12px;border-radius:10px;color:var(--sub);font-size:13.5px;line-height:1.4;font-weight:600;text-decoration:none;}
  .seitennav a:hover{color:var(--ink);background:var(--feld);}
  .seitennav a.aktiv{color:var(--ink);background:var(--feld);}
  .card .toc{display:none;}
  h1{font-size:52px;}
}

footer{border-top:1px solid var(--line);padding:28px 20px 40px;text-align:center;color:var(--sub);font-size:13px;}
footer a{color:var(--sub);font-weight:600;text-decoration:none;}
footer a:hover{color:var(--ink);}

@media (max-width:640px){
  body{font-size:15px;}
  header .wrap{height:58px;padding:0 16px;}
  .wrap{padding:0 16px;}
  .logo img{height:15px;}
  nav{gap:2px;}
  nav a{padding:6px 8px;font-size:13px;}
  .thema-btn{width:32px;height:32px;margin-left:4px;}
  main{padding:28px 0 48px;}
  h1{font-size:32px;}
  h2{margin-top:34px;padding-top:22px;font-size:18px;}
  .toc{padding:14px 16px;}
  .toc ol{columns:1;}
}
