Marketing / Foundations
Typography.
Two families, four roles, one canonical copy unit. PP Supply Mono ultralight for display, tracked mono for eyebrows + data, Bai Jamjuree for body.
Specimens
Shipping
Spend less on every parcel
Body copy is Bai Jamjuree, 14–17px, line-height 1.55–1.65. One claim per section; specifics over hedges.
$1,240.00 · 4401-902F-X
Roles
- display — display, weight 200, clamp(2.5rem, 6vw, 4.5rem), tracking -0.03em, uppercase. Section + hero headings. Ultralight, uppercase, tight tracking. The trailing phrase often sits in an accent span.
- eyebrow — mono, weight 600, 10–12px, tracking 0.16–0.2em, uppercase. The label above a heading (see the SectionEyebrow pattern). Heavily tracked mono caps.
- body — sans, weight 500, 14–17px. Paragraphs, lists, UI copy.
- data — mono, weight 400, 12–14px. Numeric values, money, references. Always `font-variant-numeric: tabular-nums` when aligned in a column.
Canonical copy unit
- The canonical section intro is a three-part unit, reusable on every section: eyebrow → display heading → body paragraph.
- 1. Eyebrow — mono caps, tracked 0.16–0.2em, 10–12px, `--m-fg-subtle`.
- 2. Display heading — PP Supply Mono 200, uppercase, with the trailing phrase wrapped in an accent span (`color: var(--m-accent)`).
- 3. Body — Bai Jamjuree 15–17px, `--m-fg-muted`, max ~60ch.
- See the SectionEyebrow / section-intro pattern for the DOM.
Gotchas
- PP Supply Mono ships only weights 200 & 400. Asking for 600/700 triggers synthetic faux-bold. Set `font-synthesis: none` globally and never exceed weight 400 on mono/display.
- Use `font-variant-numeric: tabular-nums` on any column of aligned numbers so digits don't jitter.
- The mono face is paywalled — unlicensed surfaces must fall back to JetBrains Mono (OFL). Keep the fallback in every stack.
Rules
- Display weight is 200 — uppercase, tracking -0.02em, line-height ~1.0.
- Eyebrows are mono caps, tracked 0.16–0.2em — never sans.
- Body is Bai Jamjuree, 14–17px, line-height 1.55–1.65.
- Voice: sentence case in body, no exclamation marks, no emoji, numerals not spelled out. Pull the full rules via `marketing_get_brand_voice`.