@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter/InterVariable.woff2') format('woff2');
}

:root {
  --color-primary: #0055d4;
  --color-primary-dark: #003fa3;
  --color-primary-light: #4d8be6;
  --color-primary-subtle: rgba(0, 85, 212, 0.06);

  --color-secondary: #00a86b;
  --color-secondary-dark: #00875a;
  --color-secondary-light: #33b888;

  --color-accent: #0055d4;

  --color-text: #111827;
  --color-text-light: #4b5563;
  --color-text-muted: #9ca3af;

  --color-bg: #ffffff;
  --color-bg-alt: #f9fafb;
  --color-bg-dark: #f3f4f6;
  --color-bg-elevated: #ffffff;

  --color-border: #e5e7eb;
  --color-border-light: #f3f4f6;

  --color-error: #dc2626;
  --color-success: #059669;
  --color-warning: #d97706;

  --font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --font-size-xs: clamp(0.6875rem, 0.65rem + 0.19vw, 0.8125rem);
  --font-size-sm: clamp(0.8125rem, 0.78rem + 0.16vw, 0.9375rem);
  --font-size-base: clamp(0.9375rem, 0.9rem + 0.19vw, 1.0625rem);
  --font-size-lg: clamp(1.125rem, 1.05rem + 0.375vw, 1.375rem);
  --font-size-xl: clamp(1.375rem, 1.2rem + 0.875vw, 1.875rem);
  --font-size-2xl: clamp(1.875rem, 1.6rem + 1.375vw, 2.75rem);
  --font-size-3xl: clamp(2.5rem, 2rem + 2.5vw, 4rem);

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --line-height-tight: 1.15;
  --line-height-snug: 1.3;
  --line-height-normal: 1.6;
  --line-height-relaxed: 1.75;

  --letter-spacing-tight: -0.025em;
  --letter-spacing-wide: 0.08em;

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

  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.25rem;
  --radius-full: 9999px;

  --shadow-xs: 0 1px 2px rgba(0,0,0,0.04);
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 8px -2px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.04);
  --shadow-lg: 0 12px 24px -4px rgba(0,0,0,0.08), 0 4px 8px -4px rgba(0,0,0,0.03);
  --shadow-xl: 0 20px 40px -8px rgba(0,0,0,0.1), 0 8px 16px -8px rgba(0,0,0,0.04);

  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
  --transition-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);

  --container-max-width: 1200px;
  --container-padding: clamp(1rem, 4vw, 2rem);

  --focus-ring: 0 0 0 3px rgba(0, 85, 212, 0.25);

  --navbar-height: 4rem;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0ms;
    --transition-base: 0ms;
    --transition-slow: 0ms;
  }
}
