:root {
  /* ── Reference palette (OKLCH) ── */
  --pink-primary: oklch(62% 0.24 350);
  --pink-dark: oklch(52% 0.22 350);
  --pink-light: oklch(93% 0.06 350);
  --pink-muted: oklch(78% 0.14 350);
  --black: oklch(12% 0.01 285);
  --black-soft: oklch(18% 0.015 285);
  --black-muted: oklch(28% 0.02 285);
  --gray-100: oklch(96% 0.005 285);
  --gray-400: oklch(65% 0.01 285);
  --gray-600: oklch(48% 0.015 285);
  --white: oklch(100% 0 0);

  /* ── Semantic tokens ── */
  --color-surface: var(--white);
  --color-surface-inverse: var(--black);
  --color-on-surface: var(--black);
  --color-on-surface-inverse: var(--white);
  --color-accent: var(--pink-primary);
  --color-accent-hover: var(--pink-dark);
  --color-accent-subtle: var(--pink-light);
  --color-border: oklch(90% 0.008 285);
  --color-border-inverse: oklch(25% 0.02 285);

  /* Legacy aliases (keep rest of site working) */
  --text-dark: var(--black);
  --text-muted: var(--gray-600);
  --text-light: var(--gray-400);
  --bg-light: var(--gray-100);
  --bg-section: oklch(97% 0.02 350);
  --border: var(--color-border);
  --pink-gradient: linear-gradient(135deg, var(--pink-primary) 0%, var(--pink-dark) 100%);

  /* Shadows */
  --shadow-sm: 0 1px 2px oklch(12% 0.01 285 / 0.06);
  --shadow-md: 0 4px 20px oklch(12% 0.01 285 / 0.08);
  --shadow-lg: 0 12px 40px oklch(62% 0.24 350 / 0.15);
  --shadow-header: 0 1px 0 var(--color-border-inverse);

  /* Typography */
  --font-display: 'Poppins', sans-serif;
  --font-heading: 'Syne', sans-serif;
  --font-body: 'DM Sans', sans-serif;
  --fs-xs: 0.75rem;
  --fs-sm: 0.875rem;
  --fs-base: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.25rem;
  --fs-2xl: 1.5rem;
  --fs-3xl: 2rem;
  --fs-4xl: 2.5rem;
  --fs-5xl: 3rem;

  /* Spacing */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;

  /* Layout */
  --container-max: 1200px;
  --header-height: 64px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  /* Transitions */
  --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
