Typefaces
Keystone Design System uses the typefaces Zilla Slab and Plus Jakarta Sans. You can download the typefaces on this page.
Type scale
A type scale is a selection of font styles that can be used across a digital experience. This ensures a flexible, yet consistent, style that accommodates a range of purposes.
The Keystone Design System type scale is a combination of 15 styles, each with an intended application and meaning. They’re assigned based on use (such as display or headline), and grouped more broadly into categories based on scale (such as large or small).
Keystone’s default type scale uses Zilla Slab for all display and headline styles. Plus Jakarta Sans is used for all titles, labels, and body text.
The scale is a range of contrasting styles that support the needs of various product contexts and content.
Responsive font ramp
For XS (extra small) to S (small) breakpoints smaller than 992 pixels, use the responsive display and header variants.
Remember that styles do not correspond to a specific HTML tag. An H1 tag can be assigned to any header style and size, as long as a logical hierarchy is maintained.
Style | Desktop Size | Responsive Size | Line Height | Typeface |
---|---|---|---|---|
Display Large | 72px | 48px | 105% | Zilla Slab |
Display Medium | 56px | 40px | 105% | Zilla Slab |
Display Small | 48px | 32px | 105% | Zilla Slab |
Headline Large | 40px | 24px | 120% | Zilla Slab |
Headline Medium | 32px | 20px | 120% | Zilla Slab |
Headline Small | 24px | 16px | 120% | Zilla Slab |
Title Large | 20px | – | 120% | Plus Jakarta Sans |
Title Medium | 16px | – | 120% | Plus Jakarta Sans |
Title Small | 12px | – | 120% | Plus Jakarta Sans |
Body Large | 16px | – | 150% | Plus Jakarta Sans |
Body Medium | 14px | – | 150% | Plus Jakarta Sans |
Body Small | 12px | – | 150% | Plus Jakarta Sans |
Label Large | 14px | – | 125% | Plus Jakarta Sans |
Label Medium | 12px | – | 125% | Plus Jakarta Sans |
Label Small | 11px | – | 125% | Plus Jakarta Sans |
Applying type
Hierarchy is communicated through differences in font weight, size, line height, and letter spacing.
The updated type scale organizes styles into five roles that are named to describe their purposes: display, headline, title, label, and body.
These roles are device-agnostic for easier application across many use cases.
Roles
Display
There are three display styles in the default type scale: large, medium, and small.
As the largest text on the screen, display styles are reserved for short, important text or numerals. They work best on large screens.
Example of a hero section using a display size.
Headine
Headlines are best suited for short, high-emphasis text on smaller screens. These styles can be useful for marking primary passages of text or important regions of content.
Headline style used on a page section.
Title
Titles are smaller than headline styles, and should be used for medium-emphasis text that remains relatively short. For example, consider using title styles to divide secondary passages of text or secondary regions of content.
Body
Body styles are used for longer passages of text.
Label
Label styles are smaller, utilitarian styles, used for things like the text inside components or for very small text in the content body, such as captions.
Buttons, for example, use the label large style.
Ensuring readability
Type pairing
Typography can help create clear hierarchies, organize information, and guide users through a product or experience. Together with spacing, type pairings support different levels of architecture or areas that require varying typographic hierarchies.
All type roles are divided into three size groups: large, medium, and small. When pairing type styles for general page content, aim to pair styles from the same size group. For example, if you use Headline.Large for a heading, you should pair it with Body.Large for your body text. The one exception to this pattern is the pre-title, which should always use title.small.uppercase.
Vertical spacing
Example of vertical spacing values for the large type set.
Bottom padding values for various type pairings based on type size and breakpoint.
Line length
Line length is how many characters are on a single line of text.
For longer body text, the recommended line length is between 40 to 75 characters. To ensure proper line length for body text, refer to the recommended max-width values in the table below.
Style | Recommended Max-Width |
---|---|
Body Large | 510px |
Body Medium | 486px |
Body Small | 384px |
Accessibility
Color and contrast
Support accessibility by choosing the appropriate color contrast between the text and background. Contrast is the perceived difference between the lightness or darkness of two colors, and is quantified by a contrast ratio.
Large text
Large text (18px or larger, or 14px or larger if bold) must meet a minimum contrast ratio of 3:1.
Standard text sizes
Standard body text sizes (smaller than 18px, or smaller than 14px if bold) must meet a minimum contrast ratio of 4.5:1.
Default text color
The default color for typography is on-surface, although on-surface-variant is a strong alternative.