/* Emergency Göttingen – modernes Dark-Design: ruhige Flächen, feine Linien, dezenter Verlauf */
:root {
    --bg:#08090c; --surface:#101216; --surface-2:#161920; --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14);
    --text:#f3f4f6; --muted:#8d93a1; --accent:#5ce1e6; --accent-2:#6d8bff; --radius:18px;
    --f:'Geist','Inter',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'Geist Mono','JetBrains Mono',ui-monospace,monospace;
}
* { box-sizing:border-box; }
html { overflow-x:clip; scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--f); line-height:1.6; -webkit-font-smoothing:antialiased; display:flex; flex-direction:column; min-height:100vh; overflow-x:clip; }
body::before { content:""; position:absolute; inset:0 0 auto 0; height:760px; z-index:-1; pointer-events:none;
    background:radial-gradient(60% 70% at 50% 0%, rgba(92,225,230,.13), transparent 70%), radial-gradient(40% 50% at 82% 8%, rgba(109,139,255,.10), transparent 70%); }
a { color:inherit; }
::selection { background:rgba(92,225,230,.3); }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
.wrap { width:100%; max-width:1120px; margin:0 auto; padding-inline:24px; }

/* Header */
.topbar { position:sticky; top:0; z-index:50; background:rgba(8,9,12,.72); backdrop-filter:blur(14px) saturate(1.4); -webkit-backdrop-filter:blur(14px) saturate(1.4); border-bottom:1px solid var(--line); }
.topbar .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:66px; }
.brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:600; letter-spacing:-.01em; font-size:1.02rem; }
.brand img { width:34px; height:34px; border-radius:9px; background:#000; border:1px solid var(--line-2); padding:2px; }
.nav { display:flex; flex-wrap:wrap; gap:2px; }
.nav a { text-decoration:none; color:var(--muted); font-size:.9rem; font-weight:500; padding:7px 13px; border-radius:99px; transition:color .15s, background .15s; }
.nav a:hover { color:var(--text); background:rgba(255,255,255,.05); }
.nav a.on { color:var(--text); background:rgba(255,255,255,.09); }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; font:inherit; font-weight:600; font-size:.98rem; text-decoration:none; padding:13px 24px; border-radius:99px; background:var(--text); color:#08090c; border:1px solid transparent; transition:transform .15s, box-shadow .2s, background .15s; box-shadow:0 0 0 0 rgba(92,225,230,0); }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 30px -10px rgba(92,225,230,.55); }
.btn svg { width:21px; height:21px; fill:currentColor; }
.btn.ghost { background:transparent; color:var(--text); border-color:var(--line-2); }
.btn.ghost:hover { background:rgba(255,255,255,.06); box-shadow:none; }
.btn-row { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px; }

/* Hero */
.hero { text-align:center; padding:88px 0 76px; }
.hero .wrap { display:flex; flex-direction:column; align-items:center; }
.hero-logo { width:min(150px,38vw); height:auto; margin-bottom:26px; border-radius:30px; background:#000; border:1px solid var(--line-2); padding:6px; box-shadow:0 30px 70px -30px rgba(92,225,230,.4); }
.badge { display:inline-flex; align-items:center; gap:9px; font-size:.82rem; font-weight:500; color:#c7ccd6; padding:6px 14px 6px 11px; border-radius:99px; background:rgba(255,255,255,.04); border:1px solid var(--line-2); margin-bottom:22px; }
.badge i { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 4px rgba(92,225,230,.15); }
h1 { font-weight:700; font-size:clamp(2.6rem,7vw,5rem); line-height:1.03; letter-spacing:-.045em; margin:0 0 20px; background:linear-gradient(180deg,#fff 30%,#9aa1b0); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.hero .lead { font-size:clamp(1.1rem,2.2vw,1.35rem); font-weight:500; margin:0 0 14px; color:var(--text); letter-spacing:-.015em; }
.hero .desc { color:var(--muted); font-size:1.05rem; max-width:660px; margin:0 0 34px; }

/* Ticker */
.ticker { overflow:hidden; padding:6px 0; -webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent); mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent); }
.ticker .track { display:flex; gap:12px; width:max-content; animation:tick 45s linear infinite; padding-right:12px; }
.ticker:hover .track { animation-play-state:paused; }
.ticker span { font-size:.92rem; font-weight:500; color:#b9bfcb; padding:9px 18px; border-radius:99px; background:var(--surface); border:1px solid var(--line); white-space:nowrap; }
@keyframes tick { to { transform:translateX(-50%); } }

/* Sektionen */
.section { padding:96px 0 0; }
.sec-title { font-size:clamp(1.7rem,3.6vw,2.4rem); font-weight:700; letter-spacing:-.035em; line-height:1.1; margin:0 0 12px; text-align:center; }
.sec-sub { color:var(--muted); text-align:center; margin:0 auto 44px; max-width:520px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:16px; }
.fcard { position:relative; overflow:hidden; padding:28px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line); transition:border-color .25s, transform .25s; }
.fcard::before { content:""; position:absolute; inset:0; opacity:0; transition:opacity .3s; pointer-events:none; background:radial-gradient(320px circle at var(--px,50%) var(--py,0%), rgba(92,225,230,.10), transparent 70%); }
.fcard:hover { border-color:var(--line-2); transform:translateY(-3px); } .fcard:hover::before { opacity:1; }
.fcard .ico { width:48px; height:48px; display:grid; place-items:center; font-size:1.4rem; border-radius:13px; background:linear-gradient(145deg,rgba(92,225,230,.16),rgba(109,139,255,.10)); border:1px solid rgba(92,225,230,.22); margin-bottom:56px; }
.fcard .num { position:absolute; top:26px; right:28px; font-family:var(--mono); font-size:.78rem; color:#555b69; }
.fcard h3 { margin:0 0 8px; font-size:1.2rem; font-weight:600; letter-spacing:-.02em; position:relative; }
.fcard p { margin:0; color:var(--muted); font-size:.96rem; position:relative; }

/* CTA */
.cta { margin:96px auto 0; max-width:1072px; width:calc(100% - 48px); text-align:center; padding:72px 28px; border-radius:28px; position:relative; overflow:hidden;
    background:radial-gradient(70% 90% at 50% 0%, rgba(92,225,230,.16), transparent 70%), var(--surface); border:1px solid var(--line-2); }
.cta h2 { font-size:clamp(1.8rem,4.2vw,2.9rem); font-weight:700; letter-spacing:-.04em; line-height:1.08; margin:0 auto 14px; max-width:640px; }
.cta p { color:var(--muted); font-size:1.08rem; margin:0 auto 30px; max-width:520px; }

/* Footer */
.foot { margin-top:96px; border-top:1px solid var(--line); padding:34px 20px; text-align:center; color:var(--muted); font-size:.9rem; }
.foot p { margin:6px 0; } .foot a { text-decoration:none; margin:0 9px; transition:color .15s; } .foot a:hover { color:var(--accent); }
.main-fill { flex:1; }

/* Rechtstexte */
.doc-wrap { max-width:760px; margin:0 auto; width:100%; padding:64px 24px 10px; }
.back { display:inline-block; color:var(--muted); font-size:.9rem; text-decoration:none; margin-bottom:26px; transition:color .15s; } .back:hover { color:var(--accent); }
.doc-wrap h1 { font-size:clamp(2.2rem,5vw,3.2rem); margin:0 0 10px; letter-spacing:-.04em; }
.stand { color:var(--muted); margin:0 0 20px; font-size:.95rem; }
.doc h2 { font-size:1.3rem; font-weight:600; letter-spacing:-.02em; margin:44px 0 12px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.doc h3 { font-size:1.05rem; font-weight:600; margin:26px 0 8px; }
.doc p, .doc li { color:#a4a9b6; margin:0 0 14px; }
.doc ul { padding-left:22px; } .doc li::marker { color:var(--accent); }
.doc a { color:var(--accent); text-decoration:none; } .doc a:hover { text-decoration:underline; text-underline-offset:3px; }
.doc strong { color:var(--text); font-weight:600; }

/* Reveal */
.rv { opacity:0; transform:translateY(18px); transition:opacity .6s cubic-bezier(.2,.8,.2,1) var(--d,0s), transform .6s cubic-bezier(.2,.8,.2,1) var(--d,0s); }
.rv.in { opacity:1; transform:none; }
.fcard.rv.in { transition:opacity .6s cubic-bezier(.2,.8,.2,1) var(--d,0s), transform .25s, border-color .25s; }

@media (max-width:720px) {
    .wrap { padding-inline:18px; } .topbar .wrap { flex-direction:column; gap:6px; padding-block:12px; } .nav { justify-content:center; }
    .hero { padding:56px 0 52px; } .cta { padding:52px 20px; width:calc(100% - 36px); }
}
@media (prefers-reduced-motion:reduce) { .rv { opacity:1; transform:none; transition:none; } .ticker .track { animation:none; } html { scroll-behavior:auto; } }
