/* Shared styles for AVOVA legal pages (Impressum, Datenschutz).
   Same deep-sea / nautical-chart identity as the landing page, tuned for
   long-form reading. */

:root {
  /* Nautical chart (light) — base fallback */
  --bg:#EDF3F8; --bg-2:#E3ECF3;
  --panel:rgba(255,255,255,0.72); --panel-2:rgba(255,255,255,0.55); --panel-solid:#FFFFFF;
  --line:rgba(16,58,94,0.16); --line-2:rgba(16,58,94,0.28);
  --ink:#0D2036; --ink-dim:#3E5C76; --ink-faint:#6E8AA1;
  --cyan:#0C7CB0; --cyan-hi:#0E6FA6; --blue:#1B62C4; --amber:#B96A12;
  --glow:rgba(12,124,176,0.10);
  --font-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --maxw:1160px; --prose:72ch; --r:18px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg:#071523; --bg-2:#050F1B;
    --panel:rgba(20,44,72,0.50); --panel-2:rgba(16,36,60,0.40); --panel-solid:#0F2338;
    --line:rgba(122,196,232,0.16); --line-2:rgba(122,196,232,0.30);
    --ink:#E7F1F9; --ink-dim:#96B2C9; --ink-faint:#5C7B94;
    --cyan:#57CDEF; --cyan-hi:#8FE6FF; --blue:#3B8DEE; --amber:#FFB257;
    --glow:rgba(87,205,239,0.14);
  }
}
:root[data-theme="light"] {
  --bg:#EDF3F8; --bg-2:#E3ECF3; --panel:rgba(255,255,255,0.72); --panel-2:rgba(255,255,255,0.55);
  --panel-solid:#FFFFFF; --line:rgba(16,58,94,0.16); --line-2:rgba(16,58,94,0.28);
  --ink:#0D2036; --ink-dim:#3E5C76; --ink-faint:#6E8AA1;
  --cyan:#0C7CB0; --cyan-hi:#0E6FA6; --blue:#1B62C4; --amber:#B96A12; --glow:rgba(12,124,176,0.10);
}
:root[data-theme="dark"] {
  --bg:#071523; --bg-2:#050F1B; --panel:rgba(20,44,72,0.50); --panel-2:rgba(16,36,60,0.40);
  --panel-solid:#0F2338; --line:rgba(122,196,232,0.16); --line-2:rgba(122,196,232,0.30);
  --ink:#E7F1F9; --ink-dim:#96B2C9; --ink-faint:#5C7B94;
  --cyan:#57CDEF; --cyan-hi:#8FE6FF; --blue:#3B8DEE; --amber:#FFB257; --glow:rgba(87,205,239,0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin:0;
  background:
    radial-gradient(1100px 620px at 84% -10%, var(--glow), transparent 60%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
  color:var(--ink); font-family:var(--font-sans); font-size:16px; line-height:1.68;
  -webkit-font-smoothing:antialiased; min-height:100vh;
}
a { color:var(--cyan); text-decoration:none; }
a:hover { text-decoration:underline; }
.wrap { max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* nav */
.nav {
  position:sticky; top:0; z-index:40;
  backdrop-filter:blur(14px) saturate(140%); -webkit-backdrop-filter:blur(14px) saturate(140%);
  background:color-mix(in srgb, var(--bg) 72%, transparent);
  border-bottom:1px solid transparent; transition:border-color .3s ease;
}
.nav.scrolled { border-bottom-color:var(--line); }
.nav-inner { max-width:var(--maxw); margin:0 auto; padding:13px 24px; display:flex; align-items:center; gap:22px; }
.brand { display:inline-flex; align-items:baseline; gap:11px; }
.brand .word { font-weight:800; font-size:1.28rem; letter-spacing:0.16em; color:var(--ink); }
.brand .word b { color:var(--cyan); }
.brand .tag { font-family:var(--font-mono); font-size:0.6rem; letter-spacing:0.2em; color:var(--ink-faint); text-transform:uppercase; }
.nav-links { display:flex; gap:24px; margin-left:auto; align-items:center; }
.nav-links a { color:var(--ink-dim); font-weight:500; font-size:0.9rem; text-decoration:none; }
.nav-links a:hover { color:var(--ink); text-decoration:none; }
.icon-btn {
  width:38px; height:38px; display:grid; place-items:center; border-radius:11px;
  border:1px solid var(--line); background:var(--panel-2); color:var(--ink-dim); cursor:pointer;
  transition:color .2s, border-color .2s;
}
.icon-btn:hover { color:var(--cyan); border-color:var(--line-2); }
.icon-btn svg { width:18px; height:18px; }
.icon-btn .moon { display:none; }
:root[data-theme="dark"] .icon-btn .moon, .icon-btn.is-dark .moon { display:block; }
:root[data-theme="dark"] .icon-btn .sun, .icon-btn.is-dark .sun { display:none; }

/* prose */
.legal { padding:56px 0 40px; }
.legal .prose { max-width:var(--prose); }
.legal .eyebrow {
  font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--cyan); display:inline-flex; align-items:center; gap:9px; margin:0 0 14px;
}
.legal .eyebrow::before { content:""; width:22px; height:1px; background:var(--cyan); opacity:.7; }
.legal h1 { font-size:clamp(2rem,4.4vw,3rem); font-weight:800; letter-spacing:-0.02em; line-height:1.05; margin:0 0 10px; text-wrap:balance; }
.legal .stand { font-family:var(--font-mono); font-size:0.8rem; color:var(--ink-faint); letter-spacing:0.04em; margin:0 0 40px; }
.legal h2 {
  font-size:1.4rem; font-weight:720; letter-spacing:-0.01em; margin:44px 0 12px;
  padding-top:22px; border-top:1px solid var(--line); text-wrap:balance;
}
.legal h2:first-of-type { border-top:none; padding-top:0; }
.legal h3 { font-size:1.06rem; font-weight:650; margin:26px 0 8px; color:var(--ink); }
.legal p, .legal li { color:var(--ink-dim); }
.legal p { margin:0 0 16px; }
.legal ul, .legal ol { margin:0 0 16px; padding-left:1.3em; }
.legal li { margin-bottom:8px; }
.legal strong, .legal b { color:var(--ink); font-weight:650; }
.legal address { font-style:normal; color:var(--ink-dim); line-height:1.8; }

/* fill-me-in placeholder */
.ph {
  font-family:var(--font-mono); font-size:0.88em; color:var(--amber);
  background:color-mix(in srgb, var(--amber) 13%, transparent);
  border:1px dashed color-mix(in srgb, var(--amber) 48%, transparent);
  padding:1px 7px; border-radius:6px; white-space:nowrap;
}

/* editor banner (delete before launch) */
.editor-note {
  max-width:var(--prose); margin:0 auto 34px; padding:14px 18px;
  border-radius:12px; border:1px dashed color-mix(in srgb, var(--amber) 55%, transparent);
  background:color-mix(in srgb, var(--amber) 10%, transparent);
  color:var(--ink-dim); font-size:0.9rem;
}
.editor-note b { color:var(--amber); }

/* footer */
.footer { border-top:1px solid var(--line); margin-top:40px; padding:40px 0 44px; }
.foot-inner { display:flex; flex-wrap:wrap; gap:16px 28px; align-items:center; justify-content:space-between; }
.foot-inner .word { font-weight:800; letter-spacing:0.16em; }
.foot-inner .word b { color:var(--cyan); }
.foot-links { display:flex; flex-wrap:wrap; gap:20px; }
.foot-links a { color:var(--ink-dim); font-size:0.9rem; }
.foot-links a:hover { color:var(--cyan); }
.foot-copy { font-family:var(--font-mono); font-size:0.8rem; color:var(--ink-faint); letter-spacing:0.04em; }

:focus-visible { outline:2px solid var(--cyan); outline-offset:3px; border-radius:4px; }

@media (max-width:620px) {
  .nav-links { gap:16px; }
  .nav-links a:not(.home) { display:none; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior:auto; } }
