# Nike — Style Reference
> A photography-first commerce system built on extreme typographic contrast — towering uppercase Futura display lockups burned into editorial campaign imagery, sitting above a dense, neutral, near-monochrome retail chrome of pill-shaped black CTAs, gray search and tag pills, and tight 8px-grid product cards. The brand's voice is athletic, kinetic, and absolute: pure black, pure white, a single soft surface gray, and a deliberately small set of semantic accents (sale red, success green, restrained category tints) — every chromatic moment is reserved for editorial photography or pricing signal, never decorative chrome.

**Theme:** light

**Source website:** [https://www.nike.com/](https://www.nike.com/)  
Use the live official website to compare and validate this extracted snapshot. The current source website remains authoritative.

## Tokens — Colors

| Name | Value | Token | Role |
|---|---|---|---|
| primary | `#111111` | `--color-primary` | primary role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| soft cloud | `#f5f5f5` | `--color-soft-cloud` | soft cloud role extracted from the source design |
| ink | `#111111` | `--color-ink` | ink role extracted from the source design |
| charcoal | `#39393b` | `--color-charcoal` | charcoal role extracted from the source design |
| ash | `#4b4b4d` | `--color-ash` | ash role extracted from the source design |
| mute | `#707072` | `--color-mute` | mute role extracted from the source design |
| stone | `#9e9ea0` | `--color-stone` | stone role extracted from the source design |
| hairline | `#cacacb` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#e5e5e5` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| sale | `#d30005` | `--color-sale` | sale role extracted from the source design |
| sale deep | `#780700` | `--color-sale-deep` | sale deep role extracted from the source design |
| success | `#007d48` | `--color-success` | success role extracted from the source design |
| success bright | `#1eaa52` | `--color-success-bright` | success bright role extracted from the source design |
| info | `#1151ff` | `--color-info` | info role extracted from the source design |
| info deep | `#0034e3` | `--color-info-deep` | info deep role extracted from the source design |
| accent pink | `#ed1aa0` | `--color-accent-pink` | accent pink role extracted from the source design |
| accent pink soft | `#ffb0dd` | `--color-accent-pink-soft` | accent pink soft role extracted from the source design |
| accent purple soft | `#beaffd` | `--color-accent-purple-soft` | accent purple soft role extracted from the source design |
| accent purple pale | `#d6d1ff` | `--color-accent-purple-pale` | accent purple pale role extracted from the source design |
| accent teal | `#0a7281` | `--color-accent-teal` | accent teal role extracted from the source design |
| accent pink deep | `#4c012d` | `--color-accent-pink-deep` | accent pink deep role extracted from the source design |

## Tokens — Typography

### Nike Futura ND · `--font-primary`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 500
- **Sizes:** 96px
- **Line height:** 0.9
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Helvetica Now Display Medium · `--font-family-2`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 500
- **Sizes:** 32px, 24px, 16px
- **Line height:** 1.2, 1.75
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Helvetica Now Text · `--font-family-3`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 400, 500
- **Sizes:** 16px
- **Line height:** 1.5, 1.75
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Helvetica Now Text Medium · `--font-family-4`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 500
- **Sizes:** 16px, 14px, 12px
- **Line height:** 1.5
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Helvetica Neue · `--font-family-5`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 500
- **Sizes:** 9px
- **Line height:** 1.75
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Type Scale

| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-campaign | 96px | 0.9 | 0 | `--text-display-campaign` |
| heading-xl | 32px | 1.2 | 0 | `--text-heading-xl` |
| heading-lg | 24px | 1.2 | 0 | `--text-heading-lg` |
| heading-md | 16px | 1.75 | 0 | `--text-heading-md` |
| body-md | 16px | 1.5 | 0 | `--text-body-md` |
| body-strong | 16px | 1.5 | 0 | `--text-body-strong` |
| button-lg | 24px | 1.2 | 0 | `--text-button-lg` |
| button-md | 16px | 1.5 | 0 | `--text-button-md` |
| button-sm | 14px | 1.5 | 0 | `--text-button-sm` |
| link-md | 16px | 1.75 | 0 | `--text-link-md` |
| caption-md | 14px | 1.5 | 0 | `--text-caption-md` |
| caption-sm | 12px | 1.5 | 0 | `--text-caption-sm` |
| utility-xs | 9px | 1.75 | 0 | `--text-utility-xs` |

## Tokens — Spacing & Shapes

**Density:** comfortable

### Spacing Scale

| Name | Value | Token |
|---|---|---|
| xxs | 2px | `--spacing-xxs` |
| xs | 4px | `--spacing-xs` |
| sm | 8px | `--spacing-sm` |
| md | 12px | `--spacing-md` |
| lg | 18px | `--spacing-lg` |
| xl | 24px | `--spacing-xl` |
| xxl | 30px | `--spacing-xxl` |
| section | 48px | `--spacing-section` |

### Border Radius

| Name | Value | Token |
|---|---|---|
| none | 0px | `--radius-none` |
| sm | 18px | `--radius-sm` |
| md | 24px | `--radius-md` |
| lg | 30px | `--radius-lg` |
| full | 9999px | `--radius-full` |

### Layout

- **Section gap:** 48px
- **Card padding:** 18px
- **Element gap:** 12px
- **Max content width:** 1200px

## Components

### button primary
**Role:** button primary component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `16px 32px`
- **height:** `48px`

### button primary active
**Role:** button primary active component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`

### button secondary
**Role:** button secondary component

- **backgroundColor:** `{colors.soft-cloud}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `16px 32px`
- **height:** `48px`

### button outline on image
**Role:** button outline on image component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `12px 24px`

### button icon circular
**Role:** button icon circular component

- **backgroundColor:** `{colors.soft-cloud}`
- **textColor:** `{colors.ink}`
- **rounded:** `{rounded.full}`
- **size:** `40px`

### search pill
**Role:** search pill component

- **backgroundColor:** `{colors.soft-cloud}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.md}`
- **padding:** `8px 16px`
- **height:** `40px`

### search pill focused
**Role:** search pill focused component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **rounded:** `{rounded.md}`

### filter chip
**Role:** filter chip component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `8px 16px`

### filter chip active
**Role:** filter chip active component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`

### badge promo
**Role:** badge promo component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.caption-sm}`
- **rounded:** `{rounded.full}`
- **padding:** `4px 12px`

### badge sale text
**Role:** badge sale text component

- **textColor:** `{colors.sale}`
- **typography:** `{typography.caption-md}`

### product card
**Role:** product card component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-strong}`
- **rounded:** `{rounded.none}`
- **padding:** `0px`

### product card image
**Role:** product card image component

- **backgroundColor:** `{colors.soft-cloud}`
- **rounded:** `{rounded.none}`

### swatch dot
**Role:** swatch dot component

- **backgroundColor:** `{colors.ink}`
- **rounded:** `{rounded.full}`
- **size:** `12px`

### swatch dot active
**Role:** swatch dot active component

- **backgroundColor:** `{colors.ink}`
- **rounded:** `{rounded.full}`
- **size:** `12px`

### campaign tile
**Role:** campaign tile component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.display-campaign}`
- **rounded:** `{rounded.none}`

### category icon card
**Role:** category icon card component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.caption-md}`
- **rounded:** `{rounded.none}`

### member benefit card
**Role:** member benefit card component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.heading-lg}`
- **rounded:** `{rounded.none}`

### faq row
**Role:** faq row component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.heading-md}`
- **rounded:** `{rounded.none}`
- **padding:** `24px 0px`

### pdp disclosure row
**Role:** pdp disclosure row component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-strong}`
- **rounded:** `{rounded.none}`
- **padding:** `24px 0px`

### utility bar
**Role:** utility bar component

- **backgroundColor:** `{colors.soft-cloud}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.caption-sm}`
- **rounded:** `{rounded.none}`
- **height:** `36px`

### primary nav
**Role:** primary nav component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-strong}`
- **rounded:** `{rounded.none}`
- **height:** `56px`

### filter sidebar
**Role:** filter sidebar component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-strong}`
- **rounded:** `{rounded.none}`

### footer
**Role:** footer component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.mute}`
- **typography:** `{typography.caption-md}`
- **rounded:** `{rounded.none}`

## Do's and Don'ts

### Do

- Use `--color-primary` for the brand's primary interaction treatment.
- Keep page surfaces anchored to `--color-canvas`.
- Preserve every typography style's documented size, line height, and letter spacing.
- Compare major implementation decisions against [the live Nike website](https://www.nike.com/).

### Don't

- Do not introduce colors outside the documented color token set.
- Do not replace `--color-ink` with an arbitrary neutral.
- Do not flatten documented component states or spacing relationships.
- Do not treat this extracted snapshot as newer than the live source website.

## Layout

Use the documented spacing scale and component geometry as the implementation baseline. Validate responsive composition and current page rhythm against [the live source](https://www.nike.com/).
