DESIGN.md inspired by American Express
White-canvas premium-restraint membership UI — signature Amex Blue accent, near-black editorial type, concierge-tier hierarchy.
Compare to…
- bg
#ffffff - surface
#ffffff - text AAA · 12.6
#333333 - brand AA · 5.0
#006fcf - on-brand
#ffffff - border AAA · 21.0
#000000
- step-0 0px
- step-1 4px
- step-2 8px
- step-3 12px
- step-4 16px
- step-5 24px
- step-6 32px
- step-7 48px
- step-8 64px
- step-9 96px
- micro
2px - sm
4px - md
8px - lg
12px - xl
16px - pill
9999px
Maps the 8 canonical role names to this entry's actual tokens. Use these to plug the design into role-aware tools — shadcn/ui themes, role-aware Tailwind plugins, atelier-lint — without hard-coding token names.
- background → bg
- foreground → text
- primary → brand
- primary-foreground → on-brand
- accent → —
- muted → —
- border → border
- ring → —
American Express's digital design language draws from a deep well of mid-century corporate-finance heritage and the print-statement aesthetic of bank-issued documentation. The Amex Blue (`#006fcf`) signature is itself a successor to the Centurion-blue brand portrait that has appeared on cards since the 1960s. The structural grammar — white canvas, hairline rules, geometric sans, restrained accent — is descended from the Swiss school of corporate identity (Helvetica, Massimo Vignelli, Saul Bass) translated into a financial-services context. Editorial-page peers like The Wall Street Journal and the Financial Times share Amex's commitment to typographic discipline over chromatic noise. Peer-network issuers (Visa, Mastercard) and the issuer-tier competitor Chase Sapphire anchor the cross-brand context — Amex sits closer to Visa's blue-and-white restraint than to Mastercard's warm editorial cream, while the Sapphire product surface confirms that "premium card art presented large on white" is the issuer convention Amex helped define. The brand's membership-privileges voice descends from the Karl Malden "Don't leave home without it" era (1975–1994) — concierge-tier, slightly aspirational, never trendy.
- Network peer — confirms the blue-and-white restraint as the global card-network visual convention; Amex differentiates with a deeper, more saturated mid-blue
- Network peer — Amex rejects Mastercard's warm-cream editorial register in favour of pure white and a tighter chromatic budget
- Issuer peer — Chase Sapphire's premium card-portrait-on-white surface is the closest contemporary analogue to Amex's product-card grid
- Editorial reference for typographic hierarchy and hairline-rule structure on white
- Type-family lineage — the Helvetica Neue-class system Amex specifies traces directly to Max Miedinger's 1957 Neue Haas Grotesk
- Mid-century discipline of one strong colour + one typeface + ruthless restraint — the parent grammar of the entire issuer-bank category
theme.extend block for tailwind.config.js
:root { --bg, --text, --brand, … } you can paste anywhere
W3C Design Tokens Community Group format
Importable into Figma → Variables → Import
---
name: American Express
tagline: White-canvas premium-restraint membership UI — signature Amex Blue accent, near-black editorial type, concierge-tier hierarchy.
updated_at: 2026-05-27T23:16:23.760Z
published_at: 2026-05-27T23:16:23.760Z
author: webdesignhot
source_url: https://www.americanexpress.com
spec: webdesignhot/0.1
quality: auto
featured: false
categories: [saas]
tags: [light, structured, sans, fintech, premium]
preview_swatch: ['#ffffff', '#006fcf', '#333333']
related: []
description: 'American Express''s digital surface reads like a 170-year-old financial institution that has chosen restraint over spectacle. The canvas is pure white (`#ffffff`) — not warm, not putty — because Amex wants the page to feel like a printed cardholder statement rather than an editorial magazine. Against that white, a single high-saturation accent — Amex Blue (`#006fcf`) — does all the chromatic work, appearing on primary CTAs, key links, and the centurion-blue card products. Type is set in a Helvetica Neue-class geometric sans at near-black (`#333333`) rather than pure black, lending the body copy a softness that pure `#000` would refuse. The product surface revolves around card portraiture: Platinum, Gold, and Green Card art presented at generous size, framed with the same hairline borders that suggest a banker''s ledger. The voice is membership-tier (concierge, privileges, benefits) — the page never says "sign up", it says "apply" or "become a Card Member". This is the visual grammar of a brand that built its premium signal across seven decades of "Don''t leave home without it" and now translates that authority into a calm, structured, blue-and-white web product surface.'
# Canonical 8-role aliases (bg / text / brand / border / accent / muted / surface / danger).
# Maps role names to this entry's actual token names so role-aware
# downstream tools resolve `theme.background` → entry's `bg`, etc.
# Auto-generated by scripts/add-aliases.mjs — do not edit manually;
# regenerate after changing color token names.
aliases:
background: bg
foreground: text
primary: brand
primary-foreground: on-brand
border: border
colors:
bg: '#ffffff'
surface: '#ffffff'
text: '#333333'
brand: '#006fcf'
on-brand: '#ffffff'
border: '#000000'
typography:
display:
family: '"Helvetica Neue", system-ui, -apple-system, sans-serif'
weights: [500, 600, 700]
body:
family: '"Helvetica Neue", system-ui, -apple-system, sans-serif'
weights: [400, 500, 600]
mono:
family: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'
weights: [400, 500]
scale:
display-hero: { size: 80, weight: 700, lineHeight: 1.0, tracking: '-0.03em', family: display }
display-lg: { size: 56, weight: 700, lineHeight: 1.05, tracking: '-0.02em', family: display }
h1: { size: 40, weight: 700, lineHeight: 1.1, tracking: '-0.018em', family: display }
h2: { size: 32, weight: 600, lineHeight: 1.2, tracking: '-0.012em', family: display }
h3: { size: 24, weight: 600, lineHeight: 1.25, tracking: '-0.005em', family: display }
h4: { size: 20, weight: 600, lineHeight: 1.3, tracking: '0', family: body }
body-lg: { size: 18, weight: 400, lineHeight: 1.55, tracking: '0', family: body }
body: { size: 16, weight: 400, lineHeight: 1.55, tracking: '0', family: body }
body-sm: { size: 14, weight: 400, lineHeight: 1.5, tracking: '0', family: body }
label: { size: 13, weight: 500, lineHeight: 1.4, tracking: '0', family: body }
caption: { size: 12, weight: 500, lineHeight: 1.4, tracking: '0.02em', family: body }
radius:
micro: 2
sm: 4
md: 8
lg: 12
xl: 16
pill: 9999
spacing:
base: 4
scale: [0, 4, 8, 12, 16, 24, 32, 48, 64, 96]
layout:
page-width: 1280
prose-width: 720
header-height: 64
motion:
ease-standard: 'cubic-bezier(0.4, 0, 0.2, 1)'
duration-fast: 150
duration-standard: 240
duration-slow: 320
reduced-motion: 'respects prefers-reduced-motion: reduce'
breakpoints:
mobile: 640
tablet: 1024
desktop: 1280
wide: 1536
components:
button-primary: { bg: brand, text: on-brand, padding: '10px 16px', radius: 8 }
button-ghost: { bg: transparent, text: text, border: border, padding: '10px 16px', radius: 8 }
card: { bg: surface, border: border, radius: 12, padding: 24 }
input: { bg: bg, border: border, text: text, radius: 8, padding: '8px 12px' }
lineage:
summary: 'American Express''s digital design language draws from a deep well of mid-century corporate-finance heritage and the print-statement aesthetic of bank-issued documentation. The Amex Blue (`#006fcf`) signature is itself a successor to the Centurion-blue brand portrait that has appeared on cards since the 1960s. The structural grammar — white canvas, hairline rules, geometric sans, restrained accent — is descended from the Swiss school of corporate identity (Helvetica, Massimo Vignelli, Saul Bass) translated into a financial-services context. Editorial-page peers like The Wall Street Journal and the Financial Times share Amex''s commitment to typographic discipline over chromatic noise. Peer-network issuers (Visa, Mastercard) and the issuer-tier competitor Chase Sapphire anchor the cross-brand context — Amex sits closer to Visa''s blue-and-white restraint than to Mastercard''s warm editorial cream, while the Sapphire product surface confirms that "premium card art presented large on white" is the issuer convention Amex helped define. The brand''s membership-privileges voice descends from the Karl Malden "Don''t leave home without it" era (1975–1994) — concierge-tier, slightly aspirational, never trendy.'
influences:
- { name: 'Visa', role: 'Network peer — confirms the blue-and-white restraint as the global card-network visual convention; Amex differentiates with a deeper, more saturated mid-blue', url: 'https://www.visa.com' }
- { name: 'Mastercard', role: 'Network peer — Amex rejects Mastercard''s warm-cream editorial register in favour of pure white and a tighter chromatic budget', url: 'https://www.mastercard.com' }
- { name: 'Chase', role: 'Issuer peer — Chase Sapphire''s premium card-portrait-on-white surface is the closest contemporary analogue to Amex''s product-card grid', url: 'https://www.chase.com' }
- { name: 'The Wall Street Journal', role: 'Editorial reference for typographic hierarchy and hairline-rule structure on white', url: 'https://www.wsj.com' }
- { name: 'Helvetica Now', role: 'Type-family lineage — the Helvetica Neue-class system Amex specifies traces directly to Max Miedinger''s 1957 Neue Haas Grotesk', url: 'https://www.monotype.com/fonts/helvetica-now' }
- { name: 'Saul Bass corporate identity work', role: 'Mid-century discipline of one strong colour + one typeface + ruthless restraint — the parent grammar of the entire issuer-bank category', url: 'https://www.aiga.org/design-journeys-saul-bass' }
---
## 1. Visual Theme & Atmosphere
American Express's digital surface reads like a 170-year-old financial institution that has chosen restraint over spectacle. The canvas is **pure white** (`#ffffff`) — not the warm putty-cream Mastercard prefers, not the soft off-white Visa drifts toward, but the unambiguous white of a printed cardholder statement. The page wants to feel like documentation from a private bank: clean, structured, slightly formal, never decorative. Against that white canvas, a single high-saturation accent — **Amex Blue** (`#006fcf`) — does almost all of the chromatic work, appearing on primary CTAs, key text links, the dot above the "i" in legacy logo treatments, and as the literal portrait colour of the Centurion-blue card products that sit at the centre of the marketing surface.
The dominant gesture is **product-as-portrait**. Card artwork (Platinum, Gold, Green, Centurion) is rendered at generous size, sometimes occupying half the viewport, framed by hairline rules or set on a generous white margin. Where Mastercard masks its imagery into perfect circles, Amex preserves the rectangular card-aspect-ratio (~1.59:1, the ISO/IEC 7810 ID-1 ratio) because the product itself is the rectangle. The card art is the brand — every visual choice on the page exists to set the card off rather than compete with it. This is why backgrounds default to white, why type is set in a geometric sans rather than a display serif, and why the only saturated colour in the chrome is the blue that already exists on the card itself.
Typography is a Helvetica Neue-class geometric sans, rendered at **`#333333`** rather than pure black — a softness that signals editorial care rather than maximum contrast. Headlines run at 600/700 weight with tight negative tracking (-1.8% to -3%), giving display text a confident density without shouting. Body copy holds at 16/400 with 1.55 line-height — comfortable, magazine-like, never cramped. The hierarchy is more aggressive than Mastercard's (an 80px display vs. Mastercard's 64px H1) because Amex headlines often carry membership-tier language ("The Platinum Card®", "Membership Has Its Privileges") that benefits from editorial scale.
The voice and chromatic budget are the brand's deepest commitments. Where SaaS-class fintechs (Stripe, Plaid) use rainbow gradients and where Mastercard uses cream-and-rust editorial warmth, Amex holds to **white + Amex Blue + near-black + a single grey ramp**, full stop. The chromatic restraint is itself the premium signal — it says "we don't need to decorate to be valuable." The membership-tier voice ("Card Member", "apply", "earn", "privileges") completes the picture: this is the visual grammar of a 1975 Karl Malden ad campaign ("Don't leave home without it") translated through six decades of brand discipline into a calm, structured, blue-and-white digital product surface that any cardholder would immediately recognize as Amex without needing to see the logo.
**Key Characteristics:**
- Pure white canvas (`#ffffff`) — never warmed, never tinted — a deliberate rejection of editorial-cream warmth
- Amex Blue (`#006fcf`) as the sole saturated UI colour, used on primary CTA, key links, and as the literal card-product portrait colour
- Near-black body type (`#333333`) — editorial softness, never `#000`
- Helvetica Neue-class geometric sans, single family across all hierarchy levels
- Card-as-portrait: rectangular ID-1 aspect-ratio card art presented at large scale with generous white margin
- Hairline 1px rules over shadows for delineation — bank-ledger structural language
- Membership-tier voice: "Card Member", "apply", "earn", "privileges" — never "sign up" or "get started"
- Three card-product family signal: Platinum (silver-metal portrait), Gold (champagne-metal portrait), Green (forest-green legacy portrait), with the Centurion Card as the apex
- Conservative radius scale (4–16px) — no oversized pill gestures, no extreme stadium frames
- Restrained motion: no scroll-jacking, no parallax-heavy heroes, no auto-playing video over content
- A single grey ramp (white → near-black) carries the entire neutral hierarchy
## 2. Color Palette & Roles
### Primary
- **Amex Blue** (`#006fcf`): the signature mid-blue used on primary CTAs, key text links, focus rings, and as the brand-portrait colour of legacy Amex card products. This is the load-bearing brand colour — used sparingly but always at full saturation
- **White** (`#ffffff`): the page canvas. Pure, untinted, the unambiguous default body background. Replacing this with off-white or cream breaks the Amex visual contract
### Brand & Dark
- **Near-Black Ink** (`#333333`): primary body and heading text colour. Slightly softer than pure black, gives prose an editorial readability that `#000` denies
- **Centurion Blue** (deep navy variant): the literal card-portrait colour of legacy Amex Blue Box and Centurion products — appears in product photography, not as a UI colour
- **Statement Black** (`#000000`): reserved for hairline borders, the wordmark, and the highest-contrast text states (e.g., the centurion product page header)
### Accent
- **Amex Blue** (`#006fcf`) is the only true UI accent. Amex does not maintain a secondary or tertiary accent — the brand's restraint is structural
### Surface & Background
- **Canvas White** (`#ffffff`): default page background, default card surface, default modal surface
- **Surface Soft Gray** (`#f7f8f9` or similar): occasional alternate surface for nested sections, comparison tables, or footer band — used sparingly and always cool-toned (never warm)
- **Surface Border Gray** (`#e6e6e6` or similar): the visual rule that separates table rows, card-product comparison cells, and footer column dividers
### Interactive
- **Link Default**: Amex Blue (`#006fcf`) — underlined on hover, no underline at rest in most marketing contexts
- **Link Hover**: slightly darker blue or underline-only treatment
- **Link Visited**: rarely styled — the brand suppresses visited state to preserve editorial uniformity
### Neutral Scale
- **`#000000`** — wordmark, hairline borders, occasional max-contrast text
- **`#333333`** — primary body text (the load-bearing text colour)
- **`#666666`** — secondary muted text, eyebrow labels, table secondary cells
- **`#999999`** — disabled text, placeholder text in inputs
- **`#cccccc`** — borders inside form inputs, soft dividers
- **`#e6e6e6`** — table row separators, footer column dividers
- **`#f7f8f9`** — alternate surface for nested sections (used very sparingly)
- **`#ffffff`** — canvas
### Surface & Borders
- **Border default**: `#000000` at 1px or `#e6e6e6` at 1px depending on context (form inputs use black; table rules use gray)
- **Border focus**: Amex Blue (`#006fcf`) at 2px ring
- **Border disabled**: `#cccccc` at 1px
### Shadow Colors
American Express uses shadows sparingly. The brand prefers **hairline borders over shadow elevation** — a 1px black or gray rule defines the boundary of a card product or input field, not a soft drop shadow. When shadows do appear, they are subtle: a 4–8px blur at ~8% opacity beneath a card-product hover state, never the dramatic 48px+ atmospheric halos Mastercard uses.
### Semantic
- **Success Green** (`#008767` or similar): rare confirmation states — "Application Submitted", "Card Activated"
- **Warning Amber** (`#b35900` or similar): rate-change notifications, advisory banners
- **Error Red** (`#b21f1f` or similar): form validation errors, payment failures
- **Info Blue**: reuses Amex Blue (`#006fcf`) — informational banners and tooltips
### Gradient System
Amex uses gradients in exactly one place: the **metallic card-portrait artwork** itself (Platinum's silver-to-pewter, Gold's champagne-to-bronze). The chrome UI never uses gradients — backgrounds are solid white, buttons are solid Amex Blue, dividers are solid hairlines. Importing a programmatic CSS gradient into the UI surface would visibly break the brand.
## 3. Typography Rules
### Font Family
- **Primary**: `"Helvetica Neue"` — the geometric sans Amex specifies for all hierarchy levels
- **Fallback stack**: `system-ui, -apple-system, sans-serif` — Apple's system stack as the safe fallback (which on macOS resolves to SF Pro, on Windows to Segoe UI)
- **Brand-licensed alternative**: Amex Sans is the proprietary cut used inside Amex-authored creative; on the public web the Helvetica Neue family is the practical default
### Hierarchy
| Role | Size | Weight | Line Height | Letter Spacing | Notes |
|------|------|--------|-------------|----------------|-------|
| Display hero | 80 | 700 | 1.0 (80px) | -0.03em (-3%) | Reserved for primary marketing pages — "The Platinum Card®", concierge campaign headlines |
| Display large | 56 | 700 | 1.05 (~59px) | -0.02em (-2%) | Secondary hero size — product category landing pages |
| H1 | 40 | 700 | 1.1 (44px) | -0.018em (-1.8%) | Top-of-page headline on standard content surfaces |
| H2 | 32 | 600 | 1.2 (~38px) | -0.012em (-1.2%) | Section headings |
| H3 | 24 | 600 | 1.25 (30px) | -0.005em (-0.5%) | Subsection / card-product titles |
| H4 | 20 | 600 | 1.3 (26px) | 0 | Inline section labels, table column headers |
| Body large | 18 | 400 | 1.55 (~28px) | 0 | Lead paragraphs, hero supporting copy |
| Body | 16 | 400 | 1.55 (~25px) | 0 | Default reading size — the load-bearing prose stop |
| Body small | 14 | 400 | 1.5 (21px) | 0 | Secondary body, table cells, helper text |
| Label | 13 | 500 | 1.4 (~18px) | 0 | Form labels, eyebrow micro-titles, badge text |
| Caption | 12 | 500 | 1.4 (~17px) | 0.02em (+2%) | Legal small-print, disclaimer copy, footer micro-copy |
### Principles
- **Weight discipline.** Use 400 for body, 500 for labels, 600 for subheads, 700 for displays. The system stops at 700 — Amex does not use 800/900 weights. The restraint preserves the editorial tone
- **Tight negative tracking on display sizes** (-1.2% to -3%) gives Amex headlines their confident density. Don't loosen this — it makes the page look generic
- **Near-black body** (`#333333`) — not pure black. The single most overlooked detail when reproducing the brand
- **Single typeface.** Resist the urge to introduce a serif accent for "premium". Amex's premium signal comes from restraint, not from typeface variety
- **1.55 line-height on body copy** — generous, magazine-like. Drop to 1.4–1.5 only on table cells and labels
- **No uppercase as a styling device.** Amex doesn't use uppercase tracking on section labels (in contrast to Mastercard's eyebrow). Section labels are sentence-case or title-case
- **Display sizes carry tightest tracking; body has none.** The tracking ramp inverts the size ramp — bigger sizes get tighter, body sits at 0
- **Use the Helvetica fallback honestly.** When Helvetica Neue isn't available, the system stack (SF Pro on macOS, Segoe UI on Windows) is a reasonable substitute. Don't introduce a third typeface to bridge the gap
### Note on Font Substitutes
Amex Sans and Helvetica Neue are both licensed/system-tier. When rebuilding without access:
- **Inter** at 400/500/600/700 works as a generic substitute; slightly taller x-height
- **Neue Haas Grotesk** is the direct lineage ancestor and pixel-perfect substitute when licensed
- **Helvetica Now** (Monotype's 2019 modernization) is the closest open-licensed match
- Preserve the **-1.2% to -3% tracking on displays** and **`#333333` body colour** — these are the load-bearing details
## 4. Component Stylings
### Buttons
**`button-primary`** — Amex Blue solid CTA
- Background: Amex Blue (`#006fcf`)
- Text: White (`#ffffff`) — pure white, not off-white
- Border: 0
- Radius: 8px (the system's md radius)
- Padding: 10px 16px (compact) or 12px 24px (comfortable)
- Font: Helvetica Neue 16/500
- Default: solid Amex Blue rectangle with crisp 8px corners
- Hover: slightly darker blue (`#005a9e` or similar) with no transform
- Active: subtle inward press, no scale gimmick
- Use: all primary marketing CTAs — "Apply Now", "Learn More", "Compare Cards"
**`button-ghost`** — Outlined secondary
- Background: transparent
- Text: Near-Black (`#333333`) or Amex Blue (`#006fcf`)
- Border: 1px solid `#000000` (or `#006fcf` for blue-text variant)
- Radius: 8px
- Padding: 10px 16px
- Font: Helvetica Neue 16/500
- Use: secondary actions paired with primary, or standalone utility actions
**`button-text-link`** — Inline link-style action
- Background: transparent
- Text: Amex Blue (`#006fcf`)
- Border: 0; underline appears on hover or sustained focus
- Padding: 0 (inline) or 8px 0 (block)
- Use: tertiary navigation, "View Details", "Compare", inline help links
**`button-large-cta`** — Hero-scale primary
- Background: Amex Blue (`#006fcf`)
- Text: White
- Radius: 8px (unchanged — Amex does not use larger radii for larger buttons)
- Padding: 16px 32px
- Font: Helvetica Neue 18/500
- Use: hero application CTAs, card-product apply buttons. Visually identical to button-primary but proportionally larger
### Cards & Containers
**`card-product`** — Card-art product tile (the core marketing surface)
- Background: White (`#ffffff`)
- Border: 1px solid `#e6e6e6` (hairline gray)
- Radius: 12px (lg)
- Padding: 24px
- Content: card-art image (ID-1 aspect ratio, ~340×215px on desktop) at top, product name in H3, benefit list in body-sm, primary CTA at bottom
- Shadow: none at rest; very subtle 0 4px 12px rgba(0,0,0,0.06) on hover
- Use: card-product grid (Platinum, Gold, Green, Business, Centurion, etc.)
**`card-feature`** — Benefit/feature explanation tile
- Background: White or `#f7f8f9` (alternate)
- Border: 1px solid `#e6e6e6` or none on alternate-surface variant
- Radius: 12px
- Padding: 24px
- Content: icon (24px Amex Blue line-icon) at top, H4 title, body-sm description
- Use: 3- or 4-up benefit grid below hero ("Concierge", "Travel", "Rewards", "Protection")
**`card-comparison`** — Side-by-side card comparison
- Background: White
- Border: 1px solid `#e6e6e6` per cell; cells share borders at intersections
- Radius: 0 (table-style; the outer container may carry 12px)
- Content: card-art header row, then alternating benefit rows
- Use: "Compare Cards" page — visually a styled table, structurally a grid
### Badges, Tags, Pills
**`badge-default`** — informational pill
- Background: `#f7f8f9`
- Text: `#333333`
- Border: 0
- Radius: 9999 (pill) or 4px (rectangle)
- Padding: 4px 10px
- Font: 13/500
- Use: "New", "Featured", category tags
**`badge-promo`** — limited-time / earned-rewards
- Background: Amex Blue (`#006fcf`)
- Text: White
- Use: "Limited Offer", "Bonus Points"
### Inputs & Forms
**`input-text`** — single-line text input
- Background: White (`#ffffff`)
- Text: `#333333`
- Border: 1px solid `#000000` (Amex uses high-contrast black input borders, not gray)
- Radius: 8px
- Padding: 8px 12px (compact) or 10px 14px (comfortable)
- Font: 16/400 (16px to prevent iOS zoom on focus)
- Focus: 2px Amex Blue outline ring
- Error: 1px solid `#b21f1f` border, helper text in same red below field
- Use: application forms, account login, support contact
**`input-select`** — dropdown
- Identical to input-text plus a downward chevron icon, right-aligned
- Native `<select>` styled to match the visual treatment
**`input-checkbox` / `input-radio`** — selection controls
- Default: 1px black border, transparent fill
- Checked: Amex Blue (`#006fcf`) fill with white checkmark/dot
- Size: 18×18px minimum
### Navigation
**Top navigation bar**
- Background: White (`#ffffff`)
- Border-bottom: 1px solid `#e6e6e6`
- Height: 64px (the system's header-height token)
- Content: Amex Blue Box logo (left), primary links centered, "Log In" + "Apply" actions right
- Link style: `#333333` at 16/500, no underline at rest, Amex Blue on hover
- Use: persistent global nav across all marketing surfaces
**Sub-navigation / Tab navigation**
- Background: White
- Border-bottom: 1px solid `#e6e6e6`
- Active tab: 2px Amex Blue underline below tab label
- Tab label: 16/500, 12px vertical / 16px horizontal padding
- Use: product category pages, account-management sub-sections
**Mobile navigation**
- Hamburger menu icon (left), Amex logo (center), profile/login icon (right)
- Opens into full-screen overlay with primary links stacked vertically
- Background: White; Amex Blue accent on active state
## 5. Layout Principles
### Spacing System
- **Base unit**: 4px (the canonical fintech base — divisible into the 16px body grid)
- **Scale**: 0 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 (the powers-of-4 progression)
- **Section vertical padding**: ~64–96px between major sections on desktop; ~32–48px on mobile
- **Card internal padding**: 24px on desktop, 16px on mobile
- **Form field spacing**: 16px between fields, 24px between field groups
### Grid & Container
- **Max content width**: 1280px (the page-width token) centered, with 24–48px horizontal gutter
- **Prose max width**: 720px — reading-comfort cap for long-form content (terms, help articles)
- **Column patterns**:
- 12-column implied grid for marketing layouts
- 3-up card-product grid on desktop, 2-up tablet, 1-up mobile
- 4-up benefit grid on desktop, 2-up tablet, 1-up mobile
- 2-column hero (headline left, supporting copy or card art right) on desktop
### Whitespace Philosophy
Amex treats whitespace as **structural premium signal**. Card-product portraits are surrounded by generous white margin (often 64–96px on desktop) so the product photo can breathe. The brand believes that crowding the card art with adjacent copy diminishes its premium signal — the empty space is the message. This is the opposite of dashboard-class UI, which packs the viewport.
### Section Cadence
The standard amex.com card-product page scroll pattern:
1. Top navigation bar (sticky on scroll)
2. Hero with H1 headline + card-art portrait (2-column)
3. Benefit grid (4-up icon tiles)
4. Rewards / earning structure explanation (2-up alternating image-text)
5. Comparison table or "View all cards" CTA
6. Apply CTA section (centered headline + primary button)
7. Footer (multi-column link grid on near-black or white surface)
## 6. Shapes & Radius Scale
| Tier | Radius | Use |
|------|--------|-----|
| Micro | 2px | Inline tags, checkbox/radio corners |
| Standard (sm) | 4px | Form micro-elements, table cells, badge corners |
| Comfortable (md) | 8px | Buttons (primary, ghost, large), input fields — the system's load-bearing button radius |
| Relaxed (lg) | 12px | Card-product tiles, feature cards, modal corners |
| Large (xl) | 16px | Hero containers, oversized feature panels |
| Pill | 9999px | Promo badges, status pills — used sparingly |
The Amex radius scale is **conservatively progressive**. Unlike Mastercard's "skip the middle" approach (jumping from 6 to 20 to 999), Amex moves through every step: 2, 4, 8, 12, 16, pill. The progression mirrors a bank-form-builder's expectation — each interactive element gets a calm, slightly-rounded corner, with no oversized stadium gestures and no flat 0-radius elements (except the page itself and table cells in dense data).
## 7. Depth & Elevation
| Level | Treatment | Use |
|-------|-----------|-----|
| 0 | No shadow, no border | Page canvas, default text |
| 0.5 | 1px hairline border (`#e6e6e6` or `#000000`) | Card products, input fields, table rules — the system's preferred delineation |
| 1 | `0 2px 4px rgba(0,0,0,0.04)` | Sticky header on scroll — barely visible |
| 2 | `0 4px 12px rgba(0,0,0,0.06)` | Card-product hover state, dropdown menus |
| 3 | `0 8px 24px rgba(0,0,0,0.10)` | Modal dialogs, overlay menus |
### Shadow Philosophy
American Express prefers **hairline borders over shadow elevation**. The single most distinctive trait of the system is that a card product at rest has no shadow — only a 1px gray border. Hover state introduces a barely-visible shadow (4% opacity) without any transform. This is a bank-statement-document aesthetic: things are delineated by lines, not by light. The decision is intentional — soft shadows would import a SaaS-class softness that the brand rejects.
### Decorative Depth
- **Card-art photography** carries its own metallic gradient (Platinum's silver, Gold's champagne) — this is the only decorative depth in the system
- **Sticky header shadow** on scroll provides the only ambient elevation cue
- **Modal scrims** use a subtle `rgba(0,0,0,0.4)` backdrop to focus attention without darkening the entire page
## 8. Interaction & Motion
### Easing Curves
- **Standard**: `cubic-bezier(0.4, 0, 0.2, 1)` — the Material-standard ease for nearly all transitions
- The brand does not maintain a separate "emphasized" or "expressive" curve — the standard easing covers the entire motion budget
### Duration Buckets
- **Fast** (150ms): button hover colour shifts, link underline appearance
- **Standard** (240ms): card hover shadow lift, dropdown menu open
- **Slow** (320ms): modal dialog open, drawer slide-in
- The brand does not use cinematic durations (600ms+) — motion is functional, never theatrical
### Per-Component Motion
**Primary button**
- Hover: background colour shifts from `#006fcf` → `#005a9e` over 150ms
- Active: no scale, no rotation — Amex resists button "press" gimmicks
- Focus: 2px Amex Blue outline ring appears instantly (no transition)
**Card-product tile**
- Hover: shadow fades in from 0 → `0 4px 12px rgba(0,0,0,0.06)` over 240ms
- No transform, no scale, no rotation — the card stays put
**Top navigation**
- On scroll past 64px: subtle drop shadow fades in over 150ms; navigation height stays at 64px
- Mobile menu: 320ms slide-in from right with `cubic-bezier(0.4, 0, 0.2, 1)` ease
**Dropdown menus**
- Open: 240ms fade + 8px translate-up combo
- Close: 150ms fade-out
### Page Transitions
- Standard browser-default page transitions (no SPA-style fade or slide)
- Skeleton loaders for data-dense surfaces (account dashboard, transaction list)
### Reduced Motion Strategy
`@media (prefers-reduced-motion: reduce)`:
- All shadow transitions become instant
- All translate-based animations become opacity-only fades over 100ms
- Modal open/close becomes instant
- Skeleton loaders remain (they aid comprehension, not decoration)
## 9. Accessibility & A11y
### Contrast Pairs
| Pair | Approximate Ratio | WCAG Level |
|------|-------------------|------------|
| `#333333` text on `#ffffff` bg | 12.6:1 | AAA |
| `#ffffff` text on `#006fcf` Amex Blue button | 4.7:1 | AA at body, AAA at large |
| `#006fcf` link on `#ffffff` bg | 4.6:1 | AA at body |
| `#666666` muted on `#ffffff` bg | 5.7:1 | AA at body |
| `#999999` disabled on `#ffffff` bg | 2.85:1 | Fails for body, allowed only as disabled state visual |
| `#333333` text on `#f7f8f9` alt-surface | 12.0:1 | AAA |
### Focus Indicators
- 2px Amex Blue (`#006fcf`) outline ring with 2px outline-offset
- Applied to all focusable elements: nav links, buttons, form fields, card-product tiles, footer links
- The ring colour uses Amex Blue rather than browser-default blue, maintaining chromatic consistency
### ARIA Patterns
- Card-product tiles use `role="link"` with descriptive `aria-label` (e.g., "Apply for The Platinum Card from American Express")
- Dropdown menus follow the ARIA combobox or menu pattern depending on whether they accept input
- Form fields use explicit `<label for="">` associations; placeholder text never substitutes for a label
- Modal dialogs use `role="dialog"` with `aria-modal="true"` and focus-trap
- Card-art images carry meaningful `alt` text (e.g., "The Platinum Card from American Express, metal finish")
- Decorative card-art photography on landing hero uses `alt=""` when the product name is announced separately
### Keyboard Navigation
- Tab cycles: skip-link → top nav (left → center → right) → hero CTA → benefit cards → comparison cards → apply CTA → footer columns
- Skip-link present at very top: "Skip to main content"
- Esc closes modal dialogs and mobile menu overlay
- Arrow keys navigate within tab navigation and dropdown menus
- Enter/Space activates buttons and links
### Screen Reader Hints
- Card-product images supply alt text describing the physical card (finish, primary colour, product name)
- Form errors are announced via `aria-live="polite"` region
- Loading states announce "Loading account information" rather than silent skeleton placeholders
- Currency values use locale-aware formatting and are announced as natural language ("twelve thousand five hundred dollars" via aria-label override when context demands it)
### Reduced Motion Handling
Detailed in §8. The system respects `prefers-reduced-motion: reduce` and converts translate-based animations to opacity-only fades.
## 10. Responsive Behavior
### Breakpoints
| Name | Width | Key Changes |
|------|-------|-------------|
| Mobile | ≤640px | Hamburger menu replaces full nav; hero stacks vertically (headline above card art); card-product grid becomes 1-up; benefit grid becomes 1-up; display-hero drops from 80 → ~44px; padding compresses to 16–24px |
| Tablet | 641–1024px | Hamburger or condensed nav depending on context; card-product grid 2-up; benefit grid 2-up; hero stays 2-column at slightly reduced scale |
| Desktop | 1025–1280px | Full nav with all primary links; card-product grid 3-up; benefit grid 4-up; hero 2-column at full scale |
| Wide | ≥1281px | Content max-width caps at 1280px; gutters grow symmetrically; card-art photography may grow up to ~400px on display-hero pages |
### Touch Targets
All interactive elements meet or exceed the 44×44px minimum. Buttons at 10px padding produce ~40–44px height — at 16px-class body type this lands at exactly 44px. Form fields are 40px+ tall. Card-product tiles are entire tappable surfaces (typically 300px+ wide × 400px+ tall on mobile).
### Collapsing Strategy
- **Top nav**: full horizontal → hamburger overlay. The Amex Blue Box logo remains visible at all breakpoints
- **Hero**: 2-column (headline + card art) → stacked (headline above card art)
- **Card-product grid**: 3-up → 2-up → 1-up
- **Benefit grid**: 4-up → 2-up → 1-up
- **Comparison table**: horizontal scroll on mobile (preserves cell alignment) rather than collapsing to vertical
- **Footer**: 4–6 columns → accordion with chevron toggles per section on mobile
### Image Behavior
Card-art portraits scale proportionally, maintaining the ID-1 aspect ratio at every breakpoint. Photography uses `srcset` with at minimum 1x and 2x density, plus breakpoint-specific widths. Lazy loading is standard with a low-priority blur-up placeholder for below-fold imagery; hero card-art is eager-loaded.
## 11. Content & Voice
### Tone
The voice is **premium-membership concierge**. Amex writes like a private bank that has decided to publish a magazine — formal, slightly aspirational, never trendy, never excited. The brand voice is the calm of a six-decade trusted institution translated into prose: confident, considered, never apologetic.
### Microcopy Patterns
- **Button verbs**: "Apply Now", "Learn More", "Compare Cards", "Sign In", "View Benefits", "Earn Rewards" — institutional and membership-tier, never "Get Started" or "Sign Up Free"
- **Headline structure**: editorial declarations centered on membership value ("The Platinum Card. Engineered for the way you live.", "Membership Has Its Privileges")
- **Body copy**: confident assertions backed by specific benefit data; medium sentences with editorial cadence; product names always carry the ® and "from American Express" suffix in formal contexts
- **Error messages**: "We weren't able to complete your request. Please try again or call Customer Service at 1-800-XXX-XXXX." — calm, includes a path to human help
- **Success confirmations**: "Your application has been submitted. A decision will be available within minutes." — terse, professional, sets a clear expectation
### Empty States
Empty content blocks say "No transactions to display" rather than "Nothing here yet!" — the brand never breaks character with playful empty-state copy. Empty states often include a soft CTA to take a meaningful next step ("Make your first purchase to start earning rewards").
### CTA Verb Conventions
American Express uses institutional and membership-tier verbs:
- Apply Now
- Learn More
- Compare Cards
- View Benefits
- Sign In
- Become a Card Member
- Earn Rewards
- Redeem Points
It does *not* use:
- Get Started (too SaaS-y)
- Sign Up Free (too trial-product)
- Try Now (too aggressive)
- Join! (too excited; punctuation rejected)
- Buy Now (Amex never "sells" — Cards are "issued")
## 12. Dark Mode & Theming
**American Express is light-only — no dark mode variant on the public marketing surface.** The brand commits to pure white canvas as its primary surface because that white is the printed-statement aesthetic the institution is built around. Dark mode would invert the bank-document grammar that defines the brand.
The authenticated cardholder dashboard may carry a system-preference dark mode for accessibility, but the marketing surface — the card-product pages, the application flow, the membership-rewards portal — holds to white-canvas light.
### Theming Notes for Derivatives
If you are adapting this system for a brand that needs a true dark mode:
- Swap `#ffffff` canvas → `#0d1b2a` (deep navy — preserves the financial-services register; pure black would feel too SaaS)
- Swap `#333333` text → `#e6e6e6` (off-white text on deep navy)
- Swap `#e6e6e6` borders → `#1f2c3d` (slightly lifted navy)
- Amex Blue (`#006fcf`) holds — it reads well on both white and deep navy. Increase saturation to `#1a85d8` if needed for AA contrast on the new dark canvas
- Card-art photography: shift card portraits to their metal/dark variants (Platinum metal stays; Centurion's black-on-black becomes a defining product portrait)
## 13. Lineage & Influences
American Express's design language draws from:
- **Mid-century corporate-finance heritage** — the bank-statement aesthetic of paper cardholder bills, the engraving-quality of the Centurion portrait that has anchored the brand since the 1960s
- **The Swiss school of corporate identity** — Helvetica, Massimo Vignelli, Saul Bass — translated into a financial-services context. The discipline of one strong colour + one typeface + ruthless restraint
- **Editorial print design** (The Wall Street Journal, Financial Times) — typographic hierarchy and hairline-rule structure on white; restraint as the premium signal
- **The Karl Malden "Don't leave home without it" campaigns (1975–1994)** — concierge-tier voice, slightly aspirational, corporate-formal. The brand's verbal grammar descends directly from this era
- **Network-peer card identity conventions** — Visa, Mastercard, and Chase Sapphire all share the white-canvas/saturated-accent grammar. Amex sits closer to Visa's blue-and-white restraint than to Mastercard's warm-cream editorial register
- **The ISO/IEC 7810 ID-1 card format itself** — the 85.6 × 53.98 mm rectangle that defines a credit card globally is the brand's most reproduced shape; the visual system exists to set this rectangle off
What American Express rejects:
- Editorial-cream warmth (Mastercard's territory)
- SaaS-class gradient hero backgrounds
- Glassmorphism, frosted-glass, neumorphism — all softness gimmicks
- Display serifs as "premium signal" — Amex's premium comes from typographic restraint, not from typeface variety
- Oversized stadium-radius gestures and full-pill nav containers
- Rainbow-accent palettes (Stripe's, Plaid's territory) — Amex's single-accent budget is the brand's commitment
- Trendy microinteractions (button bounces, magnetic hover) — motion is functional, never decorative
### Named Influences
- Visa — https://www.visa.com
- Mastercard — https://www.mastercard.com
- Chase — https://www.chase.com
- The Wall Street Journal editorial design — https://www.wsj.com
- Helvetica Now (Monotype) — https://www.monotype.com/fonts/helvetica-now
- Saul Bass corporate identity work — https://www.aiga.org/design-journeys-saul-bass
## 14. Do's and Don'ts
### Do
- Use pure white (`#ffffff`) as the page canvas — never warm cream, never off-white
- Use `#333333` for body text — never pure black
- Reserve Amex Blue (`#006fcf`) for primary CTAs, key links, and focus rings — the only saturated UI colour
- Render card-product artwork at generous size with at least 64px of surrounding whitespace on desktop
- Set headlines in Helvetica Neue weight 600/700 with -1.2% to -3% letter-spacing
- Prefer 1px hairline borders over soft drop shadows for card-product delineation
- Use the conservative radius scale (4/8/12/16) — every interactive element gets a calm corner
- Use 12-16px padding on buttons; never inflate to fashion-pill dimensions
- Keep the chromatic budget tight: white + Amex Blue + near-black + single grey ramp
- Use membership-tier voice: "Card Member", "apply", "earn", "privileges"
- Preserve the ID-1 rectangular aspect ratio on card-product imagery — never crop card art to a circle or pill
- Default to native form controls with thin styling rather than fully-custom replacements
### Don't
- Don't use warm cream as a body background — that's Mastercard's territory, and importing it dilutes Amex's clean-white premium signal
- Don't use Amex Blue as a body or surface colour — it's an accent, never a fill
- Don't introduce a secondary saturated accent (no orange, no green, no purple) — the single-accent rule is the brand
- Don't crop card-product photography to circles, pills, or oversized rounded rectangles — preserve the literal card aspect ratio
- Don't use display-serif fonts for "premium" — Amex's premium signal comes from typographic restraint, not from typeface variety
- Don't use uppercase styling on section labels or eyebrows — Amex writes in sentence/title case throughout
- Don't apply soft drop shadows everywhere — prefer hairline borders, reserve shadows for hover and modal states only
- Don't use SaaS verbs ("Get Started", "Sign Up Free", "Try Now") — use membership verbs ("Apply Now", "Become a Card Member")
- Don't use 40px+ stadium radii or full-pill button shapes — the system stops at 16px and 9999px (the latter reserved for tiny badges only)
- Don't auto-play video over hero content — Amex motion is functional, not theatrical
- Don't pack the card-product grid edge-to-edge — generous whitespace around each tile is the premium signal
- Don't use pure black (`#000000`) for body text — it reads as a debugging colour against `#333333`'s editorial softness
## 15. Agent Prompt Guide
### Quick Color Reference
- Primary CTA: Amex Blue (`#006fcf`)
- Background: White (`#ffffff`)
- Heading text: Near-Black (`#333333`)
- Body text: Near-Black (`#333333`)
- Muted text: Mid-Gray (`#666666`)
- Disabled text: Light Gray (`#999999`)
- Border (input): Black (`#000000`) at 1px
- Border (card / table): Gray (`#e6e6e6`) at 1px
- Link: Amex Blue (`#006fcf`)
- Focus ring: Amex Blue (`#006fcf`) at 2px with 2px offset
- Alternate surface: Cool Gray (`#f7f8f9`)
- Footer/dark: deep navy or near-black with white text
### Example Component Prompts
- "Create a primary CTA button: Amex Blue (`#006fcf`) background, white text, 8px border-radius, 10px vertical and 16px horizontal padding, Helvetica Neue 16px weight 500. On hover, shift background to `#005a9e` over 150ms with no transform."
- "Design a card-product tile 320px wide × 480px tall: white background, 1px solid `#e6e6e6` border, 12px border-radius, 24px internal padding. Place card-art portrait (ID-1 aspect ratio, ~272×170px) at top with 24px bottom margin, then H3 product name in `#333333`, three benefit lines in body-small `#666666`, and a full-width Amex Blue CTA button at the bottom."
- "Build a top navigation bar: white background, 1px solid `#e6e6e6` bottom border, 64px height. Amex Blue Box logo at the left, four primary links centred in `#333333` weight 500 with 32px gap, then 'Log In' link and 'Apply' Amex Blue CTA at the right. On scroll past 64px, fade in a subtle `0 2px 4px rgba(0,0,0,0.04)` shadow over 150ms."
- "Create a benefit grid: 4-up on desktop (1280px container, 24px gutter), 2-up tablet, 1-up mobile. Each cell uses white background with no border, 24px padding, a 24px Amex Blue line-icon at the top, an H4 title in `#333333`, and a body-small description in `#666666` below."
- "Design a form field: 40px-tall single-line text input, white background, 1px solid `#000000` border, 8px border-radius, 8px vertical / 12px horizontal padding, Helvetica Neue 16/400 in `#333333`. Label sits above the field in 13px weight 500. On focus, swap to 2px Amex Blue (`#006fcf`) outline ring with 2px offset. On validation error, swap border to 1px `#b21f1f` with red helper text below."
- "Create a footer: deep-navy or near-black background, white text, 4–6 column link grid with sentence-case column headers in 14px weight 600. Include the Amex Blue Box logo at the top-left, a country/region selector pill at the bottom-right, and a horizontal hairline divider above a copyright + legal-links bottom row."
### Iteration Guide
When refining existing screens generated with this design system:
1. Focus on one component at a time — Amex's discipline is delineation, not orchestration
2. Default backgrounds to pure white (`#ffffff`), never tinted — this single change shifts the entire mood toward Amex
3. Use `#333333` for body text — pure black breaks the editorial register
4. Hold the chromatic budget to white + Amex Blue (`#006fcf`) + near-black + single grey ramp — if a third saturated colour appears, push it out
5. Prefer 1px hairline borders over drop shadows for delineation — the bank-document aesthetic is structural
6. Keep buttons at 8px radius — resist the urge to inflate to pill or stadium dimensions
7. Set headlines at 600/700 weight with -1.2% to -3% letter-spacing — looser tracking makes the page look generic
8. Use membership-tier verbs in CTAs: "Apply Now", "Compare Cards", "Become a Card Member" — never SaaS verbs
---
*Theme-toggle audit: score=2, signals=[prefers-color-scheme-css]*
1. Visual Theme & Atmosphere
American Express’s digital surface reads like a 170-year-old financial institution that has chosen restraint over spectacle. The canvas is pure white (#ffffff) — not the warm putty-cream Mastercard prefers, not the soft off-white Visa drifts toward, but the unambiguous white of a printed cardholder statement. The page wants to feel like documentation from a private bank: clean, structured, slightly formal, never decorative. Against that white canvas, a single high-saturation accent — Amex Blue (#006fcf) — does almost all of the chromatic work, appearing on primary CTAs, key text links, the dot above the “i” in legacy logo treatments, and as the literal portrait colour of the Centurion-blue card products that sit at the centre of the marketing surface.
The dominant gesture is product-as-portrait. Card artwork (Platinum, Gold, Green, Centurion) is rendered at generous size, sometimes occupying half the viewport, framed by hairline rules or set on a generous white margin. Where Mastercard masks its imagery into perfect circles, Amex preserves the rectangular card-aspect-ratio (~1.59:1, the ISO/IEC 7810 ID-1 ratio) because the product itself is the rectangle. The card art is the brand — every visual choice on the page exists to set the card off rather than compete with it. This is why backgrounds default to white, why type is set in a geometric sans rather than a display serif, and why the only saturated colour in the chrome is the blue that already exists on the card itself.
Typography is a Helvetica Neue-class geometric sans, rendered at #333333 rather than pure black — a softness that signals editorial care rather than maximum contrast. Headlines run at 600/700 weight with tight negative tracking (-1.8% to -3%), giving display text a confident density without shouting. Body copy holds at 16/400 with 1.55 line-height — comfortable, magazine-like, never cramped. The hierarchy is more aggressive than Mastercard’s (an 80px display vs. Mastercard’s 64px H1) because Amex headlines often carry membership-tier language (“The Platinum Card®”, “Membership Has Its Privileges”) that benefits from editorial scale.
The voice and chromatic budget are the brand’s deepest commitments. Where SaaS-class fintechs (Stripe, Plaid) use rainbow gradients and where Mastercard uses cream-and-rust editorial warmth, Amex holds to white + Amex Blue + near-black + a single grey ramp, full stop. The chromatic restraint is itself the premium signal — it says “we don’t need to decorate to be valuable.” The membership-tier voice (“Card Member”, “apply”, “earn”, “privileges”) completes the picture: this is the visual grammar of a 1975 Karl Malden ad campaign (“Don’t leave home without it”) translated through six decades of brand discipline into a calm, structured, blue-and-white digital product surface that any cardholder would immediately recognize as Amex without needing to see the logo.
Key Characteristics:
- Pure white canvas (
#ffffff) — never warmed, never tinted — a deliberate rejection of editorial-cream warmth - Amex Blue (
#006fcf) as the sole saturated UI colour, used on primary CTA, key links, and as the literal card-product portrait colour - Near-black body type (
#333333) — editorial softness, never#000 - Helvetica Neue-class geometric sans, single family across all hierarchy levels
- Card-as-portrait: rectangular ID-1 aspect-ratio card art presented at large scale with generous white margin
- Hairline 1px rules over shadows for delineation — bank-ledger structural language
- Membership-tier voice: “Card Member”, “apply”, “earn”, “privileges” — never “sign up” or “get started”
- Three card-product family signal: Platinum (silver-metal portrait), Gold (champagne-metal portrait), Green (forest-green legacy portrait), with the Centurion Card as the apex
- Conservative radius scale (4–16px) — no oversized pill gestures, no extreme stadium frames
- Restrained motion: no scroll-jacking, no parallax-heavy heroes, no auto-playing video over content
- A single grey ramp (white → near-black) carries the entire neutral hierarchy
2. Color Palette & Roles
Primary
- Amex Blue (
#006fcf): the signature mid-blue used on primary CTAs, key text links, focus rings, and as the brand-portrait colour of legacy Amex card products. This is the load-bearing brand colour — used sparingly but always at full saturation - White (
#ffffff): the page canvas. Pure, untinted, the unambiguous default body background. Replacing this with off-white or cream breaks the Amex visual contract
Brand & Dark
- Near-Black Ink (
#333333): primary body and heading text colour. Slightly softer than pure black, gives prose an editorial readability that#000denies - Centurion Blue (deep navy variant): the literal card-portrait colour of legacy Amex Blue Box and Centurion products — appears in product photography, not as a UI colour
- Statement Black (
#000000): reserved for hairline borders, the wordmark, and the highest-contrast text states (e.g., the centurion product page header)
Accent
- Amex Blue (
#006fcf) is the only true UI accent. Amex does not maintain a secondary or tertiary accent — the brand’s restraint is structural
Surface & Background
- Canvas White (
#ffffff): default page background, default card surface, default modal surface - Surface Soft Gray (
#f7f8f9or similar): occasional alternate surface for nested sections, comparison tables, or footer band — used sparingly and always cool-toned (never warm) - Surface Border Gray (
#e6e6e6or similar): the visual rule that separates table rows, card-product comparison cells, and footer column dividers
Interactive
- Link Default: Amex Blue (
#006fcf) — underlined on hover, no underline at rest in most marketing contexts - Link Hover: slightly darker blue or underline-only treatment
- Link Visited: rarely styled — the brand suppresses visited state to preserve editorial uniformity
Neutral Scale
#000000— wordmark, hairline borders, occasional max-contrast text#333333— primary body text (the load-bearing text colour)#666666— secondary muted text, eyebrow labels, table secondary cells#999999— disabled text, placeholder text in inputs#cccccc— borders inside form inputs, soft dividers#e6e6e6— table row separators, footer column dividers#f7f8f9— alternate surface for nested sections (used very sparingly)#ffffff— canvas
Surface & Borders
- Border default:
#000000at 1px or#e6e6e6at 1px depending on context (form inputs use black; table rules use gray) - Border focus: Amex Blue (
#006fcf) at 2px ring - Border disabled:
#ccccccat 1px
Shadow Colors
American Express uses shadows sparingly. The brand prefers hairline borders over shadow elevation — a 1px black or gray rule defines the boundary of a card product or input field, not a soft drop shadow. When shadows do appear, they are subtle: a 4–8px blur at ~8% opacity beneath a card-product hover state, never the dramatic 48px+ atmospheric halos Mastercard uses.
Semantic
- Success Green (
#008767or similar): rare confirmation states — “Application Submitted”, “Card Activated” - Warning Amber (
#b35900or similar): rate-change notifications, advisory banners - Error Red (
#b21f1for similar): form validation errors, payment failures - Info Blue: reuses Amex Blue (
#006fcf) — informational banners and tooltips
Gradient System
Amex uses gradients in exactly one place: the metallic card-portrait artwork itself (Platinum’s silver-to-pewter, Gold’s champagne-to-bronze). The chrome UI never uses gradients — backgrounds are solid white, buttons are solid Amex Blue, dividers are solid hairlines. Importing a programmatic CSS gradient into the UI surface would visibly break the brand.
3. Typography Rules
Font Family
- Primary:
"Helvetica Neue"— the geometric sans Amex specifies for all hierarchy levels - Fallback stack:
system-ui, -apple-system, sans-serif— Apple’s system stack as the safe fallback (which on macOS resolves to SF Pro, on Windows to Segoe UI) - Brand-licensed alternative: Amex Sans is the proprietary cut used inside Amex-authored creative; on the public web the Helvetica Neue family is the practical default
Hierarchy
| Role | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|
| Display hero | 80 | 700 | 1.0 (80px) | -0.03em (-3%) | Reserved for primary marketing pages — “The Platinum Card®”, concierge campaign headlines |
| Display large | 56 | 700 | 1.05 (~59px) | -0.02em (-2%) | Secondary hero size — product category landing pages |
| H1 | 40 | 700 | 1.1 (44px) | -0.018em (-1.8%) | Top-of-page headline on standard content surfaces |
| H2 | 32 | 600 | 1.2 (~38px) | -0.012em (-1.2%) | Section headings |
| H3 | 24 | 600 | 1.25 (30px) | -0.005em (-0.5%) | Subsection / card-product titles |
| H4 | 20 | 600 | 1.3 (26px) | 0 | Inline section labels, table column headers |
| Body large | 18 | 400 | 1.55 (~28px) | 0 | Lead paragraphs, hero supporting copy |
| Body | 16 | 400 | 1.55 (~25px) | 0 | Default reading size — the load-bearing prose stop |
| Body small | 14 | 400 | 1.5 (21px) | 0 | Secondary body, table cells, helper text |
| Label | 13 | 500 | 1.4 (~18px) | 0 | Form labels, eyebrow micro-titles, badge text |
| Caption | 12 | 500 | 1.4 (~17px) | 0.02em (+2%) | Legal small-print, disclaimer copy, footer micro-copy |
Principles
- Weight discipline. Use 400 for body, 500 for labels, 600 for subheads, 700 for displays. The system stops at 700 — Amex does not use 800/900 weights. The restraint preserves the editorial tone
- Tight negative tracking on display sizes (-1.2% to -3%) gives Amex headlines their confident density. Don’t loosen this — it makes the page look generic
- Near-black body (
#333333) — not pure black. The single most overlooked detail when reproducing the brand - Single typeface. Resist the urge to introduce a serif accent for “premium”. Amex’s premium signal comes from restraint, not from typeface variety
- 1.55 line-height on body copy — generous, magazine-like. Drop to 1.4–1.5 only on table cells and labels
- No uppercase as a styling device. Amex doesn’t use uppercase tracking on section labels (in contrast to Mastercard’s eyebrow). Section labels are sentence-case or title-case
- Display sizes carry tightest tracking; body has none. The tracking ramp inverts the size ramp — bigger sizes get tighter, body sits at 0
- Use the Helvetica fallback honestly. When Helvetica Neue isn’t available, the system stack (SF Pro on macOS, Segoe UI on Windows) is a reasonable substitute. Don’t introduce a third typeface to bridge the gap
Note on Font Substitutes
Amex Sans and Helvetica Neue are both licensed/system-tier. When rebuilding without access:
- Inter at 400/500/600/700 works as a generic substitute; slightly taller x-height
- Neue Haas Grotesk is the direct lineage ancestor and pixel-perfect substitute when licensed
- Helvetica Now (Monotype’s 2019 modernization) is the closest open-licensed match
- Preserve the -1.2% to -3% tracking on displays and
#333333body colour — these are the load-bearing details
4. Component Stylings
Buttons
button-primary — Amex Blue solid CTA
- Background: Amex Blue (
#006fcf) - Text: White (
#ffffff) — pure white, not off-white - Border: 0
- Radius: 8px (the system’s md radius)
- Padding: 10px 16px (compact) or 12px 24px (comfortable)
- Font: Helvetica Neue 16/500
- Default: solid Amex Blue rectangle with crisp 8px corners
- Hover: slightly darker blue (
#005a9eor similar) with no transform - Active: subtle inward press, no scale gimmick
- Use: all primary marketing CTAs — “Apply Now”, “Learn More”, “Compare Cards”
button-ghost — Outlined secondary
- Background: transparent
- Text: Near-Black (
#333333) or Amex Blue (#006fcf) - Border: 1px solid
#000000(or#006fcffor blue-text variant) - Radius: 8px
- Padding: 10px 16px
- Font: Helvetica Neue 16/500
- Use: secondary actions paired with primary, or standalone utility actions
button-text-link — Inline link-style action
- Background: transparent
- Text: Amex Blue (
#006fcf) - Border: 0; underline appears on hover or sustained focus
- Padding: 0 (inline) or 8px 0 (block)
- Use: tertiary navigation, “View Details”, “Compare”, inline help links
button-large-cta — Hero-scale primary
- Background: Amex Blue (
#006fcf) - Text: White
- Radius: 8px (unchanged — Amex does not use larger radii for larger buttons)
- Padding: 16px 32px
- Font: Helvetica Neue 18/500
- Use: hero application CTAs, card-product apply buttons. Visually identical to button-primary but proportionally larger
Cards & Containers
card-product — Card-art product tile (the core marketing surface)
- Background: White (
#ffffff) - Border: 1px solid
#e6e6e6(hairline gray) - Radius: 12px (lg)
- Padding: 24px
- Content: card-art image (ID-1 aspect ratio, ~340×215px on desktop) at top, product name in H3, benefit list in body-sm, primary CTA at bottom
- Shadow: none at rest; very subtle 0 4px 12px rgba(0,0,0,0.06) on hover
- Use: card-product grid (Platinum, Gold, Green, Business, Centurion, etc.)
card-feature — Benefit/feature explanation tile
- Background: White or
#f7f8f9(alternate) - Border: 1px solid
#e6e6e6or none on alternate-surface variant - Radius: 12px
- Padding: 24px
- Content: icon (24px Amex Blue line-icon) at top, H4 title, body-sm description
- Use: 3- or 4-up benefit grid below hero (“Concierge”, “Travel”, “Rewards”, “Protection”)
card-comparison — Side-by-side card comparison
- Background: White
- Border: 1px solid
#e6e6e6per cell; cells share borders at intersections - Radius: 0 (table-style; the outer container may carry 12px)
- Content: card-art header row, then alternating benefit rows
- Use: “Compare Cards” page — visually a styled table, structurally a grid
Badges, Tags, Pills
badge-default — informational pill
- Background:
#f7f8f9 - Text:
#333333 - Border: 0
- Radius: 9999 (pill) or 4px (rectangle)
- Padding: 4px 10px
- Font: 13/500
- Use: “New”, “Featured”, category tags
badge-promo — limited-time / earned-rewards
- Background: Amex Blue (
#006fcf) - Text: White
- Use: “Limited Offer”, “Bonus Points”
Inputs & Forms
input-text — single-line text input
- Background: White (
#ffffff) - Text:
#333333 - Border: 1px solid
#000000(Amex uses high-contrast black input borders, not gray) - Radius: 8px
- Padding: 8px 12px (compact) or 10px 14px (comfortable)
- Font: 16/400 (16px to prevent iOS zoom on focus)
- Focus: 2px Amex Blue outline ring
- Error: 1px solid
#b21f1fborder, helper text in same red below field - Use: application forms, account login, support contact
input-select — dropdown
- Identical to input-text plus a downward chevron icon, right-aligned
- Native
<select>styled to match the visual treatment
input-checkbox / input-radio — selection controls
- Default: 1px black border, transparent fill
- Checked: Amex Blue (
#006fcf) fill with white checkmark/dot - Size: 18×18px minimum
Navigation
Top navigation bar
- Background: White (
#ffffff) - Border-bottom: 1px solid
#e6e6e6 - Height: 64px (the system’s header-height token)
- Content: Amex Blue Box logo (left), primary links centered, “Log In” + “Apply” actions right
- Link style:
#333333at 16/500, no underline at rest, Amex Blue on hover - Use: persistent global nav across all marketing surfaces
Sub-navigation / Tab navigation
- Background: White
- Border-bottom: 1px solid
#e6e6e6 - Active tab: 2px Amex Blue underline below tab label
- Tab label: 16/500, 12px vertical / 16px horizontal padding
- Use: product category pages, account-management sub-sections
Mobile navigation
- Hamburger menu icon (left), Amex logo (center), profile/login icon (right)
- Opens into full-screen overlay with primary links stacked vertically
- Background: White; Amex Blue accent on active state
5. Layout Principles
Spacing System
- Base unit: 4px (the canonical fintech base — divisible into the 16px body grid)
- Scale: 0 / 4 / 8 / 12 / 16 / 24 / 32 / 48 / 64 / 96 (the powers-of-4 progression)
- Section vertical padding: ~64–96px between major sections on desktop; ~32–48px on mobile
- Card internal padding: 24px on desktop, 16px on mobile
- Form field spacing: 16px between fields, 24px between field groups
Grid & Container
- Max content width: 1280px (the page-width token) centered, with 24–48px horizontal gutter
- Prose max width: 720px — reading-comfort cap for long-form content (terms, help articles)
- Column patterns:
- 12-column implied grid for marketing layouts
- 3-up card-product grid on desktop, 2-up tablet, 1-up mobile
- 4-up benefit grid on desktop, 2-up tablet, 1-up mobile
- 2-column hero (headline left, supporting copy or card art right) on desktop
Whitespace Philosophy
Amex treats whitespace as structural premium signal. Card-product portraits are surrounded by generous white margin (often 64–96px on desktop) so the product photo can breathe. The brand believes that crowding the card art with adjacent copy diminishes its premium signal — the empty space is the message. This is the opposite of dashboard-class UI, which packs the viewport.
Section Cadence
The standard amex.com card-product page scroll pattern:
- Top navigation bar (sticky on scroll)
- Hero with H1 headline + card-art portrait (2-column)
- Benefit grid (4-up icon tiles)
- Rewards / earning structure explanation (2-up alternating image-text)
- Comparison table or “View all cards” CTA
- Apply CTA section (centered headline + primary button)
- Footer (multi-column link grid on near-black or white surface)
6. Shapes & Radius Scale
| Tier | Radius | Use |
|---|---|---|
| Micro | 2px | Inline tags, checkbox/radio corners |
| Standard (sm) | 4px | Form micro-elements, table cells, badge corners |
| Comfortable (md) | 8px | Buttons (primary, ghost, large), input fields — the system’s load-bearing button radius |
| Relaxed (lg) | 12px | Card-product tiles, feature cards, modal corners |
| Large (xl) | 16px | Hero containers, oversized feature panels |
| Pill | 9999px | Promo badges, status pills — used sparingly |
The Amex radius scale is conservatively progressive. Unlike Mastercard’s “skip the middle” approach (jumping from 6 to 20 to 999), Amex moves through every step: 2, 4, 8, 12, 16, pill. The progression mirrors a bank-form-builder’s expectation — each interactive element gets a calm, slightly-rounded corner, with no oversized stadium gestures and no flat 0-radius elements (except the page itself and table cells in dense data).
7. Depth & Elevation
| Level | Treatment | Use |
|---|---|---|
| 0 | No shadow, no border | Page canvas, default text |
| 0.5 | 1px hairline border (#e6e6e6 or #000000) | Card products, input fields, table rules — the system’s preferred delineation |
| 1 | 0 2px 4px rgba(0,0,0,0.04) | Sticky header on scroll — barely visible |
| 2 | 0 4px 12px rgba(0,0,0,0.06) | Card-product hover state, dropdown menus |
| 3 | 0 8px 24px rgba(0,0,0,0.10) | Modal dialogs, overlay menus |
Shadow Philosophy
American Express prefers hairline borders over shadow elevation. The single most distinctive trait of the system is that a card product at rest has no shadow — only a 1px gray border. Hover state introduces a barely-visible shadow (4% opacity) without any transform. This is a bank-statement-document aesthetic: things are delineated by lines, not by light. The decision is intentional — soft shadows would import a SaaS-class softness that the brand rejects.
Decorative Depth
- Card-art photography carries its own metallic gradient (Platinum’s silver, Gold’s champagne) — this is the only decorative depth in the system
- Sticky header shadow on scroll provides the only ambient elevation cue
- Modal scrims use a subtle
rgba(0,0,0,0.4)backdrop to focus attention without darkening the entire page
8. Interaction & Motion
Easing Curves
- Standard:
cubic-bezier(0.4, 0, 0.2, 1)— the Material-standard ease for nearly all transitions - The brand does not maintain a separate “emphasized” or “expressive” curve — the standard easing covers the entire motion budget
Duration Buckets
- Fast (150ms): button hover colour shifts, link underline appearance
- Standard (240ms): card hover shadow lift, dropdown menu open
- Slow (320ms): modal dialog open, drawer slide-in
- The brand does not use cinematic durations (600ms+) — motion is functional, never theatrical
Per-Component Motion
Primary button
- Hover: background colour shifts from
#006fcf→#005a9eover 150ms - Active: no scale, no rotation — Amex resists button “press” gimmicks
- Focus: 2px Amex Blue outline ring appears instantly (no transition)
Card-product tile
- Hover: shadow fades in from 0 →
0 4px 12px rgba(0,0,0,0.06)over 240ms - No transform, no scale, no rotation — the card stays put
Top navigation
- On scroll past 64px: subtle drop shadow fades in over 150ms; navigation height stays at 64px
- Mobile menu: 320ms slide-in from right with
cubic-bezier(0.4, 0, 0.2, 1)ease
Dropdown menus
- Open: 240ms fade + 8px translate-up combo
- Close: 150ms fade-out
Page Transitions
- Standard browser-default page transitions (no SPA-style fade or slide)
- Skeleton loaders for data-dense surfaces (account dashboard, transaction list)
Reduced Motion Strategy
@media (prefers-reduced-motion: reduce):
- All shadow transitions become instant
- All translate-based animations become opacity-only fades over 100ms
- Modal open/close becomes instant
- Skeleton loaders remain (they aid comprehension, not decoration)
9. Accessibility & A11y
Contrast Pairs
| Pair | Approximate Ratio | WCAG Level |
|---|---|---|
#333333 text on #ffffff bg | 12.6:1 | AAA |
#ffffff text on #006fcf Amex Blue button | 4.7:1 | AA at body, AAA at large |
#006fcf link on #ffffff bg | 4.6:1 | AA at body |
#666666 muted on #ffffff bg | 5.7:1 | AA at body |
#999999 disabled on #ffffff bg | 2.85:1 | Fails for body, allowed only as disabled state visual |
#333333 text on #f7f8f9 alt-surface | 12.0:1 | AAA |
Focus Indicators
- 2px Amex Blue (
#006fcf) outline ring with 2px outline-offset - Applied to all focusable elements: nav links, buttons, form fields, card-product tiles, footer links
- The ring colour uses Amex Blue rather than browser-default blue, maintaining chromatic consistency
ARIA Patterns
- Card-product tiles use
role="link"with descriptivearia-label(e.g., “Apply for The Platinum Card from American Express”) - Dropdown menus follow the ARIA combobox or menu pattern depending on whether they accept input
- Form fields use explicit
<label for="">associations; placeholder text never substitutes for a label - Modal dialogs use
role="dialog"witharia-modal="true"and focus-trap - Card-art images carry meaningful
alttext (e.g., “The Platinum Card from American Express, metal finish”) - Decorative card-art photography on landing hero uses
alt=""when the product name is announced separately
Keyboard Navigation
- Tab cycles: skip-link → top nav (left → center → right) → hero CTA → benefit cards → comparison cards → apply CTA → footer columns
- Skip-link present at very top: “Skip to main content”
- Esc closes modal dialogs and mobile menu overlay
- Arrow keys navigate within tab navigation and dropdown menus
- Enter/Space activates buttons and links
Screen Reader Hints
- Card-product images supply alt text describing the physical card (finish, primary colour, product name)
- Form errors are announced via
aria-live="polite"region - Loading states announce “Loading account information” rather than silent skeleton placeholders
- Currency values use locale-aware formatting and are announced as natural language (“twelve thousand five hundred dollars” via aria-label override when context demands it)
Reduced Motion Handling
Detailed in §8. The system respects prefers-reduced-motion: reduce and converts translate-based animations to opacity-only fades.
10. Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | ≤640px | Hamburger menu replaces full nav; hero stacks vertically (headline above card art); card-product grid becomes 1-up; benefit grid becomes 1-up; display-hero drops from 80 → ~44px; padding compresses to 16–24px |
| Tablet | 641–1024px | Hamburger or condensed nav depending on context; card-product grid 2-up; benefit grid 2-up; hero stays 2-column at slightly reduced scale |
| Desktop | 1025–1280px | Full nav with all primary links; card-product grid 3-up; benefit grid 4-up; hero 2-column at full scale |
| Wide | ≥1281px | Content max-width caps at 1280px; gutters grow symmetrically; card-art photography may grow up to ~400px on display-hero pages |
Touch Targets
All interactive elements meet or exceed the 44×44px minimum. Buttons at 10px padding produce ~40–44px height — at 16px-class body type this lands at exactly 44px. Form fields are 40px+ tall. Card-product tiles are entire tappable surfaces (typically 300px+ wide × 400px+ tall on mobile).
Collapsing Strategy
- Top nav: full horizontal → hamburger overlay. The Amex Blue Box logo remains visible at all breakpoints
- Hero: 2-column (headline + card art) → stacked (headline above card art)
- Card-product grid: 3-up → 2-up → 1-up
- Benefit grid: 4-up → 2-up → 1-up
- Comparison table: horizontal scroll on mobile (preserves cell alignment) rather than collapsing to vertical
- Footer: 4–6 columns → accordion with chevron toggles per section on mobile
Image Behavior
Card-art portraits scale proportionally, maintaining the ID-1 aspect ratio at every breakpoint. Photography uses srcset with at minimum 1x and 2x density, plus breakpoint-specific widths. Lazy loading is standard with a low-priority blur-up placeholder for below-fold imagery; hero card-art is eager-loaded.
11. Content & Voice
Tone
The voice is premium-membership concierge. Amex writes like a private bank that has decided to publish a magazine — formal, slightly aspirational, never trendy, never excited. The brand voice is the calm of a six-decade trusted institution translated into prose: confident, considered, never apologetic.
Microcopy Patterns
- Button verbs: “Apply Now”, “Learn More”, “Compare Cards”, “Sign In”, “View Benefits”, “Earn Rewards” — institutional and membership-tier, never “Get Started” or “Sign Up Free”
- Headline structure: editorial declarations centered on membership value (“The Platinum Card. Engineered for the way you live.”, “Membership Has Its Privileges”)
- Body copy: confident assertions backed by specific benefit data; medium sentences with editorial cadence; product names always carry the ® and “from American Express” suffix in formal contexts
- Error messages: “We weren’t able to complete your request. Please try again or call Customer Service at 1-800-XXX-XXXX.” — calm, includes a path to human help
- Success confirmations: “Your application has been submitted. A decision will be available within minutes.” — terse, professional, sets a clear expectation
Empty States
Empty content blocks say “No transactions to display” rather than “Nothing here yet!” — the brand never breaks character with playful empty-state copy. Empty states often include a soft CTA to take a meaningful next step (“Make your first purchase to start earning rewards”).
CTA Verb Conventions
American Express uses institutional and membership-tier verbs:
- Apply Now
- Learn More
- Compare Cards
- View Benefits
- Sign In
- Become a Card Member
- Earn Rewards
- Redeem Points
It does not use:
- Get Started (too SaaS-y)
- Sign Up Free (too trial-product)
- Try Now (too aggressive)
- Join! (too excited; punctuation rejected)
- Buy Now (Amex never “sells” — Cards are “issued”)
12. Dark Mode & Theming
American Express is light-only — no dark mode variant on the public marketing surface. The brand commits to pure white canvas as its primary surface because that white is the printed-statement aesthetic the institution is built around. Dark mode would invert the bank-document grammar that defines the brand.
The authenticated cardholder dashboard may carry a system-preference dark mode for accessibility, but the marketing surface — the card-product pages, the application flow, the membership-rewards portal — holds to white-canvas light.
Theming Notes for Derivatives
If you are adapting this system for a brand that needs a true dark mode:
- Swap
#ffffffcanvas →#0d1b2a(deep navy — preserves the financial-services register; pure black would feel too SaaS) - Swap
#333333text →#e6e6e6(off-white text on deep navy) - Swap
#e6e6e6borders →#1f2c3d(slightly lifted navy) - Amex Blue (
#006fcf) holds — it reads well on both white and deep navy. Increase saturation to#1a85d8if needed for AA contrast on the new dark canvas - Card-art photography: shift card portraits to their metal/dark variants (Platinum metal stays; Centurion’s black-on-black becomes a defining product portrait)
13. Lineage & Influences
American Express’s design language draws from:
- Mid-century corporate-finance heritage — the bank-statement aesthetic of paper cardholder bills, the engraving-quality of the Centurion portrait that has anchored the brand since the 1960s
- The Swiss school of corporate identity — Helvetica, Massimo Vignelli, Saul Bass — translated into a financial-services context. The discipline of one strong colour + one typeface + ruthless restraint
- Editorial print design (The Wall Street Journal, Financial Times) — typographic hierarchy and hairline-rule structure on white; restraint as the premium signal
- The Karl Malden “Don’t leave home without it” campaigns (1975–1994) — concierge-tier voice, slightly aspirational, corporate-formal. The brand’s verbal grammar descends directly from this era
- Network-peer card identity conventions — Visa, Mastercard, and Chase Sapphire all share the white-canvas/saturated-accent grammar. Amex sits closer to Visa’s blue-and-white restraint than to Mastercard’s warm-cream editorial register
- The ISO/IEC 7810 ID-1 card format itself — the 85.6 × 53.98 mm rectangle that defines a credit card globally is the brand’s most reproduced shape; the visual system exists to set this rectangle off
What American Express rejects:
- Editorial-cream warmth (Mastercard’s territory)
- SaaS-class gradient hero backgrounds
- Glassmorphism, frosted-glass, neumorphism — all softness gimmicks
- Display serifs as “premium signal” — Amex’s premium comes from typographic restraint, not from typeface variety
- Oversized stadium-radius gestures and full-pill nav containers
- Rainbow-accent palettes (Stripe’s, Plaid’s territory) — Amex’s single-accent budget is the brand’s commitment
- Trendy microinteractions (button bounces, magnetic hover) — motion is functional, never decorative
Named Influences
- Visa — https://www.visa.com
- Mastercard — https://www.mastercard.com
- Chase — https://www.chase.com
- The Wall Street Journal editorial design — https://www.wsj.com
- Helvetica Now (Monotype) — https://www.monotype.com/fonts/helvetica-now
- Saul Bass corporate identity work — https://www.aiga.org/design-journeys-saul-bass
14. Do’s and Don’ts
Do
- Use pure white (
#ffffff) as the page canvas — never warm cream, never off-white - Use
#333333for body text — never pure black - Reserve Amex Blue (
#006fcf) for primary CTAs, key links, and focus rings — the only saturated UI colour - Render card-product artwork at generous size with at least 64px of surrounding whitespace on desktop
- Set headlines in Helvetica Neue weight 600/700 with -1.2% to -3% letter-spacing
- Prefer 1px hairline borders over soft drop shadows for card-product delineation
- Use the conservative radius scale (4/8/12/16) — every interactive element gets a calm corner
- Use 12-16px padding on buttons; never inflate to fashion-pill dimensions
- Keep the chromatic budget tight: white + Amex Blue + near-black + single grey ramp
- Use membership-tier voice: “Card Member”, “apply”, “earn”, “privileges”
- Preserve the ID-1 rectangular aspect ratio on card-product imagery — never crop card art to a circle or pill
- Default to native form controls with thin styling rather than fully-custom replacements
Don’t
- Don’t use warm cream as a body background — that’s Mastercard’s territory, and importing it dilutes Amex’s clean-white premium signal
- Don’t use Amex Blue as a body or surface colour — it’s an accent, never a fill
- Don’t introduce a secondary saturated accent (no orange, no green, no purple) — the single-accent rule is the brand
- Don’t crop card-product photography to circles, pills, or oversized rounded rectangles — preserve the literal card aspect ratio
- Don’t use display-serif fonts for “premium” — Amex’s premium signal comes from typographic restraint, not from typeface variety
- Don’t use uppercase styling on section labels or eyebrows — Amex writes in sentence/title case throughout
- Don’t apply soft drop shadows everywhere — prefer hairline borders, reserve shadows for hover and modal states only
- Don’t use SaaS verbs (“Get Started”, “Sign Up Free”, “Try Now”) — use membership verbs (“Apply Now”, “Become a Card Member”)
- Don’t use 40px+ stadium radii or full-pill button shapes — the system stops at 16px and 9999px (the latter reserved for tiny badges only)
- Don’t auto-play video over hero content — Amex motion is functional, not theatrical
- Don’t pack the card-product grid edge-to-edge — generous whitespace around each tile is the premium signal
- Don’t use pure black (
#000000) for body text — it reads as a debugging colour against#333333’s editorial softness
15. Agent Prompt Guide
Quick Color Reference
- Primary CTA: Amex Blue (
#006fcf) - Background: White (
#ffffff) - Heading text: Near-Black (
#333333) - Body text: Near-Black (
#333333) - Muted text: Mid-Gray (
#666666) - Disabled text: Light Gray (
#999999) - Border (input): Black (
#000000) at 1px - Border (card / table): Gray (
#e6e6e6) at 1px - Link: Amex Blue (
#006fcf) - Focus ring: Amex Blue (
#006fcf) at 2px with 2px offset - Alternate surface: Cool Gray (
#f7f8f9) - Footer/dark: deep navy or near-black with white text
Example Component Prompts
- “Create a primary CTA button: Amex Blue (
#006fcf) background, white text, 8px border-radius, 10px vertical and 16px horizontal padding, Helvetica Neue 16px weight 500. On hover, shift background to#005a9eover 150ms with no transform.” - “Design a card-product tile 320px wide × 480px tall: white background, 1px solid
#e6e6e6border, 12px border-radius, 24px internal padding. Place card-art portrait (ID-1 aspect ratio, ~272×170px) at top with 24px bottom margin, then H3 product name in#333333, three benefit lines in body-small#666666, and a full-width Amex Blue CTA button at the bottom.” - “Build a top navigation bar: white background, 1px solid
#e6e6e6bottom border, 64px height. Amex Blue Box logo at the left, four primary links centred in#333333weight 500 with 32px gap, then ‘Log In’ link and ‘Apply’ Amex Blue CTA at the right. On scroll past 64px, fade in a subtle0 2px 4px rgba(0,0,0,0.04)shadow over 150ms.” - “Create a benefit grid: 4-up on desktop (1280px container, 24px gutter), 2-up tablet, 1-up mobile. Each cell uses white background with no border, 24px padding, a 24px Amex Blue line-icon at the top, an H4 title in
#333333, and a body-small description in#666666below.” - “Design a form field: 40px-tall single-line text input, white background, 1px solid
#000000border, 8px border-radius, 8px vertical / 12px horizontal padding, Helvetica Neue 16/400 in#333333. Label sits above the field in 13px weight 500. On focus, swap to 2px Amex Blue (#006fcf) outline ring with 2px offset. On validation error, swap border to 1px#b21f1fwith red helper text below.” - “Create a footer: deep-navy or near-black background, white text, 4–6 column link grid with sentence-case column headers in 14px weight 600. Include the Amex Blue Box logo at the top-left, a country/region selector pill at the bottom-right, and a horizontal hairline divider above a copyright + legal-links bottom row.”
Iteration Guide
When refining existing screens generated with this design system:
- Focus on one component at a time — Amex’s discipline is delineation, not orchestration
- Default backgrounds to pure white (
#ffffff), never tinted — this single change shifts the entire mood toward Amex - Use
#333333for body text — pure black breaks the editorial register - Hold the chromatic budget to white + Amex Blue (
#006fcf) + near-black + single grey ramp — if a third saturated colour appears, push it out - Prefer 1px hairline borders over drop shadows for delineation — the bank-document aesthetic is structural
- Keep buttons at 8px radius — resist the urge to inflate to pill or stadium dimensions
- Set headlines at 600/700 weight with -1.2% to -3% letter-spacing — looser tracking makes the page look generic
- Use membership-tier verbs in CTAs: “Apply Now”, “Compare Cards”, “Become a Card Member” — never SaaS verbs
Theme-toggle audit: score=2, signals=[prefers-color-scheme-css]
Drop amex into your project, then ship the actual sections in an afternoon.
npx @webdesignhot/design-md add amex npx agentkit init --design amex