/* AIGIS Landing RC7 — Entwurf C — Animationen.
   Alles CSS-first (transform/opacity/stroke-dashoffset), ausgelöst per IntersectionObserver
   (app.js: .reveal · effects.js: .stack/.cap/.drift/.loop/.iso/.tl/.motto/.doors).
   Endlosschleifen laufen nur im Sichtfenster (.live) und pausieren im Hintergrund-Tab
   (html.paused, base.css). prefers-reduced-motion: base.css setzt alle Dauern auf 0. */

/* ── Scroll-Reveal ──────────────────────────────────────────────────────── */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .8s cubic-bezier(.2,.9,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal-d1{ transition-delay:.08s; } .reveal-d2{ transition-delay:.16s; }
.reveal-d3{ transition-delay:.24s; } .reveal-d4{ transition-delay:.32s; }
html.no-js .reveal{ opacity:1; transform:none; }
html.no-js .cap-chip, html.no-js .plate-chips .chip, html.no-js .ind-big span, html.no-js .words .pop{ opacity:1; transform:none; }
html.no-js .tl-step{ opacity:1; transform:none; }

/* ── Countdown-Punkt ────────────────────────────────────────────────────── */
@keyframes launchPulse{ 0%{ transform:scale(.6); opacity:.9; } 100%{ transform:scale(2.4); opacity:0; } }

/* ── Datenpunkte zwischen den Ebenen (Hero-Stapel) ──────────────────────── */
@keyframes dotRise{
  0%{ transform:translateZ(0) scale(.5); opacity:0; }
  12%{ opacity:1; }
  88%{ opacity:1; }
  100%{ transform:translateZ(215px) scale(1); opacity:0; }
}
@keyframes dotFall{
  0%{ transform:translateZ(215px) scale(.5); opacity:0; }
  12%{ opacity:1; }
  88%{ opacity:1; }
  100%{ transform:translateZ(0) scale(1); opacity:0; }
}
@keyframes isoFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }

/* ── Drift-Markierung pulst ─────────────────────────────────────────────── */
@keyframes ringPulse{ 0%{ transform:scale(1); opacity:.8; } 100%{ transform:scale(2.6); opacity:0; } }

/* ── Zero-Findings-Ring: Läufer kreist, Stationen leuchten der Reihe nach ─ */
@keyframes spin{ to{ transform:rotate(360deg); } }
@keyframes stGlow{
  0%, 100%{ background:var(--panel); color:var(--mut); border-color:var(--line); transform:translate(-50%,-50%) scale(1); }
  3%, 11%{ background:var(--lime); color:var(--lime-ink); border-color:transparent; transform:translate(-50%,-50%) scale(1.12); }
}

/* ── Sternenstaub im Hero (rein dekorativ, sehr leicht) ─────────────────── */
@keyframes drift{ 0%{ transform:translateY(0); } 100%{ transform:translateY(-50px); } }
