/* Legal pages (Impressum + Datenschutz) — minimal shared theme, matches main site */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 800; font-display: swap; src: url('/assets/fonts/inter-latin-800-normal.woff2') format('woff2'); }

:root {
    --bg: #0a0a0a;
    --bg-2: #111;
    --line: #262626;
    --text: #f5f5f5;
    --text-dim: #a3a3a3;
    --text-mute: #737373;
    --red: #e30613;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}
a { color: var(--red); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { max-width: 820px; margin: 0 auto; padding: 0 24px; }

.nav {
    position: sticky; top: 0; z-index: 10;
    background: rgba(10,10,10,0.85);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--line);
}
.nav-inner {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 24px; max-width: 1200px; margin: 0 auto;
}
.brand { display: flex; align-items: center; }
.brand-logo { height: 60px; width: auto; display: block; }
.nav-back { color: var(--text-dim); font-size: 14px; font-weight: 500; }
.nav-back:hover { color: var(--text); text-decoration: none; }

.legal-page { padding: 60px 0 80px; }

.section-eyebrow {
    display: inline-block;
    color: var(--red); font-weight: 700;
    font-size: 12px; letter-spacing: 3px; text-transform: uppercase;
    margin-bottom: 14px;
}
.legal-page h1 {
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 800; line-height: 1.15;
    letter-spacing: -0.02em;
    margin-bottom: 20px;
}
.legal-page .lead {
    color: var(--text-dim); font-size: 17px;
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--line);
}

.legal-block { margin-bottom: 36px; }
.legal-block h2 {
    font-size: 20px; font-weight: 700;
    margin-bottom: 12px;
    color: var(--text);
}
.legal-block p {
    color: var(--text-dim);
    font-size: 15.5px;
    margin-bottom: 10px;
}
.legal-block p:last-child { margin-bottom: 0; }
.legal-block strong { color: var(--text); font-weight: 600; }
.legal-block code {
    background: var(--bg-2);
    border: 1px solid var(--line);
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 13px;
    color: var(--text);
    font-family: ui-monospace, SFMono-Regular, monospace;
}

.tbd {
    display: inline-block;
    background: rgba(227,6,19,0.12);
    color: var(--red);
    padding: 2px 8px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    border: 1px dashed rgba(227,6,19,0.5);
}

.legal-back {
    margin-top: 60px;
    padding-top: 30px;
    border-top: 1px solid var(--line);
    text-align: center;
}
.legal-back a {
    color: var(--text-dim);
    font-size: 14px;
}
.legal-back a:hover { color: var(--red); text-decoration: none; }

@media (max-width: 720px) {
    .nav-inner { padding: 12px 20px; }
    .brand-logo { height: 44px; }
    .nav-back { font-size: 13px; }
    .legal-page { padding: 40px 0 60px; }
}
