Kofo Design System
Kofo is a calm, gallery-white agency site. It is almost entirely black and grey on white: a giant three-word Satoshi headline, short grey paragraphs, flat light-grey tiles with square corners, and colour that comes only from the photography and one slate-blue accent. Small black line doodles (a paper plane, a spider, two curved strokes) are scattered in the margins and give it a playful, hand-made note against the strict type.
Four signatures make it recognisable:
- The Think. / Create. / Solution. stack. Three one-word lines at 170px with line height 0.9, each ending in a full stop. The middle word drops to weight 300 in grey #8F8F8F; the outer two stay weight 500 in black.
- Grey-on-grey buttons. The main button is a flat #E2E2E2 block with #747474 bold text and a 7px radius. On hover it turns slate blue #4353FF with white text in 200ms. There is no other filled button.
- Square-cornered media. Every image and card has a 0px radius (57 of 57 images). Only chips, tags, buttons and circles are rounded.
- Doodles and a showreel badge. Line illustrations sit loose around sections, and a 120px slate-blue circle with SHOWREEL set around its edge rides the corner of the video block.
Kofo is a light-only design.
Colors
Surfaces
#FFFFFFPage background, nav bar, menu overlay, form fields
#F1F1F1The grey bands at the end of the page (From Blog, Ready to talk)
#E2E2E2Service cards and the Featured Work band
#FFFFFFInputs, with a 1px #E1E1E1 border and #999999 placeholder
Ink
#747474Text on primary
#FFFFFFText on accent
#000000Headlines, nav, card titles, Learn More links
#747474All paragraphs and list items (the CSS p colour), footer links, tag text
#8F8F8FThe light hero word Create., link underlines, blog title hover
#FFFFFFProject titles over images (chip text is white at 96%)
Action
#E2E2E2The flat grey button
#4353FFButton hover, the showreel badge and the video lightbox circle
#4353FFButton hover, the showreel badge and the video lightbox circle
Lines & effects
#E2E2E2Category tag borders and the menu's bottom rule (#E1E1E1)
#D4D4D4Footer divider, 1px, 80% wide
#FFFFFF · 30%1px borders on chips and lines laid over photos
Typography
Satoshi · display-hero
The quick brown fox jumpsThink. 170px · 500 · 0.9
Satoshi · headline-lg
The quick brown fox jumpsSection titles: Featured Work, We are blessed to work with leading brands. 52px · 700 · 1.1
Satoshi · title-lg
The quick brown fox jumpsThe two-line statement above the service cards. 30px · 700 · 1.2
Satoshi · body-lg
The quick brown fox jumpsHero and intro paragraphs (.paragraph-1). 22px · 500 · 1.3
Satoshi · label
The quick brown fox jumpsButton text. 17px · 700 · 1.4
Satoshi · tag
The quick brown fox jumpsCategory tags, chips on photos, inputs. 16px · 500 · 1.25
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred |
| Section rhythm | 120px top and bottom on white sections |
| Breakpoints | 991px (tablet), 767px (landscape phone), 479px (phone) |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 10px | |
sm | 16px | |
md | 25px | |
lg | 40px | |
xl | 80px | |
2xl | 100px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
nav-y | 17px | |
section-bottom-cta | 30px | |
section-bottom-blog | 60px | |
section | 120px |
Border radius
Surfaces
How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.
Motion
| Scroll-in reveal (headings, cards) | opacity 0 → 1, y 70px → 0, skewX −10° or −20° → 0°, 500ms, outQuint |
| Soft fade-up | opacity 0 → 1, y 10px → 0 or 50px → 0, 500ms; or 1000ms outQuart for slower blocks |
| Icon hover pop | scale 1 → 1.1, 100ms ease, and back |
| Line-link hover | Underline width grows, 500ms |
| Button hover | Background and colour, 200ms (transition: all .2s) |
| Blog title hover | Colour to #8F8F8F, 300ms |
| Nav on scroll | Scroll-direction events are set |
| Custom cursor | Follows the mouse over project cards; doodles shift a few px (x ±5px, ±2px) with the cursor |
| Image hover | Filter and size change, 300ms ease |
Do’s and don’ts
- Keep the page white #FFFFFF with black #000000 headlines and #747474 paragraphs.
- Use Satoshi only: 700 for headlines, 500 for paragraphs, 300 only for the grey hero word.
- Keep every image and card square (0px radius); round only buttons (7px), tags (4px), chips (20px) and circles.
- Use the flat #E2E2E2 button with #747474 text and switch it to #4353FF with white text on hover.
- Separate surfaces by fill (#FFFFFF, #F1F1F1, #E2E2E2), never by shadow.
- Add one or two line doodles per section for the hand-made touch.
- Add drop shadows, glass, gradients on UI or rounded image corners.
- Use slate blue #4353FF for headings, paragraphs or whole-section backgrounds.
- Shrink the grey button text below 17px bold: #747474 on #E2E2E2 is only 3.61:1, so it needs the weight.
- Put long #747474 paragraphs on #E2E2E2 cards (3.61:1) or #F1F1F1 bands (4.14:1); keep them to 2–3 lines at 17px+.
- Use ink-faint #8F8F8F for anything under 36px; it is 3.23:1 on white.
- Load Melodrama, Inter or the unused red and orange variables.
- Use uppercase labels or letter spacing; Kofo's type is normal-tracked sentence case.
Example prompt
Any page in the Kofo 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 Kofo 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/kofo.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






