Article Dark Design System
Article Dark is a calm, magazine-like blog template on a near-black page. Nothing is pure white: all text is a warm stone grey (#B3B2AF and #C1C1BE), and the only button is a pale grey #AAA9A5 with dark text. Large Satoshi headlines with tight tracking, thin charcoal hairlines between sections and soft 10px cards make it feel like a printed editorial layout rather than a tech product. The colour comes entirely from photography: red, pink and wood tones in fashion and print-mockup images.
The measured page is the template's intro page: a hero followed by grids of preview cards (HOME STYLES, ARTICLE STYLES, COMPANY STYLES). The blog layouts themselves appear inside those previews; their values here come from the shared CSS classes.
Four signatures make it recognisable:
- No white. Ink is #C1C1BE and body text #B3B2AF on #121212, so contrast stays soft and warm.
- Bold-plus-light titles. Uppercase titles pair a weight-600 word with a weight-400 word in the same size: HOME STYLES, ALL ARTICLES, PRESS MENTIONS, GET IN TOUCH.
- Hairline sections. Every section starts under a full-width 1px #333333 rule, with the title about 60px below it.
- Dark title cards on photos. In the blog layouts, post titles sit in small #121212 boxes laid over the corner of a photo, with a 38px square arrow chip in the corner.
Article Dark is a dark-only design.
Colors
Surfaces
#121212Page and nav background (--dark)
#171717Footer, newsletter field
#222222Preview cards on the intro page
#313131The dark circle that fills buttons on hover
#171717Newsletter input fill
Ink
#121212Text on primary
#121212Text on secondary
#C1C1BELinks, small titles, card labels, the footer (--second-color)
#B3B2AFBody text, the hero headline, section titles, nav links (--main-color)
Action
#AAA9A5Main buttons: Buy Article — $79, Subscribe (--third-color)
#313131The .button-overlay circle that grows over the button on hover
#C1C1BEForm submit buttons
Lines & effects
#333333Nav bottom border, section hairlines, the 1px nav divider, input borders
#C1C1BE · 24%Newsletter field border
#C1C1BEThe 1px bottom rule of the search field
#FFFFFF · 50%The 0.5px ring around the round arrow icon
Typography
Satoshi · display-hero
The quick brown fox jumpsTake your blog to the next level with Articlē. 101px · 500 · 0.95 · -2px
Satoshi · headline-search
The quick brown fox jumpsThe search overlay input and placeholder. 36px · 400 · 1.17
Satoshi · body-lg
The quick brown fox jumpsHero lead A stylish, contemporary template…. 23px · 500 · 1.2
Satoshi · title-section
The quick brown fox jumpsFirst word of section titles (HOME), footer titles. 22px · 600 · 1.1
Satoshi · label-nav
The quick brown fox jumpsNav links. 17px · 600 · 1.18
Satoshi · caption
The quick brown fox jumpsSmall labels (.figma-text). 13px · 500 · 1.6
Spacing & shape
| Purpose | Value |
|---|---|
| Container | full width with 2% side padding (29px at 1440px), 3% at ≤767px; content tops out at 1400px |
| Section rhythm | the intro section uses 100px top and 200px bottom (40px and 150px at ≤991px) |
| Breakpoints | 991px, 767px and 479px, plus a min-width: 768px step |
Spacing scale
| Token | Value | Preview |
|---|---|---|
xs | 5px | |
sm | 9px | |
md | 20px | |
lg | 25px | |
xl | 30px | |
2xl | 50px |
Layout spacing
| Token | Value | Preview |
|---|---|---|
gutter | 29px | |
nav-height | 88px | |
section-top | 100px | |
instagram | 120px | |
section-bottom | 200px |
Border radius
Surfaces
How the surfaces stack, from the page background up. Hex codes and roles are in Colors above.
Motion
| Text roll (buttons and links) | Label y 0% → −100%, copy y 103% → 0%, 500ms outQuint |
| Button fill | .button-overlay circle grows (size 500ms) behind the label |
| Text colour | Text colour 500ms outQuint on hover |
| Fade | opacity 300ms ease in and out; 200ms ease for small reveals |
| Lift | y 0 → −30px and back, 300ms ease |
| Slide-in | x −30px → 0 500ms outQuart, or x 30px → 0 800ms outExpo |
| Nav on scroll | y 0 ↔ −38px over 500ms with page scroll |
| CSS | .button transitions all 300ms |
Do’s and don’ts
- Keep all text in the warm greys: #B3B2AF for body and display, #C1C1BE for links and small titles.
- Pair weights in uppercase titles: first word 600, rest 400, both 22px.
- Open every section with a full-width 1px #333333 rule.
- Use 10px radius on cards and buttons, 6px on images inside cards, 7px on chips and fields.
- Lay post titles in dark #121212 boxes over the corner of the photo, with a 38px arrow chip.
- Use the grey #AAA9A5 button with #121212 text and the growing #313131 circle on hover.
- Use #FFFFFF for text or a saturated accent colour for buttons or links.
- Add drop shadows, gradients or glass blur.
- Set the hero in bold; it is weight 500 with −2px tracking.
- Jump between surfaces by more than one step (#121212 → #171717 → #222222 → #313131).
- Put text on a photo without its dark title box.
- Use long durations; keep hover motion at 300–500ms.
Example prompt
Any page in the Article Dark style
More design systems like this
Blog 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 Article Dark 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/article.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






