Internal Reference

The workshop
palette.

Design system for riversidewoodworking.ca. A palette pulled from the shop: anvil iron, dark walnut, honeyed oak, pale maple, and a quiet forest green.

The written spec lives in design.md; this page renders it. Tokens and shared classes come from global.css.

01 — Colour

The palette.

Adjacent bands never share a background. Ember appears once per view on the action that matters. 60-30-10 balance: linen/maple, bark/iron/moss, ember/grain.

Grounds

#1A1612
Iron --color-iron

Darkest ground — dark sections, footer, mobile menu

#2B2017
Bark --color-bark

Deep walnut — portfolio grid, dark editorial bands

#5C4030
Walnut --color-walnut

Mid walnut — borders, hover states

#EFE7D8
Maple --color-maple

Pale maple — alternate light ground, form inputs

#F7F2E9
Linen --color-linen

Lightest paper — primary light ground

Accents

#C99B66
Grain --color-grain

Honeyed oak — primary accent, figure numerals, kickers on dark

#8A5030
Ember --color-ember

Warm cherry — CTA fills, links, kickers on light

#46523E
Moss --color-moss

Forest green — commission band only

Text

#241D15
Ink --color-ink

Body text on light backgrounds

#6E6355
Stone --color-stone

Muted captions, annotations

In context

Light section

The Standard

Built from the tree, out.

Body text on linen, at the standard reading size.

Commission a piece

Dark section

Shop Rules

No stains that lie.

Body text on iron, dimmed to 70% for comfortable reading.

See the work

Verified contrast

Foreground Background Ratio Grade
ink linen 17.3:1 AAA
ink maple 15.7:1 AAA
linen iron 18.1:1 AAA
linen moss 7.5:1 AAA
linen bark 15.8:1 AAA
ember linen 5.2:1 AA
ember maple 4.7:1 AA
grain iron 7.9:1 AA
stone linen 4.6:1 AA
ink/70 linen 5.9:1 AA
linen/70 iron 9.3:1 AAA

02 — Typography

Two fonts. No more.

Fraunces carries the editorial voice — display headlines, section heads, annotations, decorative numerals. Inter does everything a user reads to act or navigate. Variable-font axes (SOFT, WONK) differentiate display from italic.

Fraunces (variable serif) — --font-serif

.display

480 weight · SOFT 40 · WONK 0

Page headlines, hero titles

Built from the tree.

.display em

420 weight · SOFT 70 · WONK 1

Italic emphasis within headlines

the shortcut.

.h-serif

500 weight · lh 1.06

Section headings, pull quotes

Rough lumber goes in. Heirlooms come out.

.annot

400 italic · 15px

Captions, editorial annotations

— the same wood, before the lathe and after

.figure-no

350 italic · grain accent

Oversized roman numerals

I II III

Inter (sans-serif) — --font-sans

.kicker

600 · 11px · 0.28em tracked · uppercase

Eyebrow labels above headlines

Selected Work · Miramichi, NB

.btn / .dash-link

600 · 13px · 0.18em tracked · uppercase

Buttons and text links

body

400–500 · 16px · lh 1.7

All body text, form fields, nav, specs

Every commission moves through the same four stations. None of them can be rushed, and none of them can be skipped.

03 — Layout & Bands

Seams & rhythm.

Pages stack as full-width bands. Neighbours never share a background. Section spacing: clamp(6rem, 11vw, 11rem). 12-column grid at max-w-7xl.

Homepage band sequence

Hero — linen
Statement — maple
Selected Work — linen
Full Bench — bark
Materials — linen
Shop Rules — iron
Process teaser — maple
Commission — moss
Footer — iron

Texture

.texture::before — faint paper/sawdust grain at 5% opacity. Applied to all section bands.

Scroll reveal

.reveal — opacity 0 → 1, translateY 28px → 0 over 900ms. Stagger with .reveal-d1 (120ms) and .reveal-d2 (240ms). All disabled under prefers-reduced-motion: reduce.

04 — Components

The kit.

One primary CTA colour (ember solid) per page view. Do not dilute. The Commission band closes every page — moss background, linen text, ember button.

Buttons — light bands

Buttons — dark bands

Image frame

— .frame: overflow hidden, bark bg, hover scale 1.035

Text patterns

Kicker on light

Kicker on dark

Kicker on moss (not grain)

— annotation caption in stone italic

Commission band (closes every page)

Commissions

Have a board, a sketch,
or just a hunch?

Commission a piece

Replies within two business days.

05 — Voice & Tone

Say it like the maker.

Write like a craftsman, not a copywriter. Short declarative sentences. No exclamation marks. The shop is "I" or "the shop", never "we" or "our team." Anti-marketing IS the marketing.

Principles

  • Direct, not clever Make a clear statement. Don't hedge. Don't pun.
  • Woodworking language Use it naturally — joinery, species, grain, figure, finish — never to show off.
  • Anti-marketing "No newsletter. No follow-up sequence. Just a reply." is the tone.
  • Patient confidence The work takes as long as it takes. That isn't a pitch.

Lines that work

  • the glue is a guest; the joint is the host
  • No stains that lie about what the wood is.
  • Off-cut. Back to the bench.
  • No newsletter. No follow-up sequence. Just a reply.

Forbidden

  • "artisan" (overused)
  • "luxury" (this is craft, not luxury goods)
  • "passion" / "passionate"
  • "we" / "our team" (it's one person)
  • Exclamation marks

06 — Motion

Slow is
the rule.

Scroll reveal: 900ms cubic-bezier, 28px travel. Image hover: scale 1.035 over 1400ms. Everything is slow, settled, like dust landing — no bouncing, no parallax.

When a visitor requests reduced motion, all reveal animations and hover transforms are disabled. Smooth scrolling switches to instant. The site simply appears.