Skip to content
Site volume
Colourway

Foundations

Space and grid

An 8-point rhythm, a 12-column poster grid and the widths that keep reading comfortable at every size.

  • Experimental
On this page

Space in Overprint follows an 8-point rhythm with more space between groups than within them (D-B10). The scale is 4 px steps, so components can be precise, and layouts use the even steps, so pages line up.

The space scale#

The space scale
TokenValuePixelsSize
--mk-space-000
--mk-space-10.25rem4
--mk-space-20.5rem8
--mk-space-30.75rem12
--mk-space-41rem16
--mk-space-51.25rem20
--mk-space-61.5rem24
--mk-space-71.75rem28
--mk-space-82rem32
--mk-space-92.25rem36
--mk-space-102.5rem40
--mk-space-112.75rem44
--mk-space-123rem48
--mk-space-133.25rem52
--mk-space-143.5rem56
--mk-space-153.75rem60
--mk-space-164rem64
--mk-space-205rem80
--mk-space-246rem96
--mk-space-328rem128
--mk-space-4010rem160

Tailwind's --spacing matches the scale, so p-4 and var(--mk-space-4) are the same 16 px.

Rhythm#

TokenFrom phone to desktopUse
--mk-section-sm24 to 32 pxtight sections, bands
--mk-section-md48 to 64 pxmost sections
--mk-section-lg64 to 96 pxheroes, big breaks
--mk-gap-group32 to 48 pxbetween groups in a section
--mk-gap-stack12 to 16 pxinside a group

Widths and breakpoints#

WidthValueUse
--mk-width-prose70 characterslong reading
--mk-width-content72 remmost pages
--mk-width-wide90 remgalleries, wide tables

Breakpoints sit at 48, 64, 90 and 120 rem (768, 1024, 1440 and 1920 px). Components respond to their container rather than the window wherever they can (container queries at 30, 48, 64 and 80 rem), so a card works in a sidebar and in a full-width grid alike.

The poster grid#

Twelve columns from 64 rem, eight from 48 rem and four on phones, with a margin of 16 to 64 px and a gutter of 16 to 32 px. The named layouts are broadside (full width), spread (two halves), split (seven and five), lead (eight and four), columns-3, columns-4 and proof (small multiples). Saturated areas never touch: a paper gutter of at least 16 px sits between them.

Space and size tokens (--mk-margin*)
TokenValue in this lookVaries byDescription
--mk-marginmarginclamp(1rem, -0.1143rem + 4.571vw, 4rem)nothingThe page margin, 16 to 64 px.