← All designs
Automotive

Ferrari

A luxury-automotive brand whose marketing surfaces read as cinematic editorial. The base canvas is **near-black** (`#181818`) holding pure white display type; white-canvas bands appear only inside specific editorial contexts (preowned listings, pricing tables). The single brand voltage is **Rosso Corsa** (`#da291c`) — the iconic Ferrari racing red — used scarcely on primary CTAs, the Cavallino mark, and Formula 1 race-position highlights. Type runs **FerrariSans** at modest weights (display 500, body 400) — never bombastic. Spacing follows an explicit 8px token ladder (`xxxs` 4px through `super` 128px); generous editorial pacing throughout. The brand's strongest visual signature is the **full-bleed cinematic hero photograph** that fills the viewport top with car photography, model details, or trackside livery — followed by a tighter editorial body layout below.

Color Tokens

#da291cprimary
#b01e0aprimary-active
#9d2211primary-hover
#ffffffink
#969696body
#ffffffbody-strong
#181818body-on-light
#666666muted
#8f8f8fmuted-soft
#303030hairline

version: alpha name: Ferrari description: A luxury-automotive brand whose marketing surfaces read as cinematic editorial. The base canvas is near-black (#181818) holding pure white display type; white-canvas bands appear only inside specific editorial contexts (preowned listings, pricing tables). The single brand voltage is Rosso Corsa (#da291c) — the iconic Ferrari racing red — used scarcely on primary CTAs, the Cavallino mark, and Formula 1 race-position highlights. Type runs FerrariSans at modest weights (display 500, body 400) — never bombastic. Spacing follows an explicit 8px token ladder (xxxs 4px through super 128px); generous editorial pacing throughout. The brand's strongest visual signature is the full-bleed cinematic hero photograph that fills the viewport top with car photography, model details, or trackside livery — followed by a tighter editorial body layout below.

colors: primary: "#da291c" primary-active: "#b01e0a" primary-hover: "#9d2211" ink: "#ffffff" body: "#969696" body-strong: "#ffffff" body-on-light: "#181818" muted: "#666666" muted-soft: "#8f8f8f" hairline: "#303030" hairline-on-light: "#d2d2d2" hairline-soft: "#ebebeb" canvas: "#181818" canvas-elevated: "#303030" canvas-light: "#ffffff" surface-card: "#303030" surface-soft-light: "#f7f7f7" surface-strong-light: "#ebebeb" on-primary: "#ffffff" on-dark: "#ffffff" on-light: "#181818" accent-yellow-hypersail: "#fff200" accent-yellow: "#f6e500" semantic-info: "#4c98b9" semantic-success: "#03904a" semantic-warning: "#f13a2c"

typography: display-mega: fontFamily: "'FerrariSans', -apple-system, system-ui, sans-serif" fontSize: 80px fontWeight: 500 lineHeight: 1.05 letterSpacing: -1.6px display-xl: fontFamily: "'FerrariSans', sans-serif" fontSize: 56px fontWeight: 500 lineHeight: 1.1 letterSpacing: -1.12px display-lg: fontFamily: "'FerrariSans', sans-serif" fontSize: 36px fontWeight: 500 lineHeight: 1.2 letterSpacing: -0.36px display-md: fontFamily: "'FerrariSans', sans-serif" fontSize: 26px fontWeight: 500 lineHeight: 1.5 letterSpacing: 0.195px title-md: fontFamily: "'FerrariSans', sans-serif" fontSize: 18px fontWeight: 700 lineHeight: 1.2 letterSpacing: 0 title-sm: fontFamily: "'FerrariSans', sans-serif" fontSize: 16px fontWeight: 500 lineHeight: 1.4 letterSpacing: 0.08px body-md: fontFamily: "'FerrariSans', sans-serif" fontSize: 14px fontWeight: 400 lineHeight: 1.5 letterSpacing: 0 body-sm: fontFamily: "'FerrariSans', sans-serif" fontSize: 13px fontWeight: 400 lineHeight: 1.5 letterSpacing: 0 caption: fontFamily: "'FerrariSans', sans-serif" fontSize: 12px fontWeight: 400 lineHeight: 1.4 letterSpacing: 0 caption-uppercase: fontFamily: "'FerrariSans', sans-serif" fontSize: 11px fontWeight: 600 lineHeight: 1.4 letterSpacing: 1.1px textTransform: uppercase button: fontFamily: "'FerrariSans', sans-serif" fontSize: 14px fontWeight: 700 lineHeight: 1.0 letterSpacing: 1.4px textTransform: uppercase nav-link: fontFamily: "'FerrariSans', sans-serif" fontSize: 13px fontWeight: 600 lineHeight: 1.4 letterSpacing: 0.65px textTransform: uppercase number-display: fontFamily: "'FerrariSans', sans-serif" fontSize: 80px fontWeight: 700 lineHeight: 1.0 letterSpacing: -1.6px

rounded: none: 0px xs: 2px sm: 4px md: 6px lg: 8px xl: 12px full: 9999px

spacing: xxxs: 4px xxs: 8px xs: 16px sm: 24px md: 32px lg: 48px xl: 64px xxl: 96px super: 128px

components: top-nav-on-dark: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.nav-link}" height: 64px top-nav-on-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.body-on-light}" typography: "{typography.nav-link}" height: 64px button-primary: backgroundColor: "{colors.primary}" textColor: "{colors.on-primary}" typography: "{typography.button}" rounded: "{rounded.none}" padding: 14px 32px height: 48px button-primary-active: backgroundColor: "{colors.primary-active}" textColor: "{colors.on-primary}" rounded: "{rounded.none}" button-outline-on-dark: backgroundColor: transparent textColor: "{colors.ink}" typography: "{typography.button}" rounded: "{rounded.none}" padding: 13px 31px height: 48px button-outline-on-light: backgroundColor: transparent textColor: "{colors.body-on-light}" typography: "{typography.button}" rounded: "{rounded.none}" padding: 13px 31px height: 48px button-tertiary-text: backgroundColor: transparent textColor: "{colors.ink}" typography: "{typography.button}" hero-band-cinema: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.display-mega}" padding: 0 hero-band-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.body-on-light}" typography: "{typography.display-xl}" padding: 96px feature-card-photo: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.title-md}" rounded: "{rounded.none}" padding: 0 feature-card-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.body-on-light}" typography: "{typography.title-md}" rounded: "{rounded.none}" padding: 32px livery-band: backgroundColor: "{colors.primary}" textColor: "{colors.ink}" typography: "{typography.display-lg}" padding: 96px preowned-listing-card: backgroundColor: "{colors.canvas-light}" textColor: "{colors.body-on-light}" typography: "{typography.body-md}" rounded: "{rounded.none}" padding: 24px spec-cell: backgroundColor: transparent textColor: "{colors.ink}" typography: "{typography.number-display}" padding: 24px 0 race-position-cell: backgroundColor: transparent textColor: "{colors.primary}" typography: "{typography.number-display}" race-calendar-row: backgroundColor: transparent textColor: "{colors.ink}" typography: "{typography.body-md}" padding: 16px 0 driver-card: backgroundColor: "{colors.canvas-elevated}" textColor: "{colors.ink}" typography: "{typography.title-md}" rounded: "{rounded.none}" padding: 24px text-input-on-dark: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.body-md}" rounded: "{rounded.sm}" padding: 14px 16px height: 48px text-input-on-light: backgroundColor: "{colors.canvas-light}" textColor: "{colors.body-on-light}" typography: "{typography.body-md}" rounded: "{rounded.sm}" padding: 14px 16px height: 48px badge-pill: backgroundColor: "{colors.canvas-elevated}" textColor: "{colors.ink}" typography: "{typography.caption-uppercase}" rounded: "{rounded.full}" padding: 4px 12px cta-band-dark: backgroundColor: "{colors.canvas}" textColor: "{colors.ink}" typography: "{typography.display-lg}" padding: 96px newsletter-input-band: backgroundColor: "{colors.canvas-elevated}" textColor: "{colors.ink}" typography: "{typography.body-md}" rounded: "{rounded.sm}" padding: 32px footer-dark: backgroundColor: "{colors.canvas}" textColor: "{colors.body}" typography: "{typography.body-sm}" padding: 64px 48px footer-link: backgroundColor: transparent textColor: "{colors.body}" typography: "{typography.body-sm}"

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

TokenSizeWeightLine HeightLetter SpacingUse
{typography.display-mega}80px5001.05-1.6pxHomepage hero h1
{typography.display-xl}56px5001.1-1.12pxSubsidiary heroes
{typography.display-lg}36px5001.2-0.36pxSection heads, livery band
{typography.display-md}26px5001.50.195pxSub-section heads
{typography.title-md}18px7001.20Component titles
{typography.title-sm}16px5001.40.08pxList labels
{typography.body-md}14px4001.50Default body
{typography.body-sm}13px4001.50Footer body
{typography.caption}12px4001.40Photo captions
{typography.caption-uppercase}11px6001.41.1pxSection labels, badges
{typography.button}14px7001.01.4px (uppercase)CTA pill labels
{typography.nav-link}13px6001.40.65px (uppercase)Top-nav menu items
{typography.number-display}80px7001.0-1.6pxRace 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.

LevelTreatmentUse
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 border1px {colors.hairline} or {colors.hairline-on-light}Card outlines, dividers
Soft drop0 4px 8px rgba(0,0,0,0.1)Hovered cards (single shadow tier)
PhotographicFull-bleed cinema imageryHero 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

TokenValueUse
{rounded.none}0pxEvery CTA, card, band — dominant radius
{rounded.xs}2pxTight badges (rare)
{rounded.sm}4pxForm inputs
{rounded.md}6pxCompact cards (rare)
{rounded.lg}8pxMobile-only collapse cards
{rounded.xl}12pxModal/dialog corners (rare)
{rounded.full}9999pxAvatar 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 (xxxs through super) 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

NameWidthKey Changes
Mobile< 640pxHero photograph crops vertically; hero h1 80→32px; feature card grid 1-up; nav hamburger; preowned listing 1-up.
Tablet640–1024pxHero h1 56px; feature card grid 2-up; preowned listing 2-up.
Desktop1024–1280pxFull hero h1 80px; feature card grid 3-up; preowned listing 4-up.
Wide> 1280pxEditorial 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

  1. Focus on a single component at a time.
  2. CTAs default to {rounded.none} (0px sharp). Cards use {rounded.none} too. Pill is reserved for badges.
  3. Variants live as separate entries inside components:.
  4. Use {token.refs} everywhere — never inline hex.
  5. Hover state never documented.
  6. FerrariSans 500 for display, 400/700 for body. Uppercase + tracking on CTAs and nav.
  7. Rosso Corsa stays scarce — primary CTAs, Cavallino, race-position highlights only.
  8. 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.