Skip to content

Alo Yoga Design System

Alo Yoga's marketing site is a magazine grid where every band is a photograph. Black-on-white chrome, Proxima Nova 400-900, hot pink only in product imagery. Tokens for React, Next.js, and AI coding tools.

Add shadcn.io to your AI agent. · Pro It installs blocks, icons and templates in your design system from a prompt, with Pro.

Set up MCP
Primary
#605e5c
Typeface
proxima-nova
Shape
Sharp
Base radius
4px
Colors
18
Type tokens
11
Components
16
Spacing values
9

About

About Alo Yoga DESIGN.md

Curated by Dov Azencot · Updated May 18, 2026 · Source aloyoga.com (opens in a new tab)

Alo Yoga's marketing site does what most athleisure brands hint at but never commit to: every band on the page is a photograph that bleeds to the viewport edge, and the brand chrome surrounding those photographs is monochrome. Black text on white canvas, a single rectangular black CTA, thin uppercase Proxima Nova category labels, and product cards that are themselves nothing more than a cropped model shot with a price strip beneath. Where Lululemon decorates its hero with a gradient overlay and an oversized serif headline, and where Outdoor Voices paints rounded color blocks behind its lifestyle imagery, Alo trusts the photograph to carry the entire emotional register. The chrome stays out of the way.

The DESIGN.md file packages the system into a machine-readable spec for React tooling. Inside: 18 colors tokens drawn from the 49 distinct values the page renders — almost all of them either pure black (#000000, the dominant text and border at 2075 occurrences), pure white, or warm-neutral greys, with a small set of brand accents (hot pink, dusty rose, sage cream, denim navy) that appear only inside in-image overlays. 11 typography tokens running Proxima Nova in three weights (400, 500, 600, 700, 900) across an editorial display tier at 32-60px in uppercase and a body tier at 12-16px with 0.3-0.9px tracking. 4 corner-radius tokens centered on 0px (everything is rectangular) plus 50% for the 123 circular swatches. 16 components definitions covering the rectangular black CTA, the italic editorial card, hero photography panels, category strips, and the dotted color-swatch selector beneath every product tile.

Feed this file to Claude or Cursor and it will reproduce Alo's specific moves: full-bleed photography per section, rectangular not pill-rounded CTAs, uppercase 18px / weight-900 button labels, tight italic Proxima Nova on the single editorial moment, and the strict discipline of keeping brand color out of the chrome entirely. Treat it as a reference rather than a clone target. The one move worth borrowing only if you sell visual product is the photography-as-voltage rule — strip the brand chrome to monochrome and let the imagery do every chromatic job. Most SaaS products lack imagery rich enough to carry the system this way; for fashion and lifestyle, it is the move.

What makes it distinct

5

  1. Photography-as-voltageevery brand color (hot pink, sage, cream, sand) lives inside model imagery rather than in chrome; the system itself uses only black, white, and warm grey
  2. Rectangular black CTAthe 256px-wide black-fill button with 18px / 900-weight uppercase text and zero corner-radius is the single typographic shout on the page
  3. Italic editorial displayProxima Nova italic at 32px / 400 on the Softcraft Capsule card breaks the otherwise all-uppercase display tier with a magazine pull-quote
  4. Two type tracksrunning text at 16px / 400 with 0.352px tracking, display tracked tight at -0.96px and shouted in 18-60px uppercase weight 500-700
  5. Pill-or-circle radius123 of the 125 captured radii are 50% (avatars, swatches, color dots); the remaining 2 are 4px on form fields. Everything else is square

aloyoga.com

Live at aloyoga.com

A snapshot of the brand in production. Scroll the frame to see the whole page.

Alo Yoga's website at aloyoga.com

Colors

18 colors

Alo Yoga's system runs on #605e5c as its primary voltage, used in 1 of 16 components. Type is set in proxima-nova across 11 tokens from 12px to 60px, weights 400–900. Shape language is sharp — components average 1px corner radius, favoring crisp rectangles.

Brand & Accent

Sparing, CTA-only voltage · 6

Surface

Page and card backgrounds · 2

Text

Headlines, body, captions · 5

Borders & Hairlines

Dividers, outlines, rules · 1

Other

Specialty colors · 4

Typography

11 type tokens

Set in proxima-nova across 11 tokens, from 12px to 60px, weights 400–900. Shown in its own stack: where the font isn't installed, the fallback the file names stands in.

  • display-xl60px · weight 700 · lh 72px · tracking -1.8pxThe quick brown fox jumps over the lazy dog
  • display-lg32px · weight 600 · lh 40px · tracking -0.96pxThe quick brown fox jumps over the lazy dog
  • display-italic32px · weight 400 · lh 35.2pxThe quick brown fox jumps over the lazy dog
  • label-lg18px · weight 500 · lh 23.94px · tracking 0.9pxThe quick brown fox jumps over the lazy dog
  • label-md14px · weight 600 · lh 19.6px · tracking 0.7pxThe quick brown fox jumps over the lazy dog
  • body-md16px · weight 400 · lh 22.4px · tracking 0.352pxThe quick brown fox jumps over the lazy dog
  • body-md-bold16px · weight 600 · lh 22.4px · tracking 0.352pxThe quick brown fox jumps over the lazy dog
  • body-sm14px · weight 400 · lh 19.6px · tracking 0.308pxThe quick brown fox jumps over the lazy dog
  • caption12px · weight 400 · lh 16.8px · tracking 0.48pxThe quick brown fox jumps over the lazy dog
  • caption-upper12px · weight 400 · lh 16pxThe quick brown fox jumps over the lazy dog
  • button-md18px · weight 900 · lh 18px · tracking 1.5pxThe quick brown fox jumps over the lazy dog

Layout

Radii and spacing

4 corner radii and 9 spacing values. Shape language: sharp.

Radii

  • none0px
  • sm4px
  • full9999px
  • circle50%

Spacing

  • xxs4px
  • xs8px
  • sm9px
  • base12px
  • md16px
  • lg24px
  • xl32px
  • 2xl40px
  • 3xl70px

Components

16 components

Each rendered from its tokens (color, type, radius, padding) on Alo Yoga's own canvas.

  • Button Primary
    button-primaryButton Primary
  • Button Secondary
    button-secondaryButton Secondary
  • Top Nav
    top-navTop Nav
  • Nav Link
    nav-linkNav Link
  • Hero Heading
    hero-headingHero Heading
  • Section Heading
    section-headingSection Heading
  • Editorial Card
    editorial-cardEditorial Card
  • Body Paragraph
    body-paragraphBody Paragraph
  • Body Paragraph Inverse
    body-paragraph-inverseBody Paragraph Inverse
  • Caption Strip
    caption-stripCaption Strip
  • Category Label
    category-labelCategory Label
  • Product Tile
    product-tileProduct Tile
  • Hero Band
    hero-bandHero Band
  • Color Swatch
    color-swatchColor Swatch
  • Type here…
    text-inputText Input
  • Promo Banner
    promo-bannerPromo Banner

In use

The system, in use

Alo Yoga's tokens on the kind of product it builds.

Build something people actually use.

A short paragraph of marketing copy that previews how the brand's display tier and body tier read together. Two sentences is usually enough.

Get startedLearn more
Marketing heroHeadline, sub-copy, primary CTA — the universal homepage opener.
Slow BurnAlbum · 2024
Open WindowSingle · 2025
Hours of LightEP · 2024
After HoursMix · 1h 42m
Media gridCover-art tiles with title + meta — streaming archetype.

FAQ

Alo Yoga design system FAQ

Common questions about Alo Yoga's tokens, components, and how to use this DESIGN.md in your project.

Read next

Specs, directories, and component libraries that pair with this design system.

Use it

Use Alo Yoga in your project

One machine-readable file. Drop it into Claude, Cursor, or any AI tool that reads DESIGN.md.

Download DESIGN.md
  1. Download the DESIGN.md

    One machine-readable file: every color, type, radius, spacing, and component token of Alo Yoga.

  2. Feed it to your AI tool

    Drop it into Claude, Cursor, or GitHub Copilot. The agent writes React components and Tailwind classes that match Alo Yoga's visual language.

  3. Reference the tokens directly

    Or paste the values into your Tailwind config, CSS variables, or component library: every color, size and radius is a quoted, ready-to-copy value.

Read the full DESIGN.md: overview, rationale, do’s and don’ts

Overview

Alo Yoga's marketing site inverts the activewear convention. Photography as voltage: where Lululemon overlays gradient washes on its hero imagery and where Outdoor Voices paints colored blocks behind its lifestyle shots, Alo runs each band as a full-bleed photograph against a pure white canvas ({colors.canvas} — #ffffff) with the surrounding chrome stripped to monochrome. The brand voltage — hot pink ({colors.highlight-pink} — #fe87bc), dusty rose ({colors.highlight-rose} — #ebbfc7), sage cream ({colors.highlight-medium} — #ceb18f), denim navy ({colors.accent-navy} — #01305c) — appears only inside the photographs themselves and inside product-tile color swatches. Outside those two contexts the system uses only black, white, and warm grey. The chrome trusts the imagery to do every chromatic job.

The single non-photographic typographic shout is the rectangular black CTA: 256px wide, 48px tall, 0px border-radius, filled with {colors.ink} (#000000) and carrying 18px / weight-900 uppercase Proxima Nova at 1.5px tracking. Where most DTC apparel brands wrap their primary CTA in a soft pill — capsule corners, rounded warmth, tactile bubble — Alo runs a perfect rectangle that reads more like a magazine caption-block than a tap target. Of 125 captured corner-radii in the page, only 2 are 4px (the search input field) and 123 are 50% (the color swatches and avatar circles); the remaining UI sits at 0px corners, which is the system's structural posture: editorial, not app-like.

The typography is Proxima Nova across every tier, used at five distinct weights (400, 500, 600, 700, 900). The display tier is dual-track: an editorial all-uppercase 60px / 700 / -1.8px tracking hero, and a single italic moment at 32px / 400 on the Softcraft Capsule card that breaks the otherwise tracked-out uppercase rhythm with a magazine pull-quote treatment. Body sits at 16px / 400 with 0.352px positive tracking; category labels run 18px uppercase / 500 with 0.9px tracking. There is no serif tier, no second font family, no system-ui escape hatch — Proxima Nova does every job, with weight and tracking carrying the hierarchy.

Key Characteristics:

  • Pure white canvas ({colors.canvas} — #ffffff) with full-bleed photography per band; the chrome around the imagery is strictly monochrome ({colors.ink} and grey-tone neutrals).
  • Rectangular black CTA ({component.button-primary}) at 0px border-radius, 256x48px, 18px / 900-weight uppercase Proxima Nova with 1.5px tracking — the single typographic shout on the page.
  • Proxima Nova across every tier in five weights (400/500/600/700/900). No second family, no serif, no system-ui fallback in the chrome.
  • Italic editorial card moment ({component.editorial-card}) at 32px / 400 italic on warm cream — the only italic in the system, reserved for product-capsule pull-quotes ("Alo Softcraft Capsule", "Traveling Pants, Upgraded").
  • Tracked-out uppercase labels ({typography.label-lg} at 18px / 500 / 0.9px tracking; {typography.label-md} at 14px / 600 / 0.7px tracking) for every category strip, navigation chip, and product-collection title.
  • Pill-or-circle radius scale — 123 of 125 captured radii are 50% (color swatches, avatars), 2 are 4px (form inputs). Every other surface sits at 0px.
  • Hot pink ({colors.highlight-pink} — #fe87bc) and sage cream ({colors.highlight-medium} — #ceb18f) appear only inside photography and color-swatch dots, never as button fills or chrome surfaces.
  • 8/9/16/24/32px spacing module — base unit of 8-9px, with 70px and 408px outliers used for hero overlays and section padding.

Colors

Structural

  • Ink ({colors.ink} — #000000): frequency 2075. Used as text (1084), border (958), background (24), gradient (9). The dominant tone in the system — every line of body copy, every product caption, every nav link, every hairline divider. Wired in CSS as --primary. The system has no near-black variant; #000000 is the single ink color.
  • Ink Soft ({colors.ink-soft} — #404040): frequency 8. Used as text and border on Osano cookie-banner controls. Wired as --mine. Reserved for the consent overlay and accessibility chrome.
  • Ink Warm ({colors.ink-warm} — #605e5c): frequency 54. Used as text (25), border (25), background (3). The secondary text tone — caption rows, product metadata, "View all" link strips. Wired as --chicago.
  • Canvas ({colors.canvas} — #ffffff): frequency 360. Used as background (57), border (141), text (140), gradient (22). The page floor and the inverse text color on photography overlays.

Surface and hairline

  • Surface-1 / Hairline ({colors.surface-1} — #ececec): frequency 156. Used as border (123) and background (28). The single hairline tone for product-card dividers, swatch outlines, and the muted cream surfaces beneath promotional bands. Wired as --smoke, --alert-light, --highlight-light.
  • Muted ({colors.muted} — #767676): frequency 1, used as the search-input border. The form-field outline tone.
  • Disabled ({colors.disabled} — #a3a3a3): frequency 2. Used as background (1) and border (1). Wired as --dawn — the disabled-toggle surface.

Brand (in-photography only)

  • Highlight Pink ({colors.highlight-pink} — #fe87bc): frequency 9, all as background within image overlays. The hot pink of the Softcraft Capsule and the lead activewear shots. Not a chrome color — appears only inside photography frames and as a color-swatch dot beneath the matching product tile.
  • Highlight Rose ({colors.highlight-rose} — #ebbfc7): frequency 3 background. The dusty rose used on softer product shots and swatch dots.
  • Highlight Medium ({colors.highlight-medium} — #ceb18f): frequency 13. Used as background (8), gradient (5). The sage cream wired as --highlight-medium — used on the "Alo Softcraft Capsule" editorial card as a warm-tinted overlay behind the italic display text.
  • Highlight Cream ({colors.highlight-cream} — #e5dac6): frequency 4. Used as background. Wired as --sand, --success-light — the soft-beige tone behind editorial pull-quotes.

Accent

  • Accent Navy ({colors.accent-navy} — #01305c): frequency 7, all as background. A deep denim navy used inside specific product imagery (denim capsule, men's outerwear shots). Not declared as a CSS variable; reads as the deepest non-black tone the page exposes.
  • Accent Medium ({colors.accent-medium} — #7183b0): frequency 0 in the captured render but declared as --accent-medium. Reserved for in-imagery overlays and out-of-stock badge variants.
  • Accent Soft ({colors.accent-soft} — #a8b6d1): frequency 4 background. The pale blue-grey used on cooler-toned product photography.
  • Accent Dark ({colors.accent-dark} — #384669): frequency 0 in capture but declared as --accent-dark. Reserved for in-imagery dark-tone variants.

Photo-derived warm tones

  • Brand Clay ({colors.brand-clay} — #442b19): frequency 3 background. The brown-clay tone of leather-detail product imagery.
  • Brand Mauve ({colors.brand-mauve} — #846080): frequency 3 background. The dusty mauve of the wellness-band photography.

Typography

Font Family

The system runs Proxima Nova for every typographic tier — display, heading, body, button, label, caption. Wired in CSS as --primary-font: "proxima-nova", Helvetica, sans-serif. There is no second family, no serif tier, no monospace voice. Five weights carry the entire hierarchy: 400 for body text and the single italic display moment, 500 for tracked-out uppercase labels, 600 for product-tile emphasis and h3 displays, 700 for the hero h2 at 60px, and 900 for the single rectangular black CTA at 18px uppercase.

Hierarchy

TokenSizeWeightLine HeightLetter SpacingUse
{typography.display-xl}60px70072px-1.8pxHero h2 ("First time at ALO?") on photography overlay
{typography.display-lg}32px60040px-0.96pxSection h3 uppercase ("THE PIECES EVERYONE WEARS")
{typography.display-italic}32px40035.2px0Editorial card italic ("Alo Softcraft Capsule") — only italic in the system
{typography.label-lg}18px50023.94px0.9pxUppercase category labels (h6 / span)
{typography.label-md}14px60019.6px0.7pxUppercase sub-section labels
{typography.body-md}16px40022.4px0.352pxDefault running text
{typography.body-md-bold}16px60022.4px0.352pxBody emphasis, product titles
{typography.body-sm}14px40019.6px0.308pxCaption rows, secondary copy
{typography.caption}12px40016.8px0.48pxFootnote and legal strips
{typography.caption-upper}12px40016px0Promo-banner top strip, uppercase metadata
{typography.button-md}18px90018px1.5pxThe single rectangular CTA label, uppercase tracked

Principles

The display tier is dual-track: a tracked-tight hero at 60px / weight 700 / -1.8px tracking on photography overlays, and a single italic moment at 32px / weight 400 / 0 tracking on the editorial card. Everything else in the display tier is uppercase. Body text runs at 16px / 400 with 0.352px positive tracking — wider than typical web body copy, which carries the editorial-magazine voice through into running prose. The 18px / 500 / 0.9px tracked uppercase label tier does the work that a small-caps treatment would do in a print-magazine layout.

The button-md token at 18px / weight 900 / 1.5px tracking is the heaviest typographic moment in the system — heavier than the hero display itself. The choice is intentional: the rectangular black CTA needs to read with maximum confidence against the photography it sits on top of, and weight 900 with extreme tracking is the loudest call-to-action treatment the brand uses anywhere.

Note on Font Substitutes

Proxima Nova is a licensed family. The closest open-source substitute is Montserrat at the same weights — the proportions transfer cleanly and Montserrat carries the same tracked-out uppercase character at 18px / 500. For body text, Inter at the same weights reads slightly tighter and may need +5% letter-spacing to match Proxima Nova's 0.352px tracking. The declared fallback is Helvetica.

Layout

Spacing System

  • Base unit: 8-9px (the dominant gap value, appearing 28 and 41 times respectively in the captured render).
  • Tokens: {spacing.xxs} 4px · {spacing.xs} 8px · {spacing.sm} 9px · {spacing.base} 12px · {spacing.md} 16px · {spacing.lg} 24px · {spacing.xl} 32px · {spacing.2xl} 40px · {spacing.3xl} 70px.
  • Section padding (vertical): ~70px between major bands, with 408px-tall hero overlays appearing 5 times in the captured page.
  • Card internal padding: 0 on product tiles (the photograph fills edge-to-edge), 24px on editorial cards.
  • Top-nav padding: ~16px vertical, with 53px total nav-link height.

Grid & Container

  • Hero bands: full-bleed photography, edge-to-edge at viewport width.
  • Product grid: 4-column at desktop showing model-photographed product tiles with a 9px gap between cells.
  • Logo / category strips: typically 2-up to 4-up rows of full-bleed image cells with thin caption strips between them.
  • Editorial overlay cards: centered within the photography band at ~668px width, with the italic display text plus a body paragraph.

Rhythm

The page is a vertical magazine grid — each band is either a single full-bleed photograph (lead capsule shots, lookbook bands, lifestyle stories) or a 2-to-4-up product grid where each cell is itself a cropped model shot. There are no atmospheric gradients between bands, no decorative dividers, no surface-color shifts. The transition between bands is a thin band of {colors.canvas} white space (typically 24-32px) and a small uppercase category label centered above the next photograph. The rhythm alternates between immersive (full-bleed lookbook) and dense (4-up product grid), but never sits in between.

Elevation

The system has essentially no shadow tier in the marketing chrome. Shadows declared in CSS (--shadow-level-1 through --shadow-level-4) carry small box-shadow definitions for the cookie banner and dropdown surfaces, but the captured page renders with 0 shadow occurrences across all rendered colors. Hierarchy comes from photography contrast — a model on a white floor pops against the canvas; a dark-background product shot sits adjacent to a light one with a thin hairline between them.

  • Flat (no shadow): every product tile, every hero, every editorial card, every nav surface — 100% of the page.
  • Photography contrast: depth is created by the imagery itself; the chrome around the photography is flat.
  • Hairline outlines: {colors.surface-1} (#ececec) marks dividers between product cells and outlines color swatches.

Shapes

The radius scale is rectangle-or-circle, with almost nothing in between:

  • {rounded.none} 0px — the dominant surface treatment. Every button, every card, every hero, every editorial overlay. The rectangle is the system's structural posture.
  • {rounded.sm} 4px — appears exactly 2 times in the captured render, on the search input field corners.
  • {rounded.circle} 50% — 123 of 125 captured radii. Used on color swatches beneath every product tile, on avatar dots in the customer-photo carousel, and on circular icon buttons in the top nav.
  • {rounded.full} 9999px — declared for any pill-shaped chip variants but not visible in the captured marketing chrome.

There is no 8 / 12 / 16 / 24px middle tier. The system is binary: surfaces are rectangles, decorative dots are circles. The choice keeps the brand voice editorial — a soft pill on the CTA would tip the page toward app-like warmth and away from the magazine-grid posture.

Components

button-primary — The signature CTA. Black {colors.ink} fill, white text, {rounded.none} 0px radius, 15x30 padding, 48px height, 256px wide. 18px / weight 900 uppercase Proxima Nova at 1.5px tracking. The single most assertive element on the page, sitting at the foot of hero photography overlays.

button-secondary — White {colors.canvas} fill, black text, 1px {colors.ink} border. Same 48px height and rectangular {rounded.none} shape as the primary. Used for "Sign In" / secondary actions in modals.

top-nav — White {colors.canvas} surface, 53px height, ~16px horizontal padding. The Alo wordmark flush left, category links (NEW, MEN, WOMEN, ACCESSORIES, ABOUT) horizontally centered, and the account / cart icons flush right. No bottom hairline divider — the nav sits flush against the photography band beneath.

nav-link — Transparent background, black text at {typography.body-md} (16px / 400). 16px horizontal padding. No hover-state fill visible in the captured chrome.

hero-heading — White text on photography overlay, {typography.display-xl} (60px / 700 / -1.8px tracking). 0 padding — sits as text directly on the photograph rather than inside a contained box.

section-heading — Black {colors.ink} text, {typography.display-lg} (32px / 600 / -0.96px tracking, uppercase). Used for "THE PIECES EVERYONE WEARS", "POPULAR WITH NEW ARRIVALS", "SHOP THE LOOK" category headings.

editorial-card — Cream {colors.highlight-cream} (#e5dac6) or pink-tinted fill overlaid on photography, with {typography.display-italic} (32px / 400 italic) display text and {typography.body-md} body paragraph. The single italic moment in the system. Used twice: the Softcraft Capsule card and the "Traveling Pants, Upgraded" band.

body-paragraph — Black {colors.ink} text at {typography.body-md} — the workhorse running-text style.

body-paragraph-inverse — White {colors.canvas} text variant used on photography overlays and the black promo-banner strip.

caption-strip — Black text at {typography.label-md} (14px / 600 uppercase / 0.7px tracking). 9px vertical padding. Used beneath product photography for category labels ("WOMEN'S", "MEN'S", "BESTSELLER").

category-label — Black text at {typography.label-lg} (18px / 500 uppercase / 0.9px tracking). The larger category-header treatment used as section dividers.

product-tile — White {colors.canvas} background, 0 padding, {rounded.none} 0px radius. The product imagery fills the tile edge-to-edge with a single thin caption row below (product title at {typography.body-sm}, price at {typography.body-md-bold}, color swatches at {component.color-swatch} below that).

hero-band — Full-bleed {colors.canvas} background that hosts edge-to-edge photography. 0 padding, 0 border-radius. The structural container for every immersive image band.

color-swatch — Circular {rounded.circle} (50%) dot, ~18px diameter, with a 1px {colors.muted} border. Fills with the product-variant color (which lives outside the brand palette — pulled from the actual garment color). Appears in horizontal rows of 3-5 swatches beneath each product tile.

text-input — White {colors.canvas} fill, black text, {rounded.sm} 4px radius (the only non-zero rectangular radius in the system), 1px {colors.muted} border, 4x8 padding, 26px height. The search input is the canonical instance.

promo-banner — Black {colors.ink} fill, white text in {typography.caption-upper} (12px / 400 uppercase). 9x16 padding. The persistent top-of-page strip carrying free-shipping and rewards-program callouts.

Do's and Don'ts

Do keep every brand color inside photography or color-swatch dots. The chrome around the imagery is strictly monochrome — black, white, warm grey. Reaching for {colors.highlight-pink} (#fe87bc) as a CTA fill or {colors.accent-navy} (#01305c) as a nav background would break the photography-as-voltage rule that defines the system.

Do render the primary CTA as a perfect rectangle. {rounded.none} 0px corners on a 256x48 black block with 18px / weight 900 uppercase text is the canonical signature. Softening the corners to even a 4px radius shifts the read from editorial-magazine to consumer-app and weakens the brand's fashion-adjacent positioning.

Do use the italic display moment ({typography.display-italic}) only on editorial-capsule pull-quotes. The italic is the single non-uppercase display treatment in the system; using it for product titles or section headers dilutes the magazine-card effect.

Do track out every uppercase label with positive letter-spacing — 0.9px on 18px labels, 0.7px on 14px labels. The tracked-out uppercase is the system's signature for navigation and category strips; tight-set uppercase reads as a different brand voice entirely.

Don't use {colors.surface-1} (#ececec) as a button background or text color — it is a border-only token (123 of 156 occurrences are borders). For light surfaces use pure {colors.canvas} white; the system has no muted-surface tier.

Don't introduce an 8 / 12 / 16 / 24px middle radius tier. The system is binary — rectangles (0px) and circles (50%). Adding a soft-pill radius for buttons makes the page feel like an app rather than a magazine, which is the opposite of the brand's typographic intent.

Don't layer atmospheric gradients between bands. Every section terminates on the same {colors.canvas} white floor; depth comes from photography contrast and from the hairline divider between cells, not from background-color shifts.

Don't mix Helvetica or Arial weights with Proxima Nova in the running chrome. The system declares Helvetica as the fallback only — every visible body, label, button, and display in the captured page renders Proxima Nova. Mixing typefaces would break the single-family discipline that carries the entire hierarchy.

Known Gaps

  • Hover and focus states: the captured marketing chrome documents resting states only. Hover fills, focus rings, active-press tints, and disabled treatments for {component.button-primary} and {component.nav-link} are not captured.
  • Form input error states: {component.text-input} carries the resting state. Validation, error, and success styling lives inside the product checkout flow which is not exposed in the captured marketing page.
  • Dark mode: the captured surfaces are light-only. The Osano consent overlay uses a dark deep-violet variant for its background, but a brand dark mode is not represented in the chrome itself.
  • Motion: product carousels and lookbook bands ship with horizontal-scroll transitions; the spec captures end-state values only. Easing curves, autoplay timing, and parallax depth on hero photography live in the live page runtime.
  • Localized variants: the captured page is the Hebrew (he-il) locale, which renders right-to-left. Direction-sensitive components (top-nav, product tiles, caption strips) carry locale-specific layout adjustments not exposed in the token spec.
  • Product surfaces: this DESIGN.md captures the marketing site only. The PDP (product-detail page), checkout, account, and rewards-program surfaces carry richer state matrices, filter UI, and form chrome that are not represented here.
  • In-photography typography: lookbook bands include in-image typography (model-quote overlays, lookbook-name captions baked into the photograph) — these are illustrator-set rather than rendered HTML and live outside the token system.

E-commerce & Retail

More systems like this

More DESIGN.md files in E-commerce & Retail.

Pricing

Build it with Pro

The DESIGN.md files are free. Pro adds 6,000+ blocks, premium templates and the MCP server, so your AI editor builds in your system for you.

4.9/5 out of 5 · 150+ reviewsfrom 150+ founders and developers.

Billed once a year in USD. Cancel anytime.

Individual

For personal projects & open source

$32instead of $49/mo

$389 billed yearly

  • How many people can use the license.Seats: 1 seat
  • Client work, SaaS products and anything you charge for.Commercial use: Personal & open source only
  • Production-ready React sections: hero, pricing, features, dashboards and more.Pro blocks: 6,000+ blocks
  • Complete multi-page sites you can ship as they are.Templates: All 14 templates
  • React icons from every major library, installable with one command.React icons: 294k+ icons
  • Presets that restyle every block, in light and dark.Themes: All 59 themes
  • Lets your AI editor search, preview and install blocks for you.MCP server: Basic usage
  • Priority requests are answered first.Support: Standard

Team

Most popular

For freelancers, agencies & startups

$66instead of $99/mo

$789 billed yearly · ≈ $13/dev/mo

Everything in Individual, plus

  • How many people can use the license.Seats: Up to 5 seats
  • Client work, SaaS products and anything you charge for.Commercial use: Included
  • Lets your AI editor search, preview and install blocks for you.MCP server: High usage
  • Priority requests are answered first.Support: Priority

Organization

For companies with larger teams

$132instead of $199/mo

$1,589 billed yearly

Everything in Team, plus

  • How many people can use the license.Seats: Unlimited seats
  • Lets your AI editor search, preview and install blocks for you.MCP server: Unlimited usage
  • Secure checkout via Stripe
  • Code lives in your repo
  • Keep what you've shipped if you cancel
  • License terms

Your system, built for you

Every block, template and icon, installed by your AI agent in your design system. The DESIGN.md files stay free.

Get Pro