---
version: alpha
name: Mistral
description: Light design system extracted from mistral.ai (DOM-true values, Emblematic extractor 0.2.0, 2026-11-12).
colors:
  background: "#FBFBF8"
  surface: "#F5F4EF"
  on-surface: "#18181B"
  on-surface-variant: "#27272A"
  outline: "#E4E3DE"
  action-primary: "#09090B"
  navy-950: "#151524"
  orange-500: "#FF5229"
  tangerine-500: "#FF8204"
  black: "#000000"
  red-600: "#E51300"
  red-contrast: "#C4001D"
  zinc-500: "#71717B"
  yellow-500: "#FFAF01"
  action-ghost-1: "#07070B0D"
  background-dark: "#101013"
  on-surface-dark: "#FAFAF4"
  surface-dark: "#1A1A1E"
  outline-dark: "#27272B"
typography:
  display-lg:
    fontFamily: ALT Mistral
    fontSize: 96px
    fontWeight: 500
    lineHeight: 1
    letterSpacing: -0.02em
  headline-md:
    fontFamily: ALT Mistral
    fontSize: 56px
    fontWeight: 500
    lineHeight: 1.071
    letterSpacing: -0.01em
  title-md:
    fontFamily: Inter
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  body-md:
    fontFamily: Inter
    fontSize: 16px
    fontWeight: 400
    lineHeight: 1.5
  body-sm:
    fontFamily: Inter
    fontSize: 13px
    fontWeight: 400
    lineHeight: 1.538
  label-md:
    fontFamily: ALT Mistral
    fontSize: 16px
    fontWeight: 500
    lineHeight: 1.5
    letterSpacing: 0.01em
rounded:
  xs: 4px
  sm: 6px
  md: 8px
  lg: 12px
  full: 9999px
spacing:
  xxs: 4px
  xs: 8px
  sm: 12px
  md: 16px
  lg: 18px
  xl: 24px
  2xl: 40px
  3xl: 128px
  base: 8px
  container: 1360px
components:
  button-primary:
    backgroundColor: "{colors.action-primary}"
    textColor: "#FFFFFF"
    rounded: 0px
    padding: 0px
    height: 48px
    typography: "{typography.label-md}"
  button-secondary:
    textColor: "{colors.on-surface}"
    rounded: 0px
    padding: 0px
    height: 48px
    typography: "{typography.label-md}"
---

# Mistral

> Extracted from [https://mistral.ai/](https://mistral.ai/) on 2026-11-12 by Emblematic. Every value below was read from the rendered DOM (computed styles, `document.fonts`, and the fonts Chrome actually used to paint text), not estimated from pixels. When the YAML front matter and this prose disagree, the YAML wins. Copy values from this file exactly; don't transcribe them from memory. Don't copy logos, imagery, illustrations or marketing copy.

## Overview

Mistral uses a light canvas (#FBFBF8) with a palette. Type is set in **ALT Mistral** (display), **Inter**, with 16px body text. Layout: 1360px container, top-fixed navigation, 6 sections. Built with astro, react, tailwind, google-tag-manager, netlify, cloudflare.

## Colors

Area-weighted from painted backgrounds, text and borders on the 1440px light capture. Roles are inferred from usage (largest background, most text, interactive fills). Every hex is an exact computed value; a role marked *unverified* is a best guess that has not passed review, so its canonical token (e.g. `primary`) is left out of the front matter.

| Token | Hex | OKLCH | Role | Share of paint | CSS variable |
|---|---|---|---|---|---|
| `background` | `#FBFBF8` | 0.987 0.004 106.5 | bg | 57.9% | `--color-surface-brand-primary` |
| `surface` | `#F5F4EF` | 0.967 0.007 97.4 | surface | 16.8% | `--color-surface-brand-secondary` |
| `on-surface` | `#18181B` | 0.21 0.006 285.9 | text | 5.9% | `--color-text-primary` |
| `on-surface-variant` | `#27272A` | 0.274 0.006 286 | muted | 0.97% | `--color-text-secondary` |
| `outline` | `#E4E3DE` | 0.915 0.007 97.4 | border | 1.3% | `--color-border-primary` |
| `action-primary` | `#09090B` | 0.141 0.005 285.8 | accent *(unverified)* | 0.09% | `--color-action-primary` |
| `navy-950` | `#151524` | 0.204 0.03 283.4 | other | 8.9% | `--color-navy-950` |
| `orange-500` | `#FF5229` | 0.674 0.216 34.3 | other | 1.6% | `--color-orange-500` |
| `tangerine-500` | `#FF8204` | 0.735 0.184 53.6 | other | 1.5% | `--color-tangerine-500` |
| `black` | `#000000` | 0 0 0 | other | 1.4% | `--color-black` |
| `red-600` | `#E51300` | 0.583 0.233 30.1 | other | 1.3% | `--color-red-600` |
| `red-contrast` | `#C4001D` | 0.517 0.21 25.4 | other | 1.1% | `--color-red-contrast` |
| `zinc-500` | `#71717B` | 0.552 0.016 285.9 | other | 0.47% | `--color-zinc-500` |
| `yellow-500` | `#FFAF01` | 0.811 0.17 75.8 | other | 0.39% | `--color-yellow-500` |
| `action-ghost-1` | `#07070B0D` (on bg `#EFEFEC`) | 0.131 0.01 285 | other | 0.15% | `--color-action-ghost-1` |

**Accent not verified.** The best candidate is `#09090B` (monochrome page; fill of the primary button; sparse chromatic highlights: #FF5229, #FF8204, #C4001D, #E51300, confidence 0.62). Treat it as a guess until reviewed.

Sparse chromatic highlights (not accents): `#FF5229` (`--color-orange-500`), `#FF8204` (`--color-tangerine-500`), `#C4001D` (`--color-red-contrast`), `#E51300` (`--color-red-600`).

Declared brand/accent tokens: `--color-surface-brand` = `#FF5229`.

Contrast: text on background 17.1:1, muted text 14.37:1.

The site responds to `prefers-color-scheme: dark`; the `-dark` tokens hold the dark-mode roles.

## Typography

| Family | Role | Weights | Share of text | Source |
|---|---|---|---|---|
| **ALT Mistral** (CSS: `ALTMistral`) | display | 500 | 82.7% | webfont |
| **Inter** | body | 400, 500 | 17.3% | webfont |

Declared in `@font-face` but not used to paint text on this page: Axeptio Source Sans 3, KaTeX Main, Axeptio Inter, KaTeX SansSerif, DM Mono, KaTeX Fraktur. Don't treat these as the page's fonts.

Scale (px): 13, 14, 16, 20, 24, 32, 44, 56, 96. Effective ratio ≈ 1.348 (close to a perfect fourth). Body 16px at line-height 1.5; display 96px with tracking -0.02em. Headings are sentence case. On a 390px viewport the body is 16px and display 40px.

## Layout

Spacing follows a 8px base unit; the most used steps are 4, 8, 12, 16, 18, 24, 40, 128px. Sections open with about 128px of space before their first line of text. Content sits in a 1360px container on a 3-column grid. Text density 0.089 (text area / page area).

Section order (desktop). Kinds below the review threshold are shown as *section*:

1. **nav** (49px, bg #FBFBF8)
2. **hero** (972px, bg #FBFBF8)
3. **section** (800px, bg #F5F4EF)
4. **section** — “Mistral lets you decide how AI works in your organization.” (2936px, bg #FBFBF8)
5. **section** — “Go deeper.” (594px, bg #151524)
6. **footer** — “Company” (908px, bg #FBFBF8)

## Shapes

Dominant corner radius 0px; radii in use: 4px, 6px, 8px, 12px, pill. Borders: hairline (1px).

## Components

- **button-primary**: backgroundColor `#09090B`, textColor `#FFFFFF`, rounded `0px`, padding `0px 16px`, height `48px`, fontFamily `ALT Mistral`, fontSize `16px`, fontWeight `500` (e.g. “Start building”)
- **button-secondary**: textColor `#18181B`, rounded `0px`, padding `0px 0px`, height `48px`, fontFamily `Inter`, fontSize `16px`, fontWeight `400`, border `1px solid #E4E3DE`

## Do's and Don'ts

- Do set body copy in Inter at 16px / 1.5.
- Do use ALT Mistral only for display sizes, not for body text.
- Do tighten large headlines (-0.02em at 96px).
- Don't introduce font weights beyond 400, 500.
- Don't add drop shadows; depth comes from tone and borders.
- Do keep corners at 0px for most controls, and use the larger radii only for cards and media.
- Do snap spacing to multiples of 8px.
- Don't copy this site's logos, illustrations, photography or copy; use the system, not the brand assets.

## Provenance

Spec v2, extractor 0.2.0. Render quality: **ok**. Vision pass: not run. Fields below confidence 0.7 are hedged or left out above: `color.accent_strategy`, `color.roles.accent`, `layout.columns`, `layout.hero`, `layout.section_count`, `sections[].kind`, `space.section_padding_px`. Full per-field provenance is in `spec.json`.
