/* Reform to Society — shared type scale (loaded after Tailwind on every page)
   Change a size here and it updates across Home, About, Services, Gallery, Contact. */
:root {
  --fs-h1: clamp(2rem, 1.4rem + 2.4vw, 3rem);       /* page hero titles   32 → 48px */
  --fs-h2: clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem); /* section titles     28 → 36px */
  --fs-h3: clamp(1.375rem, 1.2rem + .7vw, 1.75rem); /* sub-sections       22 → 28px */
  --fs-h4: 1.25rem;                                 /* card titles        20px */
  --fs-h5: 1.125rem;                                /* small headings     18px */
  --fs-body: 1rem;                                  /* paragraphs         16px */
  --fs-lead: 1.125rem;                              /* intro paragraphs   18px */
  --fs-small: .875rem;                              /* captions, meta     14px */
}
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { font-size: var(--fs-body); line-height: 1.65; }

h1 { font-size: var(--fs-h1) !important; line-height: 1.2 !important; }
h2 { font-size: var(--fs-h2) !important; line-height: 1.25 !important; }
h3 { font-size: var(--fs-h3) !important; line-height: 1.3 !important; }
h4 { font-size: var(--fs-h4) !important; line-height: 1.35 !important; }
h5 { font-size: var(--fs-h5) !important; line-height: 1.4 !important; }

/* paragraphs: one body size, with .lead / .text-small opt-ins */
p { font-size: var(--fs-body); }
p.lead, .hero-lead { font-size: var(--fs-lead) !important; }
p.text-xs, p.text-sm, .text-small { font-size: var(--fs-small) !important; }
/* normalise the stray sizes found in the old pages */
p.text-lg, p.text-xl, p.text-md { font-size: var(--fs-lead) !important; }

/* interface text */
nav a, .mobile-menu a, footer li, footer p, label, button, input, select, textarea { font-size: var(--fs-small); }
input, select, textarea { font-size: 1rem; } /* 16px stops iOS zoom-on-focus */
footer h4 { font-size: var(--fs-h5) !important; }

/* intentional exceptions */
.hero-title  { font-size: clamp(2.25rem, 1.5rem + 3.5vw, 3.75rem) !important; line-height: 1.15 !important; }
.hero-kicker { font-size: var(--fs-h3) !important; }
.stat-number { font-size: var(--fs-h2) !important; }
