checkoutpage.com
AI Breakdown
Design export
# Design brief: the Checkout Page design language
Below is a complete design specification measured from a real, published web page. Use it as a design language for the user's product. It is not a page to reproduce.
## Reference images
- Full page: https://cdn.designmunk.com/2026/09/07082645/checkoutpage-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/07082645/checkoutpage-com-featured.webp
- On DesignMunk: https://designmunk.com/checkout-page/
Study these for hierarchy, rhythm, spacing and density. Where an image and the written spec disagree, the spec wins: the tokens were read from the page's own CSS, the images are one rendering of it.
## Before you start
Ask the user what they are building, who it is for, and what brand assets they already have — name, colours, typefaces. Wait for their answers before writing anything. Everything below is then applied to their product, not to the reference.
## Design specification
# Checkout Page: Checkout Cards Showcase Beneath a Monochrome Hero
## Overview
Checkout Page's UI is pragmatic and sales-focused: monochrome typography on a bright surface with warm, understated accents. The audience is founders, creators, and teams who need trustworthy payments with minimal setup. The feel is serious but friendly — spacious sections, big type, and a consistent 16px radius language. Use color sparingly; contrast and hierarchy come from weight, size, spacing, and surface shifts rather than bright hues.
## Colors
- **primary (#000000):** Core ink for body text, labels, and high-contrast UI.
- **secondary (#7c7c7c):** Secondary text, helper copy, and muted icons.
- **tertiary (#111827):** Deep action and emphasis ink for headings within dark variants.
- **neutral (#ffffff):** Page canvas and default backgrounds.
- **border (#e8e0cd):** Warm divider lines and card outlines for gentle separation.
- **brand-noghrei-silver (#bdbdbd):** Subtle UI chrome and disabled states.
- **surface (#ffffff):** Content surfaces; equal to neutral.
- **on-surface (#000000):** Default text on surfaces; equal to primary.
## Typography
Inter is the single family across headings and body. It is freely available from Google Fonts and can be loaded directly. Substitutes with similar x-height and rhythm include Roboto, Ubuntu, or Cantarell.
- Headline LG (Inter 60px/1, 600, -0.03em): Hero headlines and key section intros.
- Headline MD (Inter 44px/1.09, 500, -0.022em): Major section headings.
- Headline SM (Inter 33px/1.21, 500) and XS (24px/1.21, 500): Subheads and card titles.
- Body MD (Inter 18px/1.63, 400): Paragraphs, FAQs, and captions. Keep generous line height to preserve the spacious feel.
## Layout
Spacing scales in distinct jumps: 6, 14, 24, 48, and 96px. Use 48–96px for section padding, 24px for internal gutters and card spacing, and 14px for dense UI stacks like form fields. Build responsive grids from the 24px rhythm: 1-up on mobile, 2–3-up on desktop, with 24px gaps. Keep generous negative space around hero and marquee elements to preserve the clean, product-forward tone.
## Elevation & Depth
Depth is restrained. Use sm shadow (rgba(11,18,32,0.1) 0 12px 32px) for floating cards and md shadow for interactive emphasis. Large shadows are absent; rely on the warm border (#e8e0cd) and the card surface (#faf6ec) for hierarchy. Avoid heavy blurs or colored glows — contrast comes from tone and spacing.
## Shapes
A single radius sets the voice: 16px (rounded.sm). Apply it to buttons, cards, inputs, and modals for consistency. Links remain square (button-link radius 0) to read as textual actions. Radii communicate interactivity and friendliness without whimsy — don't mix with sharper or pill shapes.
## Components
Buttons and cards are the core building blocks.
- Button Primary: Background #171717, text #ffffff, 16px radius, 6px x 16px padding, 80px fixed height. Use for primary CTAs.
- Button Secondary: Background #ffffff, text #000000, 16px radius, same sizing. Use where the action is important but not the primary path.
- Button Link: Text #4b5563, radius 0. For low-emphasis inline actions.
- Card: Background #faf6ec, text #17130b, 16px radius, 20px padding. Pair with border #e8e0cd or sm shadow for lift.
### Hero with Dual CTAs
- H1 uses Inter 60px/1, 600, -0.03em. Two buttons (primary and secondary) sit side by side with 24px gap and 48–96px vertical breathing room.
### Logo Marquee
- A single row of grayscale logos on the neutral surface. Use 24px gaps and the border color for faint separators if needed.
### Use-case Panels
- Three-up grid of cards (background #faf6ec, border #e8e0cd, radius 16px, padding 20px). Titles in Inter 24px/1.21, body at 18px/1.63.
### Delivery Methods Grid
- Four cards for Embedded, Pop-up, Hosted, and Link. Maintain 24px gaps, sm shadow, and consistent 16px radii.
### Comparison Split
- Two-column layout: left neutral surface with minimal chrome, right highlighted flow using the Card spec. 48px column gap; bullets in 18px body.
### AI Chat Panel
- Chat-like card using Card tokens; messages stack at 14px spacing. Buttons use primary/secondary styles.
### API Code Block
- Monochrome surface with on-surface text #000000 and 24px padding. Pair with md shadow to lift above the section.
### Pricing Band with Two CTAs
- Headline SM for section title, three bullet points in Body MD, and the standard primary + secondary buttons. Section padding 96px.
## Do's and Don'ts
- Do set hero headlines in Inter 60px/1, 600 with -0.03em tracking to match the page voice.
- Do keep buttons at 80px height with 16px radii; mix primary (#171717) and secondary (#ffffff) for clear paths.
- Do use the warm card surface #faf6ec with border #e8e0cd for product and pricing examples; reserve pure white for the page canvas.
- Don't introduce new accent colors; emphasis should come from weight, size, and spacing.
- Don't use large or colored shadows; stick to sm or md and lean on borders for separation.
- Don't round anything beyond 16px or mix in pill buttons; the system is not pill-shaped.
## Agent Prompt Guide
Quick color reference
- Text: #000000
- Background: #ffffff
- Border: #e8e0cd
- Accent/CTA: #171717
1) Build a hero section
- Canvas #ffffff with 96px top/bottom padding.
- H1: Inter 60px, weight 600, line-height 1, letter-spacing -0.03em, color #000000.
- Body: Inter 18px/1.63, color #7c7c7c, max-width 680px.
- Primary button: 80px height, padding 6px 16px, radius 16px, bg #171717, text #ffffff.
- Secondary button: 80px height, padding 6px 16px, radius 16px, bg #ffffff, text #000000.
- Gap between buttons: 24px.
2) Create a 3-up use-case grid
- Grid gaps 24px; section padding 48px.
- Each card: bg #faf6ec, text #17130b, border 1px solid #e8e0cd, radius 16px, padding 20px, shadow rgba(11,18,32,0.1) 0 12px 32px.
- Title: Inter 24px/1.21, 500; body: Inter 18px/1.63, 400.
3) Make a comparison split
- Two columns with 48px gap on #ffffff.
- Left column: neutral panel with thin border #e8e0cd; right column uses Card spec (#faf6ec, radius 16px, padding 20px, sm shadow).
- Section heading: Inter 33px/1.21, 500.
4) Build a delivery methods grid (4 items)
- Same card spec as above; include a small code or UI snippet inside each.
- Headings: Inter 24px/1.21; captions: Inter 18px/1.63.
- Place a primary button (#171717/#ffffff, 80px height) below the grid.
5) Add a pricing CTA band
- Background #ffffff, 96px vertical padding.
- Title: Inter 33px/1.21, 500; bullets: Inter 18px/1.63.
- Primary and secondary buttons as defined; 24px gap.
## Similar Brands
- Stripe: similarly spare type-led design; Stripe diverges with vibrant gradients while Checkout Page stays monochrome with warm cream cards.
- Gumroad: minimal interface and creator focus; Gumroad uses brighter accent colors, where Checkout Page relies on black and warm neutrals.
- Lemon Squeezy: ecommerce infrastructure with bold CTAs; more playful color than Checkout Page's restrained palette.
- SamCart: conversion-focused layouts and comparison sections; SamCart employs more color and heavier marketing chrome.
- Paddle: infrastructure narrative with API emphasis; Paddle leans corporate blue, while Checkout Page opts for black-and-white with beige surfaces.
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #000000;
--color-secondary: #7c7c7c;
--color-tertiary: #111827;
--color-neutral: #ffffff;
--color-border: #e8e0cd;
--color-brand-noghrei-silver: #bdbdbd;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 60px;
--text-headline-lg-weight: 600;
--text-headline-lg-leading: 1;
--text-headline-lg-tracking: -0.03em;
--text-headline-md-size: 44px;
--text-headline-md-weight: 500;
--text-headline-md-leading: 1.09;
--text-headline-md-tracking: -0.022em;
--text-headline-sm-size: 33px;
--text-headline-sm-weight: 500;
--text-headline-sm-leading: 1.21;
--text-headline-xs-size: 24px;
--text-headline-xs-weight: 500;
--text-headline-xs-leading: 1.21;
--text-body-md-size: 18px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.63;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 16px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 48px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: #171717;
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 6px 16px;
--button-primary-height: 80px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-primary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 6px 16px;
--button-secondary-height: 80px;
--button-link-text-color: #4b5563;
--button-link-rounded: 0px;
--card-background-color: #faf6ec;
--card-text-color: #17130b;
--card-rounded: var(--radius-sm);
--card-padding: 20px;
}
```
### Tailwind theme
```css
@theme {
--color-primary: #000000;
--color-secondary: #7c7c7c;
--color-tertiary: #111827;
--color-neutral: #ffffff;
--color-border: #e8e0cd;
--color-brand-noghrei-silver: #bdbdbd;
--color-surface: #ffffff;
--color-on-surface: #000000;
--font-headline-lg: "Inter";
--font-headline-md: "Inter";
--font-headline-sm: "Inter";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 60px;
--text-headline-md: 44px;
--text-headline-sm: 33px;
--text-headline-xs: 24px;
--text-body-md: 18px;
--tracking-headline-lg: -0.03em;
--tracking-headline-md: -0.022em;
--font-weight-headline-lg: 600;
--font-weight-headline-md: 500;
--font-weight-headline-sm: 500;
--font-weight-headline-xs: 500;
--font-weight-body-md: 400;
--radius-sm: 16px;
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 48px;
--spacing-xl: 96px;
}
```
### Design tokens (DTCG)
```json
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.486,
0.486
],
"hex": "#7c7c7c"
}
},
"tertiary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.067,
0.094,
0.153
],
"hex": "#111827"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.91,
0.878,
0.804
],
"hex": "#e8e0cd"
}
},
"brand-noghrei-silver": {
"$value": {
"colorSpace": "srgb",
"components": [
0.741,
0.741,
0.741
],
"hex": "#bdbdbd"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 6,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 14,
"unit": "px"
}
},
"md": {
"$value": {
"value": 24,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 48,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 96,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 16,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 60,
"unit": "px"
},
"fontWeight": 600,
"letterSpacing": {
"value": -0.03,
"unit": "em"
}
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 44,
"unit": "px"
},
"fontWeight": 500,
"letterSpacing": {
"value": -0.022,
"unit": "em"
}
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 33,
"unit": "px"
},
"fontWeight": 500
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 24,
"unit": "px"
},
"fontWeight": 500
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 18,
"unit": "px"
},
"fontWeight": 400
}
}
}
}
```
## Rules
- **Fonts.** If the specification names a custom or self-hosted family, use one of the substitutes it names. Never reference a typeface you cannot actually load — it will fall back to a system font and undo the typography.
- **Colour.** Derive the palette from the user's brand. Use the token values as a guide to *relationships* — contrast, tint, how many accents carry the page — not as hex codes to paste.
- **Never reproduce** the wordmark, mascot, logo, brand name, illustrations, icon set, screenshots or any copy from the reference.
- **Never present the result as Checkout Page**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.
---
version: alpha
name: Checkout Page
description: One platform for everything you sell
colors:
primary: "#000000"
secondary: "#7c7c7c"
tertiary: "#111827"
neutral: "#ffffff"
border: "#e8e0cd"
brand-noghrei-silver: "#bdbdbd"
surface: "{colors.neutral}"
on-surface: "{colors.primary}"
typography:
headline-lg:
fontFamily: Inter
fontSize: 60px
fontWeight: 600
lineHeight: 1
letterSpacing: -0.03em
headline-md:
fontFamily: Inter
fontSize: 44px
fontWeight: 500
lineHeight: 1.09
letterSpacing: -0.022em
headline-sm:
fontFamily: Inter
fontSize: 33px
fontWeight: 500
lineHeight: 1.21
headline-xs:
fontFamily: Inter
fontSize: 24px
fontWeight: 500
lineHeight: 1.21
body-md:
fontFamily: Inter
fontSize: 18px
fontWeight: 400
lineHeight: 1.63
rounded:
sm: 16px
spacing:
xs: 6px
sm: 14px
md: 24px
lg: 48px
xl: 96px
components:
button-primary:
backgroundColor: "#171717"
textColor: "{colors.neutral}"
rounded: "{rounded.sm}"
padding: 6px 16px
height: 80px
button-secondary:
backgroundColor: "{colors.neutral}"
textColor: "{colors.primary}"
rounded: "{rounded.sm}"
padding: 6px 16px
height: 80px
button-link:
textColor: "#4b5563"
rounded: 0px
card:
backgroundColor: "#faf6ec"
textColor: "#17130b"
rounded: "{rounded.sm}"
padding: 20px
---
# Checkout Page: Checkout Cards Showcase Beneath a Monochrome Hero
## Overview
Checkout Page's UI is pragmatic and sales-focused: monochrome typography on a bright surface with warm, understated accents. The audience is founders, creators, and teams who need trustworthy payments with minimal setup. The feel is serious but friendly — spacious sections, big type, and a consistent 16px radius language. Use color sparingly; contrast and hierarchy come from weight, size, spacing, and surface shifts rather than bright hues.
## Colors
- **primary (#000000):** Core ink for body text, labels, and high-contrast UI.
- **secondary (#7c7c7c):** Secondary text, helper copy, and muted icons.
- **tertiary (#111827):** Deep action and emphasis ink for headings within dark variants.
- **neutral (#ffffff):** Page canvas and default backgrounds.
- **border (#e8e0cd):** Warm divider lines and card outlines for gentle separation.
- **brand-noghrei-silver (#bdbdbd):** Subtle UI chrome and disabled states.
- **surface (#ffffff):** Content surfaces; equal to neutral.
- **on-surface (#000000):** Default text on surfaces; equal to primary.
## Typography
Inter is the single family across headings and body. It is freely available from Google Fonts and can be loaded directly. Substitutes with similar x-height and rhythm include Roboto, Ubuntu, or Cantarell.
- Headline LG (Inter 60px/1, 600, -0.03em): Hero headlines and key section intros.
- Headline MD (Inter 44px/1.09, 500, -0.022em): Major section headings.
- Headline SM (Inter 33px/1.21, 500) and XS (24px/1.21, 500): Subheads and card titles.
- Body MD (Inter 18px/1.63, 400): Paragraphs, FAQs, and captions. Keep generous line height to preserve the spacious feel.
## Layout
Spacing scales in distinct jumps: 6, 14, 24, 48, and 96px. Use 48–96px for section padding, 24px for internal gutters and card spacing, and 14px for dense UI stacks like form fields. Build responsive grids from the 24px rhythm: 1-up on mobile, 2–3-up on desktop, with 24px gaps. Keep generous negative space around hero and marquee elements to preserve the clean, product-forward tone.
## Elevation & Depth
Depth is restrained. Use sm shadow (rgba(11,18,32,0.1) 0 12px 32px) for floating cards and md shadow for interactive emphasis. Large shadows are absent; rely on the warm border (#e8e0cd) and the card surface (#faf6ec) for hierarchy. Avoid heavy blurs or colored glows — contrast comes from tone and spacing.
## Shapes
A single radius sets the voice: 16px (rounded.sm). Apply it to buttons, cards, inputs, and modals for consistency. Links remain square (button-link radius 0) to read as textual actions. Radii communicate interactivity and friendliness without whimsy — don't mix with sharper or pill shapes.
## Components
Buttons and cards are the core building blocks.
- Button Primary: Background #171717, text #ffffff, 16px radius, 6px x 16px padding, 80px fixed height. Use for primary CTAs.
- Button Secondary: Background #ffffff, text #000000, 16px radius, same sizing. Use where the action is important but not the primary path.
- Button Link: Text #4b5563, radius 0. For low-emphasis inline actions.
- Card: Background #faf6ec, text #17130b, 16px radius, 20px padding. Pair with border #e8e0cd or sm shadow for lift.
### Hero with Dual CTAs
- H1 uses Inter 60px/1, 600, -0.03em. Two buttons (primary and secondary) sit side by side with 24px gap and 48–96px vertical breathing room.
### Logo Marquee
- A single row of grayscale logos on the neutral surface. Use 24px gaps and the border color for faint separators if needed.
### Use-case Panels
- Three-up grid of cards (background #faf6ec, border #e8e0cd, radius 16px, padding 20px). Titles in Inter 24px/1.21, body at 18px/1.63.
### Delivery Methods Grid
- Four cards for Embedded, Pop-up, Hosted, and Link. Maintain 24px gaps, sm shadow, and consistent 16px radii.
### Comparison Split
- Two-column layout: left neutral surface with minimal chrome, right highlighted flow using the Card spec. 48px column gap; bullets in 18px body.
### AI Chat Panel
- Chat-like card using Card tokens; messages stack at 14px spacing. Buttons use primary/secondary styles.
### API Code Block
- Monochrome surface with on-surface text #000000 and 24px padding. Pair with md shadow to lift above the section.
### Pricing Band with Two CTAs
- Headline SM for section title, three bullet points in Body MD, and the standard primary + secondary buttons. Section padding 96px.
## Do's and Don'ts
- Do set hero headlines in Inter 60px/1, 600 with -0.03em tracking to match the page voice.
- Do keep buttons at 80px height with 16px radii; mix primary (#171717) and secondary (#ffffff) for clear paths.
- Do use the warm card surface #faf6ec with border #e8e0cd for product and pricing examples; reserve pure white for the page canvas.
- Don't introduce new accent colors; emphasis should come from weight, size, and spacing.
- Don't use large or colored shadows; stick to sm or md and lean on borders for separation.
- Don't round anything beyond 16px or mix in pill buttons; the system is not pill-shaped.
## Agent Prompt Guide
Quick color reference
- Text: #000000
- Background: #ffffff
- Border: #e8e0cd
- Accent/CTA: #171717
1) Build a hero section
- Canvas #ffffff with 96px top/bottom padding.
- H1: Inter 60px, weight 600, line-height 1, letter-spacing -0.03em, color #000000.
- Body: Inter 18px/1.63, color #7c7c7c, max-width 680px.
- Primary button: 80px height, padding 6px 16px, radius 16px, bg #171717, text #ffffff.
- Secondary button: 80px height, padding 6px 16px, radius 16px, bg #ffffff, text #000000.
- Gap between buttons: 24px.
2) Create a 3-up use-case grid
- Grid gaps 24px; section padding 48px.
- Each card: bg #faf6ec, text #17130b, border 1px solid #e8e0cd, radius 16px, padding 20px, shadow rgba(11,18,32,0.1) 0 12px 32px.
- Title: Inter 24px/1.21, 500; body: Inter 18px/1.63, 400.
3) Make a comparison split
- Two columns with 48px gap on #ffffff.
- Left column: neutral panel with thin border #e8e0cd; right column uses Card spec (#faf6ec, radius 16px, padding 20px, sm shadow).
- Section heading: Inter 33px/1.21, 500.
4) Build a delivery methods grid (4 items)
- Same card spec as above; include a small code or UI snippet inside each.
- Headings: Inter 24px/1.21; captions: Inter 18px/1.63.
- Place a primary button (#171717/#ffffff, 80px height) below the grid.
5) Add a pricing CTA band
- Background #ffffff, 96px vertical padding.
- Title: Inter 33px/1.21, 500; bullets: Inter 18px/1.63.
- Primary and secondary buttons as defined; 24px gap.
## Similar Brands
- Stripe: similarly spare type-led design; Stripe diverges with vibrant gradients while Checkout Page stays monochrome with warm cream cards.
- Gumroad: minimal interface and creator focus; Gumroad uses brighter accent colors, where Checkout Page relies on black and warm neutrals.
- Lemon Squeezy: ecommerce infrastructure with bold CTAs; more playful color than Checkout Page's restrained palette.
- SamCart: conversion-focused layouts and comparison sections; SamCart employs more color and heavier marketing chrome.
- Paddle: infrastructure narrative with API emphasis; Paddle leans corporate blue, while Checkout Page opts for black-and-white with beige surfaces.
:root {
/* Colors */
--color-primary: #000000;
--color-secondary: #7c7c7c;
--color-tertiary: #111827;
--color-neutral: #ffffff;
--color-border: #e8e0cd;
--color-brand-noghrei-silver: #bdbdbd;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 60px;
--text-headline-lg-weight: 600;
--text-headline-lg-leading: 1;
--text-headline-lg-tracking: -0.03em;
--text-headline-md-size: 44px;
--text-headline-md-weight: 500;
--text-headline-md-leading: 1.09;
--text-headline-md-tracking: -0.022em;
--text-headline-sm-size: 33px;
--text-headline-sm-weight: 500;
--text-headline-sm-leading: 1.21;
--text-headline-xs-size: 24px;
--text-headline-xs-weight: 500;
--text-headline-xs-leading: 1.21;
--text-body-md-size: 18px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.63;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 16px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 48px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: #171717;
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 6px 16px;
--button-primary-height: 80px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-primary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 6px 16px;
--button-secondary-height: 80px;
--button-link-text-color: #4b5563;
--button-link-rounded: 0px;
--card-background-color: #faf6ec;
--card-text-color: #17130b;
--card-rounded: var(--radius-sm);
--card-padding: 20px;
}
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "One platform for everything you sell",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.486,
0.486
],
"hex": "#7c7c7c"
}
},
"tertiary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.067,
0.094,
0.153
],
"hex": "#111827"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.91,
0.878,
0.804
],
"hex": "#e8e0cd"
}
},
"brand-noghrei-silver": {
"$value": {
"colorSpace": "srgb",
"components": [
0.741,
0.741,
0.741
],
"hex": "#bdbdbd"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 6,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 14,
"unit": "px"
}
},
"md": {
"$value": {
"value": 24,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 48,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 96,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 16,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 60,
"unit": "px"
},
"fontWeight": 600,
"letterSpacing": {
"value": -0.03,
"unit": "em"
}
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 44,
"unit": "px"
},
"fontWeight": 500,
"letterSpacing": {
"value": -0.022,
"unit": "em"
}
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 33,
"unit": "px"
},
"fontWeight": 500
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 24,
"unit": "px"
},
"fontWeight": 500
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 18,
"unit": "px"
},
"fontWeight": 400
}
}
}
} @theme {
--color-primary: #000000;
--color-secondary: #7c7c7c;
--color-tertiary: #111827;
--color-neutral: #ffffff;
--color-border: #e8e0cd;
--color-brand-noghrei-silver: #bdbdbd;
--color-surface: #ffffff;
--color-on-surface: #000000;
--font-headline-lg: "Inter";
--font-headline-md: "Inter";
--font-headline-sm: "Inter";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 60px;
--text-headline-md: 44px;
--text-headline-sm: 33px;
--text-headline-xs: 24px;
--text-body-md: 18px;
--tracking-headline-lg: -0.03em;
--tracking-headline-md: -0.022em;
--font-weight-headline-lg: 600;
--font-weight-headline-md: 500;
--font-weight-headline-sm: 500;
--font-weight-headline-xs: 500;
--font-weight-body-md: 400;
--radius-sm: 16px;
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 48px;
--spacing-xl: 96px;
} # Design brief: the Checkout Page design language
Below is a complete design specification measured from a real, published web page. Use it as a design language for the user's product. It is not a page to reproduce.
## Reference images
- Full page: https://cdn.designmunk.com/2026/09/07082645/checkoutpage-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/07082645/checkoutpage-com-featured.webp
- On DesignMunk: https://designmunk.com/checkout-page/
Study these for hierarchy, rhythm, spacing and density. Where an image and the written spec disagree, the spec wins: the tokens were read from the page's own CSS, the images are one rendering of it.
## Before you start
Ask the user what they are building, who it is for, and what brand assets they already have — name, colours, typefaces. Wait for their answers before writing anything. Everything below is then applied to their product, not to the reference.
## Design specification
# Checkout Page: Checkout Cards Showcase Beneath a Monochrome Hero
## Overview
Checkout Page's UI is pragmatic and sales-focused: monochrome typography on a bright surface with warm, understated accents. The audience is founders, creators, and teams who need trustworthy payments with minimal setup. The feel is serious but friendly — spacious sections, big type, and a consistent 16px radius language. Use color sparingly; contrast and hierarchy come from weight, size, spacing, and surface shifts rather than bright hues.
## Colors
- **primary (#000000):** Core ink for body text, labels, and high-contrast UI.
- **secondary (#7c7c7c):** Secondary text, helper copy, and muted icons.
- **tertiary (#111827):** Deep action and emphasis ink for headings within dark variants.
- **neutral (#ffffff):** Page canvas and default backgrounds.
- **border (#e8e0cd):** Warm divider lines and card outlines for gentle separation.
- **brand-noghrei-silver (#bdbdbd):** Subtle UI chrome and disabled states.
- **surface (#ffffff):** Content surfaces; equal to neutral.
- **on-surface (#000000):** Default text on surfaces; equal to primary.
## Typography
Inter is the single family across headings and body. It is freely available from Google Fonts and can be loaded directly. Substitutes with similar x-height and rhythm include Roboto, Ubuntu, or Cantarell.
- Headline LG (Inter 60px/1, 600, -0.03em): Hero headlines and key section intros.
- Headline MD (Inter 44px/1.09, 500, -0.022em): Major section headings.
- Headline SM (Inter 33px/1.21, 500) and XS (24px/1.21, 500): Subheads and card titles.
- Body MD (Inter 18px/1.63, 400): Paragraphs, FAQs, and captions. Keep generous line height to preserve the spacious feel.
## Layout
Spacing scales in distinct jumps: 6, 14, 24, 48, and 96px. Use 48–96px for section padding, 24px for internal gutters and card spacing, and 14px for dense UI stacks like form fields. Build responsive grids from the 24px rhythm: 1-up on mobile, 2–3-up on desktop, with 24px gaps. Keep generous negative space around hero and marquee elements to preserve the clean, product-forward tone.
## Elevation & Depth
Depth is restrained. Use sm shadow (rgba(11,18,32,0.1) 0 12px 32px) for floating cards and md shadow for interactive emphasis. Large shadows are absent; rely on the warm border (#e8e0cd) and the card surface (#faf6ec) for hierarchy. Avoid heavy blurs or colored glows — contrast comes from tone and spacing.
## Shapes
A single radius sets the voice: 16px (rounded.sm). Apply it to buttons, cards, inputs, and modals for consistency. Links remain square (button-link radius 0) to read as textual actions. Radii communicate interactivity and friendliness without whimsy — don't mix with sharper or pill shapes.
## Components
Buttons and cards are the core building blocks.
- Button Primary: Background #171717, text #ffffff, 16px radius, 6px x 16px padding, 80px fixed height. Use for primary CTAs.
- Button Secondary: Background #ffffff, text #000000, 16px radius, same sizing. Use where the action is important but not the primary path.
- Button Link: Text #4b5563, radius 0. For low-emphasis inline actions.
- Card: Background #faf6ec, text #17130b, 16px radius, 20px padding. Pair with border #e8e0cd or sm shadow for lift.
### Hero with Dual CTAs
- H1 uses Inter 60px/1, 600, -0.03em. Two buttons (primary and secondary) sit side by side with 24px gap and 48–96px vertical breathing room.
### Logo Marquee
- A single row of grayscale logos on the neutral surface. Use 24px gaps and the border color for faint separators if needed.
### Use-case Panels
- Three-up grid of cards (background #faf6ec, border #e8e0cd, radius 16px, padding 20px). Titles in Inter 24px/1.21, body at 18px/1.63.
### Delivery Methods Grid
- Four cards for Embedded, Pop-up, Hosted, and Link. Maintain 24px gaps, sm shadow, and consistent 16px radii.
### Comparison Split
- Two-column layout: left neutral surface with minimal chrome, right highlighted flow using the Card spec. 48px column gap; bullets in 18px body.
### AI Chat Panel
- Chat-like card using Card tokens; messages stack at 14px spacing. Buttons use primary/secondary styles.
### API Code Block
- Monochrome surface with on-surface text #000000 and 24px padding. Pair with md shadow to lift above the section.
### Pricing Band with Two CTAs
- Headline SM for section title, three bullet points in Body MD, and the standard primary + secondary buttons. Section padding 96px.
## Do's and Don'ts
- Do set hero headlines in Inter 60px/1, 600 with -0.03em tracking to match the page voice.
- Do keep buttons at 80px height with 16px radii; mix primary (#171717) and secondary (#ffffff) for clear paths.
- Do use the warm card surface #faf6ec with border #e8e0cd for product and pricing examples; reserve pure white for the page canvas.
- Don't introduce new accent colors; emphasis should come from weight, size, and spacing.
- Don't use large or colored shadows; stick to sm or md and lean on borders for separation.
- Don't round anything beyond 16px or mix in pill buttons; the system is not pill-shaped.
## Agent Prompt Guide
Quick color reference
- Text: #000000
- Background: #ffffff
- Border: #e8e0cd
- Accent/CTA: #171717
1) Build a hero section
- Canvas #ffffff with 96px top/bottom padding.
- H1: Inter 60px, weight 600, line-height 1, letter-spacing -0.03em, color #000000.
- Body: Inter 18px/1.63, color #7c7c7c, max-width 680px.
- Primary button: 80px height, padding 6px 16px, radius 16px, bg #171717, text #ffffff.
- Secondary button: 80px height, padding 6px 16px, radius 16px, bg #ffffff, text #000000.
- Gap between buttons: 24px.
2) Create a 3-up use-case grid
- Grid gaps 24px; section padding 48px.
- Each card: bg #faf6ec, text #17130b, border 1px solid #e8e0cd, radius 16px, padding 20px, shadow rgba(11,18,32,0.1) 0 12px 32px.
- Title: Inter 24px/1.21, 500; body: Inter 18px/1.63, 400.
3) Make a comparison split
- Two columns with 48px gap on #ffffff.
- Left column: neutral panel with thin border #e8e0cd; right column uses Card spec (#faf6ec, radius 16px, padding 20px, sm shadow).
- Section heading: Inter 33px/1.21, 500.
4) Build a delivery methods grid (4 items)
- Same card spec as above; include a small code or UI snippet inside each.
- Headings: Inter 24px/1.21; captions: Inter 18px/1.63.
- Place a primary button (#171717/#ffffff, 80px height) below the grid.
5) Add a pricing CTA band
- Background #ffffff, 96px vertical padding.
- Title: Inter 33px/1.21, 500; bullets: Inter 18px/1.63.
- Primary and secondary buttons as defined; 24px gap.
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #000000;
--color-secondary: #7c7c7c;
--color-tertiary: #111827;
--color-neutral: #ffffff;
--color-border: #e8e0cd;
--color-brand-noghrei-silver: #bdbdbd;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 60px;
--text-headline-lg-weight: 600;
--text-headline-lg-leading: 1;
--text-headline-lg-tracking: -0.03em;
--text-headline-md-size: 44px;
--text-headline-md-weight: 500;
--text-headline-md-leading: 1.09;
--text-headline-md-tracking: -0.022em;
--text-headline-sm-size: 33px;
--text-headline-sm-weight: 500;
--text-headline-sm-leading: 1.21;
--text-headline-xs-size: 24px;
--text-headline-xs-weight: 500;
--text-headline-xs-leading: 1.21;
--text-body-md-size: 18px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.63;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 16px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 48px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: #171717;
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 6px 16px;
--button-primary-height: 80px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-primary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 6px 16px;
--button-secondary-height: 80px;
--button-link-text-color: #4b5563;
--button-link-rounded: 0px;
--card-background-color: #faf6ec;
--card-text-color: #17130b;
--card-rounded: var(--radius-sm);
--card-padding: 20px;
}
```
## Rules
- **Fonts.** If the specification names a custom or self-hosted family, use one of the substitutes it names. Never reference a typeface you cannot actually load — it will fall back to a system font and undo the typography.
- **Colour.** Derive the palette from the user's brand. Use the token values as a guide to *relationships* — contrast, tint, how many accents carry the page — not as hex codes to paste.
- **Never reproduce** the wordmark, mascot, logo, brand name, illustrations, icon set, screenshots or any copy from the reference.
- **Never present the result as Checkout Page**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.

