Ferrari Design System
Ferrari's cinematic look: near-black canvas, white FerrariSans display and Rosso Corsa saved for CTAs and the Cavallino. For React, Next.js and AI tools.
- Primary color
- #da291c
- Typeface
- FerrariSans
- Shape
- Sharp
- Base radius
- 6px
- Colors
- 26
- Type tokens
- 13
- Components
- 24
- Spacing values
- 9
About Ferrari DESIGN.md
Curated by Dov Azencot, updated May 12, 2026. Source ferrari.com (opens in a new tab).
Ferrari's marketing site does not behave like a typical car-OEM site. It behaves like a luxury magazine spread. The canvas is near-black at #181818 — slightly warm, never pure black — holding pure white FerrariSans display type at a restrained 500 weight. The only saturated color in the system is Rosso Corsa at #da291c, the racing red Ferrari has used since the 1920s, and it appears scarcely: primary CTAs, the Cavallino mark, and Formula 1 race-position numbers. Everything else is photography. Full-bleed cinematic hero shots — car details, livery panels, trackside frames — carry the visual weight, while typography stays quiet beneath. The discipline is the point.
This page packages the system into a single DESIGN.md file using the Google Labs open spec. Inside: 26 colors tokens grouped into brand, surface, hairline, text, and semantic; 14 typography tokens running through FerrariSans at 500 for display and 400/700 for body; 7 corner-radius values capped by a dominant 0px sharp default; 9 spacing tokens on an explicit 8px ladder (xxxs 4px through super 128px); and 24 components covering top nav, buttons, hero bands, feature and driver cards, livery accent bands, preowned listing cards, spec cells, race-position cells, race-calendar rows, forms, badges, newsletter inputs, and the dark CTA and footer.
Feed the file to Claude, Cursor, or GitHub Copilot, and the AI writes React components that read as Ferrari — sharp 0px corners, uppercase tracked CTAs, FerrariSans 500 display, scarce Rosso Corsa — rather than a generic dark-mode SaaS theme. Reference the tokens directly in Tailwind config or CSS variables. Or use it as a design audit: most automotive sites copy the dark canvas but miss the restraint that makes it work. Ferrari's strength is what it refuses to do.
What makes it distinct
5 highlights
- Single accent voltageRosso Corsa (#da291c) reserved for primary CTAs, the Cavallino, and F1 race-position highlights
- Near-black canvas (#181818)Never pure black, slightly warm; white bands appear only inside preowned and pricing surfaces
- Sharp 0px corners on every CTA, card, and bandPill geometry is reserved for badge labels only
- Display weight stays at 500Uppercase CTA labels carry 1.4px tracking; the cinematic photography does the visual heavy-lifting
- Explicit 8px spacing ladder with named scaleXxxs 4px through super 128px, no ad-hoc px values
Live at ferrari.com
Ferrari in production, as captured. Scroll the window to see the whole page.

26 colors
Ferrari's system runs on #da291c as its primary voltage, used in 3 of 24 components. Type is set in FerrariSans across 13 tokens from 11px to 80px, weights 400–700. Shape language is sharp — components average 1px corner radius, favoring crisp rectangles.
Brand & Accent
Sparing, CTA-only voltage · 5
Surface
Page and card backgrounds · 6
Text
Headlines, body, captions · 10
Borders & Hairlines
Dividers, outlines, rules · 2
Semantic
Status, errors, success, links · 3
13 type tokens
Set in FerrariSans across 13 tokens, from 11px to 80px, weights 400–700. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.
- display-mega80px · weight 500 · lh 1.05 · tracking -1.6pxThe quick brown fox jumps over the lazy dog
- display-xl56px · weight 500 · lh 1.1 · tracking -1.12pxThe quick brown fox jumps over the lazy dog
- display-lg36px · weight 500 · lh 1.2 · tracking -0.36pxThe quick brown fox jumps over the lazy dog
- display-md26px · weight 500 · lh 1.5 · tracking 0.195pxThe quick brown fox jumps over the lazy dog
- title-md18px · weight 700 · lh 1.2The quick brown fox jumps over the lazy dog
- title-sm16px · weight 500 · lh 1.4 · tracking 0.08pxThe quick brown fox jumps over the lazy dog
- body-md14px · weight 400 · lh 1.5The quick brown fox jumps over the lazy dog
- body-sm13px · weight 400 · lh 1.5The quick brown fox jumps over the lazy dog
- caption12px · weight 400 · lh 1.4The quick brown fox jumps over the lazy dog
- caption-uppercase11px · weight 600 · lh 1.4 · tracking 1.1pxThe quick brown fox jumps over the lazy dog
- button14px · weight 700 · lh 1 · tracking 1.4pxThe quick brown fox jumps over the lazy dog
- nav-link13px · weight 600 · lh 1.4 · tracking 0.65pxThe quick brown fox jumps over the lazy dog
- number-display80px · weight 700 · lh 1 · tracking -1.6pxThe quick brown fox jumps over the lazy dog
Radii and spacing
7 corner radii and 9 spacing values. Shape language: sharp, on a 6px base radius.
Radii7
- none0px
- xs2px
- sm4px
- md6px
- lg8px
- xl12px
- full9999px
Spacing9
- xxxs4px
- xxs8px
- xs16px
- sm24px
- md32px
- lg48px
- xl64px
- xxl96px
- super128px
24 components
Each rendered from its tokens (color, type, radius, padding) on Ferrari's own canvas.
- Top Nav On DarkTop Nav On Darktop-nav-on-dark
- Top Nav On LightTop Nav On Lighttop-nav-on-light
- Button PrimaryButton Primarybutton-primary
- Button Primary ActiveButton Primary Activebutton-primary-active
- Button Outline On DarkButton Outline On Darkbutton-outline-on-dark
- Button Outline On LightButton Outline On Lightbutton-outline-on-light
- Button Tertiary TextButton Tertiary Textbutton-tertiary-text
- Hero Band CinemaHero Band Cinemahero-band-cinema
- Hero Band LightHero Band Lighthero-band-light
- Feature Card PhotoFeature Card Photofeature-card-photo
- Feature Card LightFeature Card Lightfeature-card-light
- Livery BandLivery Bandlivery-band
- Preowned Listing CardPreowned Listing Cardpreowned-listing-card
- Spec CellSpec Cellspec-cell
- Race Position CellRace Position Cellrace-position-cell
- Race Calendar RowRace Calendar Rowrace-calendar-row
- Driver CardDriver Carddriver-card
- Type here…Text Input On Darktext-input-on-dark
- Type here…Text Input On Lighttext-input-on-light
- Badge PillBadge Pillbadge-pill
- Cta Band DarkCta Band Darkcta-band-dark
- Newsletter Input BandNewsletter Input Bandnewsletter-input-band
- Footer DarkFooter Darkfooter-dark
- Footer LinkFooter Linkfooter-link
The system, in use
Ferrari's tokens on the kind of product it builds.
Engineered for every road ahead
The performance, comfort and technology that make every drive feel new.
Ferrari design system FAQ
Ferrari's tokens, its components and how to use this DESIGN.md in your project.
Ferrari's DESIGN.md has 26 color tokens: primary (#da291c), primary-active (#b01e0a), primary-hover (#9d2211), ink (#ffffff), body (#969696), body-strong (#ffffff) and 20 more. Every value is a quoted hex you can copy.
The color token `primary` is #da291c, used by 3 components. The surface behind it is `canvas` (#181818).
Map the tokens to your CSS variables: `primary` (#da291c) to `--primary`, `canvas` (#181818) to `--background`, `ink` (#ffffff) to `--foreground`. shadcn/ui's Tailwind setup maps them to classes such as `bg-primary` and `text-foreground`, so they then use Ferrari's palette.
Ferrari's brand color is Rosso Corsa — #da291c, the racing red the marque has used since the 1920s. It appears scarcely across the design system: primary CTA fills, the Cavallino Rampante mark, and Formula 1 race-position highlights. The press state darkens to #b01e0a. Most pages are 90% near-black canvas (#181818) plus white FerrariSans type, with Rosso Corsa acting as the single voltage that focuses the eye on one action at a time. The brand never introduces a secondary saturated color in the main automotive context.
Ferrari's DESIGN.md sets its type in FerrariSans. The first family is the one most tokens use.
13 type tokens, such as `display-mega`, from 11px to 80px, in weights 400 to 700. Each token carries its family, size, weight, line height and letter spacing.
FerrariSans is Ferrari'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`.
Ferrari runs FerrariSans as the single sans family across every text role — display, body, navigation, captions, microcopy. Display weight stays at 500 (never bold), body at 400, and CTA / nav labels at 600–700 uppercase with 1.4px and 0.65px tracking. The spec walks through 13 type tokens with a peak at 80px / 500 for the homepage hero. FerrariSans is licensed; Inter at weight 500 with letter-spacing -1% is the documented open-source substitute, or Söhne for closer humanist proportions.
24 components, among them `top-nav-on-dark`, `top-nav-on-light`, `button-primary`, `button-primary-active` and `button-outline-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: none (0px), xs (2px), sm (4px), md (6px), lg (8px) and 2 more. 9 spacing values: xxxs (4px), xxs (8px), xs (16px), sm (24px), md (32px) and 4 more. The file reads as sharp in shape.
Sharp 0px corners (rounded.none) are the brand's signature precision — luxury-automotive engineering reads as exact lines rather than friendly curves. Every CTA, card, hero band, livery accent, and preowned listing carries 0px radius. Pill geometry (rounded.full at 9999px) appears in exactly one place: the badge-pill component used for small uppercase labels. Form inputs are the only exception at rounded.sm (4px). The rule is intentional — pills would soften the racing-precision language the brand has built since the 1947 Cavallino mark.
Copy the color and radius tokens into your `globals.css`: Ferrari's `primary` (#da291c) becomes `--primary`, and `md` (6px) becomes `--radius`. The shadcn/ui components read those variables, so they change with the file.
Download Ferrari'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 Ferrari 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/ferrari/raw`.
Ferrari's page describes the look of its public website (www.ferrari.com), curated from what is visible there: the colors, type and components. It is an interpretation.
No. The Ferrari DESIGN.md describes the look of a public website. It is not official, and Ferrari has not endorsed or reviewed it. The name and logo belong to Ferrari.
Yes — the canvas is near-black at #181818 (slightly warm, never pure black), and white-canvas bands appear only inside specific editorial contexts like preowned listings, pricing tables, and dealer surfaces. The system inverts that pattern for a small set of components (button-outline-on-light, text-input-on-light, hero-band-light, feature-card-light, preowned-listing-card), but the dominant page chrome is the dark canvas with full-bleed cinematic photography above it.
Yes — the file is designed to be fed into Claude, Cursor, or any AI tool that reads structured design tokens. The agent will reproduce Ferrari's restraint (single Rosso Corsa accent, near-black canvas, FerrariSans 500 display, sharp 0px corners, full-bleed photography) rather than a generic dark theme. You can also paste the tokens directly into Tailwind config or CSS variables. The 24 components cover most of what a luxury-automotive marketing or configurator surface needs — hero band, feature cards, driver cards, spec cells, race-calendar rows, preowned listings, newsletter band, and dark footer.
A few things, documented in the Known Gaps section: FerrariSans is a licensed typeface (Inter at weight 500 is the substitute); animation timings for hero parallax, livery-band entrance, and race-position counters are out of scope; in-product surfaces like the preowned configurator and F1 telemetry overlays are only partially captured via marketing pages; form validation states beyond focus weren't visible on captured surfaces; and the Hypersail yellow tokens (#fff200 / #f6e500) are extracted but only appear inside the Hypersail sailing program — not part of the main automotive palette.
Related reading
Specs, directories and component libraries that pair with this design system.
- Browse all design systemsThe full directory of DESIGN.md files on shadcn.io, with live mockups for each.shadcn.io
- Ferrari.comThe live brand site — see the cinematic hero photography and Rosso Corsa CTAs in production context.ferrari.com (opens in a new tab)
- The DESIGN.md specificationGoogle Labs' open spec for machine-readable design system files — the format this page is built on.github.com (opens in a new tab)
Use Ferrari 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 Ferrari.
Feed it to your AI tool
Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Ferrari'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
Ferrari's marketing site reads as cinematic editorial — closer to a luxury-magazine spread than a typical car-OEM site. The base canvas is near-black ({colors.canvas} — #181818) holding pure white display type; white-canvas bands appear only inside specific editorial contexts (preowned listings, pricing tables, dealer surfaces). The single brand voltage is Rosso Corsa ({colors.primary} — #da291c), the iconic Ferrari racing red, used scarcely on primary CTAs, the Cavallino mark, and Formula 1 race-position highlights.
Type runs FerrariSans as the single sans family at modest weights — display 500, body 400. CTA labels render in uppercase with generous tracking (1.1-1.4px). The brand never uses bold display copy.
The brand's strongest visual signature is the full-bleed cinematic hero photograph — top-of-page imagery shows car photography, model details, or trackside livery without any chrome competing with it. Headlines float over the bottom of the photo or sit in a tight band beneath. Spacing follows the explicit 8px token ladder: xxxs 4 / xxs 8 / xs 16 / sm 24 / md 32 / lg 48 / xl 64 / xxl 96 / super 128.
Key Characteristics:
- Single accent:
{colors.primary}(Rosso Corsa #da291c) for primary CTAs, the Cavallino, F1 race-position highlights. Used scarcely. - Near-black canvas (#181818) — never pure black. White-canvas bands only inside editorial contexts.
- Single sans family: FerrariSans across every text role.
- Display weight stays at 500 — never bold.
- CTA labels render uppercase with 1.4px tracking.
- Sharp
{rounded.none}(0px) corners on every CTA, card, and band — luxury-automotive precision. - Full-bleed cinematic hero photography is the page chrome.
- Explicit 8px spacing token ladder with named scale (xxxs through super).
- Hairlines + photographic depth — no drop shadow tiers.
Colors
Brand & Accent
- Rosso Corsa (
{colors.primary}— #da291c): The iconic Ferrari racing red. Primary CTA fill, Cavallino mark, F1 driver-position highlights. Used scarcely. - Rosso Corsa Active (
{colors.primary-active}— #b01e0a): Press state. - Rosso Corsa Hover-darker (
{colors.primary-hover}— #9d2211): Documented for completeness; per the no-hover policy this is not used in preview HTML. - Hypersail Yellow (
{colors.accent-yellow-hypersail}— #fff200) + Yellow ({colors.accent-yellow}— #f6e500): Sub-brand accents reserved for the Hypersail sailing program and the global focus-ring color. Not part of the main automotive palette.
Surface
- Canvas (
{colors.canvas}— #181818): Near-black page floor — never pure black, slight warmth. - Canvas Elevated (
{colors.canvas-elevated}— #303030): Cards and panels on dark canvas. - Canvas Light (
{colors.canvas-light}— #ffffff): White editorial bands (preowned listings, pricing). - Surface Card (
{colors.surface-card}— #303030): Same as canvas-elevated — driver cards, livery photo plates. - Surface Soft Light (
{colors.surface-soft-light}— #f7f7f7): Light editorial alternating band. - Surface Strong Light (
{colors.surface-strong-light}— #ebebeb): Light-canvas dividers, badges.
Hairlines
- Hairline (
{colors.hairline}— #303030): 1px divider on dark — same hex as{colors.canvas-elevated}. - Hairline On Light (
{colors.hairline-on-light}— #d2d2d2): 1px divider on light bands. - Hairline Soft (
{colors.hairline-soft}— #ebebeb): Lighter divider.
Text
- Ink (
{colors.ink}— #ffffff): Display, body emphasis on dark. - Body (
{colors.body}— #969696): Default running-text on dark. - Body Strong (
{colors.body-strong}— #ffffff): Same as ink. - Body On Light (
{colors.body-on-light}— #181818): Default text on light bands. - Muted (
{colors.muted}— #666666): Sub-titles, captions on dark. - Muted Soft (
{colors.muted-soft}— #8f8f8f): Disabled link text. - On Primary (
{colors.on-primary}— #ffffff): White text on Rosso Corsa.
Semantic
- Info (
{colors.semantic-info}— #4c98b9): Info badges, callout backgrounds. - Success (
{colors.semantic-success}— #03904a): Confirmation. - Warning (
{colors.semantic-warning}— #f13a2c): Validation warnings.
Typography
Font Family
FerrariSans is the licensed single sans family across every text role. Fallback: -apple-system, system-ui, sans-serif. No display/body family split.
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
{typography.display-mega} | 80px | 500 | 1.05 | -1.6px | Homepage hero h1 |
{typography.display-xl} | 56px | 500 | 1.1 | -1.12px | Subsidiary heroes |
{typography.display-lg} | 36px | 500 | 1.2 | -0.36px | Section heads, livery band |
{typography.display-md} | 26px | 500 | 1.5 | 0.195px | Sub-section heads |
{typography.title-md} | 18px | 700 | 1.2 | 0 | Component titles |
{typography.title-sm} | 16px | 500 | 1.4 | 0.08px | List labels |
{typography.body-md} | 14px | 400 | 1.5 | 0 | Default body |
{typography.body-sm} | 13px | 400 | 1.5 | 0 | Footer body |
{typography.caption} | 12px | 400 | 1.4 | 0 | Photo captions |
{typography.caption-uppercase} | 11px | 600 | 1.4 | 1.1px | Section labels, badges |
{typography.button} | 14px | 700 | 1.0 | 1.4px (uppercase) | CTA pill labels |
{typography.nav-link} | 13px | 600 | 1.4 | 0.65px (uppercase) | Top-nav menu items |
{typography.number-display} | 80px | 700 | 1.0 | -1.6px | Race position highlights, spec values |
Principles
- Display weight stays at 500. Editorial confidence, not bombastic. The cinematic photography is doing the visual heavy-lifting — type doesn't need to compete.
- CTA labels are uppercase with 1.4px tracking. Luxury-precision feel.
- Nav labels are uppercase with 0.65px tracking. Consistent with CTA voice.
- Negative letter-spacing on display only. -0.36px to -1.6px on display sizes; body stays at 0.
Note on Font Substitutes
FerrariSans is licensed. Open-source substitute: Inter at weight 500 with letter-spacing -1%, or Söhne for closer humanist proportions.
Layout
Spacing System
- Base unit: 4px.
- Tokens:
{spacing.xxxs}4px ·{spacing.xxs}8px ·{spacing.xs}16px ·{spacing.sm}24px ·{spacing.md}32px ·{spacing.lg}48px ·{spacing.xl}64px ·{spacing.xxl}96px ·{spacing.super}128px. - Section padding:
{spacing.xxl}(96px) for major bands;{spacing.super}(128px) reserved for hero band depth.
Grid & Container
- Max content width: ~1280px on editorial bands. Hero photography goes full-bleed.
- Editorial body: 12-column grid.
- Feature card grids: 2-up at desktop for hero splits, 3-up for benefit grids, 4-up for preowned listing tiles.
- Footer: 5-column at desktop.
Whitespace Philosophy
Generous editorial pacing. Cinematic hero photography occupies generous viewport real-estate; body sections sit in tighter editorial layouts beneath. The canvas-light editorial bands (preowned, pricing) carry tighter density than the dark cinema bands.
Elevation & Depth
The system uses photographic depth + brightness-step elevation. No drop shadows except a single soft-small {shadow.small} documented in extracted tokens.
| Level | Treatment | Use |
|---|---|---|
| Flat (canvas) | {colors.canvas} (#181818) | Body bands, footer |
| Card | {colors.canvas-elevated} (#303030) | Driver cards, livery plates |
| Light band | {colors.canvas-light} (#ffffff) | Preowned listings, pricing |
| Hairline border | 1px {colors.hairline} or {colors.hairline-on-light} | Card outlines, dividers |
| Soft drop | 0 4px 8px rgba(0,0,0,0.1) | Hovered cards (single shadow tier) |
| Photographic | Full-bleed cinema imagery | Hero band, livery photographs |
Decorative Depth
- Full-bleed cinema photography is the brand's primary depth treatment.
- Brand red gradient (
linear-gradient(180deg, #a00c01, #da291c 64%)): The Rosso Corsa gradient used inside accent bands and CTA hover states. - Dark grey gradient (
linear-gradient(180deg, #3c3c3c, #030303 64%)): Atmospheric darken used at section transitions.
Shapes
Border Radius Scale
| Token | Value | Use |
|---|---|---|
{rounded.none} | 0px | Every CTA, card, band — dominant radius |
{rounded.xs} | 2px | Tight badges (rare) |
{rounded.sm} | 4px | Form inputs |
{rounded.md} | 6px | Compact cards (rare) |
{rounded.lg} | 8px | Mobile-only collapse cards |
{rounded.xl} | 12px | Modal/dialog corners (rare) |
{rounded.full} | 9999px | Avatar plates, badge pills |
The radius vocabulary is sharp by default. Sharp 0px corners are the brand button shape — never rounded pills. Pill geometry is reserved for badge labels only.
Components
Top Navigation
top-nav-on-dark — Default top nav on dark hero pages. Background {colors.canvas}, text {colors.ink}, height 64px. Layout: Cavallino mark left, primary horizontal menu (Models / F1 / Lifestyle / Owners / Preowned), language picker + utilities right. Menu items render uppercase with 0.65px tracking.
top-nav-on-light — White-canvas variant for editorial light bands.
Buttons
button-primary — The signature Rosso Corsa CTA. Background {colors.primary}, text {colors.on-primary}, type {typography.button} (14px / 700 / 1.4px tracking, uppercase), padding 14px × 32px, height 48px, rounded {rounded.none} (0px — sharp corners).
button-primary-active — Press state. Background {colors.primary-active}.
button-outline-on-dark — Transparent with 1px white border. Background transparent, text {colors.ink}, 1px white border, same sharp 0px corners.
button-outline-on-light — Transparent with 1px ink border on light bands.
button-tertiary-text — Inline text link, uppercase tracking.
Hero Bands
hero-band-cinema — Full-bleed cinematic photograph. Background {colors.canvas} underneath, but the photo fills the viewport. Display headline floats over the bottom of the photo or sits in a tight band beneath, in {typography.display-mega} (80px / 500 / -1.6px). One primary CTA + one outline CTA. Zero padding — the photo fills edge-to-edge.
hero-band-light — White-canvas variant for editorial bands. Background {colors.canvas-light}, text {colors.body-on-light}, padding 96px.
Cards
feature-card-photo — Image-first card. Background {colors.canvas}, text {colors.ink}, rounded {rounded.none}. Image fills the top edge-to-edge; title + body sit beneath in tight typography.
feature-card-light — White-canvas variant. Background {colors.canvas-light}, text {colors.body-on-light}, rounded {rounded.none}, padding 32px.
driver-card — F1 driver portrait card. Background {colors.canvas-elevated}, text {colors.ink}, rounded {rounded.none}, padding 24px. Layout: driver portrait + name + race number + team badge.
Editorial Surfaces
livery-band — A full-width Rosso Corsa accent band. Background {colors.primary}, text {colors.ink}, type {typography.display-lg}, 96px padding. Used as a standout livery callout between dark editorial bands.
preowned-listing-card — Used in the preowned Ferrari listing grid. Background {colors.canvas-light}, text {colors.body-on-light}, rounded {rounded.none}, padding 24px. Layout: car photo top + model name + year/mileage + price.
Spec & Race Surfaces
spec-cell — Technical spec callout. Transparent background, value in {typography.number-display} (80px / 700 / -1.6px white), label below in {typography.caption-uppercase}.
race-position-cell — F1 driver finishing position. Same number-display geometry but text in {colors.primary} Rosso Corsa for the brand's racing identity.
race-calendar-row — Hairline-divided row in the F1 race calendar. Layout: date column left, race name + circuit middle, results column right.
Forms & Tags
text-input-on-dark — Background {colors.canvas}, text {colors.ink}, rounded {rounded.sm} (4px), padding 14px × 16px, height 48px, 1px {colors.hairline} border.
text-input-on-light — White-canvas variant.
badge-pill — Small uppercase pill. Background {colors.canvas-elevated}, text {colors.ink}, type {typography.caption-uppercase} (11px / 600 / 1.1px tracking, uppercase), rounded {rounded.full} (9999px), padding 4px × 12px. The only place pill geometry is used.
Newsletter / CTA / Footer
newsletter-input-band — Newsletter signup band. Background {colors.canvas-elevated}, padding 32px, rounded {rounded.sm}. Holds an inline email input + primary CTA.
cta-band-dark — Pre-footer band. Background {colors.canvas}, centered display headline in {typography.display-lg}, single Rosso Corsa CTA. 96px padding.
footer-dark — Closing dark footer. Background {colors.canvas}, text {colors.body}. 5-column link list. 64×48px padding.
footer-link — Background transparent, text {colors.body}, type {typography.body-sm}.
Do's and Don'ts
Do
- Reserve
{colors.primary}(Rosso Corsa) for primary CTAs, the Cavallino mark, and F1 race-position highlights. - Set every CTA at
{rounded.none}(0px sharp corners) — the brand's signature precision. - Render CTA labels in uppercase with 1.4px tracking via
{typography.button}. - Pair every hero with a full-bleed cinematic photograph — the photograph IS the depth.
- Use the explicit 8px spacing ladder (
xxxsthroughsuper) rather than ad-hoc px values. - Keep display weight at 500 — never bold.
Don't
- Don't introduce a saturated brand color other than Rosso Corsa.
- Don't use rounded or pill CTAs — sharp 0px corners are the brand button.
- Don't bold display copy. The cinematic photography does the visual heavy-lifting.
- Don't use Hypersail yellow outside the Hypersail sailing program context.
- Don't use pure black canvas. The brand canvas is
{colors.canvas}(#181818) — slightly warm. - Don't add drop shadow tiers. Photography + brightness-step elevation carry the depth.
- Don't extract a CTA color from a third-party widget (cookie consent, OneTrust). The brand's CTA color is what appears on actual product CTAs, not on injected modals.
Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 640px | Hero photograph crops vertically; hero h1 80→32px; feature card grid 1-up; nav hamburger; preowned listing 1-up. |
| Tablet | 640–1024px | Hero h1 56px; feature card grid 2-up; preowned listing 2-up. |
| Desktop | 1024–1280px | Full hero h1 80px; feature card grid 3-up; preowned listing 4-up. |
| Wide | > 1280px | Editorial body content caps at 1280px; hero photography continues full-bleed. |
Touch Targets
- Primary CTA at 48px height — at WCAG AAA (44 × 44).
- Nav items render uppercase with 0.65px tracking, padded for an effective 48px tap area.
Collapsing Strategy
- Top nav switches to hamburger below 768px.
- Hero photograph reframes per breakpoint via art direction — desktop carries wide cinematic; mobile crops tighter or shifts to vertical.
- Feature card grid: 4-up → 3-up → 2-up → 1-up.
- F1 driver cards: 2-up at desktop, 1-up at mobile.
Iteration Guide
- Focus on a single component at a time.
- CTAs default to
{rounded.none}(0px sharp). Cards use{rounded.none}too. Pill is reserved for badges. - Variants live as separate entries inside
components:. - Use
{token.refs}everywhere — never inline hex. - Hover state never documented.
- FerrariSans 500 for display, 400/700 for body. Uppercase + tracking on CTAs and nav.
- Rosso Corsa stays scarce — primary CTAs, Cavallino, race-position highlights only.
- Use the explicit 8px named spacing ladder.
Known Gaps
- FerrariSans is a licensed typeface; Inter at weight 500 is the documented substitute.
- Animation timings (hero parallax, livery band entrance, race position counter) out of scope.
- In-product surfaces (preowned configurator, F1 telemetry overlays) only partially captured via marketing surfaces.
- Form validation states beyond focus not visible on captured surfaces.
- Hypersail yellow tokens are extracted but only appear in the Hypersail sailing program context — documented as scoped accents.
More systems like this
Acura, Alfa Romeo, BMW and 40 more in Automotive: 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