/* ============================================================
   css/tokens.css — the site's typography scale
   ============================================================
   The single source of truth for every font-size on the site.
   Loaded FIRST on every page, before main.css and before any
   page's own <style> block, so the tokens resolve everywhere —
   including the standalone pages (map.html, community-map.html,
   reset-password.html) that don't load main.css at all.

   Nothing else belongs in this file. Colours, spacing and the
   rest of the design tokens stay in main.css's :root. */

:root {
  /* ─── Typography scale ───────────────────────────────────────
     Nine steps for the whole site. Every font-size should be one of
     these; a new number means a role that doesn't exist yet, not a
     new size. Families are unchanged: --font-display (Georgia) for
     headings and values, --font-body for everything else.

     --text-base is also the iOS floor: Safari zooms the page when a
     guest taps an input smaller than 16px, so every editable control
     (input, textarea, select) uses it regardless of context. Labels
     and helper text around them can still be --text-xs. */
  --text-display: clamp(2.8125rem, 5vw, 4rem); /* 45–64  hero only */
  --text-3xl: 2rem;                          /* 32     page titles */
  --text-2xl: 1.75rem;                       /* 28     section headings, modal titles */
  --text-xl: 1.25rem;                        /* 20     card titles */
  --text-lg: 1.125rem;                       /* 18     prices, prominent values */
  --text-base: 1rem;                         /* 16     body, inputs, large buttons */
  --text-sm: .875rem;                        /* 14     nav, buttons, metadata */
  --text-xs: .75rem;                         /* 12     labels, captions, helper text */
  --text-2xs: .6875rem;                      /* 11     badges, status pills */

  /* The card trio now reads from the scale rather than holding its
     own numbers, so card type moves with everything else. */
  --card-heading-size: var(--text-xl);
  --card-heading-weight: 600;
  --card-subheading-size: var(--text-base);
  --card-subheading-weight: 500;
  --card-meta-size: var(--text-sm);
  --card-meta-weight: 400;
}
