$ cat ./brand-tokens.md
The system behind the system.
Every color, type style, spacing value, motion, and radius on this site comes from brand-tokens — a design system I maintain to keep every River Romney property consistent. Primitives feed the semantic layer. UI code never touches hex.
The architecture takes a cue from Unix’s small, sharp tools philosophy. Primitives hold values, semantics name roles, and components render decisions — each layer does one thing well, and the next composes from it.
v0.3 · Production44 semantic tokens across 6 tiers
Color every hex earns its way in
Background
--color-background-defaultPage canvas. Every full-bleed surface.
#0A0D0A--color-background-altElevated surfaces — cards, panels, inputs.
#1E241E--color-background-actionInteractive fills — primary buttons, selected states.
#4ADE6EForeground
--color-foreground-defaultPrimary text and icons. AAA contrast (12.3:1).
#C8CFC4--color-foreground-altSecondary text — subtitles, metadata. AA (8.0:1).
#A0A89A--color-foreground-mutedTertiary content — placeholders, fine print. AA (6.3:1).
#8B9683--color-foreground-actionInteractive text — links, active nav. AAA (11.3:1).
#4ADE6EBorder
--color-border-defaultAll UI edges. Borders recede — they don't frame.
#1E241ETypography three voices, one system
Display
Title Large
Title Medium
Title Small
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs.
Label Large
Label Medium
Label Small
Code
Spacing 8-point base, six semantic tiers
8px12px16px24px48px128pxMotion
--motion-duration-instant120msHover, focus ring, micro-interactions
--motion-duration-standard200msDropdowns, tooltips, accordions
--motion-duration-emphasized350msModals, drawers, page-level transitions
Radius
--radius-noneCode blocks, tables, structural
0--radius-smInputs, small tags, inline chips
4px--radius-defaultButtons, dropdowns, most interactive
8px--radius-lgCards, panels, content regions
12px--radius-xlModals, hero cards, featured surfaces
16px--radius-fullPills, avatars, toggle switches
9999pxThe full token source lives in the brand-tokens repo — Style Dictionary pipeline, per-brand overrides, and a clear primitive → semantic contract. This portfolio is the system eating its own dog food.
Back to the index or selected work.