/* Type — Inter is the family (V11 is final). Geist Mono carries every label,
   count and system utterance; Bodoni Moda Italic appears once or twice a page.

   Weight and optical tracking do the work at display sizes: headlines are
   semibold and tracked in hard (−0.035em at 96px, easing to 0 by 16px); body
   stays regular. Display leading runs ~1.02–1.06× the size.

   Every size is paired with a --size-*-src token carrying the original Figma
   value, for anyone reproducing a source frame pixel-for-pixel. */
:root{
  --font-sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --font-editorial:"Bodoni Moda",Georgia,"Times New Roman",serif;
  /* Earlier stacks in the source, kept reachable for V3–V8 reproductions */
  --font-sans-geist:Geist,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-sans-reasoning:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono-reasoning:"Azeret Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;

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

  /* Optical tracking — tighter as the type gets larger, zero at reading size */
  --track-display-xl:-0.035em;
  --track-display:-0.03em;
  --track-headline:-0.02em;
  --track-title:-0.014em;
  --track-body:-0.006em;
  --track-none:0em;

  /* Display — statement type. Semibold, tracked in, leading just above the size. */
  --size-display-xl:96px;   --lh-display-xl:98px;    --size-display-xl-src:76px;
  --size-display-lg:72px;   --lh-display-lg:74px;    --size-display-lg-src:56px;
  --size-display-md:56px;   --lh-display-md:60px;    --size-display-md-src:40px;
  --size-display-sm:44px;   --lh-display-sm:48px;    --size-display-sm-src:36px;

  /* Headline — section and card titles */
  --size-headline-lg:38px;  --lh-headline-lg:44px;   --size-headline-lg-src:30px;
  --size-headline-md:30px;  --lh-headline-md:36px;   --size-headline-md-src:24px;
  --size-headline-sm:26px;  --lh-headline-sm:32px;   --size-headline-sm-src:22px;
  --size-headline-xs:22px;  --lh-headline-xs:28px;   --size-headline-xs-src:20px;

  /* Body — regular weight, near-zero tracking */
  --size-body-lg:20px;      --lh-body-lg:30px;       --size-body-lg-src:18px;
  --size-body-md:18px;      --lh-body-md:28px;       --size-body-md-src:16px;
  --size-body-sm:17px;      --lh-body-sm:26px;       --size-body-sm-src:15px;
  --size-body-xs:16px;      --lh-body-xs:24px;       --size-body-xs-src:14px;
  --size-body-2xs:14px;     --lh-body-2xs:19px;      --size-body-2xs-src:12px;

  /* Numerals — every stat, amount and count. Tabular so columns line up,
     semibold and tracked in so they read as figures, not text. */
  --size-numeral-xl:88px;   --lh-numeral-xl:88px;
  --size-numeral-lg:56px;   --lh-numeral-lg:56px;
  --size-numeral-md:34px;   --lh-numeral-md:38px;
  --size-numeral-sm:22px;   --lh-numeral-sm:26px;
  --numeral-features:"tnum" 1,"cv05" 1; /* @kind other */

  /* Mono label — the system voice. Always uppercase, always tracked out. */
  --size-label-lg:14px;     --size-label-lg-src:13px;
  --size-label-md:13px;     --size-label-md-src:12px;
  --size-label-sm:11px;     --size-label-sm-src:10px;
  --size-label-xs:10px;     --size-label-xs-src:9px;
  --size-label-2xs:9px;     --size-label-2xs-src:8px;
  --track-label:0.04em;
  --track-label-wide:0.05em;
  --track-label-tight:0.03em;

  /* Editorial accent */
  --size-editorial-lg:28px;
  --size-editorial-md:22px;
  --size-editorial-sm:16px;
}
