/* ==========================================================================
   Snow Busters — Design Tokens
   Source of truth for brand colours, type scale, spacing, radii, shadows.
   ========================================================================== */

:root {
  /* Brand colours (client-supplied, source of truth) */
  --sb-navy: #002753;
  --sb-navy-800: #013a72;
  --sb-slate: #3F6171;
  --sb-slate-100: #e7edf0;
  --sb-white: #FFFFFF;
  --sb-grey-100: #F5F7F9;
  --sb-ink: #111827;

  /* Functional aliases */
  --color-bg: var(--sb-white);
  --color-bg-alt: var(--sb-grey-100);
  --color-surface: var(--sb-white);
  --color-primary: var(--sb-navy);
  --color-primary-hover: var(--sb-navy-800);
  --color-secondary: var(--sb-slate);
  --color-text: var(--sb-ink);
  --color-text-muted: #4b5768;
  --color-text-on-primary: #ffffff;
  --color-border: #e3e8ec;
  --color-border-strong: #cdd6dc;
  --color-success: #1f7a4d;
  --color-focus: #1f8fff;

  /* Typography */
  --font-display: 'Manrope', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --fs-h1: clamp(2.25rem, 1.7rem + 2.4vw, 3.75rem);
  --fs-h2: clamp(1.75rem, 1.4rem + 1.5vw, 2.75rem);
  --fs-h3: clamp(1.375rem, 1.2rem + 0.7vw, 1.75rem);
  --fs-h4: 1.125rem;
  --fs-lead: clamp(1.05rem, 1rem + 0.3vw, 1.25rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-micro: 0.75rem;

  --lh-tight: 1.15;
  --lh-snug: 1.35;
  --lh-body: 1.6;

  /* Spacing scale */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;
  --space-10: 8rem;

  --container-max: 1200px;
  --container-narrow: 780px;
  --section-pad-y: clamp(3.5rem, 3rem + 2vw, 6rem);

  /* Radii */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  /* Shadows (subtle, no heavy drop shadows) */
  --shadow-sm: 0 1px 2px rgba(17, 24, 39, 0.06), 0 1px 1px rgba(17, 24, 39, 0.04);
  --shadow-md: 0 8px 24px rgba(0, 39, 83, 0.08), 0 2px 6px rgba(0, 39, 83, 0.05);
  --shadow-lg: 0 20px 48px rgba(0, 39, 83, 0.12), 0 6px 16px rgba(0, 39, 83, 0.06);

  /* Motion */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 150ms;
  --dur-med: 280ms;
  --dur-slow: 420ms;

  /* Layout */
  --header-height: 76px;
  --header-height-mobile: 64px;
}

@media (prefers-color-scheme: dark) {
  /* Intentionally not switching brand look to dark mode automatically —
     this is a marketing site, brand consistency (navy on white) matters
     more than OS-level dark mode. Kept as a hook for future use only. */
}
