Zaine Design System
Zaine is a quiet, image-first personal portfolio. It opens on a tall, dark landscape photo with three giant white words, then cuts to a plain white page where the work sits in big square-cornered frames. The type is a clean grotesque (Satoshi) at extreme sizes, with a thin serif (Melodrama) used for small accents. Almost all colour comes from the photography.
Four signatures make it recognisable:
- Giant three-word hero. Digital / Creative / Designer in 230px Satoshi 500, one word per line, white over an 1800px-tall photo that darkens towards the bottom.
- Sans-plus-serif wordmark. The logo ZaineGrey sets Zaine in Satoshi and Grey in Melodrama, joined with no space. The serif returns in project numbers (Ø1) and a dictionary-style definition (design /dɪˈzʌɪn/).
- Centred location line. The fixed nav has the logo left, a sun icon with Based in sunny San Diego, CA in the centre, and About, Blog, Contact on the right. Links turn italic on hover.
- White label pills on images. Each project image carries a white 25px-radius pill top-right (Art Direction, Design, Logo, User Interface), and projects are staggered: one full-width frame, then a small portrait left and a larger frame right, set lower.
Colors
Surfaces
#FFFFFFPage background below the hero, tags, cart
#FFFFFFSame as canvas: tags and the cart
#000000Hero band, the UP button, button hover fill
Ink
#000000Text on primary
#000000Section titles, project titles, nav over white, buttons
#747474Body copy (p, li), field labels and inputs (--dim-grey)
#8F8F8FProject index numbers, prices (--grey)
#FFFFFFText on inverse-canvas
#FFFFFFHero words, nav over the photo, social icons
#FFFFFF · 80%Hero paragraph
#FFFFFF · 20%The 50px circle behind About Me →
#FFFFFF · 35%Thin lines under text links on dark
Action
#FFFFFFThere is no filled button
#000000The pill fills black with white text on hover
Lines & effects
#000000 · 12%1px border of the outline pill button
#DDDDDDBottom border of contact inputs
#C7C7C71px underline under menu links
#000000 · 60%End of the hero gradient (clear at 31%, 60% black at the bottom)
Typography
Satoshi · display-hero
The quick brown fox jumpsDigital, Creative, Designer. 230px · 500 · 1.0
Satoshi · title
The quick brown fox jumpsProject titles (Cyber Crypto). 30px · 500 · 1.0
Satoshi · logo
The quick brown fox jumpsZaine (Satoshi) + Grey (Melodrama). 27px · 400 · 1.11
Satoshi · body-lg
The quick brown fox jumpsHero paragraph at 80% white. 26px · 400 · 1.1
Satoshi · label-lg
The quick brown fox jumpsNav links (italic on hover). 20px · 500 · 1.3
Satoshi · caption
The quick brown fox jumpsUP. 14px · 700 · 1.43
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred |
| Breakpoints | 991px, 767px and 479px (Webflow defaults) |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 10px | |
sm | 20px | |
md | 25px | |
lg | 30px | |
xl | 50px | |
2xl | 100px | |
3xl | 150px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
footer-bottom | 20px | |
footer-top | 50px | |
section | 120px |
Border radius
Motion
| Page-load intro | 150px lines slide y 0% → −100% / −200% over 2500ms with cubic-bezier(0.784, 0.325, 0.222, 0.98) |
| Text reveal | Lines rise y 110% → 0% inside a mask, 500ms |
| Fade-in | opacity 0 → 1, 1000ms outQuart |
| Side and vertical entries | move ±80px → 0, 500ms |
| Image filter | A filter change over 500ms as images scroll in |
| Image hover | scale 1 → 1.1, 100ms ease |
| Nav colour | Text colour changes white ↔ black over 500ms by section |
| Nav link hover | Italic, transition: all 0.2s |
| Circle link | Circle grows, 300ms ease |
| Pill button | Fill to black, all 0.2s |
Do’s and don’ts
- Open with a full-bleed photo hero (1800px band, 0 → 60% black gradient) and three 230px Satoshi words in white.
- Keep the rest of the page on #FFFFFF with black titles and #747474 body text at 19px 500.
- Pair Satoshi with Melodrama only for the logo's second word, project numbers and short definitions.
- Put a white 25px-radius pill top-right on each project image.
- Stagger project frames: one full-width, then a small portrait left and a larger frame lower right.
- Make links italic on hover and keep the 2500ms soft-stop curve for the load intro.
- Use #8F8F8F for small text: it is only about 3.2:1 on white. Keep it to the 30px Melodrama project numbers and prices.
- Add filled colour buttons; the only boxed button is the transparent black-12% pill that fills black on hover.
- Use the unused variables #FE0000, #EB5432, #E8F0FD or #F1F1F7.
- Round images or add shadows.
- Add letter spacing or uppercase; Zaine is sentence case with 0 tracking.
- Set body copy in pure black; it is #747474.
Example prompt
Any page in the Zaine style
More design systems like this
Portfolio 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 Zaine 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/zaine.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






