/* ============================================
   DESIGN TOKENS — locked approved global theme
   Mirrors output/v5-approved/index.html :root exactly, plus the two
   additional tokens the approved inner pages declare
   (--color-primary-dark, --container-pad).
   The names below are the ONLY custom-property names inc/tokens.php
   is allowed to emit — keep the two in sync.
   ============================================ */
:root {
  --color-primary: #4a7ba8;
  --color-primary-dark: #3a6b98;
  --color-secondary: #7cc7d9;
  --color-accent: #e8a584;
  --color-bg-dark: #0a0a0a;
  --color-bg-light: #f5f8fa;
  --color-bg-white: #ffffff;
  --color-bg-navy: #0f1b2d;
  --color-border: #e0ebf0;
  --color-error: #ef4444;
  --color-success: #22c55e;
  --color-text-dark: #111111;
  --color-text-medium: #555555;
  --color-text-light: #999999;
  --color-text-inverse: #ffffff;
  --color-warning: #f59e0b;
  --container-max: 1200px;
  --container-narrow: 800px;
  --container-wide: 1920px;
  --container-pad: clamp(1rem, 4vw, 2rem);
  --font-heading: 'Inter', sans-serif;
  --font-body: 'Inter', sans-serif;
  --header-height: 80px;
  --footer-padding-top: 80px;
  --footer-padding-bottom: 40px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-full: 9999px;
  --shadow-sm: 0 1px 8px rgba(0,0,0,0.06);
  --shadow-md: 0 2px 16px rgba(0,0,0,0.08);
  --shadow-lg: 0 4px 32px rgba(0,0,0,0.12);
  --space-section: 96px;
  --space-container-x: 40px;
  --space-card: 40px;
  --space-gap: 24px;
  --space-stack: 16px;
  /* Per-section overrides written inline by phc_section_style() from the
     ACF Padding Top / Padding Bottom fields. Declared here so the property
     is never undefined; `initial` is the guaranteed-invalid value, so every
     var(--section-pt, …) / var(--section-pb, …) fallback in home.css and
     main.css keeps resolving to its own approved default exactly as before,
     and an inline value on a section still wins over this declaration. */
  --section-pt: initial;
  --section-pb: initial;
  --text-display: clamp(40px, calc(2.0712vw + 32.233px), 72px);
  --text-h1: clamp(36px, calc(1.2945vw + 31.146px), 56px);
  --text-h2: clamp(28px, calc(1.0356vw + 24.117px), 44px);
  --text-h3: clamp(24px, calc(0.5178vw + 22.058px), 32px);
  --text-h4: clamp(20px, calc(0.2589vw + 19.029px), 24px);
  --text-body-lg: clamp(18px, calc(0.1294vw + 17.515px), 20px);
  --text-body: clamp(15px, calc(0.0647vw + 14.757px), 16px);
  --text-small: clamp(13px, calc(0.0647vw + 12.757px), 14px);
  --text-label: 12px;
  --transition-fast: 150ms cubic-bezier(0.4,0,0.2,1);
  --transition-base: 250ms cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 400ms cubic-bezier(0.4,0,0.2,1);
  --transition-luxury: 700ms cubic-bezier(0.25,0.1,0.25,1);
}
