:root {
  --color-surface: #f8f8f8;
  --color-surface-dim: #ebebeb;
  --color-surface-container: #f4f4f4;
  --color-bg: #f8f8f8;
  --color-bg-alt: #f2f2f2;
  --color-white: #ffffff;
  --color-text: #1b1b1d;
  --color-text-muted: #45464d;
  --color-text-light: #76777d;
  --color-primary: #000000;
  --color-primary-container: #131b2e;
  --color-on-primary: #ffffff;
  --color-secondary: #575e70;
  --color-accent: #e65100;
  --color-accent-hover: #cc4800;
  --color-border: #e2e8f0;
  --color-border-dark: #c6c6cd;
  --color-inverse: #303032;
  --color-footer: #1a1a1c;

  --font-display: 'Hanken Grotesk', sans-serif;
  --font-body: 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.5rem;
  --text-2xl: 2rem;
  --text-3xl: 2.5rem;
  --text-4xl: 4rem;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 7.5rem;

  --container-max: 1280px;
  --gutter: 1.5rem;
  --gutter-mobile: 1.25rem;
  --section-padding: var(--space-20);
  --section-gap: 7.5rem;

  --radius-none: 0;
  --shadow-none: none;

  --header-height: 5rem;
  --touch-min: 2.75rem;

  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 767px) {
  :root {
    --section-padding: var(--space-12);
    --section-gap: var(--space-16);
    --text-4xl: 2.5rem;
    --text-3xl: 2rem;
  }
}

@media (max-width: 1023px) {
  :root {
    --section-padding: var(--space-16);
  }
}
