/* FrancoMusso.com — type tokens. Direction A "Folio": Schibsted Grotesk (display/UI) · Newsreader (reading) · Red Hat Mono (code/prompts). */
:root{
  --font-display:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --font-ui:"Schibsted Grotesk","Helvetica Neue",Arial,sans-serif;
  --font-reading:"Newsreader",Charter,Georgia,serif;
  --font-mono:"Red Hat Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;

  /* Fluid scale — mobile 375px → desktop 1600px */
  --fs-mega:clamp(3.5rem,1.4rem + 8vw,10rem); /* @kind other */
  --fs-display:clamp(3rem,1.6rem + 5.4vw,7rem); /* @kind other */
  --fs-h1:clamp(2.5rem,1.7rem + 3.2vw,4.75rem); /* @kind other */
  --fs-h2:clamp(1.875rem,1.45rem + 1.7vw,2.875rem); /* @kind other */
  --fs-h3:clamp(1.375rem,1.22rem + 0.62vw,1.75rem); /* @kind other */
  --fs-h4:clamp(1.125rem,1.07rem + 0.25vw,1.3125rem); /* @kind other */
  --fs-lede:clamp(1.375rem,1.18rem + 0.8vw,1.9375rem); /* @kind other */
  --fs-body:clamp(1.125rem,1.06rem + 0.26vw,1.3125rem); /* @kind other */
  --fs-body-sm:1.0625rem; /* @kind other */
  --fs-ui:1rem; /* @kind other */
  --fs-sm:0.875rem; /* @kind other */
  --fs-xs:0.75rem; /* @kind other */
  --fs-code:clamp(0.875rem,0.84rem + 0.12vw,0.96875rem); /* @kind other */
  --fs-numeral:clamp(3rem,2.2rem + 3vw,5.5rem); /* @kind other */

  --fw-light:300; /* @kind font */
  --fw-regular:400; /* @kind font */
  --fw-medium:500; /* @kind font */
  --fw-semibold:600; /* @kind font */
  --fw-bold:700; /* @kind font */
  --fw-heavy:800; /* @kind font */
  --fw-black:900; /* @kind font */

  --lh-mega:0.88; /* @kind font */
  --lh-display:0.94; /* @kind font */
  --lh-heading:1.08; /* @kind font */
  --lh-snug:1.25; /* @kind font */
  --lh-ui:1.4; /* @kind font */
  --lh-body:1.62; /* @kind font */
  --lh-code:1.7; /* @kind font */

  --tracking-mega:-0.045em; /* @kind font */
  --tracking-display:-0.035em; /* @kind font */
  --tracking-heading:-0.018em; /* @kind font */
  --tracking-ui:-0.005em; /* @kind font */
  --tracking-label:0.09em; /* @kind font */
  --tracking-code:0; /* @kind font */

  --measure:66ch; /* @kind spacing */
  --measure-narrow:52ch; /* @kind spacing */

  /* Semantic roles */
  --type-display-family:var(--font-display);
  --type-display-weight:var(--fw-heavy); /* @kind font */
  --type-heading-family:var(--font-display);
  --type-heading-weight:var(--fw-bold); /* @kind font */
  --type-body-family:var(--font-reading);
  --type-lede-family:var(--font-reading);
  --type-lede-weight:var(--fw-light); /* @kind font */
  --type-label-family:var(--font-ui);
  --type-label-weight:var(--fw-semibold); /* @kind font */
}
