light · big-type · sans · enterprise · data · purple-gradient · black-cta

DESIGN.md inspired by Scale AI

White canvas, Aeonik at a colossal 116px, black 8px CTAs, and a signature deep-to-light purple gradient (#5933b2 →

By webdesignhot · scale.com
$ npx @webdesignhot/design-md add scale-ai
Learn more about the CLI
Compare to…
try on →
theme
1440 × 900
mobile · 390 × 844
Tokens webdesignhot/0.1
  • bg #ffffff
  • bg-dark #070707
  • bg-deep #000000
  • bg-panel #f5f5f5
  • bg-mute #eaeaea
  • bg-soft #fafafa
  • surface #f5f5f5
  • surface-dark #0707079a
  • text AAA · 21.0 #000000
  • text-charcoal #1a1a1a
  • text-slate #3d3d3d
  • text-steel #575757
  • text-stone #767676
  • text-muted #999999
  • text-on-brand #ffffff
  • on-brand #ffffff
  • on-dark #ffffff
  • on-dark-muted #a8a8a8
  • brand AAA · 8.3 #5933b2
  • brand-deep #4a2a96
  • brand-light #9068c2
  • brand-mauve #8a507e
  • brand-periwinkle #7b8ce7
  • gradient-hero linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)
  • gradient-cool linear-gradient(135deg, #5933b2 0%, #7b8ce7 100%)
  • accent-lavender #9068c2
  • accent-violet #5933b2
  • link #000000
  • link-on-dark #9068c2
  • border — · 1.3 #e2e2e2
  • border-soft #eeeeee
  • border-strong — · 1.6 #cccccc
  • border-dark #2a2a2a
  • code-bg #0000000a
  • semantic-success #1a7f4b
  • semantic-warning-bg #fff6e0
  • semantic-warning-text #6b4e00
  • semantic-error #d12d2d
  • semantic-info #5933b2
Typography
Ship faster than ever.
display-mega "Aeonik" 116px w400 -0.03em
Ship faster than ever.
display-hero "Aeonik" 80px w400 -0.03em
Ship faster than ever.
display-lg "Aeonik" 64px w400 -0.02em
Ship faster than ever.
h1 "Aeonik" 48px w500 -0.018em
Built for teams that ship.
h2 "Aeonik" 36px w500 -0.012em
A complete kit
h3 "Aeonik" 28px w500 -0.005em
The quick brown fox jumps over the lazy dog.
h4 "Aeonik" 22px w600 0
The quick brown fox jumps over the lazy dog.
subtitle "Aeonik" 20px w400 0
The quick brown fox jumps over the lazy dog.
h5 "Aeonik" 18px w600 0
The quick brown fox jumps over the lazy dog.
body-lg "Aeonik" 18px w400 0
The quick brown fox jumps over the lazy dog.
body "Aeonik" 16px w400 0
The quick brown fox jumps over the lazy dog.
body-medium "Aeonik" 16px w500 0
The quick brown fox jumps over the lazy dog.
button "Aeonik" 15px w500 0
The quick brown fox jumps over the lazy dog.
body-sm "Aeonik" 14px w400 0
The quick brown fox jumps over the lazy dog.
body-sm-medium "Aeonik" 14px w500 0
npx @webdesignhot/design-md add stripe
code ui-monospace 14px w400 0
OUR DESIGN SYSTEM
label "Aeonik" 13px w500 0
OUR DESIGN SYSTEM
caption "Aeonik" 12px w500 0.02em
The quick brown fox jumps over the lazy dog.
eyebrow "Aeonik" 12px w600 0.08em
Spacing
  • step-0 0px
  • step-1 4px
  • step-2 8px
  • step-3 12px
  • step-4 16px
  • step-5 20px
  • step-6 24px
  • step-7 32px
  • step-8 40px
  • step-9 48px
  • step-10 64px
  • step-11 96px
  • step-12 120px
  • step-13 160px
Radius
  • micro 2px
  • sm 4px
  • md 8px
  • lg 12px
  • xl 16px
  • xxl 24px
  • pill 9999px
  • full 9999px
Components
Text link →
Card preview A complete kit — everything your product needs. Hero, pricing, FAQ, dashboard, docs — every layout your product needs.
New Stable v1.0
Design roles 8/8 mapped · webdesignhot/0.1

Maps the 8 canonical role names to this entry's actual tokens. Use these to plug the design into role-aware tools — shadcn/ui themes, role-aware Tailwind plugins, atelier-lint — without hard-coding token names.

  • background bg
  • foreground text
  • primary brand
  • primary-foreground on-brand
  • accent accent-lavender
  • muted text-muted
  • border border
  • ring brand
Export 4 formats · paste-ready
Tailwind

theme.extend block for tailwind.config.js

tailwind.config.js
CSS variables

:root { --bg, --text, --brand, … } you can paste anywhere

design.css
DTCG JSON

W3C Design Tokens Community Group format

design.tokens.json
Figma Variables

Importable into Figma → Variables → Import

figma-variables.json
The file
---
name: Scale AI
tagline: White canvas, Aeonik at a colossal 116px, black 8px CTAs, and a signature deep-to-light purple gradient (#5933b2 → #9068c2).
updated_at: 2026-05-30T00:00:00.000Z
published_at: 2026-05-29T21:43:52.422Z
author: webdesignhot
source_url: https://scale.com
spec: webdesignhot/0.1
quality: curated
featured: false
categories: [ai, saas]
tags: [light, big-type, sans, enterprise, data, purple-gradient, black-cta]
preview_swatch: ['#ffffff', '#5933b2', '#9068c2']
related: []
description: 'Scale AI runs the enterprise-data register at maximum scale: a stark white canvas, Aeonik set to a colossal 116px display headline at weight 400, and a black "Book Demo" CTA with a tight 8px radius. The brand''s one true flourish is a four-stop purple gradient — deep violet #5933b2 lifting to light lavender #9068c2, with a mauve #8a507e and periwinkle #7b8ce7 in the mid-stops — that pours across hero washes, data-visualization fills, and dark feature bands. Where Databricks chose red and Snowflake chose cyan, Scale chose oversized type and a single confident gradient against near-monochrome black-on-white. The system reads as data infrastructure for "the world''s most important decisions": dark hero bands carry white Aeonik headlines, light marketing surfaces stay almost entirely black-and-white, and the purple appears as event color rather than chrome. Nav surfaces sit on a quiet #f5f5f5 panel gray; cards use a translucent near-black #07070799 on dark grounds. Big-type confidence plus restrained color is the whole identity.'


# Canonical 8-role aliases (bg / text / brand / border / accent / muted / surface / danger).
# Maps role names to this entry's actual token names so role-aware
# downstream tools resolve `theme.background` → entry's `bg`, etc.
# Auto-generated by scripts/add-aliases.mjs — do not edit manually;
# regenerate after changing color token names.
aliases:
  background: bg
  foreground: text
  primary: brand
  primary-foreground: on-brand
  accent: accent-lavender
  muted: text-muted
  border: border
  ring: brand

colors:
  bg: '#ffffff'                        # canvas — marketing, product, docs (white-first)
  bg-dark: '#070707'                   # near-black — dark hero bands, footer ground
  bg-deep: '#000000'                   # pure black — CTA fills, maximal contrast surfaces
  bg-panel: '#f5f5f5'                  # nav panel / card / cta surface gray
  bg-mute: '#eaeaea'                   # mobile nav close + demo CTA chip gray
  bg-soft: '#fafafa'                   # softest light surface for nested content
  surface: '#f5f5f5'                   # alias of bg-panel — quiet light card surface
  surface-dark: '#0707079a'            # translucent near-black card on dark grounds (#07070799)
  text: '#000000'                      # ink — display + body, pure black on white
  text-charcoal: '#1a1a1a'             # near-black secondary headings
  text-slate: '#3d3d3d'                # slate — sub-titles, secondary body
  text-steel: '#575757'                # steel — body running-text, mobile cta wrapper
  text-stone: '#767676'                # stone — captions, metadata (AA on white)
  text-muted: '#999999'                # muted — disabled, placeholder
  text-on-brand: '#ffffff'             # white text on purple / black surfaces
  on-brand: '#ffffff'                  # alias
  on-dark: '#ffffff'                   # white text on near-black hero
  on-dark-muted: '#a8a8a8'             # muted on dark canvas
  brand: '#5933b2'                     # Scale purple — deep violet, gradient anchor
  brand-deep: '#4a2a96'                # deeper violet — pressed / shadow stop
  brand-light: '#9068c2'              # light lavender — gradient top stop
  brand-mauve: '#8a507e'               # gradient mid-stop — dusty mauve
  brand-periwinkle: '#7b8ce7'          # gradient mid-stop — cool periwinkle blue
  gradient-hero: 'linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)'
  gradient-cool: 'linear-gradient(135deg, #5933b2 0%, #7b8ce7 100%)'
  accent-lavender: '#9068c2'           # accent — light lavender highlight, links on dark
  accent-violet: '#5933b2'             # accent — deep violet, data-viz fills
  link: '#000000'                      # links are black on light (--tw-prose-links: #000)
  link-on-dark: '#9068c2'              # lavender link on dark grounds
  border: '#e2e2e2'                    # hairline default on white
  border-soft: '#eeeeee'               # softer hairline
  border-strong: '#cccccc'             # stronger outline — secondary button
  border-dark: '#2a2a2a'               # divider on near-black canvas
  code-bg: '#0000000a'                 # prose pre/code wash (--tw-prose-pre-bg)
  semantic-success: '#1a7f4b'          # confirmation green
  semantic-warning-bg: '#fff6e0'
  semantic-warning-text: '#6b4e00'
  semantic-error: '#d12d2d'
  semantic-info: '#5933b2'             # info notices reuse the brand purple

typography:
  display:
    family: '"Aeonik", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
    weights: [400, 500, 600, 700]
  body:
    family: '"Aeonik", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif'
    weights: [400, 500, 600]
  mono:
    family: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace'
    weights: [400, 500]
  scale:
    display-mega:    { size: 116, weight: 400, lineHeight: 0.95, tracking: '-0.03em',  family: display, notes: 'homepage hero h1 — colossal Aeonik at weight 400' }
    display-hero:    { size: 80,  weight: 400, lineHeight: 1.00, tracking: '-0.03em',  family: display, notes: 'product-page heroes' }
    display-lg:      { size: 64,  weight: 400, lineHeight: 1.05, tracking: '-0.02em',  family: display, notes: 'h2-scale section heads — also weight 400' }
    h1:              { size: 48,  weight: 500, lineHeight: 1.08, tracking: '-0.018em', family: display }
    h2:              { size: 36,  weight: 500, lineHeight: 1.15, tracking: '-0.012em', family: display }
    h3:              { size: 28,  weight: 500, lineHeight: 1.25, tracking: '-0.005em', family: display }
    h4:              { size: 22,  weight: 600, lineHeight: 1.30, tracking: '0',        family: body }
    h5:              { size: 18,  weight: 600, lineHeight: 1.35, tracking: '0',        family: body }
    subtitle:        { size: 20,  weight: 400, lineHeight: 1.50, tracking: '0',        family: body, notes: 'hero subheads, intro paragraphs' }
    body-lg:         { size: 18,  weight: 400, lineHeight: 1.55, tracking: '0',        family: body }
    body:            { size: 16,  weight: 400, lineHeight: 1.55, tracking: '0',        family: body }
    body-medium:     { size: 16,  weight: 500, lineHeight: 1.55, tracking: '0',        family: body }
    body-sm:         { size: 14,  weight: 400, lineHeight: 1.50, tracking: '0',        family: body }
    body-sm-medium:  { size: 14,  weight: 500, lineHeight: 1.50, tracking: '0',        family: body }
    label:           { size: 13,  weight: 500, lineHeight: 1.40, tracking: '0',        family: body }
    caption:         { size: 12,  weight: 500, lineHeight: 1.40, tracking: '0.02em',   family: body }
    eyebrow:         { size: 12,  weight: 600, lineHeight: 1.40, tracking: '0.08em',   family: body, transform: uppercase }
    button:          { size: 15,  weight: 500, lineHeight: 1.30, tracking: '0',        family: body }
    code:            { size: 14,  weight: 400, lineHeight: 1.55, tracking: '0',        family: mono }

radius:
  micro: 2
  sm: 4
  md: 8
  lg: 12
  xl: 16
  xxl: 24
  pill: 9999
  full: 9999

spacing:
  base: 4
  scale: [0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 96, 120, 160]

layout:
  page-width: 1280
  prose-width: 720
  header-height: 64

components:
  button-primary:
    backgroundColor: bg-deep
    textColor: on-brand
    rounded: md
    padding: '12px 20px'
    use: 'every primary CTA — Book Demo, Get Started, Contact Sales (BLACK fill, not purple)'
  button-primary-hover:
    backgroundColor: text-charcoal
    textColor: on-brand
    rounded: md
  button-primary-disabled:
    backgroundColor: border
    textColor: text-muted
    rounded: md
  button-secondary:
    backgroundColor: transparent
    textColor: text
    rounded: md
    padding: '12px 20px'
    border: '1px solid border-strong'
    use: 'less-committed pair next to primary on light — Learn more, Read the paper'
  button-on-dark:
    backgroundColor: bg
    textColor: text
    rounded: md
    padding: '12px 20px'
    use: 'inverts to WHITE fill / black text on near-black hero bands'
  button-secondary-on-dark:
    backgroundColor: transparent
    textColor: on-dark
    rounded: md
    padding: '12px 20px'
    border: '1px solid border-dark'
    use: 'outline button on dark hero — white text, hairline border'
  button-ghost:
    backgroundColor: transparent
    textColor: text
    rounded: md
    padding: '8px 12px'
    use: 'inline ghost — nav menu items, dropdown triggers'
  nav-cta-chip:
    backgroundColor: bg-mute
    textColor: text
    rounded: md
    padding: '8px 14px'
    use: 'mobile nav demo CTA chip (#eaeaea ground)'
  hero-band-light:
    backgroundColor: bg
    textColor: text
    padding: 120
    use: 'light hero — white canvas, black mega-headline, black CTA'
  hero-band-dark:
    backgroundColor: bg-dark
    textColor: on-dark
    padding: 120
    use: 'signature dark hero — near-black ground, WHITE 116px Aeonik headline'
  hero-band-gradient:
    backgroundColor: brand
    textColor: on-dark
    padding: 120
    background: gradient-hero
    use: 'purple-gradient hero / section wash — #5933b2 → #9068c2'
  feature-card:
    backgroundColor: bg
    textColor: text
    rounded: lg
    padding: 32
    border: '1px solid border'
    use: '3-up benefit grid on white surfaces'
  feature-card-panel:
    backgroundColor: bg-panel
    textColor: text
    rounded: lg
    padding: 32
    use: 'quiet gray surface card (#f5f5f5) — no border needed'
  feature-card-dark:
    backgroundColor: surface-dark
    textColor: on-dark
    rounded: lg
    padding: 32
    use: 'translucent near-black card (#07070799) over dark / gradient grounds'
  product-card:
    backgroundColor: bg-panel
    textColor: text
    rounded: lg
    padding: 32
    use: 'product surface card — Scale GenAI / Data Engine / Donovan on homepage'
  stat-card:
    backgroundColor: bg
    textColor: text
    rounded: lg
    padding: 32
    border: '1px solid border'
    use: 'data-heavy outcome stat tile — big number in display-lg + label'
  customer-story-card:
    backgroundColor: bg
    textColor: text
    rounded: lg
    padding: 32
    border: '1px solid border'
    use: 'customer story tile — logo + outcome stat + quote'
  logo-tile:
    backgroundColor: bg
    textColor: text-stone
    padding: 24
    use: 'monochrome enterprise + government logo wall (OpenAI, Meta, US Army)'
  badge-pill:
    backgroundColor: bg-panel
    textColor: text
    rounded: pill
    padding: '4px 12px'
    use: 'NEW, BETA, GA — quiet gray pill'
  badge-gradient:
    backgroundColor: brand
    textColor: on-dark
    rounded: pill
    padding: '4px 12px'
    background: gradient-hero
    use: 'rare purple-gradient highlight pill — featured launches only'
  badge-uppercase:
    backgroundColor: transparent
    textColor: text-steel
    use: 'eyebrow label — uppercase 12px / 600 / 0.08em tracking'
  text-input:
    backgroundColor: bg
    textColor: text
    rounded: md
    padding: '10px 14px'
    height: 44
    border: '1px solid border'
  text-input-focus:
    border: '2px solid brand'
  cta-band-dark:
    backgroundColor: bg-dark
    textColor: on-dark
    padding: 96
    use: 'pre-footer CTA — near-black ground with white CTA + outline-on-dark pair'
  cta-band-gradient:
    backgroundColor: brand
    textColor: on-dark
    padding: 96
    background: gradient-hero
    use: 'rare full-gradient CTA band — major launch / summit moments'
  code-block:
    backgroundColor: code-bg
    textColor: text
    rounded: md
    padding: 20
    use: 'fenced code on docs / blog — light translucent-black wash (#0000000a)'
  top-nav:
    backgroundColor: bg
    textColor: text
    height: 64
    use: 'white sticky nav — Scale wordmark left + black Book Demo CTA right'
  nav-panel:
    backgroundColor: bg-panel
    textColor: text
    rounded: lg
    padding: 24
    use: 'mega-menu dropdown panel — #f5f5f5 ground'
  footer:
    backgroundColor: bg-dark
    textColor: on-dark-muted
    padding: 96

motion:
  ease-standard: 'cubic-bezier(0.4, 0, 0.2, 1)'
  ease-emphasized: 'cubic-bezier(0.16, 1, 0.3, 1)'
  duration-fast: 150
  duration-standard: 240
  duration-slow: 320
  reduced-motion: 'respects prefers-reduced-motion: reduce — transitions reduced to opacity-only at 100ms; gradient drift and section-on-scroll reveals skip translate offset'

breakpoints:
  mobile: 640
  tablet: 1024
  desktop: 1280
  wide: 1536

shadows:
  ambient: '0 1px 2px rgba(7,7,7,0.04)'
  standard: '0 4px 12px rgba(7,7,7,0.08)'
  elevated: '0 12px 32px rgba(7,7,7,0.12)'
  deep: '0 24px 48px rgba(7,7,7,0.16)'
  ring: '0 0 0 3px rgba(89,51,178,0.35)'
  on-dark: 'none — near-black canvases use brightness-step / translucent-card layering rather than shadow'

accessibility:
  contrast-text-on-bg: 21.0                # AAA — #000000 on #ffffff (maximal)
  contrast-steel-on-bg: 7.0                # AAA — #575757 on #ffffff
  contrast-stone-on-bg: 4.5                # AA — #767676 on #ffffff at body sizes
  contrast-on-dark: 20.0                   # AAA — #ffffff on #070707
  contrast-on-brand: 6.6                   # AAA — #ffffff on #5933b2 (purple)
  contrast-on-cta: 21.0                    # AAA — #ffffff on #000000 (Book Demo)
  contrast-lavender-on-dark: 5.0           # AA — #9068c2 on #070707 (links on dark)
  focus-ring: '3px solid rgba(89,51,178,0.35) with 2px offset'
  reduced-motion-honored: true

dark-mode: 'dual-mode by section, not global toggle — light marketing surfaces stay white (#ffffff) with pure-black ink; the signature hero bands, the pre-footer CTA, and the global footer ship in near-black #070707 with white Aeonik headlines. A purple-gradient band (#5933b2 → #9068c2) appears as the third register for featured launches and data-visualization sections. The production site carries a `data-theme` attribute (theme-toggle audit score=3) but exposes no user-facing light/dark switch — the rhythm is structural, alternating white → near-black → gradient bands down the page.'
---

## 1. Visual Theme & Atmosphere

Scale AI takes the enterprise-data register and pushes its type to a scale almost no peer matches. The homepage hero headline is **Aeonik at 116px set to weight 400** — colossal, near-newspaper-masthead in size, but light in weight, so it reads as confident rather than shouty. The canvas underneath is stark white (`#ffffff`) with pure-black ink (`#000000`); there is no gray haze, no softened off-white. Where Databricks asserts identity through a single red and Snowflake through cyan, Scale asserts it through **sheer typographic size against maximal black-on-white contrast**, then spends its one color flourish on a purple gradient deployed with restraint.

The brand's signature dark hero band flips the canvas: a near-black ground (`#070707`) carrying the same enormous Aeonik headline in **white**. This dark-hero-with-white-mega-type is the most recognizable Scale composition — it is what the homepage leads with, and it positions the company as infrastructure for "the world's most important decisions" (the literal hero tagline). The dark band feels weighty and serious; the oversized white headline floating on near-black reads as gravity, not marketing fizz.

The one true color is a **four-stop purple gradient**: deep violet `#5933b2` lifting through a dusty mauve `#8a507e` to light lavender `#9068c2`, with a cool periwinkle `#7b8ce7` available in the cool variant. The gradient appears as hero washes, data-visualization fills, and the occasional featured band — never as button chrome, never as body text. This is the discipline that defines the system: the purple is event color. Most of the page is black, white, and a quiet panel gray (`#f5f5f5`), and the gradient lands as a deliberate moment.

CTAs are **black, not purple**. The primary "Book Demo" button is a `#000000` fill with white text and a tight **8px radius** — square-but-softened, decisive, engineered. Scale resisted the obvious move of putting the brand purple on the button; instead the button stays monochrome and the purple is reserved for surfaces. The 8px radius runs across buttons and inputs; pill radius is held back for status badges only.

The supporting neutrals are honestly neutral — `#f5f5f5` for nav panels and quiet cards, `#eaeaea` for mobile-nav chips, `#575757` steel for secondary body, and a translucent near-black `#07070799` for cards floating on dark or gradient grounds. The credibility lever, as with every enterprise data brand, is the logo wall: Scale leans on a mix of frontier-AI labs, Fortune 500s, and US government / defense customers, run as a monochrome strip below the hero. Big type, near-monochrome palette, one confident gradient — that is the whole identity.

**Key Characteristics:**
- **Colossal Aeonik headline at 116px / weight 400** — the single loudest signal; size carries the brand, not weight or color.
- **Stark white canvas `#ffffff` with pure-black ink `#000000`** — maximal 21:1 contrast, no off-white haze.
- **Signature near-black hero `#070707`** — same mega-type in white; "important decisions" gravity.
- **Purple gradient `#5933b2` → `#9068c2`** — the one color flourish; washes and data-viz only, never chrome.
- **Black `#000000` CTAs at 8px radius** — "Book Demo"; monochrome, not purple, square-but-softened.
- **Quiet panel gray `#f5f5f5`** — nav panels, dropdown surfaces, low-key cards; no shouting.
- **Aeonik single-family discipline** — display and body share one geometric sans; no serif anywhere.
- **Three structural registers** — white marketing / near-black hero / purple-gradient feature, alternated down the page.
- **Enterprise + government logo wall** — frontier labs, Fortune 500, US defense; density is the credibility lever.
- **Translucent near-black cards `#07070799`** — depth on dark grounds via opacity layering, not heavy shadow.

## 2. Color Palette & Roles

### Primary
- **Bg / Canvas** (`#ffffff`): The default white floor for marketing, product, docs, blog, pricing.
- **Bg Dark** (`#070707`): Near-black hero bands, pre-footer CTA, footer ground. The signature dark surface.
- **Bg Deep** (`#000000`): Pure black — CTA fills ("Book Demo") and maximal-contrast moments.
- **Text / Ink** (`#000000`): Display headlines, body emphasis — pure black on white.
- **Brand / Primary** (`#5933b2`) [→ `--gradient-color-2`]: Scale purple, deep violet — gradient anchor, focus ring, data-viz fill.

### Brand & Gradient
- **Brand Deep** (`#4a2a96`): Deeper violet for pressed states and gradient shadow stops.
- **Brand Light** (`#9068c2`) [→ `--gradient-color-1`]: Light lavender — the gradient's top stop, links on dark.
- **Brand Mauve** (`#8a507e`) [→ `--gradient-color-3`]: Dusty mauve — gradient mid-stop.
- **Brand Periwinkle** (`#7b8ce7`) [→ `--gradient-color-4`]: Cool periwinkle blue — gradient mid-stop for the cool variant.
- **Gradient Hero** (`linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)`): The signature warm-violet wash for hero bands and feature sections.
- **Gradient Cool** (`linear-gradient(135deg, #5933b2 0%, #7b8ce7 100%)`): Cooler violet-to-periwinkle variant for data-visualization fills.

### Accent
- **Accent Lavender** (`#9068c2`): Light lavender highlight, links and emphasis on dark grounds.
- **Accent Violet** (`#5933b2`): Deep violet for data-viz fills and chart accents.

### Interactive
- **Link** (`#000000`) [→ `--tw-prose-links`]: Links are pure black on light surfaces — underline carries the affordance, not color.
- **Link on Dark** (`#9068c2`): Lavender link on near-black / gradient grounds.
- **Selected**: Selection background uses brand purple at ~18% alpha (`rgba(89,51,178,0.18)`).

### Neutral Scale
- **Ink / Text** (`#000000`): Display, body emphasis.
- **Charcoal** (`#1a1a1a`): Near-black secondary headings, primary-button hover fill.
- **Slate** (`#3d3d3d`): Sub-titles, secondary body.
- **Steel** (`#575757`) [→ `--nav-mobile-cta-wrapper-bg`]: Body running-text default, mobile CTA wrapper.
- **Stone** (`#767676`): Captions, breadcrumbs, metadata (clears AA on white at body sizes).
- **Muted** (`#999999`): Disabled, placeholder text.

### Surface & Borders
- **Surface / Bg Panel** (`#f5f5f5`) [→ `--nav-card-background`, `--nav-panel-background`, `--nav-ctas-background`]: Quiet gray for nav panels, dropdown surfaces, low-key cards.
- **Bg Mute** (`#eaeaea`) [→ `--nav-mobile-close-background`, `--nav-mobile-demo-cta-bg`]: Mobile-nav close button and demo CTA chip ground.
- **Bg Soft** (`#fafafa`): Softest light surface for nested content.
- **Surface Dark** (`#07070799` — ~60% near-black) [→ `--card-bg`]: Translucent card over dark / gradient grounds.
- **Border** (`#e2e2e2`): Default 1px hairline on white.
- **Border Soft** (`#eeeeee`): Lighter hairline.
- **Border Strong** (`#cccccc`): Stronger outline — secondary button.
- **Border Dark** (`#2a2a2a`): Divider on near-black canvas.

### Shadow Colors
- **Ambient** (`rgba(7,7,7,0.04)`): Barely-visible card shadow.
- **Standard** (`rgba(7,7,7,0.08)`): Default elevated card.
- **Elevated** (`rgba(7,7,7,0.12)`): Floating popovers, dropdowns.
- **Deep** (`rgba(7,7,7,0.16)`): Modals, dialogs.
- Near-black canvases use **translucent-card layering** (`#07070799`) rather than cast shadow.

### Semantic
- **Success** (`#1a7f4b`): Confirmation green — kept neutral so it doesn't compete with the purple.
- **Warning Bg** (`#fff6e0`) / **Warning Text** (`#6b4e00`): Caution callouts.
- **Error** (`#d12d2d`): Validation errors.
- **Info** (`#5933b2`): Info notices reuse the brand purple.

### Code
- **Code Bg** (`#0000000a` — ~4% black) [→ `--tw-prose-pre-bg`]: Light translucent-black wash for fenced code and `<pre>` blocks on light surfaces.

## 3. Typography Rules

### Font Family
- **Primary**: `"Aeonik", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif`. Aeonik (CoType Foundry, a grotesque-geometric hybrid) carries every display and body role — single-family discipline.
- **Mono**: `ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace`. System mono for fenced code on docs / blog; Scale ships no custom mono.
- **Substitutes**: Aeonik is a licensed font, not open-source. The closest free pairing is **Inter** (similar x-height and geometric proportions; consider `letter-spacing: -0.01em` at display sizes to approximate Aeonik's tighter set). Both share the neutral grotesque character that keeps the focus on size, not personality.

### Hierarchy

| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| display-mega | Aeonik | 116 | 400 | 0.95 | -0.03em | Homepage hero h1 — colossal, light weight |
| display-hero | Aeonik | 80 | 400 | 1.00 | -0.03em | Product-page heroes |
| display-lg | Aeonik | 64 | 400 | 1.05 | -0.02em | h2-scale section heads — also weight 400 |
| h1 | Aeonik | 48 | 500 | 1.08 | -0.018em | Major section heads |
| h2 | Aeonik | 36 | 500 | 1.15 | -0.012em | Sub-section heads |
| h3 | Aeonik | 28 | 500 | 1.25 | -0.005em | Card titles, product surface heads |
| h4 | Aeonik | 22 | 600 | 1.30 | 0 | Inline emphasis heads |
| h5 | Aeonik | 18 | 600 | 1.35 | 0 | Smallest heading |
| subtitle | Aeonik | 20 | 400 | 1.50 | 0 | Hero subheads, intro paragraphs |
| body-lg | Aeonik | 18 | 400 | 1.55 | 0 | Blog body, long-form |
| body | Aeonik | 16 | 400 | 1.55 | 0 | Default marketing body |
| body-medium | Aeonik | 16 | 500 | 1.55 | 0 | Body emphasis |
| body-sm | Aeonik | 14 | 400 | 1.50 | 0 | Footer body, secondary copy |
| body-sm-medium | Aeonik | 14 | 500 | 1.50 | 0 | Card metadata |
| label | Aeonik | 13 | 500 | 1.40 | 0 | Form labels, inline tags |
| caption | Aeonik | 12 | 500 | 1.40 | 0.02em | Image captions, fine print |
| eyebrow | Aeonik | 12 | 600 | 1.40 | 0.08em | Uppercase section labels |
| button | Aeonik | 15 | 500 | 1.30 | 0 | CTA labels |
| code | mono | 14 | 400 | 1.55 | 0 | Fenced code, docs / blog |

### Principles
- **Display goes huge but light.** The hero headline is the defining choice — 116px at weight 400, not 700. The size carries the impact; the light weight keeps it from feeling aggressive. This is the opposite of Databricks's heavy 700-weight display register.
- **Negative tracking scales with size.** -0.03em at 116px and 80px, easing to -0.018em at 48px and back to 0 below 28px. The tight tracking on the mega-headline is what lets a 116px line hold together as a single confident block.
- **Weight steps up as size steps down.** Display sizes (116/80/64) sit at 400; mid headings (48/36/28) move to 500; small heads (22/18) reach 600. The smaller the text, the more weight it needs to hold presence.
- **Body line-height 1.55** for comfortable long-form reading. Blog and docs run long; the looser leading keeps technical paragraphs readable.
- **Eyebrow labels at 0.08em uppercase** — the only place tracking opens up, used for section labels ("PRODUCT", "CUSTOMERS", "PUBLIC SECTOR").
- **Button labels at weight 500, 15px.** Slightly larger and lighter than typical SaaS buttons (which run 14/600) — the black fill already gives the button weight, so the label stays calm.
- **Single-family discipline.** Aeonik carries display and body alike. No serif, no secondary display face. The restraint is the brand.

## 4. Component Stylings

### Buttons (4 variants)

**`button-primary`** — The "Book Demo" CTA. Background `#000000` (pure black, **not** the brand purple), text `#ffffff`, type Aeonik 15 / 500, padding 12×20px, **8px radius** (square-but-softened, not pill). Used on every primary action: "Book Demo", "Get Started", "Contact Sales", "Talk to an Expert".
- *Hover*: Background lightens to `#1a1a1a` charcoal over 150ms; no transform.
- *Pressed*: Background returns to pure black with a subtle inset over 80ms.
- *Disabled*: Background `#e2e2e2`, text `#999999`.

**`button-secondary`** — Transparent with `#cccccc` border, text `#000000`. Same 8px radius and 12×20px padding. The less-committed pair next to primary on light surfaces — "Learn more", "Read the paper".
- *Hover*: Border darkens `#cccccc` → `#000000` over 150ms.

**`button-on-dark`** — Inverts on near-black hero bands: **white `#ffffff` fill, black `#000000` text**, 8px radius. The primary action flips to white-on-dark rather than holding black (black-on-near-black would vanish).

**`button-secondary-on-dark`** — Transparent with `#2a2a2a` border, text `#ffffff`, 8px radius. The outline pair on near-black / gradient grounds.

**`button-ghost`** — Inline ghost: transparent, text `#000000`, smaller padding (8×12px), 8px radius. Used in nav menu items, dropdown triggers, table-row actions.

### Cards

**`feature-card`** — 3-up benefit grid card on white. Background `#ffffff`, 12px radius, 32px padding, 1px `#e2e2e2` border. Icon glyph (black or gradient-filled), h3 title (28 / 500), body description (16 / 400 `#575757`).

**`feature-card-panel`** — Quiet gray surface card. Background `#f5f5f5`, 12px radius, 32px padding, no border. Used when a card needs separation from white without a hairline.

**`feature-card-dark`** — Translucent near-black card over dark / gradient grounds. Background `#07070799` (~60% near-black), white text, 12px radius, 32px padding. The translucency lets the gradient behind it bleed through subtly.

**`product-card`** — Scale GenAI / Data Engine / Donovan product surface card on homepage. Background `#f5f5f5`, 12px radius, 32px padding, no border. Product name in h3, capability subhead, "Learn more →" link in black.

**`stat-card`** — Data-heavy outcome stat tile. White, 12px radius, 32px padding, 1px `#e2e2e2` border. Big number in display-lg (64 / 400, often gradient-filled), label in body-sm `#767676`.

**`customer-story-card`** — Customer story tile. White, 12px radius, 32px padding, 1px `#e2e2e2` border. Customer logo at top, outcome stat in h2, 1-line quote in body-medium, "Read the story →" link.

**`code-block`** — Fenced code on docs / blog. Background `#0000000a` (~4% black wash), black text in system mono 14 / 400 / 1.55, 8px radius, 20px padding. Light translucent ground keeps code legible without a heavy panel.

### Inputs / Forms

**`text-input`** — White, 8px radius, 10×14px padding, 44px height, 1px `#e2e2e2` border, placeholder `#999999`.

**`text-input-focus`** — Border thickens to 2px solid `#5933b2` (brand purple as the focus color — the one place purple touches a form control), plus a 3px outer ring at `rgba(89,51,178,0.35)`.

### Badges / Tags / Pills

**`badge-pill`** — "NEW", "BETA", "GA". Background `#f5f5f5` (quiet gray), text `#000000`, full pill (9999px), 4×12px padding, type eyebrow (12 / 600 / 0.08em / uppercase).

**`badge-gradient`** — Rare purple-gradient highlight pill for featured launches. Gradient-hero background, white text, full pill. Reserved for "NEW" tentpole moments — most badges stay gray.

**`badge-uppercase`** — Section eyebrow. Transparent, text `#575757`, type eyebrow (12 / 600 / 0.08em).

### Navigation

**`top-nav`** — 64px-tall sticky white bar. Scale wordmark anchors the left; horizontal menu (Products / Solutions / Customers / Company / Resources) center; "Book Demo" black CTA (`#000000`, white text, 8px radius) on the right. Stays white on every page including dark hero pages — the nav is constant.

**`nav-panel`** — Mega-menu dropdown panel on `#f5f5f5` ground, 12px radius, 24px padding. Multi-column product / solution links with capability subheads. The panel gray (`#f5f5f5`) is the same token across desktop dropdowns and mobile drawer.

**`nav-cta-chip`** — Mobile-nav demo CTA chip on `#eaeaea` ground, 8px radius, smaller padding. The mobile CTA wrapper sits on a `#575757` steel band.

**`footer`** — Near-black ground (`#070707`), white headings, `#a8a8a8` link tone. Multi-column — Products / Solutions / Company / Resources / Legal. 96px vertical padding. Enterprise + government logo strip often above the link grid.

### CTA Bands

**`cta-band-dark`** — Pre-footer CTA on near-black (`#070707`), white text, 96px padding. Headline in h1, subhead in subtitle, white primary CTA + outline-on-dark pair.

**`cta-band-gradient`** — Rare full-gradient CTA band (gradient-hero background, white text, 96px padding). Reserved for major launches / summit moments — the gradient is the event signal.

## 5. Layout Principles

### Spacing System
Base unit **4px**. Tokens: `xxs:4 · xs:8 · sm:12 · md:16 · lg:20 · xl:24 · xxl:32 · xxxl:40 · section-sm:48 · section:64 · section-lg:96 · hero:120 · mega:160`. Section padding alternates: 64px between minor bands, 96px between major bands, 120–160px for hero spaces — the oversized hero type needs oversized hero padding to breathe.

### Grid & Container
- **Max content width**: 1280px centered, with 32px horizontal breathing room on desktop, 24px tablet, 16px mobile.
- **Hero**: Full-width band, 120–160px padding, the mega-headline (116px) breaks wide — often spanning most of the container width as 1–2 lines.
- **3-up product card grid**: 3 columns desktop (Scale GenAI / Data Engine / Donovan), 2 tablet, 1 mobile.
- **4-up feature grid**: 4 columns desktop on benefit / capability pages.
- **Stat row**: 3–4 big-number stat cards across, gradient-filled numerals.
- **Customer / government logo wall**: 6-up desktop, 3-up tablet, 2-up mobile; monochrome SVGs at unified height (~32px).
- **Blog / docs**: Single-column prose ~720px wide, full-width code blocks and figures breaking out of the prose column.

### Whitespace Philosophy
The 116px headline only works with generous negative space around it — Scale runs hero padding at 120–160px, larger than peer SaaS brands, so the mega-type lands as a statement rather than crowding the viewport. White space is what lets the oversized type feel confident instead of overwhelming. Tight padding around 116px type would feel claustrophobic; loose padding makes it feel inevitable.

### Section Cadence
Homepage rhythm: near-black mega-hero band → enterprise + government logo wall (white) → 3-up product card grid (light / panel-gray surface) → purple-gradient feature band (data-viz wash) → 3-up benefit feature grid (white) → big-number stat row → customer story strip (white) → near-black pre-footer CTA → near-black footer. The three registers — white, near-black, gradient — alternate so no two heavy bands sit consecutively. The single gradient band mid-page is the color event; everything around it is near-monochrome.

## 6. Shapes & Radius Scale

| Tier | Token | Value | Use |
|---|---|---|---|
| Micro | micro | 2px | Inline tags inside data tables, dense cells |
| Standard | sm | 4px | Compact rows, dense badges |
| Comfortable | md | 8px | **Buttons** (Book Demo, all variants), form inputs, code blocks |
| Large | lg | 12px | Feature cards, product cards, stat cards, customer story cards, nav panels |
| Featured | xl | 16px | Hero illustration containers, large media frames |
| XXL | xxl | 24px | Decorative containers (rare) |
| Pill | pill | 9999px | Badges, status pills, NEW/BETA/GA chips |

The **8px radius on every button** is the signature shape choice — square-but-softened, decisive, engineered. The black "Book Demo" CTA at 8px reads as infrastructure-grade rather than playful. Pill radius is **reserved for badges only**; a pill button would soften the serious register the brand is after. Cards sit at 12px to feel solid and stable. Code blocks share the 8px button radius — code and CTAs speak the same "decisive rectangle" language.

## 7. Depth & Elevation

| Level | Treatment | Use |
|---|---|---|
| 0 — Flat | No shadow | Body sections, top nav (until scrolled), near-black hero bands |
| 1 — Ambient | `0 1px 2px rgba(7,7,7,0.04)` | Sticky nav after scroll |
| 2 — Standard | `0 4px 12px rgba(7,7,7,0.08)` | Default elevated cards (feature, product, stat, customer story) |
| 3 — Elevated | `0 12px 32px rgba(7,7,7,0.12)` | Floating popovers, dropdowns, mega-menu panels |
| 4 — Deep | `0 24px 48px rgba(7,7,7,0.16)` | Modals, dialogs, full-screen forms |
| 5 — Translucent layer | `#07070799` card over dark / gradient | Dark-ground elevation — opacity, not shadow |

### Shadow Philosophy
Light surfaces use **near-black shadows at low alpha** (warm-neutral, echoing the `#070707` ground rather than pure black). On near-black and gradient grounds, cast shadows are invisible, so the system layers via **translucent cards** (`#07070799` at ~60% opacity) that let the dark or gradient ground bleed through — depth via opacity, not elevation. Logo-wall tiles sit flat (no shadow); they read as a credibility strip, not interactive surfaces. No glow, no neumorphism, no gradient overlays on cards — the gradient is reserved for full bands, never card decoration.

## 8. Interaction & Motion

### Easing Curves
- **Standard ease**: `cubic-bezier(0.4, 0, 0.2, 1)` — default for color, border, opacity transitions on buttons, links, inputs.
- **Emphasized ease**: `cubic-bezier(0.16, 1, 0.3, 1)` — section-on-scroll reveals, gradient drift, card hover lift, mega-headline entrance.

### Duration Buckets
- **Fast (150ms)**: Color transitions on hover, focus ring expansion, link underline.
- **Standard (240ms)**: Card hover lift, button press feedback, dropdown / mega-menu reveal.
- **Slow (320ms)**: Hero mega-headline reveal, gradient band drift, modal entrance.

### Per-Component Micro-States
- **Button hover (primary)**: Background lightens `#000000` → `#1a1a1a` over 150ms; no transform. The lightening keeps the button feeling like the same black.
- **Button press**: Returns to pure black with a subtle inset over 80ms.
- **Button hover (secondary)**: Border shifts `#cccccc` → `#000000` over 150ms; text stays in place.
- **Card hover (feature / product)**: Card lifts `translateY(-2px)` over 240ms; shadow intensifies standard → elevated.
- **Stat card hover**: The big gradient-filled number subtly scales `scale(1.02)` to draw the eye.
- **Link hover (light)**: Black underline thickens / appears over 150ms (color stays black — the underline is the affordance).
- **Link hover (dark)**: Lavender `#9068c2` brightens over 150ms.
- **Input focus**: Border recolors `#e2e2e2` → 2px `#5933b2` over 150ms; 3px outer ring at `rgba(89,51,178,0.35)`.
- **Gradient band**: Subtle slow hue drift / position shift on the gradient over ~8s loop (decorative, paused under reduced-motion).
- **Mega-menu**: Opens via opacity fade + 8px translateY drop over 240ms emphasized ease.

### Page Transitions
Standard browser navigation. Section-on-scroll reveals are a 320ms fade-in-up (24px offset) gated by `IntersectionObserver`. The hero mega-headline reveals on load with a 320ms emphasized fade-up. Product card grids stagger left-to-right at 80ms increments. Gradient bands carry a slow ambient drift.

### Reduced Motion
`prefers-reduced-motion: reduce` honored: all transforms removed, transitions reduced to opacity-only at 100ms, gradient drift paused, card hover lifts removed (cards stay flat), stat-number scale removed, mega-menu opens instantly, scroll reveals become static.

## 9. Accessibility & A11y

### Contrast Pairs
- **Text on bg**: `#000000` on `#ffffff` = **21.0** — AAA at every size (maximal contrast).
- **Steel on bg**: `#575757` on `#ffffff` = **7.0** — AAA at body sizes.
- **Stone on bg**: `#767676` on `#ffffff` = **4.5** — AA at body sizes; do not use below 14px.
- **On-dark on bg-dark**: `#ffffff` on `#070707` = **20.0** — AAA.
- **On-brand on brand**: `#ffffff` on `#5933b2` = **6.6** — AAA at normal text; the deep violet clears AAA with white.
- **On-CTA**: `#ffffff` on `#000000` = **21.0** — AAA (the Book Demo button is the highest-contrast control on the page).
- **Lavender on dark**: `#9068c2` on `#070707` = **5.0** — AA; used for links / accents on near-black.

### Focus Indicators
Every focusable element shows a **3px ring at `rgba(89,51,178,0.35)`** (brand purple) with 2px offset. The purple ring is the one consistent place the brand color touches interactive controls, making focus instantly recognizable on both white and near-black grounds. On the black "Book Demo" CTA the focus state renders a 2px white inset outline plus the 3px purple outer ring (a purple ring alone could blend into a dark band).

### ARIA Patterns
- **Buttons**: Native `<button>` elements; `aria-label` only when icon-only.
- **Product card grid**: `<article>` per card with `aria-labelledby` referencing the product title (Scale GenAI, Data Engine, Donovan).
- **Stat cards**: `aria-label` spelling out the number and unit ("Ninety-nine percent labeling accuracy") since the gradient-filled numerals are decorative.
- **Customer story cards**: `<article>` wrapping logo + outcome + quote, with `<blockquote>` for the quote.
- **Code blocks**: `<pre><code>` with `aria-label` describing the language.
- **Navigation**: `<nav aria-label="Primary">`; mega-menu uses `aria-expanded` and `aria-controls`. Mobile drawer uses `aria-expanded` with focus trap.
- **Gradient hero**: The decorative gradient wash is `aria-hidden`; the headline carries the semantic weight.

### Keyboard Navigation
Tab order follows visual reading order. Skip-link at top jumps to `<main>`. Mobile nav drawer traps focus when open; Escape closes. Mega-menu opens on Enter/Space, closes on Escape, arrow keys navigate within. Logo-wall links (when interactive) are reachable in DOM order.

### Screen Reader Hints
Decorative gradient washes use `role="presentation"` / `aria-hidden`. Customer and government logos use `alt` text with the org name. The Scale wordmark in nav uses `aria-label="Scale AI home"`. Code blocks include `<span class="sr-only">Code example:</span>` prefixes. Stat numerals carry spelled-out `aria-label` values.

### Reduced Motion Handling
All transforms removed. Card hover lifts removed. Gradient drift paused. Stat-number scale removed. Mega-menu opens instantly. Section-on-scroll reveals become static.

## 10. Responsive Behavior

| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 640px | Hero mega-headline 116→44px; nav collapses to hamburger (CTA chip on `#eaeaea`); product grid stacks 1-up; logo wall reflows to 2-up; stat row stacks |
| Tablet | 640–1024px | Hero headline ~72px; 3-up product grid → 2-up; logo wall 3-up; 4-up feature grid → 2-up |
| Desktop | 1024–1280px | Hero headline ~96px; full 3-up product grid; 6-up logo wall; 4-up feature grid |
| Wide | > 1280px | Content caps at 1280px; hero headline reaches full 116px; outer breathing room expands |

### Touch Targets
- Primary "Book Demo" CTA: 44px height (12px padding × 2 + 15/500 label). Meets WCAG AA.
- Product card CTAs: full-width on mobile to maximize touch area.
- Mega-menu items: 44px row height in mobile drawer.
- Mobile nav demo CTA chip: padded to 44px minimum on the `#eaeaea` ground.

### Collapsing Strategy
Top nav collapses to hamburger below 1024px; the black "Book Demo" CTA stays visible in the bar (right of the hamburger) even when the menu collapses — the CTA is non-negotiable. Product card grid: 3 → 2 → 1. Feature grid: 4 → 2 → 1. Stat row: 3–4 → stacked. The mega-headline scales aggressively (116 → ~44px) so it never overflows the mobile viewport.

### Image Behavior
Hero gradient washes and data-viz fills scale fluidly with the band. Customer / government logos stay at native widths; the wall reflows to 2 rows on mobile. Blog / docs images cap at prose-width on small screens, break out to full container on desktop.

## 11. Content & Voice

### Tone
**Serious, mission-grade, enterprise-and-government confident.** Scale writes for ML teams at frontier labs, data leaders at Fortune 500s, and public-sector / defense decision-makers. The literal hero line — "Reliable AI Systems for the World's Most Important Decisions" — sets the register: high-stakes, infrastructure-grade, no playfulness. Headlines describe capability and consequence ("Reliable AI Systems", "The Data Engine powering the most advanced AI models"); body copy cites real workflows (data labeling, RLHF, evaluation, model deployment) and named products (Scale GenAI Platform, Data Engine, Donovan, SEAL evaluations). The voice sits closer to defense / infrastructure than to startup-playful — gravity over warmth.

### Microcopy Patterns
- **CTA verbs**: "Book Demo", "Get Started", "Contact Sales", "Talk to an Expert", "Read the paper". Never "Start your journey" or "Unlock the power of".
- **Section labels**: 12px uppercase eyebrow at 0.08em — "PRODUCTS", "CUSTOMERS", "PUBLIC SECTOR", "RESEARCH".
- **Product card titles**: Product-name-led — "Scale GenAI Platform", "Data Engine", "Donovan" — with a capability subhead beneath.
- **Customer story headlines**: Outcome-led — "How [customer] accelerated model development with Scale" not "[customer] ❤ Scale".

### Empty States
A single line in `text-stone` ("No results — try a broader search term") with a black link to a default landing page. Never apologetic; always action-oriented.

### CTA Verb Conventions
Declarative, present-imperative. "Book Demo" is the flagship verb-phrase and repeats across the surface. Enterprise / government CTAs add specificity: "Contact Sales", "Talk to an Expert", "Request Access". The brand avoids "free" framing — the audience cares about reliability and scale, not price. Voice favors capability noun phrases ("the Data Engine", "reliable AI systems") over second-person possessives, signaling infrastructure rather than a configurable tool.

## 12. Dark Mode & Theming

Scale ships a **dual-mode brand by section, not by user preference**. There is no light/dark toggle exposed on scale.com — the production page carries a `data-theme` attribute (theme-toggle audit score=3) but no user-facing switch. Instead, the rhythm is structural: light marketing surfaces stay white (`#ffffff`) with pure-black ink, while the signature hero bands, the pre-footer CTA, and the global footer ship in near-black `#070707` with white Aeonik headlines.

A **third register** — the purple-gradient band (`#5933b2` → `#9068c2`) — appears for featured launches and data-visualization sections. The three registers alternate down the page: white → near-black → gradient → white. The near-black is the brand's default "serious" surface (the hero leads with it); the gradient is the color event.

If a future site-wide dark theme shipped, the natural mapping would be: bg → `#070707`, text → `#ffffff`, surface → `#07070799` (translucent card), border → `#2a2a2a`, primary button inverts to white-on-dark, brand purple `#5933b2` stays (it clears AAA on near-black with the lavender `#9068c2` for links). The gradient bands already read correctly on dark; only the white marketing surfaces would invert.

## 13. Lineage & Influences

Scale AI's visual identity sits at the intersection of two lineages: the **maximal-type / near-monochrome editorial register** that newer enterprise-AI brands favor, and the **serious infrastructure register** of defense and data-platform companies. The 116px Aeonik headline against pure black-on-white descends from the big-type Swiss-modern revival that brands like Vercel and Linear popularized — confidence through scale and restraint rather than decoration. But where those brands stay almost entirely monochrome, Scale grants itself one signature flourish: the four-stop purple gradient, used as event color the way Stripe uses its purple-to-blue wash, but held back from chrome so it never dilutes.

The near-black hero with white mega-type, and the willingness to put a black (not branded) CTA on the page, signal a brand positioning itself as infrastructure for "the world's most important decisions" — a register shared with frontier-AI labs and the public-sector / defense customers Scale serves. The gradient softens that gravity just enough to read as a technology company rather than a contractor. Aeonik — a CoType Foundry grotesque-geometric hybrid also used by widely-recognized tech brands — places Scale in a neutral, engineered typographic neighborhood where the focus stays on size and contrast, not letterform personality.

- **Vercel** — Big-type, near-monochrome black-on-white editorial register; confidence through scale and restraint. https://vercel.com
- **Linear** — Monochrome discipline with a single gradient flourish used as event color, not chrome. https://linear.app
- **Stripe** — The purple-to-cool gradient deployed as a signature wash over near-monochrome surfaces. https://stripe.com
- **OpenAI** — Research-credible, serious frontier-AI register; a peer / customer Scale's voice sits alongside. https://openai.com
- **Aeonik (CoType Foundry)** — The grotesque-geometric typeface that defines Scale's neutral, engineered display character. https://www.cotypefoundry.com/fonts/aeonik

## 14. Do's and Don'ts

### Do
- Use the **colossal Aeonik headline at 116px / weight 400** for the hero — size is the brand signal, not weight.
- Set display headlines at **weight 400** (light); only step weight up (500 → 600) as size steps down.
- Keep the canvas **stark white `#ffffff` with pure-black `#000000` ink** — maximal contrast, no off-white haze.
- Lead the homepage with the **signature near-black hero `#070707`** carrying the white mega-headline.
- Make the primary CTA **black `#000000`, not purple** — "Book Demo" stays monochrome.
- Use **8px radius on every button** — square-but-softened, engineered.
- Reserve the **purple gradient `#5933b2` → `#9068c2`** for hero washes, data-viz fills, and featured bands only.
- Keep nav panels and quiet cards on **panel gray `#f5f5f5`** — calm, no shouting.
- Use **translucent near-black cards `#07070799`** for depth over dark / gradient grounds.
- Show **enterprise and government logos densely** — the credibility lever is customer density.
- Run **generous hero padding (120–160px)** so the 116px type lands as a statement, not a crowd.
- Alternate the three registers — **white → near-black → gradient** — so no two heavy bands sit consecutively.

### Don't
- Don't put the brand purple on the CTA — the primary button is **black `#000000`** with white text.
- Don't set the hero headline heavy. **400 weight at 116px** is the brand; 700 would read as aggressive.
- Don't use pill-radius buttons. Every button is **8px radius**; pill is for badges only.
- Don't spread the purple gradient onto buttons, body text, or card chrome — it is **event color**, used in full bands only.
- Don't introduce a serif or a second display face. **Aeonik carries the whole system**.
- Don't soften the canvas to off-white or gray. The white-first, black-ink contrast is the calibration.
- Don't cast box-shadows on near-black grounds — use **translucent-card `#07070799`** layering instead.
- Don't crowd the mega-headline. Tight padding around 116px type kills the confidence; keep 120–160px.
- Don't make links blue on light surfaces — **links are black `#000000`**; the underline carries the affordance.
- Don't run two near-black or two gradient bands back-to-back. Cadence requires alternation.
- Don't write startup-playful microcopy. The register is **serious, mission-grade, infrastructure-confident**.
- Don't lead with price / "free". The enterprise + government audience cares about reliability and scale.

## 15. Agent Prompt Guide

### Quick Color Reference
```
Bg / Canvas:     #ffffff (white — marketing, product, docs)
Bg Dark:         #070707 (near-black — signature hero bands, footer)
Bg Deep:         #000000 (pure black — CTA fills, Book Demo)
Text:            #000000 (pure black ink on white)
Steel:           #575757 (body running-text, secondary)
Stone:           #767676 (captions, metadata — AA on white)
Brand:           #5933b2 (Scale purple — gradient anchor, focus ring)
Brand Light:     #9068c2 (lavender — gradient top stop, links on dark)
Gradient Hero:   linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)
On-Brand:        #ffffff (white on purple / black)
Surface:         #f5f5f5 (panel gray — nav panels, quiet cards)
Surface Dark:    #07070799 (translucent near-black card on dark grounds)
Border:          #e2e2e2 (1px hairline on white)
Code Bg:         #0000000a (4% black wash for fenced code)
```

### Example Component Prompts

1. "Create a near-black hero band on `#070707` with a colossal Aeonik headline at 116px / weight 400 / -0.03em tracking in white ('Reliable AI Systems for the World's Most Important Decisions'), a 20px / 400 `#a8a8a8` subtitle, a black-inverted-to-white primary CTA ('Book Demo' — white `#ffffff` fill, black text, 8px radius, 12×20px padding, Aeonik 15 / 500), and a secondary outline-on-dark button (transparent, white text, 1px `#2a2a2a` border). 140px vertical padding."

2. "Build a light hero on `#ffffff` white canvas: Aeonik 96px / 400 / -0.03em pure-black headline, 20px `#575757` subtitle, primary black CTA ('Book Demo' — `#000000` fill, white text, 8px radius) plus a secondary outline button (transparent, black text, 1px `#cccccc` border, 8px radius). 120px padding."

3. "Compose a purple-gradient feature band: `linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)` background, white text, 96px padding. h2 headline (Aeonik 36 / 500), a 3-up grid of translucent near-black cards (`#07070799`, 12px radius, 32px padding, white text), each with an h3 title and 2-line body. The gradient is the only color on the page — everything around it is black-and-white."

4. "Design a 3-up product card grid on white: each card on panel gray `#f5f5f5`, 12px radius, 32px padding, no border. Product name in h3 (Aeonik 28 / 500), capability subhead in body (16 / 400 `#575757`), and a black 'Learn more →' text link. Cards lift `translateY(-2px)` on hover over 240ms."

5. "Create a big-number stat row: 3 stat cards on white, 12px radius, 32px padding, 1px `#e2e2e2` border. Each card shows a gradient-filled numeral in Aeonik 64 / 400 (purple gradient text fill `#5933b2` → `#9068c2`) above a body-sm `#767676` label. On hover the numeral scales `scale(1.02)`."

6. "Build a top nav: 64px-tall sticky white bar. Scale wordmark on the left, horizontal menu (Products / Solutions / Customers / Company / Resources) center in body-medium black, and a black 'Book Demo' CTA on the right (`#000000` fill, white text, 8px radius, Aeonik 15 / 500). Stays white on every page including dark hero pages — the nav is constant."

### Iteration Guide
1. **Start with size, not color.** The brand's loudest move is 116px Aeonik. If a hero feels weak, scale the headline up before reaching for color.
2. **Keep display weight light (400).** Heavy display weight breaks the register — the size carries impact, the light weight keeps it confident.
3. **Make the CTA black, not purple.** "Book Demo" is `#000000` with white text at 8px radius. Putting the brand purple on the button is the #1 drift.
4. **Treat the gradient as event color.** `#5933b2` → `#9068c2` belongs in full bands, hero washes, and data-viz fills — never on buttons, body text, or card chrome.
5. **Use 8px radius on every button.** If you reach for pill radius, you're drifting toward a friendlier brand — Scale's square-but-softened corner is the signature shape.
6. **Stay near-monochrome.** Most of the page is black, white, and `#f5f5f5` panel gray. The purple is one moment; everything else is contrast.
7. **Alternate the three registers.** white → near-black → gradient → white. Never two heavy bands consecutively, or the cadence collapses.
8. **Give the mega-type room.** Hero padding at 120–160px. Crowding 116px type undermines the confidence that the size is meant to project.

---

*Theme-toggle audit: score=3, signals=[data-theme-attr]*
Prose

1. Visual Theme & Atmosphere

Scale AI takes the enterprise-data register and pushes its type to a scale almost no peer matches. The homepage hero headline is Aeonik at 116px set to weight 400 — colossal, near-newspaper-masthead in size, but light in weight, so it reads as confident rather than shouty. The canvas underneath is stark white (#ffffff) with pure-black ink (#000000); there is no gray haze, no softened off-white. Where Databricks asserts identity through a single red and Snowflake through cyan, Scale asserts it through sheer typographic size against maximal black-on-white contrast, then spends its one color flourish on a purple gradient deployed with restraint.

The brand’s signature dark hero band flips the canvas: a near-black ground (#070707) carrying the same enormous Aeonik headline in white. This dark-hero-with-white-mega-type is the most recognizable Scale composition — it is what the homepage leads with, and it positions the company as infrastructure for “the world’s most important decisions” (the literal hero tagline). The dark band feels weighty and serious; the oversized white headline floating on near-black reads as gravity, not marketing fizz.

The one true color is a four-stop purple gradient: deep violet #5933b2 lifting through a dusty mauve #8a507e to light lavender #9068c2, with a cool periwinkle #7b8ce7 available in the cool variant. The gradient appears as hero washes, data-visualization fills, and the occasional featured band — never as button chrome, never as body text. This is the discipline that defines the system: the purple is event color. Most of the page is black, white, and a quiet panel gray (#f5f5f5), and the gradient lands as a deliberate moment.

CTAs are black, not purple. The primary “Book Demo” button is a #000000 fill with white text and a tight 8px radius — square-but-softened, decisive, engineered. Scale resisted the obvious move of putting the brand purple on the button; instead the button stays monochrome and the purple is reserved for surfaces. The 8px radius runs across buttons and inputs; pill radius is held back for status badges only.

The supporting neutrals are honestly neutral — #f5f5f5 for nav panels and quiet cards, #eaeaea for mobile-nav chips, #575757 steel for secondary body, and a translucent near-black #07070799 for cards floating on dark or gradient grounds. The credibility lever, as with every enterprise data brand, is the logo wall: Scale leans on a mix of frontier-AI labs, Fortune 500s, and US government / defense customers, run as a monochrome strip below the hero. Big type, near-monochrome palette, one confident gradient — that is the whole identity.

Key Characteristics:

  • Colossal Aeonik headline at 116px / weight 400 — the single loudest signal; size carries the brand, not weight or color.
  • Stark white canvas #ffffff with pure-black ink #000000 — maximal 21:1 contrast, no off-white haze.
  • Signature near-black hero #070707 — same mega-type in white; “important decisions” gravity.
  • Purple gradient #5933b2#9068c2 — the one color flourish; washes and data-viz only, never chrome.
  • Black #000000 CTAs at 8px radius — “Book Demo”; monochrome, not purple, square-but-softened.
  • Quiet panel gray #f5f5f5 — nav panels, dropdown surfaces, low-key cards; no shouting.
  • Aeonik single-family discipline — display and body share one geometric sans; no serif anywhere.
  • Three structural registers — white marketing / near-black hero / purple-gradient feature, alternated down the page.
  • Enterprise + government logo wall — frontier labs, Fortune 500, US defense; density is the credibility lever.
  • Translucent near-black cards #07070799 — depth on dark grounds via opacity layering, not heavy shadow.

2. Color Palette & Roles

Primary

  • Bg / Canvas (#ffffff): The default white floor for marketing, product, docs, blog, pricing.
  • Bg Dark (#070707): Near-black hero bands, pre-footer CTA, footer ground. The signature dark surface.
  • Bg Deep (#000000): Pure black — CTA fills (“Book Demo”) and maximal-contrast moments.
  • Text / Ink (#000000): Display headlines, body emphasis — pure black on white.
  • Brand / Primary (#5933b2) [→ --gradient-color-2]: Scale purple, deep violet — gradient anchor, focus ring, data-viz fill.

Brand & Gradient

  • Brand Deep (#4a2a96): Deeper violet for pressed states and gradient shadow stops.
  • Brand Light (#9068c2) [→ --gradient-color-1]: Light lavender — the gradient’s top stop, links on dark.
  • Brand Mauve (#8a507e) [→ --gradient-color-3]: Dusty mauve — gradient mid-stop.
  • Brand Periwinkle (#7b8ce7) [→ --gradient-color-4]: Cool periwinkle blue — gradient mid-stop for the cool variant.
  • Gradient Hero (linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)): The signature warm-violet wash for hero bands and feature sections.
  • Gradient Cool (linear-gradient(135deg, #5933b2 0%, #7b8ce7 100%)): Cooler violet-to-periwinkle variant for data-visualization fills.

Accent

  • Accent Lavender (#9068c2): Light lavender highlight, links and emphasis on dark grounds.
  • Accent Violet (#5933b2): Deep violet for data-viz fills and chart accents.

Interactive

  • Link (#000000) [→ --tw-prose-links]: Links are pure black on light surfaces — underline carries the affordance, not color.
  • Link on Dark (#9068c2): Lavender link on near-black / gradient grounds.
  • Selected: Selection background uses brand purple at ~18% alpha (rgba(89,51,178,0.18)).

Neutral Scale

  • Ink / Text (#000000): Display, body emphasis.
  • Charcoal (#1a1a1a): Near-black secondary headings, primary-button hover fill.
  • Slate (#3d3d3d): Sub-titles, secondary body.
  • Steel (#575757) [→ --nav-mobile-cta-wrapper-bg]: Body running-text default, mobile CTA wrapper.
  • Stone (#767676): Captions, breadcrumbs, metadata (clears AA on white at body sizes).
  • Muted (#999999): Disabled, placeholder text.

Surface & Borders

  • Surface / Bg Panel (#f5f5f5) [→ --nav-card-background, --nav-panel-background, --nav-ctas-background]: Quiet gray for nav panels, dropdown surfaces, low-key cards.
  • Bg Mute (#eaeaea) [→ --nav-mobile-close-background, --nav-mobile-demo-cta-bg]: Mobile-nav close button and demo CTA chip ground.
  • Bg Soft (#fafafa): Softest light surface for nested content.
  • Surface Dark (#07070799 — ~60% near-black) [→ --card-bg]: Translucent card over dark / gradient grounds.
  • Border (#e2e2e2): Default 1px hairline on white.
  • Border Soft (#eeeeee): Lighter hairline.
  • Border Strong (#cccccc): Stronger outline — secondary button.
  • Border Dark (#2a2a2a): Divider on near-black canvas.

Shadow Colors

  • Ambient (rgba(7,7,7,0.04)): Barely-visible card shadow.
  • Standard (rgba(7,7,7,0.08)): Default elevated card.
  • Elevated (rgba(7,7,7,0.12)): Floating popovers, dropdowns.
  • Deep (rgba(7,7,7,0.16)): Modals, dialogs.
  • Near-black canvases use translucent-card layering (#07070799) rather than cast shadow.

Semantic

  • Success (#1a7f4b): Confirmation green — kept neutral so it doesn’t compete with the purple.
  • Warning Bg (#fff6e0) / Warning Text (#6b4e00): Caution callouts.
  • Error (#d12d2d): Validation errors.
  • Info (#5933b2): Info notices reuse the brand purple.

Code

  • Code Bg (#0000000a — ~4% black) [→ --tw-prose-pre-bg]: Light translucent-black wash for fenced code and <pre> blocks on light surfaces.

3. Typography Rules

Font Family

  • Primary: "Aeonik", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif. Aeonik (CoType Foundry, a grotesque-geometric hybrid) carries every display and body role — single-family discipline.
  • Mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace. System mono for fenced code on docs / blog; Scale ships no custom mono.
  • Substitutes: Aeonik is a licensed font, not open-source. The closest free pairing is Inter (similar x-height and geometric proportions; consider letter-spacing: -0.01em at display sizes to approximate Aeonik’s tighter set). Both share the neutral grotesque character that keeps the focus on size, not personality.

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
display-megaAeonik1164000.95-0.03emHomepage hero h1 — colossal, light weight
display-heroAeonik804001.00-0.03emProduct-page heroes
display-lgAeonik644001.05-0.02emh2-scale section heads — also weight 400
h1Aeonik485001.08-0.018emMajor section heads
h2Aeonik365001.15-0.012emSub-section heads
h3Aeonik285001.25-0.005emCard titles, product surface heads
h4Aeonik226001.300Inline emphasis heads
h5Aeonik186001.350Smallest heading
subtitleAeonik204001.500Hero subheads, intro paragraphs
body-lgAeonik184001.550Blog body, long-form
bodyAeonik164001.550Default marketing body
body-mediumAeonik165001.550Body emphasis
body-smAeonik144001.500Footer body, secondary copy
body-sm-mediumAeonik145001.500Card metadata
labelAeonik135001.400Form labels, inline tags
captionAeonik125001.400.02emImage captions, fine print
eyebrowAeonik126001.400.08emUppercase section labels
buttonAeonik155001.300CTA labels
codemono144001.550Fenced code, docs / blog

Principles

  • Display goes huge but light. The hero headline is the defining choice — 116px at weight 400, not 700. The size carries the impact; the light weight keeps it from feeling aggressive. This is the opposite of Databricks’s heavy 700-weight display register.
  • Negative tracking scales with size. -0.03em at 116px and 80px, easing to -0.018em at 48px and back to 0 below 28px. The tight tracking on the mega-headline is what lets a 116px line hold together as a single confident block.
  • Weight steps up as size steps down. Display sizes (116/80/64) sit at 400; mid headings (48/36/28) move to 500; small heads (22/18) reach 600. The smaller the text, the more weight it needs to hold presence.
  • Body line-height 1.55 for comfortable long-form reading. Blog and docs run long; the looser leading keeps technical paragraphs readable.
  • Eyebrow labels at 0.08em uppercase — the only place tracking opens up, used for section labels (“PRODUCT”, “CUSTOMERS”, “PUBLIC SECTOR”).
  • Button labels at weight 500, 15px. Slightly larger and lighter than typical SaaS buttons (which run 14/600) — the black fill already gives the button weight, so the label stays calm.
  • Single-family discipline. Aeonik carries display and body alike. No serif, no secondary display face. The restraint is the brand.

4. Component Stylings

Buttons (4 variants)

button-primary — The “Book Demo” CTA. Background #000000 (pure black, not the brand purple), text #ffffff, type Aeonik 15 / 500, padding 12×20px, 8px radius (square-but-softened, not pill). Used on every primary action: “Book Demo”, “Get Started”, “Contact Sales”, “Talk to an Expert”.

  • Hover: Background lightens to #1a1a1a charcoal over 150ms; no transform.
  • Pressed: Background returns to pure black with a subtle inset over 80ms.
  • Disabled: Background #e2e2e2, text #999999.

button-secondary — Transparent with #cccccc border, text #000000. Same 8px radius and 12×20px padding. The less-committed pair next to primary on light surfaces — “Learn more”, “Read the paper”.

  • Hover: Border darkens #cccccc#000000 over 150ms.

button-on-dark — Inverts on near-black hero bands: white #ffffff fill, black #000000 text, 8px radius. The primary action flips to white-on-dark rather than holding black (black-on-near-black would vanish).

button-secondary-on-dark — Transparent with #2a2a2a border, text #ffffff, 8px radius. The outline pair on near-black / gradient grounds.

button-ghost — Inline ghost: transparent, text #000000, smaller padding (8×12px), 8px radius. Used in nav menu items, dropdown triggers, table-row actions.

Cards

feature-card — 3-up benefit grid card on white. Background #ffffff, 12px radius, 32px padding, 1px #e2e2e2 border. Icon glyph (black or gradient-filled), h3 title (28 / 500), body description (16 / 400 #575757).

feature-card-panel — Quiet gray surface card. Background #f5f5f5, 12px radius, 32px padding, no border. Used when a card needs separation from white without a hairline.

feature-card-dark — Translucent near-black card over dark / gradient grounds. Background #07070799 (~60% near-black), white text, 12px radius, 32px padding. The translucency lets the gradient behind it bleed through subtly.

product-card — Scale GenAI / Data Engine / Donovan product surface card on homepage. Background #f5f5f5, 12px radius, 32px padding, no border. Product name in h3, capability subhead, “Learn more →” link in black.

stat-card — Data-heavy outcome stat tile. White, 12px radius, 32px padding, 1px #e2e2e2 border. Big number in display-lg (64 / 400, often gradient-filled), label in body-sm #767676.

customer-story-card — Customer story tile. White, 12px radius, 32px padding, 1px #e2e2e2 border. Customer logo at top, outcome stat in h2, 1-line quote in body-medium, “Read the story →” link.

code-block — Fenced code on docs / blog. Background #0000000a (~4% black wash), black text in system mono 14 / 400 / 1.55, 8px radius, 20px padding. Light translucent ground keeps code legible without a heavy panel.

Inputs / Forms

text-input — White, 8px radius, 10×14px padding, 44px height, 1px #e2e2e2 border, placeholder #999999.

text-input-focus — Border thickens to 2px solid #5933b2 (brand purple as the focus color — the one place purple touches a form control), plus a 3px outer ring at rgba(89,51,178,0.35).

Badges / Tags / Pills

badge-pill — “NEW”, “BETA”, “GA”. Background #f5f5f5 (quiet gray), text #000000, full pill (9999px), 4×12px padding, type eyebrow (12 / 600 / 0.08em / uppercase).

badge-gradient — Rare purple-gradient highlight pill for featured launches. Gradient-hero background, white text, full pill. Reserved for “NEW” tentpole moments — most badges stay gray.

badge-uppercase — Section eyebrow. Transparent, text #575757, type eyebrow (12 / 600 / 0.08em).

top-nav — 64px-tall sticky white bar. Scale wordmark anchors the left; horizontal menu (Products / Solutions / Customers / Company / Resources) center; “Book Demo” black CTA (#000000, white text, 8px radius) on the right. Stays white on every page including dark hero pages — the nav is constant.

nav-panel — Mega-menu dropdown panel on #f5f5f5 ground, 12px radius, 24px padding. Multi-column product / solution links with capability subheads. The panel gray (#f5f5f5) is the same token across desktop dropdowns and mobile drawer.

nav-cta-chip — Mobile-nav demo CTA chip on #eaeaea ground, 8px radius, smaller padding. The mobile CTA wrapper sits on a #575757 steel band.

footer — Near-black ground (#070707), white headings, #a8a8a8 link tone. Multi-column — Products / Solutions / Company / Resources / Legal. 96px vertical padding. Enterprise + government logo strip often above the link grid.

CTA Bands

cta-band-dark — Pre-footer CTA on near-black (#070707), white text, 96px padding. Headline in h1, subhead in subtitle, white primary CTA + outline-on-dark pair.

cta-band-gradient — Rare full-gradient CTA band (gradient-hero background, white text, 96px padding). Reserved for major launches / summit moments — the gradient is the event signal.

5. Layout Principles

Spacing System

Base unit 4px. Tokens: xxs:4 · xs:8 · sm:12 · md:16 · lg:20 · xl:24 · xxl:32 · xxxl:40 · section-sm:48 · section:64 · section-lg:96 · hero:120 · mega:160. Section padding alternates: 64px between minor bands, 96px between major bands, 120–160px for hero spaces — the oversized hero type needs oversized hero padding to breathe.

Grid & Container

  • Max content width: 1280px centered, with 32px horizontal breathing room on desktop, 24px tablet, 16px mobile.
  • Hero: Full-width band, 120–160px padding, the mega-headline (116px) breaks wide — often spanning most of the container width as 1–2 lines.
  • 3-up product card grid: 3 columns desktop (Scale GenAI / Data Engine / Donovan), 2 tablet, 1 mobile.
  • 4-up feature grid: 4 columns desktop on benefit / capability pages.
  • Stat row: 3–4 big-number stat cards across, gradient-filled numerals.
  • Customer / government logo wall: 6-up desktop, 3-up tablet, 2-up mobile; monochrome SVGs at unified height (~32px).
  • Blog / docs: Single-column prose ~720px wide, full-width code blocks and figures breaking out of the prose column.

Whitespace Philosophy

The 116px headline only works with generous negative space around it — Scale runs hero padding at 120–160px, larger than peer SaaS brands, so the mega-type lands as a statement rather than crowding the viewport. White space is what lets the oversized type feel confident instead of overwhelming. Tight padding around 116px type would feel claustrophobic; loose padding makes it feel inevitable.

Section Cadence

Homepage rhythm: near-black mega-hero band → enterprise + government logo wall (white) → 3-up product card grid (light / panel-gray surface) → purple-gradient feature band (data-viz wash) → 3-up benefit feature grid (white) → big-number stat row → customer story strip (white) → near-black pre-footer CTA → near-black footer. The three registers — white, near-black, gradient — alternate so no two heavy bands sit consecutively. The single gradient band mid-page is the color event; everything around it is near-monochrome.

6. Shapes & Radius Scale

TierTokenValueUse
Micromicro2pxInline tags inside data tables, dense cells
Standardsm4pxCompact rows, dense badges
Comfortablemd8pxButtons (Book Demo, all variants), form inputs, code blocks
Largelg12pxFeature cards, product cards, stat cards, customer story cards, nav panels
Featuredxl16pxHero illustration containers, large media frames
XXLxxl24pxDecorative containers (rare)
Pillpill9999pxBadges, status pills, NEW/BETA/GA chips

The 8px radius on every button is the signature shape choice — square-but-softened, decisive, engineered. The black “Book Demo” CTA at 8px reads as infrastructure-grade rather than playful. Pill radius is reserved for badges only; a pill button would soften the serious register the brand is after. Cards sit at 12px to feel solid and stable. Code blocks share the 8px button radius — code and CTAs speak the same “decisive rectangle” language.

7. Depth & Elevation

LevelTreatmentUse
0 — FlatNo shadowBody sections, top nav (until scrolled), near-black hero bands
1 — Ambient0 1px 2px rgba(7,7,7,0.04)Sticky nav after scroll
2 — Standard0 4px 12px rgba(7,7,7,0.08)Default elevated cards (feature, product, stat, customer story)
3 — Elevated0 12px 32px rgba(7,7,7,0.12)Floating popovers, dropdowns, mega-menu panels
4 — Deep0 24px 48px rgba(7,7,7,0.16)Modals, dialogs, full-screen forms
5 — Translucent layer#07070799 card over dark / gradientDark-ground elevation — opacity, not shadow

Shadow Philosophy

Light surfaces use near-black shadows at low alpha (warm-neutral, echoing the #070707 ground rather than pure black). On near-black and gradient grounds, cast shadows are invisible, so the system layers via translucent cards (#07070799 at ~60% opacity) that let the dark or gradient ground bleed through — depth via opacity, not elevation. Logo-wall tiles sit flat (no shadow); they read as a credibility strip, not interactive surfaces. No glow, no neumorphism, no gradient overlays on cards — the gradient is reserved for full bands, never card decoration.

8. Interaction & Motion

Easing Curves

  • Standard ease: cubic-bezier(0.4, 0, 0.2, 1) — default for color, border, opacity transitions on buttons, links, inputs.
  • Emphasized ease: cubic-bezier(0.16, 1, 0.3, 1) — section-on-scroll reveals, gradient drift, card hover lift, mega-headline entrance.

Duration Buckets

  • Fast (150ms): Color transitions on hover, focus ring expansion, link underline.
  • Standard (240ms): Card hover lift, button press feedback, dropdown / mega-menu reveal.
  • Slow (320ms): Hero mega-headline reveal, gradient band drift, modal entrance.

Per-Component Micro-States

  • Button hover (primary): Background lightens #000000#1a1a1a over 150ms; no transform. The lightening keeps the button feeling like the same black.
  • Button press: Returns to pure black with a subtle inset over 80ms.
  • Button hover (secondary): Border shifts #cccccc#000000 over 150ms; text stays in place.
  • Card hover (feature / product): Card lifts translateY(-2px) over 240ms; shadow intensifies standard → elevated.
  • Stat card hover: The big gradient-filled number subtly scales scale(1.02) to draw the eye.
  • Link hover (light): Black underline thickens / appears over 150ms (color stays black — the underline is the affordance).
  • Link hover (dark): Lavender #9068c2 brightens over 150ms.
  • Input focus: Border recolors #e2e2e2 → 2px #5933b2 over 150ms; 3px outer ring at rgba(89,51,178,0.35).
  • Gradient band: Subtle slow hue drift / position shift on the gradient over ~8s loop (decorative, paused under reduced-motion).
  • Mega-menu: Opens via opacity fade + 8px translateY drop over 240ms emphasized ease.

Page Transitions

Standard browser navigation. Section-on-scroll reveals are a 320ms fade-in-up (24px offset) gated by IntersectionObserver. The hero mega-headline reveals on load with a 320ms emphasized fade-up. Product card grids stagger left-to-right at 80ms increments. Gradient bands carry a slow ambient drift.

Reduced Motion

prefers-reduced-motion: reduce honored: all transforms removed, transitions reduced to opacity-only at 100ms, gradient drift paused, card hover lifts removed (cards stay flat), stat-number scale removed, mega-menu opens instantly, scroll reveals become static.

9. Accessibility & A11y

Contrast Pairs

  • Text on bg: #000000 on #ffffff = 21.0 — AAA at every size (maximal contrast).
  • Steel on bg: #575757 on #ffffff = 7.0 — AAA at body sizes.
  • Stone on bg: #767676 on #ffffff = 4.5 — AA at body sizes; do not use below 14px.
  • On-dark on bg-dark: #ffffff on #070707 = 20.0 — AAA.
  • On-brand on brand: #ffffff on #5933b2 = 6.6 — AAA at normal text; the deep violet clears AAA with white.
  • On-CTA: #ffffff on #000000 = 21.0 — AAA (the Book Demo button is the highest-contrast control on the page).
  • Lavender on dark: #9068c2 on #070707 = 5.0 — AA; used for links / accents on near-black.

Focus Indicators

Every focusable element shows a 3px ring at rgba(89,51,178,0.35) (brand purple) with 2px offset. The purple ring is the one consistent place the brand color touches interactive controls, making focus instantly recognizable on both white and near-black grounds. On the black “Book Demo” CTA the focus state renders a 2px white inset outline plus the 3px purple outer ring (a purple ring alone could blend into a dark band).

ARIA Patterns

  • Buttons: Native <button> elements; aria-label only when icon-only.
  • Product card grid: <article> per card with aria-labelledby referencing the product title (Scale GenAI, Data Engine, Donovan).
  • Stat cards: aria-label spelling out the number and unit (“Ninety-nine percent labeling accuracy”) since the gradient-filled numerals are decorative.
  • Customer story cards: <article> wrapping logo + outcome + quote, with <blockquote> for the quote.
  • Code blocks: <pre><code> with aria-label describing the language.
  • Navigation: <nav aria-label="Primary">; mega-menu uses aria-expanded and aria-controls. Mobile drawer uses aria-expanded with focus trap.
  • Gradient hero: The decorative gradient wash is aria-hidden; the headline carries the semantic weight.

Keyboard Navigation

Tab order follows visual reading order. Skip-link at top jumps to <main>. Mobile nav drawer traps focus when open; Escape closes. Mega-menu opens on Enter/Space, closes on Escape, arrow keys navigate within. Logo-wall links (when interactive) are reachable in DOM order.

Screen Reader Hints

Decorative gradient washes use role="presentation" / aria-hidden. Customer and government logos use alt text with the org name. The Scale wordmark in nav uses aria-label="Scale AI home". Code blocks include <span class="sr-only">Code example:</span> prefixes. Stat numerals carry spelled-out aria-label values.

Reduced Motion Handling

All transforms removed. Card hover lifts removed. Gradient drift paused. Stat-number scale removed. Mega-menu opens instantly. Section-on-scroll reveals become static.

10. Responsive Behavior

NameWidthKey Changes
Mobile< 640pxHero mega-headline 116→44px; nav collapses to hamburger (CTA chip on #eaeaea); product grid stacks 1-up; logo wall reflows to 2-up; stat row stacks
Tablet640–1024pxHero headline ~72px; 3-up product grid → 2-up; logo wall 3-up; 4-up feature grid → 2-up
Desktop1024–1280pxHero headline ~96px; full 3-up product grid; 6-up logo wall; 4-up feature grid
Wide> 1280pxContent caps at 1280px; hero headline reaches full 116px; outer breathing room expands

Touch Targets

  • Primary “Book Demo” CTA: 44px height (12px padding × 2 + 15/500 label). Meets WCAG AA.
  • Product card CTAs: full-width on mobile to maximize touch area.
  • Mega-menu items: 44px row height in mobile drawer.
  • Mobile nav demo CTA chip: padded to 44px minimum on the #eaeaea ground.

Collapsing Strategy

Top nav collapses to hamburger below 1024px; the black “Book Demo” CTA stays visible in the bar (right of the hamburger) even when the menu collapses — the CTA is non-negotiable. Product card grid: 3 → 2 → 1. Feature grid: 4 → 2 → 1. Stat row: 3–4 → stacked. The mega-headline scales aggressively (116 → ~44px) so it never overflows the mobile viewport.

Image Behavior

Hero gradient washes and data-viz fills scale fluidly with the band. Customer / government logos stay at native widths; the wall reflows to 2 rows on mobile. Blog / docs images cap at prose-width on small screens, break out to full container on desktop.

11. Content & Voice

Tone

Serious, mission-grade, enterprise-and-government confident. Scale writes for ML teams at frontier labs, data leaders at Fortune 500s, and public-sector / defense decision-makers. The literal hero line — “Reliable AI Systems for the World’s Most Important Decisions” — sets the register: high-stakes, infrastructure-grade, no playfulness. Headlines describe capability and consequence (“Reliable AI Systems”, “The Data Engine powering the most advanced AI models”); body copy cites real workflows (data labeling, RLHF, evaluation, model deployment) and named products (Scale GenAI Platform, Data Engine, Donovan, SEAL evaluations). The voice sits closer to defense / infrastructure than to startup-playful — gravity over warmth.

Microcopy Patterns

  • CTA verbs: “Book Demo”, “Get Started”, “Contact Sales”, “Talk to an Expert”, “Read the paper”. Never “Start your journey” or “Unlock the power of”.
  • Section labels: 12px uppercase eyebrow at 0.08em — “PRODUCTS”, “CUSTOMERS”, “PUBLIC SECTOR”, “RESEARCH”.
  • Product card titles: Product-name-led — “Scale GenAI Platform”, “Data Engine”, “Donovan” — with a capability subhead beneath.
  • Customer story headlines: Outcome-led — “How [customer] accelerated model development with Scale” not “[customer] ❤ Scale”.

Empty States

A single line in text-stone (“No results — try a broader search term”) with a black link to a default landing page. Never apologetic; always action-oriented.

CTA Verb Conventions

Declarative, present-imperative. “Book Demo” is the flagship verb-phrase and repeats across the surface. Enterprise / government CTAs add specificity: “Contact Sales”, “Talk to an Expert”, “Request Access”. The brand avoids “free” framing — the audience cares about reliability and scale, not price. Voice favors capability noun phrases (“the Data Engine”, “reliable AI systems”) over second-person possessives, signaling infrastructure rather than a configurable tool.

12. Dark Mode & Theming

Scale ships a dual-mode brand by section, not by user preference. There is no light/dark toggle exposed on scale.com — the production page carries a data-theme attribute (theme-toggle audit score=3) but no user-facing switch. Instead, the rhythm is structural: light marketing surfaces stay white (#ffffff) with pure-black ink, while the signature hero bands, the pre-footer CTA, and the global footer ship in near-black #070707 with white Aeonik headlines.

A third register — the purple-gradient band (#5933b2#9068c2) — appears for featured launches and data-visualization sections. The three registers alternate down the page: white → near-black → gradient → white. The near-black is the brand’s default “serious” surface (the hero leads with it); the gradient is the color event.

If a future site-wide dark theme shipped, the natural mapping would be: bg → #070707, text → #ffffff, surface → #07070799 (translucent card), border → #2a2a2a, primary button inverts to white-on-dark, brand purple #5933b2 stays (it clears AAA on near-black with the lavender #9068c2 for links). The gradient bands already read correctly on dark; only the white marketing surfaces would invert.

13. Lineage & Influences

Scale AI’s visual identity sits at the intersection of two lineages: the maximal-type / near-monochrome editorial register that newer enterprise-AI brands favor, and the serious infrastructure register of defense and data-platform companies. The 116px Aeonik headline against pure black-on-white descends from the big-type Swiss-modern revival that brands like Vercel and Linear popularized — confidence through scale and restraint rather than decoration. But where those brands stay almost entirely monochrome, Scale grants itself one signature flourish: the four-stop purple gradient, used as event color the way Stripe uses its purple-to-blue wash, but held back from chrome so it never dilutes.

The near-black hero with white mega-type, and the willingness to put a black (not branded) CTA on the page, signal a brand positioning itself as infrastructure for “the world’s most important decisions” — a register shared with frontier-AI labs and the public-sector / defense customers Scale serves. The gradient softens that gravity just enough to read as a technology company rather than a contractor. Aeonik — a CoType Foundry grotesque-geometric hybrid also used by widely-recognized tech brands — places Scale in a neutral, engineered typographic neighborhood where the focus stays on size and contrast, not letterform personality.

  • Vercel — Big-type, near-monochrome black-on-white editorial register; confidence through scale and restraint. https://vercel.com
  • Linear — Monochrome discipline with a single gradient flourish used as event color, not chrome. https://linear.app
  • Stripe — The purple-to-cool gradient deployed as a signature wash over near-monochrome surfaces. https://stripe.com
  • OpenAI — Research-credible, serious frontier-AI register; a peer / customer Scale’s voice sits alongside. https://openai.com
  • Aeonik (CoType Foundry) — The grotesque-geometric typeface that defines Scale’s neutral, engineered display character. https://www.cotypefoundry.com/fonts/aeonik

14. Do’s and Don’ts

Do

  • Use the colossal Aeonik headline at 116px / weight 400 for the hero — size is the brand signal, not weight.
  • Set display headlines at weight 400 (light); only step weight up (500 → 600) as size steps down.
  • Keep the canvas stark white #ffffff with pure-black #000000 ink — maximal contrast, no off-white haze.
  • Lead the homepage with the signature near-black hero #070707 carrying the white mega-headline.
  • Make the primary CTA black #000000, not purple — “Book Demo” stays monochrome.
  • Use 8px radius on every button — square-but-softened, engineered.
  • Reserve the purple gradient #5933b2#9068c2 for hero washes, data-viz fills, and featured bands only.
  • Keep nav panels and quiet cards on panel gray #f5f5f5 — calm, no shouting.
  • Use translucent near-black cards #07070799 for depth over dark / gradient grounds.
  • Show enterprise and government logos densely — the credibility lever is customer density.
  • Run generous hero padding (120–160px) so the 116px type lands as a statement, not a crowd.
  • Alternate the three registers — white → near-black → gradient — so no two heavy bands sit consecutively.

Don’t

  • Don’t put the brand purple on the CTA — the primary button is black #000000 with white text.
  • Don’t set the hero headline heavy. 400 weight at 116px is the brand; 700 would read as aggressive.
  • Don’t use pill-radius buttons. Every button is 8px radius; pill is for badges only.
  • Don’t spread the purple gradient onto buttons, body text, or card chrome — it is event color, used in full bands only.
  • Don’t introduce a serif or a second display face. Aeonik carries the whole system.
  • Don’t soften the canvas to off-white or gray. The white-first, black-ink contrast is the calibration.
  • Don’t cast box-shadows on near-black grounds — use translucent-card #07070799 layering instead.
  • Don’t crowd the mega-headline. Tight padding around 116px type kills the confidence; keep 120–160px.
  • Don’t make links blue on light surfaces — links are black #000000; the underline carries the affordance.
  • Don’t run two near-black or two gradient bands back-to-back. Cadence requires alternation.
  • Don’t write startup-playful microcopy. The register is serious, mission-grade, infrastructure-confident.
  • Don’t lead with price / “free”. The enterprise + government audience cares about reliability and scale.

15. Agent Prompt Guide

Quick Color Reference

Bg / Canvas:     #ffffff (white — marketing, product, docs)
Bg Dark:         #070707 (near-black — signature hero bands, footer)
Bg Deep:         #000000 (pure black — CTA fills, Book Demo)
Text:            #000000 (pure black ink on white)
Steel:           #575757 (body running-text, secondary)
Stone:           #767676 (captions, metadata — AA on white)
Brand:           #5933b2 (Scale purple — gradient anchor, focus ring)
Brand Light:     #9068c2 (lavender — gradient top stop, links on dark)
Gradient Hero:   linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%)
On-Brand:        #ffffff (white on purple / black)
Surface:         #f5f5f5 (panel gray — nav panels, quiet cards)
Surface Dark:    #07070799 (translucent near-black card on dark grounds)
Border:          #e2e2e2 (1px hairline on white)
Code Bg:         #0000000a (4% black wash for fenced code)

Example Component Prompts

  1. “Create a near-black hero band on #070707 with a colossal Aeonik headline at 116px / weight 400 / -0.03em tracking in white (‘Reliable AI Systems for the World’s Most Important Decisions’), a 20px / 400 #a8a8a8 subtitle, a black-inverted-to-white primary CTA (‘Book Demo’ — white #ffffff fill, black text, 8px radius, 12×20px padding, Aeonik 15 / 500), and a secondary outline-on-dark button (transparent, white text, 1px #2a2a2a border). 140px vertical padding.”

  2. “Build a light hero on #ffffff white canvas: Aeonik 96px / 400 / -0.03em pure-black headline, 20px #575757 subtitle, primary black CTA (‘Book Demo’ — #000000 fill, white text, 8px radius) plus a secondary outline button (transparent, black text, 1px #cccccc border, 8px radius). 120px padding.”

  3. “Compose a purple-gradient feature band: linear-gradient(135deg, #5933b2 0%, #8a507e 45%, #9068c2 100%) background, white text, 96px padding. h2 headline (Aeonik 36 / 500), a 3-up grid of translucent near-black cards (#07070799, 12px radius, 32px padding, white text), each with an h3 title and 2-line body. The gradient is the only color on the page — everything around it is black-and-white.”

  4. “Design a 3-up product card grid on white: each card on panel gray #f5f5f5, 12px radius, 32px padding, no border. Product name in h3 (Aeonik 28 / 500), capability subhead in body (16 / 400 #575757), and a black ‘Learn more →’ text link. Cards lift translateY(-2px) on hover over 240ms.”

  5. “Create a big-number stat row: 3 stat cards on white, 12px radius, 32px padding, 1px #e2e2e2 border. Each card shows a gradient-filled numeral in Aeonik 64 / 400 (purple gradient text fill #5933b2#9068c2) above a body-sm #767676 label. On hover the numeral scales scale(1.02).”

  6. “Build a top nav: 64px-tall sticky white bar. Scale wordmark on the left, horizontal menu (Products / Solutions / Customers / Company / Resources) center in body-medium black, and a black ‘Book Demo’ CTA on the right (#000000 fill, white text, 8px radius, Aeonik 15 / 500). Stays white on every page including dark hero pages — the nav is constant.”

Iteration Guide

  1. Start with size, not color. The brand’s loudest move is 116px Aeonik. If a hero feels weak, scale the headline up before reaching for color.
  2. Keep display weight light (400). Heavy display weight breaks the register — the size carries impact, the light weight keeps it confident.
  3. Make the CTA black, not purple. “Book Demo” is #000000 with white text at 8px radius. Putting the brand purple on the button is the #1 drift.
  4. Treat the gradient as event color. #5933b2#9068c2 belongs in full bands, hero washes, and data-viz fills — never on buttons, body text, or card chrome.
  5. Use 8px radius on every button. If you reach for pill radius, you’re drifting toward a friendlier brand — Scale’s square-but-softened corner is the signature shape.
  6. Stay near-monochrome. Most of the page is black, white, and #f5f5f5 panel gray. The purple is one moment; everything else is contrast.
  7. Alternate the three registers. white → near-black → gradient → white. Never two heavy bands consecutively, or the cadence collapses.
  8. Give the mega-type room. Hero padding at 120–160px. Crowding 116px type undermines the confidence that the size is meant to project.

Theme-toggle audit: score=3, signals=[data-theme-attr]

Ship with this

Drop scale-ai into your project, then ship the actual sections in an afternoon.

1 · install design
npx @webdesignhot/design-md add scale-ai
2 · ship landing page
npx agentkit init --design scale-ai
How AgentKit reads DESIGN.md