Tulsa Design System
Tulsa is a dark, calm marketing-firm site. It feels like a product studio lit by one soft spotlight: a warm charcoal page, pale sage-grey headlines in Inter Tight 600, square slate-teal cards, and colour held back to a single green glint inside glass 3D renders. The live brand mark is spelled Tūlsa with a macron.
Four signatures make it recognisable:
- Dimmed second halves. The hero lines, leads and statements start in ink #D3E0E0 and ends at 60% opacity: The virtual / marketing firm., Enabling the progress of newly established companies.
- Slate-teal square blocks. Service cards, logo tiles, testimonials and the contact panel are all #4B5959 rectangles with 0px corners on the #2A2C29 canvas.
- Spotlit hero. A full-viewport photo backdrop (hero.png, cover) gives a grey-green light falling from the top, with a glass-and-green 3D cube on the right.
- Frosted buttons on photos. View full project and Contact us are 5px-radius buttons in white at 40% with a white inner wash, sitting on images and panels.
Colors
Surfaces
#2A2C29Page background (--main-color), menu overlay
#4B5959Service cards, logo tiles, testimonial cards, contact panel (--third-color)
#435152Footer pill tags; gradient start (--first-color)
#484B47The grey closing band (.section.gray, --second-color-section)
#FFFFFFWhite icon discs on service cards, blog titles
Ink
#FFFFFFText on the gradient pill
#D3E0E0Headlines, labels, links, borders (--body-color)
#FFFFFF · 70%Paragraphs: base p is white with opacity: .7
#D3E0E0 · 60%The dimmed second half of headings and lead lines, companies and roles
#FFFFFFTitles and logos over work photos, input text
#2A2C29Text on inverse-canvas
Action
#4B5959Midpoint of the pill gradient; the solid fallback for it
#4B5959#96A59EGradient end, a pale sage
Lines & effects
#D3E0E01px input borders, 2px tag borders and link underlines
#FFFFFF · 40%Frosted 5px buttons over photos and panels
Typography
Inter Tight · display-menu
The quick brown fox jumpsFull-screen menu links (.text-line), capitalised, in 87px overflow-hidden rows. 90px · 600 · 0.9
Inter Tight · headline-lg
The quick brown fox jumpsSection title (Case study). 50px · 600 · 1.2
Inter Tight · title-lg
The quick brown fox jumpsBlog card titles, white. 30px · 600 · 1.2
Inter Tight · body-lead
The quick brown fox jumpsLead lines, statements, testimonial quotes, contact heading. 26px · 600 · 1.4
Inter Tight · label
The quick brown fox jumpsButton labels. 17px · 600 · 1.18
Inter Tight · eyebrow
The quick brown fox jumpsFooter pill tags. 13px · 700 · 1.1 · 1px
Spacing & shape
| Purpose | Value |
|---|---|
| Container | max 1200px, centred (.container); sections add 5% side padding (72px at 1440px) |
| Section rhythm | .section is padding: 100px 5% throughout, with 80px top and bottom at ≤991px and 50px at ≤767px |
| Breakpoints | 991px, 767px and 479px, plus a 1440px+ step |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 8px | |
sm | 15px | |
md | 20px | |
lg | 40px | |
xl | 50px | |
2xl | 70px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
nav-y | 15px | |
column-gap | 20px | |
section-x | 72px | |
section | 100px |
Border radius
Surfaces
How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.
Motion
| Headline rise | y 200% + skewY 7° → y 0% over 1100ms outQuint, skew back to 0° over 500ms, inside an overflow-hidden line |
| Fade in | opacity 0 → 1, 1000ms outQuart, on scroll into view |
| Menu link roll | y 0 → −100% with a copy rolling in (about 400ms) |
| Menu open | Items scale 0.8 → 1 300ms outQuad, opacity → 1 300ms ease; burger lines rotate 300ms ease |
| Cursor circle | scale 0 → 1 600ms outExpo on project enter, back to 0 in 400ms outExpo |
| Project hover | A slide x 100% ↔ 0%, 300ms ease |
| Cursor parallax | Hero render moves ±6px on mouse move, 500ms |
| Card hover | transform: scale(.97), 300ms |
| Button hover | Inset wash off, 200ms; pill background 200ms cubic-bezier(0.645, 0.045, 0.355, 1) |
Do’s and don’ts
- Split hero lines, leads and statements into two tones: ink #D3E0E0 then ink at 60%, same size and weight 600.
- Keep blocks square: surface-1 #4B5959 cards, tiles and panels with 0px corners on canvas #2A2C29.
- Set paragraphs at 18px weight 500 in white at 70%.
- Use the gradient pill (#435152 → #4B5959 → #96A59E) for the one main action, and the frosted 5px glass button over photos.
- Keep 100px vertical section padding and the 1200px container.
- Let green appear only inside glass 3D renders.
- Use ink-subtle (60%) for text under 17px or on surface-1 cards for anything but names and companies; it drops below 4.5:1 there.
- Add bright accents, pure white headlines or pure black backgrounds.
- Round cards, images or inputs.
- Add drop shadows or blur; the only shadow is the inset white wash on frosted buttons.
- Use uppercase except for footer tags and the cursor circle.
- Speed scroll reveals below 1000ms or use bounce easing.
Example prompt
Any page in the Tulsa style
More design systems like this
SaaS 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 Tulsa 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/tulsa.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






