* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; text-size-adjust: 100%; }
body {
  min-height: 100%; margin: 0; color: var(--color-text);
  background:
    radial-gradient(circle at 16% -10%, rgba(116, 137, 255, .23), transparent 34%),
    radial-gradient(circle at 86% 8%, rgba(87, 209, 255, .13), transparent 28%),
    radial-gradient(circle at 50% 112%, rgba(199, 213, 255, .10), transparent 34%),
    linear-gradient(180deg, var(--color-bg), var(--color-bg-2) 54%, #050711);
  line-height: 1.55; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img, svg { max-width: 100%; height: auto; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(3.35rem, 7vw, 6.6rem); line-height: .9; letter-spacing: -.078em; margin-bottom: 1.18rem; max-width: 10.7ch; }
h2 { font-size: clamp(2.12rem, 4.15vw, 4.2rem); line-height: .98; letter-spacing: -.06em; margin-bottom: .9rem; }
h3 { font-size: clamp(1.08rem, 1.55vw, 1.42rem); line-height: 1.14; letter-spacing: -.03em; margin-bottom: .55rem; }
p { color: var(--color-muted); }
.lead { font-size: clamp(1.08rem, 1.55vw, 1.32rem); line-height: 1.66; max-width: 680px; color: var(--color-soft); }
.container, .wrapper { width: min(var(--container), calc(100% - (var(--gutter) * 2))); margin-inline: auto; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 100; transform: translateY(-140%); background: #fff; color: #050812; padding: .75rem 1rem; border-radius: 999px; font-weight: 800; text-decoration: none; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgba(199,213,255,.74); outline-offset: 4px; }
::selection { background: rgba(199, 213, 255, .28); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
