Zoya Design System
Zoya is a bright, playful studio site. White pages carry very large handwritten headlines (Build. Create. Launch.) in Story Script, a slanted brush-script face, set against plain Satoshi body text. Every few sections the page splits into a full-height photo on one side and a solid black panel on the other. Colour arrives in small doses as vivid two-stop gradients on labels, icons and menu hovers, while the buttons stay a quiet mauve.
Four signatures make it recognisable:
- Script headlines. Section titles and the hero are Story Script 400 (170px hero, 62px sections, 80px CTA), never bold Satoshi. Each hero word ends with a full stop and gets its own line.
- The hairline header. A fixed header whose four 1px black rules (each 45% wide) frame the top and bottom of the bar and stop short of the centred crossed logo, a black X with the letters Z, O, A and Y in its four corners. A creative digital studio. sits left in grey; Cart⁰ | Menu + sits right.
- Photo + black half-bands. Two-column bands with no gap: a full-height editorial photo and a #000000 panel padded 80px (120px on the outer side) holding a gradient eyebrow, a 23px lead at 80% white and a white button.
- Gradient accents. Four 50-degree gradients (wine #DA4453→#89216B, indigo #3F2B96→#A8C0FF, sunset #FF8C00→#FF0080, mint #11998E→#38EF7D) fill 100px service circles, clip the text of band eyebrows (About ZOYA, Our Skills, Contact Us) and colour menu links on hover.
Colors
Surfaces
#FFFFFFPage background, hero, overlay menu, cart
#ECECECThe only light step: the primary button's hover fill
#222222Contact-form inputs on the black band
#000000Half-bands, CTA band, footer, go-top button
Ink
#FFFFFFText on primary
#000000Text on primary-hover
#000000Text on secondary
#000000Headlines, nav labels, the statement paragraph, blog titles
#757575Paragraphs, categories, job titles, the nav tagline, the cart count
#FFFFFFText on black bands
#FFFFFF · 80%Band leads and skill labels
#FFFFFF · 57%Footer links (60% for contact lines)
#FFFFFFAction
#826F8DFilled buttons (Make A Call, Send Message), the newsletter submit, text-link colour and underline
#ECECECFilled button hover
#FFFFFFWhite button on black bands (1px white border)
Lines & effects
#0000001px header rules, menu dividers, the menu's left column border
#E1E1E1Divider under blog titles
#FFFFFF · 15%Bottom border of the CTA band
#4253FFBlog category tags
#7122FABlog category tags
#DA4453#89216B#3F2B96#A8C0FF#FF8C00#FF0080#11998E#38EF7DTypography
Story Script · display-hero
The quick brown fox jumpsBuild. 170px · 400 · 0.9
Satoshi · headline-lg
The quick brown fox jumpsCentred statement Creative studio [logo] based in New York…. 62px · 700 · 1.2
Satoshi · title-lg
The quick brown fox jumpsBlog card titles. 32px · 700 · 1.2
Satoshi · body-lg
The quick brown fox jumpsHero lead and band leads. 23px · 500 · 1.3
Satoshi · eyebrow
The quick brown fox jumpsAbout ZOYA, Our Skills, Contact Us. 21px · 500 · 1.2
Satoshi · label-button
The quick brown fox jumpsButtons and text links. 16px · 700 · 1.2
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred; sections add 5% side padding |
| Section rhythm | 120px top and bottom (80px at ≤991px); half-band sections use 100px at ≤767px and 60px at ≤479px |
| Breakpoints | 991px, 767px, 479px |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 10px | |
sm | 20px | |
md | 30px | |
lg | 40px | |
xl | 50px | |
2xl | 80px | |
3xl | 150px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
grid-gap | 16px | |
band-padding | 80px | |
cta-padding | 90px | |
section | 120px | |
band-inset | 120px |
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 ease |
| Hero lines | Opacity 0 → 1 over 1000ms outQuart |
| Horizontal work gallery | The 400vh track scrolls the sticky row sideways while the section is in view |
| Skill bars | Width grows to the percentage, 500ms ease |
| Menu link hover | The black word slides out and the gradient copy slides in inside the 61px mask, 300ms ease |
| Work cursor | The mint circle follows the mouse over work items |
| Buttons | transition: all .3s |
| Links and social icons | transition: all .2s; social icons fade to 60% |
| Newsletter arrow | Background position 50% → 90% |
Do’s and don’ts
- Set the hero and section titles in Story Script 400; keep body and UI in Satoshi 500/700.
- Frame the header with four 1px black rules and centre the crossed logo between them.
- Alternate white sections with photo + #000000 half-bands padded 80px (120px outer side).
- Use the four 50° gradients only on circles, clipped eyebrow text, menu hovers and the work cursor.
- Use primary #826F8D for filled buttons and text-link underlines; use the white button on black.
- Keep paragraphs at #757575 on white and white at 80% on black.
- Use Story Script for paragraphs, buttons or labels.
- Fill a band, card or button with a gradient.
- Add shadows, rounded cards or radii beyond 3px buttons and 4px fields.
- Introduce extra greys: text is #000000 or #757575 on white.
- Make white-on-mauve button text smaller than 16px bold; the pair is close to the 4.5:1 limit.
- Stack more than one display line style in a section; one script title per section.
- Put ink-muted #757575 on surface-1 #ECECEC: it is only 3.9:1. #ECECEC is a hover fill; text on it is black.
Example prompt
Any page in the Zoya 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 Zoya 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/zoya.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






