Intercom
Intercom 以柔和奶油白画布、炭黑文字和明亮蓝色构建编辑式客户服务品牌,通过友好的几何字体、圆角内容模块和产品场景,让企业软件显得轻松易懂。

primary
#111111
--color-primary
on primary
#FFFFFF
--color-on-primary
ink
#111111
--color-ink
ink muted
#626260
--color-ink-muted
ink subtle
#7B7B78
--color-ink-subtle
ink tertiary
#9C9FA5
--color-ink-tertiary
canvas
#F5F1EC
--color-canvas
surface 1
#FFFFFF
--color-surface-1
surface 2
#EBE7E1
--color-surface-2
inverse canvas
#000000
--color-inverse-canvas
inverse surface 1
#313130
--color-inverse-surface-1
inverse ink
#FFFFFF
--color-inverse-ink
inverse ink muted
#9C9FA5
--color-inverse-ink-muted
hairline
#D3CEC6
--color-hairline
hairline soft
#EBE7E1
--color-hairline-soft
fin orange
#FF5600
--color-fin-orange
report orange
#FE4C02
--color-report-orange
report blue
#65B5FF
--color-report-blue
report green
#0BDF50
--color-report-green
report pink
#FF2067
--color-report-pink
report lime
#B3E01C
--color-report-lime
report cyan
#03B2CB
--color-report-cyan
brand blue
#0007CB
--color-brand-blue
semantic error
#C41C1C
--color-semantic-error
semantic success
#0BDF50
--color-semantic-success
字体家族
Saans / SaansMono
字重
备注
2 个字体家族,完整字阶、行高和字距见 DESIGN.md
品牌设计系统的完整 Markdown 文档
Intercom — Style Reference
> An editorial customer-service marketing canvas built around a soft cream-white ground, charcoal type set in Saans (Intercom's proprietary geometric sans), and a single confident Fin Orange (#ff5600) reserved for the Fin AI brand. Cards live as floating white tiles with thin hairline borders and minimal radii (8–16px). Display headlines run Saans at weight 500 with measured negative tracking. The system reads as a careful, product-led publication: product screenshots dominate, ornament is rare, and the only place chromatic energy enters is the Fin Orange CTA.
**Theme:** light
**Source website:** [https://www.intercom.com/](https://www.intercom.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 | `#111111` | `--color-primary` | primary role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| ink | `#111111` | `--color-ink` | ink role extracted from the source design |
| ink muted | `#626260` | `--color-ink-muted` | ink muted role extracted from the source design |
| ink subtle | `#7b7b78` | `--color-ink-subtle` | ink subtle role extracted from the source design |
| ink tertiary | `#9c9fa5` | `--color-ink-tertiary` | ink tertiary role extracted from the source design |
| canvas | `#f5f1ec` | `--color-canvas` | canvas role extracted from the source design |
| surface 1 | `#ffffff` | `--color-surface-1` | surface 1 role extracted from the source design |
| surface 2 | `#ebe7e1` | `--color-surface-2` | surface 2 role extracted from the source design |
| inverse canvas | `#000000` | `--color-inverse-canvas` | inverse canvas role extracted from the source design |
| inverse surface 1 | `#313130` | `--color-inverse-surface-1` | inverse surface 1 role extracted from the source design |
| inverse ink | `#ffffff` | `--color-inverse-ink` | inverse ink role extracted from the source design |
| inverse ink muted | `#9c9fa5` | `--color-inverse-ink-muted` | inverse ink muted role extracted from the source design |
| hairline | `#d3cec6` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#ebe7e1` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| fin orange | `#ff5600` | `--color-fin-orange` | fin orange role extracted from the source design |
| report orange | `#fe4c02` | `--color-report-orange` | report orange role extracted from the source design |
| report blue | `#65b5ff` | `--color-report-blue` | report blue role extracted from the source design |
| report green | `#0bdf50` | `--color-report-green` | report green role extracted from the source design |
| report pink | `#ff2067` | `--color-report-pink` | report pink role extracted from the source design |
| report lime | `#b3e01c` | `--color-report-lime` | report lime role extracted from the source design |
| report cyan | `#03b2cb` | `--color-report-cyan` | report cyan role extracted from the source design |
| brand blue | `#0007cb` | `--color-brand-blue` | brand blue role extracted from the source design |
| semantic error | `#c41c1c` | `--color-semantic-error` | semantic error role extracted from the source design |
| semantic success | `#0bdf50` | `--color-semantic-success` | semantic success role extracted from the source design |
Tokens — Typography
Saans · `--font-primary`
SaansMono · `--font-family-2`
Type Scale
| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-xl | 72px | 1.05 | -2.0px | `--text-display-xl` |
| display-lg | 56px | 1.1 | -1.4px | `--text-display-lg` |
| display-md | 40px | 1.15 | -0.8px | `--text-display-md` |
| headline | 28px | 1.2 | -0.5px | `--text-headline` |
| card-title | 22px | 1.25 | -0.3px | `--text-card-title` |
| subhead | 20px | 1.4 | -0.2px | `--text-subhead` |
| body-lg | 18px | 1.5 | -0.1px | `--text-body-lg` |
| body | 16px | 1.5 | 0 | `--text-body` |
| body-sm | 14px | 1.5 | 0 | `--text-body-sm` |
| caption | 12px | 1.4 | 0 | `--text-caption` |
| button | 15px | 1.2 | 0 | `--text-button` |
| eyebrow | 14px | 1.3 | 0 | `--text-eyebrow` |
| mono | 13px | 1.5 | 0 | `--text-mono` |
Tokens — Spacing & Shapes
**Density:** comfortable
Spacing Scale
| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| md | 16px | `--spacing-md` |
| lg | 24px | `--spacing-lg` |
| xl | 32px | `--spacing-xl` |
| xxl | 48px | `--spacing-xxl` |
| section | 96px | `--spacing-section` |
Border Radius
| Name | Value | Token |
|---|---|---|
| xs | 4px | `--radius-xs` |
| sm | 6px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 16px | `--radius-xl` |
| xxl | 24px | `--radius-xxl` |
| pill | 9999px | `--radius-pill` |
| full | 9999px | `--radius-full` |
Layout
Components
button primary
**Role:** button primary component
button primary pressed
**Role:** button primary pressed component
button secondary
**Role:** button secondary component
button tertiary
**Role:** button tertiary component
button fin
**Role:** button fin component
pricing card
**Role:** pricing card component
pricing card featured
**Role:** pricing card featured component
feature card
**Role:** feature card component
product mockup card
**Role:** product mockup card component
testimonial card
**Role:** testimonial card component
customer logo tile
**Role:** customer logo tile component
text input
**Role:** text input component
text input focused
**Role:** text input focused component
pricing tab default
**Role:** pricing tab default component
pricing tab selected
**Role:** pricing tab selected component
faq row
**Role:** faq row component
cta banner
**Role:** cta banner component
startup discount card
**Role:** startup discount card component
top nav
**Role:** top nav 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.intercom.com/).