:root {
  --void: #05070a;
  --void-soft: #080b11;
  --surface: #0d1119;
  --surface-2: #121724;
  --border-soft: rgba(255, 255, 255, 0.07);
  --border-strong: rgba(255, 255, 255, 0.14);

  --text-primary: #f2f5fb;
  --text-secondary: #97a1b5;
  --text-tertiary: #545e72;

  --blue-200: #bcd4ff;
  --blue-300: #8fb6ff;
  --blue-400: #5c93ff;
  --blue-500: #3672ff;
  --blue-600: #2456db;
  --blue-700: #1a3fa8;
  --indigo-400: #6e7bff;

  --glow-soft: rgba(54, 114, 255, 0.28);
  --glow-strong: rgba(92, 147, 255, 0.55);
  --gradient-primary: linear-gradient(135deg, var(--blue-400), var(--blue-600));
  --gradient-text: linear-gradient(90deg, var(--blue-200), var(--blue-400) 35%, var(--indigo-400) 60%, var(--blue-300));

  --font-sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;

  --fs-eyebrow: 0.8125rem;
  --fs-body: clamp(1rem, 0.94rem + 0.25vw, 1.125rem);
  --fs-hero: clamp(2.75rem, 2.1rem + 4.5vw, 5.5rem);
  --fs-h2: clamp(1.75rem, 1.55rem + 1.2vw, 2.5rem);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-24: 6rem;

  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-full: 999px;

  --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: 320ms;
  --dur-slow: 640ms;

  --content-max: 1280px;
  --header-h: 88px;

  --mx: 0;
  --my: 0;
}
