Type
Seventeen named roles, not t-shirt sizes. A component picks a role; it never picks a font size.
The typeface
The serif is Charter, self-hosted from the package at 64KB for four faces, with font-display: swap. Charter is the face macOS and iOS already carry, which is why the design looked right before a single font was loaded. Shipping it is what gives Android readers, 64 per cent of search traffic, the same page instead of a Noto Serif fallback.
Bitstream contributed Charter to the X Consortium in 1992 with permission to use, copy, modify, sublicense, sell and redistribute, provided the notice stays intact. That notice ships with the files. BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
The sans is Inter, which the app already loads, falling back to the system UI font. Figures use the sans with tabular numerals so columns line up.
Roles, not sizes
Serif for anything a reader reads. Sans for anything a reader operates. Tabular sans for every figure. Reaching past these seventeen means a role is missing, which is a conversation rather than a one-off override.
The floors
Running text never drops below 16px. caption and kicker are the only roles allowed at 12px, and both are labels rather than prose. The old site was mostly 12 to 14px: text-sm appeared 1,019 times and text-xs 720 times.
Two tests enforce this. One fails on any role under 16px that is not on the small-allowed list, the other fails on any role under 13px that is not caption or kicker.
Using a role
Either apply the class, or read the role's custom properties directly when a component needs to compose them.
The class
NGX closes higher as banking stocks lead the rally
HTML
<p class="p234-headline-sm">NGX closes higher as banking stocks lead the rally</p>.my-thing {
font-family: var(--p234-type-headline-sm-family);
font-size: var(--p234-type-headline-sm-size);
line-height: var(--p234-type-headline-sm-leading);
font-weight: var(--p234-type-headline-sm-weight);
letter-spacing: var(--p234-type-headline-sm-tracking);
}
One lead per page
display-1 is the dominant story and appears once. If two stories both look like the lead, neither is. This is the single most important thing the scale is for: the reader should know what matters without reading a word.