Vest Design System
Vest is a loud, poster-like agency site in black and white. It opens on a black screen with a giant white Vest wordmark, a quote headline set in heavy Satoshi, and a small round portrait. Then a strip of full-bleed square project cards, most in one saturated colour (lemon yellow, cyan, coral, deep red; the wine bottle sits on warm grey), slides sideways under the fixed nav. After that the page turns white: centred headlines, a logo wall, a wide video, awards, news and a scrolling Let's talk line.
Four signatures make it recognisable:
- The giant wordmark. Vest sits top-centre at about 380px wide, fixed, and stays over everything. It shrinks and turns black once the page reaches the white sections.
- Heavy headline, light ending. Headlines are Satoshi 700 and the last phrase drops to 400: businesses.", clients success. Same size, same line, only the weight changes.
- Colour-field project strip. Edge-to-edge square cards with no gaps, each a product shot on a single background colour, mostly bold, titled in white at the bottom over a soft dark fade.
- Corner nav. Four bold links stacked top-left (Home, About, News, Contact) and two lines top-right (We based in New York, hello@vest.com). The links switch from white to black over light content.
Colors
Surfaces
#FFFFFFPage background for every section after the hero, footer, inputs
#FFFFFFSame as canvas
#FFFFFF#000000Hero band, the project strip behind the cards, the cart drawer
Ink
#FFFFFFText on primary
#000000Text on secondary
#FFFFFF#000000Headlines, nav over white, client logos
#535353Paragraphs and list items (--dim-grey), placeholders
#12141DBlockquote text (--black)
#FFFFFFWordmark, nav and quote on the black hero
#FFFFFF · 70%Project meta (Logo, User Interface), .paragraph-white
#FFFFFFAction
#000000The pill submit button (Send Request)
#000000#FFFFFFThe white .button pill used on dark areas
#0505AF.button:hover turns deep blue with white text
#696969.dark-link text links
Lines & effects
#E1E1E11px input border
#B9BBC8Resting line under text links
#2A2A2A#000000 · 30%Bottom of the card fade: linear-gradient(transparent 64%, #0000004D)
Typography
Satoshi · display-marquee
The quick brown fox jumps.text-rotator: the Let's talk 👋 line that scrolls sideways (8 copies, nowrap). 80px · 700 · 1.0
Satoshi · headline-lg
The quick brown fox jumpsSection headlines (We are happy to contribute, You get results, we get awards.🏆). 40px · 700 · 1.0
Satoshi · title-lg
The quick brown fox jumpsBlog card titles. 30px · 700 · 1.1
Satoshi · label-nav
The quick brown fox jumpsNav links and the top-right contact lines. 19px · 700 · 1.05
Satoshi · body-lg
The quick brown fox jumpsParagraphs (#535353), project meta (70% white). 17px · 500 · 1.41
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px |
| Section rhythm | .section is 100px top and bottom with 5% sides; the video section is 120px |
| Breakpoints | 991px, 767px and 479px (Webflow defaults) |
Spacing scale
| Token | Value | Preview |
|---|---|---|
hair | 3px | |
xs | 8px | |
sm | 16px | |
md | 30px | |
lg | 40px | |
xl | 45px | |
2xl | 80px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
marquee-y | 59px | |
section | 100px | |
section-video | 120px |
Border radius
Motion
| Nav text roll | The label moves y 0% ↔ 100% inside its 20px clipped box, 500–600ms ease |
| Nav underline | The 2px line changes width, 300ms ease |
| Nav colour flip | White ↔ black text as light or dark content passes under, 300ms outCubic |
| Wordmark shrink | Size change on scroll, 400–500ms ease |
| Project strip | Moves sideways (x to 0%) as the page scrolls |
| Custom cursor | Over project cards: appears from scale 0 to 1 in 1000ms outExpo; shrinks to 0.3 in 300ms outCubic on leave |
| Fade-up | opacity 0 → 1 with y 20% → 0, 500ms ease |
| Page load | opacity 0 → 1, 1000ms outQuart |
| Flip | rotateX −100° → 0, 500ms, on a few headings |
| Button hover | all 0.2s |
Do’s and don’ts
- Open on a #000000 hero with the giant white wordmark and a 75px Satoshi 700 quote.
- End each headline phrase in weight 400 at the same size (display-quote-light, headline-lg-light).
- Run project cards edge to edge, square, with no gaps, each on its own saturated colour.
- Keep sections white with body text in #535353 at 17px.
- Use pill buttons (30px radius): black on white sections, white on dark.
- Flip the fixed nav from white to black when it passes over white content.
- Add a UI accent colour. The only blue is the #0505AF hover of the white pill.
- Round images or cards, or add shadows.
- Use italics, uppercase or letter spacing.
- Use Inter. It is loaded but unused.
- Put body text in #696969 (link-dim); keep it for short links. Paragraphs are #535353.
- Leave gaps between project cards or frame them with borders.
Example prompt
Any page in the Vest style
More design systems like this
Agency design systems, the same colors first.
Bring any of them to your AI tool
All Access unlocks all 398 design systems, ready for Claude, ChatGPT, Gemini, Cursor, v0 and Lovable, plus 400+ templates on all 5 platforms.
Get All AccessUpgrade to All AccessHow to use the Vest design system
Pick a file to see what it’s for and where it goes.
What it is
The whole design system in one markdown file, written for AI: every color, type style, spacing value, component and motion rule, plus do's, don'ts and a ready prompt.
Best for
Claude, ChatGPT, Gemini, Cursor and v0, or any other AI tool that builds pages or code.
How to use it
- Put
DESIGN.mdin your project and mention it in your request, or save it as.cursor/rules/vest.mdc - For the rule file, start it with a front-matter block that sets
alwaysApply: true, so every chat uses it - Ask: “Build a pricing page using DESIGN.md.” Cursor follows the colors, fonts, spacing and rules
- Put
DESIGN.mdin the project root - Add one line to
CLAUDE.md: “Follow DESIGN.md for all UI.” - Ask for any page or component; Claude reads the file first
- Attach
DESIGN.mdto the chat (or paste it in) - Ask: “Build a landing page in this design system.”
- Keep the file in the chat or project knowledge, so follow-up pages stay on style
What it is
Every token as data, in the W3C Design Tokens format: colors with their roles, type styles, radius, spacing, and component tokens that point at them.
Best for
Figma (Tokens Studio), Style Dictionary and other design-token tools, and build scripts.
How to use it
- In Figma, open Tokens Studio, choose Import, and pick
tokens.json - Or point Style Dictionary’s
sourceat it to generate tokens for any platform - In code, import it like any JSON file
What it is
A Tailwind CSS v4 theme: every color, font, type style, radius and spacing value becomes a Tailwind utility, like bg-canvas, text-headline-lg or rounded-md.
Best for
Tailwind v4 projects, and AI builders that write Tailwind (v0, Lovable, Bolt).
How to use it
- Save
theme.cssnext to your main CSS file - Import it after Tailwind:
@import "tailwindcss"; @import "./theme.css"; - Use the classes:
bg-canvas text-ink rounded-md p-lg
What it is
The same tokens as plain CSS variables on :root. Component values point at the color variables, so changing one color updates everything that uses it.
Best for
Any website: plain CSS, Webflow custom code, Framer, WordPress.
How to use it
- Add it to your stylesheet, or in Webflow paste it into Site settings → Custom code inside a
<style>tag - Use the variables anywhere:
color: var(--color-ink) - Change a token once and every place that uses it follows






