/**
 * Design Tokens & CSS Custom Properties
 * Restrained, editorial, high-contrast palette
 */
:root {
  /* Color Palette - Warm Neutral & Near Black */
  --bg: #fbfbfa;
  --bg-subtle: #f5f5f2;
  --surface: #ffffff;
  --surface-raised: #fcfcfb;
  
  --text-primary: #121316;
  --text-secondary: #4a505b;
  --text-muted: #737a87;
  
  --border: #e2e4e9;
  --border-subtle: #edeef2;
  --border-focus: #121316;
  
  /* Restrained Single Accent: Deep Architectural Navy */
  --accent: #19324a;
  --accent-light: #eef3f8;
  --accent-hover: #0e2030;
  
  /* Typography Scale */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  
  --text-xs: 0.75rem;    /* 12px */
  --text-sm: 0.875rem;   /* 14px */
  --text-base: 1rem;     /* 16px */
  --text-md: 1.125rem;   /* 18px */
  --text-lg: 1.25rem;    /* 20px */
  --text-xl: 1.5rem;     /* 24px */
  --text-2xl: 1.875rem;  /* 30px */
  --text-3xl: 2.25rem;   /* 36px */
  --text-4xl: 2.75rem;   /* 44px */
  
  --leading-tight: 1.2;
  --leading-snug: 1.35;
  --leading-normal: 1.55;
  --leading-relaxed: 1.7;
  
  /* Layout & Geometry */
  --max-width: 1140px;
  --nav-height: 64px;
  
  --radius-sm: 3px;
  --radius-md: 6px;
  --radius-lg: 8px;
  
  /* Spacing */
  --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: 6rem;
  
  /* Shadows - Minimal, functional, non-distracting */
  --shadow-sm: 0 1px 2px rgba(18, 19, 22, 0.04);
  --shadow-card: 0 1px 3px rgba(18, 19, 22, 0.05), 0 1px 2px rgba(18, 19, 22, 0.02);
  
  /* Transitions */
  --transition-fast: 150ms cubic-bezier(0.16, 1, 0.3, 1);
  --transition-normal: 240ms cubic-bezier(0.16, 1, 0.3, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --transition-fast: 0s;
    --transition-normal: 0s;
  }
}
