Skip to content

Typography

Naluma uses two typefaces chosen to hold both warmth and credibility — a restrained serif for headings and a humanist sans-serif for body text and UI. See the Visual Identity Direction for the typographic philosophy behind these choices.

Token source: tokens/primitive/typography.json, tokens/semantic/typography.json


The sound is still there
display 48px / wt 600 / Literata
Your tinnitus profile
h1 36px / wt 600 / Literata
Session complete
h2 28px / wt 600 / Literata
Understanding your pattern
h3 22px / wt 600 / Literata
Tonight's session
h4 18px / wt 600 / Literata
Tinnitus is the perception of sound without an external source. Most people experience some form of it — the question is how much space it takes up.
body-lg 18px / wt 400 / Plus Jakarta Sans
Tinnitus is the perception of sound without an external source. Most people experience some form of it — the question is how much space it takes up.
body-base 16px / wt 400 / Plus Jakarta Sans
Session duration: 20 minutes. Background enrichment: ocean waves, low volume.
body-sm 14px / wt 400 / Plus Jakarta Sans
Last updated 3 days ago. 12 sessions recorded.
body-xs 13px / wt 400 / Plus Jakarta Sans
Start tonight's session
button-lg 16px / wt 600 / Plus Jakarta Sans
Learn what's happening
button 14px / wt 600 / Plus Jakarta Sans
View history
button-sm 12px / wt 600 / Plus Jakarta Sans
Progress · Insights · Settings
nav 14px / wt 500 / Plus Jakarta Sans
Session type
label 12px / wt 600 / Plus Jakarta Sans
Recorded Monday at 9:41 PM
caption 12px / wt 400 / Plus Jakarta Sans
42
stat 40px / wt 700 / Literata / bold figures
23:41
timer 48px / wt 300 / Plus Jakarta Sans / light, monospaced numerals

RoleTokenStack
Headings and display textprimitive.font-family.heading'Literata', Georgia, serif
Body text and UI elementsprimitive.font-family.body'Plus Jakarta Sans', system-ui, sans-serif

Literata is an open-source variable serif designed for long-form reading. Its open counters and optical size axis give headings warmth without sacrificing authority.

Plus Jakarta Sans is a humanist geometric sans-serif with generous x-height and friendly terminals. It reads comfortably at small sizes — important for a 40+ demographic with potential visual accommodation needs.


TokenValue
primitive.font-weight.light300
primitive.font-weight.regular400
primitive.font-weight.medium500
primitive.font-weight.semibold600
primitive.font-weight.bold700
primitive.font-weight.extrabold800

TokenValue
primitive.font-size.1111px
primitive.font-size.1212px
primitive.font-size.1313px
primitive.font-size.1414px
primitive.font-size.1515px
primitive.font-size.1616px
primitive.font-size.1818px
primitive.font-size.2020px
primitive.font-size.2222px
primitive.font-size.2828px
primitive.font-size.3636px
primitive.font-size.4040px
primitive.font-size.4848px

TokenValueUsage
primitive.line-height.none1Timer display
primitive.line-height.tight1.1Stat numbers
primitive.line-height.snug1.15Display headings
primitive.line-height.heading1.2H1
primitive.line-height.sub1.25H2
primitive.line-height.compact1.3H3
primitive.line-height.cozy1.35H4
primitive.line-height.ui1.4H5, H6, interactive elements
primitive.line-height.caption1.5Captions
primitive.line-height.body-xs1.6Body XS, quotes
primitive.line-height.body-sm1.65Body SM
primitive.line-height.body1.7Body base and large

TokenValue
primitive.letter-spacing.tight-2-0.02em
primitive.letter-spacing.tight-1-0.01em
primitive.letter-spacing.tight-05-0.005em
primitive.letter-spacing.none0
primitive.letter-spacing.wide-10.01em
primitive.letter-spacing.wide-20.02em
primitive.letter-spacing.wide-40.04em
primitive.letter-spacing.wide-60.06em
primitive.letter-spacing.wide-120.12em

The full set of named type styles used across the app and website. Each style composes family, size, weight, line-height, and letter-spacing into a single semantic token.

StyleFamilySizeWeightLine HeightLetter Spacing
displayLiterata (serif)48px600 (semibold)1.15-0.01em
h1Literata (serif)36px600 (semibold)1.2-0.005em
h2Literata (serif)28px600 (semibold)1.250
h3Literata (serif)22px600 (semibold)1.30
h4Literata (serif)18px600 (semibold)1.350
h5Plus Jakarta Sans15px700 (bold)1.40.01em
h6Plus Jakarta Sans13px700 (bold)1.40.02em

Note: H5 and H6 switch to the body font (Plus Jakarta Sans) to signal a shift from editorial hierarchy to UI-level structure.

StyleFamilySizeWeightLine HeightLetter Spacing
body-lgPlus Jakarta Sans18px400 (regular)1.70
body-basePlus Jakarta Sans16px400 (regular)1.70
body-smPlus Jakarta Sans14px400 (regular)1.650
body-xsPlus Jakarta Sans13px400 (regular)1.60
StyleFamilySizeWeightLetter Spacing
button-lgPlus Jakarta Sans16px600 (semibold)0.01em
buttonPlus Jakarta Sans14px600 (semibold)0.01em
button-smPlus Jakarta Sans12px600 (semibold)0.02em
navPlus Jakarta Sans14px500 (medium)0.01em
tabPlus Jakarta Sans13px600 (semibold)0.02em
inputPlus Jakarta Sans15px400 (regular)
StyleFamilySizeWeightLine HeightLetter Spacing
labelPlus Jakarta Sans12px600 (semibold)0.04em
overlinePlus Jakarta Sans11px600 (semibold)0.06em
captionPlus Jakarta Sans12px400 (regular)1.50
badgePlus Jakarta Sans11px600 (semibold)0.02em
quotePlus Jakarta Sans20px400 (regular)1.60
StyleFamilySizeWeightLine HeightLetter Spacing
statLiterata (serif)40px700 (bold)1.1-0.02em
timerPlus Jakarta Sans48px300 (light)10.06em