:root {
  /* ─── Colors ─── */
  --color-black: #1d1d1f;
  --color-white: #fbfbfd;

  --color-gray-100: #f5f5f7;
  --color-gray-200: #e8e8ed;
  --color-gray-400: #86868b;
  --color-gray-600: #6e6e73;
  --color-gray-800: #424245;

  --color-accent: #0071e3;
  --color-accent-hover: #0077ed;

  /* Semantic */
  --color-bg-primary: var(--color-white);
  --color-bg-secondary: var(--color-gray-100);
  --color-text-primary: var(--color-black);
  --color-text-secondary: var(--color-gray-600);
  --color-text-muted: var(--color-gray-400);

  /* ─── Typography ─── */
  --font-display: 'SF Pro Display', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-text: 'SF Pro Text', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --text-xs:   clamp(0.75rem,  1.2vw,  0.875rem);
  --text-sm:   clamp(0.875rem, 1.5vw,  1rem);
  --text-base: clamp(1rem,     1.8vw,  1.125rem);
  --text-lg:   clamp(1.125rem, 2vw,    1.3125rem);
  --text-xl:   clamp(1.25rem,  2.5vw,  1.5rem);
  --text-2xl:  clamp(1.5rem,   3vw,    2rem);
  --text-3xl:  clamp(2rem,     4vw,    3.5rem);
  --text-hero: clamp(2.5rem,   6vw,    5rem);

  /* ─── Spacing ─── */
  --space-1:  0.5rem;    /*  8px */
  --space-2:  1rem;      /* 16px */
  --space-3:  1.5rem;    /* 24px */
  --space-4:  2rem;      /* 32px */
  --space-6:  3rem;      /* 48px */
  --space-8:  4rem;      /* 64px */
  --space-12: 6rem;      /* 96px */
  --space-16: 8rem;      /* 128px */
  --space-section: 10rem; /* 160px */

  /* Legacy aliases (from brief) */
  --space-xs: var(--space-1);
  --space-sm: var(--space-2);
  --space-md: var(--space-4);
  --space-lg: var(--space-8);
  --space-xl: var(--space-12);
  --space-2xl: var(--space-16);

  /* ─── Border radius ─── */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;

  /* ─── Shadows ─── */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.18);

  /* ─── Transitions ─── */
  --transition-fast: 0.15s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.6s ease;

  /* ─── Z-index ─── */
  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;

  /* ─── Layout ─── */
  --nav-height: 64px;
  --content-max-width: 1200px;
  --content-padding: 1.5rem;
}

@media (min-width: 768px) {
  :root {
    --content-padding: 3rem;
  }
}

@media (min-width: 1024px) {
  :root {
    --content-padding: 4rem;
  }
}
