/* ==========================================================================
   Heading size standard (Oct 2026) — loaded last on every page so all
   templates share one type scale. Page designs are unchanged; only text
   sizes / weights are normalised.

     Page title (H1) ....... 32px mobile → 40px tablet → 44px desktop, 700
     Section heading (H2) .. 24px → 28px desktop, 700
     Sub-section heading ... 18px → 20px desktop, 700
     Card title ............ 17–18px, 700
     Eyebrow ............... 14px, 700 (in-card eyebrows 12px)
     Big numbers ........... 28px → 32px, 800 (years, stats — numbers, not headings)

   Exception kept on purpose: the homepage hero and homepage section titles.
   ":root body" only raises specificity so this wins over page stylesheets.
   ========================================================================== */

/* ---------- Page titles (H1) ---------- */
:root body .aw-hero__title,
:root body .kgpi-hero__title,
:root body .sus-hero__title,
:root body .mg-hero__title,
:root body .ev-hero__title,
:root body .ov-hero__title,
:root body .prg-hero__title,
:root body .kgp-title,
:root body .pc-hero-grid--split .page-hero__title {
  font-size: 2rem; font-weight: 700; line-height: 1.15; letter-spacing: -.02em;
}
@media (min-width: 640px) {
  :root body .aw-hero__title, :root body .kgpi-hero__title, :root body .sus-hero__title,
  :root body .mg-hero__title, :root body .ev-hero__title, :root body .ov-hero__title,
  :root body .prg-hero__title, :root body .kgp-title,
  :root body .pc-hero-grid--split .page-hero__title { font-size: 2.5rem; }
}
@media (min-width: 1024px) {
  :root body .aw-hero__title, :root body .kgpi-hero__title, :root body .sus-hero__title,
  :root body .mg-hero__title, :root body .ev-hero__title, :root body .ov-hero__title,
  :root body .prg-hero__title, :root body .kgp-title,
  :root body .pc-hero-grid--split .page-hero__title { font-size: 2.75rem; line-height: 1.1; }
}

/* ---------- Section headings (H2) ---------- */
:root body .sus-fw__heading,
:root body .sus-sdg__heading,
:root body .ev-head__title,
:root body .mg-head,
:root body .aw-head__title,
:root body .sol-cta-dark__title,
:root body .webinar-banner__title,
:root body .webinar-form-panel__title,
:root body .kgp-h,
:root body .prg-form-panel__title,
:root body .glance-heading,
:root body .evd-photos__title {
  font-size: 1.5rem; font-weight: 700; line-height: 1.25; letter-spacing: -.015em;
}
@media (min-width: 1024px) {
  :root body .sus-fw__heading, :root body .sus-sdg__heading, :root body .ev-head__title,
  :root body .mg-head, :root body .aw-head__title, :root body .sol-cta-dark__title,
  :root body .webinar-banner__title, :root body .webinar-form-panel__title, :root body .kgp-h,
  :root body .prg-form-panel__title, :root body .glance-heading,
  :root body .evd-photos__title { font-size: 1.75rem; }
}

/* ---------- Sub-section headings ---------- */
:root body .webinar-section__title,
:root body .promo-footer__title,
:root body .ov-value__title,
:root body .ov-small__title,
:root body .aw-item__title,
:root body .mg-lead__name,
:root body .quote-card__title {
  font-size: 1.125rem; font-weight: 700; line-height: 1.3; letter-spacing: -.01em;
}
@media (min-width: 1024px) {
  :root body .webinar-section__title, :root body .promo-footer__title, :root body .ov-value__title,
  :root body .ov-small__title, :root body .aw-item__title, :root body .mg-lead__name,
  :root body .quote-card__title { font-size: 1.25rem; }
}

/* ---------- Card titles ---------- */
:root body .kgp-pcard__title,
:root body .aw-pat__title,
:root body .ov-card__title,
:root body .timeline__title { font-size: 1.0625rem; font-weight: 700; line-height: 1.35; }
@media (min-width: 1024px) {
  :root body .kgp-pcard__title, :root body .aw-pat__title,
  :root body .ov-card__title, :root body .timeline__title { font-size: 1.125rem; }
}

/* ---------- Big numbers used as markers (Events year labels) ---------- */
:root body .ev-year__label { font-size: 1.75rem; font-weight: 800; line-height: 1; }
@media (min-width: 1024px) { :root body .ev-year__label { font-size: 2rem; } }

/* ---------- Eyebrows ---------- */
:root body .kg-eyebrow { font-size: .875rem; font-weight: 700; }
:root body .quote-card__eyebrow,
:root body .webinar-banner__eyebrow,
:root body .webinar-form-panel__eyebrow { font-size: .75rem; font-weight: 700; }

/* Our Journey timeline (16 Oct 2026): smaller year, bigger milestone title */
:root body .timeline .timeline__year { font-size: clamp(1.35rem, 2.2vw, 1.65rem); }
:root body .timeline .timeline__title { font-size: 1.3rem; line-height: 1.35; }
@media (max-width: 640px) { :root body .timeline .timeline__title { font-size: 1.15rem; } }
