/* Gemeinsames, schlankes Layout fuer die statischen Rechtstext-Seiten
   (impressum.html, datenschutz.html) — gleiche Palette/Typo wie die Landing,
   Hell/Dunkel automatisch. Bewusst kein externer Font/CDN (DSGVO). */
:root{
  --bg:#fff; --fg:#161616; --muted:#6f6f6f; --soft:#f4f4f4;
  --blue:#0057e7; --maxw:48rem;
  --font:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "Cascadia Code", Consolas, monospace;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#161616; --fg:#f4f4f4; --muted:#a8a8a8; --soft:#262626; --blue:#4d8bff; }
}
*{ box-sizing:border-box; }
body{ margin:0; background:var(--bg); color:var(--fg); font-family:var(--font);
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ text-decoration:underline; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 1.5rem; }
header{ padding:1.25rem 0; }
.head-row{ display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.brand{ display:inline-flex; align-items:center; font-size:1.15rem; font-weight:600; letter-spacing:-.01em; color:var(--blue); }
.brand img{ display:block; margin-right:.55rem; }
.back{ font-size:.9rem; white-space:nowrap; }
main{ padding:1rem 0 3rem; }
h1{ font-size:clamp(1.8rem,4vw,2.4rem); font-weight:600; letter-spacing:-.02em; margin:0 0 1.5rem; }
h2{ font-size:1.2rem; font-weight:600; margin:2rem 0 .5rem; }
p,ul{ margin:0 0 .9rem; }
ul{ padding-left:1.2rem; }
li{ margin:.25rem 0; }
.muted{ color:var(--muted); }
.mono{ font-family:var(--mono); font-size:.9rem; }
/* Platzhalter sichtbar gelb markiert — faellt sofort auf, falls vor dem Ausfuellen deployt. */
.ph{ background:rgba(255,196,0,.22); padding:0 .25em; border-radius:2px; }
.stamp{ font-size:.85rem; color:var(--muted); margin-top:2.5rem; }
footer{ border-top:1px solid var(--soft); padding:1.5rem 0; color:var(--muted); font-size:.85rem; }
