/* Preventy — Typography
 * Inter does the heavy lifting. Weight is binary: 600 headings, 500 buttons/labels,
 * 400 everything else. No light/black, no italics. Display type carries tight
 * negative tracking — the bigger the heading, the tighter. */
:root{
  --font-sans:'Inter',Arial,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;

  --weight-regular:400;
  --weight-medium:500;
  --weight-semibold:600;

  /* Role tokens — size / weight / line-height / tracking */
  --display-xl-size:48px;   --display-xl-weight:600; --display-xl-line:48px; --display-xl-track:-2.4px;
  --heading-lg-size:32px;   --heading-lg-weight:600; --heading-lg-line:40px; --heading-lg-track:-1.28px;
  --heading-md-size:20px;   --heading-md-weight:600; --heading-md-line:28px; --heading-md-track:-0.4px;
  --label-sm-size:14px;     --label-sm-weight:500;   --label-sm-line:20px;   --label-sm-track:-0.28px;
  --eyebrow-size:12px;      --eyebrow-weight:500;    --eyebrow-line:16px;     --eyebrow-track:0.08em;
  --body-lg-size:16px;      --body-lg-weight:400;    --body-lg-line:24px;
  --body-md-size:14px;      --body-md-weight:400;    --body-md-line:20px;
  --body-sm-size:12px;      --body-sm-weight:400;    --body-sm-line:16px;
  --button-lg-size:16px;    --button-lg-weight:500;  --button-lg-line:20px;
  --button-md-size:14px;    --button-md-weight:500;  --button-md-line:20px;
  --code-size:14px;         --code-weight:400;       --code-line:20px;
}

/* Convenience type-role classes (specimens, kits, prose). */
.type-display-xl{font-family:var(--font-sans);font-size:var(--display-xl-size);font-weight:var(--display-xl-weight);line-height:var(--display-xl-line);letter-spacing:var(--display-xl-track);color:var(--ink)}
.type-heading-lg{font-family:var(--font-sans);font-size:var(--heading-lg-size);font-weight:var(--heading-lg-weight);line-height:var(--heading-lg-line);letter-spacing:var(--heading-lg-track);color:var(--ink)}
.type-heading-md{font-family:var(--font-sans);font-size:var(--heading-md-size);font-weight:var(--heading-md-weight);line-height:var(--heading-md-line);letter-spacing:var(--heading-md-track);color:var(--ink)}
.type-label-sm{font-family:var(--font-sans);font-size:var(--label-sm-size);font-weight:var(--label-sm-weight);line-height:var(--label-sm-line);letter-spacing:var(--label-sm-track);color:var(--ink)}
.type-eyebrow{font-family:var(--font-mono);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);line-height:var(--eyebrow-line);letter-spacing:var(--eyebrow-track);text-transform:uppercase;color:var(--mute)}
.type-body-lg{font-family:var(--font-sans);font-size:var(--body-lg-size);font-weight:var(--body-lg-weight);line-height:var(--body-lg-line);color:var(--body)}
.type-body-md{font-family:var(--font-sans);font-size:var(--body-md-size);font-weight:var(--body-md-weight);line-height:var(--body-md-line);color:var(--body)}
.type-body-sm{font-family:var(--font-sans);font-size:var(--body-sm-size);font-weight:var(--body-sm-weight);line-height:var(--body-sm-line);color:var(--mute)}
.type-code{font-family:var(--font-mono);font-size:var(--code-size);font-weight:var(--code-weight);line-height:var(--code-line);color:var(--ink)}
