Typography
A fluid type system built on Poppins for display and headings, Inter for body and UI chrome. Fluid tokens scale continuously via clamp() between 360px and 1680px viewports.
Font Families
Typeface Specimens
Two typefaces power the entire system. Poppins handles brand expression; Inter handles readability.
Poppins — Display, Headings, Subtitles, Labels
ExtraBold 800
The quick brown fox jumps over the lazy dog
Bold 700
The quick brown fox jumps over the lazy dog
SemiBold 600
The quick brown fox jumps over the lazy dog
Medium 500
The quick brown fox jumps over the lazy dog
Inter — Body, Captions, Overlines
Regular 400
The quick brown fox jumps over the lazy dog
Medium 500
The quick brown fox jumps over the lazy dog
Bold 700
The quick brown fox jumps over the lazy dog
Type Scale
Live Specimens
Every token rendered at its real size. Resize the browser to see fluid tokens scale.
Display
Fluid · Poppins
display-xl
Automate everything
800 · clamp(3rem, 2.18rem + 3.64vw, 6rem) / 1.0 · -0.05em
display-lg
Automate everything
700 · clamp(2.5rem, 1.95rem + 2.42vw, 4.5rem) / 1.05 · -0.055em
Headings
Fluid · Poppins
heading-1
The quick brown fox jumps
700 · clamp(2rem, 1.59rem + 1.82vw, 3.5rem) / 1.15 · -0.05em
heading-2
The quick brown fox jumps
700 · clamp(1.625rem, 1.32rem + 1.36vw, 2.75rem) / 1.15 · -0.042em
heading-3
The quick brown fox jumps
600 · clamp(1.375rem, 1.14rem + 1.06vw, 2.25rem) / 1.2 · -0.042em
heading-4
The quick brown fox jumps
600 · clamp(1.25rem, 1.11rem + 0.61vw, 1.75rem) / 1.25 · -0.03em
heading-5
The quick brown fox jumps
600 · clamp(1.125rem, 1.02rem + 0.45vw, 1.5rem) / 1.3 · -0.025em
heading-6
The quick brown fox jumps
600 · clamp(1rem, 0.93rem + 0.30vw, 1.25rem) / 1.3 · -0.02em
Subtitles
Fluid · Poppins
subtitle-lg
The quick brown fox jumps over the lazy dog
500 · clamp(1.25rem, 1.15rem + 0.45vw, 1.625rem) / 1.4 · -0.02em
subtitle-sm
The quick brown fox jumps over the lazy dog
500 · clamp(1.125rem, 1.06rem + 0.30vw, 1.375rem) / 1.45 · -0.015em
Body
Mixed (body-lg fluid, rest fixed) · Inter
body-lg
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
400 · clamp(1rem, 0.97rem + 0.15vw, 1.125rem) / 1.6 · 0
body-md
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
400 · 1rem / 1.5 · 0
body-sm
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
400 · 0.875rem / 1.5 · 0
body-md-medium
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
500 · 1rem / 1.5 · 0
body-md-bold
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
700 · 1rem / 1.5 · 0
UI Chrome
Fixed · Mixed families
label
Submit form · Learn more · Get started
Poppins 600 · 1rem / 1.5 · -0.025em
label-sm
Submit form · Learn more · Get started
Poppins 600 · 0.875rem / 1.5 · -0.025em
caption
Updated 2 hours ago · 3 min read · v4.2.1
Inter 400 · 0.75rem / 1.35 · 0
overline
Featured · New release · Enterprise
Inter 700 · 0.6875rem / 1.45 · 0.05em · UPPERCASE
Reference
Resolved Pixel Values
The computed font-size/line-height in pixels at each canonical Figma breakpoint.
| Token |
Desktop (1440px) |
Tablet (768px) |
Mobile (390px) |
| display-xl | 87 / 87 | 63 / 63 | 49 / 49 |
| display-lg | 66 / 69 | 50 / 52 | 41 / 43 |
| heading-1 | 52 / 60 | 39 / 45 | 33 / 38 |
| heading-2 | 41 / 47 | 32 / 37 | 26 / 30 |
| heading-3 | 34 / 41 | 26 / 31 | 22 / 26 |
| heading-4 | 27 / 34 | 22 / 28 | 20 / 25 |
| heading-5 | 23 / 30 | 20 / 26 | 18 / 23 |
| heading-6 | 19 / 25 | 17 / 22 | 16 / 21 |
| subtitle-lg | 25 / 35 | 22 / 31 | 20 / 28 |
| subtitle-sm | 21 / 30 | 19 / 28 | 18 / 26 |
| body-lg | 18 / 29 | 17 / 27 | 16 / 26 |
| body-md | 16 / 24 | — | — |
| body-sm | 14 / 21 | — | — |
| label | 16 / 24 | — | — |
| label-sm | 14 / 21 | — | — |
| caption | 12 / 16 | — | — |
| overline | 11 / 16 | — | — |
Guidelines
Usage Rules
When and how to apply each typographic category.
Section / Page Titles
Poppins ExtraBold (800) or Bold (700). Color: DeepBlue90. Use display-xl or display-lg for hero sections, heading-1 through heading-3 for page and section titles.
Subheading Accent
Poppins SemiBold (600) or Medium (500). Color: DeepBlue55. Use subtitle-lg and subtitle-sm for descriptive text beneath headings.
UI Labels
Poppins SemiBold 16px with -0.025em tracking. Use the label token for buttons, navigation items, form labels, and interactive element text.
Body Text
Inter Regular (400) or Medium (500). Color: DeepBlue90 for primary, DeepBlue60 for secondary. Use body-lg for featured paragraphs, body-md as the default, body-sm for dense UI. body-md-medium and body-md-bold for emphasis within body text.
Overline / Kicker
Inter Bold 11px, uppercase, 0.05em letter-spacing. Often colored Teal50. Used above headings to label sections or categories.
Disabled Text
Apply opacity: 0.5 to any text token to indicate a disabled or inactive state. Do not change the font weight or color independently.
Implementation Note
Safari Font Rendering
Poppins and Inter render heavier in Safari
Safari uses subpixel antialiasing by default, which makes fonts appear noticeably bolder than in Chrome or Firefox. This is especially visible with Poppins SemiBold/Bold headings and Inter at smaller sizes. Always apply the following CSS reset to normalize rendering across browsers:
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
This switches Safari from subpixel to greyscale antialiasing, matching Chrome's default behaviour. Already included in the style guide's shared.css. Should be present in every production stylesheet.