/* Shared styles for the legal pages. Tokens mirror index.html. */
:root {
  --bg:#fbfbfd; --surface-2:#f5f5f7; --ink:#1d1d1f; --muted:#6e6e73;
  --line:rgba(0,0,0,.08); --glass:rgba(251,251,253,.72);
  --c1:#6a5cff; --c3:#ff9a3d; --todo:rgba(255,154,61,.16);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --bg:#000; --surface-2:#1c1c1f; --ink:#f5f5f7; --muted:#a1a1a6;
    --line:rgba(255,255,255,.1); --glass:rgba(0,0,0,.6); --todo:rgba(255,154,61,.2); }
}
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:17px/1.6 var(--font); -webkit-font-smoothing:antialiased; }
html[data-lang="de"] [lang="en"], html[data-lang="en"] [lang="de"] { display:none !important; }
a { color:inherit; text-underline-offset:3px; }
a:focus-visible, button:focus-visible { outline:2px solid var(--c1); outline-offset:3px; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }
header.nav { position:sticky; top:0; z-index:10; background:var(--glass); backdrop-filter:saturate(180%) blur(20px); -webkit-backdrop-filter:saturate(180%) blur(20px); border-bottom:1px solid var(--line); }
.nav .wrap { display:flex; align-items:center; gap:24px; height:52px; }
.brand { font-weight:600; letter-spacing:-.02em; text-decoration:none; margin-right:auto; }
.back { font-size:14px; color:var(--muted); text-decoration:none; }
.back:hover { color:var(--ink); }
.langs { display:flex; background:var(--surface-2); border-radius:999px; padding:2px; }
.langs button { border:0; background:none; color:var(--muted); font:600 11px var(--font); padding:5px 10px; border-radius:999px; cursor:pointer; letter-spacing:.06em; }
html[data-lang="de"] .langs [data-set="de"], html[data-lang="en"] .langs [data-set="en"] { background:var(--bg); color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.14); }
main { max-width:720px; margin:0 auto; padding:72px 24px 96px; }
h1 { font-size:clamp(40px,7vw,64px); font-weight:600; letter-spacing:-.035em; line-height:1.05; margin:0 0 12px; }
.sub { color:var(--muted); margin:0 0 56px; }
h2 { font-size:22px; font-weight:600; letter-spacing:-.02em; margin:48px 0 12px; }
p, ul { margin:0 0 14px; color:var(--muted); }
ul { padding-left:20px; }
li { margin-bottom:6px; }
address { font-style:normal; color:var(--ink); line-height:1.7; margin-bottom:14px; }
strong { color:var(--ink); font-weight:500; }
.todo { background:var(--todo); border-radius:6px; padding:1px 5px; outline:1px dashed var(--c3); }
footer { border-top:1px solid var(--line); padding:28px 0 48px; font-size:14px; color:var(--muted); }
footer .wrap { display:flex; gap:24px; flex-wrap:wrap; }
footer span:first-child { margin-right:auto; }
