# MongoDB — Style Reference
> MongoDB carries a strong dual-mode visual identity — dark deep-teal hero bands with bright MongoDB green ({colors.brand-green}) CTAs paired with stark white documentation surfaces. The signature green pill button is unmistakable across product, pricing, learning, and AI use-case surfaces. The system uses Euclid Circular A as its display face, anchors a 3-tier pricing comparison (Free / Flex / Dedicated), and presents extensive course catalogs in card grids with colored category tags. Coverage spans homepage, Atlas product page, Community Edition, MongoDB University, AI use cases, and pricing.

**Theme:** light

**Source website:** [https://www.mongodb.com/](https://www.mongodb.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 | `#00ed64` | `--color-primary` | primary role extracted from the source design |
| primary deep | `#00b545` | `--color-primary-deep` | primary deep role extracted from the source design |
| primary pressed | `#008c34` | `--color-primary-pressed` | primary pressed role extracted from the source design |
| on primary | `#001e2b` | `--color-on-primary` | on primary role extracted from the source design |
| brand green | `#00ed64` | `--color-brand-green` | brand green role extracted from the source design |
| brand green dark | `#00684a` | `--color-brand-green-dark` | brand green dark role extracted from the source design |
| brand green mid | `#00a35c` | `--color-brand-green-mid` | brand green mid role extracted from the source design |
| brand green soft | `#c3f0d2` | `--color-brand-green-soft` | brand green soft role extracted from the source design |
| brand teal deep | `#001e2b` | `--color-brand-teal-deep` | brand teal deep role extracted from the source design |
| brand teal | `#003d4f` | `--color-brand-teal` | brand teal role extracted from the source design |
| brand teal mid | `#00684a` | `--color-brand-teal-mid` | brand teal mid role extracted from the source design |
| accent purple | `#7b3ff2` | `--color-accent-purple` | accent purple role extracted from the source design |
| accent orange | `#fa6e39` | `--color-accent-orange` | accent orange role extracted from the source design |
| accent pink | `#f06bb8` | `--color-accent-pink` | accent pink role extracted from the source design |
| accent blue | `#3d4f9f` | `--color-accent-blue` | accent blue role extracted from the source design |
| semantic warning bg | `#fff8e0` | `--color-semantic-warning-bg` | semantic warning bg role extracted from the source design |
| semantic warning text | `#946f3f` | `--color-semantic-warning-text` | semantic warning text role extracted from the source design |
| canvas | `#ffffff` | `--color-canvas` | canvas role extracted from the source design |
| canvas dark | `#001e2b` | `--color-canvas-dark` | canvas dark role extracted from the source design |
| surface | `#f9fbfa` | `--color-surface` | surface role extracted from the source design |
| surface soft | `#f4f7f6` | `--color-surface-soft` | surface soft role extracted from the source design |
| surface feature | `#e3fcef` | `--color-surface-feature` | surface feature role extracted from the source design |
| hairline | `#e1e5e8` | `--color-hairline` | hairline role extracted from the source design |
| hairline soft | `#eceff1` | `--color-hairline-soft` | hairline soft role extracted from the source design |
| hairline strong | `#c1ccd6` | `--color-hairline-strong` | hairline strong role extracted from the source design |
| hairline dark | `#1c2d38` | `--color-hairline-dark` | hairline dark role extracted from the source design |
| ink | `#001e2b` | `--color-ink` | ink role extracted from the source design |
| charcoal | `#1c2d38` | `--color-charcoal` | charcoal role extracted from the source design |
| slate | `#3d4f5b` | `--color-slate` | slate role extracted from the source design |
| steel | `#5c6c7a` | `--color-steel` | steel role extracted from the source design |
| stone | `#7c8c9a` | `--color-stone` | stone role extracted from the source design |
| muted | `#a8b3bc` | `--color-muted` | muted role extracted from the source design |
| on dark | `#ffffff` | `--color-on-dark` | on dark role extracted from the source design |
| on dark muted | `#a8b3bc` | `--color-on-dark-muted` | on dark muted role extracted from the source design |

## Tokens — Typography

### Euclid Circular A · `--font-primary`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 500, 600, 400
- **Sizes:** 72px, 56px, 48px, 36px, 28px, 22px, 18px, 16px, 14px, 13px, 12px, 11px
- **Line height:** 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.5, 1.55
- **Letter spacing:** -1.5px, -1px, -0.5px, 0, 1px
- **Role:** Brand typography family observed across the documented type scale.

### Source Code Pro · `--font-family-2`
- **Substitute:** Inter, system-ui, sans-serif
- **Weights:** 400
- **Sizes:** 14px
- **Line height:** 1.55
- **Letter spacing:** 0
- **Role:** Brand typography family observed across the documented type scale.

### Type Scale

| Role | Size | Line Height | Letter Spacing | Token |
|---|---|---|---|---|
| hero-display | 72px | 1.1 | -1.5px | `--text-hero-display` |
| display-lg | 56px | 1.15 | -1px | `--text-display-lg` |
| heading-1 | 48px | 1.2 | -0.5px | `--text-heading-1` |
| heading-2 | 36px | 1.25 | -0.5px | `--text-heading-2` |
| heading-3 | 28px | 1.3 | 0 | `--text-heading-3` |
| heading-4 | 22px | 1.35 | 0 | `--text-heading-4` |
| heading-5 | 18px | 1.4 | 0 | `--text-heading-5` |
| subtitle | 18px | 1.5 | 0 | `--text-subtitle` |
| body-md | 16px | 1.55 | 0 | `--text-body-md` |
| body-md-medium | 16px | 1.55 | 0 | `--text-body-md-medium` |
| body-sm | 14px | 1.5 | 0 | `--text-body-sm` |
| body-sm-medium | 14px | 1.5 | 0 | `--text-body-sm-medium` |
| caption | 13px | 1.4 | 0 | `--text-caption` |
| caption-bold | 13px | 1.4 | 0 | `--text-caption-bold` |
| micro | 12px | 1.4 | 0 | `--text-micro` |
| micro-uppercase | 11px | 1.4 | 1px | `--text-micro-uppercase` |
| button-md | 14px | 1.3 | 0 | `--text-button-md` |
| code-md | 14px | 1.55 | 0 | `--text-code-md` |

## Tokens — Spacing & Shapes

**Density:** comfortable

### Spacing Scale

| Name | Value | Token |
|---|---|---|
| xxs | 4px | `--spacing-xxs` |
| xs | 8px | `--spacing-xs` |
| sm | 12px | `--spacing-sm` |
| md | 16px | `--spacing-md` |
| lg | 20px | `--spacing-lg` |
| xl | 24px | `--spacing-xl` |
| xxl | 32px | `--spacing-xxl` |
| xxxl | 40px | `--spacing-xxxl` |
| section-sm | 48px | `--spacing-section-sm` |
| section | 64px | `--spacing-section` |
| section-lg | 96px | `--spacing-section-lg` |
| hero | 120px | `--spacing-hero` |

### Border Radius

| Name | Value | Token |
|---|---|---|
| xs | 4px | `--radius-xs` |
| sm | 6px | `--radius-sm` |
| md | 8px | `--radius-md` |
| lg | 12px | `--radius-lg` |
| xl | 16px | `--radius-xl` |
| xxl | 24px | `--radius-xxl` |
| full | 9999px | `--radius-full` |

### Layout

- **Section gap:** 64px
- **Card padding:** 20px
- **Element gap:** 16px
- **Max content width:** 1200px

## Components

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

- **backgroundColor:** `{colors.brand-green}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `10px 22px`

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

- **backgroundColor:** `{colors.primary-pressed}`
- **textColor:** `{colors.on-primary}`

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

- **backgroundColor:** `{colors.hairline}`
- **textColor:** `{colors.muted}`

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

- **backgroundColor:** `transparent`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `10px 22px`
- **border:** `1px solid {colors.hairline-strong}`

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

- **backgroundColor:** `{colors.brand-green}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `10px 22px`

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

- **backgroundColor:** `transparent`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.full}`
- **padding:** `10px 22px`
- **border:** `1px solid {colors.hairline-dark}`

### button ghost
**Role:** button ghost component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.button-md}`
- **rounded:** `{rounded.md}`
- **padding:** `8px 12px`

### button link
**Role:** button link component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.brand-green-dark}`
- **typography:** `{typography.body-sm-medium}`
- **padding:** `0`

### card base
**Role:** card base component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xl}`
- **border:** `1px solid {colors.hairline}`

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

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`
- **border:** `1px solid {colors.hairline}`

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

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`
- **border:** `1px solid {colors.hairline}`

### card feature dark
**Role:** card feature dark component

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`

### card course
**Role:** card course component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xl}`
- **border:** `1px solid {colors.hairline}`

### card cert
**Role:** card cert component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xl}`
- **border:** `1px solid {colors.hairline}`

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

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`
- **border:** `1px solid {colors.hairline}`

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

- **backgroundColor:** `{colors.surface-feature}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`
- **border:** `2px solid {colors.brand-green}`

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

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.md}`
- **padding:** `{spacing.sm} {spacing.md}`
- **border:** `1px solid {colors.hairline-strong}`
- **height:** `44px`

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

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **border:** `2px solid {colors.brand-green-dark}`

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

- **backgroundColor:** `{colors.surface}`
- **textColor:** `{colors.steel}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.md}`
- **padding:** `{spacing.sm} {spacing.md}`
- **height:** `44px`
- **border:** `1px solid {colors.hairline-strong}`

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

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.steel}`
- **typography:** `{typography.body-md}`
- **rounded:** `{rounded.md}`
- **padding:** `{spacing.md}`
- **height:** `56px`
- **border:** `1px solid {colors.hairline-strong}`

### pill tab
**Role:** pill tab component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.steel}`
- **typography:** `{typography.body-sm-medium}`
- **rounded:** `{rounded.full}`
- **padding:** `{spacing.xs} {spacing.md}`
- **border:** `1px solid {colors.hairline}`

### pill tab active
**Role:** pill tab active component

- **backgroundColor:** `{colors.ink}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `{rounded.full}`
- **border:** `1px solid {colors.ink}`

### segmented tab
**Role:** segmented tab component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.steel}`
- **typography:** `{typography.body-sm-medium}`
- **padding:** `{spacing.sm} {spacing.md}`
- **border:** `0 0 2px transparent solid`

### segmented tab active
**Role:** segmented tab active component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.brand-green-dark}`
- **typography:** `{typography.body-sm-medium}`
- **border:** `0 0 2px {colors.brand-green-dark} solid`

### badge green
**Role:** badge green component

- **backgroundColor:** `{colors.brand-green}`
- **textColor:** `{colors.on-primary}`
- **typography:** `{typography.caption-bold}`
- **rounded:** `{rounded.sm}`
- **padding:** `2px 8px`

### badge green soft
**Role:** badge green soft component

- **backgroundColor:** `{colors.brand-green-soft}`
- **textColor:** `{colors.brand-green-dark}`
- **typography:** `{typography.caption-bold}`
- **rounded:** `{rounded.full}`
- **padding:** `4px 10px`

### badge purple
**Role:** badge purple component

- **backgroundColor:** `{colors.accent-purple}`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.caption-bold}`
- **rounded:** `{rounded.sm}`
- **padding:** `2px 8px`

### badge orange
**Role:** badge orange component

- **backgroundColor:** `{colors.accent-orange}`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.caption-bold}`
- **rounded:** `{rounded.sm}`
- **padding:** `2px 8px`

### badge popular
**Role:** badge popular component

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.brand-green}`
- **typography:** `{typography.caption-bold}`
- **rounded:** `{rounded.full}`
- **padding:** `4px 10px`

### promo banner
**Role:** promo banner component

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.body-sm-medium}`
- **padding:** `{spacing.sm} {spacing.md}`

### hero band dark
**Role:** hero band dark component

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `0`
- **padding:** `{spacing.hero}`

### hero platform card
**Role:** hero platform card component

- **backgroundColor:** `{colors.brand-teal-mid}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `{rounded.xl}`
- **padding:** `{spacing.xxl}`

### cta banner dark
**Role:** cta banner dark component

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.section}`

### code block
**Role:** code block component

- **backgroundColor:** `{colors.canvas-dark}`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.code-md}`
- **rounded:** `{rounded.md}`
- **padding:** `{spacing.md}`

### code mockup card
**Role:** code mockup card component

- **backgroundColor:** `{colors.canvas-dark}`
- **textColor:** `{colors.on-dark}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.lg}`

### comparison table
**Role:** comparison table component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **typography:** `{typography.body-sm}`
- **rounded:** `{rounded.md}`
- **border:** `1px solid {colors.hairline}`

### comparison row
**Role:** comparison row component

- **backgroundColor:** `{colors.canvas}`
- **textColor:** `{colors.ink}`
- **padding:** `{spacing.md} {spacing.lg}`
- **border:** `0 0 1px {colors.hairline-soft} solid`

### service tile
**Role:** service tile component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xl}`
- **border:** `1px solid {colors.hairline}`

### why card
**Role:** why card component

- **backgroundColor:** `{colors.surface}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xl}`

### customer testimonial card
**Role:** customer testimonial card component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.lg}`
- **padding:** `{spacing.xxl}`
- **border:** `1px solid {colors.hairline}`

### logo wall item
**Role:** logo wall item component

- **backgroundColor:** `transparent`
- **textColor:** `{colors.steel}`
- **typography:** `{typography.body-md-medium}`
- **padding:** `{spacing.lg}`

### faq accordion item
**Role:** faq accordion item component

- **backgroundColor:** `{colors.canvas}`
- **rounded:** `{rounded.md}`
- **padding:** `{spacing.xl}`
- **border:** `0 0 1px {colors.hairline} solid`

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

- **backgroundColor:** `{colors.brand-teal-deep}`
- **textColor:** `{colors.on-dark}`
- **typography:** `{typography.body-sm}`
- **padding:** `{spacing.section} {spacing.xxl}`

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

- **backgroundColor:** `transparent`
- **textColor:** `{colors.on-dark-muted}`
- **typography:** `{typography.body-sm}`
- **padding:** `{spacing.xxs} 0`

## 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 MongoDB website](https://www.mongodb.com/).

### Don't

- Do not introduce colors outside the documented color token set.
- Do not replace `--color-accent-pink` 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.mongodb.com/).
