:root{
/* Nexa, via Adobe Fonts (https://use.typekit.net/lyz2jij.css). The kit ships
   two families: "nexa" (display cut, has a true 700/Bold) and "nexa-text"
   (text-optimized cut, used for body/labels). Neither includes a real 300
   weight — the lightest available cut in both is 400/Regular, so
   --weight-light below resolves to that (no synthetic-thin distortion). */
--font-sans:"nexa-text","Avenir Next","Helvetica Neue",Arial,sans-serif;
--font-sans-display:"nexa","Avenir Next","Helvetica Neue",Arial,sans-serif;
--font-condensed:"Antonio","Oswald","Arial Narrow",sans-serif;
--font-display:var(--font-sans-display);
--font-body:var(--font-sans);
--font-label:var(--font-condensed);
--weight-light:400;
--weight-regular:400;
--weight-bold:700;
/* Scale (px) */
--text-xs:11px;
--text-sm:13px;
--text-base:16px;
--text-md:18px;
--text-lg:22px;
--text-xl:28px;
--text-2xl:36px;
--text-3xl:48px;
--text-4xl:64px;
--text-5xl:88px;
--text-hero:clamp(48px,8vw,120px);
/* Leading */
--leading-tight:1;
--leading-snug:1.15;
--leading-normal:1.5;
--leading-relaxed:1.7;
/* Tracking */
--tracking-tight:-0.02em;
--tracking-normal:0;
--tracking-wide:0.08em;
--tracking-caps:0.18em;
--tracking-label:0.24em;
/* Composite roles */
--type-hero:var(--weight-bold) var(--text-hero)/var(--leading-tight) var(--font-display);
--type-h1:var(--weight-bold) var(--text-4xl)/var(--leading-snug) var(--font-display);
--type-h2:var(--weight-bold) var(--text-3xl)/var(--leading-snug) var(--font-display);
--type-h3:var(--weight-bold) var(--text-xl)/var(--leading-snug) var(--font-display);
--type-lead:var(--weight-light) var(--text-lg)/var(--leading-relaxed) var(--font-body);
--type-body:var(--weight-light) var(--text-base)/var(--leading-relaxed) var(--font-body);
--type-small:var(--weight-light) var(--text-sm)/var(--leading-normal) var(--font-body);
--type-label:var(--weight-regular) var(--text-sm)/1 var(--font-label);
--type-numeral:var(--weight-light) var(--text-5xl)/1 var(--font-condensed);
}
