Claude Design System
Claude's warm cream #faf9f5 canvas, coral #cc785c CTAs and callouts, the Copernicus serif and 29 components, ready for React, Next.js, Claude and Cursor.
- Primary color
- #cc785c
- Typeface
- StyreneB
- Shape
- Mixed
- Base radius
- 8px
- Colors
- 25
- Type tokens
- 14
- Components
- 29
- Spacing values
- 8
About Claude DESIGN.md
Curated by Dov Azencot, updated May 12, 2026. Source claude.com (opens in a new tab).
Claude's design system is built around one tension: a warm cream canvas paired with dark navy product surfaces, joined by a single coral accent. No cool grays. No pure white. The cream tint #faf9f5 is the brand's defining choice — a deliberate counter-positioning against every other AI tool in the category, which leans on blue or slate.
This page packages all of that into a single DESIGN.md file. Inside: 25 colors tokens, 15 type styles built on Copernicus serif and StyreneB sans, 7 corner radii, 8 spacing values, and 29 components — every piece you need to build something that looks like Anthropic.
Download the file and feed it to Claude, Cursor, or GitHub Copilot. The AI writes React components and Tailwind classes that match Claude's editorial voice — serif display headlines, coral CTAs, dark navy code-window cards — rather than a generic SaaS theme. Or use it as a reference for your own work.
What makes it distinct
5 highlights
- Cream canvas #faf9f5 with warm ink #141413The defining counter-positioning against every cool-gray AI brand
- Coral primary #cc785c used scarcely on CTAs and generously on full-bleed coral callout cards, never as a third accent
- Copernicus slab-serif display at weight 400 with -1.5px trackingThe literary voice that separates Claude from sans-led SaaS
- Three surface modes alternate page-by-pageCream canvas, cream cards #efe9de, and dark navy product mockups #181715
- Generous 32px card padding and 96px section rhythmPacing reads as long-form magazine column, not marketing template
Live at claude.com
Claude in production, as captured. Scroll the window to see the whole page.

25 colors
Claude's system runs on #cc785c as its primary voltage, used in 5 of 29 components. Type is set in StyreneB across 14 tokens from 12px to 64px, weights 400–500. Shape language is mixed across 29 components, blending pills, soft rounds, and squarer corners.
Brand & Accent
Sparing, CTA-only voltage · 5
Surface
Page and card backgrounds · 7
Text
Headlines, body, captions · 8
Borders & Hairlines
Dividers, outlines, rules · 2
Semantic
Status, errors, success, links · 3
14 type tokens
Set in StyreneB across 14 tokens, from 12px to 64px, weights 400–500. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.
- display-xl64px · weight 400 · lh 1.05 · tracking -1.5pxThe quick brown fox jumps over the lazy dog
- display-lg48px · weight 400 · lh 1.1 · tracking -1pxThe quick brown fox jumps over the lazy dog
- display-md36px · weight 400 · lh 1.15 · tracking -0.5pxThe quick brown fox jumps over the lazy dog
- display-sm28px · weight 400 · lh 1.2 · tracking -0.3pxThe quick brown fox jumps over the lazy dog
- title-lg22px · weight 500 · lh 1.3The quick brown fox jumps over the lazy dog
- title-md18px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
- title-sm16px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
- body-md16px · weight 400 · lh 1.55The quick brown fox jumps over the lazy dog
- body-sm14px · weight 400 · lh 1.55The quick brown fox jumps over the lazy dog
- caption13px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
- caption-uppercase12px · weight 500 · lh 1.4 · tracking 1.5pxThe quick brown fox jumps over the lazy dog
- code14px · weight 400 · lh 1.6The quick brown fox jumps over the lazy dog
- button14px · weight 500 · lh 1The quick brown fox jumps over the lazy dog
- nav-link14px · weight 500 · lh 1.4The quick brown fox jumps over the lazy dog
Radii and spacing
7 corner radii and 8 spacing values. Shape language: mixed, on a 8px base radius.
Radii7
- xs4px
- sm6px
- md8px
- lg12px
- xl16px
- pill9999px
- full9999px
Spacing8
- xxs4px
- xs8px
- sm12px
- md16px
- lg24px
- xl32px
- xxl48px
- section96px
29 components
Each rendered from its tokens (color, type, radius, padding) on Claude's own canvas.
- Button PrimaryButton Primarybutton-primary
- Button Primary ActiveButton Primary Activebutton-primary-active
- Button Primary DisabledButton Primary Disabledbutton-primary-disabled
- Button SecondaryButton Secondarybutton-secondary
- Button Secondary On DarkButton Secondary On Darkbutton-secondary-on-dark
- Button Text LinkButton Text Linkbutton-text-link
- Button Icon Circularbutton-icon-circular
- Text LinkText Linktext-link
- Top NavTop Navtop-nav
- Hero BandHero Bandhero-band
- Hero Illustration CardHero Illustration Cardhero-illustration-card
- Feature CardFeature Cardfeature-card
- Product Mockup Card DarkProduct Mockup Card Darkproduct-mockup-card-dark
- Code Window CardCode Window Cardcode-window-card
- Model Comparison CardModel Comparison Cardmodel-comparison-card
- Pricing Tier CardPricing Tier Cardpricing-tier-card
- Pricing Tier Card FeaturedPricing Tier Card Featuredpricing-tier-card-featured
- Callout Card CoralCallout Card Coralcallout-card-coral
- Connector TileConnector Tileconnector-tile
- Type here…Text Inputtext-input
- Type here…Text Input Focusedtext-input-focused
- Cookie Consent CardCookie Consent Cardcookie-consent-card
- Category TabCategory Tabcategory-tab
- Category Tab ActiveCategory Tab Activecategory-tab-active
- Badge PillBadge Pillbadge-pill
- Badge CoralBadge Coralbadge-coral
- Cta Band CoralCta Band Coralcta-band-coral
- Cta Band DarkCta Band Darkcta-band-dark
- FooterFooterfooter
The system, in use
Claude's tokens on the kind of product it builds.
Think bigger with an AI at your side
Ask anything, write and analyze, and build with an assistant that understands your work.
Claude design system FAQ
Claude's tokens, its components and how to use this DESIGN.md in your project.
Claude's DESIGN.md has 25 color tokens: primary (#cc785c), primary-active (#a9583e), primary-disabled (#e6dfd8), ink (#141413), body (#3d3d3a), body-strong (#252523) and 19 more. Every value is a quoted hex you can copy.
The color token `primary` is #cc785c, used by 5 components. The surface behind it is `canvas` (#faf9f5).
Map the tokens to your CSS variables: `primary` (#cc785c) to `--primary`, `canvas` (#faf9f5) to `--background`, `ink` (#141413) to `--foreground`. shadcn/ui's Tailwind setup maps them to classes such as `bg-primary` and `text-foreground`, so they then use Claude's palette.
Claude's signature color is a warm coral at #cc785c, with an active press state at #a9583e and a disabled cream-tinted #e6dfd8. The coral carries every primary CTA, full-bleed callout cards, and inline links in body copy. It is deliberately warm and slightly muted — never cyan or saturated red — to counter-position against OpenAI's slate, Google's saturated blue, and Microsoft's corporate cyan. The system uses it scarcely on individual buttons and generously on entire coral surface bands.
Claude's DESIGN.md sets its type in StyreneB, Copernicus and JetBrains Mono. The first family is the one most tokens use.
14 type tokens, such as `display-xl`, from 12px to 64px, in weights 400 to 500. Each token carries its family, size, weight, line height and letter spacing.
StyreneB is Claude's main family and may be proprietary or need its own license. Keep the sizes, weights, line heights and letter spacing from the file and swap the family for an open font of similar proportions, such as a font from Google Fonts, set in `--font-sans`.
Claude runs Copernicus (or Tiempos Headline) as a slab-serif display at weight 400 for h1 through h3, paired with StyreneB or Inter as the humanist sans body. JetBrains Mono handles code. Display sizes ladder from 28px to 64px with negative letter-spacing from -0.3px to -1.5px — the tracking is non-negotiable. If Copernicus is unavailable, Cormorant Garamond at weight 500 with -0.02em tracking is the closest open-source substitute. For StyreneB, Inter or Söhne work cleanly.
29 components, among them `button-primary`, `button-primary-active`, `button-primary-disabled`, `button-secondary` and `button-secondary-on-dark`. Each lists properties such as its background, text color, type token and corner radius as references to the other tokens.
7 corner radii: xs (4px), sm (6px), md (8px), lg (12px), xl (16px) and 2 more. 8 spacing values: xxs (4px), xs (8px), sm (12px), md (16px), lg (24px) and 3 more. The file reads as a mix of pills, soft rounds and squarer corners.
The system uses three surface modes that rotate page-by-page: cream canvas #faf9f5 as the default floor, cream feature cards #efe9de one shade darker, and dark navy product surfaces #181715 for code editor mockups, model showcase cards, and pre-footer CTAs. The cream-to-dark contrast is the page's pacing rhythm. Dark surfaces are where Claude shows its actual product chrome — code blocks, terminal output, model comparison tables — rather than abstract marketing illustrations.
Copy the color and radius tokens into your `globals.css`: Claude's `primary` (#cc785c) becomes `--primary`, and `md` (8px) becomes `--radius`. The shadcn/ui components read those variables, so they change with the file.
Download Claude's DESIGN.md (or copy it as Markdown) and put it in your project, or paste it into the chat. Then ask Claude Code, Cursor or another agent to build a page "in the style of the Claude DESIGN.md": it reads the tokens and writes matching components.
Yes. The file is free to download or copy, with no account, from the buttons at the top and bottom of this page. The raw Markdown is also at `/design/claude/raw`.
Claude's page describes the look of its public website (claude.com), curated from what is visible there: the colors, type and components. It is an interpretation.
No. The Claude DESIGN.md describes the look of a public website. It is not official, and Claude has not endorsed or reviewed it. The name and logo belong to Claude.
Yes — the file is structured to feed into Claude, Cursor, or any AI tool that reads design tokens. The agent reproduces Claude's editorial voice (serif headlines, cream canvas, coral CTAs, dark code-window cards) instead of a generic shadcn theme. Every color, type style, radius, and spacing value is a quoted token you can paste into Tailwind config, CSS variables, or your own component library. Border radii ladder from 4px buttons through 8px CTAs, 12px cards, and 16px hero illustrations.
A handful of items documented in the Known Gaps section. Copernicus and StyreneB are licensed Anthropic typefaces with no public web fonts — substitutes are listed but not exact. The Anthropic radial-spike-mark is treated as a logo asset, not a system token. Animation and transition timings (chat message reveals, code typewriter, agentic-flow diagrams) are out of scope. Form validation states beyond focus are not extracted. The claude.ai product surface adds chat bubbles, message tools, and conversation sidebars not captured in this marketing-surface document.
Related reading
Specs, directories and component libraries that pair with this design system.
Use Claude in your project
One machine-readable file. Drop it into Claude Code, Cursor, VS Code or any AI tool that reads DESIGN.md.
Download the DESIGN.md
One machine-readable file: every color, type, radius, spacing, and component token of Claude.
Feed it to your AI tool
Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Claude's visual language.
Reference the tokens directly
Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.
Read the full DESIGN.md overview, rationale, do’s and don’ts
Overview
Claude.com is the warmest, most editorial interface in the AI-product category. The base atmosphere is a tinted cream canvas ({colors.canvas} — #faf9f5) — distinctly warm, deliberately not the cool gray-white that every other AI brand uses. Headlines run a slab-serif display ("Copernicus" / Tiempos Headline) at weight 400 with negative letter-spacing, paired with StyreneB / Inter body sans. The combination feels like a literary publication, not a SaaS marketing page.
Brand voltage comes from the cream + coral pairing — coral ({colors.primary} — #cc785c) is the signature Anthropic accent, used on every primary CTA, on the brand wordmark, and on full-bleed callout cards. The coral is warm, slightly muted, never cyan/blue — a deliberate counter-positioning against OpenAI's cool slate, Google's saturated blue, and Microsoft's corporate cyan.
The system has three surface modes that alternate page-by-page:
- Cream canvas (
{colors.canvas}) — default body floor - Light cream cards (
{colors.surface-card}) — feature card backgrounds - Dark navy product surfaces (
{colors.surface-dark}) — code editor mockups, model showcase cards, pre-footer CTAs, footer itself
The dark surfaces are where Claude shows its product chrome — code blocks, terminal output, model comparison tables, agentic-flow diagrams. The cream-to-dark contrast is the page's pacing rhythm.
Key Characteristics:
- Warm cream canvas (
{colors.canvas}— #faf9f5) with dark warm-ink text ({colors.ink}— #141413). The brand's defining color choice. - Coral primary CTA (
{colors.primary}— #cc785c). Used scarcely on individual buttons, generously on full-bleed coral callout cards. - Slab-serif display headlines via Copernicus / Tiempos Headline at weight 400 with negative letter-spacing. Pairs with humanist sans body for a literary editorial voice.
- Dark navy product mockup cards (
{colors.surface-dark}— #181715) carrying code blocks, terminal panels, model comparison data — the brand shows the product chrome at scale rather than abstract marketing illustrations. - Light cream feature cards (
{colors.surface-card}— #efe9de) — slightly darker than canvas, used for content-driven feature explanations. - Anthropic radial-spike mark — a small black asterisk-like glyph (4-spoke radial) — appears as the brand wordmark prefix and as a content marker.
- Border radius is hierarchical:
{rounded.md}(8px) for buttons + inputs,{rounded.lg}(12px) for content + product cards,{rounded.xl}(16px) for the hero illustration container,{rounded.pill}for badges. - Section rhythm
{spacing.section}(96px) — modern-SaaS standard. Internal card padding stays generous at{spacing.xl}(32px).
Colors
Brand & Accent
- Coral / Primary (
{colors.primary}— #cc785c): The signature Anthropic warm coral. Used on every primary CTA background, on full-bleed coral callout cards, on the brand wordmark accent. The most-recognized Anthropic color outside of the spike-mark logo. - Coral Active (
{colors.primary-active}— #a9583e): The press / hover-darker variant. - Coral Disabled (
{colors.primary-disabled}— #e6dfd8): A desaturated cream-tinted disabled state. - Accent Teal (
{colors.accent-teal}— #5db8a6): Used sparingly on secondary product surfaces (terminal status indicators, "active connection" dots in connectors page). - Accent Amber (
{colors.accent-amber}— #e8a55a): A small companion warm-tone used on category badges and inline highlights.
Surface
- Canvas (
{colors.canvas}— #faf9f5): The default page floor. Tinted cream — warm, deliberately not pure white. - Surface Soft (
{colors.surface-soft}— #f5f0e8): Section dividers, very-soft band backgrounds. - Surface Card (
{colors.surface-card}— #efe9de): Feature cards, content cards. One step darker than canvas. - Surface Cream Strong (
{colors.surface-cream-strong}— #e8e0d2): A strongest-cream variant used on selected category tabs and emphasized section bands. - Surface Dark (
{colors.surface-dark}— #181715): Code editor mockups, model showcase cards, footer. The dominant dark surface. - Surface Dark Elevated (
{colors.surface-dark-elevated}— #252320): Elevated cards inside dark bands (settings panels in mockups). - Surface Dark Soft (
{colors.surface-dark-soft}— #1f1e1b): Slightly lighter dark, used for code block backgrounds inside larger dark cards. - Hairline (
{colors.hairline}— #e6dfd8): The 1px border tone on cream surfaces. Same hex as{colors.primary-disabled}— borders feel like one elevation step rather than ink lines. - Hairline Soft (
{colors.hairline-soft}— #ebe6df): Barely-visible divider used inside the same band.
Text
- Ink (
{colors.ink}— #141413): All headlines and primary text. Warm dark, slightly off-pure-black. - Body Strong (
{colors.body-strong}— #252523): Emphasized paragraphs, lead text. - Body (
{colors.body}— #3d3d3a): Default running-text color. - Muted (
{colors.muted}— #6c6a64): Sub-headings, breadcrumbs, footer-adjacent secondary text. - Muted Soft (
{colors.muted-soft}— #8e8b82): Captions, fine-print, copyright lines. - On Primary (
{colors.on-primary}— #ffffff): Text on coral buttons. - On Dark (
{colors.on-dark}— #faf9f5): Cream-tinted white used on dark surfaces (echoes the canvas tone). - On Dark Soft (
{colors.on-dark-soft}— #a09d96): Footer body text, secondary labels in dark mockups.
Semantic
- Success (
{colors.success}— #5db872): Green status dots, "available" indicators. - Warning (
{colors.warning}— #d4a017): Warning callouts (rare on marketing surfaces). - Error (
{colors.error}— #c64545): Validation errors.
Typography
Font Family
The system runs Copernicus (or Tiempos Headline as substitute) as the slab-serif display face for headlines, and StyreneB (or Inter as substitute) as the humanist sans for body, navigation, and UI labels. JetBrains Mono handles code blocks. The fallback stack walks Tiempos Headline, Garamond, "Times New Roman", serif for display and Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif for body.
The display/body split is editorial:
- Copernicus serif (weight 400, negative tracking) → h1, h2, h3, hero display
- StyreneB sans (weight 400-500) → body, navigation, buttons, captions, labels
- JetBrains Mono → all code blocks and terminal text
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
{typography.display-xl} | 64px | 400 | 1.05 | -1.5px | Homepage h1 ("Meet your thinking partner") — Copernicus serif |
{typography.display-lg} | 48px | 400 | 1.1 | -1px | Section heads — Copernicus |
{typography.display-md} | 36px | 400 | 1.15 | -0.5px | Sub-section heads, model names — Copernicus |
{typography.display-sm} | 28px | 400 | 1.2 | -0.3px | Pricing tier names, callout headlines — Copernicus |
{typography.title-lg} | 22px | 500 | 1.3 | 0 | Pricing plan size labels — StyreneB |
{typography.title-md} | 18px | 500 | 1.4 | 0 | Feature card titles, intro paragraphs |
{typography.title-sm} | 16px | 500 | 1.4 | 0 | Connector tile titles, list labels |
{typography.body-md} | 16px | 400 | 1.55 | 0 | Default running-text — StyreneB |
{typography.body-sm} | 14px | 400 | 1.55 | 0 | Footer body, fine-print |
{typography.caption} | 13px | 500 | 1.4 | 0 | Badge labels, captions |
{typography.caption-uppercase} | 12px | 500 | 1.4 | 1.5px | Category tags, "NEW" badges |
{typography.code} | 14px | 400 | 1.6 | 0 | Code blocks — JetBrains Mono |
{typography.button} | 14px | 500 | 1.0 | 0 | Standard button labels |
{typography.nav-link} | 14px | 500 | 1.4 | 0 | Top-nav menu items |
Principles
Display sizes use weight 400 (regular), never bold. Negative letter-spacing (-0.3 to -1.5px) is essential — Copernicus without it reads as off-brand. The serif character is what gives Anthropic its literary, considered voice; switching to a sans-serif display would make Claude feel like every other AI tool.
Body type stays at weight 400 for paragraphs, weight 500 for labels and emphasized phrases. The sans body is humanist (StyreneB) — never geometric. Inter is an acceptable substitute because of its similar humanist proportions; Helvetica or Arial would be too neutral and break the warm-editorial feel.
Note on Font Substitutes
If Copernicus / Tiempos Headline is unavailable, Cormorant Garamond at weight 500 with -0.02em letter-spacing is the closest open-source approximation. EB Garamond is a fallback. For StyreneB, Inter is the closest match — both are humanist sans designed for screen reading. Söhne is another close alternative if licensed.
Layout
Spacing System
- Base unit: 4px.
- Tokens:
{spacing.xxs}4px ·{spacing.xs}8px ·{spacing.sm}12px ·{spacing.md}16px ·{spacing.lg}24px ·{spacing.xl}32px ·{spacing.xxl}48px ·{spacing.section}96px. - Section padding:
{spacing.section}(96px) — modern-SaaS rhythm. - Card internal padding:
{spacing.xl}(32px) for feature cards, pricing tier cards, model comparison cards;{spacing.lg}(24px) for code-window cards and connector tiles. - Callout / CTA bands:
{spacing.xxl}(48px) inside coral callout cards; 64px inside the larger dark CTA band.
Grid & Container
- Max content width: ~1200px centered.
- Editorial body: Single 12-column grid; hero often uses 6/6 split (h1 left, illustration right).
- Feature card grids: 3-up at desktop, 2-up at tablet, 1-up at mobile.
- Connector tile grids: 4-up or 6-up at desktop, 2-up at tablet, 1-up at mobile.
- Pricing grid: 3-up at desktop (Free / Pro / Team / Enterprise often), 1-up at mobile.
Whitespace Philosophy
The cream canvas + serif display + generous internal padding create an editorial pacing — Claude reads like a long-form magazine column rather than a marketing template. Whitespace between bands stays uniform at 96px; whitespace inside cards is generous (32px), letting type breathe.
Elevation & Depth
| Level | Treatment | Use |
|---|---|---|
| Flat | No shadow, no border | Body sections, top nav, hero bands |
| Soft hairline | 1px {colors.hairline} border | Inputs, sub-nav, occasionally on cards |
| Cream card | {colors.surface-card} background — no shadow | Feature cards, content cards |
| Dark surface card | {colors.surface-dark} background — no shadow | Code editor mockups, model showcase cards |
| Subtle drop shadow | Faint shadow at low alpha | Hover-elevated states (the system uses 0 1px 3px rgba(20,20,19,0.08) rarely) |
The elevation philosophy is color-block first, shadow rare. Most depth comes from the cream-vs-dark surface contrast. Shadows are minimal. The dark surface mockups have their own internal product chrome (code editor scrollbars, line numbers, syntax highlighting) which adds detail without needing external shadows.
Decorative Depth
- The Anthropic spike-mark glyph (4-spoke radial asterisk) appears as a small black mark in the brand wordmark and inline as a content marker.
- Code editor mockups carry their own internal depth: syntax-highlighted text in muted blues / oranges / grays, line numbers in
{colors.muted-soft}, status bars at the bottom in{colors.surface-dark-elevated}. - Some hero illustrations use simple line-art with coral and dark-navy strokes on cream — minimal, hand-drawn-feeling, never photorealistic.
Shapes
Border Radius Scale
| Token | Value | Use |
|---|---|---|
{rounded.xs} | 4px | Reserved for badge accents and tiny dropdowns |
{rounded.sm} | 6px | Small inline buttons, dropdown items |
{rounded.md} | 8px | Standard CTA buttons, text inputs, category tabs |
{rounded.lg} | 12px | Content cards (feature, pricing, code-window, model-comparison) |
{rounded.xl} | 16px | Hero illustration container, the larger marquee components |
{rounded.pill} | 9999px | Badge pills, "NEW" tags |
{rounded.full} | 9999px / 50% | Avatar substitutes, icon buttons |
Photography & Illustrations
Claude's hero rarely uses photography. Instead it uses:
- Simple line-art illustrations with coral + dark-navy strokes on the cream canvas
- Code editor mockups (the dominant "hero" treatment on developer-focused pages)
- Terminal output mockups with monospace text on dark
- Model comparison cards (Opus / Sonnet / Haiku) with abstract geometric thumbnails
When photography is used (rare — mostly testimonials), avatars crop to perfect circles at 40px diameter.
Components
Top Navigation
top-nav — Cream nav bar pinned to the top of every page. 64px tall, {colors.canvas} background. Carries the Anthropic spike-mark + "Claude" wordmark at left, primary horizontal menu (Product, Solutions, Use Cases, Pricing, Research, Company) center-left, right-side cluster with "Sign in" text-link, "Try Claude" {component.button-primary} (coral). Menu items in {typography.nav-link} (StyreneB 14px / 500).
Buttons
button-primary — The signature coral CTA. Background {colors.primary} (#cc785c), text {colors.on-primary} (white), type {typography.button} (StyreneB 14px / 500), padding 12px × 20px, height 40px, rounded {rounded.md} (8px). Active state button-primary-active darkens to {colors.primary-active} (#a9583e).
button-secondary — Cream button with hairline outline. Background {colors.canvas}, text {colors.ink}, 1px hairline border, same padding + height + radius as primary.
button-secondary-on-dark — Used over {colors.surface-dark} cards. Background {colors.surface-dark-elevated} (#252320), text {colors.on-dark}. Stays dark — the system never inverts to a light secondary on dark surfaces.
button-text-link — Inline text button, no background. Used for "Sign in" in the top nav and inline CTA links.
button-icon-circular — 36px circular icon button. Background {colors.canvas}, hairline border, ink-color icon. Used for carousel arrows, share, "view more".
text-link — Inline body links in {colors.primary} (the coral). Underlined on press; the coral inline link is one of the system's most distinctive small details.
Cards & Containers
hero-band — Cream-canvas hero with a 6-6 grid: h1 + sub-headline + button row on the left, hero illustration card or product mockup card on the right. Vertical padding {spacing.section} (96px).
hero-illustration-card — A larger card holding the hero's right-side artifact — sometimes a coral-stroke line illustration on cream background, sometimes a dark code editor mockup. Background {colors.canvas} or {colors.surface-dark} depending on context, rounded {rounded.xl} (16px).
feature-card — Used in 3-up feature grids. Background {colors.surface-card} (#efe9de — slightly darker cream), rounded {rounded.lg} (12px), internal padding {spacing.xl} (32px). Carries a small icon at top, an {typography.title-md} headline, and a body description in {typography.body-md}.
product-mockup-card-dark — Dark navy card showing actual Claude product chrome (chat interface, code editor, agent controls). Background {colors.surface-dark}, rounded {rounded.lg}, internal padding {spacing.xl} (32px). Carries text labels in {colors.on-dark} and product UI fragments below.
code-window-card — A specialized dark card showing a code editor with line numbers, syntax-highlighted code in {typography.code} (JetBrains Mono), and sometimes a "Run" button or terminal output panel below. Background {colors.surface-dark} with {colors.surface-dark-soft} for the inner code block, rounded {rounded.lg}, padding {spacing.lg} (24px). The signature visual element of Claude Code product pages.
model-comparison-card — Used on the homepage's "Which problem are you up against?" section comparing Opus / Sonnet / Haiku. Background {colors.canvas} with hairline border, rounded {rounded.lg}, internal padding {spacing.xl} (32px). Carries the model name, a short capability blurb, and a {component.text-link} to learn more.
pricing-tier-card — Standard tier card. Background {colors.canvas} with hairline border, rounded {rounded.lg}, padding {spacing.xl} (32px). Carries the plan name in {typography.title-lg} (StyreneB), price in {typography.display-sm} (Copernicus serif!), feature checklist in {typography.body-md}, and a {component.button-primary} at the bottom.
pricing-tier-card-featured — The featured tier (typically "Pro" or "Team"). Background flips to {colors.surface-dark}, text inverts to {colors.on-dark}. The dark surface IS the featured-tier signal.
callout-card-coral — A full-bleed coral card carrying a major call-to-action. Background {colors.primary} (#cc785c), text {colors.on-primary} (white), rounded {rounded.lg}, padding {spacing.xxl} (48px). The coral surface IS the voltage; the CTA inside uses an inverted button style (cream/canvas button on coral).
connector-tile — Used on the connectors page's integration grid. Background {colors.canvas} with hairline border, rounded {rounded.lg}, padding 20px. Each tile carries a logo at top, a {typography.title-sm} connector name, and a short description.
Inputs & Forms
text-input — Standard text input. Background {colors.canvas}, text {colors.ink}, type {typography.body-md}, rounded {rounded.md} (8px), padding 10px × 14px, height 40px. 1px hairline border in {colors.hairline}.
text-input-focused — Focus state. Border thickens or shifts to {colors.primary} (coral) for emphasis. Carries a 3px coral-at-15%-alpha outer ring.
cookie-consent-card — Bottom-right floating dark cookie banner. Background {colors.surface-dark}, text {colors.on-dark}, rounded {rounded.lg}, padding {spacing.lg} (24px). One of the few places dark surface appears at small scale on cream pages.
Tags / Badges
badge-pill — Small pill label used for category tags. Background {colors.surface-card}, text {colors.ink}, type {typography.caption} (13px / 500), rounded {rounded.pill}, padding 4px × 12px.
badge-coral — Coral-fill badge for "NEW", "BETA", featured highlights. Background {colors.primary}, text {colors.on-primary}, type {typography.caption-uppercase} (12px / 500 / 1.5px tracking), rounded {rounded.pill}, padding 4px × 12px.
Tab / Filter
category-tab + category-tab-active — Used in sub-nav rows on solutions / connectors pages. Inactive: transparent background, {colors.muted} text. Active: {colors.surface-card} background, {colors.ink} text. Padding 8px × 14px, rounded {rounded.md}.
CTA / Footer
cta-band-coral — A pre-footer "Try Claude" CTA card. Full-width coral fill, white type, rounded {rounded.lg}, padding 64px. Carries an h2 in {typography.display-sm} (still serif!), a sub-line, and a cream-button CTA.
cta-band-dark — Alternative pre-footer band on developer-focused pages. Background {colors.surface-dark}, text {colors.on-dark}, rounded {rounded.lg}, padding 64px. Often pairs with a code-window card.
footer — Dark navy footer that closes every page. Background {colors.surface-dark} (#181715), text {colors.on-dark-soft}. 4-column link list at desktop covering Product / Company / Resources / Legal. Vertical padding 64px. The Anthropic spike-mark + "Anthropic" wordmark sits at the top in {colors.on-dark}. The footer never inverts.
Do's and Don'ts
Do
- Anchor every page on the cream canvas. Pure white reads as "any other AI tool"; the warm tint is the brand differentiator.
- Use Copernicus serif for every display headline. Pair with StyreneB sans body. Negative letter-spacing on display sizes is non-negotiable.
- Reserve
{colors.primary}(coral) for primary CTAs and full-bleed{component.callout-card-coral}moments. Don't paint accent moments coral elsewhere. - Use
{component.product-mockup-card-dark}and{component.code-window-card}to show actual Claude product chrome. Don't paint marketing illustrations of code when you can show real code. - Pair
{component.feature-card}(cream) with{component.product-mockup-card-dark}(navy) in alternating bands. The cream-to-dark rhythm is the brand's pacing mechanism. - Use the Anthropic spike-mark glyph as the brand wordmark prefix. Never invert the mark to white-on-dark within the wordmark itself.
- Apply
{spacing.section}(96px) between major bands.
Don't
- Don't use cool grays or pure white for canvas. Cream is the brand.
- Don't bold serif display weight. Copernicus at 700 reads as bombastic; the system stays at 400.
- Don't use cool blue or saturated cyan as a brand accent. The coral is the brand voltage.
- Don't put coral everywhere. The coral is scarce on individual elements and generous only on full-bleed coral callout cards.
- Don't use Inter for display headlines. The serif character is the brand voice.
- Don't repeat the same surface mode in two consecutive bands. The pacing alternates: cream → cream-card → dark-mockup → cream → coral-callout → dark-footer.
- Don't add hover state styling beyond what the system already encodes — primary darkens on press; nothing else changes.
Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 768px | Hamburger nav; hero h1 64→32px; hero-illustration-card stacks below content; feature grids 1-up; connector tiles 2-up; pricing 1-up; footer 4 cols → 1 |
| Tablet | 768–1024px | Top nav stays horizontal but tightens; feature cards 2-up; connector tiles 3-up; pricing 2-up |
| Desktop | 1024–1440px | Full top-nav with all menu items; 3-up feature cards; 4-up or 6-up connector tiles; 3-up pricing tiers |
| Wide | > 1440px | Same as desktop with more outer breathing room; max content width caps at 1200px |
Touch Targets
{component.button-primary}at minimum 40 × 40px.{component.button-icon-circular}at exactly 36 × 36 — slightly under WCAG 44 but visually centered.{component.text-input}height is 40px.- Connector tile entire card area is tappable; effective tap area >> 44px.
Collapsing Strategy
- Top nav collapses to hamburger at < 768px; menu opens as a full-screen cream sheet.
- Hero band's 6-6 grid collapses to single-column on mobile — h1 + sub-head + buttons first, then the illustration / mockup card below.
- Feature grids reduce columns rather than scaling cards down.
- Pricing tier cards collapse 4 → 2 → 1; featured-tier dark surface stays visually distinct at every breakpoint.
- Code-window cards retain code legibility at every breakpoint by allowing horizontal scroll within the card rather than wrapping code lines.
Image Behavior
- Code blocks inside dark mockups stay at fixed font-size; horizontal scroll on mobile rather than wrapping.
- Hero illustrations scale proportionally; line-art strokes thin slightly on mobile.
- Avatar photos in testimonials crop to circles at every breakpoint.
Iteration Guide
- Focus on ONE component at a time. Reference its YAML key (
{component.feature-card},{component.code-window-card}). - Variants of an existing component (
-active,-disabled,-focused) live as separate entries incomponents:. - Use
{token.refs}everywhere — never inline hex. - Never document hover. Default and Active/Pressed states only.
- Display headlines stay Copernicus serif 400 with negative tracking. Body stays StyreneB / Inter 400. The split is unbreakable.
- Cream + coral + dark navy is the trinity. Don't introduce a fourth surface tone (no purple cards, no green sections).
- When in doubt about emphasis: bigger Copernicus serif before bolder weight.
Known Gaps
- Copernicus and StyreneB are licensed Anthropic typefaces and not available as public web fonts. Substitutes (Tiempos Headline / Cormorant Garamond / EB Garamond for serif; Inter / Söhne for sans) are documented in the typography section.
- The Anthropic radial-spike-mark is a brand glyph rendered as inline SVG; it's not formalized as a system token here. Treat it as a logo asset.
- Animation and transition timings (chat message reveal, code block typewriter effect on the homepage, agentic-flow diagram animations) are not in scope.
- Form validation states beyond
{component.text-input-focused}are not extracted — error / success states would need a sign-up or feedback flow to confirm. - The actual Claude product surface (claude.ai chat interface) shares some tokens with the marketing site but adds many product-specific components (chat bubbles, message tools, file upload chips, conversation history sidebar) that are out of scope for this marketing-surface document.
- The "agent" / "computer use" demo cards on certain pages display animated Claude controlling a browser — the static screenshot doesn't fully capture the animation chrome.
More systems like this
Algolia, Anthropic, Arc and 61 more in AI & LLM Platforms: each brand's colors, type and components in one file your AI agent builds from.
Build it with Pro
The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.
4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.
- Secure checkout via Stripe
- Code lives in your repo
- Keep what you've shipped if you cancel
- License terms
4.9 out of 5 from 150+ developers
Your system, built for you
Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.
Get Pro