/* Gemeinsame Stile für Rechtsseiten (Impressum, Datenschutz) — Auditecture */
:root{
  --bg:#F3F8EF; --surface:#FFFFFF; --surface-2:#EFF6EA; --panel:#F8FFF8;
  --ink:#0D1700; --text:#404040; --muted:#747474; --line:#DCE7D0;
  --accent:#6D9900; --accent-strong:#3C6B00;
  --f-display:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --f-body:"Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --f-mono:ui-monospace,"SF Mono","Cascadia Mono","Segoe UI Mono",Menlo,Consolas,monospace;
  --maxw:1120px;
}
@media (prefers-color-scheme: dark){
  :root{ --bg:#070F00; --surface:#101C08; --surface-2:#16260D; --panel:#0D1700;
    --ink:#060D00; --text:#EDEDED; --muted:#9A9A94; --line:#243A16; --accent:#ADDB48; --accent-strong:#9FCA42; }
}
:root[data-theme="light"]{ --bg:#F3F8EF; --surface:#FFFFFF; --surface-2:#EFF6EA; --panel:#F8FFF8;
  --ink:#0D1700; --text:#404040; --muted:#747474; --line:#DCE7D0; --accent:#6D9900; --accent-strong:#3C6B00; }
:root[data-theme="dark"]{ --bg:#070F00; --surface:#101C08; --surface-2:#16260D; --panel:#0D1700;
  --ink:#060D00; --text:#EDEDED; --muted:#9A9A94; --line:#243A16; --accent:#ADDB48; --accent-strong:#9FCA42; }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:72px; }
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--f-body); line-height:1.65; -webkit-font-smoothing:antialiased; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 clamp(18px,4vw,36px); }
a{ color:var(--accent-strong); }

/* nav */
nav{ position:sticky; top:0; z-index:50; background:color-mix(in srgb,var(--bg) 86%,transparent); backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid var(--line); }
.nav-in{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:64px; }
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--text); }
.brand .glyph{ width:30px; height:30px; color:var(--accent); flex:0 0 auto; }
.brand .wm{ font-family:var(--f-display); font-weight:800; font-size:19px; letter-spacing:-.02em; }
.brand .wm b{ color:var(--accent); }
.nav-links{ display:flex; gap:26px; align-items:center; }
.nav-links a{ text-decoration:none; color:var(--muted); font-size:14.5px; font-weight:600; }
.nav-links a:hover{ color:var(--accent-strong); }
.btn{ display:inline-block; font-family:var(--f-display); font-weight:700; text-decoration:none; background:var(--accent); color:var(--ink); padding:11px 20px; border-radius:8px; font-size:14.5px; border:1px solid transparent; transition:transform .16s ease,background .16s ease; white-space:nowrap; }
.btn:hover{ background:var(--accent-strong); transform:translateY(-1px); color:var(--ink); }
@media (max-width:820px){ .nav-links a:not(.btn){ display:none; } }

/* legal content */
.legal{ padding:clamp(40px,7vw,84px) 0 clamp(48px,7vw,88px); }
.legal .wrap{ max-width:820px; }
.legal .kicker{ font-family:var(--f-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent-strong); margin:0 0 12px; }
.legal h1{ font-family:var(--f-display); font-weight:800; font-size:clamp(28px,5vw,44px); letter-spacing:-.02em; margin:0 0 .25em; }
.legal h2{ font-family:var(--f-display); font-weight:700; font-size:clamp(18px,2.4vw,23px); color:var(--accent-strong); margin:1.9em 0 .5em; }
.legal h3{ font-family:var(--f-display); font-weight:700; font-size:16px; margin:1.4em 0 .3em; }
.legal p, .legal li{ font-size:15.5px; }
.legal ul{ padding-left:1.3em; }
.legal li{ margin:.3em 0; }
.legal address{ font-style:normal; color:var(--text); line-height:1.7; }
.legal a{ color:var(--accent-strong); }
.legal hr{ border:none; border-top:1px solid var(--line); margin:2.2em 0; }
.legal .updated{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.06em; color:var(--muted); margin-top:2.5em; }
.legal .note{ background:var(--surface-2); border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:10px; padding:14px 18px; color:var(--muted); font-size:14px; margin:1.4em 0; }
.ph{ background:rgba(109,153,0,.14); color:var(--accent-strong); padding:.05em .35em; border-radius:4px; font-family:var(--f-mono); font-size:.88em; }
@media (prefers-color-scheme: dark){ .ph{ background:rgba(173,219,72,.14); } }

/* footer */
footer{ background:var(--panel); border-top:1px solid var(--line); padding:44px 0 28px; }
.foot-grid{ display:flex; justify-content:space-between; gap:28px; flex-wrap:wrap; align-items:flex-start; }
.footlogo{ height:26px; width:auto; display:block; margin-bottom:12px; }
.foot-col h4{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin:0 0 12px; }
.foot-col a{ display:block; text-decoration:none; color:var(--text); font-size:14px; margin-bottom:8px; }
.foot-col a:hover{ color:var(--accent-strong); }
.foot-bottom{ margin-top:32px; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-family:var(--f-mono); font-size:10.5px; letter-spacing:.06em; color:var(--muted); }

a:focus-visible,.btn:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
