Visual Theme & Atmosphere
Stripi's design language opens with the gradient mesh. A wide horizontal band of pastel cream, sherbet orange, lavender, electric indigo, and ruby pink occupies the upper third of nearly every marketing page — the brand's instantly-recognizable atmospheric backdrop. Type and product UI mockups float above it on {colors.canvas} (white), with the gradient acting as both decoration and visual anchor. The lower portion of the page returns to white, with feature explanations on {colors.canvas-soft} (a barely-tinted cool off-white) and dashboard product mockups composited as faux IDE/console panels in deep navy.
The color system has two primary roles. Indigo ({colors.primary} — #533afd) is the brand's signature CTA color, used sparingly: one filled pill per band. Deep navy ({colors.ink} — #0d253d) is the universal body text color and the fill of dashboard mockups, the featured pricing tier, and the dark-app surfaces on the dashboard track. Ruby ({colors.ruby}) and magenta ({colors.magenta}) appear inside the gradient mesh and as accent dots in product UI mockups; they are not used as button colors.
...
Key Characteristics:
- Gradient-mesh backdrop on every marketing hero — cream/orange/lavender/indigo/ruby horizontally washed across the upper third of the page.
- ...
Live Visual Theme Representation:
Visual Theme Example
Color Palette & Roles
> Source pages: home (/), /payments, /pricing, dashboard.stripe.com/register/payments.
Brand & Accent
- Indigo (
{colors.primary}—#533afd): The brand's signature CTA color. Filled-pill button, link emphasis, gradient anchor. - Indigo Deep (
{colors.primary-deep}—#4434d4): A deeper indigo used in gradient mid-stops and as the press-state warmer alternative. - ...
Surface
- Canvas (
{colors.canvas}—#ffffff): Default page background. - Canvas Soft (
{colors.canvas-soft}—#f6f9fc): Cool-tinted off-white used on feature bands beneath the gradient hero. - ...
Text
- Ink (
{colors.ink}—#0d253d): Default body text color across the brand. Deep navy, never pure black. - Ink Secondary (
{colors.ink-secondary}—#273951): Secondary text on white. - ...
Semantic
The brand does not use a separate semantic color palette in the marketing system — error / success states live in dashboard-product UI specifically.Typography Rules
Font Family
The display and UI tier is Sohne (proprietary, licensed from Klim Type Foundry) at weights 300 (thin) and 400 (regular). The variable font (sohne-var) is loaded with font-feature-settings: "ss01" enabled globally — the stylistic set substitutes a single-story a and other character variants that are part of the brand's typographic signature.
When Sohne is unavailable, fall back to SF Pro Display at thin weights, then system-ui. For maximum brand fidelity, Inter (open-source) at weight 300 with font-feature-settings: "ss01" and letter-spacing: -1.4px on display sizes approximates the rhythm closely.
Hierarchy
| Token | Size | Weight | Line Height | Letter Spacing | Use |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
Principles
- Thin weight is the brand. Display tiers always render at weight 300. Bumping to 400+ removes the brand's editorial air.
- Negative tracking on display. -1.4px at 56px, scaling proportionally down to -0.2px at 20px. The negative tracking is the brand's typographic signature.
- ...
Note on Font Substitutes
...Layout Principles
Spacing System
- Base unit: 8px (with 2 / 4 / 12 sub-tokens for fine work).
- Tokens:
{spacing.xxs}2px ·{spacing.xs}4px ·{spacing.sm}8px ·{spacing.md}12px ·{spacing.lg}16px ·{spacing.xl}24px ·{spacing.xxl}32px ·{spacing.huge}64px. - ...
Grid & Container
- Marketing pages center in a ~1200px container with the gradient mesh extending edge-to-edge above.
- Pricing collapses 4-up → 2-up → 1-up at 1024 / 768 breakpoints.
- ...
Whitespace Philosophy
The gradient mesh occupies the upper third of the page; the white canvas below is generously padded. Section gaps tend toward 96px, with content tightening to 32px on dashboard / pricing pages where users compare and act.Grid Layout Wireframe Mockup:
Layout Grid Example
Depth & Elevation
| Level | Treatment | Use |
|---|---|---|
| ... | ... | ... |
Decorative Depth
The gradient mesh IS the depth system. Implemented as a layered SVG or large background image rather than CSS gradients (the actual mesh has organic blob shapes that aren't CSS-renderable). The mesh provides the brand's signature lift; literal shadows are reserved for product-UI mockups and stay subtle.Elevation Level Showcase:
Elevation Level Example
Used for background layers, sidebar headers, or baseline borders.
Used for floating product elements, cards, and hover states.
Used for modals, select menus, code editor tooltips, and overlay headers.
Border Radius & Shape Scale:
Component Stylings
Border Radius Scale
| Token | Value | Use |
|---|---|---|
| ... | ... | ... |
Photography Geometry
The brand uses product UI mockups more than photography. Dashboard composites render as faux IDE/terminal/dashboard chrome inside{rounded.lg} 12px containers with a subtle box-shadow. Real photography appears in customer logo strips and the rare case-study card; treated as inset 4:3 with no shadow.
Buttons
button-primary-pill — the dominant CTA system-wide.
- Background
{colors.primary}, text{colors.on-primary}, type{typography.button-md}, padding{spacing.sm} {spacing.lg}(8px 16px), rounded{rounded.pill}9999px. - ...
button-secondary — outline-style alternative.
- Background
{colors.canvas}, text{colors.primary}, 1px solid{colors.primary}border, same pill geometry.
button-on-dark — used on dashboard / dark surfaces.
- Background
{colors.brand-dark-900}, text{colors.on-primary}, same pill geometry.
Cards & Containers
card-feature-light — feature explanation card on white.
- Background
{colors.canvas}, padding{spacing.xxl}, rounded{rounded.lg}12px, 1px{colors.hairline}border, optional Level 1 shadow.
card-pricing — standard pricing tier.
- Background
{colors.canvas}, padding{spacing.xxl}, rounded{rounded.lg}, 1px{colors.hairline}border. Title{typography.heading-lg}, price{typography.display-md}, body{typography.body-md}, CTA pinned bottom asbutton-primary-pill.
card-pricing-featured — the inverted dark featured tier.
- Background
{colors.brand-dark-900}, text{colors.on-primary}, otherwise identical structure tocard-pricing. The deep-navy fill is the brand's distinctive featured-tier choice.
card-cream-band — warm interlude card.
- Background
{colors.canvas-cream}, text{colors.ink}, padding{spacing.xxl}, rounded{rounded.lg}. Used to break up the indigo / white rhythm with warmth.
card-dashboard-mockup — composited dashboard / product UI screenshot.
- Background
{colors.canvas}, type{typography.body-tabular}(withtnum), padding{spacing.xl}24px, rounded{rounded.lg}12px, Level 2 shadow. Often contains nested mini-mockups: code preview + dashboard table + chart card.
Inputs & Forms
text-input — standard form field.
- Background
{colors.canvas}, text{colors.ink}, type{typography.body-md}, padding{spacing.sm} {spacing.md}(8px 12px), rounded{rounded.sm}6px, 1px{colors.hairline-input}border. - ...
Navigation
nav-bar-on-mesh — top nav floating over the gradient hero.
- Background
{colors.canvas}(or transparent depending on scroll), text{colors.ink}, padding{spacing.lg} {spacing.xl}. Logo wordmark on the left, primary nav center, sign-in + filledbutton-primary-pillon the right.
Pills, Tags, and Chips
pill-tag-soft — subdued indigo tag.
- Background
{colors.primary-bg-subdued-hover}, text{colors.primary-deep}, type{typography.micro-cap}, padding4px 8px, rounded{rounded.pill}.
Signature Components
Gradient Mesh Backdrop — pastel cream → sherbet orange → lavender → indigo → ruby pink stops blurred horizontally across the upper third of the page. Implemented as SVG or a large background image — not a flat CSS gradient (the real mesh has organic blob shapes).
Composited Dashboard Mockup — multi-layer faux-product-UI compositions: an IDE panel on the left, a dashboard table center, a chart card on the right, all rendered at small scale inside {rounded.lg} containers with subtle Level 2 shadows. The composite is the brand's most-photographed feature.
Tabular-Figure Money Type — every number rendering money, count, or transaction value uses font-feature-settings: "tnum". The brand's quiet signal that it's a financial-infrastructure platform.
link-on-light — inline links on light surfaces.
- Text
{colors.primary}rendered in{typography.body-md}, no underline by default.
footer-light — site-wide footer.
- Background
{colors.canvas}, text{colors.ink-mute}, type{typography.caption}, padding{spacing.huge} {spacing.xl}(64px 24px). Holds 4–6 columns of link groups, social icons, and a small legal row.
Interactive Component Demonstrations:
Component Interactive Example
Do's and Don'ts
Do
- Reserve
{colors.primary}for filled CTAs and inline link emphasis — it should appear sparingly, one filled button per band. - Apply the gradient mesh to every marketing hero; bare-canvas heroes feel off-brand.
- Render display tiers at weight 300 with negative letter-spacing — the thin tracking is the typographic signature.
- Use
font-feature-settings: "tnum"on every money / numeric cell. - Apply
font-feature-settings: "ss01"globally on the body element. - Pair every feature explanation with a composited product UI mockup; the brand's argument is "look at the actual product."
Don't
- Don't bump display weight above 300 — at 400 the brand's editorial air collapses.
- Don't add new accent colors outside the documented gradient stops (cream / orange / lavender / indigo / ruby / magenta).
- Don't use the indigo
{colors.primary}as a body-text color — it's a CTA and link color, not a type color at body size. - Don't shrink button padding below
8px 16px— the tight pill is part of the brand's transactional feel. - Don't render money cells without
tnum— it breaks the quiet financial-data signature. - Don't replace the pill shape with rounded-rectangles for buttons.
- Reserve
{colors.primary}for filled CTAs and inline link emphasis — it should appear sparingly, one filled button per band. - Apply the gradient mesh to every marketing hero; bare-canvas heroes feel off-brand.
- Render display tiers at weight 300 with negative letter-spacing — the thin tracking is the typographic signature.
- Use
font-feature-settings: "tnum"on every money / numeric cell. - Apply
font-feature-settings: "ss01"globally on the body element. - Pair every feature explanation with a composited product UI mockup; the brand's argument is "look at the actual product."
- Don't bump display weight above 300 — at 400 the brand's editorial air collapses.
- Don't add new accent colors outside the documented gradient stops (cream / orange / lavender / indigo / ruby / magenta).
- Don't use the indigo
{colors.primary}as a body-text color — it's a CTA and link color, not a type color at body size. - Don't shrink button padding below
8px 16px— the tight pill is part of the brand's transactional feel. - Don't render money cells without
tnum— it breaks the quiet financial-data signature. - Don't replace the pill shape with rounded-rectangles for buttons.
Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| ... | ... | ... |
Touch Targets
- Pill buttons hit ≥ 40×40px on mobile via padding scaling. On smaller screens, buttons size up to 44×44px to maintain WCAG AAA.
- Form fields stay at 40px minimum height.
Collapsing Strategy
- Display tiers stair-step 56 → 48 → 32 → 26 → 22px through the breakpoints.
- Gradient mesh re-tiles on mobile to preserve the wash without disappearing.
- ...
Image Behavior
Product UI composites usesrcset with art-direction crops at major breakpoints. Mobile crops focus on the most actionable inner panel; desktop crops show the full multi-layer composition.
Responsive Adaptation Note:
Responsive Behavior Example
Agent Prompt Guide
1. Focus on ONE component at a time.
2. Reference component names and tokens directly ({colors.primary}, {button-primary-pill}-pressed, {rounded.pill}).
- ...
Copyable Agent Integration Prompt:
Prompt Guide Copy Box
Full System Design Tokens
The parsed design tokens extracted from the core stylesheet of this design system:
| Design Token | Hex Value | System Palette Role |
|---|---|---|
| --primary | #533afd | System color representation for primary |
| --primary-deep | #4434d4 | System color representation for primary-deep |
| --primary-press | #2e2b8c | System color representation for primary-press |
| --primary-soft | #665efd | System color representation for primary-soft |
| --primary-bg-subdued-hover | #b9b9f9 | System color representation for primary-bg-subdued-hover |
| --brand-dark-900 | #1c1e54 | System color representation for brand-dark-900 |
| --ink | #0d253d | System color representation for ink |
| --ink-secondary | #273951 | System color representation for ink-secondary |
| --ink-mute | #64748d | System color representation for ink-mute |
| --ink-mute-2 | #61718a | System color representation for ink-mute-2 |
| --on-primary | #ffffff | System color representation for on-primary |
| --canvas | #ffffff | System color representation for canvas |
| --canvas-soft | #f6f9fc | System color representation for canvas-soft |
| --canvas-cream | #f5e9d4 | System color representation for canvas-cream |
| --hairline | #e3e8ee | System color representation for hairline |
| --hairline-input | #a8c3de | System color representation for hairline-input |
| --ruby | #ea2261 | System color representation for ruby |
| --magenta | #f96bee | System color representation for magenta |
| --lemon | #9b6829 | System color representation for lemon |
| --shadow-blue | #003770 | System color representation for shadow-blue |