Montserrat throughout. The type system is small and flat: eleven sizes,
four weights, and a line-height that is 1.5× the font size almost everywhere.
Letter-spacing is normal except in three places.
Scale
Measured off the running app. Line-height is inherited rather than declared, which is
why it tracks 1.5× so consistently — a rule that sets font-size and forgets
line-height will render ~1.2× and read noticeably tight.
| Sample | Size | Weights | Line height | Tracking | Used for |
|---|---|---|---|---|---|
| Aa | 24px | 600 | 24px | -0.6px | KPI numbers — the only place line-height is collapsed |
| Aa | 22px | 400 | 33px | normal | Page title |
| Aa | 17px | 700 | 25.5px | normal | Dialog title |
| Aa | 15px | 600 | 22.5px | normal | Card and section title |
| Aa | 13px | 400 · 500 · 600 · 700 | 19.5px | normal · 0.26px on tabs | Body — the workhorse size |
| Aa | 12.5px | 500 | 18.75px | normal | Segmented control |
| Aa | 12px | 400 · 600 | 18px | normal | Secondary text, small buttons, toast body |
| Aa | 11.5px | 400 · 500 | 17.25px | normal | Pagination |
| Aa | 11px | 400 · 500 · 600 | 16.5px · 16px on badges | normal | Badges, status chips, captions |
| Aa | 10px | 400 · 500 · 600 | 15px · 12.5px on PRO | normal · 1px | PRO badge, uppercase labels |
| Aa | 9px | 700 | — | 0.9px | NEW badge only |
Weights
Four, and no more. 800 and 900 do not appear anywhere in the product — the DS used to carry 800 in 34 places.
| Sample | Weight | Used for |
|---|---|---|
| Montserrat | 400 | Body, table cells, tab labels |
| Montserrat | 500 | Nav items, secondary labels, status chips |
| Montserrat | 600 | Buttons, badges, card titles, emphasis |
| Montserrat | 700 | KPI numbers, dialog titles — used sparingly |
Rules
Set line-height whenever you set font-size. Omitting it falls back to normal (~1.2×), which is visibly tighter than the product. |
Use 1.5 unless you are matching one of the three exceptions: the 24px KPI (leading-none), the dialog body (1.625), or badge labels (a flat 16px). |
Leave tracking at normal. The only deliberate exceptions are the 24px KPI (-0.6px), uppercase 10px labels (1px) and the NEW badge (0.9px). |
Never reach past 700. |