/* Rechtliche Unterseiten (Impressum, Datenschutz) – gleiche Tokens wie die Hauptseite */
:root{
  color-scheme: dark;
  --bg:#0D0C0B;
  --ink:#F3EEE6;
  --ink-2:rgba(243,238,230,.62);
  --ink-3:rgba(243,238,230,.36);
  --line:rgba(243,238,230,.12);
  --f-serif:"Spectral","Iowan Old Style","Baskerville",Georgia,serif;
  --w-serif:300;
  --ls-serif:-.045em;  /* eine Laufweite für alle Serif-Texte */
  --f-sans:"Geist","Helvetica Neue",Helvetica,Arial,sans-serif;
  --f-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --f-logo:"Instrument Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0; background:var(--bg); color:var(--ink); font-family:var(--f-sans); font-size:15px; line-height:1.65; font-weight:380; -webkit-font-smoothing:antialiased}
::selection{background:var(--ink); color:var(--bg)}
a{color:inherit; text-decoration:underline; text-decoration-color:var(--ink-3); text-underline-offset:3px; transition:text-decoration-color .2s}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:1px solid var(--ink); outline-offset:3px}

.wrap{max-width:1360px; margin-inline:auto; padding-left:max(16px, env(safe-area-inset-left,0px), 2.4vw); padding-right:max(16px, env(safe-area-inset-right,0px), 2.4vw)}
.top{display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:18px}
.logo{font-family:var(--f-logo); font-weight:500; font-size:23px; line-height:.98; letter-spacing:-.035em; text-decoration:none; white-space:nowrap}
.logo span{display:block}
.back{white-space:nowrap; font-family:var(--f-mono); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); text-decoration:none}
.back:hover{color:var(--ink)}
.back .short{display:none}
@media (max-width:420px){.logo{font-size:18px} .back .long{display:none} .back .short{display:inline}}

main{padding-block:clamp(56px,9vw,120px) clamp(80px,10vw,140px)}
.doc{max-width:64ch}
.label{font-family:var(--f-mono); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2)}
h1{font-family:var(--f-serif); font-weight:var(--w-serif); font-size:clamp(2.6rem,6vw,4.6rem); line-height:1; letter-spacing:var(--ls-serif); margin:14px 0 clamp(36px,5vw,56px)}
h2{font-family:var(--f-serif); font-weight:var(--w-serif); font-size:clamp(1.4rem,2.2vw,1.8rem); line-height:1.2; letter-spacing:var(--ls-serif); margin:48px 0 12px; padding-top:20px; border-top:1px solid var(--line)}
h3{font-family:var(--f-mono); font-weight:400; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin:28px 0 8px}
p,ul{margin:0 0 14px; color:var(--ink-2)}
p strong, li strong{color:var(--ink); font-weight:420}
ul{padding-left:18px}
li{margin-bottom:4px}
address{font-style:normal; color:var(--ink)}
.facts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; margin:8px 0 14px}
.facts h3{margin-top:12px}
@media (max-width:480px){.facts{grid-template-columns:1fr}}
.note{font-size:14px; color:var(--ink-3)}

footer{border-top:1px solid var(--line); padding-block:16px calc(16px + env(safe-area-inset-bottom,0px)); font-size:14px; color:var(--ink-3)}
footer .wrap{display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px}
footer a{color:var(--ink-2); text-decoration:none}
footer a:hover{color:var(--ink)}
footer nav{display:flex; gap:20px}
