:root {
  /* Color */
  --color-bg: #FAFAF9;
  --color-surface: #FFFFFF;
  --color-text-primary: #1C1917;
  --color-text-secondary: #57534E;
  --color-text-tertiary: #A8A29E;
  --color-border: #E7E5E4;
  --color-border-strong: #D6D3D1;
  --color-accent: #FF5A1F;
  --color-accent-hover: #E04F1B;
  --color-accent-pressed: #C74618;
  --color-accent-subtle: #FFEEE5;
  --color-focus: #FF5A1F;

  /* Type */
  --font-sans: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: ui-monospace, 'SF Mono', 'Cascadia Code', 'Roboto Mono', Menlo, Consolas, monospace;

  --text-eyebrow: 0.8125rem;  /* 13px, fixed at all breakpoints */
  --text-xs: 0.75rem;         /* 12px, fixed */
  --text-sm: 0.875rem;        /* 14px, fixed */
  --text-base: 1rem;          /* 16px, fixed */
  --text-md: 1.0625rem;       /* 17px mobile */
  --text-lg: 1.25rem;         /* 20px mobile */
  --text-heading: 1.875rem;   /* 30px mobile */
  --text-display: 2.5rem;     /* 40px mobile */

  --leading-tight: 1.1;
  --leading-snug: 1.4;
  --leading-normal: 1.6;

  /* Spacing (8px rhythm) */
  --space-1: 0.25rem;  /* 4px */
  --space-2: 0.5rem;   /* 8px */
  --space-3: 0.75rem;  /* 12px */
  --space-4: 1rem;     /* 16px */
  --space-5: 1.5rem;   /* 24px */
  --space-6: 2rem;     /* 32px */
  --space-7: 3rem;     /* 48px */
  --space-8: 4rem;     /* 64px */
  --space-9: 6rem;     /* 96px */
  --space-10: 8rem;    /* 128px */

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 999px;

  /* Container */
  --container-max: 1200px;
  --container-padding: 1.25rem;

  /* Motion */
  --ease-out-confident: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 0.2s;
  --duration-base: 0.6s;
  --duration-nav: 0.3s;

  /* Z-index */
  --z-nav: 50;
}

@media (min-width: 768px) {
  :root {
    --text-md: 1.125rem;      /* 18px */
    --text-lg: 1.375rem;      /* 22px */
    --text-heading: 2.25rem;  /* 36px */
    --text-display: 4rem;     /* 64px */
    --container-padding: 2rem;
  }
}

@media (min-width: 1024px) {
  :root {
    --text-heading: 2.75rem;  /* 44px */
    --text-display: 5.5rem;   /* 88px */
    --container-padding: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-fast: 0.01ms;
    --duration-base: 0.01ms;
    --duration-nav: 0.01ms;
  }
}
