:root{
/* families */
--font-display:"Bodoni Moda",Didot,"Times New Roman",serif;
--font-serif:"Bodoni Moda",Didot,"Times New Roman",serif;
--font-sans:"Jost","Futura","Century Gothic",system-ui,sans-serif;
--font-body:var(--font-sans);
--font-script:"Pinyon Script","Snell Roundhand",cursive;
--font-mono:ui-monospace,"SFMono-Regular",Menlo,monospace;

/* weights */
--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-display:500; /* @kind font */

/* type scale — 1.25 major-third-ish, tuned by hand, not generated */
--fs-display-1:76px;
--fs-display-2:58px;
--fs-h1:44px;
--fs-h2:34px;
--fs-h3:26px;
--fs-h4:21px;
--fs-body-lg:18px;
--fs-body:16px;
--fs-body-sm:14px;
--fs-caption:13px;
--fs-eyebrow:12px;

/* line heights: display is tight, body is generous (long-form reading brand) */
--lh-display:1.04; /* @kind font */
--lh-heading:1.14; /* @kind font */
--lh-subhead:1.32; /* @kind font */
--lh-body:1.62; /* @kind font */
--lh-tight:1.2; /* @kind font */

/* tracking: didone display gets negative, all-caps sans gets wide */
--ls-display:-0.02em; /* @kind font */
--ls-heading:-0.01em; /* @kind font */
--ls-body:0em; /* @kind font */
--ls-eyebrow:0.18em; /* @kind font */
--ls-button:0.08em; /* @kind font */

/* composed roles */
--type-display-1:var(--fw-display) var(--fs-display-1)/var(--lh-display) var(--font-display); /* @kind font */
--type-display-2:var(--fw-display) var(--fs-display-2)/var(--lh-display) var(--font-display); /* @kind font */
--type-h1:var(--fw-display) var(--fs-h1)/var(--lh-heading) var(--font-display); /* @kind font */
--type-h2:var(--fw-display) var(--fs-h2)/var(--lh-heading) var(--font-display); /* @kind font */
--type-h3:var(--fw-display) var(--fs-h3)/var(--lh-subhead) var(--font-display); /* @kind font */
--type-h4:var(--fw-medium) var(--fs-h4)/var(--lh-subhead) var(--font-sans); /* @kind font */
--type-body-lg:var(--fw-regular) var(--fs-body-lg)/var(--lh-body) var(--font-sans); /* @kind font */
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans); /* @kind font */
--type-body-sm:var(--fw-regular) var(--fs-body-sm)/var(--lh-body) var(--font-sans); /* @kind font */
--type-caption:var(--fw-regular) var(--fs-caption)/1.45 var(--font-sans); /* @kind font */
--type-eyebrow:var(--fw-medium) var(--fs-eyebrow)/1.2 var(--font-sans); /* @kind font */
--type-button:var(--fw-medium) var(--fs-body-sm)/1 var(--font-sans); /* @kind font */

/* measure */
--measure-prose:62ch; /* @kind spacing */
--measure-narrow:44ch; /* @kind spacing */
}
