/* =============================================================================
   DESIGN TOKENS — the single place to change colours, type, spacing, radii.

   TEMPORARY PALETTE. The accent is sampled from the supplied logo SVG
   (#f15a2b) and the greys are neutral slate. When the final brand palette
   arrives, replace the --color-* values below; nothing else needs to change.

   Contrast notes (WCAG AA, checked):
     --color-accent-on      on --color-accent        4.7 : 1  (button text)
     --color-accent-strong  on #fff                  4.5 : 1+ (links, icons)
     --color-text-muted     on --color-bg-alt        5.5 : 1
     --color-accent-on-dark on --color-dark          8.8 : 1
   ========================================================================== */
:root {
  /* Brand accent (from logo) */
  --color-accent: #f15a2b;
  --color-accent-hover: #f26a40;
  --color-accent-strong: #c2410c;   /* darker accent for text/icons on light backgrounds */
  --color-accent-soft: #fdeee8;     /* tints, icon backgrounds */
  --color-accent-on: #1a1d21;       /* text colour on accent-filled buttons */
  --color-accent-on-dark: #ffb08f;  /* accent-coloured text on dark backgrounds */

  /* Neutrals */
  --color-bg: #ffffff;
  --color-bg-alt: #f5f6f8;
  --color-surface: #ffffff;
  --color-border: #e3e6ea;
  --color-border-strong: #c9cfd6;
  --color-text: #1f2328;
  --color-text-muted: #5b6470;
  --color-dark: #1c2430;            /* dark sections & footer */
  --color-dark-2: #26303e;
  --color-dark-text: #f3f4f6;
  --color-dark-muted: #b6bec9;
  --color-dark-border: rgba(255, 255, 255, 0.14);

  /* States */
  --color-focus: #1d4ed8;
  --color-error: #b42318;
  --color-error-soft: #fdecea;
  --color-success: #1f6b3a;
  --color-success-soft: #e8f5ec;
  --color-warning: #8a5a00;
  --color-warning-soft: #fff6e0;

  /* Typography */
  --font-sans: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-md: 1.125rem;
  --text-lg: 1.25rem;
  --text-xl: 1.5rem;
  --text-2xl: clamp(1.6rem, 1.1rem + 1.6vw, 2.35rem);   /* section titles */
  --text-display: clamp(2.1rem, 1.3rem + 2.6vw, 3.25rem); /* hero H1 */
  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.6;

  /* Spacing (4px base) */
  --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;
  --section-pad: clamp(3.5rem, 8vw, 6.5rem);

  /* Shape & depth */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;
  --shadow-sm: 0 1px 2px rgba(16, 24, 40, 0.06), 0 1px 3px rgba(16, 24, 40, 0.08);
  --shadow-md: 0 6px 18px rgba(16, 24, 40, 0.08), 0 2px 6px rgba(16, 24, 40, 0.06);
  --shadow-lg: 0 18px 40px rgba(16, 24, 40, 0.12);

  /* Layout */
  --container: 1180px;
  --gutter: clamp(1rem, 4vw, 2rem);
  --header-h: 72px;
  --mobile-bar-h: 68px;

  /* Breakpoints (reference only — CSS variables cannot be used in @media):
       sm  640px   md 768px   lg 960px   xl 1180px                          */
}
