/* ============ CareInsight — Typography tokens ============ */
:root {
  /* Families */
  --font-display: 'Hanken Grotesk', system-ui, sans-serif; /* headlines: weight 500–700, italic for emphasis */
  --font-sans: 'Hanken Grotesk', system-ui, sans-serif;    /* body / UI: 400–800 */
  --font-mono: 'IBM Plex Mono', ui-monospace, monospace;   /* eyebrows, tags, stat labels, code: 500–700 */

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

  /* Display scale (tight line-height, big & confident) */
  --fs-display-xl: 72px;  --lh-display-xl: 1.02; /* @kind font */
  --fs-display-lg: 60px;  --lh-display-lg: 1.04; /* @kind font */
  --fs-display-md: 52px;  --lh-display-md: 1.05; /* @kind font */
  --fs-h1: 40px;          --lh-h1: 1.1;  /* @kind font */
  --fs-h2: 34px;          --lh-h2: 1.15; /* @kind font */
  --fs-h3: 24px;          --lh-h3: 1.2;  /* @kind font */

  /* Body scale (line-height 1.55–1.65, measure ≤ 60ch) */
  --fs-body-lg: 19px;     --lh-body: 1.6; /* @kind font */
  --fs-body: 16.5px;
  --fs-body-sm: 14px;
  --fs-caption: 13px;

  /* Mono / eyebrow */
  --fs-eyebrow: 12px;
  --ls-eyebrow: 0.2em;
  --fs-label: 11px;
  --ls-label: 0.14em;

  /* Tracking for display */
  --ls-display: -0.015em;

  /* Semantic type roles */
  --type-eyebrow: var(--fw-bold) var(--fs-eyebrow)/1.2 var(--font-mono);
  --type-body: var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
}
