/* Legal pages: /impressum, /legal-notice, /datenschutz, /privacy.
   Same typefaces and tokens as index.html, so the notice reads as part of the
   site. Lives outside /assets/ on purpose: that path is served immutable for a
   year, and a legal text has to reach readers the day it changes.
   Fonts are the vendored files the landing page uses; no third-party request. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:75% 125%;font-display:swap;
  src:url("/assets/fonts/archivo-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:75% 125%;font-display:swap;
  src:url("/assets/fonts/archivo-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:400 700;font-display:swap;
  src:url("/assets/fonts/jetbrains-mono-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

:root{
  --canvas:#08090A;
  --surface:#0F1114;
  --edge:#222730;
  --edge-soft:#161A20;
  --ink:#F0EDE6;
  --ink-soft:#8B8E95;
  --accent:#FF9438;
  --accent-deep:#7C4718;

  --disp:"Archivo",system-ui,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;

  --t-xs:clamp(.68rem,.66rem + .1vw,.74rem);
  --t-sm:clamp(.82rem,.79rem + .14vw,.9rem);
  --t-base:clamp(.96rem,.92rem + .2vw,1.06rem);
  --t-lg:clamp(1.14rem,1.05rem + .42vw,1.4rem);
  --t-2xl:clamp(2.1rem,1.5rem + 2.7vw,3.6rem);

  --gut:clamp(1rem,4.4vw,4.6rem);
  --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4rem;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--canvas);color:var(--ink);
  font-family:var(--disp);font-weight:400;font-size:var(--t-base);
  line-height:1.66;letter-spacing:-.004em;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

/* chrome: the same mono bar as the landing page, cut down to what a notice needs */
.bar{
  display:flex;align-items:stretch;
  border-bottom:1px solid var(--edge);
  font-family:var(--mono);font-size:var(--t-xs);
}
.bar__home{
  display:flex;align-items:center;padding:12px var(--gut);text-decoration:none;
  font-family:var(--disp);font-weight:900;font-stretch:120%;letter-spacing:.13em;font-size:13px;
  border-right:1px solid var(--edge-soft);
}
.bar__home:hover{color:var(--accent)}
.bar__lang{margin-left:auto;display:flex;align-items:stretch;border-left:1px solid var(--edge-soft)}
.bar__lang a{
  display:flex;align-items:center;justify-content:center;min-width:44px;padding:0 14px;
  text-decoration:none;color:var(--ink-soft);letter-spacing:.14em;text-transform:uppercase;
}
.bar__lang a:hover{color:var(--ink);background:var(--surface)}
.bar__lang a[aria-current="true"]{color:var(--accent)}

.legal{max-width:74ch;margin:0 auto;padding:var(--s8) var(--gut) var(--s7)}
.legal h1{
  margin:0 0 var(--s3);font-size:var(--t-2xl);font-weight:800;font-stretch:114%;
  letter-spacing:-.03em;line-height:1.02;text-wrap:balance;overflow-wrap:break-word;
}
.legal .updated{margin:0 0 var(--s6);font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-soft);letter-spacing:.04em}
.legal h2{
  margin:var(--s7) 0 var(--s3);padding-top:var(--s5);border-top:1px solid var(--edge);
  font-size:var(--t-lg);font-weight:700;font-stretch:108%;letter-spacing:-.015em;line-height:1.2;text-wrap:balance;
}
.legal p,.legal ul{margin:0 0 var(--s4);color:#D6D3CC;text-wrap:pretty}
.legal ul{padding-left:1.2em}
.legal li{margin-bottom:var(--s2)}
.legal li::marker{color:var(--accent-deep)}
.legal strong{color:var(--ink);font-weight:600}
.legal code{font-family:var(--mono);font-size:.9em;color:var(--ink);background:var(--surface);border:1px solid var(--edge-soft);padding:.05em .35em}
.legal address{
  margin:0 0 var(--s4);padding:var(--s4) var(--s5);
  font-style:normal;font-family:var(--mono);font-size:var(--t-sm);line-height:1.8;
  background:var(--surface);border:1px solid var(--edge);border-left:2px solid var(--accent-deep);
}
.legal a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--accent-deep);text-underline-offset:3px;overflow-wrap:anywhere}
.legal a:hover{color:var(--accent);text-decoration-color:var(--accent)}

footer{
  max-width:74ch;margin:0 auto;padding:var(--s6) var(--gut) var(--s7);
  border-top:1px solid var(--edge);
  display:flex;flex-wrap:wrap;gap:var(--s3) var(--s6);align-items:baseline;
  font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-soft);
}
footer a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--edge)}
footer a:hover{color:var(--accent)}
footer a[aria-current="page"]{color:var(--ink)}

/* Finger-sized targets, bounded by the pointer like the landing page. */
@media (pointer:coarse){
  footer a{display:inline-block;padding:14px 9px;margin-left:-9px}
  .legal a{padding:4px 0}
}
