/* Shared styles for the legal pages (impressum.html, datenschutz.html).
   Tokens mirror index.html so the pages read as part of the same site. */
@font-face{font-family:'Carlito';font-style:normal;font-weight:400;font-display:swap;
  src:url(fonts/carlito-400.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:'Carlito';font-style:normal;font-weight:700;font-display:swap;
  src:url(fonts/carlito-700.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;}

:root{
  --bg:#f4f7f9;
  --border:#dbe4ea;
  --border-strong:#b9cad5;
  --text:#13303d;
  --muted:#4a7488;
  --dim:#6a8a9b;
  --accent:#15607f;
  --accent-hi:#0d4257;
  --night:#0f2a36;
  --sans:'Carlito','Calibri',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:48px;
  --nav-h:72px;
}

*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column;}
button{font:inherit;color:inherit;}
a{color:var(--accent);text-decoration:none;transition:color .18s ease;}
a:hover{color:var(--accent-hi);}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}

/* Both languages are in the HTML. With JS, only the chosen one shows;
   without JS, the reader simply gets English followed by German. */
.js[data-lang="en"] .lang-de,.js[data-lang="de"] .lang-en{display:none !important;}

/* ---------- Nav (always solid: there is no hero behind it) ---------- */
.nav{position:sticky;top:0;z-index:50;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:0 var(--pad);background:rgba(244,247,249,0.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);}
.nav-logo img{display:block;height:28px;width:auto;opacity:.86;}
.nav-right{display:flex;align-items:center;gap:32px;}
.nav-home{font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);}
.nav-home:hover{color:var(--accent);}
.lang{display:flex;align-items:center;gap:2px;font-size:13px;font-weight:700;letter-spacing:0.08em;color:var(--border-strong);}
.lang button{background:none;border:0;padding:6px;cursor:pointer;color:var(--dim);letter-spacing:inherit;}
.lang button[aria-pressed="true"]{color:var(--accent);}

/* ---------- Content ---------- */
main{flex:1;width:100%;max-width:820px;margin:0 auto;padding:72px var(--pad) 96px;}
.eyebrow{display:block;font-size:15px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;}
h1{font-size:clamp(34px,5vw,48px);line-height:1.1;font-weight:700;margin:0 0 20px;}
.lead{font-size:19px;line-height:1.65;color:var(--muted);margin:0 0 48px;}
h2{font-size:22px;font-weight:700;margin:44px 0 12px;}
p,li{font-size:17px;line-height:1.7;color:var(--muted);}
p{margin:0 0 14px;}
address{font-style:normal;font-size:18px;line-height:1.6;color:var(--text);margin:0 0 28px;}
address strong{font-size:20px;}

.facts{display:grid;grid-template-columns:260px minmax(0,1fr);margin:0;border-top:1px solid var(--border);}
.facts dt,.facts dd{padding:14px 0;border-bottom:1px solid var(--border);margin:0;}
.facts dt{font-size:12px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);padding-right:24px;padding-top:17px;}
.facts dd{font-size:17px;color:var(--text);}

.updated{margin-top:48px;font-size:13px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);}

/* ---------- Footer ---------- */
.foot{background:var(--night);color:rgba(255,255,255,0.6);padding:22px var(--pad);
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;font-size:13px;}
.foot-links{display:flex;flex-wrap:wrap;gap:12px 22px;}
.foot a{color:rgba(255,255,255,0.75);}
.foot a:hover,.foot a[aria-current="page"]{color:#fff;}

@media (max-width:760px){
  :root{--pad:20px;--nav-h:64px;}
  .nav-right{gap:14px;}
  .nav-logo img{height:22px;}
  .nav-home{letter-spacing:0.08em;}
  main{padding:48px var(--pad) 72px;}
  .lead{font-size:17px;margin-bottom:36px;}
  .facts{grid-template-columns:1fr;}
  .facts dt{border-bottom:0;padding:14px 0 2px;}
  .facts dd{padding:0 0 14px;}
  .foot{flex-direction:column;align-items:flex-start;}
}
