/* Shared by /impressum and /datenschutz. The landing page inlines its own CSS
   (it is the one page where a second request matters); these two are low-traffic
   and benefit more from staying in sync than from saving one round trip. */

@font-face{
  font-family:'Archivo';
  src:url('/fonts/archivo-var.woff2') format('woff2');
  font-weight:400 800;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC,U+2122,U+2212,U+FEFF,U+FFFD;
}

:root{
  --bg:oklch(1 0 0);
  --surface:oklch(0.975 0.004 250);
  --hairline:oklch(0.900 0.008 250);
  --ink:oklch(0.220 0.015 250);
  --ink-muted:oklch(0.450 0.020 250);
  --brand-deep:oklch(0.270 0.075 245);
  --brand:oklch(0.450 0.150 258);
  --brand-bright:oklch(0.800 0.100 240);
  --on-deep:oklch(0.985 0.004 250);
  --gutter:clamp(1.25rem,4vw,2.5rem);
  --radius:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:1rem;line-height:1.7;
  font-synthesis-weight:none;-webkit-font-smoothing:antialiased;
}
a{color:var(--brand);text-underline-offset:0.18em;text-decoration-thickness:from-font;overflow-wrap:break-word}
:focus-visible{outline:3px solid var(--brand);outline-offset:3px;border-radius:2px}
.masthead :focus-visible{outline-color:var(--brand-bright)}

.shell{max-width:760px;margin-inline:auto;padding-inline:var(--gutter)}

.masthead{background:var(--brand-deep);color:var(--on-deep);padding-block:1.1rem}
.masthead .shell{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1080px}
.wordmark{font-weight:800;letter-spacing:-0.025em;font-size:1.18rem;color:var(--on-deep);text-decoration:none}
.wordmark span{color:var(--brand-bright)}
.masthead-link{
  color:var(--on-deep);font-weight:600;font-size:0.95rem;text-decoration:none;
  border-bottom:1.5px solid color-mix(in oklch,var(--brand-bright) 60%,transparent);padding-bottom:2px;
}
.masthead-link:hover{border-bottom-color:var(--brand-bright)}

main{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(3rem,7vw,5rem)}
h1{
  margin:0;font-size:clamp(1.9rem,1.4rem + 2.2vw,2.8rem);
  font-weight:800;letter-spacing:-0.028em;line-height:1.1;text-wrap:balance;
}
.standfirst{margin-top:1.1rem;color:var(--ink-muted);text-wrap:pretty}
h2{
  margin:2.8rem 0 0;font-size:1.3rem;font-weight:800;
  letter-spacing:-0.018em;line-height:1.25;text-wrap:balance;
}
h3{margin:1.8rem 0 0;font-size:1.02rem;font-weight:600;letter-spacing:-0.01em}
p{margin:0.8rem 0 0;text-wrap:pretty}
ul{margin:0.8rem 0 0;padding-left:1.2rem}
li{margin-top:0.35rem}
li::marker{color:var(--brand)}
dl{margin:0.9rem 0 0}
dt{font-weight:600;margin-top:0.9rem}
dd{margin:0.1rem 0 0;color:var(--ink-muted)}
.rule{margin-top:2.6rem;border:0;border-top:1px solid var(--hairline)}
.note{
  margin-top:1.4rem;padding:1.1rem 1.25rem;background:var(--surface);
  border:1px solid var(--hairline);border-radius:var(--radius);color:var(--ink-muted);
}
.note p:first-child{margin-top:0}
.stand{margin-top:2.6rem;color:var(--ink-muted);font-size:0.9rem}

footer{background:var(--bg);border-top:1px solid var(--hairline);padding-block:2.5rem;font-size:0.9rem;color:var(--ink-muted)}
footer .shell{display:flex;flex-wrap:wrap;gap:0.75rem 2rem;justify-content:space-between;max-width:1080px}
footer nav{display:flex;flex-wrap:wrap;gap:1.25rem}
footer a{color:var(--ink-muted)}
footer a:hover{color:var(--ink)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}
