:root{
/* Families — brand names first, stand-in aliases behind them. */
--font-display:"Perandory Semi Condensed","Bodoni Moda",Didot,"Times New Roman",serif;
--font-script:"New Icon Script","Pinyon Script",cursive;
--font-sans:"Neue Montreal","Archivo","Helvetica Neue",Helvetica,sans-serif;

/* Scale — display sizes are editorial; nothing below 13px in product UI. */
--text-hero:clamp(56px,9vw,132px);
--text-display-1:72px;
--text-display-2:56px;
--text-display-3:40px;
--text-title:30px;
--text-subtitle:22px;
--text-body-lg:19px;
--text-body:16px;
--text-body-sm:14px;
--text-caption:13px;
--text-micro:11px;

/* Weights actually used: display 400/500, sans 200/300/400/500 */
--weight-display:500;
--weight-display-light:400;
--weight-sans-thin:200;
--weight-sans-light:300;
--weight-sans:400;
--weight-sans-med:500;

/* Line heights — display sits tight, body breathes */
--leading-display:.92;
--leading-title:1.08;
--leading-snug:1.35;
--leading-body:1.62;
--leading-loose:1.85;

/* Tracking — the signature move: wide letterspaced sans caps */
--tracking-display:-.01em;
--tracking-body:0;
--tracking-caps:.18em;
--tracking-caps-wide:.32em;
--tracking-caps-tight:.08em;

/* Ready-made roles */
--type-hero:var(--weight-display) var(--text-hero)/var(--leading-display) var(--font-display);
--type-title:var(--weight-display) var(--text-display-3)/var(--leading-title) var(--font-display);
--type-body:var(--weight-sans-light) var(--text-body)/var(--leading-body) var(--font-sans);
--type-eyebrow:var(--weight-sans-light) var(--text-caption)/1.4 var(--font-sans);
}
