Median Design System
Median is a warm, quiet agency site on a white page where everything on the white canvas, from the logo to body copy, is set in one taupe (#9F8170); text on photos and on the taupe band is white. Almost every word is uppercase Inter Tight (the skewed Our Work title is mixed case). The type does the work: a three-line hero at 150px, a skewed "Our Work" title that shrinks as you scroll, and big menu words. Photography is square-cut and muted, so the page reads like a beige catalogue.
Four signatures make it recognisable:
- Taupe on white, nothing else. Headings, body text, links, icons, borders and the filled buttons all use #9F8170. There is no black text on the home page and no second brand colour.
- Gradient column lines. About 23 thin vertical lines run behind the whole page, each a linear-gradient(#FFFFFF 10%, #9F8170 50%, #FFFFFF 90%), so they fade in and out at the top and bottom of each band.
- The selection frame. One hero word (STUDIO) sits inside a 3px #FFB700 yellow frame with square corner handles and a yellow cursor, like an object selected in a design tool. It is the only warm accent.
- All caps, everywhere. text-transform: uppercase is set on body, so paragraphs, buttons, tags and names are all capitals.
Median is a light-only design.
Colors
Surfaces
#FFFFFFPage background (--black in the Webflow variables is white)
#FFFFFFSame as canvas
#333333Form input text and placeholder
#999999Form input text and placeholder
#9F8170The tilted marquee band and button text
Ink
#FFFFFFText on primary
#9F8170Headings, links, nav icons, logo, borders (--color)
#9F8170Body text is the same taupe as headings
#000000Prices on the pricing and cart pages only
#FFFFFFTitles on project photos
#FFFFFF · 70%Meta lines on project photos
#FFFFFFText on inverse-canvas
Action
#9F8170Filled pill buttons and the form submit
#B29787.button:hover, a lighter taupe
#FFB700The 3px hero selection frame and its handles (2px on one small frame)
#FF0E0EThe remove-item dot in the cart
Lines & effects
#9F81702px borders on outline tags, link underlines and count badges
Typography
Inter Tight · display-hero
The quick brown fox jumpsHero THE DIGITAL / INNOVATION / STUDIO, centred, three lines. 150px · 600 · 1.1
Inter Tight · headline-lg
The quick brown fox jumps.title-1, the largest in-page section title. 60px · 600 · 1.2
Inter Tight · title-lg
The quick brown fox jumpsSmall section titles such as the client strip heading. 27px · 600 · 1.2
Inter Tight · body-lg
The quick brown fox jumpsLead lines (form text is 18 / 400). 18px · 500 · 1.3
Inter Tight · label
The quick brown fox jumpsButtons. 16px · 600 · 1.25
Inter Tight · eyebrow
The quick brown fox jumpsFooter pill tags. 14px · 700 · 1.1 · 1px
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred, flex-direction: column |
| Section rhythm | .section is 150px top and bottom (80px at ≤991, 50px at ≤767 and ≤479) |
| Breakpoints | 991px, 767px and 479px, plus a min-width: 768px set |
Spacing scale
| Token | Value | Preview |
|---|---|---|
hair | 5px | |
xs | 8px | |
sm | 16px | |
md | 30px | |
lg | 40px | |
xl | 80px | |
2xl | 100px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
section-logos | 50px | |
gutter | 72px | |
section-work | 100px | |
nav-height | 120px | |
section | 150px | |
hero-top | 175px | |
hero-bottom | 200px |
Border radius
Motion
| Fade-in on scroll | opacity 0 → 1, 1000ms outQuart |
| Headline line reveal | Lines start at y 200% with skewY 7°, then move to y 0% and skewY 0°; 500ms setup, 1100ms outQuint rise |
| Slide-in blocks | x/y offset to 0px, 1000ms outQuart |
| Menu word roll | Inside a 74px mask, the word moves y −100px while a copy moves from 100px to 0; 500ms |
| Work title on scroll | Page-scroll scale and skew of Our Work (scrubbed) |
| Image hover | filter change, 300ms ease; scale 0.8 → 1 at 300ms outQuad on small icons |
| Arrow nudge | x ±6px, 500ms |
| Button fill | background-color 200ms cubic-bezier(0.645, 0.045, 0.355, 1) |
| Links, tags | all 0.3s; tags fade to 0.76 opacity |
Do’s and don’ts
- Use #9F8170 for all text, icons, borders and filled buttons on the #FFFFFF canvas; text on photos and the taupe band is white.
- Set all text uppercase in Inter Tight: headings 600, body 500, letter spacing 0.
- Keep body text at 17px weight 500 or larger, because taupe on white is only about 3.6:1.
- Put the gradient column lines (#FFFFFF 10% → #9F8170 50% → #FFFFFF 90%) behind long sections.
- Use 30px pills for buttons and outline tags with 2px taupe borders, and square-cut photos.
- Use #FFB700 only for one selection-frame moment per page.
- Add a second brand colour, grey text ramps, or black body text.
- Round photos or cards; only buttons, tags and badges are round.
- Use drop shadows, except the one 1px 10px 15px #0000001A under the tilted marquee band.
- Set small text (under 16px) in taupe for long reading; keep small sizes to tags and labels.
- Use Oswald for anything except a blog blockquote.
- Use lowercase-only styling or mixed-case headings, except the skewed Our Work title.
Example prompt
Any page in the Median 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 Median 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/median.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






