:root {
  /* ── Primary Palette ── */
  --color-primary-950: #0A0F1E;
  --color-primary-900: #0D1530;
  --color-primary-800: #111D45;
  --color-primary-700: #1A2D6B;
  --color-primary-600: #2040A0;
  --color-primary-500: #2952CC;

  /* ── Accent ── */
  --color-accent-500: #7C3AED;
  --color-accent-400: #8B5CF6;
  --color-accent-300: #A78BFA;
  --color-accent-200: #C4B5FD;

  /* ── Signal / CTA ── */
  --color-signal-500: #F05438;
  --color-signal-400: #F97316;

  /* ── Neutrals ── */
  --color-neutral-950: #080C14;
  --color-neutral-900: #0F1623;
  --color-neutral-800: #1C2333;
  --color-neutral-700: #2D3A52;
  --color-neutral-500: #64748B;
  --color-neutral-300: #94A3B8;
  --color-neutral-100: #E2E8F0;
  --color-neutral-050: #F8FAFC;

  /* ── Semantic ── */
  --color-success: #10B981;
  --color-warning: #F59E0B;

  /* ── Gradients ── */
  --gradient-hero: linear-gradient(135deg, #0A0F1E 0%, #111D45 50%, #0A0F1E 100%);
  --gradient-accent: linear-gradient(135deg, #2952CC 0%, #7C3AED 100%);
  --gradient-cta: linear-gradient(135deg, #F05438 0%, #F97316 100%);
  --gradient-card: linear-gradient(145deg, rgba(255,255,255,0.05) 0%, rgba(255,255,255,0.02) 100%);
  --gradient-text: linear-gradient(135deg, #A78BFA 0%, #2952CC 100%);

  /* ── Glass ── */
  --glass-bg: rgba(255,255,255,0.04);
  --glass-border: rgba(255,255,255,0.08);
  --glass-blur: blur(12px);

  /* ── Typography ── */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --text-xs:   clamp(0.75rem,  0.7rem + 0.25vw,  0.875rem);
  --text-sm:   clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
  --text-base: clamp(1rem,     0.9rem + 0.5vw,   1.125rem);
  --text-lg:   clamp(1.125rem, 1rem + 0.625vw,   1.25rem);
  --text-xl:   clamp(1.25rem,  1.1rem + 0.75vw,  1.5rem);
  --text-2xl:  clamp(1.5rem,   1.3rem + 1vw,     2rem);
  --text-3xl:  clamp(2rem,     1.6rem + 2vw,     3rem);
  --text-4xl:  clamp(2.5rem,   1.8rem + 3.5vw,   4.5rem);
  --text-5xl:  clamp(3rem,     2rem + 5vw,       6.5rem);

  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-black:    900;

  --leading-tight:   1.15;
  --leading-snug:    1.3;
  --leading-normal:  1.5;
  --leading-relaxed: 1.7;

  --tracking-tight:   -0.03em;
  --tracking-normal:  0;
  --tracking-wide:    0.05em;
  --tracking-widest:  0.15em;

  /* ── Spacing (8px base) ── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.75rem;
  --space-4:  1rem;
  --space-5:  1.25rem;
  --space-6:  1.5rem;
  --space-7:  1.75rem;
  --space-8:  2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ── Containers ── */
  --container-sm:  640px;
  --container-md:  768px;
  --container-lg:  1024px;
  --container-xl:  1280px;
  --container-2xl: 1440px;

  /* ── Radii ── */
  --radius-sm:   4px;
  --radius-md:   8px;
  --radius-lg:   12px;
  --radius-xl:   20px;
  --radius-2xl:  32px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2);
  --shadow-md:  0 4px 16px rgba(0,0,0,0.4), 0 2px 6px rgba(0,0,0,0.2);
  --shadow-lg:  0 20px 60px rgba(0,0,0,0.5), 0 8px 24px rgba(0,0,0,0.3);
  --shadow-glow-blue:   0 0 40px rgba(41,82,204,0.35);
  --shadow-glow-violet: 0 0 40px rgba(124,58,237,0.35);
  --shadow-glow-coral:  0 0 40px rgba(240,84,56,0.35);

  /* ── Motion ── */
  --ease-out-expo:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-back:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out:    cubic-bezier(0.4, 0, 0.2, 1);
  --ease-spring:    cubic-bezier(0.175, 0.885, 0.32, 1.275);

  --duration-fast:   150ms;
  --duration-normal: 300ms;
  --duration-slow:   500ms;
  --duration-slower: 800ms;
}
