* { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body { margin: 0; background: var(--night); color: var(--ice); font-family: var(--body); font-size: 17px; line-height: 1.65; }
body::before { content: ""; position: fixed; inset: 0; z-index: -2; background: radial-gradient(circle at 74% 8%, rgba(49,223,244,.08), transparent 28%), radial-gradient(circle at 20% 36%, rgba(214,173,85,.07), transparent 24%), linear-gradient(130deg, #02070d 0%, #061525 56%, #02080f 100%); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: #fff; font-family: var(--display); font-weight: 500; line-height: .98; text-wrap: balance; }
h1 { font-size: clamp(3.5rem, 9vw, 8.8rem); letter-spacing: -.045em; }
h2 { font-size: clamp(2.35rem, 5vw, 5.1rem); letter-spacing: -.035em; }
h3 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 5px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 100; padding: .7rem 1rem; background: var(--paper); color: var(--navy); transform: translateY(-160%); }
.skip-link:focus { transform: none; }
main { overflow: clip; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
