Press G to toggle the grid
Quiet luxury,
systematised.
Colour drawn from limestone, olive leaf, terracotta and night. A high-contrast serif in conversation with a precise grotesk. A 12-column grid, and motion that is slow, weighted and never decorative for its own sake.
Eight tones.
One accent.
Clay is used sparingly — the cursor, active states, hover fills. Everything else is light and shade.
Bone
--bone · #F3EEE6Page background
Linen
--linen · #E9E2D6Raised surface
Sand
--sand · #D8CDBBPlaceholder, hairline
Stone
--stone · #8A8377Muted text
Olive
--olive · #5D5F48Quiet accent
Clay
--clay · #A26A4CWarm accent, cursor
Ink 2
--ink-2 · #26241FDark surface
Ink
--ink · #1B1A17Text, dark sections
Newsreader
& Hanken Grotesk.
Display set in Newsreader Light at optical size 72, tracked tight. Interface and body in Hanken Grotesk. Labels in uppercase at 0.22em tracking, echoing the original wordmark.
Twelve columns.
Generous margins.
12 columns on desktop, 4 on mobile. Margin clamp(20px, 4.2vw, 72px); gutter clamp(14px, 1.8vw, 32px); max width 1920px. Layouts lean asymmetric — offset starts, staggered tops.
Slow in.
Weighted out.
Expo-out for reveals, expo-in-out for curtains and masks. Durations step 0.35 / 0.7 / 1.1 / 1.6s. Everything respects prefers-reduced-motion.
Expo out
--ease-out · reveals, hovers
Hover to play
Expo in-out
--ease-in-out · curtains, menu
Hover to play
Soft
--ease-soft · micro
Hover to play
Linear
scrub · parallax, marquee
Hover to play
Text animation
- Hero chars rise
1.5s · 0.028 stagger - Line-masked headings
1.3s · per line 0.09 - Statement word light-up
scrub - Footer wordmark
1.6s · 0.05
Image animation
- Clip reveal + de-zoom
1.6s / 2s - Parallax
±7% scrub - Hero settle
1.3 → 1 · 2.4s - Hover zoom
1.05 · 1.4s
Navigation & transitions
- Page curtain (2 panels)
0.8s · 0.12 offset - Menu mask + links
1s · 0.06 - Header hide on scroll
0.7s - Loader (first visit)
≈ 3.9s




