The four-family editorial system. Each family has one job; mixing roles is the biggest tell of off-brand work. The canonical role map lives in docs/brand/typography-rules.md and the chamber-discipline rules render under Components → Chamber discipline.
Heading + product body. Display headings, UI text, body in product / proof chambers. All weights from regular to extra-bold.
Confident, engineered, unhurried.
Editorial product-chamber body. Body voice in product chambers. Loaded as a local variable font on the web canvas; falls back to Plus Jakarta Sans server-side or when unavailable.
Body voice carries the paragraph rhythm.
Italic voice gesture + essay body. Editorial display + body in essay chambers. Italic Newsreader is the brand's voice gesture — one moment per chamber.
the brand is speaking.
Wayfinding + footnotes. Eyebrows, chamber counters, pill labels, dotted-underline links, architectural footnotes. Never body.
05 — THE WEDGE
Each composite encodes a complete editorial role — family + style + weight + size + rhythm. Copy the CSS to paste into any stylesheet; the CSS vars resolve against tokens.css when present and fall back to the literal family.
Italic Newsreader lede beneath an H2. Once per chamber. Closing chamber may carry up to three; Stat-moment chamber may pair caption + body around the hero number as a single envelope.
font-family: var(--typography-font-family-serif, 'Newsreader', Georgia, serif); font-style: italic; font-weight: 400; font-size: 1.4375rem; /* 23px */ line-height: 1.4; letter-spacing: 0;
Eyebrows, dotted-underline links. Mono, uppercase, tracked. Never body.
font-family: var(--typography-font-family-mono, 'JetBrains Mono', ui-monospace, monospace); font-style: normal; font-weight: 700; font-size: 0.8125rem; /* 13px */ line-height: 1; letter-spacing: 0.14em; text-transform: uppercase;
Two-character zero-padded chamber prefix (e.g. “05 — THE WEDGE”). aria-hidden in code so screen readers announce only the eyebrow.
font-family: var(--typography-font-family-mono, 'JetBrains Mono', ui-monospace, monospace); font-style: normal; font-weight: 700; font-size: 0.75rem; /* 12px */ line-height: 1; letter-spacing: 0.14em; text-transform: uppercase;