Typography
One serif for character, the system sans for everything you read and tap. Two families, nothing else.
Font families
Consolidated on 2026-10-10. Caveat, Permanent Marker, Anton and DM Serif Display are retired.
font-displayvar(--wd-font-display)From your first night to your best year.
Headings, titles, numbers that matter, the brand voice. · 'Playfair Display', serif
font-display italicvar(--wd-font-display)— see who’s going before you book
Warm asides and highlights — the slot Caveat used to fill. · 'Playfair Display', serif · italic
font-sansvar(--wd-font-sans)Every dance. Every teacher. Every city.
Body copy, UI labels, buttons, forms, tables. · system-ui, sans-serif
Type scale
Use these steps. Arbitrary sizes like text-[13px] are the main source of visual drift — use a scale step or one of the small-size tokens below.
Hero titles
Page titles
Section titles
Card titles, sub-sections
Small headings
Intro paragraph under a title
Default reading text
Secondary text, card body
Meta, timestamps, help text
Label above a title
Small-size tokens
Below text-xs (12px) the Tailwind scale stops, so pages reached for arbitrary sizes. 292 text-[Npx] remain in product pages; 99.7% of them are these three sizes, now tokens. They set font-size only, exactly like the arbitrary class — swapping is a no-op.
text-eyebrow10px · was text-[10px] ×216The journeyEyebrows, section labels, status pills — usually uppercase with wide trackingtext-meta11px · was text-[11px] ×46Meta lines under card titles: style, win rate, countstext-tag9px · was text-[9px] ×29RecommendedTiny tags inside cards and chips (“Recommended”, “New”). Never for reading text.Not tokens: text-[12px] is text-xs; 13px appears only in these docs; 7–8px only in sketches. Anything under 11px is for labels, never for sentences someone has to read.
The heading pattern
Eyebrow, serif title with one italic red phrase, lead in muted sans. The signature WeDance section opener.
From your first move to your own stage.
Whichever step you're on.
<div class="text-eyebrow uppercase tracking-[0.3em] font-bold text-secondary">
The journey
</div>
<h2 class="text-3xl font-display font-bold">
From your first move to <span class="italic text-primary">your own stage.</span>
</h2>
<p class="text-lg text-muted-foreground">Whichever step you're on.</p>Guidelines
Do — keep the italic highlight to one short phrase per heading.
Don't — italicise whole sentences or stack several highlights — the accent stops meaning anything.
Weekly socials and practicas. Go with friends.
Do — set body, buttons and forms in the sans for fast reading on a phone.
Weekly socials and practicas. Go with friends.
Don't — set long paragraphs or form labels in the display serif.