:root{
  /* Families */
  --font-display:"Bodoni Moda", "Didot", Georgia, serif;   /* editorial, high contrast */
  --font-sans:"Archivo", "Helvetica Neue", Arial, sans-serif; /* loud caps + all UI */
  --font-mono:"DM Mono", ui-monospace, "SFMono-Regular", monospace; /* labels, tickers */
  --font-body:var(--font-sans);

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

  /* Type scale — 1.25 major third, tuned by hand at the top end */
  --text-3xs:11px;
  --text-2xs:12px;
  --text-xs:13px;
  --text-sm:15px;
  --text-md:17px;
  --text-lg:20px;
  --text-xl:25px;
  --text-2xl:32px;
  --text-3xl:42px;
  --text-4xl:56px;
  --text-5xl:76px;
  --text-6xl:104px;
  --text-7xl:150px;

  /* Line heights */
  --leading-tight:0.92; /* @kind font */
  --leading-snug:1.06; /* @kind font */
  --leading-heading:1.14; /* @kind font */
  --leading-body:1.55; /* @kind font */
  --leading-loose:1.72; /* @kind font */

  /* Tracking */
  --tracking-mega:-0.03em; /* @kind font */   /* display caps */
  --tracking-tight:-0.015em; /* @kind font */
  --tracking-normal:0em; /* @kind font */
  --tracking-wide:0.06em; /* @kind font */
  --tracking-label:0.14em; /* @kind font */   /* mono eyebrow labels */

  /* Composed roles */
  --type-display:var(--weight-black) var(--text-5xl)/var(--leading-tight) var(--font-sans);
  --type-editorial:italic var(--weight-regular) var(--text-4xl)/var(--leading-snug) var(--font-display);
  --type-h1:var(--weight-black) var(--text-4xl)/var(--leading-heading) var(--font-sans);
  --type-h2:var(--weight-bold) var(--text-2xl)/var(--leading-heading) var(--font-sans);
  --type-h3:var(--weight-bold) var(--text-lg)/var(--leading-snug) var(--font-sans);
  --type-body:var(--weight-regular) var(--text-md)/var(--leading-body) var(--font-sans);
  --type-body-sm:var(--weight-regular) var(--text-sm)/var(--leading-body) var(--font-sans);
  --type-label:var(--weight-medium) var(--text-2xs)/1.2 var(--font-mono);
}
