@font-face {
  font-family: 'Geist Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url('/fonts/geist-latin-wght-normal.woff2') format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Geist Fallback';
  src: local('Helvetica Neue'), local('Arial');
  size-adjust: 109%;
  ascent-override: 92.7%;
  descent-override: 26.6%;
  line-gap-override: 0%;
}
:root {
  color-scheme: dark;
  --ink: #e8e4dc;
  --ink-secondary: rgba(232, 228, 220, 0.6);
  --ink-quiet: rgba(232, 228, 220, 0.55);
  --ink-tertiary: rgba(232, 228, 220, 0.35);
  --surface: #1a1a1a;
  --surface-raised: #262626;
  --hairline: rgba(232, 228, 220, 0.14);
  --accent: #d8a24a;
  --accent-ink: #141414;
  --danger: #e5604c;
  --danger-lift: color-mix(in srgb, var(--danger) 80%, var(--ink));
  --brand-purple: #665ca8;
  --brand-purple-lift: #a79ae0;
  --brand-deep: #2c2650;
  --brand-line: rgba(167, 154, 224, 0.34);
  --tier-high: #4ac47e;
  --hero-grade-hi: #3a3168;
  --font-sans: 'Geist Variable', 'Geist Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-editorial: 'Newsreader Variable', 'Newsreader Fallback', ui-serif, Georgia, serif;
  --size-display: clamp(2rem, 4.6vw, 2.85rem);
  --size-section: clamp(1.35rem, 1.1rem + 1.1vw, 1.75rem);
  --size-subsection: 1.1875rem;
  --size-body-editorial: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --size-body: 1rem;
  --size-callout: 0.9375rem;
  --size-footnote: 0.8125rem;
  --size-caption: 0.75rem;
  --size-caption-2: 0.6875rem;
  --leading-tight: 1.2;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-editorial: 1.62;
  --tracking-caps: 0.08em;
  --tracking-eyebrow: 0.16em;
  --weight-semibold: 600;
  --space-1: 0.5rem;
  --space-2: 0.75rem;
  --space-3: 1rem;
  --space-4: 1.5rem;
  --space-5: 2.25rem;
  --space-6: 3rem;
  --band: clamp(3rem, 8vw, 4.5rem);
  --band-minor: clamp(2rem, 5vw, 2.75rem);
  --radius-card: 1.125rem;
  --radius-control: 0.75rem;
  --radius-pill: 999px;
  --elev-2: 0 8px 24px rgba(0, 0, 0, 0.45), 0 0 0 1px var(--hairline);
  --ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
  --dur-fast: 180ms;
  --dur-slow: 320ms;
  --dur-reveal: 600ms;
  --measure-shell: 60rem;
  --measure-article: 68ch;
  --fact-min: 8.5rem;
  --tap-min: 44px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scrollbar-gutter: stable; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: var(--size-body);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
}
::selection { background: color-mix(in srgb, var(--accent) 28%, transparent); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
a { color: var(--brand-purple-lift); }
p a, li a, dd a, figcaption a {
  text-decoration-line: underline;
  text-decoration-color: var(--ink-tertiary);
  text-underline-offset: 2px;
}
p a:hover, li a:hover, dd a:hover, figcaption a:hover { text-decoration-color: var(--ink-secondary); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}

@view-transition { navigation: auto; }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none; }
}
