:root {
  color-scheme: light;

  /* Base palette */
  --color-ink-950: #020617;
  --color-ink-900: #0f172a;
  --color-ink-800: #13203a;
  --color-ink-700: #1e293b;
  --color-ink-500: #334155;
  --color-ink-300: #475569;
  --color-cloud-000: #ffffff;
  --color-cloud-050: #f8fafc;
  --color-cloud-100: #f1f5f9;
  --color-cloud-200: #e2e8f0;

  /* Accent & support palette */
  --color-accent-primary-400: #6471ff;
  --color-accent-primary-500: #4d5bff;
  --color-accent-primary-600: #3b45d9;
  --color-accent-warm-500: #ff7a45;
  --color-accent-support-500: #22d3ee;
  --color-success-500: #22c55e;
  --color-warning-500: #f59e0b;
  --color-error-500: #ef4444;
  --color-info-500: #0ea5e9;

  /* Semantic surfaces (light) */
  --surface-body: var(--color-cloud-000);
  --surface-muted: var(--color-cloud-100);
  --surface-panel: rgba(255, 255, 255, 0.98);
  --surface-overlay: rgba(255, 255, 255, 0.85);
  --surface-elevated: rgba(2, 6, 23, 0.06);
  --surface-contrast: var(--color-ink-900);
  --surface-accent: rgba(77, 91, 255, 0.10);
  --surface-divider: rgba(2, 6, 23, 0.10);
  --surface-alt: var(--color-ink-900);

  /* Borders & outlines (light) */
  --border-subtle: rgba(2, 6, 23, 0.08);
  --border-strong: rgba(2, 6, 23, 0.24);
  --divider-contrast: rgba(2, 6, 23, 0.16);
  --focus-ring: 0 0 0 3px rgba(77, 91, 255, 0.35);

  /* Typography scale */
  --font-family-heading: "Inter", sans-serif;
  --font-family: "Inter", sans-serif;
  --font-family-mono: "Inter", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --line-height-tight: 1.2;
  --line-height-default: 1.55;
  --line-height-loose: 1.7;
  --letter-spacing-tight: -0.01em;
  --letter-spacing-wide: 0.08em;

  --font-size-2xs: clamp(0.75rem, 0.7rem + 0.2vw, 0.8rem);
  --font-size-xs: clamp(0.8125rem, 0.76rem + 0.3vw, 0.9rem);
  --font-size-sm: clamp(0.875rem, 0.82rem + 0.3vw, 0.95rem);
  --font-size-base: clamp(1rem, 0.96rem + 0.4vw, 1.15rem);
  --font-size-md: clamp(1.125rem, 1.05rem + 0.5vw, 1.35rem);
  --font-size-lg: clamp(1.375rem, 1.25rem + 0.8vw, 1.75rem);
  --font-size-xl: clamp(1.75rem, 1.5rem + 1.2vw, 2.5rem);
  --font-size-2xl: clamp(2.25rem, 1.8rem + 1.5vw, 3.125rem);
  --font-size-3xl: clamp(3rem, 2.2rem + 2vw, 4rem);

  /* Semantic typography roles (light) */
  --text-primary: var(--color-ink-900);
  --text-secondary: rgba(2, 6, 23, 0.72);
  --text-muted: rgba(2, 6, 23, 0.56);
  --text-inverse: var(--color-cloud-000);
  --text-accent: var(--color-accent-primary-500);
  --text-success: var(--color-success-500);
  --text-warning: var(--color-warning-500);
  --text-error: var(--color-error-500);

  /* Legacy aliases for compatibility */
  --accent-primary: var(--color-accent-primary-500);
  --surface-base: var(--surface-body);

  /* Spacing (8pt grid with micro adjustments) */
  --space-0: 0;
  --space-2: 0.125rem;
  --space-4: 0.25rem;
  --space-6: 0.375rem;
  --space-8: 0.5rem;
  --space-12: 0.75rem;
  --space-16: 1rem;
  --space-20: 1.25rem;
  --space-24: 1.5rem;
  --space-32: 2rem;
  --space-40: 2.5rem;
  --space-48: 3rem;
  --space-56: 3.5rem;
  --space-64: 4rem;
  --space-80: 5rem;
  --section-padding-block: clamp(3.5rem, 6vw, 6.5rem);
  --section-padding-inline: clamp(1.5rem, 4vw, 4rem);

  /* Radius */
  --radius-xs: 0.25rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1.25rem;
  --radius-pill: 999px;

  /* Shadows */
  --shadow-xs: 0 4px 12px rgba(15, 23, 42, 0.08);
  --shadow-sm: 0 10px 30px rgba(15, 23, 42, 0.12);
  --shadow-md: 0 18px 40px rgba(15, 23, 42, 0.16);
  --shadow-lg: 0 30px 80px rgba(15, 23, 42, 0.24);

  /* Motion */
  --motion-duration-quick: 120ms;
  --motion-duration-base: 220ms;
  --motion-duration-slow: 360ms;
  --motion-ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --motion-ease-emphasis: cubic-bezier(0.22, 1, 0.36, 1);

  /* Layout & sizing */
  --content-max-width: 90rem;
  --content-measure: 65ch;
  --container-gutter: clamp(1.25rem, 4vw, 3.5rem);
  --nav-height: 4.5rem;

}

@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
