Brand foundation
The design system
Everything below is shared across every site built from this template. Only the logo and the colour palette change per client — both have dedicated slots.
src/styles.css → SITE PALETTE block
src/design-system/Logo.tsx → mark + wordmark
Everything else — type scale, spacing rhythm, radii, components — stays fixed.
Per-site slot 01
Logo
Square mark at 2px radius, 28px in navigation, 24px minimum. Wordmark uses Geist Medium at −0.02em tracking with the qualifier in muted ink. Replace both in src/design-system/Logo.tsx.
Per-site slot 02
Colour
Foundation
Typography
Operational clarity
Finance transformation
How engagements run
Diagnostic sprint
Deliverables
We embed with your operators.
Every engagement opens with a baseline.
Six week engagement
Capabilities
The board finally agreed.
Display / UI
Geist
300–700. All headings, body copy and UI labels.
Editorial
Newsreader
Pull quotes and long-form insight intros only.
Mono
Geist Mono
Eyebrows, metrics labels, token references.
Component
Buttons
On light canvas
One focal (cobalt) button per view. Every other action uses primary, inverse or outline.
Component
Forms
Consultation request
We reply within one business day.
Scope, timeline and current blockers.
That code has expired.
Rules
- 44px control height, 2px radius, hairline border.
- Cobalt focus ring at 20% opacity — never remove focus states.
- Labels always visible; placeholders are examples, not labels.
- Errors replace hints in the same slot to avoid layout shift.
Component
Cards
Light card
Default surface for grids on canvas and alt sections.
Warm card
Used inside warm bands and secondary rails.
Dark card
For midnight, slate and jewel sections.
Focal card
Reserved for one conversion or highlight tile per page.
Foundation
Icons
Lucide only, 1.75 stroke, 16px inline / 20px in tiles. Never mix icon families or use filled glyphs.
Foundation
Spacing & geometry
Vertical rhythm
Radii
8pt grid throughout. Containers: 76rem default, 86rem wide, 48rem narrow.
Structure
Page templates
Standard content page
PageShell → PageHero (midnight) → Section alt → Section slate → Section canvas → CTABand.
Index / listing page
PageShell → PageHero (canvas) → filter rail → hairline card grid → CTABand.
Detail / case study page
PageShell → PageHero with stat aside → editorial body → results band (jewel) → CTABand.
Component library
Import everything from a single entry point. Sections alternate canvas tones automatically — never hand-roll a background colour.
import {
PageShell, PageHero, Section, SectionHeading, Container,
Card, CardTitle, CardBody, Button, Badge, Stat,
Field, Input, Select, Textarea, Checkbox,
Icon, IconTile, CTABand,
} from "@/design-system";Build the next page on this foundation
Prompt with: "Create a Services page using the existing design system."