/* ==========================================================================
   TYPOGRAPHY — P2O / Ade Nichols
   Bricolage Grotesque sets the confident, editorial voice in display sizes.
   Hanken Grotesk carries all running text. Newsreader italic is the accent.
   ========================================================================== */
:root {
  /* ---- Families ---------------------------------------------------------- */
  --font-display: 'Bricolage Grotesque', 'Georgia', system-ui, sans-serif;
  --font-text:    'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-accent:  'Newsreader', Georgia, 'Times New Roman', serif;
  --font-mono:    ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

  /* ---- Weights ----------------------------------------------------------- */
  --fw-regular: 400;   /* @kind other */
  --fw-medium:  500;   /* @kind other */
  --fw-semibold:600;   /* @kind other */
  --fw-bold:    700;   /* @kind other */
  --fw-heavy:   800;   /* @kind other */  /* Hanken heavy */

  /* ---- Type scale (1.25 major-third, 16px base) -------------------------- */
  --text-2xs: 0.6875rem;  /* 11px — dot labels, tick marks */
  --text-xs:  0.75rem;    /* 12px — eyebrow labels, footers */
  --text-sm:  0.875rem;   /* 14px — captions, meta */
  --text-md:  1rem;       /* 16px — body base */
  --text-lg:  1.125rem;   /* 18px — lead body */
  --text-xl:  1.375rem;   /* 22px — sub-heading / large lead */
  --text-2xl: 1.75rem;    /* 28px — H3 */
  --text-3xl: 2.25rem;    /* 36px — H2 */
  --text-4xl: 3rem;       /* 48px — H1 */
  --text-5xl: 4rem;       /* 64px — display */
  --text-6xl: 5.5rem;     /* 88px — hero / cover */

  /* ---- Line heights ------------------------------------------------------ */
  --leading-tight:   1.04;  /* display headings */
  --leading-snug:    1.2;   /* sub-heads */
  --leading-normal:  1.55;  /* body copy */
  --leading-relaxed: 1.7;   /* long-form reading */

  /* ---- Tracking ---------------------------------------------------------- */
  --tracking-tight:  -0.02em;  /* big display */
  --tracking-normal: 0;
  --tracking-label:  0.14em;   /* uppercase eyebrow labels */
  --tracking-wide:   0.24em;   /* spaced author-name caps */
}

/* ---- Optional utility classes (consumers may use raw tokens instead) ----- */
.t-eyebrow {
  font-family: var(--font-text);
  font-weight: var(--fw-bold);
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
  color: var(--brand-primary);
}
.t-display {
  font-family: var(--font-display);
  font-weight: var(--fw-semibold);
  line-height: var(--leading-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--text-strong);
}
.t-accent-italic {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 500;
}
