/* Brianne Baggetta — Typography scale
   Royals Serif for display + headlines, Royals Serif Italic for callouts/pull quotes ONLY,
   Montserrat for body and UI. Scale transcribed from the brand style guide. */

:root{
  --font-serif:"Royals Serif",ui-serif,Georgia,"Times New Roman",serif;
  --font-sans:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;

  /* Font sizes (px) */
  --fs-display:90px;   /* H1 — Royals Medium */
  --fs-h1:75px;        /* H2 in guide */
  --fs-h2:40px;        /* H3 */
  --fs-h3:28px;        /* H4 */
  --fs-h4:26px;
  --fs-h5:20px;
  --fs-callout:28px;   /* Royals Serif Medium Italic — pull quotes only */
  --fs-body:18px;
  --fs-body-sm:17px;
  --fs-eyebrow:12px;   /* Montserrat SemiBold, all caps */
  --fs-nav:12px;
  --fs-button:12px;
  --fs-caption:14px;

  /* Line heights */
  --lh-display:1.05; /* @kind font */
  --lh-head:1.15; /* @kind font */
  --lh-h2:1.25; /* @kind font */
  --lh-h3:1.3; /* @kind font */
  --lh-tight:1.4; /* @kind font */
  --lh-body:1.8; /* @kind font */

  /* Weights */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */

  /* Tracking */
  --ls-eyebrow:2.5px; /* @kind font */
  --ls-tight:-0.5px; /* @kind font */
}

/* --- Type utility classes (used by specimen cards, components, kits) --- */
.t-display{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-display);line-height:var(--lh-display);color:var(--text-strong);letter-spacing:-0.01em}
.t-h1{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-h1);line-height:var(--lh-head);color:var(--text-strong)}
.t-h2{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-h2);line-height:var(--lh-h3);color:var(--text-strong)}
.t-h3{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-h3);line-height:var(--lh-h3);color:var(--text-strong)}
.t-h4{font-family:var(--font-serif);font-weight:var(--fw-medium);font-size:var(--fs-h4);line-height:var(--lh-tight);color:var(--text-strong)}
.t-h5{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-h5);line-height:var(--lh-tight);color:var(--text-strong)}
.t-callout{font-family:var(--font-serif);font-weight:var(--fw-medium);font-style:italic;font-size:var(--fs-callout);line-height:var(--lh-h3);color:var(--text-strong)}
.t-body{font-family:var(--font-sans);font-weight:var(--fw-regular);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body)}
.t-body-sm{font-family:var(--font-sans);font-weight:var(--fw-regular);font-size:var(--fs-body-sm);line-height:var(--lh-body);color:var(--text-body)}
.t-eyebrow{font-family:var(--font-sans);font-weight:var(--fw-semibold);font-size:var(--fs-eyebrow);line-height:var(--lh-tight);letter-spacing:var(--ls-eyebrow);text-transform:uppercase;color:var(--text-strong)}
.t-caption{font-family:var(--font-sans);font-weight:var(--fw-regular);font-size:var(--fs-caption);line-height:1.6;letter-spacing:var(--ls-tight);color:var(--text-muted)}
