* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body { margin: 0; min-height: 100vh; font-family: var(--font); background: radial-gradient(circle at 80% -10%, rgba(124,156,255,.18), transparent 32%), radial-gradient(circle at 20% 10%, rgba(78,232,212,.09), transparent 26%), var(--bg); color: var(--text); }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button { color: inherit; }
:focus-visible { outline: 3px solid rgba(78,232,212,.72); outline-offset: 3px; }
::selection { background: rgba(124,156,255,.35); }
.skip-link { position: fixed; top: 8px; left: 8px; transform: translateY(-150%); z-index: 9999; padding: 12px 16px; border-radius: 10px; background: #fff; color: #000; }
.skip-link:focus { transform: none; }
.is-hidden { display: none !important; }
.eyebrow { font-size: .76rem; font-weight: 800; letter-spacing: .18em; color: var(--cyan); }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(2.2rem, 5vw, 5.5rem); line-height: .98; letter-spacing: -.055em; }
h2 { font-size: clamp(1.7rem, 3vw, 3.1rem); line-height: 1.08; letter-spacing: -.038em; }
h3 { letter-spacing: -.02em; }
p { color: var(--muted); line-height: 1.75; }
small { color: var(--muted); }
code, pre { font-family: "SFMono-Regular", Consolas, monospace; }
pre { white-space: pre-wrap; word-break: break-word; }
