:root{
--font-core:"Archivo","Helvetica Neue",Arial,sans-serif; /* @kind font */
--font-editorial:"Newsreader",Georgia,serif; /* @kind font */
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace; /* @kind font */

/* Width axis presets (Archivo is variable, wdth 62–125) */
--wdth-condensed:78; /* @kind other */
--wdth-normal:100; /* @kind other */
--wdth-wide:112; /* @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-black:800; /* @kind font */

/* Fluid scale — 375px → 1600px viewport */
--fs-display-xl:clamp(3.25rem,1.2rem+8.6vw,8.5rem); /* @kind font */
--fs-display:clamp(2.6rem,1.3rem+5.6vw,5.75rem); /* @kind font */
--fs-h1:clamp(2.15rem,1.3rem+3.6vw,4rem); /* @kind font */
--fs-h2:clamp(1.7rem,1.25rem+1.9vw,2.75rem); /* @kind font */
--fs-h3:clamp(1.3rem,1.1rem+.8vw,1.75rem); /* @kind font */
--fs-body-lg:clamp(1.125rem,1.05rem+.3vw,1.3125rem); /* @kind font */
--fs-body:1.0625rem; /* @kind font */
--fs-small:.9375rem; /* @kind font */
--fs-caption:.8125rem; /* @kind font */
--fs-label:.75rem; /* @kind font */
--fs-stat:clamp(3rem,1.5rem+6vw,7rem); /* @kind font */
--fs-quote:clamp(1.5rem,1.05rem+1.9vw,2.5rem); /* @kind font */

--lh-tight:.92; /* @kind font */
--lh-display:1.0; /* @kind font */
--lh-heading:1.1; /* @kind font */
--lh-snug:1.28; /* @kind font */
--lh-body:1.6; /* @kind font */
--lh-loose:1.75; /* @kind font */

--ls-display:-.028em; /* @kind font */
--ls-heading:-.018em; /* @kind font */
--ls-body:0; /* @kind font */
--ls-label:.16em; /* @kind font */
--ls-logotype:.22em; /* @kind font */

--measure-narrow:46ch; /* @kind other */
--measure:64ch; /* @kind other */
--measure-wide:78ch; /* @kind other */

/* Composed roles */
--type-display-xl:var(--fw-semibold) var(--fs-display-xl)/var(--lh-tight) var(--font-core); /* @kind font */
--type-display:var(--fw-semibold) var(--fs-display)/var(--lh-display) var(--font-core); /* @kind font */
--type-h1:var(--fw-semibold) var(--fs-h1)/var(--lh-heading) var(--font-core); /* @kind font */
--type-h2:var(--fw-medium) var(--fs-h2)/var(--lh-heading) var(--font-core); /* @kind font */
--type-h3:var(--fw-medium) var(--fs-h3)/var(--lh-snug) var(--font-core); /* @kind font */
--type-body-lg:var(--fw-regular) var(--fs-body-lg)/var(--lh-body) var(--font-core); /* @kind font */
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-core); /* @kind font */
--type-small:var(--fw-regular) var(--fs-small)/var(--lh-snug) var(--font-core); /* @kind font */
--type-caption:var(--fw-regular) var(--fs-caption)/var(--lh-snug) var(--font-core); /* @kind font */
--type-label:var(--fw-semibold) var(--fs-label)/1 var(--font-core); /* @kind font */
--type-quote:var(--fw-light) var(--fs-quote)/var(--lh-snug) var(--font-editorial); /* @kind font */
}
