Archivo for the voice, the full size scale. Generated from phase-2/kit/tokens.css (kit v3); the full page is docs › Foundations.
Every size token. Line height and tracking where the kit names them; the rest are set per component.
Scale: size / line-height / tracking (tracking is never positive on Archivo).
| Token | Size | Line height | Tracking | Family | Weight | Use |
|---|---|---|---|---|---|---|
--text-display | 40px | --lh-display = 1.05 | --tr-display = -.02em | --font-title | --w-semibold = 600 | kit page H1 only |
--text-page | 26px | --lh-page = 1.15 | --tr-page = -.015em | --font-title | --title-w = 600 | page title in the app |
--text-section | 16px | --lh-section = 1.25 | --tr-section = -.005em | --font-title | --w-semibold = 600 | sheet / dialog / panel title |
--text-card | 13.5px | --lh-card = 1.3 | 0 | --font-title | --w-semibold = 600 | card title, panel h3 |
--text-body | 13px | --lh-body = 1.45 | 0 | --font-ui | --w-regular = 400 | default UI text (Plex) |
--text-read | 15px | --lh-read = 1.55 | 0 | --font-ui | --w-regular = 400 | help drawer, long copy |
--text-label | 13px | set per component | 0 | --font-title | --w-semibold = 600 | form label (Archivo 600) |
--text-small | 12px | set per component | 0 | --font-ui | --w-regular = 400 | meta, table secondary |
--text-kpi | 28px | set per component | 0 | --font-title | --w-semibold = 600 | KPI value / chart headline figure (raised by data-display) |
--text-hero | 30px | set per component | 0 | --font-ui | --w-semibold = 600 | KPI value / chart headline figure (raised by data-display) |
--text-step-m | 17px | set per component | 0 | --font-title | --w-semibold = 600 | phone compact step title (raised by wizard-stepper) |
--text-input-m | 16px | set per component | 0 | --font-ui | --w-regular = 400 | phone text fields: iOS never zooms at >= 16px |
--text-micro | 11.5px | set per component | 0 | --font-title | --w-semibold = 600 | chips, counts, th |
--text-code | 12px | set per component | 0 | --font-code | --w-regular = 400 | cloth codes, handles, versions, ids |
--text-btn | 13.5px | set per component | 0 | --font-title | --w-semibold = 600 | button label |
--text-btn-sm | 12.5px | set per component | 0 | --font-title | --w-semibold = 600 | small button label |
--text-btn-lg | 15px | set per component | 0 | --font-title | --w-semibold = 600 | large and phone primary button label |
--text-8 | 8px | set per component | 0 | --font-ui | --w-regular = 400 | initials in the empty garment placeholder (.dt-ph.none) |
--text-8-5 | 8.5px | set per component | 0 | --font-ui | --w-regular = 400 | initials in the empty garment placeholder (.dt-ph.none) |
--text-9 | 9px | set per component | 0 | --font-ui | --w-regular = 400 | initials in the large empty garment placeholder (.dt-ph.lg.none) |
--text-9-5 | 9.5px | set per component | 0 | --font-ui | --w-regular = 400 | small mono badge |
--text-10 | 10px | set per component | 0 | --font-ui | --w-regular = 400 | tab bar badge, tiny avatar |
--text-10-5 | 10.5px | set per component | 0 | --font-ui | --w-regular = 400 | STAGING / environment badge, tab bar label, filter counts |
--text-11 | 11px | set per component | 0 | --font-ui | --w-regular = 400 | kbd, chip count, step mark |
--text-14 | 14px | set per component | 0 | --font-ui | --w-regular = 400 | phone lede, phone list title |
--text-18 | 18px | set per component | 0 | --font-ui | --w-regular = 400 | phone sheet and ticket title |
--text-19 | 19px | set per component | 0 | --font-ui | --w-regular = 400 | surface-only literal |
--text-20 | 20px | set per component | 0 | --font-ui | --w-regular = 400 | ticket head, mini error page title |
--text-22 | 22px | set per component | 0 | --font-ui | --w-regular = 400 | stacked KPI value, error page title |
--text-24 | 24px | set per component | 0 | --font-ui | --w-regular = 400 | phone page title |
--text-44 | 44px | set per component | 0 | --font-ui | --w-regular = 400 | surface-only literal |
--text-52 | 52px | set per component | 0 | --font-ui | --w-regular = 400 | surface-only literal |
Frank's rule, 2026-10-11: Archivo is never set wide.
| Token | Value | Rule |
|---|---|---|
--font-stretch-title | 100% | Frank 2026-10-11: Archivo is NEVER set wide |
--font-stretch-title is 100%. The fonts load the wght axis only, so no wdth axis is available to the page. Tracking on Archivo is zero or negative, never positive: --tr-display -.02em, --tr-page -.015em, --tr-section -.005em.
.title,.page-title,.btn,.sb-item,.sb-group,.sb-brand b,.lbl,.th,.kit-h1,.kit-h2,.spec-h,.sec-title,.tab,.seg-i {
font-family: var(--font-voice);
font-stretch: var(--font-stretch-title);
font-variation-settings: normal;
}
.title {
font-weight: var(--title-w);
letter-spacing: -.02em;
}--font-title at 100% width.font-stretch above 100%.letter-spacing to any Archivo text, including uppercase labels.Four weights. Archivo titles sit at --title-w.
| Token | Value | Note |
|---|---|---|
--w-regular | 400 | |
--w-medium | 500 | |
--w-semibold | 600 | |
--w-bold | 700 | |
--title-w | 600 | Page title weight |