Mistral AI Design System

French-engineered AI minimalism · Saturated orange accent on soft paper...
Back to Home
01

Visual Theme & Atmosphere

Mistral AI carries itself with a singular, almost cinematographic visual signature — the homepage opens with "Frontier AI. In your hands." rendered in elegant near-serif display type over a photographic mountain landscape bathed in mustard-orange sunset light. Below the hero, every page closes with the same recognizable element: a horizontal "sunset stripe" gradient band running red→orange→yellow→cream that wraps the foot of the page just above the footer. This stripe is THE brand recognizer — it appears on the homepage, products/studio, solutions/coding, news articles, contact form, and services tier page without exception.

The system pairs PP Editorial Old (a near-serif elegant display face) for hero displays with Inter for everything else (body, headings, UI). Cream-yellow surfaces ({colors.cream}, {colors.surface-cream-soft}) anchor form panels and feature cards; saturated orange ({colors.primary}) carries primary CTAs; the deep mountain photography on the homepage and the dark code mockups inside Le Studio create photographic depth. Cards are rectangular with {rounded.lg} (12px) corners — distinctly less playful than Miro's or Mintlify's pill-buttons-everywhere approach. Buttons are also {rounded.md} (8px), not pills — Mistral's geometry is more sober and editorial than its peers.

Key Characteristics:

  • Atmospheric mountain-sunset hero photography (orange-red-yellow gradient sky)
  • ...

Live Visual Theme Representation:

Visual Theme Example

02

Color Palette & Roles

> Source pages: mistral.ai/ (homepage), /products/studio (Le Studio product), /solutions/coding (coding solution), /news/vibe-remote-agents-mistral-medium-3-5 (news), /contact (contact form), /services (services tiers). Token coverage was identical across all six pages.

Brand & Accent

  • Mistral Orange ({colors.primary}): Primary CTA color, brand orange
  • Orange Deep ({colors.primary-deep}): Pressed-state and emphasis variant
  • ...

Cream / Neutral Warm

  • Cream ({colors.cream}): Warm yellow-cream surface for form panels, feature cards, footer
  • Cream Soft ({colors.cream-soft}): Lighter cream variant
  • ...

Surface

  • Canvas White ({colors.canvas}): Page background and card surface
  • Surface ({colors.surface}): Subtle quieter background
  • ...

Text

  • Ink ({colors.ink}): Primary headlines and body text
  • Ink Tint ({colors.ink-tint}): Slightly softer black for hero overlay text
  • ...

Semantic

  • Link ({colors.link}): Inline link color (matches primary orange)
primary
#fa520f
primary-deep
#cc3a05
on-primary
#ffffff
sunshine-300
#ffd06a
sunshine-500
#ffb83e
sunshine-700
#ffa110
sunshine-800
#ff8105
sunshine-900
#ff8a00
yellow-saturated
#ffd900
cream
#fff8e0
cream-light
#fffaeb
cream-deeper
#fff0c2
beige-deep
#e6d5a8
block-5
#ffe295
block-6
#ffd900
block-7
#ff8105
ink
#1f1f1f
ink-tint
#3d3d3d
charcoal
#2c2c2c
slate
#4a4a4a
steel
#6a6a6a
stone
#8a8a8a
muted
#a8a8a8
hairline
#e5e5e5
hairline-soft
#ededed
hairline-strong
#c7c7c7
canvas
#ffffff
surface
#fafafa
surface-cream
#fff8e0
surface-cream-soft
#fffaeb
surface-code
#1c1c1e
on-dark
#ffffff
on-dark-muted
#a8a8a8
on-cream
#1f1f1f
footer-cream
#fff8e0
link
#fa520f
03

Typography Rules

Font Family

PP Editorial Old (display): Mistral's signature near-serif elegant display typeface used for hero displays, large numbers, and editorial section openers. Carries a slightly classical, intelligent character that contrasts the contemporary product positioning. Fallbacks: 'Times New Roman', Georgia, serif.

Inter (UI prose): Variable typeface for body, navigation, buttons, labels, captions. Fallbacks: ui-sans-serif, system-ui, -apple-system, sans-serif.

JetBrains Mono (code): Monospace for code blocks and IDE mockups. Fallbacks: 'SF Mono', Menlo, Consolas, monospace.

Hierarchy

TokenSizeWeightLine HeightLetter SpacingFamilyUse
.....................

Principles

  • Editorial / sans pairing — PP Editorial Old (near-serif, classical) anchors hero displays; Inter (geometric sans) carries everything else. The contrast IS the brand voice.
  • Generous body leading (1.55 on body-md) for editorial readability across long-form pages
  • ...
Dynamic Preview:
hero-display size: 84px | weight: 400 | height: 1.05 | spacing: -1.5px
The quick brown fox jumps over the lazy dog
display-lg size: 64px | weight: 400 | height: 1.10 | spacing: -1px
The quick brown fox jumps over the lazy dog
heading-1 size: 52px | weight: 400 | height: 1.15 | spacing: -0.5px
The quick brown fox jumps over the lazy dog
heading-2 size: 36px | weight: 500 | height: 1.20 | spacing: -0.5px
The quick brown fox jumps over the lazy dog
heading-3 size: 28px | weight: 500 | height: 1.25 | spacing: 0
The quick brown fox jumps over the lazy dog
heading-4 size: 22px | weight: 500 | height: 1.30 | spacing: 0
The quick brown fox jumps over the lazy dog
heading-5 size: 18px | weight: 500 | height: 1.40 | spacing: 0
The quick brown fox jumps over the lazy dog
subtitle size: 18px | weight: 400 | height: 1.50 | spacing: 0
The quick brown fox jumps over the lazy dog
body-md size: 16px | weight: 400 | height: 1.55 | spacing: 0
The quick brown fox jumps over the lazy dog
body-md-medium size: 16px | weight: 500 | height: 1.55 | spacing: 0
The quick brown fox jumps over the lazy dog
body-sm size: 14px | weight: 400 | height: 1.50 | spacing: 0
The quick brown fox jumps over the lazy dog
body-sm-medium size: 14px | weight: 500 | height: 1.50 | spacing: 0
The quick brown fox jumps over the lazy dog
caption size: 13px | weight: 400 | height: 1.40 | spacing: 0
The quick brown fox jumps over the lazy dog
caption-bold size: 13px | weight: 600 | height: 1.40 | spacing: 0
The quick brown fox jumps over the lazy dog
micro size: 12px | weight: 500 | height: 1.40 | spacing: 0
The quick brown fox jumps over the lazy dog
micro-uppercase size: 11px | weight: 600 | height: 1.40 | spacing: 1px
The quick brown fox jumps over the lazy dog
button-md size: 14px | weight: 500 | height: 1.30 | spacing: 0
The quick brown fox jumps over the lazy dog
stat-display size: 56px | weight: 400 | height: 1.10 | spacing: -1px
The quick brown fox jumps over the lazy dog
code-md size: 14px | weight: 400 | height: 1.50 | spacing: 0
The quick brown fox jumps over the lazy dog
04

Layout Principles

Spacing System

  • Base unit: 4px (8px primary increment)
  • Tokens: {spacing.xxs} (4px) · {spacing.xs} (8px) · {spacing.sm} (12px) · {spacing.md} (16px) · {spacing.lg} (20px) · {spacing.xl} (24px) · {spacing.xxl} (32px) · {spacing.xxxl} (40px) · {spacing.section-sm} (48px) · {spacing.section} (64px) · {spacing.section-lg} (96px) · {spacing.hero} (120px)
  • ...

Grid & Container

  • Marketing pages use 1280px max-width with 32px gutters
  • Hero band uses 2-column split (text left, sunset photography right) on desktop
  • ...

Whitespace Philosophy

Marketing surfaces give content generous breathing room — {spacing.hero} (120px) hero padding lets the mountain-sunset photography fill the frame. Form pages tighten dramatically: contact form panel uses {spacing.xxl} (32px) internal padding, fields stack on {spacing.md} (16px) gap.

Grid Layout Wireframe Mockup:

Layout Grid Example

Layout Wireframe blueprint
1
2
3
4
5
6
7
8
9
10
11
12
Gutter spacing: 16px / 24px
Side Margins: 24px (Mobile) / 48px (Desktop)
Max Container Width: 1200px
05

Depth & Elevation

The system runs predominantly flat with strategic atmospheric depth from photography.

LevelTreatmentUse
.........

Decorative Depth

  • The atmospheric depth on Mistral's hero comes from the photographic mountain-sunset imagery — natural light gradient does the work
  • The "sunset stripe" closing band carries depth via its multi-stop gradient (red → orange → yellow → cream)
  • ...

Elevation Level Showcase:

Elevation Level Example

Flat Surface (Level 0)

Used for background layers, sidebar headers, or baseline borders.

Low Elevation (Level 1 / Card)

Used for floating product elements, cards, and hover states.

High Elevation (Level 2 / Popover & Dropdown)

Used for modals, select menus, code editor tooltips, and overlay headers.

Border Radius & Shape Scale:

radius-sm 4px
radius-md 6px
radius-lg 8px
radius-pill Pill / Tag
06

Component Stylings

Border Radius Scale

TokenValueUse
.........
The radius scale is sober and editorial — Mistral does NOT use pill buttons. {rounded.md} (8px) for buttons, {rounded.lg} (12px) for cards, {rounded.full} reserved for badges and the rare pill tab.

Photography Geometry

  • Hero photography is full-bleed atmospheric mountain-sunset imagery with no internal framing
  • IDE/code mockups render with {rounded.lg} (12px) corners on dark canvas
  • ...
> Per the no-hover policy, hover states are NOT documented. Default and pressed/active states only.

Buttons

button-primary — Saturated-orange primary CTA, the dominant action.

  • Background {colors.primary}, text {colors.on-primary}, typography {typography.button-md}, padding 10px 20px, rounded {rounded.md}.
  • ...
button-cream — Warm cream-yellow secondary action, common on cream-surface sections.
  • Background {colors.cream}, text {colors.ink}, border 1px solid {colors.beige-deep}, typography {typography.button-md}, padding 10px 20px, rounded {rounded.md}.
button-dark — Dark/black primary CTA on cream surfaces.
  • Background {colors.ink}, text {colors.on-dark}, typography {typography.button-md}, padding 10px 20px, rounded {rounded.md}.
button-secondary — Outlined secondary action.
  • Background transparent, text {colors.ink}, border 1px solid {colors.hairline-strong}, typography {typography.button-md}, padding 10px 20px, rounded {rounded.md}.
button-on-cream — White button on cream-tinted backgrounds.
  • Background {colors.canvas}, text {colors.ink}, border 1px solid {colors.beige-deep}, typography {typography.button-md}, padding 10px 20px, rounded {rounded.md}.
button-link — Inline orange text link.
  • Background transparent, text {colors.primary}, typography {typography.body-sm-medium}, padding 0. Underline on activation.

Cards & Containers

card-base — Standard content card.

  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xl}, border 1px solid {colors.hairline-soft}.
card-feature — White feature card with larger padding.
  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.hairline-soft}`.
card-cream — Warm cream-yellow feature card (services tiers, perk callouts).
  • Background {colors.cream}, text {colors.ink}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.beige-deep}.
card-cream-soft — Lighter cream variant.
  • Background {colors.surface-cream-soft}, text {colors.ink}, rounded {rounded.lg}, padding {spacing.xxl}.
card-feature-product — Product showcase card with subtle elevation.
  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.hairline-soft}, shadow rgba(0, 0, 0, 0.04) 0px 4px 12px.
card-photographic — Photographic product card with dark background.
  • Background {colors.surface-code}, text {colors.on-dark}, rounded {rounded.lg}, padding 0 (image fills the card).
pricing-card — Standard pricing tier card.
  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.hairline-soft}.
pricing-card-featured — Featured pricing tier (cream background + orange border).
  • Background {colors.cream}, rounded {rounded.lg}, padding {spacing.xxl}, border 2px solid {colors.primary}.

Inputs & Forms

text-input — Standard text field.

  • Background {colors.canvas}, text {colors.ink}, border 1px solid {colors.hairline-strong}, rounded {rounded.md}, padding {spacing.sm} {spacing.md}, height 44px.
text-input-focused — Activated state.
  • Border switches to 2px solid {colors.primary}.
text-area — Multi-line text area for contact form.
  • Background {colors.canvas}, text {colors.ink}, border 1px solid {colors.hairline-strong}, rounded {rounded.md}, padding {spacing.md}.
contact-form-panel — Cream-tinted form container on the contact page.
  • Background {colors.cream}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.beige-deep}. Hosts text-inputs, text-area, submit button-dark.

Tabs

pill-tab + pill-tab-active — Pill-style tab nav (used sparingly on product pages).

  • Inactive: background {colors.canvas}, text {colors.steel}, border 1px solid {colors.hairline}, padding {spacing.xs} {spacing.md}, rounded {rounded.full}.
  • ...
segmented-tab + segmented-tab-active — Underline-style tab navigation.
  • Inactive: text {colors.steel}, transparent background, padding {spacing.sm} {spacing.md}, no bottom border.
  • ...

Badges & Status

badge-orange — Saturated orange badge.

  • Background {colors.primary}, text {colors.on-primary}, typography {typography.caption-bold}, rounded {rounded.full}, padding 4px 10px.
badge-cream — Cream-tinted tag chip.
  • Background {colors.cream-deeper}, text {colors.ink}, typography {typography.caption-bold}, rounded {rounded.full}, padding 4px 10px.
badge-dark — Dark/black status badge.
  • Background {colors.ink}, text {colors.on-dark}, typography {typography.caption-bold}, rounded {rounded.full}, padding 4px 10px.
promo-banner — Sticky black promo strip ABOVE the top nav.
  • Background {colors.ink}, text {colors.on-dark}, typography {typography.body-sm-medium}, padding {spacing.sm} {spacing.md}. Carries one-line copy + inline CTA.

Code

code-block — Syntax-highlighted IDE-style code block (Le Studio page mockup, agent demos).

  • Background {colors.surface-code}, text {colors.on-dark}, typography {typography.code-md}, rounded {rounded.md}, padding {spacing.md}.
code-block-header — Header bar above the code block.
  • Background {colors.surface-code}, text {colors.on-dark-muted}, typography {typography.caption}, padding {spacing.xs} {spacing.md}, bottom border 1px solid rgba(255,255,255,0.08).

Documentation Components

feature-icon-tile — Cream-yellow feature icon callout.

  • Background {colors.cream}, rounded {rounded.md}, padding {spacing.md}, border 1px solid {colors.beige-deep}.
industry-tile — Industry-vertical tile in solutions page grid.
  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xl}, border 1px solid {colors.hairline-soft}.
stat-cell — Stat-row cell ("75% more / 80% better").
  • Background transparent, text {colors.ink}, typography {typography.stat-display}, padding {spacing.lg}.
customer-testimonial-card — Customer quote card (used inside Le Studio and Solutions pages).
  • Background {colors.canvas}, rounded {rounded.lg}, padding {spacing.xxl}, border 1px solid {colors.hairline-soft}. Quote in {typography.body-md}, attribution in {typography.body-sm} {colors.steel}.
logo-wall-item — Customer logo wordmark cell.
  • Background transparent, text {colors.steel}, typography {typography.body-md-medium}, padding {spacing.lg}.
faq-accordion-item — FAQ panel.
  • Background {colors.canvas}, rounded {rounded.md}, padding {spacing.xl}, bottom border 1px solid {colors.hairline}.
app-store-badge — App Store / Google Play download badge.
  • Background {colors.ink}, text {colors.on-dark}, typography {typography.caption-bold}, rounded {rounded.md}, padding {spacing.sm} {spacing.md}.

Navigation

Top Navigation (Marketing) — Sticky white bar.

  • Background {colors.canvas}, height ~64px, bottom border 1px solid {colors.hairline-soft}.
  • ...

Signature Components

hero-band-sunset — Atmospheric sunset hero band.

  • Background gradient linear-gradient(135deg, {colors.sunshine-700} 0%, {colors.sunshine-900} 60%, {colors.primary} 100%) overlaid on photographic mountain landscape.
  • ...
sunset-stripe-band — Horizontal closing band at the foot of every page.
  • Multi-stop gradient: {colors.primary}{colors.sunshine-700}{colors.sunshine-500}{colors.yellow-saturated}{colors.cream}.
  • ...
cta-banner-cream — Page-bottom CTA band on cream surface.
  • Background {colors.cream}, text {colors.ink}, rounded {rounded.lg}, padding {spacing.section}. "The next chapter of AI is yours." headline in {typography.heading-1} (PP Editorial Old), button row below.
footer-region — Cream-tinted multi-column footer.
  • Background {colors.footer-cream}, padding {spacing.section} {spacing.xxl}.
  • ...
footer-link — Individual footer link.
  • Background transparent, text {colors.primary}, typography {typography.body-sm}, padding {spacing.xxs} 0.

Interactive Component Demonstrations:

Component Interactive Example

07

Do's and Don'ts

Do

  • Reserve {colors.primary} (saturated orange) for primary CTAs and active states only
  • Use the sunset stripe band at the foot of every page — it's the brand's most recognizable signature
  • Pair PP Editorial Old (display) with Inter (UI) — never substitute either with a generic alternative
  • Apply {rounded.md} (8px) to buttons and {rounded.lg} (12px) to cards consistently
  • Use cream-yellow surfaces ({colors.cream}) for form panels, feature cards, and footer
  • Anchor heroes with photographic mountain-sunset imagery (or its visual equivalent — atmospheric gradient sky)
  • Use stat-display token (PP Editorial 56px) for stat callouts to maintain editorial character

Don't

  • Don't use pill-shaped buttons ({rounded.full}) — Mistral's geometry is sober and editorial, not playful
  • Don't introduce additional accent colors beyond the orange/yellow/cream sunset palette
  • Don't reduce hero leading below 1.05 — the editorial display needs that magazine-grade tightness
  • Don't replace PP Editorial Old hero displays with Inter — the editorial / sans contrast IS the brand
  • Don't apply heavy shadows on flat documentation cards; reserve elevation for IDE mockups
  • Don't drop the sunset stripe band from any page bottom — it's the brand's continuity element
✅ Recommended / Do
  • Reserve {colors.primary} (saturated orange) for primary CTAs and active states only
  • Use the sunset stripe band at the foot of every page — it's the brand's most recognizable signature
  • Pair PP Editorial Old (display) with Inter (UI) — never substitute either with a generic alternative
  • Apply {rounded.md} (8px) to buttons and {rounded.lg} (12px) to cards consistently
  • Use cream-yellow surfaces ({colors.cream}) for form panels, feature cards, and footer
  • Anchor heroes with photographic mountain-sunset imagery (or its visual equivalent — atmospheric gradient sky)
  • Use stat-display token (PP Editorial 56px) for stat callouts to maintain editorial character
❌ Discouraged / Don't
  • Don't use pill-shaped buttons ({rounded.full}) — Mistral's geometry is sober and editorial, not playful
  • Don't introduce additional accent colors beyond the orange/yellow/cream sunset palette
  • Don't reduce hero leading below 1.05 — the editorial display needs that magazine-grade tightness
  • Don't replace PP Editorial Old hero displays with Inter — the editorial / sans contrast IS the brand
  • Don't apply heavy shadows on flat documentation cards; reserve elevation for IDE mockups
  • Don't drop the sunset stripe band from any page bottom — it's the brand's continuity element
08

Responsive Behavior

Breakpoints

NameWidthKey Changes
.........

Touch Targets

  • Buttons render at 40–44px effective height — at WCAG AAA floor with 10px 20px padding
  • Form inputs render at 44px height
  • ...

Collapsing Strategy

  • Promo banner stays full-width; truncates at < 480px
  • Top nav below 1024px collapses to hamburger
  • ...

Image Behavior

  • Mountain-sunset photography uses 16:9 ratio with full-bleed scaling
  • IDE mockup images maintain aspect ratio across breakpoints
  • ...

Responsive Adaptation Note:

Responsive Behavior Example

Interactive Viewport Simulator
Width: 800px (Desktop Mode) Grid Container
Primary Column

Adjusts layout width

Secondary Column

Folds on viewport change

Sidebar Column

Stacks to bottom on mobile

09

Agent Prompt Guide

1. Focus on ONE component at a time 2. Reference component names and tokens directly ({colors.primary}, {component-name}-pressed)

  • ...

Copyable Agent Integration Prompt:

Prompt Guide Copy Box

10

Full System Design Tokens

The parsed design tokens extracted from the core stylesheet of this design system:

Design TokenHex ValueSystem Palette Role
--primary#fa520fSystem color representation for primary
--primary-deep#cc3a05System color representation for primary-deep
--on-primary#ffffffSystem color representation for on-primary
--sunshine-300#ffd06aSystem color representation for sunshine-300
--sunshine-500#ffb83eSystem color representation for sunshine-500
--sunshine-700#ffa110System color representation for sunshine-700
--sunshine-800#ff8105System color representation for sunshine-800
--sunshine-900#ff8a00System color representation for sunshine-900
--yellow-saturated#ffd900System color representation for yellow-saturated
--cream#fff8e0System color representation for cream
--cream-light#fffaebSystem color representation for cream-light
--cream-deeper#fff0c2System color representation for cream-deeper
--beige-deep#e6d5a8System color representation for beige-deep
--block-5#ffe295System color representation for block-5
--block-6#ffd900System color representation for block-6
--block-7#ff8105System color representation for block-7
--ink#1f1f1fSystem color representation for ink
--ink-tint#3d3d3dSystem color representation for ink-tint
--charcoal#2c2c2cSystem color representation for charcoal
--slate#4a4a4aSystem color representation for slate
--steel#6a6a6aSystem color representation for steel
--stone#8a8a8aSystem color representation for stone
--muted#a8a8a8System color representation for muted
--hairline#e5e5e5System color representation for hairline
--hairline-soft#edededSystem color representation for hairline-soft
--hairline-strong#c7c7c7System color representation for hairline-strong
--canvas#ffffffSystem color representation for canvas
--surface#fafafaSystem color representation for surface
--surface-cream#fff8e0System color representation for surface-cream
--surface-cream-soft#fffaebSystem color representation for surface-cream-soft
--surface-code#1c1c1eSystem color representation for surface-code
--on-dark#ffffffSystem color representation for on-dark
--on-dark-muted#a8a8a8System color representation for on-dark-muted
--on-cream#1f1f1fSystem color representation for on-cream
--footer-cream#fff8e0System color representation for footer-cream
--link#fa520fSystem color representation for link