
primary
#494FDF
--color-primary
primary bright
#4F55F1
--color-primary-bright
primary deep
#3A40C4
--color-primary-deep
on primary
#FFFFFF
--color-on-primary
ink
#191C1F
--color-ink
body
#1F2226
--color-body
charcoal
#3A3D40
--color-charcoal
mute
#505A63
--color-mute
ash
#5C5E60
--color-ash
stone
#8D969E
--color-stone
faint
#C9C9CD
--color-faint
on dark
#FFFFFF
--color-on-dark
canvas light
#FFFFFF
--color-canvas-light
canvas dark
#000000
--color-canvas-dark
surface soft
#F4F4F4
--color-surface-soft
surface card
#FFFFFF
--color-surface-card
surface deep
#0A0A0A
--color-surface-deep
surface elevated
#16181A
--color-surface-elevated
hairline light
#E2E2E7
--color-hairline-light
hairline strong
#191C1F
--color-hairline-strong
accent teal
#00A87E
--color-accent-teal
accent blue link
#376CD5
--color-accent-blue-link
accent light blue
#007BC2
--color-accent-light-blue
accent light green
#428619
--color-accent-light-green
accent green text
#006400
--color-accent-green-text
accent yellow
#B09000
--color-accent-yellow
accent warning
#EC7E00
--color-accent-warning
accent pink
#E61E49
--color-accent-pink
accent danger
#E23B4A
--color-accent-danger
accent deep red
#8B0000
--color-accent-deep-red
accent brown
#936D62
--color-accent-brown
link
#376CD5
--color-link
字体家族
Aeonik Pro / Inter
字重
备注
2 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Revolut — Style Reference
> Revolut's marketing surfaces pair a stark black canvas with the brand's
cobalt-violet (`#494fdf`) and a wide accent palette of deep, fully-saturated
product colours — teal, light-blue, deep pink, light-green, warning orange.
The system reads as fintech-meets-product-brochure: oversized 80px–136px
Aeonik Pro display headlines, generous whitespace, photography-led hero
bands, and full-width product mockups (cards, phones, terminals) shown as
hero objects inside near-black sections. Most surfaces are either black or
off-white; pill-shaped buttons and rounded-12/20px content cards carry the
consumer-financial-app feel without crossing into playful territory.
**Theme:** light
**Source website:** [https://www.revolut.com/](https://www.revolut.com/)
Use the live official website to compare and validate this extracted snapshot. The current source website remains authoritative.
Tokens — Colors
| Name | Value | Token | Role |
|---|---|---|---|
| primary | `#494fdf` | `--color-primary` | primary role extracted from the source design |
| primary bright | `#4f55f1` | `--color-primary-bright` | primary bright role extracted from the source design |
| primary deep | `#3a40c4` | `--color-primary-deep` | primary deep role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| ink | `#191c1f` | `--color-ink` | ink role extracted from the source design |
| body | `#1f2226` | `--color-body` | body role extracted from the source design |
| charcoal | `#3a3d40` | `--color-charcoal` | charcoal role extracted from the source design |
| mute | `#505a63` | `--color-mute` | mute role extracted from the source design |
| ash | `#5c5e60` | `--color-ash` | ash role extracted from the source design |
| stone | `#8d969e` | `--color-stone` | stone role extracted from the source design |
| faint | `#c9c9cd` | `--color-faint` | faint role extracted from the source design |
| on dark | `#ffffff` | `--color-on-dark` | on dark role extracted from the source design |
| on dark mute | `rgba(255,255,255,0.72)` | `--color-on-dark-mute` | on dark mute role extracted from the source design |
| canvas light | `#ffffff` | `--color-canvas-light` | canvas light role extracted from the source design |
| canvas dark | `#000000` | `--color-canvas-dark` | canvas dark role extracted from the source design |
| surface soft | `#f4f4f4` | `--color-surface-soft` | surface soft role extracted from the source design |
| surface card | `#ffffff` | `--color-surface-card` | surface card role extracted from the source design |
| surface deep | `#0a0a0a` | `--color-surface-deep` | surface deep role extracted from the source design |
| surface elevated | `#16181a` | `--color-surface-elevated` | surface elevated role extracted from the source design |
| hairline light | `#e2e2e7` | `--color-hairline-light` | hairline light role extracted from the source design |
| hairline dark | `rgba(255,255,255,0.12)` | `--color-hairline-dark` | hairline dark role extracted from the source design |
| hairline strong | `#191c1f` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| divider soft | `rgba(255,255,255,0.06)` | `--color-divider-soft` | divider soft role extracted from the source design |
| accent teal | `#00a87e` | `--color-accent-teal` | accent teal role extracted from the source design |
| accent blue link | `#376cd5` | `--color-accent-blue-link` | accent blue link role extracted from the source design |
| accent light blue | `#007bc2` | `--color-accent-light-blue` | accent light blue role extracted from the source design |
| accent light green | `#428619` | `--color-accent-light-green` | accent light green role extracted from the source design |
| accent green text | `#006400` | `--color-accent-green-text` | accent green text role extracted from the source design |
| accent yellow | `#b09000` | `--color-accent-yellow` | accent yellow role extracted from the source design |
| accent warning | `#ec7e00` | `--color-accent-warning` | accent warning role extracted from the source design |
| accent pink | `#e61e49` | `--color-accent-pink` | accent pink role extracted from the source design |
| accent danger | `#e23b4a` | `--color-accent-danger` | accent danger role extracted from the source design |
| accent deep red | `#8b0000` | `--color-accent-deep-red` | accent deep red role extracted from the source design |
| accent brown | `#936d62` | `--color-accent-brown` | accent brown role extracted from the source design |
| link | `#376cd5` | `--color-link` | link role extracted from the source design |
Tokens — Typography
Aeonik Pro · `--font-primary`
Inter · `--font-family-2`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-xxl | 136px | 1 | -2.72px | `--text-display-xxl` |
| display-xl | 80px | 1 | -0.8px | `--text-display-xl` |
| display-lg | 48px | 1.21 | -0.48px | `--text-display-lg` |
| display-md | 40px | 1.2 | -0.4px | `--text-display-md` |
| heading-lg | 32px | 1.19 | -0.32px | `--text-heading-lg` |
| heading-md | 24px | 1.33 | 0 | `--text-heading-md` |
| heading-sm | 20px | 1.4 | 0 | `--text-heading-sm` |
| body-lg | 18px | 1.56 | -0.09px | `--text-body-lg` |
| body-md | 16px | 1.5 | 0.24px | `--text-body-md` |
| body-md-bold | 16px | 1.5 | 0.16px | `--text-body-md-bold` |
| body-sm | 14px | 1.43 | 0 | `--text-body-sm` |
| button-lg | 20px | 1.4 | 0 | `--text-button-lg` |
| button-md | 16px | 1.5 | 0.24px | `--text-button-md` |
| button-sm | 14px | 1.43 | 0 | `--text-button-sm` |
| caption | 13px | 1.4 | 0 | `--text-caption` |
| link-emph | 16px | 1.5 | 0.24px | `--text-link-emph` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 6px | `--spacing-xs` |
| sm | 8px | `--spacing-sm` |
| md | 14px | `--spacing-md` |
| lg | 16px | `--spacing-lg` |
| xl | 24px | `--spacing-xl` |
| xxl | 32px | `--spacing-xxl` |
| xxxl | 48px | `--spacing-xxxl` |
| block | 80px | `--spacing-block` |
| section | 88px | `--spacing-section` |
| band | 120px | `--spacing-band` |
Border Radius
| Name | Value | Token |
|---|---|---|
| none | 0px | `--radius-none` |
| sm | 8px | `--radius-sm` |
| md | 12px | `--radius-md` |
| lg | 20px | `--radius-lg` |
| xl | 28px | `--radius-xl` |
| full | 9999px | `--radius-full` |
Layout
Components
button primary
**Role:** button primary component
button primary pressed
**Role:** button primary pressed component
button dark
**Role:** button dark component
button soft
**Role:** button soft component
button outline light
**Role:** button outline light component
button outline dark
**Role:** button outline dark component
button pill sm
**Role:** button pill sm component
text input
**Role:** text input component
hero band dark
**Role:** hero band dark component
hero band photo
**Role:** hero band photo component
feature card light
**Role:** feature card light component
feature card dark
**Role:** feature card dark component
plan card
**Role:** plan card component
plan card featured
**Role:** plan card featured component
product mockup
**Role:** product mockup component
download tile
**Role:** download tile component
badge tag
**Role:** badge tag component
badge feature
**Role:** badge feature component
nav bar
**Role:** nav bar component
sub nav pill
**Role:** sub nav pill component
footer
**Role:** footer component
Do's and Don'ts
Do
Don't
Layout
Use the documented spacing scale and component geometry as the implementation baseline. Validate responsive composition and current page rhythm against [the live source](https://www.revolut.com/).