# Shopifi-Inspired — Style Reference
> An inspired interpretation of Shopifi's design language — a cinematic commerce platform that runs two parallel design tracks. The marketing-hero and product-narrative pages live on near-black canvases with full-bleed photography of merchants, giant Neue Haas Grotesk display type at thin weights, and a single black-pill CTA stroked in white. The transactional pages (pricing, signup, dashboards) flip to a cream-mint canvas with pastel aloe and pistachio greens, the same pill button vocabulary, and Inter for UI body. The two tracks share typographic DNA but diverge sharply in canvas polarity — and that choice is the brand.

**Theme:** light

**Source website:** [https://www.shopify.com/](https://www.shopify.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 | `#000000` | `--color-primary` | primary role extracted from the source design |
| ink | `#000000` | `--color-ink` | ink role extracted from the source design |
| on primary | `#ffffff` | `--color-on-primary` | on primary role extracted from the source design |
| on dark | `#ffffff` | `--color-on-dark` | on dark role extracted from the source design |
| canvas night | `#000000` | `--color-canvas-night` | canvas night role extracted from the source design |
| canvas night elevated | `#0a0a0a` | `--color-canvas-night-elevated` | canvas night elevated role extracted from the source design |
| canvas light | `#ffffff` | `--color-canvas-light` | canvas light role extracted from the source design |
| canvas cream | `#fbfbf5` | `--color-canvas-cream` | canvas cream role extracted from the source design |
| surface elevated dark | `#1e2c31` | `--color-surface-elevated-dark` | surface elevated dark role extracted from the source design |
| shade 30 | `#d4d4d8` | `--color-shade-30` | shade 30 role extracted from the source design |
| shade 40 | `#a1a1aa` | `--color-shade-40` | shade 40 role extracted from the source design |
| shade 50 | `#71717a` | `--color-shade-50` | shade 50 role extracted from the source design |
| shade 60 | `#52525b` | `--color-shade-60` | shade 60 role extracted from the source design |
| shade 70 | `#3f3f46` | `--color-shade-70` | shade 70 role extracted from the source design |
| hairline light | `#e4e4e7` | `--color-hairline-light` | hairline light role extracted from the source design |
| hairline dark | `#1e2c31` | `--color-hairline-dark` | hairline dark role extracted from the source design |
| aloe 10 | `#c1fbd4` | `--color-aloe-10` | aloe 10 role extracted from the source design |
| pistachio 10 | `#d4f9e0` | `--color-pistachio-10` | pistachio 10 role extracted from the source design |
| link cool 1 | `#9dabad` | `--color-link-cool-1` | link cool 1 role extracted from the source design |
| link cool 2 | `#9797a2` | `--color-link-cool-2` | link cool 2 role extracted from the source design |
| link cool 3 | `#bdbdca` | `--color-link-cool-3` | link cool 3 role extracted from the source design |
| link mint | `#99b3ad` | `--color-link-mint` | link mint role extracted from the source design |

## Tokens — Typography

### NeueHaasGrotesk Display, Helvetica, Arial, sans-serif · `--font-primary`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 330, 500, 400
- **Sizes:** 96px, 70px, 55px, 48px, 28px, 24px, 20px, 18px
- **Line height:** 1, 1.16, 1.14, 1.28, 1.4, 1.25
- **Letter spacing:** 2.4px, 0, 0.42px, 0.36px, 0.3px, 0.72px
- **Role:** Brand typography family observed across the documented type scale.

### Inter Variable, Inter, Helvetica, Arial, sans-serif · `--font-family-2`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 550, 420, 500, 400
- **Sizes:** 18px, 16px, 14px, 13px, 12px
- **Line height:** 1.56, 1.5, 1.49, 1.2
- **Letter spacing:** 0, 0.28px, -0.13px, 0.72px
- **Role:** Brand typography family observed across the documented type scale.

### ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace · `--font-family-3`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 400
- **Sizes:** 16px
- **Line height:** 1.5
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Type Scale

| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| display-xxl | 96px | 1 | 2.4px | `--text-display-xxl` |
| display-xl | 70px | 1 | 0 | `--text-display-xl` |
| display-lg | 55px | 1.16 | 0 | `--text-display-lg` |
| display-md | 48px | 1.14 | 0 | `--text-display-md` |
| heading-xl | 28px | 1.28 | 0.42px | `--text-heading-xl` |
| heading-lg | 24px | 1.14 | 0.36px | `--text-heading-lg` |
| heading-md | 20px | 1.4 | 0.3px | `--text-heading-md` |
| heading-sm | 18px | 1.25 | 0.72px | `--text-heading-sm` |
| body-lg | 18px | 1.56 | 0 | `--text-body-lg` |
| body-md | 16px | 1.5 | 0 | `--text-body-md` |
| body-strong | 16px | 1.5 | 0 | `--text-body-strong` |
| caption | 14px | 1.49 | 0.28px | `--text-caption` |
| micro | 13px | 1.5 | -0.13px | `--text-micro` |
| eyebrow-cap | 12px | 1.2 | 0.72px | `--text-eyebrow-cap` |
| code | 16px | 1.5 | 0 | `--text-code` |

## 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 | 16px | `--spacing-lg` |
| xl | 24px | `--spacing-xl` |
| xxl | 32px | `--spacing-xxl` |
| huge | 64px | `--spacing-huge` |

### Border Radius

| Name | Value | Token |
|---|---|---|
| xs | 4px | `--radius-xs` |
| sm | 5px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 20px | `--radius-xl` |
| pill | 9999px | `--radius-pill` |

### Layout

- **Section gap:** 32px
- **Card padding:** 16px
- **Element gap:** 12px
- **Max content width:** 1200px

## Components

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

- **backgroundColor:** `{colors.primary}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.pill}`
- **padding:** `12px 24px`

### button primary pill pressed
**Role:** button primary pill pressed component

- **backgroundColor:** `{colors.shade-70}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.pill}`
- **padding:** `12px 24px`

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

- **backgroundColor:** `{colors.canvas-night}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.pill}`
- **padding:** `12px 26px`

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

- **backgroundColor:** `{colors.canvas-light}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.pill}`
- **padding:** `12px 24px`

### button aloe pill
**Role:** button aloe pill component

- **backgroundColor:** `{colors.aloe-10}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.pill}`
- **padding:** `12px 24px`

### text input
**Role:** text input component

- **backgroundColor:** `{colors.canvas-light}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.md}`
- **padding:** `10px 12px`

### card pricing
**Role:** card pricing component

- **backgroundColor:** `{colors.canvas-light}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.lg}`
- **padding:** `32px`

### card pricing featured
**Role:** card pricing featured component

- **backgroundColor:** `{colors.aloe-10}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.lg}`
- **padding:** `32px`

### card feature cinematic
**Role:** card feature cinematic component

- **backgroundColor:** `{colors.canvas-night-elevated}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-lg}`
- **rounded:** `{rounded.lg}`
- **padding:** `32px`

### card pistachio band
**Role:** card pistachio band component

- **backgroundColor:** `{colors.pistachio-10}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.lg}`
- **padding:** `32px`

### card photo frame
**Role:** card photo frame component

- **backgroundColor:** `{colors.canvas-night}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.xl}`
- **padding:** `0px`

### pill tag mint
**Role:** pill tag mint component

- **backgroundColor:** `{colors.aloe-10}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.eyebrow-cap}`
- **rounded:** `{rounded.pill}`
- **padding:** `4px 12px`

### pill tag shade
**Role:** pill tag shade component

- **backgroundColor:** `{colors.shade-30}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.eyebrow-cap}`
- **rounded:** `{rounded.pill}`
- **padding:** `4px 12px`

### nav bar light
**Role:** nav bar light component

- **backgroundColor:** `{colors.canvas-light}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.xs}`
- **padding:** `16px 24px`

### nav bar dark
**Role:** nav bar dark component

- **backgroundColor:** `{colors.canvas-night}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.xs}`
- **padding:** `16px 24px`

### link on dark
**Role:** link on dark component

- **backgroundColor:** `{colors.canvas-night}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.xs}`
- **padding:** `0px`

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

- **backgroundColor:** `{colors.canvas-night}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.caption}`
- **rounded:** `{rounded.xs}`
- **padding:** `64px 24px`

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

- **backgroundColor:** `{colors.canvas-light}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.caption}`
- **rounded:** `{rounded.xs}`
- **padding:** `64px 24px`

## Do's and Don'ts

### Do

- Use `--color-primary` for the brand's primary interaction treatment.
- Keep page surfaces anchored to `--color-canvas-night`.
- Preserve every typography style's documented size, line height, and letter spacing.
- Compare major implementation decisions against [the live Shopifi-Inspired website](https://www.shopify.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.shopify.com/).
