/* AIGIS Landing RC7 — Entwurf C — Basis: Reset, Typografie, Zugänglichkeit. */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
html, body{ margin:0; padding:0; }
body{
  background:var(--bg); color:var(--tx);
  font-family:var(--font); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--blue); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ color:var(--tx-strong); line-height:1.12; margin:0 0 .5em; font-weight:800; letter-spacing:-.02em; }
h1{ font-size:clamp(40px, 6.6vw, 88px); line-height:.98; letter-spacing:-.03em; font-weight:900; }
h2{ font-size:clamp(30px, 4.2vw, 56px); line-height:1.04; }
h3{ font-size:clamp(20px, 2.2vw, 26px); }
h4{ font-size:17px; letter-spacing:0; }
p{ margin:0 0 1em; }
ul, ol{ margin:0 0 1em; padding-left:1.2em; }
button{ font-family:inherit; font-size:inherit; cursor:pointer; color:inherit; }
strong, b{ font-weight:800; }
::selection{ background:rgba(200,245,66,.35); color:#0F1216; }

/* Fokus sichtbar — Tastaturbedienung ist Pflicht */
:focus-visible{ outline:3px solid var(--lime); outline-offset:3px; border-radius:6px; }

/* Skip-Link */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:300;
  background:var(--lime); color:var(--lime-ink); font-weight:800;
  padding:10px 18px; border-radius:0 0 12px 0;
}
.skip-link:focus{ left:0; }

/* Nur für Screenreader */
.sr-only{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* Hintergrund-Tab: alle Endlos-Animationen anhalten (effects.js setzt html.paused) */
html.paused *, html.paused *::before, html.paused *::after{ animation-play-state:paused !important; }

/* Reduzierte Bewegung: jede Animation wird zu einem ruhigen Endzustand.
   effects.js/app.js schalten zusätzlich alle Zustände sofort auf „fertig". */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    animation-delay:0s !important;
    transition-duration:.01ms !important; transition-delay:0s !important;
    scroll-behavior:auto !important;
  }
}
