Theme: Smoke
Background: Field
Theme: Smoke
Background: Field
System

One scale, and the faces are yours: the base theme sets it in Nunito Sans

Mega and Display styles are for hero moments and landing pages. Headings structure sections. Title is for bold labels. Paragraph Em is the default for buttons and interactive controls. Paragraph is body copy. The SM variants scale each of those down for compact components and secondary text. Overline is the uppercase label face, always paired with an uppercase transform at the use site. Caption is the floor, for footnotes and disclaimers only. The faces are theme decisions: the scale chains through heading and body family roles, and the shipped themes mix serif, sans, grotesk, rounded and mono pairings over this same scale.

Every style chains its family through one of two role tokens: the display and heading styles read --font-family-heading, the body styles read --font-family-body, and both resolve to --font-family-primary by default. The base theme keeps the roles on one face; several presets split them, and consumers of the package can point them at different faces to pair a heading font with a body font, previewing pairings in the playground. The printed specs are the base theme's values: a preset sets its own tier weights and tracking, and Forest sets its display tier to semibold. Colour works the same way: display text reads --color-text-display and headings read --color-text-heading, both aliasing the primary text, so a theme can give a tier its own colour.

Above 768px every style renders at its full size.

Mega

Mega 1
LightFont weight
132pxFont size
0.92Line height
2%Letter spacing
Mega 2
LightFont weight
116pxFont size
0.92Line height
2%Letter spacing

Display

Display 1
LightFont weight
96pxFont size
1.05Line height
2%Letter spacing
Display 2
LightFont weight
64pxFont size
1.1Line height
1.5%Letter spacing
Sub display
LightFont weight
30pxFont size
44pxLine height
1.5%Letter spacing

Heading

Heading 1
SemiBoldFont weight
30pxFont size
44pxLine height
1.5%Letter spacing
Heading 2
SemiBoldFont weight
26pxFont size
32pxLine height
1.5%Letter spacing
Heading 3
SemiBoldFont weight
22pxFont size
28pxLine height
1.5%Letter spacing

Body

Title
SemiBoldFont weight
16pxFont size
24pxLine height
-1%Letter spacing
Paragraph Em
MediumFont weight
16pxFont size
24pxLine height
-1%Letter spacing
Paragraph
RegularFont weight
16pxFont size
24pxLine height
0Letter spacing
Paragraph SM Em
MediumFont weight
14pxFont size
20pxLine height
0Letter spacing
Paragraph SM
RegularFont weight
14pxFont size
20pxLine height
0Letter spacing
Overline
SemiBoldFont weight
14pxFont size
20pxLine height
+8%Letter spacing
Caption
RegularFont weight
12pxFont size
16pxLine height
0Letter spacing

Code

Code
RegularFont weight
14pxFont size
20pxLine height
0Letter spacing

Scale ladders

The raw sizes and line heights every style above resolves through. Retune a step and every style that reads it follows. The display tiers set their leading as a ratio of the size, so they never read a line-height step.

TokenValueUsed by
--font-size-300
12px
Caption
--font-size-350
14px
Paragraph sm, Paragraph sm emphasis, Overline
--font-size-400
16px
Title body, Paragraph emphasis, Paragraph
--font-size-550
22px
Heading 3
--font-size-600
24px
Sub display below 768px
--font-size-650
26px
Heading 2
--font-size-750
30px
Sub display, Heading 1
--font-size-1000
40px
Display 2 below 768px
--font-size-1200
48px
Display 1 below 768px
--font-size-1400
56px
Mega 2 below 768px
--font-size-1600
64px
Display 2; Mega 1 below 768px
--font-size-2400
96px
Display 1
--font-size-2900
116px
Mega 2
--font-size-3300
132px
Mega 1
--font-line-height-400
16px
Caption
--font-line-height-500
20px
Paragraph sm, Paragraph sm emphasis, Overline
--font-line-height-600
24px
Title body, Paragraph emphasis, Paragraph
--font-line-height-700
28px
Heading 3
--font-line-height-800
32px
Heading 2
--font-line-height-900
36px
Sub display below 768px
--font-line-height-1100
44px
Sub display, Heading 1