/* GoldenPharm — Typography scale
   One geometric grotesk (Hanken Grotesk) across every surface.
   Tight tracking on display sizes; generous body leading for clinical legibility. */
:root {
  /* Weights */
  --fw-regular: 400; /* @kind font */
  --fw-medium:  500; /* @kind font */
  --fw-semibold: 600; /* @kind font */
  --fw-bold:    700; /* @kind font */
  --fw-extrabold: 800; /* @kind font */

  /* Font sizes (px) */
  --fs-display: 64px;
  --fs-h1: 48px;
  --fs-h2: 36px;
  --fs-h3: 28px;
  --fs-h4: 22px;
  --fs-h5: 18px;
  --fs-subtitle: 19px;
  --fs-body: 16px;
  --fs-body-sm: 14px;
  --fs-caption: 13px;
  --fs-eyebrow: 12px;
  --fs-button: 15px;

  /* Line heights */
  --lh-display: 1.06; /* @kind font */
  --lh-tight: 1.15; /* @kind font */
  --lh-heading: 1.25; /* @kind font */
  --lh-snug: 1.4; /* @kind font */
  --lh-body: 1.6; /* @kind font */

  /* Letter spacing */
  --ls-display: -0.02em; /* @kind font */
  --ls-heading: -0.01em; /* @kind font */
  --ls-normal: 0; /* @kind font */
  --ls-eyebrow: 0.14em; /* @kind font */ /* uppercase eyebrows / regulatory labels */

  /* ---- Semantic type roles (font shorthand-ish bundles) ---- */
  --type-display-family: var(--gp-font-sans);
}

/* Optional utility classes — handy in specimen cards & kits */
.gp-display { font: var(--fw-bold) var(--fs-display)/var(--lh-display) var(--gp-font-sans); letter-spacing: var(--ls-display); color: var(--text-strong); }
.gp-h1 { font: var(--fw-bold) var(--fs-h1)/var(--lh-tight) var(--gp-font-sans); letter-spacing: var(--ls-heading); color: var(--text-strong); }
.gp-h2 { font: var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--gp-font-sans); letter-spacing: var(--ls-heading); color: var(--text-strong); }
.gp-h3 { font: var(--fw-semibold) var(--fs-h3)/var(--lh-heading) var(--gp-font-sans); letter-spacing: var(--ls-heading); color: var(--text-strong); }
.gp-h4 { font: var(--fw-semibold) var(--fs-h4)/var(--lh-snug) var(--gp-font-sans); color: var(--text-strong); }
.gp-h5 { font: var(--fw-semibold) var(--fs-h5)/var(--lh-snug) var(--gp-font-sans); color: var(--text-strong); }
.gp-subtitle { font: var(--fw-regular) var(--fs-subtitle)/var(--lh-body) var(--gp-font-sans); color: var(--text-body); }
.gp-body { font: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--gp-font-sans); color: var(--text-body); }
.gp-body-sm { font: var(--fw-regular) var(--fs-body-sm)/var(--lh-snug) var(--gp-font-sans); color: var(--text-body); }
.gp-caption { font: var(--fw-regular) var(--fs-caption)/var(--lh-snug) var(--gp-font-sans); color: var(--text-muted); }
.gp-eyebrow { font: var(--fw-bold) var(--fs-eyebrow)/1.3 var(--gp-font-sans); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--color-brand); }
