DESIGN.md inspired by Groq
Warm off-white canvas, light-weight Space Grotesk, and a single hot `#f43e01` orange — speed-obsessed AI inference.
Compare to…
- bg
#f3f3ee - bg-warm
#ecece4 - surface
#e8e8de - surface-card
#fffcfc - surface-dark
#2a2a25 - surface-darker
#1f1f1b - text AAA · 12.0
#2d2f33 - text-body
#3a3c40 - text-muted
#64748b - text-faint — · 2.6
#9498a0 - text-on-brand
#ffffff - text-on-dark
#f3f3ee - text-on-dark-muted
#b8b8ae - brand AA·LG · 3.4
#f43e01 - brand-hover
#d83602 - brand-active
#bf2f02 - brand-soft
#fde4da - brand-deep
#9e2701 - on-brand
#ffffff - dark
#2a2a25 - dark-hover
#1f1f1b - link
#2d2f33 - link-hover
#f43e01 - border — · 1.2
#dbe2f0 - border-strong — · 1.5
#c4cbd9 - border-warm
#d8d8cd - shadow-color
rgba(31, 31, 27, 0.05) - shadow-color-md
rgba(31, 31, 27, 0.08) - shadow-color-lg
rgba(31, 31, 27, 0.12) - shadow-glow-orange
rgba(244, 62, 1, 0.18) - success
#16a34a - warning
#d97706 - danger
#dc2626 - info
#0ea5e9
- step-0 0px
- step-1 4px
- step-2 8px
- step-3 12px
- step-4 16px
- step-5 24px
- step-6 32px
- step-7 48px
- step-8 64px
- step-9 96px
- micro
2px - sm
4px - md
8px - lg
12px - xl
16px - pill
9999px
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 → —
- muted → text-muted
- border → border
- ring → —
Groq's marketing aesthetic descends from the **precision-instrument** lineage — the warm paper canvas of editorial design crossed with the restraint of Swiss-grid typography. The whole type identity rests on **Space Grotesk**, Florian Karsten's reworking of Haas Grotesk Display: a geometric grotesque with a tall x-height and distinctive single-storey forms that give Groq an engineered, slightly mechanical voice. The light weight (300) on large headlines is the signature move — most hardware-AI brands shout in bold, Groq whispers in light, which reads as confidence: the speed speaks for itself. The warm off-white `#f3f3ee` paper (NOT sterile white) softens the technical register and ties to print-grade editorial work. A single hot `#f43e01` orange — the LPU brand voltage — is the one place the page raises its voice, rendered as a fully-rounded 1000px pill. IBM Plex Mono on the stat eyebrows nods to the lab-instrument / terminal heritage. Where Baseten dresses ML deployment in approachable purple and Modal in lime-green optimism, Groq commits to speed-obsessed minimalism: fast, low cost inference, said quietly on warm paper.
- The entire type identity — geometric grotesque, tall x-height, single-storey forms.
- Lab-instrument stat eyebrows and tokens-per-second counters.
- Grid discipline, restraint, and the light-weight-large-headline editorial register.
- Single-accent dev-tool baseline; one decisive brand color on a quiet canvas.
- Localised inverted dark band discipline rather than a full dark theme.
theme.extend block for tailwind.config.js
:root { --bg, --text, --brand, … } you can paste anywhere
W3C Design Tokens Community Group format
Importable into Figma → Variables → Import
---
name: Groq
tagline: 'Warm off-white canvas, light-weight Space Grotesk, and a single hot `#f43e01` orange — speed-obsessed AI inference.'
updated_at: 2026-05-28T22:16:06.555Z
published_at: 2026-05-28T22:16:06.555Z
author: webdesignhot
source_url: https://groq.com
spec: webdesignhot/0.1
quality: curated
featured: false
categories: [ai, dev-tools]
tags: [light, bold, sans, ai, inference]
preview_swatch: ['#f3f3ee', '#f43e01', '#2d2f33']
related: [baseten, modal, replicate]
description: 'Groq''s marketing surface reads like a precision instrument tuned for speed — a warm off-white `#f3f3ee` canvas, graphite `#2d2f33` text, and the whole type identity carried by Space Grotesk, a geometric grotesque whose distinctive single-storey forms and tall x-height become the brand''s signature. Headlines arrive at large sizes in a light weight (300) with tight negative tracking, an unusual editorial restraint for a hardware-AI company; body text holds Space Grotesk at 400. One hot `#f43e01` orange — borrowed from the Groq LPU brand voltage — handles every primary CTA, rendered as a fully-rounded `1000px` pill. A dark `#2a2a25` secondary button anchors the speed-demo affordance, and IBM Plex Mono carries the stat eyebrows ("3M DEVELOPERS AND TEAMS", tokens-per-second counters). Where Baseten dresses ML deployment in approachable purple workshop chrome and Modal commits to lime-green developer optimism, Groq commits to a speed-obsessed register — fast, low cost inference — expressed through light type, warm paper, and a single decisive orange.'
# 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
muted: text-muted
border: border
colors:
bg: '#f3f3ee' # warm off-white canvas — the brand's signature paper
bg-warm: '#ecece4' # slightly deeper warm band for alternation
surface: '#e8e8de' # soft card / panel tint on the warm canvas
surface-card: '#fffcfc' # near-white elevated content card
surface-dark: '#2a2a25' # dark secondary-button / inverted band surface
surface-darker: '#1f1f1b' # deepest inverted footer / code surface
text: '#2d2f33' # primary graphite text — headlines + body
text-body: '#3a3c40' # default running-text, fractionally softer
text-muted: '#64748b' # captions, secondary links, fine-print
text-faint: '#9498a0' # tertiary fine-print, disabled labels
text-on-brand: '#ffffff' # white text on the orange pill
text-on-dark: '#f3f3ee' # off-white text on dark surfaces (matches canvas)
text-on-dark-muted: '#b8b8ae' # muted body on dark surfaces
brand: '#f43e01' # the Groq hot orange — every primary CTA
brand-hover: '#d83602' # darkened orange for hover / press
brand-active: '#bf2f02' # deepest orange for active state
brand-soft: '#fde4da' # tinted orange wash for badges / highlights
brand-deep: '#9e2701' # darkest orange for type on brand-soft
on-brand: '#ffffff' # white label on orange pill
dark: '#2a2a25' # dark secondary action / inverted band
dark-hover: '#1f1f1b' # darkened dark-button hover
link: '#2d2f33' # inline links match text, underlined
link-hover: '#f43e01' # links warm to orange on hover
border: '#dbe2f0' # light hairline on cards / inputs
border-strong: '#c4cbd9' # stronger divider on focused inputs
border-warm: '#d8d8cd' # warm-tinted hairline on the off-white canvas
shadow-color: 'rgba(31, 31, 27, 0.05)' # ambient
shadow-color-md: 'rgba(31, 31, 27, 0.08)' # standard card shadow
shadow-color-lg: 'rgba(31, 31, 27, 0.12)' # hover / modal
shadow-glow-orange: 'rgba(244, 62, 1, 0.18)' # rare ambient glow on hero CTA
success: '#16a34a' # confirmation
warning: '#d97706' # caution
danger: '#dc2626' # destructive / error
info: '#0ea5e9' # informational notices
typography:
display:
family: 'Space Grotesk", system-ui, -apple-system, sans-serif'
weights: [300, 400, 500, 600, 700]
body:
family: 'Space Grotesk", system-ui, -apple-system, sans-serif'
weights: [400, 500, 600]
mono:
family: 'IBM Plex Mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace'
weights: [400, 500]
scale:
display-hero: { size: 80, weight: 300, lineHeight: 1.0, tracking: '-0.03em', family: display, notes: 'large hero — light weight, the brand signature' }
display-lg: { size: 56, weight: 300, lineHeight: 1.05, tracking: '-0.02em', family: display, notes: 'major section heads, light' }
display-md: { size: 46, weight: 300, lineHeight: 1.1, tracking: '-0.02em', family: display, notes: 'editorial sub-heads, light' }
h1: { size: 32, weight: 300, lineHeight: 1.3, tracking: '-0.02em', family: display, notes: 'page h1 — Space Grotesk 32px/300' }
h2: { size: 32, weight: 300, lineHeight: 1.2, tracking: '-0.02em', family: display, notes: 'section h2 — light weight' }
h3: { size: 24, weight: 400, lineHeight: 1.25, tracking: '-0.01em', family: display }
h4: { size: 20, weight: 500, lineHeight: 1.3, tracking: '0', family: display }
title: { size: 18, weight: 500, lineHeight: 1.35, tracking: '0', family: display }
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-sm: { size: 14, weight: 400, lineHeight: 1.5, tracking: '0', family: body }
button: { size: 15, weight: 400, lineHeight: 1.0, tracking: '0', family: body }
nav-link: { size: 15, weight: 400, lineHeight: 1.4, tracking: '0', family: body }
label: { size: 13, weight: 500, lineHeight: 1.4, tracking: '0', family: body }
caption: { size: 12, weight: 500, lineHeight: 1.4, tracking: '0.02em', family: body }
mono-eyebrow: { size: 12, weight: 500, lineHeight: 1.4, tracking: '1.2px', family: mono, transform: uppercase, notes: 'stat eyebrows — IBM Plex Mono' }
stat-display: { size: 56, weight: 300, lineHeight: 1.0, tracking: '-0.02em', family: display, notes: 'big stat numbers — tokens/sec, dev count' }
code: { size: 14, weight: 400, lineHeight: 1.6, tracking: '0', family: mono }
radius:
micro: 2
sm: 4
md: 8
lg: 12
xl: 16
pill: 9999
spacing:
base: 4
scale: [0, 4, 8, 12, 16, 24, 32, 48, 64, 96]
layout:
page-width: 1280
prose-width: 720
header-height: 64
motion:
ease-standard: 'cubic-bezier(0.4, 0, 0.2, 1)'
ease-emphasized: 'cubic-bezier(0.2, 0, 0, 1)'
duration-fast: 150
duration-standard: 240
duration-slow: 320
reduced-motion: 'respects prefers-reduced-motion: reduce — opacity-only transitions, speed-counter animation frozen on final value'
breakpoints:
mobile: 640
tablet: 1024
desktop: 1280
wide: 1536
components:
button-primary:
bg: brand
text: on-brand
radius: pill
padding: '10px 16px'
fontSize: 15
use: 'every primary CTA — Start Building, Get Started, View Pricing'
button-dark:
bg: dark
text: on-brand
radius: sm
padding: '12px'
fontSize: 15
use: 'speed-demo affordance — TRY THE SPEED OF GROQ'
button-ghost:
bg: transparent
text: text
border: border-warm
radius: pill
padding: '10px 16px'
use: 'paired secondary action'
button-text-link:
bg: transparent
text: text
use: 'inline text link — underlined, warms to orange on hover'
card:
bg: surface
border: border
radius: lg
padding: 24
use: 'standard content card on the warm canvas'
card-elevated:
bg: surface-card
radius: lg
padding: 24
use: 'near-white elevated card with ambient shadow'
card-dark:
bg: surface-dark
text: text-on-dark
radius: lg
padding: 24
use: 'inverted card — speed demo / benchmark surface'
badge-mono:
bg: transparent
text: text-muted
radius: micro
transform: uppercase
use: 'IBM Plex Mono stat eyebrow — 3M DEVELOPERS AND TEAMS'
badge-soft:
bg: brand-soft
text: brand-deep
radius: pill
padding: '4px 12px'
use: 'orange-tinted pill for NEW / featured callout'
input:
bg: surface-card
border: border
text: text
radius: md
padding: '8px 12px'
top-nav:
bg: bg
text: text
height: 64
shadows:
ambient: 'rgba(31, 31, 27, 0.05) 0 1px 2px'
standard: 'rgba(31, 31, 27, 0.08) 0 4px 14px'
elevated: 'rgba(31, 31, 27, 0.12) 0 12px 32px -8px'
deep: 'rgba(31, 31, 27, 0.16) 0 24px 48px -12px'
glow-orange: 'rgba(244, 62, 1, 0.18) 0 12px 48px -8px'
ring: '0 0 0 3px rgba(244, 62, 1, 0.30)'
accessibility:
contrast-text-on-bg: 11.1 # AAA — #2d2f33 on #f3f3ee
contrast-body-on-bg: 9.6 # AAA — #3a3c40 on #f3f3ee
contrast-muted-on-bg: 4.3 # AA (large) — #64748b on #f3f3ee
contrast-on-brand: 3.6 # AA large only — #ffffff on #f43e01 (use 15px+ / 400+)
contrast-text-on-dark: 12.7 # AAA — #f3f3ee on #2a2a25
focus-ring: '3px rgba(244, 62, 1, 0.30) ring with 1px solid #f43e01 core'
reduced-motion-honored: true
dark-mode: 'light-default — Groq marketing runs on the warm off-white canvas. Dark moments are localised inverted bands (#2a2a25 / #1f1f1b) for speed demos and the footer, not a full dark theme.'
lineage:
summary: |
Groq's marketing aesthetic descends from the **precision-instrument**
lineage — the warm paper canvas of editorial design crossed with the
restraint of Swiss-grid typography. The whole type identity rests on
**Space Grotesk**, Florian Karsten's reworking of Haas Grotesk Display:
a geometric grotesque with a tall x-height and distinctive single-storey
forms that give Groq an engineered, slightly mechanical voice. The light
weight (300) on large headlines is the signature move — most hardware-AI
brands shout in bold, Groq whispers in light, which reads as confidence:
the speed speaks for itself. The warm off-white `#f3f3ee` paper (NOT
sterile white) softens the technical register and ties to print-grade
editorial work. A single hot `#f43e01` orange — the LPU brand voltage —
is the one place the page raises its voice, rendered as a fully-rounded
1000px pill. IBM Plex Mono on the stat eyebrows nods to the lab-instrument
/ terminal heritage. Where Baseten dresses ML deployment in approachable
purple and Modal in lime-green optimism, Groq commits to speed-obsessed
minimalism: fast, low cost inference, said quietly on warm paper.
influences:
- name: Space Grotesk (Florian Karsten)
role: The entire type identity — geometric grotesque, tall x-height, single-storey forms.
url: https://fonts.google.com/specimen/Space+Grotesk
- name: IBM Plex Mono
role: Lab-instrument stat eyebrows and tokens-per-second counters.
url: https://fonts.google.com/specimen/IBM+Plex+Mono
- name: Swiss / International Typographic Style
role: Grid discipline, restraint, and the light-weight-large-headline editorial register.
url: https://en.wikipedia.org/wiki/International_Typographic_Style
- name: Vercel
role: Single-accent dev-tool baseline; one decisive brand color on a quiet canvas.
url: https://vercel.com
- name: Linear
role: Localised inverted dark band discipline rather than a full dark theme.
url: https://linear.app
---
## 1. Visual Theme & Atmosphere
Groq's marketing surface reads like a precision instrument tuned for speed. The canvas is a warm off-white `#f3f3ee` — paper, not sterile white — carrying graphite `#2d2f33` type. The warmth is deliberate: it softens the hardware-AI register, tying Groq's custom-silicon story to the calm of print-grade editorial design rather than the cold blue of enterprise infrastructure. Where most inference companies arrive in dark dashboards and neon benchmark charts, Groq arrives on quiet paper and lets the numbers do the talking.
The defining typographic move is **light-weight large headlines**. The whole type identity rests on Space Grotesk — a geometric grotesque with a tall x-height and distinctive single-storey forms that give the brand an engineered, slightly mechanical voice — and Groq runs it at weight 300 on its biggest sizes. The hero headline ("Groq delivers fast, low cost inference that doesn't flake when things get real") lands at 32px in a light 300 with tight `-0.02em` tracking; the largest editorial heads reach 46–80px and stay light. Most hardware-AI brands shout in bold. Groq whispers in light, and the whisper reads as confidence: the speed speaks for itself.
There is exactly one place the page raises its voice — the hot `#f43e01` orange. It is the LPU brand voltage distilled into a single decisive color, and it is reserved almost entirely for the primary CTA, rendered as a fully-rounded `1000px` pill ("Start Building", "Get Started", "View Pricing"). The orange against warm paper is a high-contrast spark; used sparingly, it becomes the brand's heartbeat. A second, quieter affordance — the dark `#2a2a25` button with its small 5px radius ("TRY THE SPEED OF GROQ") — anchors the interactive speed demo that is Groq's signature party trick: watch tokens stream faster than you can read.
The supporting voice is **IBM Plex Mono**, which carries the stat eyebrows and counters: "3M DEVELOPERS AND TEAMS", tokens-per-second readouts, latency figures. The mono is a deliberate genre signal — lab instrument, terminal, the place where measured speed gets reported. It appears at 12px, weight 500, with 1.2px tracking, uppercase, and it is the one typeface allowed to set numbers that matter.
The page rhythm alternates the warm canvas with occasional inverted `#2a2a25` bands for speed demos and benchmark surfaces, and a deepest `#1f1f1b` footer. These dark moments are localised, not a full dark theme — the inverted band is a spotlight, used to make the orange CTA and the streaming-token demo pop, then the page returns to paper.
**Key Characteristics:**
- Warm off-white `#f3f3ee` canvas — paper, not sterile white — with graphite `#2d2f33` type.
- Space Grotesk carries the entire type identity: display and body, distinctive geometric grotesque forms.
- Light weight (300) on every large headline — the signature restraint move.
- Single hot `#f43e01` orange for primary CTAs, rendered as a fully-rounded `1000px` pill.
- Dark `#2a2a25` secondary button (small 5px radius) for the speed-demo affordance.
- IBM Plex Mono on stat eyebrows and tokens-per-second counters — lab-instrument voice.
- Tight negative tracking (`-0.02em` to `-0.03em`) on display sizes.
- Localised inverted `#2a2a25` / `#1f1f1b` bands — spotlights, not a full dark theme.
- Speed-obsessed register: "fast, low cost inference" said quietly, with one orange spark.
- Single brand color discipline — orange + graphite + warm grayscale, no second accent.
## 2. Color Palette & Roles
### Primary
- **Bg / Canvas** (`#f3f3ee`): Warm off-white paper — runs every marketing page. The brand's signature surface.
- **Text** (`#2d2f33`): Graphite — headlines and body. Warm-neutral, not pure black.
- **Brand / Primary CTA** (`#f43e01`): The Groq hot orange — every primary CTA, the page's one loud color.
### Brand & Orange
- **Brand** (`#f43e01`): Reserved for primary CTA pills, link-hover state, focus rings, rare hero accents.
- **Brand Hover** (`#d83602`): Darkened orange for hover / press on the pill.
- **Brand Active** (`#bf2f02`): Deepest orange for the active / pressed state.
- **Brand Soft** (`#fde4da`): Tinted orange wash for "NEW" / featured badges.
- **Brand Deep** (`#9e2701`): Darkest orange — type set on the `brand-soft` wash.
- **On-Brand** (`#ffffff`): White label on the orange pill.
### Dark / Inverted
- **Dark** (`#2a2a25`): Dark secondary button (speed demo) and localised inverted bands.
- **Dark Hover** (`#1f1f1b`): Darkened dark-button hover.
- **Surface Dark** (`#2a2a25`): Inverted card / band surface — benchmark + speed-demo moments.
- **Surface Darker** (`#1f1f1b`): Deepest inverted surface — footer, code window.
### Interactive
- **Link** (`#2d2f33`): Inline body links match text, underlined.
- **Link Hover** (`#f43e01`): Links warm to the brand orange on hover.
- **Selected** (`rgba(244, 62, 1, 0.15)`): Selected text background — faint orange tint.
- **Disabled** (`#9498a0`): Disabled labels and tertiary text.
### Neutral Scale
- **Text** (`#2d2f33`): Primary graphite — headlines, body.
- **Text Body** (`#3a3c40`): Default running-text, fractionally softer than headlines.
- **Text Muted** (`#64748b`): Captions, secondary links, breadcrumbs.
- **Text Faint** (`#9498a0`): Tertiary fine-print, disabled labels.
- **Text on Dark** (`#f3f3ee`): Off-white text on inverted bands — matches the canvas, keeps warmth.
- **Text on Dark Muted** (`#b8b8ae`): Muted body on inverted surfaces.
### Surface & Borders
- **Bg Warm** (`#ecece4`): Slightly deeper warm band for editorial alternation.
- **Surface** (`#e8e8de`): Soft card / panel tint on the warm canvas.
- **Surface Card** (`#fffcfc`): Near-white elevated content card.
- **Border** (`#dbe2f0`): Light hairline on cards and inputs.
- **Border Warm** (`#d8d8cd`): Warm-tinted hairline that reads correctly on the off-white canvas.
- **Border Strong** (`#c4cbd9`): Stronger divider on focused inputs.
### Shadow Colors
Groq uses warm-graphite shadows at low alpha — `rgba(31, 31, 27, ...)`, tied to the deepest inverted surface so depth stays brand-aligned and warm.
- **Shadow Color** (`rgba(31, 31, 27, 0.05)`): Ambient.
- **Shadow Color Md** (`rgba(31, 31, 27, 0.08)`): Standard card shadow.
- **Shadow Color Lg** (`rgba(31, 31, 27, 0.12)`): Hover / modal entrance.
- **Shadow Glow Orange** (`rgba(244, 62, 1, 0.18)`): Rare ambient glow on the hero CTA.
### Semantic
- **Success** (`#16a34a`): Confirmation toasts, "deployed" indicators in product UI.
- **Warning** (`#d97706`): Caution states (kept warm to harmonise with the orange).
- **Danger** (`#dc2626`): Destructive actions and error states.
- **Info** (`#0ea5e9`): Informational notices.
## 3. Typography Rules
### Font Family
- **Primary (display + body)**: `"Space Grotesk", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif`. Space Grotesk handles every text role — the whole brand voice is in this one geometric grotesque.
- **Mono**: `"IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace`. Stat eyebrows, tokens-per-second counters, code surfaces.
- **No separate display family** — Space Grotesk's character (tall x-height, single-storey forms) is enough to carry both running text and large heads; the hierarchy is built from weight and size, not a second face.
### Hierarchy
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| display-hero | Space Grotesk | 80 | 300 | 1.0 | -0.03em | Large hero — light weight, the signature |
| display-lg | Space Grotesk | 56 | 300 | 1.05 | -0.02em | Major section heads, light |
| display-md | Space Grotesk | 46 | 300 | 1.10 | -0.02em | Editorial sub-heads, light |
| h1 | Space Grotesk | 32 | 300 | 1.30 | -0.02em | Page h1 — the canonical Groq headline |
| h2 | Space Grotesk | 32 | 300 | 1.20 | -0.02em | Section h2 — light weight |
| h3 | Space Grotesk | 24 | 400 | 1.25 | -0.01em | Card titles, sub-heads |
| h4 | Space Grotesk | 20 | 500 | 1.30 | 0 | Small card titles |
| title | Space Grotesk | 18 | 500 | 1.35 | 0 | List labels, feature titles |
| body-lg | Space Grotesk | 18 | 400 | 1.55 | 0 | Hero subhead, intro copy |
| body | Space Grotesk | 16 | 400 | 1.55 | 0 | Default running-text |
| body-sm | Space Grotesk | 14 | 400 | 1.50 | 0 | Footer body, fine-print |
| button | Space Grotesk | 15 | 400 | 1.0 | 0 | CTA pill and button labels |
| nav-link | Space Grotesk | 15 | 400 | 1.40 | 0 | Top-nav menu items |
| label | Space Grotesk | 13 | 500 | 1.40 | 0 | Form labels, small UI labels |
| caption | Space Grotesk | 12 | 500 | 1.40 | 0.02em | Captions |
| mono-eyebrow | IBM Plex Mono | 12 | 500 | 1.40 | 1.2px | Stat eyebrows — uppercase ("3M DEVELOPERS AND TEAMS") |
| stat-display | Space Grotesk | 56 | 300 | 1.0 | -0.02em | Big stat numbers — tokens/sec, dev count |
| code | IBM Plex Mono | 14 | 400 | 1.60 | 0 | Code blocks, API snippets |
### Principles
- **Display weight stays light (300).** This is the brand's defining move — large headlines arrive light, not bold. Bold (600–700) is reserved for the rare emphatic moment, never the default headline.
- **Negative tracking on every display size.** `-0.02em` to `-0.03em` tightens the light type so it reads as one continuous line, not loose letters.
- **Body holds Space Grotesk at 400 / 1.55.** Comfortable, even, slightly tall — the grotesque's x-height does the legibility work.
- **Weight, not a second face, builds hierarchy.** Space Grotesk runs 300 → 400 → 500 → 600 across the scale; the family carries everything.
- **IBM Plex Mono is for measured numbers only.** Stat eyebrows, tokens-per-second, latency, developer counts. Uppercase, 1.2px tracking — the lab-instrument register.
- **Stat-display numbers carry the speed story.** "3M", tokens/sec readouts, "<1s" — set in light Space Grotesk at display size, the credibility moments.
- **Graphite, not black.** `#2d2f33` keeps the type warm against the off-white paper; pure black would feel cold and break the editorial calm.
- **Tight tracking + light weight = the Groq fingerprint.** If a headline is bold or loosely tracked, it is not Groq.
## 4. Component Stylings
### Buttons (4 variants)
**`button-primary`** — The signature orange pill. Background `#f43e01`, label `#ffffff`, Space Grotesk 15px / 400, padding 10px × 16px, radius `1000px` (full pill). Hover: `#d83602` over 150ms. Used for every primary CTA — "Start Building", "Get Started", "View Pricing", "Learn More". This is the one loud element on the page.
**`button-dark`** — Dark speed-demo action. Background `#2a2a25`, label `#ffffff`, Space Grotesk 15px / 400, padding 12px, small `5px` radius (NOT a pill — the contrast in shape distinguishes it from the primary CTA). Used for "TRY THE SPEED OF GROQ" — the interactive token-streaming demo.
**`button-ghost`** — Quiet secondary. Transparent background, `#2d2f33` label, 1px `#d8d8cd` warm hairline border, radius `1000px` to echo the primary pill shape, same padding. Paired secondary action ("Read the docs").
**`button-text-link`** — Inline text link in `#2d2f33`, underlined, warms to `#f43e01` on hover. Used inside running copy.
### Cards
**`card`** — Standard content card. Background `#e8e8de` (soft tint on the warm canvas), 1px `#dbe2f0` border, radius `12px`, padding 24px. Sits flat or with a faint ambient shadow.
**`card-elevated`** — Near-white elevated card. Background `#fffcfc`, radius `12px`, padding 24px, standard warm-graphite shadow. Lifts content off the paper.
**`card-dark`** — Inverted speed / benchmark card. Background `#2a2a25`, text `#f3f3ee`, radius `12px`, padding 24px. Hosts the streaming-token demo, tokens-per-second counters, and benchmark comparisons — the spotlight surface where the orange CTA and the mono numbers pop.
### Badges & Pills
**`badge-mono`** — The stat eyebrow. Transparent background, `#64748b` text, IBM Plex Mono 12px / 500, 1.2px tracking, uppercase ("3M DEVELOPERS AND TEAMS", "TOKENS / SEC"). The brand's distinctive label chrome.
**`badge-soft`** — Orange-tinted pill for "NEW" / featured callouts. Background `#fde4da`, text `#9e2701`, radius `1000px`, padding 4px × 12px.
### Inputs / Forms
**`input`** — Text input. Background `#fffcfc`, 1px `#dbe2f0` border, text `#2d2f33`, radius `8px`, padding 8px × 12px. Placeholder `#9498a0`.
**`input-focused`** — 3px `rgba(244, 62, 1, 0.30)` ring with 1px solid `#f43e01` core, border darkens to `#c4cbd9`.
### Navigation
**`top-nav`** — Transparent / warm-canvas nav pinned to top, 64px tall, background `#f3f3ee`. Groq wordmark left, primary horizontal menu (Products, Developers, Enterprise, Pricing, Company) center, right-side: "Sign in" text link + orange `button-primary` pill ("Start Building"). No bottom border at rest; a faint warm hairline appears on scroll.
### Decorative
**`speed-counter`** — Animated tokens-per-second readout in light Space Grotesk stat-display sizing, the value counting up on scroll-into-view. Paired with an IBM Plex Mono "TOKENS / SEC" eyebrow.
**`customer-logo-strip`** — Horizontal monochrome customer-logo strip (McLaren F1 and others) in `#64748b`, padding 32px vertical, on the warm canvas.
## 5. Layout Principles
### Spacing System
Base unit **4px**. Scale: `[0, 4, 8, 12, 16, 24, 32, 48, 64, 96]`. 96px section padding sets the editorial vertical rhythm; 24px card padding; 16px the common gutter. The generous top/bottom section padding is part of the calm, paper-like register.
### Grid & Container
Max content width **1280px** centered; prose width capped at **720px** for readability. Editorial body uses a 12-column grid. The hero often runs asymmetric — light headline left, speed demo or benchmark card right. Feature card grids run 3-up at desktop, 2-up at tablet, 1-up at mobile.
### Whitespace Philosophy
Groq uses generous, editorial whitespace — the page should feel unhurried and confident, the opposite of a cluttered dashboard. The light headlines need room to breathe; tight type plus open space is the brand's balance. The orange CTA earns its impact precisely because the surrounding space is calm.
### Section Cadence
Warm-canvas hero (light headline + speed demo) → customer-logo strip → inverted `#2a2a25` benchmark / speed-demo band → light feature card grid → stat-callout strip (mono eyebrows + light stat numbers) → editorial sub-section on warm-deeper `#ecece4` band → pricing → CTA band → deepest `#1f1f1b` footer.
## 6. Shapes & Radius Scale
| Tier | Token | Value | Use |
|---|---|---|---|
| Micro | micro | 2px | Tiny chips, mono-eyebrow underline accents |
| Standard | sm | 4px | Dark speed-demo button (rendered ~5px), tight inline elements |
| Comfortable | md | 8px | Inputs, small inline buttons |
| Large | lg | 12px | Content cards, elevated cards, dark benchmark cards |
| Featured | xl | 16px | Hero shells, large feature panels |
| Pill | pill | 9999px | Primary orange CTA, ghost buttons, soft badges |
The radius story is a deliberate contrast: the **primary CTA is a full pill (1000px)** — soft, friendly, fast-feeling — while the **dark speed-demo button is sharp (~5px)** to set it apart. Cards sit at a calm 12px.
## 7. Depth & Elevation
| Level | Treatment | Use |
|---|---|---|
| 0 — Flat | No shadow, no border | Body sections, top nav at rest, hero text |
| 1 — Soft hairline | 1px `#dbe2f0` / `#d8d8cd` border | Standard cards, inputs |
| 2 — Soft shadow | 1px border + ambient shadow | Cards on hover |
| 3 — Standard shadow | Standard warm-graphite shadow | Elevated near-white cards |
| 4 — Brand glow | Glow-orange shadow | Hero CTA card (rare) |
| 5 — Inverted | Dark `#2a2a25` surface, no shadow | Benchmark / speed-demo spotlight bands |
| 6 — Modal | Standard shadow + backdrop dim 55% | Dialogs, dropdowns |
### Shadow Philosophy
Groq's depth is restrained and warm. Shadows use `rgba(31, 31, 27, ...)` — the deepest inverted surface tinted at low alpha — so elevation stays brand-aligned and never reads cold or blue. Most of the page is flat (paper rests on paper); shadow is reserved for genuinely floating elements. Hover lifts are subtle (translateY(-2px) + shadow up one tier). The rare orange glow appears only behind the hero CTA.
## 8. Interaction & Motion
### Easing Curves
- **Standard ease**: `cubic-bezier(0.4, 0, 0.2, 1)` — default for color, opacity, transforms.
- **Emphasized ease**: `cubic-bezier(0.2, 0, 0, 1)` — CTA hover, modal entrances, the speed-counter count-up.
### Duration Buckets
- **Fast (150ms)**: Color and opacity transitions, button hover.
- **Standard (240ms)**: Card hover lifts, dropdown opens.
- **Slow (320ms)**: Modal entrance, section-on-scroll reveals.
### Per-Component Micro-States
- **Primary CTA hover**: Orange darkens `#f43e01` → `#d83602` over 150ms; subtle 1px lift.
- **Dark button hover**: `#2a2a25` → `#1f1f1b` over 150ms.
- **Card hover**: TranslateY(-2px) over 240ms; shadow intensifies one tier.
- **Speed counter**: On scroll-into-view, the tokens-per-second number counts up from 0 to its real value over ~1.2s with emphasized easing — the brand's literal demonstration of speed.
- **Link hover**: Color warms graphite → orange over 150ms; underline persists.
- **Input focus**: 3px orange ring expands.
### Page Transitions
Standard browser navigation. Section-on-scroll reveals are 320ms fade-in-up. The speed-demo band animates its counter on first view, then holds.
### Reduced Motion
Honored — the speed-counter animation is skipped and the number renders at its final value immediately; all count-ups, transforms, and parallax are removed; only opacity fades remain. Critically, the speed message must survive without motion: the final number is the message, not the animation.
## 9. Accessibility & A11y
### Contrast Pairs
- **Text on bg**: `#2d2f33` on `#f3f3ee` = **11.1** — AAA.
- **Body on bg**: `#3a3c40` on `#f3f3ee` = **9.6** — AAA.
- **Muted on bg**: `#64748b` on `#f3f3ee` = **4.3** — AA for large text; use at 18px+ or 14px-bold for captions.
- **On-brand on brand**: `#ffffff` on `#f43e01` = **3.6** — AA for large text only. The CTA label is 15px / 400, which sits at the large-text threshold; keep CTA labels ≥15px and never drop white-on-orange below it. For small orange text use `brand-deep` `#9e2701` on a light surface instead.
- **Text on dark**: `#f3f3ee` on `#2a2a25` = **12.7** — AAA on inverted bands.
- **Brand-deep on brand-soft**: `#9e2701` on `#fde4da` = **5.9** — AA.
### Focus Indicators
3px `rgba(244, 62, 1, 0.30)` ring with 1px solid `#f43e01` core. The orange ring is consistent across light and inverted surfaces — visible on both the warm canvas and the dark bands.
### ARIA Patterns
- **Buttons**: Native `<button>` / `<a role="button">`; icon-only carry `aria-label`.
- **Speed counter**: Wrap the animated value in `aria-live="off"` and expose the final value via `aria-label` so screen readers announce the number, not the count-up.
- **Navigation**: `<nav aria-label="Primary">`.
- **Logo strip**: Each logo `<img>` carries `alt` with the customer name.
- **Dialog**: `role="dialog"` + `aria-labelledby` + `aria-modal="true"`.
### Keyboard Navigation
Tab order follows reading order. Skip-link ("skip to content", already present on the live site) to `<main>`. Modal traps focus and Escape closes. The orange focus ring makes the focused control unambiguous on every surface.
### Screen Reader Hints
Stat numbers expose full unit readout via `aria-label` ("3 million developers and teams", "X tokens per second"). The speed-demo band provides a textual summary so the speed claim is conveyed without the animation.
### Reduced Motion Handling
Honored — counters freeze on final values, reveals become opacity-only, no parallax. See section 8.
## 10. Responsive Behavior
### Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 640px | Hamburger nav; hero headline 32→26px (stays light 300); demo card stacks below; feature grids 1-up; 96→56px section padding |
| Tablet | 640–1024px | Top nav tightens; feature cards 2-up; hero headline ~40px |
| Desktop | 1024–1280px | Full top-nav; 3-up feature cards; hero at full size |
| Wide | > 1280px | Same as desktop with more breathing room; max content 1280px |
### Touch Targets
Primary CTA pill min 44px tall on touch (padding bumps from 10px to ~13px vertical). Icon-only controls 44 × 44px hit area. Input height ≥44px on touch.
### Collapsing Strategy
Top nav collapses to a hamburger at < 1024px. Hero asymmetric layout collapses to single-column (headline first, then speed-demo card). The stat-callout strip stacks vertically; mono eyebrows stay above their numbers. Inverted benchmark bands keep full-bleed width and reflow their internal columns.
### Image Behavior
Customer logos retain native aspect; the strip scrolls horizontally on mobile rather than shrinking past legibility. Benchmark charts in the dark band switch from side-by-side to stacked.
## 11. Content & Voice
### Tone
**Fast, confident, plainspoken, speed-obsessed.** Groq writes for developers and teams who care about inference latency and cost. The voice is the typographic light weight in words: it states capability quietly and lets the numbers carry the boast ("fast, low cost inference that doesn't flake when things get real"). It is technical without jargon-stacking, confident without shouting — closer to a precision-instrument datasheet than a hype deck.
### Microcopy Patterns
- **CTA verbs**: "Start Building", "Get Started", "View Pricing", "View Models", "Learn More", "Read More", "Start Now". Action-first, no fluff.
- **Stat eyebrows** (IBM Plex Mono, uppercase): "3M DEVELOPERS AND TEAMS", "TOKENS / SEC", "LPU INFERENCE".
- **Feature copy**: Verb-first and outcome-led ("Deploy in seconds", "Built for inference", "Instant intelligence, deployed worldwide").
- **Speed framing**: Numbers are the headline. Pair every speed claim with a real figure in light stat-display type.
### Empty States
Console / dashboard: "No models running yet — make your first request and watch it stream." Welcoming, speed-forward, with an orange link to the quickstart.
### Error Messages
Pattern: `<icon in #dc2626> + "What went wrong" + "What to try next"`. Example: "Request failed — check your API key and try again." Kept short and unalarming.
### Success Confirmations
Toast in `#2d2f33` over `#fffcfc` with a success stripe. "Request complete — N tokens in Xms." Auto-dismiss 4s. Even confirmations report a speed number.
## 12. Dark Mode & Theming
Groq marketing is **light-default** on the warm `#f3f3ee` canvas. There is no full dark theme; instead, Groq uses **localised inverted bands** (`#2a2a25` surface, `#1f1f1b` for the footer and code) as spotlights — for the speed demo, benchmark comparisons, and the footer. On these inverted surfaces tokens map: `bg: #2a2a25` (or `#1f1f1b`), `text: #f3f3ee` (the canvas color, reused to preserve warmth), `text-muted: #b8b8ae`, `brand: #f43e01` (unchanged — the orange is identical on both surfaces), `border: rgba(243,243,238,0.12)`. The deliberate reuse of the off-white as on-dark text keeps every surface, light or dark, inside the same warm family. If a product dark theme were added, it would extend this band palette rather than introduce a cool-gray system.
## 13. Lineage & Influences
Groq's marketing aesthetic descends from the **precision-instrument** lineage — the warm paper canvas of editorial design crossed with the restraint of Swiss-grid typography. The whole type identity rests on **Space Grotesk**, Florian Karsten's reworking of Haas Grotesk Display: a geometric grotesque with a tall x-height and distinctive single-storey forms that give Groq an engineered, slightly mechanical voice. The defining move is the **light weight (300) on large headlines** — most hardware-AI brands shout in bold; Groq whispers in light, which reads as confidence: the speed speaks for itself.
The warm off-white `#f3f3ee` paper (NOT sterile white) softens the technical register and ties to print-grade editorial work, while a single hot `#f43e01` orange — the LPU brand voltage — is the one place the page raises its voice, rendered as a fully-rounded `1000px` pill. **IBM Plex Mono** on the stat eyebrows nods to the lab-instrument / terminal heritage where measured speed gets reported. The **localised inverted bands** rather than a full dark theme borrow Linear's discipline of keeping dark moments deliberate and brand-aligned. The single-accent-on-a-quiet-canvas baseline is Vercel's, but where Vercel goes monochrome-on-white, Groq goes orange-on-warm-paper. Where Baseten dresses ML deployment in approachable purple workshop chrome and Modal commits to lime-green developer optimism, Groq rejects the dashboard-dark, neon-benchmark cliché of the inference category entirely and commits to speed-obsessed minimalism: fast, low cost inference, said quietly on warm paper.
- **Space Grotesk (Florian Karsten)** — The entire type identity: geometric grotesque, tall x-height, single-storey forms. https://fonts.google.com/specimen/Space+Grotesk
- **IBM Plex Mono** — Lab-instrument stat eyebrows and tokens-per-second counters. https://fonts.google.com/specimen/IBM+Plex+Mono
- **Swiss / International Typographic Style** — Grid discipline and the light-large-headline editorial register. https://en.wikipedia.org/wiki/International_Typographic_Style
- **Vercel** — Single-accent dev-tool baseline; one decisive brand color on a quiet canvas. https://vercel.com
- **Linear** — Localised inverted dark band discipline rather than a full dark theme. https://linear.app
## 14. Do's and Don'ts
### Do
- Anchor every page on the warm off-white `#f3f3ee` canvas — paper, not sterile white.
- Set Space Grotesk on every text role; the family is the brand voice.
- Keep large headlines at the light weight (300) with tight `-0.02em` to `-0.03em` tracking.
- Reserve the hot orange `#f43e01` for the primary CTA — rendered as a full `1000px` pill.
- Use the dark `#2a2a25` button (small ~5px radius) for the speed-demo affordance, to contrast the orange pill.
- Set stat eyebrows in IBM Plex Mono, uppercase, 1.2px tracking ("3M DEVELOPERS AND TEAMS").
- Pair every speed claim with a real number in light stat-display type.
- Use localised inverted `#2a2a25` / `#1f1f1b` bands as spotlights for speed demos and benchmarks.
- Use graphite `#2d2f33`, not black, for type — it keeps the warm editorial calm.
- Keep generous 96px section rhythm so the light type and orange CTA have room to breathe.
### Don't
- Don't switch the canvas to pure white or pure black. The warmth of `#f3f3ee` is the brand.
- Don't set headlines in bold by default — the light weight is the signature; bold breaks it.
- Don't introduce a second accent color. Groq is orange + graphite + warm grayscale, full stop.
- Don't render the primary CTA with a small radius — it must be a full `1000px` pill.
- Don't render the dark speed-demo button as a pill — its sharp radius is what distinguishes it.
- Don't use a second sans-serif. Space Grotesk carries everything; no Inter, no Helvetica swap.
- Don't set small white text on the orange — contrast is AA-large only; use `#9e2701` on light for small orange type.
- Don't fill the page with dark dashboard chrome and neon charts — that is the cliché Groq rejects.
- Don't loosely track the light headlines; tight tracking is half the fingerprint.
- Don't add gradients to the orange. Solid `#f43e01` only; the rare glow shadow is the one exception.
## 15. Agent Prompt Guide
### Quick Color Reference
```
Bg / Canvas: #f3f3ee (warm off-white paper)
Bg Warm: #ecece4 (deeper warm alternation band)
Surface: #e8e8de (soft card tint)
Surface Card: #fffcfc (near-white elevated card)
Text: #2d2f33 (graphite — headlines + body)
Text Body: #3a3c40 (running-text)
Text Muted: #64748b (captions, secondary)
Brand: #f43e01 (hot orange — primary CTA pill)
Brand Hover: #d83602 (orange press state)
Dark: #2a2a25 (speed-demo button / inverted band)
Border Warm: #d8d8cd (warm hairline)
On-Brand: #ffffff (white on orange)
```
### Example Component Prompts
1. "Create a Groq hero on a warm off-white `#f3f3ee` canvas. Headline in Space Grotesk at a LIGHT 300 weight, ~32px, `-0.02em` tracking, color `#2d2f33` ('Groq delivers fast, low cost inference that doesn't flake when things get real'). 18px / 400 `#3a3c40` subhead. Primary CTA: a fully-rounded `1000px` orange `#f43e01` pill with white 15px label ('Start Building'), paired with a ghost button (transparent, 1px `#d8d8cd` border, also pill-shaped, 'Read the docs')."
2. "Design a dark speed-demo card. Background `#2a2a25`, 12px radius, 24px padding, text `#f3f3ee`. Inside: an IBM Plex Mono uppercase eyebrow 'TOKENS / SEC' at 12px / 1.2px tracking, a large light-weight (Space Grotesk 56px / 300) counting number, and a sharp-cornered (~5px radius) dark button 'TRY THE SPEED OF GROQ'. The orange `#f43e01` appears once as a small accent."
3. "Build a 3-column feature grid on `#f3f3ee`. Each card: background `#e8e8de`, 1px `#dbe2f0` border, 12px radius, 24px padding, a Space Grotesk 24px / 400 `#2d2f33` title, 16px / 400 `#3a3c40` body, and an IBM Plex Mono uppercase eyebrow ('LPU INFERENCE', 'LOW COST', 'WORLDWIDE')."
4. "Compose a stat-callout strip on the warm canvas: three figures ('3M', '<1s', '100s of tok/s') in light Space Grotesk 56px / 300 / `#2d2f33`, each with an IBM Plex Mono uppercase 12px / 1.2px `#64748b` label below ('DEVELOPERS AND TEAMS', 'TIME TO FIRST TOKEN', 'THROUGHPUT'). 96px vertical padding, no shadows."
5. "Design a Groq top nav: 64px tall, transparent over `#f3f3ee`, no border at rest. Wordmark left, horizontal menu center (Products, Developers, Enterprise, Pricing, Company) in Space Grotesk 15px / 400 `#2d2f33`, right side a 'Sign in' text link plus an orange `#f43e01` `1000px` pill CTA ('Start Building')."
6. "Create a pre-footer CTA section on a `#1f1f1b` inverted band: light Space Grotesk 46px / 300 / `#f3f3ee` headline ('Ready to go fast?'), `#b8b8ae` subhead, and a single orange `#f43e01` `1000px` pill ('Get Started'). The orange is the only color on the dark surface."
### Iteration Guide
1. Start on the warm `#f3f3ee` paper — if your canvas is white or black, you've already lost the brand.
2. Set the headline LIGHT. Space Grotesk 300, tight `-0.02em` tracking. Resist the urge to bold it.
3. Place exactly one orange `#f43e01` pill per band — the primary CTA, fully rounded at 1000px.
4. Make the speed numbers the loudest content: light stat-display figures + IBM Plex Mono eyebrows.
5. If you need a dark moment (speed demo, benchmark), use a localised `#2a2a25` band, not a full dark page.
6. Keep the dark speed-demo button sharp (~5px) so it never reads as a second primary CTA.
7. Hold the line on one type family and one accent color — Space Grotesk + orange + warm grayscale.
8. Use generous 96px section rhythm; the calm space is what gives the single orange its impact.
---
*Theme-toggle audit: score=0, signals=[none]*
1. Visual Theme & Atmosphere
Groq’s marketing surface reads like a precision instrument tuned for speed. The canvas is a warm off-white #f3f3ee — paper, not sterile white — carrying graphite #2d2f33 type. The warmth is deliberate: it softens the hardware-AI register, tying Groq’s custom-silicon story to the calm of print-grade editorial design rather than the cold blue of enterprise infrastructure. Where most inference companies arrive in dark dashboards and neon benchmark charts, Groq arrives on quiet paper and lets the numbers do the talking.
The defining typographic move is light-weight large headlines. The whole type identity rests on Space Grotesk — a geometric grotesque with a tall x-height and distinctive single-storey forms that give the brand an engineered, slightly mechanical voice — and Groq runs it at weight 300 on its biggest sizes. The hero headline (“Groq delivers fast, low cost inference that doesn’t flake when things get real”) lands at 32px in a light 300 with tight -0.02em tracking; the largest editorial heads reach 46–80px and stay light. Most hardware-AI brands shout in bold. Groq whispers in light, and the whisper reads as confidence: the speed speaks for itself.
There is exactly one place the page raises its voice — the hot #f43e01 orange. It is the LPU brand voltage distilled into a single decisive color, and it is reserved almost entirely for the primary CTA, rendered as a fully-rounded 1000px pill (“Start Building”, “Get Started”, “View Pricing”). The orange against warm paper is a high-contrast spark; used sparingly, it becomes the brand’s heartbeat. A second, quieter affordance — the dark #2a2a25 button with its small 5px radius (“TRY THE SPEED OF GROQ”) — anchors the interactive speed demo that is Groq’s signature party trick: watch tokens stream faster than you can read.
The supporting voice is IBM Plex Mono, which carries the stat eyebrows and counters: “3M DEVELOPERS AND TEAMS”, tokens-per-second readouts, latency figures. The mono is a deliberate genre signal — lab instrument, terminal, the place where measured speed gets reported. It appears at 12px, weight 500, with 1.2px tracking, uppercase, and it is the one typeface allowed to set numbers that matter.
The page rhythm alternates the warm canvas with occasional inverted #2a2a25 bands for speed demos and benchmark surfaces, and a deepest #1f1f1b footer. These dark moments are localised, not a full dark theme — the inverted band is a spotlight, used to make the orange CTA and the streaming-token demo pop, then the page returns to paper.
Key Characteristics:
- Warm off-white
#f3f3eecanvas — paper, not sterile white — with graphite#2d2f33type. - Space Grotesk carries the entire type identity: display and body, distinctive geometric grotesque forms.
- Light weight (300) on every large headline — the signature restraint move.
- Single hot
#f43e01orange for primary CTAs, rendered as a fully-rounded1000pxpill. - Dark
#2a2a25secondary button (small 5px radius) for the speed-demo affordance. - IBM Plex Mono on stat eyebrows and tokens-per-second counters — lab-instrument voice.
- Tight negative tracking (
-0.02emto-0.03em) on display sizes. - Localised inverted
#2a2a25/#1f1f1bbands — spotlights, not a full dark theme. - Speed-obsessed register: “fast, low cost inference” said quietly, with one orange spark.
- Single brand color discipline — orange + graphite + warm grayscale, no second accent.
2. Color Palette & Roles
Primary
- Bg / Canvas (
#f3f3ee): Warm off-white paper — runs every marketing page. The brand’s signature surface. - Text (
#2d2f33): Graphite — headlines and body. Warm-neutral, not pure black. - Brand / Primary CTA (
#f43e01): The Groq hot orange — every primary CTA, the page’s one loud color.
Brand & Orange
- Brand (
#f43e01): Reserved for primary CTA pills, link-hover state, focus rings, rare hero accents. - Brand Hover (
#d83602): Darkened orange for hover / press on the pill. - Brand Active (
#bf2f02): Deepest orange for the active / pressed state. - Brand Soft (
#fde4da): Tinted orange wash for “NEW” / featured badges. - Brand Deep (
#9e2701): Darkest orange — type set on thebrand-softwash. - On-Brand (
#ffffff): White label on the orange pill.
Dark / Inverted
- Dark (
#2a2a25): Dark secondary button (speed demo) and localised inverted bands. - Dark Hover (
#1f1f1b): Darkened dark-button hover. - Surface Dark (
#2a2a25): Inverted card / band surface — benchmark + speed-demo moments. - Surface Darker (
#1f1f1b): Deepest inverted surface — footer, code window.
Interactive
- Link (
#2d2f33): Inline body links match text, underlined. - Link Hover (
#f43e01): Links warm to the brand orange on hover. - Selected (
rgba(244, 62, 1, 0.15)): Selected text background — faint orange tint. - Disabled (
#9498a0): Disabled labels and tertiary text.
Neutral Scale
- Text (
#2d2f33): Primary graphite — headlines, body. - Text Body (
#3a3c40): Default running-text, fractionally softer than headlines. - Text Muted (
#64748b): Captions, secondary links, breadcrumbs. - Text Faint (
#9498a0): Tertiary fine-print, disabled labels. - Text on Dark (
#f3f3ee): Off-white text on inverted bands — matches the canvas, keeps warmth. - Text on Dark Muted (
#b8b8ae): Muted body on inverted surfaces.
Surface & Borders
- Bg Warm (
#ecece4): Slightly deeper warm band for editorial alternation. - Surface (
#e8e8de): Soft card / panel tint on the warm canvas. - Surface Card (
#fffcfc): Near-white elevated content card. - Border (
#dbe2f0): Light hairline on cards and inputs. - Border Warm (
#d8d8cd): Warm-tinted hairline that reads correctly on the off-white canvas. - Border Strong (
#c4cbd9): Stronger divider on focused inputs.
Shadow Colors
Groq uses warm-graphite shadows at low alpha — rgba(31, 31, 27, ...), tied to the deepest inverted surface so depth stays brand-aligned and warm.
- Shadow Color (
rgba(31, 31, 27, 0.05)): Ambient. - Shadow Color Md (
rgba(31, 31, 27, 0.08)): Standard card shadow. - Shadow Color Lg (
rgba(31, 31, 27, 0.12)): Hover / modal entrance. - Shadow Glow Orange (
rgba(244, 62, 1, 0.18)): Rare ambient glow on the hero CTA.
Semantic
- Success (
#16a34a): Confirmation toasts, “deployed” indicators in product UI. - Warning (
#d97706): Caution states (kept warm to harmonise with the orange). - Danger (
#dc2626): Destructive actions and error states. - Info (
#0ea5e9): Informational notices.
3. Typography Rules
Font Family
- Primary (display + body):
"Space Grotesk", system-ui, -apple-system, "Helvetica Neue", Helvetica, Arial, sans-serif. Space Grotesk handles every text role — the whole brand voice is in this one geometric grotesque. - Mono:
"IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace. Stat eyebrows, tokens-per-second counters, code surfaces. - No separate display family — Space Grotesk’s character (tall x-height, single-storey forms) is enough to carry both running text and large heads; the hierarchy is built from weight and size, not a second face.
Hierarchy
| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| display-hero | Space Grotesk | 80 | 300 | 1.0 | -0.03em | Large hero — light weight, the signature |
| display-lg | Space Grotesk | 56 | 300 | 1.05 | -0.02em | Major section heads, light |
| display-md | Space Grotesk | 46 | 300 | 1.10 | -0.02em | Editorial sub-heads, light |
| h1 | Space Grotesk | 32 | 300 | 1.30 | -0.02em | Page h1 — the canonical Groq headline |
| h2 | Space Grotesk | 32 | 300 | 1.20 | -0.02em | Section h2 — light weight |
| h3 | Space Grotesk | 24 | 400 | 1.25 | -0.01em | Card titles, sub-heads |
| h4 | Space Grotesk | 20 | 500 | 1.30 | 0 | Small card titles |
| title | Space Grotesk | 18 | 500 | 1.35 | 0 | List labels, feature titles |
| body-lg | Space Grotesk | 18 | 400 | 1.55 | 0 | Hero subhead, intro copy |
| body | Space Grotesk | 16 | 400 | 1.55 | 0 | Default running-text |
| body-sm | Space Grotesk | 14 | 400 | 1.50 | 0 | Footer body, fine-print |
| button | Space Grotesk | 15 | 400 | 1.0 | 0 | CTA pill and button labels |
| nav-link | Space Grotesk | 15 | 400 | 1.40 | 0 | Top-nav menu items |
| label | Space Grotesk | 13 | 500 | 1.40 | 0 | Form labels, small UI labels |
| caption | Space Grotesk | 12 | 500 | 1.40 | 0.02em | Captions |
| mono-eyebrow | IBM Plex Mono | 12 | 500 | 1.40 | 1.2px | Stat eyebrows — uppercase (“3M DEVELOPERS AND TEAMS”) |
| stat-display | Space Grotesk | 56 | 300 | 1.0 | -0.02em | Big stat numbers — tokens/sec, dev count |
| code | IBM Plex Mono | 14 | 400 | 1.60 | 0 | Code blocks, API snippets |
Principles
- Display weight stays light (300). This is the brand’s defining move — large headlines arrive light, not bold. Bold (600–700) is reserved for the rare emphatic moment, never the default headline.
- Negative tracking on every display size.
-0.02emto-0.03emtightens the light type so it reads as one continuous line, not loose letters. - Body holds Space Grotesk at 400 / 1.55. Comfortable, even, slightly tall — the grotesque’s x-height does the legibility work.
- Weight, not a second face, builds hierarchy. Space Grotesk runs 300 → 400 → 500 → 600 across the scale; the family carries everything.
- IBM Plex Mono is for measured numbers only. Stat eyebrows, tokens-per-second, latency, developer counts. Uppercase, 1.2px tracking — the lab-instrument register.
- Stat-display numbers carry the speed story. “3M”, tokens/sec readouts, “<1s” — set in light Space Grotesk at display size, the credibility moments.
- Graphite, not black.
#2d2f33keeps the type warm against the off-white paper; pure black would feel cold and break the editorial calm. - Tight tracking + light weight = the Groq fingerprint. If a headline is bold or loosely tracked, it is not Groq.
4. Component Stylings
Buttons (4 variants)
button-primary — The signature orange pill. Background #f43e01, label #ffffff, Space Grotesk 15px / 400, padding 10px × 16px, radius 1000px (full pill). Hover: #d83602 over 150ms. Used for every primary CTA — “Start Building”, “Get Started”, “View Pricing”, “Learn More”. This is the one loud element on the page.
button-dark — Dark speed-demo action. Background #2a2a25, label #ffffff, Space Grotesk 15px / 400, padding 12px, small 5px radius (NOT a pill — the contrast in shape distinguishes it from the primary CTA). Used for “TRY THE SPEED OF GROQ” — the interactive token-streaming demo.
button-ghost — Quiet secondary. Transparent background, #2d2f33 label, 1px #d8d8cd warm hairline border, radius 1000px to echo the primary pill shape, same padding. Paired secondary action (“Read the docs”).
button-text-link — Inline text link in #2d2f33, underlined, warms to #f43e01 on hover. Used inside running copy.
Cards
card — Standard content card. Background #e8e8de (soft tint on the warm canvas), 1px #dbe2f0 border, radius 12px, padding 24px. Sits flat or with a faint ambient shadow.
card-elevated — Near-white elevated card. Background #fffcfc, radius 12px, padding 24px, standard warm-graphite shadow. Lifts content off the paper.
card-dark — Inverted speed / benchmark card. Background #2a2a25, text #f3f3ee, radius 12px, padding 24px. Hosts the streaming-token demo, tokens-per-second counters, and benchmark comparisons — the spotlight surface where the orange CTA and the mono numbers pop.
Badges & Pills
badge-mono — The stat eyebrow. Transparent background, #64748b text, IBM Plex Mono 12px / 500, 1.2px tracking, uppercase (“3M DEVELOPERS AND TEAMS”, “TOKENS / SEC”). The brand’s distinctive label chrome.
badge-soft — Orange-tinted pill for “NEW” / featured callouts. Background #fde4da, text #9e2701, radius 1000px, padding 4px × 12px.
Inputs / Forms
input — Text input. Background #fffcfc, 1px #dbe2f0 border, text #2d2f33, radius 8px, padding 8px × 12px. Placeholder #9498a0.
input-focused — 3px rgba(244, 62, 1, 0.30) ring with 1px solid #f43e01 core, border darkens to #c4cbd9.
Navigation
top-nav — Transparent / warm-canvas nav pinned to top, 64px tall, background #f3f3ee. Groq wordmark left, primary horizontal menu (Products, Developers, Enterprise, Pricing, Company) center, right-side: “Sign in” text link + orange button-primary pill (“Start Building”). No bottom border at rest; a faint warm hairline appears on scroll.
Decorative
speed-counter — Animated tokens-per-second readout in light Space Grotesk stat-display sizing, the value counting up on scroll-into-view. Paired with an IBM Plex Mono “TOKENS / SEC” eyebrow.
customer-logo-strip — Horizontal monochrome customer-logo strip (McLaren F1 and others) in #64748b, padding 32px vertical, on the warm canvas.
5. Layout Principles
Spacing System
Base unit 4px. Scale: [0, 4, 8, 12, 16, 24, 32, 48, 64, 96]. 96px section padding sets the editorial vertical rhythm; 24px card padding; 16px the common gutter. The generous top/bottom section padding is part of the calm, paper-like register.
Grid & Container
Max content width 1280px centered; prose width capped at 720px for readability. Editorial body uses a 12-column grid. The hero often runs asymmetric — light headline left, speed demo or benchmark card right. Feature card grids run 3-up at desktop, 2-up at tablet, 1-up at mobile.
Whitespace Philosophy
Groq uses generous, editorial whitespace — the page should feel unhurried and confident, the opposite of a cluttered dashboard. The light headlines need room to breathe; tight type plus open space is the brand’s balance. The orange CTA earns its impact precisely because the surrounding space is calm.
Section Cadence
Warm-canvas hero (light headline + speed demo) → customer-logo strip → inverted #2a2a25 benchmark / speed-demo band → light feature card grid → stat-callout strip (mono eyebrows + light stat numbers) → editorial sub-section on warm-deeper #ecece4 band → pricing → CTA band → deepest #1f1f1b footer.
6. Shapes & Radius Scale
| Tier | Token | Value | Use |
|---|---|---|---|
| Micro | micro | 2px | Tiny chips, mono-eyebrow underline accents |
| Standard | sm | 4px | Dark speed-demo button (rendered ~5px), tight inline elements |
| Comfortable | md | 8px | Inputs, small inline buttons |
| Large | lg | 12px | Content cards, elevated cards, dark benchmark cards |
| Featured | xl | 16px | Hero shells, large feature panels |
| Pill | pill | 9999px | Primary orange CTA, ghost buttons, soft badges |
The radius story is a deliberate contrast: the primary CTA is a full pill (1000px) — soft, friendly, fast-feeling — while the dark speed-demo button is sharp (~5px) to set it apart. Cards sit at a calm 12px.
7. Depth & Elevation
| Level | Treatment | Use |
|---|---|---|
| 0 — Flat | No shadow, no border | Body sections, top nav at rest, hero text |
| 1 — Soft hairline | 1px #dbe2f0 / #d8d8cd border | Standard cards, inputs |
| 2 — Soft shadow | 1px border + ambient shadow | Cards on hover |
| 3 — Standard shadow | Standard warm-graphite shadow | Elevated near-white cards |
| 4 — Brand glow | Glow-orange shadow | Hero CTA card (rare) |
| 5 — Inverted | Dark #2a2a25 surface, no shadow | Benchmark / speed-demo spotlight bands |
| 6 — Modal | Standard shadow + backdrop dim 55% | Dialogs, dropdowns |
Shadow Philosophy
Groq’s depth is restrained and warm. Shadows use rgba(31, 31, 27, ...) — the deepest inverted surface tinted at low alpha — so elevation stays brand-aligned and never reads cold or blue. Most of the page is flat (paper rests on paper); shadow is reserved for genuinely floating elements. Hover lifts are subtle (translateY(-2px) + shadow up one tier). The rare orange glow appears only behind the hero CTA.
8. Interaction & Motion
Easing Curves
- Standard ease:
cubic-bezier(0.4, 0, 0.2, 1)— default for color, opacity, transforms. - Emphasized ease:
cubic-bezier(0.2, 0, 0, 1)— CTA hover, modal entrances, the speed-counter count-up.
Duration Buckets
- Fast (150ms): Color and opacity transitions, button hover.
- Standard (240ms): Card hover lifts, dropdown opens.
- Slow (320ms): Modal entrance, section-on-scroll reveals.
Per-Component Micro-States
- Primary CTA hover: Orange darkens
#f43e01→#d83602over 150ms; subtle 1px lift. - Dark button hover:
#2a2a25→#1f1f1bover 150ms. - Card hover: TranslateY(-2px) over 240ms; shadow intensifies one tier.
- Speed counter: On scroll-into-view, the tokens-per-second number counts up from 0 to its real value over ~1.2s with emphasized easing — the brand’s literal demonstration of speed.
- Link hover: Color warms graphite → orange over 150ms; underline persists.
- Input focus: 3px orange ring expands.
Page Transitions
Standard browser navigation. Section-on-scroll reveals are 320ms fade-in-up. The speed-demo band animates its counter on first view, then holds.
Reduced Motion
Honored — the speed-counter animation is skipped and the number renders at its final value immediately; all count-ups, transforms, and parallax are removed; only opacity fades remain. Critically, the speed message must survive without motion: the final number is the message, not the animation.
9. Accessibility & A11y
Contrast Pairs
- Text on bg:
#2d2f33on#f3f3ee= 11.1 — AAA. - Body on bg:
#3a3c40on#f3f3ee= 9.6 — AAA. - Muted on bg:
#64748bon#f3f3ee= 4.3 — AA for large text; use at 18px+ or 14px-bold for captions. - On-brand on brand:
#ffffffon#f43e01= 3.6 — AA for large text only. The CTA label is 15px / 400, which sits at the large-text threshold; keep CTA labels ≥15px and never drop white-on-orange below it. For small orange text usebrand-deep#9e2701on a light surface instead. - Text on dark:
#f3f3eeon#2a2a25= 12.7 — AAA on inverted bands. - Brand-deep on brand-soft:
#9e2701on#fde4da= 5.9 — AA.
Focus Indicators
3px rgba(244, 62, 1, 0.30) ring with 1px solid #f43e01 core. The orange ring is consistent across light and inverted surfaces — visible on both the warm canvas and the dark bands.
ARIA Patterns
- Buttons: Native
<button>/<a role="button">; icon-only carryaria-label. - Speed counter: Wrap the animated value in
aria-live="off"and expose the final value viaaria-labelso screen readers announce the number, not the count-up. - Navigation:
<nav aria-label="Primary">. - Logo strip: Each logo
<img>carriesaltwith the customer name. - Dialog:
role="dialog"+aria-labelledby+aria-modal="true".
Keyboard Navigation
Tab order follows reading order. Skip-link (“skip to content”, already present on the live site) to <main>. Modal traps focus and Escape closes. The orange focus ring makes the focused control unambiguous on every surface.
Screen Reader Hints
Stat numbers expose full unit readout via aria-label (“3 million developers and teams”, “X tokens per second”). The speed-demo band provides a textual summary so the speed claim is conveyed without the animation.
Reduced Motion Handling
Honored — counters freeze on final values, reveals become opacity-only, no parallax. See section 8.
10. Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile | < 640px | Hamburger nav; hero headline 32→26px (stays light 300); demo card stacks below; feature grids 1-up; 96→56px section padding |
| Tablet | 640–1024px | Top nav tightens; feature cards 2-up; hero headline ~40px |
| Desktop | 1024–1280px | Full top-nav; 3-up feature cards; hero at full size |
| Wide | > 1280px | Same as desktop with more breathing room; max content 1280px |
Touch Targets
Primary CTA pill min 44px tall on touch (padding bumps from 10px to ~13px vertical). Icon-only controls 44 × 44px hit area. Input height ≥44px on touch.
Collapsing Strategy
Top nav collapses to a hamburger at < 1024px. Hero asymmetric layout collapses to single-column (headline first, then speed-demo card). The stat-callout strip stacks vertically; mono eyebrows stay above their numbers. Inverted benchmark bands keep full-bleed width and reflow their internal columns.
Image Behavior
Customer logos retain native aspect; the strip scrolls horizontally on mobile rather than shrinking past legibility. Benchmark charts in the dark band switch from side-by-side to stacked.
11. Content & Voice
Tone
Fast, confident, plainspoken, speed-obsessed. Groq writes for developers and teams who care about inference latency and cost. The voice is the typographic light weight in words: it states capability quietly and lets the numbers carry the boast (“fast, low cost inference that doesn’t flake when things get real”). It is technical without jargon-stacking, confident without shouting — closer to a precision-instrument datasheet than a hype deck.
Microcopy Patterns
- CTA verbs: “Start Building”, “Get Started”, “View Pricing”, “View Models”, “Learn More”, “Read More”, “Start Now”. Action-first, no fluff.
- Stat eyebrows (IBM Plex Mono, uppercase): “3M DEVELOPERS AND TEAMS”, “TOKENS / SEC”, “LPU INFERENCE”.
- Feature copy: Verb-first and outcome-led (“Deploy in seconds”, “Built for inference”, “Instant intelligence, deployed worldwide”).
- Speed framing: Numbers are the headline. Pair every speed claim with a real figure in light stat-display type.
Empty States
Console / dashboard: “No models running yet — make your first request and watch it stream.” Welcoming, speed-forward, with an orange link to the quickstart.
Error Messages
Pattern: <icon in #dc2626> + "What went wrong" + "What to try next". Example: “Request failed — check your API key and try again.” Kept short and unalarming.
Success Confirmations
Toast in #2d2f33 over #fffcfc with a success stripe. “Request complete — N tokens in Xms.” Auto-dismiss 4s. Even confirmations report a speed number.
12. Dark Mode & Theming
Groq marketing is light-default on the warm #f3f3ee canvas. There is no full dark theme; instead, Groq uses localised inverted bands (#2a2a25 surface, #1f1f1b for the footer and code) as spotlights — for the speed demo, benchmark comparisons, and the footer. On these inverted surfaces tokens map: bg: #2a2a25 (or #1f1f1b), text: #f3f3ee (the canvas color, reused to preserve warmth), text-muted: #b8b8ae, brand: #f43e01 (unchanged — the orange is identical on both surfaces), border: rgba(243,243,238,0.12). The deliberate reuse of the off-white as on-dark text keeps every surface, light or dark, inside the same warm family. If a product dark theme were added, it would extend this band palette rather than introduce a cool-gray system.
13. Lineage & Influences
Groq’s marketing aesthetic descends from the precision-instrument lineage — the warm paper canvas of editorial design crossed with the restraint of Swiss-grid typography. The whole type identity rests on Space Grotesk, Florian Karsten’s reworking of Haas Grotesk Display: a geometric grotesque with a tall x-height and distinctive single-storey forms that give Groq an engineered, slightly mechanical voice. The defining move is the light weight (300) on large headlines — most hardware-AI brands shout in bold; Groq whispers in light, which reads as confidence: the speed speaks for itself.
The warm off-white #f3f3ee paper (NOT sterile white) softens the technical register and ties to print-grade editorial work, while a single hot #f43e01 orange — the LPU brand voltage — is the one place the page raises its voice, rendered as a fully-rounded 1000px pill. IBM Plex Mono on the stat eyebrows nods to the lab-instrument / terminal heritage where measured speed gets reported. The localised inverted bands rather than a full dark theme borrow Linear’s discipline of keeping dark moments deliberate and brand-aligned. The single-accent-on-a-quiet-canvas baseline is Vercel’s, but where Vercel goes monochrome-on-white, Groq goes orange-on-warm-paper. Where Baseten dresses ML deployment in approachable purple workshop chrome and Modal commits to lime-green developer optimism, Groq rejects the dashboard-dark, neon-benchmark cliché of the inference category entirely and commits to speed-obsessed minimalism: fast, low cost inference, said quietly on warm paper.
- Space Grotesk (Florian Karsten) — The entire type identity: geometric grotesque, tall x-height, single-storey forms. https://fonts.google.com/specimen/Space+Grotesk
- IBM Plex Mono — Lab-instrument stat eyebrows and tokens-per-second counters. https://fonts.google.com/specimen/IBM+Plex+Mono
- Swiss / International Typographic Style — Grid discipline and the light-large-headline editorial register. https://en.wikipedia.org/wiki/International_Typographic_Style
- Vercel — Single-accent dev-tool baseline; one decisive brand color on a quiet canvas. https://vercel.com
- Linear — Localised inverted dark band discipline rather than a full dark theme. https://linear.app
14. Do’s and Don’ts
Do
- Anchor every page on the warm off-white
#f3f3eecanvas — paper, not sterile white. - Set Space Grotesk on every text role; the family is the brand voice.
- Keep large headlines at the light weight (300) with tight
-0.02emto-0.03emtracking. - Reserve the hot orange
#f43e01for the primary CTA — rendered as a full1000pxpill. - Use the dark
#2a2a25button (small ~5px radius) for the speed-demo affordance, to contrast the orange pill. - Set stat eyebrows in IBM Plex Mono, uppercase, 1.2px tracking (“3M DEVELOPERS AND TEAMS”).
- Pair every speed claim with a real number in light stat-display type.
- Use localised inverted
#2a2a25/#1f1f1bbands as spotlights for speed demos and benchmarks. - Use graphite
#2d2f33, not black, for type — it keeps the warm editorial calm. - Keep generous 96px section rhythm so the light type and orange CTA have room to breathe.
Don’t
- Don’t switch the canvas to pure white or pure black. The warmth of
#f3f3eeis the brand. - Don’t set headlines in bold by default — the light weight is the signature; bold breaks it.
- Don’t introduce a second accent color. Groq is orange + graphite + warm grayscale, full stop.
- Don’t render the primary CTA with a small radius — it must be a full
1000pxpill. - Don’t render the dark speed-demo button as a pill — its sharp radius is what distinguishes it.
- Don’t use a second sans-serif. Space Grotesk carries everything; no Inter, no Helvetica swap.
- Don’t set small white text on the orange — contrast is AA-large only; use
#9e2701on light for small orange type. - Don’t fill the page with dark dashboard chrome and neon charts — that is the cliché Groq rejects.
- Don’t loosely track the light headlines; tight tracking is half the fingerprint.
- Don’t add gradients to the orange. Solid
#f43e01only; the rare glow shadow is the one exception.
15. Agent Prompt Guide
Quick Color Reference
Bg / Canvas: #f3f3ee (warm off-white paper)
Bg Warm: #ecece4 (deeper warm alternation band)
Surface: #e8e8de (soft card tint)
Surface Card: #fffcfc (near-white elevated card)
Text: #2d2f33 (graphite — headlines + body)
Text Body: #3a3c40 (running-text)
Text Muted: #64748b (captions, secondary)
Brand: #f43e01 (hot orange — primary CTA pill)
Brand Hover: #d83602 (orange press state)
Dark: #2a2a25 (speed-demo button / inverted band)
Border Warm: #d8d8cd (warm hairline)
On-Brand: #ffffff (white on orange)
Example Component Prompts
-
“Create a Groq hero on a warm off-white
#f3f3eecanvas. Headline in Space Grotesk at a LIGHT 300 weight, ~32px,-0.02emtracking, color#2d2f33(‘Groq delivers fast, low cost inference that doesn’t flake when things get real’). 18px / 400#3a3c40subhead. Primary CTA: a fully-rounded1000pxorange#f43e01pill with white 15px label (‘Start Building’), paired with a ghost button (transparent, 1px#d8d8cdborder, also pill-shaped, ‘Read the docs’).” -
“Design a dark speed-demo card. Background
#2a2a25, 12px radius, 24px padding, text#f3f3ee. Inside: an IBM Plex Mono uppercase eyebrow ‘TOKENS / SEC’ at 12px / 1.2px tracking, a large light-weight (Space Grotesk 56px / 300) counting number, and a sharp-cornered (~5px radius) dark button ‘TRY THE SPEED OF GROQ’. The orange#f43e01appears once as a small accent.” -
“Build a 3-column feature grid on
#f3f3ee. Each card: background#e8e8de, 1px#dbe2f0border, 12px radius, 24px padding, a Space Grotesk 24px / 400#2d2f33title, 16px / 400#3a3c40body, and an IBM Plex Mono uppercase eyebrow (‘LPU INFERENCE’, ‘LOW COST’, ‘WORLDWIDE’).” -
“Compose a stat-callout strip on the warm canvas: three figures (‘3M’, ‘<1s’, ‘100s of tok/s’) in light Space Grotesk 56px / 300 /
#2d2f33, each with an IBM Plex Mono uppercase 12px / 1.2px#64748blabel below (‘DEVELOPERS AND TEAMS’, ‘TIME TO FIRST TOKEN’, ‘THROUGHPUT’). 96px vertical padding, no shadows.” -
“Design a Groq top nav: 64px tall, transparent over
#f3f3ee, no border at rest. Wordmark left, horizontal menu center (Products, Developers, Enterprise, Pricing, Company) in Space Grotesk 15px / 400#2d2f33, right side a ‘Sign in’ text link plus an orange#f43e011000pxpill CTA (‘Start Building’).” -
“Create a pre-footer CTA section on a
#1f1f1binverted band: light Space Grotesk 46px / 300 /#f3f3eeheadline (‘Ready to go fast?’),#b8b8aesubhead, and a single orange#f43e011000pxpill (‘Get Started’). The orange is the only color on the dark surface.”
Iteration Guide
- Start on the warm
#f3f3eepaper — if your canvas is white or black, you’ve already lost the brand. - Set the headline LIGHT. Space Grotesk 300, tight
-0.02emtracking. Resist the urge to bold it. - Place exactly one orange
#f43e01pill per band — the primary CTA, fully rounded at 1000px. - Make the speed numbers the loudest content: light stat-display figures + IBM Plex Mono eyebrows.
- If you need a dark moment (speed demo, benchmark), use a localised
#2a2a25band, not a full dark page. - Keep the dark speed-demo button sharp (~5px) so it never reads as a second primary CTA.
- Hold the line on one type family and one accent color — Space Grotesk + orange + warm grayscale.
- Use generous 96px section rhythm; the calm space is what gives the single orange its impact.
Theme-toggle audit: score=0, signals=[none]
Drop groq into your project, then ship the actual sections in an afternoon.
npx @webdesignhot/design-md add groq npx agentkit init --design groq