/* Vendored from the APC design system: _ds/tokens/typography.css — re-sync from source, do not hand-edit. */
/* =====================================================================
   THE APC — Typography tokens
   Gotham (→ Montserrat substitute). Headlines Bold, body Book/Regular.
   Heading sizes mirror the Figma type scale.
   ===================================================================== */

:root {
  /* ---- Families ---- */
  --font-sans:    'gotham', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; /* Adobe Gotham, Montserrat fallback */
  --font-display: 'gotham', 'Saira Semi Condensed', 'Montserrat', sans-serif;  /* → Conthrax (wide techno) */
  --font-body:    var(--font-sans);

  /* ---- Weights (Gotham mapping) ---- */
  --fw-light:     300; /* @kind other */
  --fw-book:      400; /* @kind other */
  --fw-medium:    500; /* @kind other */
  --fw-bold:      700; /* @kind other */
  --fw-black:     800; /* @kind other */

  /* ---- Type scale (px → rem at 16px base) ---- */
  --fs-display:   4.5rem;  /* 72 */
  --fs-h1:        3.5rem;  /* 56 */
  --fs-h2:        3rem;    /* 48 */
  --fs-h3:        2.5rem;  /* 40 */
  --fs-h4:        2rem;    /* 32 */
  --fs-h5:        1.5rem;  /* 24 */
  --fs-h6:        1.25rem; /* 20 */
  --fs-lg:        1.125rem;/* 18 */
  --fs-base:      1rem;    /* 16 */
  --fs-sm:        0.875rem;/* 14 */
  --fs-xs:        0.75rem; /* 12 */

  /* ---- Line heights ---- */
  --lh-tight:     1.1;  /* @kind other */
  --lh-heading:   1.2;  /* @kind other */
  --lh-snug:      1.35; /* @kind other */
  --lh-body:      1.5;  /* @kind other */

  /* ---- Letter spacing ---- */
  --ls-tight:     -0.02em; /* @kind other */
  --ls-normal:    0;       /* @kind other */
  --ls-wide:      0.04em;  /* @kind other */
  --ls-caps:      0.08em;  /* @kind other */
}

/* ---- Heading reset helpers (opt-in classes) ---- */
.apc-display { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-display); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); color: var(--text-heading); }
.apc-h1 { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-h1); line-height: var(--lh-heading); letter-spacing: var(--ls-tight); color: var(--text-heading); }
.apc-h2 { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-h2); line-height: var(--lh-heading); letter-spacing: var(--ls-tight); color: var(--text-heading); }
.apc-h3 { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-h3); line-height: var(--lh-heading); color: var(--text-heading); }
.apc-h4 { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-h4); line-height: var(--lh-snug); color: var(--text-heading); }
.apc-h5 { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-h5); line-height: var(--lh-snug); color: var(--text-heading); }
.apc-body { font-family: var(--font-body); font-weight: var(--fw-book); font-size: var(--fs-base); line-height: var(--lh-body); color: var(--text-body); }
.apc-eyebrow { font-family: var(--font-sans); font-weight: var(--fw-bold); font-size: var(--fs-sm); letter-spacing: var(--ls-caps); text-transform: uppercase; color: var(--accent); }
