design language · 03

space.

spacing is one scale, used everywhere, and it is fluid: a component is measured against the box it sits in, not the window it happens to be shown through. that one decision is why a card looks the same nested in a sidebar as it does full width.

the scale

one geometric-ish ramp. you reach for a step, never a number, and the steps are far enough apart that two adjacent ones never read as a mistake.

00rem
10.25rem
20.5rem
30.75rem
41rem
51.25rem
61.5rem
71.75rem
82rem
92.25rem
102.5rem
112.75rem
123rem
133.25rem
143.5rem
153.75rem
164rem
174.25rem
184.5rem
194.75rem
205rem
215.25rem
225.5rem
235.75rem
246rem

containers, not viewports

the thing that breaks most layouts is sizing against the viewport. a hero built in vw looks right once, at the width it was drawn at, and wrong everywhere else it is placed. usva sizes against the container instead, in cqi, so a block carries its proportions wherever it lands.

font-size: clamp(2rem, 6cqi, 4rem);

one column, clamped gutters

content is a single column with a comfortable measure, and the gutters that hold it are a clamp: they give ground on a phone and open up on a wide screen, without a single media query deciding where the breaks are. the layout bends; it does not snap.