/* AIGIS Landing RC6 — Basis: Reset, Typografie, Zugänglichkeit. */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
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(--cy); text-decoration:none; }
a:hover{ text-decoration:underline; }
h1,h2,h3,h4{ color:var(--tx-strong); line-height:1.18; margin:0 0 .5em; font-weight:800; }
h1{ font-size:clamp(32px, 5.4vw, 58px); letter-spacing:-.5px; }
h2{ font-size:clamp(25px, 3.4vw, 38px); letter-spacing:-.3px; }
h3{ font-size:19px; }
h4{ font-size:16px; }
p{ margin:0 0 1em; }
ul{ margin:0 0 1em; padding-left:1.2em; }
button{ font-family:inherit; font-size:inherit; cursor:pointer; }
::selection{ background:rgba(56,211,238,.28); }

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

/* Skip-Link */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--cy); color:#04222B; font-weight:800;
  padding:10px 18px; border-radius:0 0 10px 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;
}

/* Reduzierte Bewegung: sämtliche Animationen und sanftes Scrollen aus */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}
