html { scroll-behavior: smooth; scroll-padding-top: 30px; }
body { background: var(--bg); color: var(--white); font-family: var(--font); line-height: 1.6; }
::selection { background: #087cff; color: white; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }
[hidden] { display: none !important; }
h1, h2, h3 { line-height: 1.1; letter-spacing: -.035em; }
h2 { font-size: clamp(2rem, 3.5vw, 3.2rem); font-weight: 650; }
h3 { font-size: 1.25rem; font-weight: 600; }
p { color: var(--muted); }
button { color: inherit; }
a, button { transition: color var(--transition), background var(--transition), transform var(--transition), border-color var(--transition); }
.eyebrow { color: var(--cyan); font-family: var(--mono); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 1rem; z-index: 20; background: var(--blue); padding: 1rem; }
.skip-link:focus { top: 1rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
