:root {
  /* === Color tokens (Design.json + Colour_Palette.png) === */
  --color-primary-500: #2563EB; /* Primary brand blue */
  --color-primary-600: #1E4FCC; /* Primary hover */
  --color-primary-700: #1C4BBE; /* Primary active */
  --color-primary-100: #93C5FD; /* Focus ring / disabled overlay */
  --color-accent-500: #10B981; /* Accent CTA (hero) */
  --color-accent-600: #0E9E73; /* Accent hover */
  --color-secondary-100: #F3F4F6; /* Secondary surface */
  --color-secondary-200: #E9ECF3; /* Secondary hover surface (sampled) */
  --color-neutral-50: #F9FAFB; /* Background base */
  --color-neutral-100: #F4F6FB; /* Soft surface (palette background) */
  --color-neutral-200: #E5E7EB; /* Light border */
  --color-neutral-300: #D1D5DB; /* Medium border */
  --color-neutral-400: #9CA3AF; /* Muted text */
  --color-neutral-500: #6B7280; /* Secondary text */
  --color-neutral-700: #374151; /* Heading support */
  --color-neutral-900: #111827; /* Primary text */
  --color-success-500: #22C55E;
  --color-warning-500: #F59E0B;
  --color-danger-500: #EF4444;
  --color-link: #2563EB;
  --color-link-hover: #1D4ED8;
  --gradient-hero: linear-gradient(180deg, #FFFFFF 0%, #F9FAFB 100%);

  /* === Typography tokens === */
  --font-family-sans: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-weight-heading: 700;
  --font-weight-body: 400;
  --font-weight-button: 600;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --leading-loose: 1.8;

  /* === Spacing scale === */
  --space-0: 0;
  --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-9: 2.5rem;
  --space-10: 3rem;

  /* === Layout sizing === */
  --container-max: 72rem;
  --container-wide: 90rem;
  --header-height: 4.5rem;

  /* === Radii === */
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 20px;
  --radius-pill: 999px;

  /* === Shadows === */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-button-primary: 0 2px 6px rgba(37, 99, 235, 0.3);
  --shadow-button-primary-hover: 0 4px 10px rgba(37, 99, 235, 0.4);
  --shadow-card-hover: 0 4px 12px rgba(0, 0, 0, 0.08);

  /* === Motion === */
  --transition-base: all 0.2s ease-in-out;
}
