Design tokens

Style guide

Fraunces (variable serif, opsz axis) for display. Cabinet Grotesk for body and UI. OKLCH neutrals, one accent, no gradients, no pure black, no pure white.

Palette

bg

--c-bg

Page background. Warm deep neutral.

surface

--c-surface

Cards, elevated panels.

surface-2

--c-surface-2

Hovered surfaces, modals.

hairline

--c-hairline

Dividers, borders.

fg-subtle

--c-fg-subtle

Captions, deep meta text.

fg-muted

--c-fg-muted

Secondary text, nav links.

fg

--c-fg

Primary text. Warm bone.

accent

--c-accent

Focus rings, link underlines. Used sparingly.

Type ramp

Fluid clamps. Each step shown at its current viewport size.

display

--fs-display

Quiet light.

h1

--fs-h1

The west, in faces.

h2

--fs-h2

Editorial portraits, made deliberately.

h3

--fs-h3

Snow Canyon, late October.

h4

--fs-h4

How a brand session is structured.

lead

--fs-lead

A standfirst paragraph in Fraunces, set at the lead size — used for openers and pull quotes.

body

--fs-body

Body copy at the default ramp. Cabinet Grotesk, set at 1.5 line-height, slightly tightened tracking. Reads as quiet confidence rather than warmth.

meta

--fs-meta

META · UPPERCASE · 12 → 13PX

Weights

Cabinet Grotesk · Light 300 — Quiet, confident, plainspoken.

Cabinet Grotesk · Regular 400 — Quiet, confident, plainspoken.

Cabinet Grotesk · Medium 500 — Quiet, confident, plainspoken.

Cabinet Grotesk · Bold 700 — Quiet, confident, plainspoken.

Fraunces · Display 300 · opsz 36 — Portraits of the individual.

Fraunces · Display 400 · opsz 48 — Portraits of the individual.

Fraunces · Display 500 · opsz 72 — Portraits of the individual.

Fraunces · Italic 400 · opsz 48 — Made in the American West.

Motion

Durations

  • instant --dur-instant
  • fast --dur-fast
  • base --dur-base
  • slow --dur-slow
  • slower --dur-slower
  • cinema --dur-cinema

Easings

  • out-expo --ease-out-expo
  • out-quart --ease-out-quart
  • in-out-quart --ease-in-out-quart
  • in-out-expo --ease-in-out-expo

Interactive states

Underlined link — hover

Tab through. Focus rings use --focus-ring.

Spacing scale

sp-1
sp-2
sp-3
sp-4
sp-5
sp-6
sp-7
sp-8
sp-9
sp-10