/* =============================================================================
   Design tokens — one place to tweak the whole visual system.
   ============================================================================= */
:root {
  /* Brand colours */
  --c-navy:        #1e3a8a;   /* trust, primary */
  --c-navy-dark:   #172554;
  --c-navy-light:  #3b5bbf;
  --c-orange:      #f97316;   /* heating / CTA accent */
  --c-orange-dark: #c2410c;
  --c-teal:        #0891b2;   /* cooling accent */
  --c-teal-dark:   #155e75;

  /* Neutrals */
  --c-bg:          #f8fafc;
  --c-bg-warm:     #fef9f3;
  --c-surface:     #ffffff;
  --c-ink:         #0f172a;
  --c-ink-muted:   #475569;
  --c-ink-faint:   #94a3b8;
  --c-border:      #e2e8f0;
  --c-border-strong: #cbd5e1;

  /* Semantic */
  --c-success:     #15803d;
  --c-success-bg:  #dcfce7;
  --c-warning:     #b45309;
  --c-warning-bg:  #fef3c7;
  --c-danger:      #b91c1c;
  --c-danger-bg:   #fee2e2;
  --c-info:        var(--c-navy);
  --c-info-bg:     #dbeafe;

  /* Typography */
  --font-display: 'Montserrat', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

  /* Type scale bumped one notch for easier reading at desktop distance. */
  --fs-xs:  0.875rem;
  --fs-sm:  1rem;
  --fs-md:  1.0625rem;
  --fs-lg:  1.25rem;
  --fs-xl:  1.5rem;
  --fs-2xl: 2rem;
  --fs-3xl: clamp(2.25rem, 3vw + 1rem, 3.25rem);
  --fs-4xl: clamp(2.75rem, 5vw + 1rem, 4.75rem);

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

  /* Radii + shadows */
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 16px;
  --r-pill: 999px;

  --sh-sm:  0 1px 2px rgba(15, 23, 42, 0.06);
  --sh-md:  0 4px 12px rgba(15, 23, 42, 0.08);
  --sh-lg:  0 12px 32px rgba(15, 23, 42, 0.12);
  --sh-xl:  0 24px 56px rgba(15, 23, 42, 0.16);

  /* Layout */
  --container: min(1200px, 92vw);
  --header-h:  92px;

  /* Motion */
  --ease-out:    cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Brand gradients (reused on hero, CTAs, etc.) */
  --grad-warm:  linear-gradient(135deg, #f97316 0%, #ef4444 60%, #b91c1c 100%);
  --grad-cool:  linear-gradient(135deg, #0891b2 0%, #1e3a8a 70%, #172554 100%);
  --grad-night: linear-gradient(135deg, #172554 0%, #1e3a8a 50%, #3b5bbf 100%);
}
