:root {
  /* Type */
  --font-display: 'Space Grotesk', 'Segoe UI', sans-serif;
  --font-body: 'Inter', 'Segoe UI', sans-serif;
  --font-mono: 'IBM Plex Mono', 'Courier New', monospace;

  --fs-eyebrow: 0.72rem;
  --fs-body: 1rem;
  --fs-body-lg: 1.125rem;
  --fs-h6: 1.05rem;
  --fs-h5: 1.35rem;
  --fs-h4: 1.75rem;
  --fs-h3: 2.25rem;
  --fs-h2: clamp(2.1rem, 4vw, 3.1rem);
  --fs-h1: clamp(2.6rem, 6vw, 4.6rem);

  /* Spacing (8px base) */
  --sp-1: 0.5rem;
  --sp-2: 0.75rem;
  --sp-3: 1rem;
  --sp-4: 1.5rem;
  --sp-5: 2rem;
  --sp-6: 3rem;
  --sp-7: 4.5rem;
  --sp-8: 7rem;

  /* Layout */
  --container: 1240px;
  --container-narrow: 780px;
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-tile: 4px; /* echoes the logo tile chamfer */

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur-base: 400ms;
  --dur-slow: 900ms;

  /* Elevation */
  --shadow-sm: 0 2px 10px rgba(8, 12, 30, 0.14);
  --shadow-md: 0 12px 32px rgba(8, 12, 30, 0.22);
  --shadow-lg: 0 24px 64px rgba(8, 12, 30, 0.32);
  --shadow-glow: 0 0 0 1px rgba(16, 87, 187, 0.25), 0 18px 40px rgba(16, 87, 187, 0.18);

  --z-loader: 9999;
  --z-nav: 500;
  --z-modal: 800;
  --z-toast: 900;
}

@media (max-width: 720px) {
  :root {
    --sp-7: 3rem;
    --sp-8: 4.5rem;
  }
}
