HomeNewsletterContentShop
Home
Newsletter
Content
Shop
Radio MD
Playground
Stack
NFTs

System

A comprehensive guide to the design system, including typography, components, form elements, and patterns used throughout the site.

Navigation

  • Palette
  • Typography
  • Buttons
  • Form Elements
  • Badges
  • Table
  • Cards
  • Alert Dialog
  • Newsletter
  • Spacing

Type Scale

All line heights snap to an 8px baseline grid. The scale runs 12 → 14 → 16 → 18 → 20 → 24 → 28 → 36 → 45.

Display Jumbo
45px48px leading6×8--text-display-jumbo
Display
36px48px leading6×8--text-display
Heading 1
28px40px leading5×8--text-3xl
Section Title
24px32px leading4×8--text-2xl
Heading 2
20px32px leading4×8--text-xl
Heading 3 / Lead
18px24px leading3×8--text-lg
Heading 4 / Label
14px24px leading3×8--text-sm
Body (reading)
16px32px leading4×8--text-base
Buttons / Nav
14px24px leading3×8--text-sm
Labels / Meta
12px16px leading2×8--text-xs

Headings

The quick brown fox jumps over the lazy dog

  • StyleDisplay H1
  • •Size36px
  • •FamilyMix (SERF 50)
  • •Weight500
  • •Line48px (6×8)
  • •Tracking0.01em

Build with the same weight and size across a longer mixed headline

  • StyleDisplay H1 / Mixed
  • •Size36px
  • •FamilySerif + Sans spans
  • •Weight500
  • •Line48px (6×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog

  • StyleH1
  • •Size28px
  • •FamilyMix (SERF 50)
  • •Weight500
  • •Line40px (5×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog

  • StyleH2
  • •Size20px
  • •FamilySans
  • •Weight500
  • •Line32px (4×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog

  • StyleH3
  • •Size18px
  • •FamilySans
  • •Weight500
  • •Line24px (3×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog

  • StyleH4
  • •Size14px
  • •FamilySans
  • •Weight600
  • •Line24px (3×8)
  • •Tracking0.01em

Body Text

The quick brown fox jumps over the lazy dog. This lead style is used below major headlines to introduce a section with a little more emphasis than body copy.

  • StyleLead
  • •Size18px
  • •Weight500
  • •Line24px (3×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog. This is the default body text style used for paragraphs and general content throughout the site. It features generous line-height for comfortable reading.

  • StyleBody
  • •Size16px
  • •Weight500
  • •Line24px (3×8)
  • •Tracking0.01em

The quick brown fox jumps over the lazy dog. This smaller text style is used for captions, footnotes, and secondary information.

  • StyleSmall
  • •Size12px
  • •FamilySans
  • •Weight400
  • •Line16px (2×8)
  • •Tracking0.05em

Font Variations

The quick brown fox jumps over the lazy dog

  • StyleSans
  • •SERF0

The quick brown fox jumps over the lazy dog

  • StyleMix
  • •SERF50

The quick brown fox jumps over the lazy dog

  • StyleSerif
  • •SERF100

Font Weights

The quick brown fox jumps over the lazy dog

  • Weight500 (Medium)

The quick brown fox jumps over the lazy dog

  • Weight600 (Semibold)

The quick brown fox jumps over the lazy dog

  • Weight700 (Bold)

The quick brown fox jumps over the lazy dog

  • Weight800 (Extrabold)

Prose

The opening of a long-form post

Typography on the web is an exercise in restraint. You're designing for a reader you'll never meet, on a device you can't predict, at a moment you can't choose. The best you can do is set the stage — clear hierarchy, comfortable measure, honest rhythm — and then get out of the way so the words can do their work.

This piece walks through the choices that make a reading experience feel considered. We'll cover hierarchy first, then rhythm, then the small decorative moments that turn a wall of text into a place worth staying. Along the way we'll pause on a few specimens — pull quotes, figures, lists — and look at how each one either earns its place or doesn't.

Hierarchy is a promise

A section heading is a contract with the reader. It says: the ground beneath you is about to shift. If the heading is too quiet, the shift doesn't register, and the reader drifts. If it's too loud, it breaks the spell of the prose and pulls attention away from the sentence that should be doing the work.

Good headings earn their weight through a combination of size, weight, voice, and — most often underused — the space around them. A heading with generous air above it announces itself without needing to shout. A heading that sits tight to the paragraph below it creates a sense of forward motion, as if the next thought is already arriving. Those two forces together — separation above, intimacy below — are what make a section feel like a section.

Inline treatments should be quieter than headings but louder than body. A link should signal without underlining every sentence. Emphasis should feel like a voice lowering for a moment, not a hand waving. Strong emphasis is for the sentence you'd underline in a book. And inline code should read as a different object altogether — a thing, not a thought.

On rhythm

Rhythm is the one thing most websites get wrong. They reach for leading that's either too tight — paragraphs crushed into each other, no air to breathe — or so loose the words float apart. The sweet spot is narrower than people expect, and it shifts depending on size and measure. Long lines need more leading. Short lines need less. Bigger type needs less. Smaller type needs more.

The same principle applies vertically. Paragraph spacing should feel related to line-height, not arbitrary. A paragraph gap that's half a line feels cramped. A gap of a full line feels open and generous. More than that, and the page starts to feel stretched.

“A pull quote should break the column, not sit inside it. It's a guest, not a tenant.”
—Robert Bringhurst, The Elements of Typographic Style

Lists are another place where rhythm gets lost. A list inside prose should keep the same leading as the surrounding paragraphs, not collapse to something tighter. The marker should sit in the same column as the text, so the left edge stays clean without pushing the bullet or number into a separate gutter.

  • Set line-height on list items to match body copy, not tighter.
  • Use a modest gap between items (one-quarter to one-half of line-height) so each reads as distinct without feeling like a bulleted brochure.
  • Let the bullet or number sit with the text, not off in the gutter, so the left edge of the prose stays clean.

Ordered lists tend to work best when they inherit the same spacing rules as bullets, then just bring a little more visual structure through the numbers themselves.

  1. 1.Ordered lists carry the same rules, but the numbers themselves become a second typographic voice.
  2. 2.Tabular figures — if your typeface has them — keep the numbers aligned on the right edge.
  3. 3.Without tabular figures, widths shift as numbers grow, and the indentation starts to wobble.

The quiet moments

A horizontal rule, used sparingly, gives the reader a breath. A section break says “this is a new thought, not just a new paragraph.” The rule itself should be quiet — a hairline in a muted color, centered with generous air on either side.


All of this adds up to something that's hard to describe but easy to feel. A post with good typography doesn't announce itself. The reader just keeps reading, scrolling a little, pausing at the pull quote, glancing down the list, and arriving at the end without ever noticing the choices that got them there.

That's the goal. Not typography that shows off, but typography that disappears into the experience of reading — leaving only the words, and the feeling that someone cared enough to get out of their way.

Copyright © 2026. All rights reserved.

Privacy Policy•FAQ
•
HomeNewsletterContentShop
Radio MDSystemPlaygroundStackNFTs
HomeNewsletterContentShop
Radio MDSystemPlaygroundStackNFTs

Copyright © 2026. All rights reserved.

Privacy Policy•FAQ
•