:root {
  /* Brand core */
  --esc-blue: #1F75BC;
  --esc-green: #3FAE49;
  --esc-orange: #F26B1F;
  --esc-purple: #6B4FBB;
  --esc-error: #D93F3F;

  /* Neutral scale (ink) */
  --ink-0: #FFFFFF;
  --ink-50: #F4F5F7;
  --ink-100: #E6E8EC;
  --ink-200: #C9CCD3;
  --ink-300: #9CA0AB;
  --ink-400: #6E7380;
  --ink-500: #4A4F5C;
  --ink-600: #2E323D;
  --ink-700: #1C1E26;
  --ink-800: #131419;
  --ink-900: #0A0B0F;

  /* Semantic surfaces (light mode) */
  --bg: var(--ink-50);
  --surface: var(--ink-0);
  --border: var(--ink-100);
  --text: var(--ink-700);
  --text-muted: var(--ink-400);

  /* Typography */
  --font-display: "Space Grotesk", "Inter", sans-serif;
  --font-body: "Inter", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "Fira Code", monospace;

  /* Type scale (1.25 ratio) */
  --text-xs: 12px;
  --text-sm: 14px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 25px;
  --text-2xl: 31px;
  --text-3xl: 39px;
  --text-4xl: 49px;
  --text-5xl: 61px;

  /* Layout */
  --container-max: 1280px;
  --gutter: 24px;
  --margin-desktop: 64px;
  --margin-tablet: 32px;
  --margin-mobile: 16px;

  /* Spacing (4px base) */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;

  /* Radius */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 12px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 2px rgba(15, 19, 24, 0.06);
  --shadow-md: 0 4px 12px rgba(15, 19, 24, 0.08);
  --shadow-lg: 0 12px 32px rgba(15, 19, 24, 0.12);
}
