:root{
  --bg:#0B0F13;            /* Seitengrund */
  --bg-2:#11161C;
  --bg-3:#171E26;
  --panel:rgba(17,22,28,.72);       /* Rahmen/Panels */
  --panel-deep:rgba(11,15,19,.5);   /* Readouts */
  --bar-bg:rgba(11,15,19,.92);
  --line:rgba(244,241,236,.08);
  --line-2:rgba(244,241,236,.16);
  --grid:rgba(70,217,210,.085);   /* Gitternetz in Firmenfarbe */
  --fg:#F4F1EC;            /* Text */
  --muted:rgba(244,241,236,.6);
  --muted-2:rgba(244,241,236,.38);
  --accent:#46D9D2;
  --accent-2:#5FEFE6;
  --accent-ink:#062826;    /* Text auf Accent */
  --accent-glow:rgba(70,217,210,.9);
  --warm:#FF8A4C;
  --warm-glow:rgba(255,138,76,.5);
  --maxw:1180px;
  --gutter:clamp(20px,4vw,56px);
  --display:"Space Grotesk",Helvetica,Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
/* ── LIGHT: Leitstand auf Papier ─────────────────── */
:root[data-theme="light"]{
  --bg:#FBF8F2;
  --bg-2:#F4F1EC;
  --bg-3:#ECE7DF;
  --panel:rgba(255,255,255,.62);
  --panel-deep:rgba(244,241,236,.9);
  --bar-bg:rgba(251,248,242,.92);
  --line:rgba(14,18,22,.09);
  --line-2:rgba(14,18,22,.18);
  --grid:rgba(14,18,22,.07);
  --fg:#0E1216;
  --muted:rgba(14,18,22,.64);
  --muted-2:rgba(14,18,22,.42);
  --accent:#0D8F88;
  --accent-2:#0B7A74;
  --accent-ink:#F4F1EC;
  --accent-glow:rgba(13,143,136,.55);
  --warm:#E06A2F;
  --warm-glow:rgba(224,106,47,.35);
  color-scheme:light;
}
:root{
  --ink:var(--bg);--ink-2:var(--bg-2);--ink-3:var(--bg-3);
  --line-strong:var(--line-2);
  --paper:var(--fg);--paper-2:var(--bg-2);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--display);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color .35s,color .35s}
body{padding-top:58px}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
.container{max-width:var(--maxw);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.mono{font-family:var(--mono);letter-spacing:.04em}

/* Kopfzeile: identisch mit der Startseite */
.bar{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--bar-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2);transition:background-color .35s}
.bar-inner{display:flex;align-items:center;justify-content:center;gap:34px;height:58px;font-size:11px;letter-spacing:.06em}
/* Logo-Karte wie in der Originalversion, kompakt für die 58-px-Leiste */
.bar .brand,footer .brand{position:relative;display:inline-flex;align-items:center;padding:6px 12px;border-radius:9px;
  background:linear-gradient(180deg,#FBF8F2 0%,#F4F1EC 100%);
  box-shadow:0 8px 22px -10px rgba(0,0,0,.5),0 0 0 1px rgba(14,18,22,.06);transition:transform .25s;cursor:pointer}
.bar .brand::after,footer .brand::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:linear-gradient(90deg,transparent,rgba(70,217,210,.6) 30%,rgba(70,217,210,.6) 70%,transparent);opacity:.75}
.bar .brand:hover,footer .brand:hover{transform:translateY(-1px)}
.bar .brand img,footer .brand img{display:block;height:30px;width:auto}
.bar .bl{display:flex;align-items:center;gap:20px}
.bar .st{display:flex;align-items:center;gap:8px;color:var(--muted)}
.bar .st .dot{width:7px;height:7px;border-radius:99px;background:var(--accent);box-shadow:0 0 8px var(--accent-glow);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
.bar nav{display:flex;gap:20px;color:var(--muted)}
.bar nav a:hover{color:var(--fg)}
.bar .clock{color:var(--accent);font-weight:500;font-variant-numeric:tabular-nums}
/* Theme-Umschalter */
.theme{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:5px 6px 5px 10px;background:transparent;color:var(--muted);cursor:pointer;font-size:10px;letter-spacing:.14em;text-transform:uppercase;transition:border-color .2s,color .2s}
.theme:hover{border-color:var(--fg);color:var(--fg)}
.theme .knob{width:30px;height:16px;border-radius:99px;border:1px solid var(--line-2);position:relative;background:var(--bg-3)}
.theme .knob::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:99px;background:var(--accent);transition:transform .25s cubic-bezier(.22,.9,.26,1)}
:root[data-theme="light"] .theme .knob::after{transform:translateX(14px)}
.theme .ic{font-size:12px;line-height:1}
/* Logo wie auf den Visitenkarten: ohne Karte, dunkel = weiße Wortmarke, hell = farbige */
.bar .brand,footer .brand{background:none;box-shadow:none;padding:0;border-radius:0}
.bar .brand::after,footer .brand::after{display:none}
.bar .brand img,footer .brand img{height:38px}
:root[data-theme="light"] .brand .lg-dark{display:none}
:root:not([data-theme="light"]) .brand .lg-light{display:none}
.burger{display:none;position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid var(--line-2);border-radius:9px;background:transparent;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.burger span{display:block;width:18px;height:2px;background:var(--fg);border-radius:2px;transition:transform .25s,opacity .25s}
.bar.menu-open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}.bar.menu-open .burger span:nth-child(2){opacity:0}.bar.menu-open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (max-width:880px){
  .burger{display:flex}
  .bar nav{display:none;position:absolute;top:58px;left:0;right:0;flex-direction:column;gap:0;background:var(--bar-bg);border-bottom:1px solid var(--line-2);padding:4px var(--gutter) 10px;font-size:13px;letter-spacing:.06em}
  .bar nav a{padding:13px 0;border-top:1px solid var(--line)}
  .bar.menu-open nav{display:flex}
  .theme{padding:3px 4px 3px 7px;gap:5px}.theme .lbl{display:none}.theme .knob{width:24px;height:13px}.theme .knob::after{width:7px;height:7px}
  :root[data-theme="light"] .theme .knob::after{transform:translateX(11px)}
}

/* Hero — minimal title block */
.legal-hero{padding:88px 0 24px;border-bottom:1px solid var(--line)}
.legal-hero .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.legal-hero h1{margin:18px 0 12px;font-size:clamp(42px,6vw,84px);line-height:.98;letter-spacing:-.03em;font-weight:500}
.legal-hero p.lead{margin:0;font-size:17px;color:var(--muted);max-width:62ch;line-height:1.55}

/* Body */
main.legal{padding:64px 0 96px}
.legal-grid{display:grid;grid-template-columns:220px 1fr;gap:64px;align-items:start}
@media (max-width:880px){.legal-grid{grid-template-columns:1fr;gap:24px}aside.toc{position:static;padding-bottom:18px;border-bottom:1px solid var(--line)}}
aside.toc{position:sticky;top:88px;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--muted)}
aside.toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:item}
aside.toc li{counter-increment:item}
aside.toc li::before{content:counters(item,".",decimal-leading-zero) "  ";color:var(--muted-2)}
aside.toc a{color:var(--muted)}
aside.toc a:hover{color:var(--paper)}

article.legal-body h2{margin:48px 0 14px;font-size:22px;letter-spacing:-.01em;font-weight:500;color:var(--paper);padding-top:24px;border-top:1px solid var(--line)}
article.legal-body h2:first-child{margin-top:0;padding-top:0;border:0}
article.legal-body h3{margin:24px 0 8px;font-size:15px;letter-spacing:.01em;font-weight:500;color:var(--paper)}
article.legal-body p,article.legal-body li{font-size:14.5px;line-height:1.65;color:var(--muted);text-wrap:pretty}
article.legal-body p{margin:0 0 14px}
article.legal-body ul{margin:8px 0 18px;padding-left:18px}
article.legal-body ul li{margin:0 0 6px}
article.legal-body strong{color:var(--paper);font-weight:500}
article.legal-body address{font-style:normal;font-size:14.5px;line-height:1.6;color:var(--fg);padding:18px 22px;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);max-width:520px}
article.legal-body .placeholder{display:inline-block;font-family:var(--mono);font-size:12px;padding:2px 8px;border:1px dashed var(--accent);color:var(--accent);border-radius:4px;background:var(--panel)}
article.legal-body .definition{padding:18px 22px;border-left:2px solid var(--accent);background:var(--panel);margin:14px 0;font-size:14px;color:var(--muted)}
article.legal-body code{font-family:var(--mono);font-size:12.5px;color:var(--accent);background:var(--panel);padding:1px 6px;border-radius:4px}

article.legal-body .ack{margin-top:48px;padding:20px 22px;border:1px solid var(--line);border-radius:12px;font-size:12.5px;color:var(--muted);font-family:var(--mono);letter-spacing:.02em;line-height:1.6}

/* Footer: wie Startseite */
footer{margin-top:64px;border-top:1px solid var(--line-2);padding:34px 0 30px}
.f-row{display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--mono);font-size:10.5px;color:var(--muted-2);flex-wrap:wrap}
.f-row .wm{font-weight:700;font-size:13px;color:var(--fg)}.f-row .wm .two{color:var(--accent)}

::selection{background:var(--accent);color:var(--accent-ink)}

/* Mobil: Inhaltsverzeichnis nicht klebend (muss nach der Basisregel stehen) */
@media (max-width:880px){aside.toc{position:static;top:auto}}
