Option 01 — NSA All directions
Foundations

Space, shape and motion

A 4px base with a deliberate jump at the section scale. Corners stay small enough to read as printed rather than as software, and nothing moves faster than the eye can follow it.

Spacing scale
4
Icon to label
8
Inside a chip or tag
12
Quiet button padding, horizontal
16
Eyebrow to heading · page gutter on mobile
20
Primary button padding, horizontal
24
Heading to body · grid gutter
32
Card padding
48
Between stacked blocks in a section
64
Section padding on mobile
96
Page gutter on desktop
128
Section padding on desktop — the default rhythm
192
Around a hero or a full-bleed break

Everything up to 48 is component spacing and steps in 4s. Above that the scale jumps — 64, 96, 128, 192 — because section rhythm should be obviously different from component rhythm, not one more notch on the same ruler.

Measures
1152 — wide grid: card rows, image galleries
1024 — standard content width
768 — article body, forms
512 — centred intro paragraph
384 — card copy, sidebar

Breakpoints: 640 · 768 · 1024 · 1280. Below 768 the layout is one column and the gutter drops from 96 to 16.

Corners
0 — images, bands
2 — tags, badges
4 — buttons, inputs
full — avatars only
Elevation
Raised
menus, sticky bar
Lifted
media, popovers
Floating
modals only

Content never carries a shadow. Cards separate by ground color or by a hairline — elevation is reserved for things that genuinely sit above the page.

Motion
Interface easing
150ms · cubic-bezier(0.4, 0, 0.2, 1)

Hovers, focus rings, button fills, menu opens. Short enough to feel like a response rather than an animation.

Entrance easing
600–900ms · cubic-bezier(0.16, 1, 0.3, 1)

The signature curve: a fast start that settles slowly. Used once per section for a fade-and-rise of 16px as content enters the viewport. Never on more than one element at a time.

Everything respects prefers-reduced-motion: entrances become an instant opacity change and parallax is switched off entirely.