Harlem Design System
Harlem is a dark, confident startup site for a finance or trust product. It sits on pure black with white Inter Tight at weight 600, and uses a single crimson (#C51E3A) sparingly: the main button, square icon tiles and one highlighted line. Large moody 3D renders (magenta folds, cobalt glass, a chrome sphere) bring the rest of the colour.
Four signatures make it recognisable:
- Two-tone sentences. Hero leads and section statements start in white and fade to 60% white mid-sentence (Our expertise lies in lifting / your business to a more advanced level.). One title uses crimson for the second line instead: Unusual devotion. / Unusual achievements.
- Crimson used like a signal. #C51E3A appears only on Get started buttons, 70px icon tiles in feature cards, the red chart in the app mockup and the menu hover fill.
- Washed buttons. Every .button (crimson and translucent) carries an inset 0 800px 3px #FFFFFF1A white wash. On hover the wash is removed, so the button settles to its true, slightly darker colour.
- A rounded work band. The Selected work section is a 50px-radius panel, inset from the edges, with a grey-to-black gradient fading down from the top-left.
Harlem is a dark-only design.
Colors
Surfaces
#000000Page background (--black)
#FFFFFF · 10%Panels such as the app card, and the inset white wash on buttons
#FFFFFF · 15%The three feature cards
#3B3B3BThe MENU + pill in the nav
#81818B · 20%Input and subscribe field background
#333333Typed text colour in the CSS
#FFFFFFWhite pill button and white meta tags (Code)
Ink
#FFFFFFText on primary
#FFFFFF#FFFFFFHeadings, labels, first half of two-tone leads
#FFFFFF · 60%Paragraphs (p { color: #fff9 }), second half of two-tone leads, footer links
#0E1010Text on inverse-canvas
#FFFFFFAction
#C51E3AGet started, submit buttons (--main-color)
#C51E3ANo colour change on hover; the hover removes the 10% white inset wash
#FFFFFF · 20%View on Webflow, View full project, card buttons
#C51E3AIcon tiles, Unusual achievements., menu hover bar
#FF0E0ERemove-item dot in the cart
Lines & effects
#FFFFFF · 15%Rule under each testimonial
#FFFFFF · 38%1px line under work titles
Typography
Inter Tight · display-metric
The quick brown fox jumps$6.7B+ and the other stats. 84px · 500 · 1.2
Inter Tight · headline-lg
The quick brown fox jumpsSection titles: Unusual devotion., Selected work (700 in one place). 50px · 600 · 1.2
Inter Tight · title-work
The quick brown fox jumpsWork card titles Theo Marketing, Oslo. 28px · 500 · 1.0
Inter Tight · body-lg
The quick brown fox jumpsParagraphs, in 60% white. 18px · 500 · 1.4
Inter Tight · label
The quick brown fox jumpsButtons (16 instances). 16px · 600 · 1.25
Inter Tight · caption
The quick brown fox jumpsMetric labels (Assets under management); the base body text is 14 / 400 / 20px. 14px · 500 · 1.4
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred |
| Section rhythm | .section is 100px top and bottom (60px at ≤991, ≤767 and ≤479) |
| Breakpoints | 991px, 767px and 479px, plus min-width: 768px and three min-width: 1440px rules |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 7px | |
sm | 15px | |
md | 20px | |
lg | 35px | |
xl | 60px | |
2xl | 100px | |
3xl | 150px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
nav-padding | 30px | |
gutter | 72px | |
nav-height | 96px | |
section | 100px | |
hero-top | 205px |
Border radius
Surfaces
How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.
Motion
| Fade-up on scroll | opacity 0 → 1 and y 20px → 0, 300ms outCubic (500ms ease on some blocks) |
| Long fade | opacity 0 → 1, 1000ms outQuart |
| Pop-in | scale 0 → 1, 600ms outExpo (400ms outExpo going out) |
| Menu open | Panels slide from x −100% to 0%, 500ms outBack |
| View cursor | A 100px circle follows the mouse over work images |
| Buttons | all 0.2s: the inset wash is removed on hover |
| Logo tabs | all 0.4s: opacity 0.37 → 1 and border |
| Links, blog titles | all 0.3s: opacity change |
| Image filter | filter 200ms ease on hover |
Do’s and don’ts
- Use a pure #000000 canvas with #FFFFFF headings at weight 600 and paragraphs at white 60% (#FFFFFF99).
- Split big statements into a white first clause and a 60% white remainder.
- Keep crimson #C51E3A for the main button, icon tiles and at most one highlighted line per section.
- Build panels from white at 10–20% alpha, with 10px corners for cards and 50px for the work band.
- Give buttons the inset 0 800px 3px #FFFFFF1A wash and remove it on hover over 200ms.
- Use dark, saturated 3D renders as the only imagery colour.
- Use opaque greys for panels or text; use white at an alpha.
- Use crimson for body text, large backgrounds or more than one button per group.
- Add drop shadows or glowing outlines.
- Leave input text at #333333 on the dark field; set typed text to #FFFFFF.
- Round buttons beyond 5px, except the white button-main pill and nav MENU pill.
- Use letter spacing or uppercase on headings; only the MENU label is uppercase.
Example prompt
Any page in the Harlem style
More design systems like this
Business 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 Harlem 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/harlem.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






