Curated Prompt Library

Awesome AI
Prompts

A collection of prompt examples for any AI model. Browse, search, and copy prompts to supercharge your workflow.

71Prompts
1Categories
71 results
Design

dark-nike

## Overview Nike's commerce system is built on a single, almost violently simple idea: photography speaks, the chrome doesn't. Every page reads as an athletic editorial — towering uppercase Futura display lockups (`{typography.display-campaign}`) burned into full-bleed campaign imagery, with everything else (nav, filters, buttons, cards, footer) reduced to neutral typography and pill geometry on `{colors.canvas}` and `{colors.soft-cloud}`. There is no decorative gradient, no soft shadow nostalgia, no accent color used for "tone" — the system saves all chromatic energy for product photography and the small handful of moments that actually need to signal (sale price `{colors.sale}`, success `{colors.success}`, swatch dots). The result is a layout that feels physical — campaign hero, product grid, sport tile, footer — stacked like a printed catalog rather than animated like a typical SaaS landing page. Density is high but never crowded, because the system relies on three relentless devices: square or near-square 1:1 product imagery on `{colors.soft-cloud}`, pill-shaped black CTAs (`{rounded.full}`) anchoring every actionable surface, and a tight 8px-base spacing scale that keeps cards and filters mathematically aligned across PLP, PDP, and editorial pages. Across `/men`, the trail-running listing, the Zegama PDP, `/membership`, and Jordan Golf, the same chrome appears in identical proportions — only the photography and copy change. That is the system's signature: maximum editorial expression in the imagery, maximum mechanical restraint everywhere else. **Key Characteristics:** - Editorial campaign hero with `{typography.display-campaign}` (Nike Futura ND, 96px, line-height 0.9, uppercase) burned directly into full-bleed photography - Pure black/white/single-gray UI palette: `{colors.ink}`, `{colors.canvas}`, and `{colors.soft-cloud}` carry ~95% of the chrome surface area - Pill geometry everywhere: every CTA, search field, filter chip, and badge uses `{rounded.full}` (30px) or `{rounded.md}` (24px) — there are no sharp-cornered buttons in the system - Product cards have zero radius, zero shadow, sit directly on `{colors.soft-cloud}` swatch backgrounds — the photograph is the card - Two-tone CTA hierarchy: `{component.button-primary}` (black on anything light) versus `{component.button-secondary}` (`{colors.soft-cloud}` on anything bright) — never both at once on the same surface - 8px spacing system with section rhythm at `{spacing.section}` (48px) creating consistent vertical breathing across PLP, PDP, and editorial pages - Sale signaling is the only place a non-neutral color appears in retail chrome: `{colors.sale}` price + strike-through original price, no badge background ## Colors > **Source pages:** `/men` (primary), `/w/mens-acg-trail-running-shoes-…`, `/t/acg-zegama-…`, `/membership`, `/w/jordan-golf-…`. The chrome palette is identical across all five — only photography varies. ### Brand & Accent - **Nike Black** (`{colors.ink}` — `#111111`): The brand's only "color." It is the primary CTA, the swatch dot, the active filter chip, the campaign overlay, the headline color, and the body text. When Nike wants to assert anything, it goes black. - **Pure White** (`{colors.on-primary}`, `{colors.canvas}` — `#ffffff`): Equal partner to black. Carries every page background, the on-image CTA, and the inverse text on `{colors.ink}` surfaces. ### Surface - **Soft Cloud** (`{colors.soft-cloud}` — `#f5f5f5`): The most-used non-white surface in the entire system. Product card image backgrounds, search pill, secondary CTA, utility bar, sport-category swatch tiles. It is the "color" of every product photograph's stage. - **Hairline** (`{colors.hairline}` — `#cacacb`): 1px dividers between filter rows, footer columns, and PDP disclosure rows. - **Hairline Soft** (`{colors.hairline-soft}` — `#e5e5e5`): Inset 1px shadow under sticky bars and tab strips, the only "shadow" the system uses. ### Text - **Ink** (`{colors.ink}` — `#111111`): Primary text on light surfaces — headlines, product names, prices, nav. - **Charcoal** (`{colors.charcoal}` — `#39393b`): Slightly softer body where ink is too heavy. - **Ash** (`{colors.ash}` — `#4b4b4d`): Disabled secondary border on dark surfaces and very low-emphasis utility text. - **Mute** (`{colors.mute}` — `#707072`): Product category subtitles ("Men's Trail Running Shoes"), footer link text, secondary metadata. - **Stone** (`{colors.stone}` — `#9e9ea0`): Inverse secondary text on dark surfaces and lowest-emphasis utility text. ### Semantic - **Sale** (`{colors.sale}` — `#d30005`): Discounted price color and "% off" copy — the only red in the entire retail chrome. - **Sale Deep** (`{colors.sale-deep}` — `#780700`): Sale price hover/pressed and dark-mode sale anchor. - **Success** (`{colors.success}` — `#007d48`): Confirmation messages, in-stock indicators, eligibility ticks. - **Success Bright** (`{colors.success-bright}` — `#1eaa52`): Inverse success on dark surfaces. - **Info** (`{colors.info}` — `#1151ff`): Informational link/badge accent in member-experience callouts. - **Info Deep** (`{colors.info-deep}` — `#0034e3`): Pressed state for info accent. ### Category Accents (sport / collection chips) These appear sparingly — almost exclusively as small chip backgrounds, swatch dots, or category illustrations in editorial tiles. They are never used as text or primary CTA color. - **Accent Pink** (`{colors.accent-pink}` — `#ed1aa0`): SKIMS / women's collection moments. - **Accent Pink Soft** (`{colors.accent-pink-soft}` — `#ffb0dd`): Soft tinting on member-experience tiles. - **Accent Purple Soft** (`{colors.accent-purple-soft}` — `#beaffd`): Editorial swatch dot, soft category chip. - **Accent Purple Pale** (`{colors.accent-purple-pale}` — `#d6d1ff`): Lightest soft-tile fill. - **Accent Teal** (`{colors.accent-teal}` — `#0a7281`): Trail / outdoor / ACG editorial accent in lockups. - **Accent Pink Deep** (`{colors.accent-pink-deep}` — `#4c012d`): Deepest editorial overlay tint, used as wash on heritage / Jordan tiles. ## Typography ### Font Family - **Nike Futura ND** (display campaign only) — proprietary geometric sans for the towering uppercase headlines burned into campaign hero photography. Falls back to Helvetica Now Text Medium → Helvetica → Arial. - **Helvetica Now Display Medium** (headings 16–32px) — modern Helvetica cut tuned for display sizes; carries every section title, PDP product name, and dialog headline. - **Helvetica Now Text Medium** (UI 12–16px) — buttons, captions, swatch labels, badge text. The system's UI workhorse. - **Helvetica Now Text** (body and links) — long-form body and underlined inline links. - **Neue Frutiger Arabic** — RTL pairing for Arabic locales at `{typography.heading-lg}` and caption sizes. - **Helvetica Neue 9px** — legal-fine-print utility row only (`{typography.utility-xs}`). When substituting on systems without proprietary Nike fonts: pair **Inter** (Display 700 for body chrome, Display 500 for buttons) with **Bebas Neue** or **Anton** at 96px/0.9 line-height for the campaign headline tier. Tighten letter-spacing slightly (-0.5%) on the substitute to approximate Futura ND's optical weight. ### Hierarchy | Token | Size | Weight | Line Height | Letter Spacing | Use | |---|---|---|---|---|---| | `{typography.display-campaign}` | 96px | 500 | 0.9 | 0 | Editorial campaign headline burned into hero photography (uppercase) | | `{typography.heading-xl}` | 32px | 500 | 1.2 | 0 | Section headers — "FEATURED FOOTWEAR", "LATEST IN CLOTHING", PDP product title block | | `{typography.heading-lg}` | 24px | 500 | 1.2 | 0 | Subsection / member-benefit card title, large CTA label, PDP price | | `{typography.heading-md}` | 16px | 500 | 1.75 | 0 | Card title, FAQ row label, filter group header | | `{typography.body-md}` | 16px | 400 | 1.5 | 0 | Body copy, search-pill placeholder, product description | | `{typography.body-strong}` | 16px | 500 | 1.5 | 0 | Product card name, filter row label, primary nav link | | `{typography.button-lg}` | 24px | 500 | 1.2 | 0 | Pressed-letter campaign CTA inside hero blocks | | `{typography.button-md}` | 16px | 500 | 1.5 | 0 | Standard pill CTAs across the system | | `{typography.button-sm}` | 14px | 500 | 1.5 | 0 | Compact pill CTA, badge label, geo-selector button | | `{typography.link-md}` | 16px | 500 | 1.75 | 0 | Underlined inline link, "View Product Details" | | `{typography.caption-md}` | 14px | 500 | 1.5 | 0 | Product subtitle ("Men's Trail Running Shoes"), filter count, footer link | | `{typography.caption-sm}` | 12px | 500 | 1.5 | 0 | Filter chip label, badge text, color count | | `{typography.utility-xs}` | 9px | 500 | 1.75 | 0 | Legal copyright / fine-print row at the very bottom | ### Principles The system runs on extreme typographic contrast: a single 96px uppercase display tier reserved for editorial campaign moments, and a quiet 12–16px Helvetica Now Text/Medium tier carrying everything else. There is almost no middle ground — the jump from `{typography.heading-xl}` (32px) directly to `{typography.body-strong}` (16px) is intentional and creates the "billboard above, catalog below" effect across every page. Letter-spacing is left at 0 (Futura ND and Helvetica Now are both cut for tight optical fit at scale). ### Note on Font Substitutes The closest open-source path to Nike's display tier is **Bebas Neue** (free, geometric condensed) at 96px / 0.9 / uppercase / 500. For UI text, **Inter** is the safest substitute — match weights 400/500 and the system reads almost identically at button and caption sizes. ## Layout ### Spacing System - **Base unit:** 8px - **Tokens (front matter):** `{spacing.xxs}` (2px) · `{spacing.xs}` (4px) · `{spacing.sm}` (8px) · `{spacing.md}` (12px) · `{spacing.lg}` (18px) · `{spacing.xl}` (24px) · `{spacing.xxl}` (30px) · `{spacing.section}` (48px+) - **Universal rhythm:** every page in the set uses `{spacing.section}` (48px) as the vertical gap between major content blocks (campaign hero → trending row → featured row → shop-by-sport → latest-in-clothing → footer). PLP card grids use `{spacing.sm}` (8px) gutters. PDP disclosure rows are stacked at `{spacing.xl}` (24px) vertical padding. - **Card internal padding:** product cards use 0px internal padding — image is full-bleed; metadata rows sit directly below with `{spacing.sm}` (8px) gap between name, subtitle, and price. ### Grid & Container - **Max width:** ~1440px content area with edge gutters that grow to ~80px at 1920px (the system lets very wide viewports breathe rather than stretch). - **Column patterns:** PLP listing uses 3-up at desktop, collapsing to 2-up at 1023px and 1-up at 599px. The men's home `/men` mixes a 2-up campaign hero row, a 3- or 4-up "Trending Now" row, a horizontal-scroll "Shop by Sport" rail, and a 4-up "Latest in Clothing" thumbnail grid. - **Filter sidebar:** ~220px fixed-width left rail on PLP at desktop, collapsing into a `Hide Filters` toggle button at narrow widths. ### Whitespace Philosophy Whitespace is a tool for separation, not for breath. Sections butt directly against each other vertically with `{spacing.section}` rhythm, and product photos tile edge-to-edge inside their grid — there is no padding wrapped around the product image itself. The "air" comes from the `{colors.soft-cloud}` background of the photograph, not from layout margin. Headlines do not have decorative whitespace above them; they sit immediately under the section divider line. ## Elevation & Depth | Level | Treatment | Use | |---|---|---| | 0 — Flat | No shadow, no border | Default for cards, buttons, sections — the dominant treatment | | 1 — Hairline divider | 1px solid `{colors.hairline}` | Filter row separators, footer column borders, PDP disclosure-row separators | | 2 — Inset bottom-line | `box-shadow: inset 0 -1px 0 {colors.hairline-soft}` | Sticky utility/sub-nav bar bottom edge, tab strip underline | The system has no drop-shadow elevation in its retail chrome at all. Cards do not lift on the page. The only depth cue is the 1px inset hairline on sticky strips and the contrast between full-bleed photography and `{colors.soft-cloud}` product backdrops. ### Decorative Depth Depth in Nike's system comes entirely from photography, not from CSS effects: - **Editorial campaign tiles** create depth via cinematic perspective — a runner on a trail, a model in a courtyard — with the Futura display headline overlaid in white or `{colors.ink}` directly on the image. - **Product card photography** is shot on flat `{colors.soft-cloud}` to remove any background depth, so the product itself is the only thing with form on the page. - **Sport-category tiles** on the home page are full-bleed cinematic photography with a small `{component.button-outline-on-image}` pill anchored at the bottom-left, giving a moment of crisp white pill against atmospheric image. ## Shapes ### Border Radius Scale | Token | Value | Use | |---|---|---| | `{rounded.none}` | 0px | Cards, campaign tiles, product imagery, navigation, footer — every container in the system | | `{rounded.sm}` | 18px | Avatar / icon container in member-benefit lockups | | `{rounded.md}` | 24px | Search pill, search submit, filter input | | `{rounded.lg}` | 30px | Every CTA pill — primary, secondary, on-image, filter chip, geo-selector, "Notify Me" | | `{rounded.full}` | 9999px | Color swatch dots and circular icon buttons (back, share, favorite, carousel paddle) | ### Photography Geometry - **Product cards:** consistent 1:1 square or near-square (~4:5 portrait on tall product crops), full-bleed within the card with no padding, sitting on `{colors.soft-cloud}` backdrop. - **Editorial campaign hero:** ~16:9 or wider cinematic crop, full-bleed across the content max-width, with the Futura display headline burned into the lower-left or upper-left third. - **Sport-category rail:** 4:5 portrait full-bleed thumbnails with a small CTA pill anchored bottom-left. - **PDP main image:** square primary image with vertical thumbnail rail to its left (~5–7 thumbnails stacked at small size), enabling rapid color/angle browsing without leaving the page. - **Avatar / category icon cards:** centered illustrated icon at ~80–96px on `{colors.canvas}` with `{typography.caption-md}` label below. ## Components > **No hover states documented** per system policy. Each spec covers Default and Active/Pressed only; variants live as separate `components:` entries in the front matter. ### Buttons **`button-primary`** — the universal Nike CTA - Background `{colors.ink}`, text `{colors.on-primary}`, type `{typography.button-md}`, padding `16px 32px`, height `{spacing.section}` (48px), rounded `{rounded.lg}` (30px pill). - Used on every primary action in the system: "Sign Up", "Notify Me", "Buy", "Türkiye" geo-confirm, "Shop" overlay on sport tiles, "Continue". - Pressed state lives in `button-primary-active` — the bg stays `{colors.ink}` while the surface shrinks to `scale(0.5)` with `opacity: 0.5` (Nike's signature "tap collapse" feedback that's extracted across all five pages). **`button-secondary`** — soft alternative on light surfaces - Background `{colors.soft-cloud}`, text `{colors.ink}`, type `{typography.button-md}`, padding `16px 32px`, rounded `{rounded.lg}`. - Used as the lower-emphasis alternate when a primary CTA already exists, e.g., "United States" geo-decline next to the black "Türkiye" confirm; "Cancel" or "Discover More" on light cards. **`button-outline-on-image`** — overlay CTA on photography - Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.button-md}`, padding `12px 24px`, rounded `{rounded.lg}`. - The crisp white pill that anchors the bottom-left of every full-bleed sport-category and editorial campaign tile. **`button-icon-circular`** — chrome icon controls - Background `{colors.soft-cloud}` or transparent, icon `{colors.ink}`, rounded `{rounded.full}`, size 40px. - Used for back-arrow, carousel paddle (left/right), wishlist heart, share, and "Hide Filters" toggle. **`filter-chip`** + **`filter-chip-active`** - Default: background `{colors.canvas}`, text `{colors.ink}`, 1px hairline `{colors.hairline}`, type `{typography.button-md}`, rounded `{rounded.lg}`, padding `8px 16px`. - Active: background `{colors.ink}`, text `{colors.on-primary}` — the chip flips fully inverted when selected. No middle state. ### Inputs & Forms **`search-pill`** + **`search-pill-focused`** - Default: background `{colors.soft-cloud}`, text `{colors.ink}`, type `{typography.body-md}`, rounded `{rounded.md}` (24px), padding `8px 16px`, height `40px`. Anchored to the right of the primary nav with a small magnifier icon. - Focused: background `{colors.canvas}`, 2px solid border `{colors.ink}`, with a 12px outer halo of `{colors.soft-cloud}` (the system's only "focus ring" effect). The pill shape stays `{rounded.md}` so the halo reads as a soft glove, not a hard outline. ### Cards & Containers **`product-card`** - Container: background `{colors.canvas}`, rounded `{rounded.none}`, padding 0, no shadow. - Image area: `{component.product-card-image}` — full-bleed product photo on `{colors.soft-cloud}` square. - Below image (in this order with `{spacing.sm}` between): swatch dot row (3–6 dots at 12px circular), promo badge if applicable (`{component.badge-promo}` "Just In", "Coming Soon", "Recycled Materials"), product name `{typography.body-strong}` `{colors.ink}`, category subtitle `{typography.caption-md}` `{colors.mute}`, price row. - Price row: regular price `{typography.body-strong}` `{colors.ink}`. If on sale: discounted price `{colors.sale}` followed by strike-through original `{colors.mute}` followed by "% off" in `{colors.sale}`. **`campaign-tile`** — the brand's signature editorial unit - Full-bleed photography with `{typography.display-campaign}` headline burned in (uppercase, 96px, line-height 0.9). - Headline color is whichever of `{colors.canvas}` or `{colors.ink}` reads against the underlying image — not parameterized; chosen per-asset. - A single `{component.button-outline-on-image}` pill anchored bottom-left of the tile carries the call-to-action. **`category-icon-card`** - Container: background `{colors.canvas}`, rounded `{rounded.none}`. - Centered category illustration (~80px) + label `{typography.caption-md}` `{colors.ink}` directly below. Used in the "Latest in Clothing" 4–8-up icon strip on `/men`. **`member-benefit-card`** - Full-bleed photographic card on a dark image background; copy slot at the bottom-left with `{typography.heading-lg}` headline `{colors.on-primary}` and a `{component.button-outline-on-image}` "Explore" pill below. - Used in the `/membership` "Member Benefits" 3-up grid. **`swatch-dot`** + **`swatch-dot-active`** - 12px circle, rounded `{rounded.full}`, no border in default state. Renders the colorway options on every product card and PDP color picker. - Default: filled with the colorway's actual product color (extracted at runtime from the product image), 1px subtle outer ring in `{colors.hairline}` for white/light colorways so they remain visible on `{colors.canvas}`. - Active: identical fill with a 2px `{colors.ink}` outer ring and 2px white interior gap, creating Nike's signature concentric-ring "selected" state. No size change between default and active. **`badge-promo`** - Background `{colors.canvas}` with 1px hairline `{colors.hairline}`, text `{colors.ink}`, type `{typography.caption-sm}`, rounded `{rounded.lg}`, padding `4px 12px`. - Sits on top of product imagery (top-left of card) with copy like "Just In", "Coming Soon", "Recycled Materials", "Member Exclusive". **`badge-sale-text`** - Inline price-row text in `{colors.sale}` with no background — the only "badge" in the system that has no container. ### Navigation **`utility-bar`** — top utility strip - Background `{colors.soft-cloud}`, text `{colors.ink}`, type `{typography.caption-sm}`, height ~36px, rounded `{rounded.none}`. - Right-aligned cluster: "Find a Store · Help · Join Us · Sign In". Always present; never collapses. **`primary-nav`** — main navigation - Background `{colors.canvas}`, text `{colors.ink}`, type `{typography.body-strong}` for nav links, height 56–64px, rounded `{rounded.none}`. - Layout: Nike swoosh logo at left (32×32), centered nav row ("New & Featured · Men · Women · Kids · Jordan · Nike SKIMS · Sport"), right cluster (search pill, wishlist heart icon, bag icon). - The active section gets a 2px-bottom underline in `{colors.ink}` — no background fill. **Sub-nav strip** (PLP) — appears under primary nav with breadcrumb + sort + hide-filters controls. - Same `{colors.canvas}` background with a 1px inset hairline-soft bottom edge. - Left: breadcrumb in `{typography.caption-md}` `{colors.mute}` separated by " / ". - Right: "Hide Filters" toggle + "Sort By: …" dropdown — both in `{typography.button-md}` with chevron icons. **Top Nav (Mobile)** - Hamburger menu icon (left), Nike swoosh (center), search + bag icons (right). - Search pill collapses into an icon-only button at narrow widths; tapping expands a full-width overlay search pill with `{rounded.md}`. - Primary nav collapses into a full-height drawer that slides in from the left, listing nav rows top-down with `{spacing.xl}` vertical padding. ### Signature Components **`pdp-disclosure-row`** — PDP information accordion rows - Stacked rows for "View Product Details", "Shipping & Returns", "Reviews (n)" with `{spacing.xl}` vertical padding and a 1px `{colors.hairline}` divider below each. - Label `{typography.body-strong}` `{colors.ink}` left-aligned; chevron `{colors.ink}` right-aligned. **`faq-row`** — `/membership` FAQ accordion - Identical pattern to `pdp-disclosure-row` but with `{typography.heading-md}` label weight; 1px `{colors.hairline}` divider below each. **`filter-sidebar`** — PLP left rail - Container `{colors.canvas}`, rounded `{rounded.none}`. - Section headers `{typography.body-strong}` `{colors.ink}` with `{spacing.lg}` (18px) vertical gap between groups. - Active filters get a 1px ink underline; counts in parentheses use `{colors.mute}`. **`footer`** - Background `{colors.canvas}` with a single 1px `{colors.hairline}` top divider. - Four columns: Resources / Help / Company / Promotions & Discounts, each with column header `{typography.body-strong}` `{colors.ink}` and link list `{typography.caption-md}` `{colors.mute}`. - Below the columns: a horizontal rule, then a fine-print row with `{typography.utility-xs}` `{colors.mute}` (copyright, locale switcher, terms, privacy, supply-chain act). ## Do's and Don'ts ### Do - Reserve `{typography.display-campaign}` exclusively for editorial campaign hero lockups — never use 96px Futura for section headers or product titles. - Use `{component.button-primary}` (`{colors.ink}` pill) as the single primary action per viewport. Pair it at most with `{component.button-secondary}` (`{colors.soft-cloud}` pill) for a soft alternative. - Stage every product photograph on `{colors.soft-cloud}` — the gray is the system's "studio." - Keep all CTAs pill-shaped at `{rounded.lg}` (30px). Never introduce a square or `{rounded.sm}` button. - Use `{colors.sale}` only on price rows — never on backgrounds, badges, or chrome. - Stack content sections at `{spacing.section}` (48px) rhythm with no decorative dividers between them; the photography's bleed-edge is the divider. - Anchor on-image CTAs with `{component.button-outline-on-image}` (white pill) at bottom-left — the system's universal "shop this image" position. ### Don't - Don't introduce drop shadows or card elevation. Cards sit flat on the page; the only depth cue is the 1px inset hairline on sticky bars. - Don't use any of the category accent colors (`{colors.accent-pink}`, `{colors.accent-purple-soft}`, `{colors.accent-teal}`) for primary chrome — they belong to swatch dots, soft tile fills, and editorial moments only. - Don't replace `{colors.ink}` with a near-black gray like `{colors.charcoal}` for a CTA — Nike's primary pill is true `#111111`. - Don't pad inside product cards. The image is full-bleed; metadata sits directly below with `{spacing.sm}` (8px) between rows. - Don't put two campaign-tile lockups in the same row at the same scale — Nike alternates a single full-bleed editorial tile with a 2-up or 4-up product/category grid. - Don't underline anything other than `{typography.link-md}` inline links and the active primary-nav indicator. Buttons, headings, and prices stay un-underlined. - Don't introduce a third button shape. Pill or icon-circular — that's the entire button shape vocabulary. ## Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |---|---|---| | ultrawide | 1920px+ | Content max-width holds at ~1440px; outer gutters grow to ~80px on each side | | desktop-large | 1440px | Default desktop layout — 3-up product grid, 4-up clothing strip, full primary nav | | desktop | 1200px | Same as large with slightly narrower outer gutters | | desktop-small | 1024px | Filter sidebar starts compressing; sport rail shows ~3 visible tiles | | tablet | 1023–961px | 3-up PLP collapses to 2-up; "Hide Filters" becomes a default toggle | | tablet-narrow | 960–640px | Primary nav center cluster collapses to a hamburger drawer; search pill becomes icon-only | | mobile-landscape | 639–600px | 2-up PLP collapses to 1-up; product cards become full-width with image and metadata stacking | | mobile | 599–320px | Single-column everything; campaign tiles render at full screen width with shorter Futura sizes (~64px) | ### Touch Targets All interactive elements meet WCAG AAA (44×44px minimum). Pills (`{component.button-primary}`, `{component.button-secondary}`) sit at 48px height with 32px horizontal padding. Icon-circular buttons (`{component.button-icon-circular}`) sit at 40px — Nike's PDP carousel paddle and wishlist heart sit just under AAA but above AA at 40×40, with hit-target padding extending the tappable area to 48px+. Filter-chip pills are 40px height with 16px padding. ### Collapsing Strategy - **Primary nav:** desktop center cluster → mobile drawer triggered by hamburger at left of the swoosh. - **PLP grid:** 3-up → 2-up → 1-up at 1023, 599, and below; gutters drop from `{spacing.sm}` to `{spacing.xs}` on mobile. - **Filter sidebar:** 220px fixed → "Hide Filters" toggle → off-canvas full-screen filter drawer at mobile. - **Sport rail:** desktop horizontal scroll with ~5 visible → mobile horizontal scroll with ~1.5 visible (peek-next-card pattern). - **Section spacing:** `{spacing.section}` 48px desktop → 32px tablet → 24px mobile to keep editorial rhythm tight on small screens. - **Editorial campaign headline:** desktop 96px → tablet 64px → mobile 48px, line-height stays at 0.9 across all sizes. ### Image Behavior - Product imagery is responsive at the same 1:1 ratio across all breakpoints — the image scales, the ratio doesn't. - Editorial campaign tiles use art-direction crops: a 16:9 wide hero on desktop swaps to a 4:5 portrait on mobile so the figure stays centered and the headline still has burn-in space. - All non-critical product imagery is lazy-loaded as the user scrolls into the next grid row. ## Iteration Guide 1. Focus on ONE component at a time. Pull its YAML entry from the front matter and verify every property resolves. 2. Reference component names and tokens directly (`{colors.ink}`, `{component.button-primary-active}`, `{rounded.lg}`) — do not paraphrase color names or radii in prose. 3. Run `npx @google/design.md lint DESIGN.md` after edits — `broken-ref`, `contrast-ratio`, and `orphaned-tokens` warnings flag issues automatically. 4. Add new variants as separate component entries (`-active`, `-disabled`, `-focused`) — do not bury them inside prose. Nike's pressed state (`scale(0.5) opacity 0.5`) is intentional and must be its own entry, not a hover stand-in. 5. Default body to `{typography.body-md}`; reach for `{typography.body-strong}` for product names and primary nav links; reserve `{typography.display-campaign}` strictly for hero campaign lockups. 6. Keep `{colors.ink}` scarce per viewport — if more than one solid-black pill or block appears in the same fold, neutralize one to `{component.button-secondary}` or `{component.button-outline-on-image}`. 7. When introducing a new component, ask whether it can be expressed with the existing pill + flat-card + photography-on-`{colors.soft-cloud}` vocabulary before adding new tokens. The system's strength is that it almost never needs new ones. ## Known Gaps - **Mobile screenshots not captured** — responsive behavior described above synthesizes Nike's known mobile pattern (hamburger drawer, 1-up grid, headline downscale) from desktop evidence and the breakpoint list extracted from tokens. - **Hover states not documented** by system policy — Nike's CSS uses `--pds-color-element-hover` and `--pds-color-text-hover` tokens but these are not included here. - **Dialog / modal styling** beyond the geo-selector and the country-confirmation pill pair could not be confirmed from the captured surfaces; bag, wishlist, and login overlays are not documented. - **Form field styling** for checkout, sign-up, and address forms is not present in the captured surfaces — only the search pill is documented. - **Bag and wishlist** icon-state variants (filled count badges) not visible in the captured pages.

Designby @design-md

Zapier

# Design System Inspired by Zapier ## 1. Visual Theme & Atmosphere Zapier's website radiates warm, approachable professionalism. It rejects the cold monochrome minimalism of developer tools in favor of a cream-tinted canvas (`#fffefb`) that feels like unbleached paper -- the digital equivalent of a well-organized notebook. The near-black (`#201515`) text has a faint reddish-brown warmth, creating an atmosphere more human than mechanical. This is automation designed to feel effortless, not technical. The typographic system is a deliberate interplay of two distinct personalities. **Degular Display** -- a geometric, wide-set display face -- handles hero-scale headlines at 56-80px with medium weight (500) and extraordinarily tight line-heights (0.90), creating headlines that compress vertically like stacked blocks. **Inter** serves as the workhorse for everything else, from section headings to body text and navigation, with fallbacks to Helvetica and Arial. **GT Alpina**, an elegant thin-weight serif with aggressive negative letter-spacing (-1.6px to -1.92px), makes occasional appearances for softer editorial moments. This three-font system gives Zapier the ability to shift register -- from bold and punchy (Degular) to clean and functional (Inter) to refined and literary (GT Alpina). The brand's signature orange (`#ff4f00`) is unmistakable -- a vivid, saturated red-orange that sits precisely between traffic-cone urgency and sunset warmth. It's used sparingly but decisively: primary CTA buttons, active state underlines, and accent borders. Against the warm cream background, this orange creates a color relationship that feels energetic without being aggressive. **Key Characteristics:** - Warm cream canvas (`#fffefb`) instead of pure white -- organic, paper-like warmth - Near-black with reddish undertone (`#201515`) -- text that breathes rather than dominates - Degular Display for hero headlines at 0.90 line-height -- compressed, impactful, modern - Inter as the universal UI font across all functional typography - GT Alpina for editorial accents -- thin-weight serif with extreme negative tracking - Zapier Orange (`#ff4f00`) as the single accent -- vivid, warm, sparingly applied - Warm neutral palette: borders (`#c5c0b1`), muted text (`#939084`), surface tints (`#eceae3`) - 8px base spacing system with generous padding on CTAs (20px 24px) - Border-forward design: `1px solid` borders in warm grays define structure over shadows ## 2. Color Palette & Roles ### Primary - **Zapier Black** (`#201515`): Primary text, headings, dark button backgrounds. A warm near-black with reddish undertones -- never cold. - **Cream White** (`#fffefb`): Page background, card surfaces, light button fills. Not pure white; the yellowish warmth is intentional. - **Off-White** (`#fffdf9`): Secondary background surface, subtle alternate tint. Nearly indistinguishable from cream white but creates depth. ### Brand Accent - **Zapier Orange** (`#ff4f00`): Primary CTA buttons, active underline indicators, accent borders. The signature color -- vivid and warm. ### Neutral Scale - **Dark Charcoal** (`#36342e`): Secondary text, footer text, border color for strong dividers. A warm dark gray-brown with 70% opacity variant. - **Warm Gray** (`#939084`): Tertiary text, muted labels, timestamp-style content. Mid-range with greenish-warm undertone. - **Sand** (`#c5c0b1`): Primary border color, hover state backgrounds, divider lines. The backbone of Zapier's structural elements. - **Light Sand** (`#eceae3`): Secondary button backgrounds, light borders, subtle card surfaces. - **Mid Warm** (`#b5b2aa`): Alternate border tone, used on specific span elements. ### Interactive - **Orange CTA** (`#ff4f00`): Primary action buttons and active tab underlines. - **Dark CTA** (`#201515`): Secondary dark buttons with sand hover state. - **Light CTA** (`#eceae3`): Tertiary/ghost buttons with sand hover. - **Link Default** (`#201515`): Standard link color, matching body text. - **Hover Underline**: Links remove `text-decoration: underline` on hover (inverse pattern). ### Overlay & Surface - **Semi-transparent Dark** (`rgba(45, 45, 46, 0.5)`): Overlay button variant, backdrop-like elements. - **Pill Surface** (`#fffefb`): White pill buttons with sand borders. ### Shadows & Depth - **Inset Underline** (`rgb(255, 79, 0) 0px -4px 0px 0px inset`): Active tab indicator -- orange underline using inset box-shadow. - **Hover Underline** (`rgb(197, 192, 177) 0px -4px 0px 0px inset`): Inactive tab hover -- sand-colored underline. ## 3. Typography Rules ### Font Families - **Display**: `Degular Display` -- wide geometric display face for hero headlines - **Primary**: `Inter`, with fallbacks: `Helvetica, Arial` - **Editorial**: `GT Alpina` -- thin-weight serif for editorial moments - **System**: `Arial` -- fallback for form elements and system UI ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|------|--------|-------------|----------------|-------| | Display Hero XL | Degular Display | 80px (5.00rem) | 500 | 0.90 (tight) | normal | Maximum impact, compressed block | | Display Hero | Degular Display | 56px (3.50rem) | 500 | 0.90-1.10 (tight) | 0-1.12px | Primary hero headlines | | Display Hero SM | Degular Display | 40px (2.50rem) | 500 | 0.90 (tight) | normal | Smaller hero variant | | Display Button | Degular Display | 24px (1.50rem) | 600 | 1.00 (tight) | 1px | Large CTA button text | | Section Heading | Inter | 48px (3.00rem) | 500 | 1.04 (tight) | normal | Major section titles | | Editorial Heading | GT Alpina | 48px (3.00rem) | 250 | normal | -1.92px | Thin editorial headlines | | Editorial Sub | GT Alpina | 40px (2.50rem) | 300 | 1.08 (tight) | -1.6px | Editorial subheadings | | Sub-heading LG | Inter | 36px (2.25rem) | 500 | normal | -1px | Large sub-sections | | Sub-heading | Inter | 32px (2.00rem) | 400 | 1.25 (tight) | normal | Standard sub-sections | | Sub-heading MD | Inter | 28px (1.75rem) | 500 | normal | normal | Medium sub-headings | | Card Title | Inter | 24px (1.50rem) | 600 | normal | -0.48px | Card headings | | Body Large | Inter | 20px (1.25rem) | 400-500 | 1.00-1.20 (tight) | -0.2px | Feature descriptions | | Body Emphasis | Inter | 18px (1.13rem) | 600 | 1.00 (tight) | normal | Emphasized body text | | Body | Inter | 16px (1.00rem) | 400-500 | 1.20-1.25 | -0.16px | Standard reading text | | Body Semibold | Inter | 16px (1.00rem) | 600 | 1.16 (tight) | normal | Strong labels | | Button | Inter | 16px (1.00rem) | 600 | normal | normal | Standard buttons | | Button SM | Inter | 14px (0.88rem) | 600 | normal | normal | Small buttons | | Caption | Inter | 14px (0.88rem) | 500 | 1.25-1.43 | normal | Labels, metadata | | Caption Upper | Inter | 14px (0.88rem) | 600 | normal | 0.5px | Uppercase section labels | | Micro | Inter | 12px (0.75rem) | 600 | 0.90-1.33 | 0.5px | Tiny labels, often uppercase | | Micro SM | Inter | 13px (0.81rem) | 500 | 1.00-1.54 | normal | Small metadata text | ### Principles - **Three-font system, clear roles**: Degular Display commands attention at hero scale only. Inter handles everything functional. GT Alpina adds editorial warmth sparingly. - **Compressed display**: Degular at 0.90 line-height creates vertically compressed headline blocks that feel modern and architectural. - **Weight as hierarchy signal**: Inter uses 400 (reading), 500 (navigation/emphasis), 600 (headings/CTAs). Degular uses 500 (display) and 600 (buttons). - **Uppercase for labels**: Section labels (like "01 / Colors") and small categorization use `text-transform: uppercase` with 0.5px letter-spacing. - **Negative tracking for elegance**: GT Alpina uses -1.6px to -1.92px letter-spacing for its thin-weight editorial headlines. ## 4. Component Stylings ### Buttons **Primary Orange** - Background: `#ff4f00` - Text: `#fffefb` - Padding: 8px 16px - Radius: 4px - Border: `1px solid #ff4f00` - Use: Primary CTA ("Start free with email", "Sign up free") **Primary Dark** - Background: `#201515` - Text: `#fffefb` - Padding: 20px 24px - Radius: 8px - Border: `1px solid #201515` - Hover: background shifts to `#c5c0b1`, text to `#201515` - Use: Large secondary CTA buttons **Light / Ghost** - Background: `#eceae3` - Text: `#36342e` - Padding: 20px 24px - Radius: 8px - Border: `1px solid #c5c0b1` - Hover: background shifts to `#c5c0b1`, text to `#201515` - Use: Tertiary actions, filter buttons **Pill Button** - Background: `#fffefb` - Text: `#36342e` - Padding: 0px 16px - Radius: 20px - Border: `1px solid #c5c0b1` - Use: Tag-like selections, filter pills **Overlay Semi-transparent** - Background: `rgba(45, 45, 46, 0.5)` - Text: `#fffefb` - Radius: 20px - Hover: background becomes fully opaque `#2d2d2e` - Use: Video play buttons, floating actions **Tab / Navigation (Inset Shadow)** - Background: transparent - Text: `#201515` - Padding: 12px 16px - Shadow: `rgb(255, 79, 0) 0px -4px 0px 0px inset` (active orange underline) - Hover shadow: `rgb(197, 192, 177) 0px -4px 0px 0px inset` (sand underline) - Use: Horizontal tab navigation ### Cards & Containers - Background: `#fffefb` - Border: `1px solid #c5c0b1` (warm sand border) - Radius: 5px (standard), 8px (featured) - No shadow elevation by default -- borders define containment - Hover: subtle border color intensification ### Inputs & Forms - Background: `#fffefb` - Text: `#201515` - Border: `1px solid #c5c0b1` - Radius: 5px - Focus: border color shifts to `#ff4f00` (orange) - Placeholder: `#939084` ### Navigation - Clean horizontal nav on cream background - Zapier logotype left-aligned, 104x28px - Links: Inter 16px weight 500, `#201515` text - CTA: Orange button ("Start free with email") - Tab navigation uses inset box-shadow underline technique - Mobile: hamburger collapse ### Image Treatment - Product screenshots with `1px solid #c5c0b1` border - Rounded corners: 5-8px - Dashboard/workflow screenshots prominent in feature sections - Light gradient backgrounds behind hero content ### Distinctive Components **Workflow Integration Cards** - Display connected app icons in pairs - Arrow or connection indicator between apps - Sand border containment - Inter weight 500 for app names **Stat Counter** - Large display number using Inter 48px weight 500 - Muted description below in `#36342e` - Used for social proof metrics **Social Proof Icons** - Circular icon buttons: 14px radius - Sand border: `1px solid #c5c0b1` - Used for social media follow links in footer ## 5. Layout Principles ### Spacing System - Base unit: 8px - Scale: 1px, 4px, 6px, 8px, 10px, 12px, 16px, 20px, 24px, 32px, 40px, 48px, 56px, 64px, 72px - CTA buttons use generous padding: 20px 24px for large, 8px 16px for standard - Section padding: 64px-80px vertical ### Grid & Container - Max content width: approximately 1200px - Hero: centered single-column with large top padding - Feature sections: 2-3 column grids for integration cards - Full-width sand-bordered dividers between sections - Footer: multi-column dark background (`#201515`) ### Whitespace Philosophy - **Warm breathing room**: Generous vertical spacing between sections (64px-80px), but content areas are relatively dense -- Zapier packs information efficiently within its cream canvas. - **Architectural compression**: Degular Display headlines at 0.90 line-height compress vertically, contrasting with the open spacing around them. - **Section rhythm**: Cream background throughout, with sections separated by sand-colored borders rather than background color changes. ### Border Radius Scale - Tight (3px): Small inline spans - Standard (4px): Buttons (orange CTA), tags, small elements - Content (5px): Cards, links, general containers - Comfortable (8px): Featured cards, large buttons, tabs - Social (14px): Social icon buttons, pill-like elements - Pill (20px): Play buttons, large pill buttons, floating actions ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Flat (Level 0) | No shadow | Page background, text blocks | | Bordered (Level 1) | `1px solid #c5c0b1` | Standard cards, containers, inputs | | Strong Border (Level 1b) | `1px solid #36342e` | Dark dividers, emphasized sections | | Active Tab (Level 2) | `rgb(255, 79, 0) 0px -4px 0px 0px inset` | Active tab underline (orange) | | Hover Tab (Level 2b) | `rgb(197, 192, 177) 0px -4px 0px 0px inset` | Hover tab underline (sand) | | Focus (Accessibility) | `1px solid #ff4f00` outline | Focus ring on interactive elements | **Shadow Philosophy**: Zapier deliberately avoids traditional shadow-based elevation. Structure is defined almost entirely through borders -- warm sand (`#c5c0b1`) borders for standard containment, dark charcoal (`#36342e`) borders for emphasis. The only shadow-like technique is the inset box-shadow used for tab underlines, where a `0px -4px 0px 0px inset` shadow creates a bottom-bar indicator. This border-first approach keeps the design grounded and tangible rather than floating. ### Decorative Depth - Orange inset underline on active tabs creates visual "weight" at the bottom of elements - Sand hover underlines provide preview states without layout shifts - No background gradients in main content -- the cream canvas is consistent - Footer uses full dark background (`#201515`) for contrast reversal ## 7. Do's and Don'ts ### Do - Use Degular Display exclusively for hero-scale headlines (40px+) with 0.90 line-height for compressed impact - Use Inter for all functional UI -- navigation, body text, buttons, labels - Apply warm cream (`#fffefb`) as the background, never pure white - Use `#201515` for text, never pure black -- the reddish warmth matters - Keep Zapier Orange (`#ff4f00`) reserved for primary CTAs and active state indicators - Use sand (`#c5c0b1`) borders as the primary structural element instead of shadows - Apply generous button padding (20px 24px) for large CTAs to match Zapier's spacious button style - Use inset box-shadow underlines for tab navigation rather than border-bottom - Apply uppercase with 0.5px letter-spacing for section labels and micro-categorization ### Don't - Don't use Degular Display for body text or UI elements -- it's display-only - Don't use pure white (`#ffffff`) or pure black (`#000000`) -- Zapier's palette is warm-shifted - Don't apply box-shadow elevation to cards -- use borders instead - Don't scatter Zapier Orange across the UI -- it's reserved for CTAs and active states - Don't use tight padding on large CTA buttons -- Zapier's buttons are deliberately spacious - Don't ignore the warm neutral system -- borders should be `#c5c0b1`, not gray - Don't use GT Alpina for functional UI -- it's an editorial accent at thin weights only - Don't apply positive letter-spacing to GT Alpina -- it uses aggressive negative tracking (-1.6px to -1.92px) - Don't use rounded pill shapes (9999px) for primary buttons -- pills are for tags and social icons ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Mobile Small | <450px | Tight single column, reduced hero text | | Mobile | 450-600px | Standard mobile, stacked layout | | Mobile Large | 600-640px | Slight horizontal breathing room | | Tablet Small | 640-680px | 2-column grids begin | | Tablet | 680-768px | Card grids expand | | Tablet Large | 768-991px | Full card grids, expanded padding | | Desktop Small | 991-1024px | Desktop layout initiates | | Desktop | 1024-1280px | Full layout, maximum content width | | Large Desktop | >1280px | Centered with generous margins | ### Touch Targets - Large CTA buttons: 20px 24px padding (comfortable 60px+ height) - Standard buttons: 8px 16px padding - Navigation links: 16px weight 500 with adequate spacing - Social icons: 14px radius circular buttons - Tab items: 12px 16px padding ### Collapsing Strategy - Hero: Degular 80px display scales to 40-56px on smaller screens - Navigation: horizontal links + CTA collapse to hamburger menu - Feature cards: 3-column grid to 2-column to single-column stacked - Integration workflow illustrations: maintain aspect ratio, may simplify - Footer: multi-column dark section collapses to stacked - Section spacing: 64-80px reduces to 40-48px on mobile ### Image Behavior - Product screenshots maintain sand border treatment at all sizes - Integration app icons maintain fixed sizes within responsive containers - Hero illustrations scale proportionally - Full-width sections maintain edge-to-edge treatment ## 9. Agent Prompt Guide ### Quick Color Reference - Primary CTA: Zapier Orange (`#ff4f00`) - Background: Cream White (`#fffefb`) - Heading text: Zapier Black (`#201515`) - Body text: Dark Charcoal (`#36342e`) - Border: Sand (`#c5c0b1`) - Secondary surface: Light Sand (`#eceae3`) - Muted text: Warm Gray (`#939084`) ### Example Component Prompts - "Create a hero section on cream background (`#fffefb`). Headline at 56px Degular Display weight 500, line-height 0.90, color `#201515`. Subtitle at 20px Inter weight 400, line-height 1.20, color `#36342e`. Orange CTA button (`#ff4f00`, 4px radius, 8px 16px padding, white text) and dark button (`#201515`, 8px radius, 20px 24px padding, white text)." - "Design a card: cream background (`#fffefb`), `1px solid #c5c0b1` border, 5px radius. Title at 24px Inter weight 600, letter-spacing -0.48px, `#201515`. Body at 16px weight 400, `#36342e`. No box-shadow." - "Build a tab navigation: transparent background. Inter 16px weight 500, `#201515` text. Active tab: `box-shadow: rgb(255, 79, 0) 0px -4px 0px 0px inset`. Hover: `box-shadow: rgb(197, 192, 177) 0px -4px 0px 0px inset`. Padding 12px 16px." - "Create navigation: cream sticky header (`#fffefb`). Inter 16px weight 500 for links, `#201515` text. Orange pill CTA 'Start free with email' right-aligned (`#ff4f00`, 4px radius, 8px 16px padding)." - "Design a footer with dark background (`#201515`). Text `#fffefb`. Links in `#c5c0b1` with hover to `#fffefb`. Multi-column layout. Social icons as 14px-radius circles with sand borders." ### Iteration Guide 1. Always use warm cream (`#fffefb`) background, never pure white -- the warmth defines Zapier 2. Borders (`1px solid #c5c0b1`) are the structural backbone -- avoid shadow elevation 3. Zapier Orange (`#ff4f00`) is the only accent color; everything else is warm neutrals 4. Three fonts, strict roles: Degular Display (hero), Inter (UI), GT Alpina (editorial) 5. Large CTA buttons need generous padding (20px 24px) -- Zapier buttons feel spacious 6. Tab navigation uses inset box-shadow underlines, not border-bottom 7. Text is always warm: `#201515` for dark, `#36342e` for body, `#939084` for muted 8. Uppercase labels at 12-14px with 0.5px letter-spacing for section categorization

Designby @design-md

xAI

# Design System Inspired by xAI ## 1. Visual Theme & Atmosphere xAI's website is a masterclass in dark-first, monospace-driven brutalist minimalism -- a design system that feels like it was built by engineers who understand that restraint is the ultimate form of sophistication. The entire experience is anchored to an almost-black background (`#1f2228`) with pure white text (`#ffffff`), creating a high-contrast, terminal-inspired aesthetic that signals deep technical credibility. There are no gradients, no decorative illustrations, no color accents competing for attention. This is a site that communicates through absence. The typographic system is split between two carefully chosen typefaces. `GeistMono` (Vercel's monospace font) handles display-level headlines at an extraordinary 320px with weight 300, and also serves as the button typeface in uppercase with tracked-out letter-spacing (1.4px). `universalSans` handles all body and secondary heading text with a clean, geometric sans-serif voice. The monospace-as-display-font choice is the defining aesthetic decision -- it positions xAI not as a consumer product but as infrastructure, as something built by people who live in terminals. The spacing system operates on an 8px base grid with values concentrated at the small end (4px, 8px, 24px, 48px), reflecting a dense, information-focused layout philosophy. Border radius is minimal -- the site barely rounds anything, maintaining sharp, architectural edges. There are no decorative shadows, no gradients, no layered elevation. Depth is communicated purely through contrast and whitespace. **Key Characteristics:** - Pure dark theme: `#1f2228` background with `#ffffff` text -- no gray middle ground - GeistMono at extreme display sizes (320px, weight 300) -- monospace as luxury - Uppercase monospace buttons with 1.4px letter-spacing -- technical, commanding - universalSans for body text at 16px/1.5 and headings at 30px/1.2 -- clean contrast - Zero decorative elements: no shadows, no gradients, no colored accents - 8px spacing grid with a sparse, deliberate scale - Heroicons SVG icon system -- minimal, functional - Tailwind CSS with arbitrary values -- utility-first engineering approach ## 2. Color Palette & Roles ### Primary - **Pure White** (`#ffffff`): The singular text color, link color, and all foreground elements. In xAI's system, white is not a background -- it is the voice. - **Dark Background** (`#1f2228`): The canvas. A warm near-black with a subtle blue undertone (not pure black, not neutral gray). This specific hue prevents the harsh eye strain of `#000000` while maintaining deep darkness. ### Interactive - **White Default** (`#ffffff`): Link and interactive element color in default state. - **White Muted** (`rgba(255, 255, 255, 0.5)`): Hover state for links -- a deliberate dimming rather than brightening, which is unusual and distinctive. - **White Subtle** (`rgba(255, 255, 255, 0.2)`): Borders, dividers, and subtle surface treatments. - **Ring Blue** (`rgb(59, 130, 246) / 0.5`): Tailwind's default focus ring color (`--tw-ring-color`), used for keyboard accessibility focus states. ### Surface & Borders - **Surface Elevated** (`rgba(255, 255, 255, 0.05)`): Subtle card backgrounds and hover surfaces -- barely visible lift. - **Surface Hover** (`rgba(255, 255, 255, 0.08)`): Slightly more visible hover state for interactive containers. - **Border Default** (`rgba(255, 255, 255, 0.1)`): Standard border for cards, dividers, and containers. - **Border Strong** (`rgba(255, 255, 255, 0.2)`): Emphasized borders for active states and button outlines. ### Functional - **Text Primary** (`#ffffff`): All headings, body text, labels. - **Text Secondary** (`rgba(255, 255, 255, 0.7)`): Descriptions, captions, supporting text. - **Text Tertiary** (`rgba(255, 255, 255, 0.5)`): Muted labels, placeholder text, timestamps. - **Text Quaternary** (`rgba(255, 255, 255, 0.3)`): Disabled text, very subtle annotations. ## 3. Typography Rules ### Font Family - **Display / Buttons**: `GeistMono`, with fallback: `ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New` - **Body / Headings**: `universalSans`, with fallback: `universalSans Fallback` ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Transform | Notes | |------|------|------|--------|-------------|----------------|-----------|-------| | Display Hero | GeistMono | 320px (20rem) | 300 | 1.50 | normal | none | Extreme scale, monospace luxury | | Section Heading | universalSans | 30px (1.88rem) | 400 | 1.20 (tight) | normal | none | Clean sans-serif contrast | | Body | universalSans | 16px (1rem) | 400 | 1.50 | normal | none | Standard reading text | | Button | GeistMono | 14px (0.88rem) | 400 | 1.43 | 1.4px | uppercase | Tracked monospace, commanding | | Label / Caption | universalSans | 14px (0.88rem) | 400 | 1.50 | normal | none | Supporting text | | Small / Meta | universalSans | 12px (0.75rem) | 400 | 1.50 | normal | none | Timestamps, footnotes | ### Principles - **Monospace as display**: GeistMono at 320px is not a gimmick -- it is the brand statement. The fixed-width characters at extreme scale create a rhythmic, architectural quality that no proportional font can achieve. - **Light weight at scale**: Weight 300 for the 320px headline prevents the monospace from feeling heavy or brutish at extreme sizes. It reads as precise, not overwhelming. - **Uppercase buttons**: All button text is uppercase GeistMono with 1.4px letter-spacing. This creates a distinctly technical, almost command-line aesthetic for interactive elements. - **Sans-serif for reading**: universalSans at 16px/1.5 provides excellent readability for body content, creating a clean contrast against the monospace display elements. - **Two-font clarity**: The system uses exactly two typefaces with clear roles -- monospace for impact and interaction, sans-serif for information and reading. No overlap, no ambiguity. ## 4. Component Stylings ### Buttons **Primary (White on Dark)** - Background: `#ffffff` - Text: `#1f2228` - Padding: 12px 24px - Radius: 0px (sharp corners) - Font: GeistMono 14px weight 400, uppercase, letter-spacing 1.4px - Hover: `rgba(255, 255, 255, 0.9)` background - Use: Primary CTA ("TRY GROK", "GET STARTED") **Ghost / Outlined** - Background: transparent - Text: `#ffffff` - Padding: 12px 24px - Radius: 0px - Border: `1px solid rgba(255, 255, 255, 0.2)` - Font: GeistMono 14px weight 400, uppercase, letter-spacing 1.4px - Hover: `rgba(255, 255, 255, 0.05)` background - Use: Secondary actions ("LEARN MORE", "VIEW API") **Text Link** - Background: none - Text: `#ffffff` - Font: universalSans 16px weight 400 - Hover: `rgba(255, 255, 255, 0.5)` -- dims on hover - Use: Inline links, navigation items ### Cards & Containers - Background: `rgba(255, 255, 255, 0.03)` or transparent - Border: `1px solid rgba(255, 255, 255, 0.1)` - Radius: 0px (sharp) or 4px (subtle) - Shadow: none -- xAI does not use box shadows - Hover: border shifts to `rgba(255, 255, 255, 0.2)` ### Navigation - Dark background matching page (`#1f2228`) - Brand logotype: white text, left-aligned - Links: universalSans 14px weight 400, `#ffffff` text - Hover: `rgba(255, 255, 255, 0.5)` text color - CTA: white primary button, right-aligned - Mobile: hamburger toggle ### Badges / Tags **Monospace Tag** - Background: transparent - Text: `#ffffff` - Padding: 4px 8px - Border: `1px solid rgba(255, 255, 255, 0.2)` - Radius: 0px - Font: GeistMono 12px uppercase, letter-spacing 1px ### Inputs & Forms - Background: transparent or `rgba(255, 255, 255, 0.05)` - Border: `1px solid rgba(255, 255, 255, 0.2)` - Radius: 0px - Focus: ring with `rgb(59, 130, 246) / 0.5` - Text: `#ffffff` - Placeholder: `rgba(255, 255, 255, 0.3)` - Label: `rgba(255, 255, 255, 0.7)`, universalSans 14px ## 5. Layout Principles ### Spacing System - Base unit: 8px - Scale: 4px, 8px, 24px, 48px - The scale is deliberately sparse -- xAI avoids granular spacing distinctions, preferring large jumps that create clear visual hierarchy through whitespace alone ### Grid & Container - Max content width: approximately 1200px - Hero: full-viewport height with massive centered monospace headline - Feature sections: simple vertical stacking with generous section padding (48px-96px) - Two-column layouts for feature descriptions at desktop - Full-width dark sections maintain the single dark background throughout ### Whitespace Philosophy - **Extreme generosity**: xAI uses vast amounts of whitespace. The 320px headline with 48px+ surrounding padding creates a sense of emptiness that is itself a design statement -- the content is so important it needs room to breathe. - **Vertical rhythm over horizontal density**: Content stacks vertically with large gaps between sections rather than packing horizontally. This creates a scroll-driven experience that feels deliberate and cinematic. - **No visual noise**: The absence of decorative elements, borders between sections, and color variety means whitespace is the primary structural tool. ### Breakpoints - 2000px, 1536px, 1280px, 1024px, 1000px, 768px, 640px - Tailwind responsive modifiers drive breakpoint behavior ### Border Radius Scale - Sharp (0px): Primary treatment for buttons, cards, inputs -- the default - Subtle (4px): Occasional softening on secondary containers - The near-zero radius philosophy is core to the brand's brutalist identity ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Flat (Level 0) | No shadow, no border | Page background, body content | | Surface (Level 1) | `rgba(255,255,255,0.03)` background | Subtle card surfaces | | Bordered (Level 2) | `1px solid rgba(255,255,255,0.1)` border | Cards, containers, dividers | | Active (Level 3) | `1px solid rgba(255,255,255,0.2)` border | Hover states, active elements | | Focus (Accessibility) | `ring` with `rgb(59,130,246)/0.5` | Keyboard focus indicator | **Elevation Philosophy**: xAI rejects the conventional shadow-based elevation system entirely. There are no box-shadows anywhere on the site. Instead, depth is communicated through three mechanisms: (1) opacity-based borders that brighten on interaction, creating a sense of elements "activating" rather than lifting; (2) extremely subtle background opacity shifts (`0.03` to `0.08`) that create barely-perceptible surface differentiation; and (3) the massive scale contrast between the 320px display type and 16px body text, which creates typographic depth. This is elevation through contrast and opacity, not through simulated light and shadow. ## 7. Do's and Don'ts ### Do - Use `#1f2228` as the universal background -- never pure black `#000000` - Use GeistMono for all display headlines and button text -- monospace IS the brand - Apply uppercase + 1.4px letter-spacing to all button labels - Use weight 300 for the massive display headline (320px) - Keep borders at `rgba(255, 255, 255, 0.1)` -- barely visible, not absent - Dim interactive elements on hover to `rgba(255, 255, 255, 0.5)` -- the reverse of convention - Maintain sharp corners (0px radius) as the default -- brutalist precision - Use universalSans for all body and reading text at 16px/1.5 ### Don't - Don't use box-shadows -- xAI has zero shadow elevation - Don't introduce color accents beyond white and the dark background -- the monochromatic palette is sacred - Don't use large border-radius (8px+, pill shapes) -- the sharp edge is intentional - Don't use bold weights (600-700) for headlines -- weight 300-400 only - Don't brighten elements on hover -- xAI dims to `0.5` opacity instead - Don't add decorative gradients, illustrations, or color blocks - Don't use proportional fonts for buttons -- GeistMono uppercase is mandatory - Don't use colored status indicators unless absolutely necessary -- keep everything in the white/dark spectrum ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Mobile | <640px | Single column, hero headline scales dramatically down | | Small Tablet | 640-768px | Slight increase in padding | | Tablet | 768-1024px | Two-column layouts begin, heading sizes increase | | Desktop | 1024-1280px | Full layout, generous whitespace | | Large | 1280-1536px | Wider containers, more breathing room | | Extra Large | 1536-2000px | Maximum content width, centered | | Ultra | >2000px | Content stays centered, extreme margins | ### Touch Targets - Buttons use 12px 24px padding for comfortable touch - Navigation links spaced with 24px gaps - Minimum tap target: 44px height - Mobile: full-width buttons for easy thumb reach ### Collapsing Strategy - Hero: 320px monospace headline scales down dramatically (to ~48px-64px on mobile) - Navigation: horizontal links collapse to hamburger menu - Feature sections: two-column to single-column stacking - Section padding: 96px -> 48px -> 24px across breakpoints - Massive display type is the first thing to resize -- it must remain impactful but not overflow ### Image Behavior - Minimal imagery -- the site relies on typography and whitespace - Any product screenshots maintain sharp corners - Full-width media scales proportionally with viewport ## 9. Agent Prompt Guide ### Quick Color Reference - Background: Dark (`#1f2228`) - Text Primary: White (`#ffffff`) - Text Secondary: White 70% (`rgba(255, 255, 255, 0.7)`) - Text Muted: White 50% (`rgba(255, 255, 255, 0.5)`) - Text Disabled: White 30% (`rgba(255, 255, 255, 0.3)`) - Border Default: White 10% (`rgba(255, 255, 255, 0.1)`) - Border Strong: White 20% (`rgba(255, 255, 255, 0.2)`) - Surface Subtle: White 3% (`rgba(255, 255, 255, 0.03)`) - Surface Hover: White 8% (`rgba(255, 255, 255, 0.08)`) - Focus Ring: Blue (`rgb(59, 130, 246)` at 50% opacity) - Button Primary BG: White (`#ffffff`), text Dark (`#1f2228`) ### Example Component Prompts - "Create a hero section on #1f2228 background. Headline in GeistMono at 72px weight 300, color #ffffff, centered. Subtitle in universalSans 18px weight 400, rgba(255,255,255,0.7), max-width 600px centered. Two buttons: primary (white bg, #1f2228 text, 0px radius, GeistMono 14px uppercase, 1.4px letter-spacing, 12px 24px padding) and ghost (transparent bg, 1px solid rgba(255,255,255,0.2), white text, same font treatment)." - "Design a card: transparent or rgba(255,255,255,0.03) background, 1px solid rgba(255,255,255,0.1) border, 0px radius, 24px padding. No shadow. Title in universalSans 22px weight 400, #ffffff. Body in universalSans 16px weight 400, rgba(255,255,255,0.7), line-height 1.5. Hover: border changes to rgba(255,255,255,0.2)." - "Build navigation: #1f2228 background, full-width. Brand text left (GeistMono 14px uppercase). Links in universalSans 14px #ffffff with hover to rgba(255,255,255,0.5). White primary button right-aligned (GeistMono 14px uppercase, 1.4px letter-spacing)." - "Create a form: dark background #1f2228. Label in universalSans 14px rgba(255,255,255,0.7). Input with transparent bg, 1px solid rgba(255,255,255,0.2) border, 0px radius, white text 16px universalSans. Focus: blue ring rgb(59,130,246)/0.5. Placeholder: rgba(255,255,255,0.3)." - "Design a monospace tag/badge: transparent bg, 1px solid rgba(255,255,255,0.2), 0px radius, GeistMono 12px uppercase, 1px letter-spacing, white text, 4px 8px padding." ### Iteration Guide 1. Always start with `#1f2228` background -- never use pure black or gray backgrounds 2. GeistMono for display and buttons, universalSans for everything else -- never mix these roles 3. All buttons must be GeistMono uppercase with 1.4px letter-spacing -- this is non-negotiable 4. No shadows, ever -- depth comes from border opacity and background opacity only 5. Borders are always white with low opacity (0.1 default, 0.2 for emphasis) 6. Hover behavior dims to 0.5 opacity rather than brightening -- the reverse of most systems 7. Sharp corners (0px) by default -- only use 4px for specific secondary containers 8. Body text at 16px universalSans with 1.5 line-height for comfortable reading 9. Generous section padding (48px-96px) -- let content breathe in the darkness 10. The monochromatic white-on-dark palette is absolute -- resist adding color unless critical for function

Designby @design-md

Wise

# Design System Inspired by Wise ## 1. Visual Theme & Atmosphere Wise's website is a bold, confident fintech platform that communicates "money without borders" through massive typography and a distinctive lime-green accent. The design operates on a warm off-white canvas with near-black text (`#0e0f0c`) and a signature Wise Green (`#9fe870`) — a fresh, lime-bright color that feels alive and optimistic, unlike the corporate blues of traditional banking. The typography uses Wise Sans — a proprietary font used at extreme weight 900 (black) for display headings with a remarkably tight line-height of 0.85 and OpenType `"calt"` (contextual alternates). At 126px, the text is so dense it feels like a protest sign — bold, urgent, and impossible to ignore. Inter serves as the body font with weight 600 as the default for emphasis, creating a consistently confident voice. What distinguishes Wise is its green-on-white-on-black material palette. Lime Green (`#9fe870`) appears on buttons with dark green text (`#163300`), creating a nature-inspired CTA that feels fresh. Hover states use `scale(1.05)` expansion rather than color changes — buttons physically grow on interaction. The border-radius system uses 9999px for buttons (pill), 30px–40px for cards, and the shadow system is minimal — just `rgba(14,15,12,0.12) 0px 0px 0px 1px` ring shadows. **Key Characteristics:** - Wise Sans at weight 900, 0.85 line-height — billboard-scale bold headlines - Lime Green (`#9fe870`) accent with dark green text (`#163300`) — nature-inspired fintech - Inter body at weight 600 as default — confident, not light - Near-black (`#0e0f0c`) primary with warm green undertone - Scale(1.05) hover animations — buttons physically grow - OpenType `"calt"` on all text - Pill buttons (9999px) and large rounded cards (30px–40px) - Semantic color system with comprehensive state management ## 2. Color Palette & Roles ### Primary Brand - **Near Black** (`#0e0f0c`): Primary text, background for dark sections - **Wise Green** (`#9fe870`): Primary CTA button, brand accent - **Dark Green** (`#163300`): Button text on green, deep green accent - **Light Mint** (`#e2f6d5`): Soft green surface, badge backgrounds - **Pastel Green** (`#cdffad`): `--color-interactive-contrast-hover`, hover accent ### Semantic - **Positive Green** (`#054d28`): `--color-sentiment-positive-primary`, success - **Danger Red** (`#d03238`): `--color-interactive-negative-hover`, error/destructive - **Warning Yellow** (`#ffd11a`): `--color-sentiment-warning-hover`, warnings - **Background Cyan** (`rgba(56,200,255,0.10)`): `--color-background-accent`, info tint - **Bright Orange** (`#ffc091`): `--color-bright-orange`, warm accent ### Neutral - **Warm Dark** (`#454745`): Secondary text, borders - **Gray** (`#868685`): Muted text, tertiary - **Light Surface** (`#e8ebe6`): Subtle green-tinted light surface ## 3. Typography Rules ### Font Families - **Display**: `Wise Sans`, fallback: `Inter` — OpenType `"calt"` on all text - **Body / UI**: `Inter`, fallbacks: `Helvetica, Arial` ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|------|--------|-------------|----------------|-------| | Display Mega | Wise Sans | 126px (7.88rem) | 900 | 0.85 (ultra-tight) | normal | `"calt"` | | Display Hero | Wise Sans | 96px (6.00rem) | 900 | 0.85 | normal | `"calt"` | | Section Heading | Wise Sans | 64px (4.00rem) | 900 | 0.85 | normal | `"calt"` | | Sub-heading | Wise Sans | 40px (2.50rem) | 900 | 0.85 | normal | `"calt"` | | Alt Heading | Inter | 78px (4.88rem) | 600 | 1.10 (tight) | -2.34px | `"calt"` | | Card Title | Inter | 26px (1.62rem) | 600 | 1.23 (tight) | -0.39px | `"calt"` | | Feature Title | Inter | 22px (1.38rem) | 600 | 1.25 (tight) | -0.396px | `"calt"` | | Body | Inter | 18px (1.13rem) | 400 | 1.44 | 0.18px | `"calt"` | | Body Semibold | Inter | 18px (1.13rem) | 600 | 1.44 | -0.108px | `"calt"` | | Button | Inter | 18px–22px | 600 | 1.00–1.44 | -0.108px | `"calt"` | | Caption | Inter | 14px (0.88rem) | 400–600 | 1.50–1.86 | -0.084px to -0.108px | `"calt"` | | Small | Inter | 12px (0.75rem) | 400–600 | 1.00–2.17 | -0.084px to -0.108px | `"calt"` | ### Principles - **Weight 900 as identity**: Wise Sans Black (900) is used exclusively for display — the heaviest weight in any analyzed system. It creates text that feels stamped, pressed, physical. - **0.85 line-height**: The tightest display line-height analyzed. Letters overlap vertically, creating dense, billboard-like text blocks. - **"calt" everywhere**: Contextual alternates enabled on ALL text — both Wise Sans and Inter. - **Weight 600 as body default**: Inter Semibold is the standard reading weight — confident, not light. ## 4. Component Stylings ### Buttons **Primary Green Pill** - Background: `#9fe870` (Wise Green) - Text: `#163300` (Dark Green) - Padding: 5px 16px - Radius: 9999px - Hover: scale(1.05) — button physically grows - Active: scale(0.95) — button compresses - Focus: inset ring + outline **Secondary Subtle Pill** - Background: `rgba(22, 51, 0, 0.08)` (dark green at 8% opacity) - Text: `#0e0f0c` - Padding: 8px 12px 8px 16px - Radius: 9999px - Same scale hover/active behavior ### Cards & Containers - Radius: 16px (small), 30px (medium), 40px (large cards/tables) - Border: `1px solid rgba(14,15,12,0.12)` or `1px solid #9fe870` (green accent) - Shadow: `rgba(14,15,12,0.12) 0px 0px 0px 1px` (ring shadow) ### Navigation - Green-tinted navigation hover: `rgba(211,242,192,0.4)` - Clean header with Wise wordmark - Pill CTAs right-aligned ## 5. Layout Principles ### Spacing System - Base unit: 8px - Scale: 1px, 2px, 3px, 4px, 5px, 8px, 10px, 11px, 12px, 16px, 18px, 19px, 20px, 22px, 24px ### Border Radius Scale - Minimal (2px): Links, inputs - Standard (10px): Comboboxes, inputs - Card (16px): Small cards, buttons, radio - Medium (20px): Links, medium cards - Large (30px): Feature cards - Section (40px): Tables, large cards - Mega (1000px): Presentation elements - Pill (9999px): All buttons, images - Circle (50%): Icons, badges ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Flat (Level 0) | No shadow | Default | | Ring (Level 1) | `rgba(14,15,12,0.12) 0px 0px 0px 1px` | Card borders | | Inset (Level 2) | `rgb(134,134,133) 0px 0px 0px 1px inset` | Input focus | **Shadow Philosophy**: Wise uses minimal shadows — ring shadows only. Depth comes from the bold green accent against the neutral canvas. ## 7. Do's and Don'ts ### Do - Use Wise Sans weight 900 for display — the extreme boldness IS the brand - Apply line-height 0.85 on Wise Sans display — ultra-tight is intentional - Use Lime Green (#9fe870) for primary CTAs with Dark Green (#163300) text - Apply scale(1.05) hover and scale(0.95) active on buttons - Enable "calt" on all text - Use Inter weight 600 as the body default ### Don't - Don't use light font weights for Wise Sans — only 900 - Don't relax the 0.85 line-height on display — the density is the identity - Don't use the Wise Green as background for large surfaces — it's for buttons and accents - Don't skip the scale animation on buttons - Don't use traditional shadows — ring shadows only ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Mobile | <576px | Single column | | Tablet | 576–992px | 2-column | | Desktop | 992–1440px | Full layout | | Large | >1440px | Expanded | ## 9. Agent Prompt Guide ### Quick Color Reference - Text: Near Black (`#0e0f0c`) - Background: White (`#ffffff` / off-white) - Accent: Wise Green (`#9fe870`) - Button text: Dark Green (`#163300`) - Secondary: Gray (`#868685`) ### Example Component Prompts - "Create hero: white background. Headline at 96px Wise Sans weight 900, line-height 0.85, 'calt' enabled, #0e0f0c text. Green pill CTA (#9fe870, 9999px radius, 5px 16px padding, #163300 text). Hover: scale(1.05)." - "Build a card: 30px radius, 1px solid rgba(14,15,12,0.12). Title at 22px Inter weight 600, body at 18px weight 400." ### Iteration Guide 1. Wise Sans 900 at 0.85 line-height — the extreme weight IS the brand 2. Lime Green for buttons only — dark green text on green background 3. Scale animations (1.05 hover, 0.95 active) on all interactive elements 4. "calt" on everything — contextual alternates are mandatory 5. Inter 600 for body — confident reading weight

Designby @design-md

WIRED

# Design System Inspired by WIRED ## 1. Visual Theme & Atmosphere WIRED's homepage feels like a printed broadsheet that someone has plugged into a wall socket. The grid is dense, the rules are thin, the type is loud, and almost every surface is paper-white or pure black with no rounded corners and no decoration that doesn't earn its place. Image rectangles butt directly against headlines, hairline dividers separate stories the way pica rules separate columns in a real magazine, and the only colors that aren't grayscale come from the photography itself. There is no "card with shadow" anywhere — the entire layout is held together by typographic weight and the discipline of rules and whitespace, the same way a Condé Nast print page would be assembled in a paste-up room. The signature move is the **typographic stack**: a brutally large custom serif (WiredDisplay) for the main headline, a humanist serif (BreveText) for body and decks, a geometric sans (Apercu) for UI affordances, and a hard mono uppercase (WiredMono) for the kickers, eyebrows, and timestamps that mark every story. That mono kicker — usually black caps with letter-spacing wide enough to read as a Geiger-counter tick — is what makes a WIRED page instantly recognizable from across the room. There is exactly one accent color that matters: a saturated link blue (`#057dbc`) that lights up underlined hover states like a CRT scanline. Everything else is black, paper white, and two grays — the design's confidence comes from refusing to invent more. **Key Characteristics:** - Newsstand-density editorial grid: rules and whitespace, never cards or shadows - Custom serif display + technical mono kickers — the Condé-Nast-meets-engineering-lab voice - Strictly square corners on every image, container, and ribbon (only icon buttons are circular) - 2px hard black borders on buttons and links — printerly, not webby - Mono ALL-CAPS eyebrows on every story with wide tracking (0.9–1.2px) - Single ink-blue accent for links; everything else lives in pure grayscale - Dark theme = the *footer*, not the page; the page itself is committed paper-white ## 2. Color Palette & Roles ### Primary (Editorial Ink) - **WIRED Black** (`#000000`): Pure ink for ribbons, section dividers, button borders, headline rules — the strongest hand on the page. - **Page Ink** (`#1a1a1a`): Near-black used for headlines and body type. Slightly softened so long-form reading doesn't feel like staring at a power button. - **Paper White** (`#ffffff`): Default canvas for the entire site. Treat it like newsprint stock — uninterrupted, never tinted. ### Secondary (Editorial Voice) - **Link Blue** (`#057dbc`): The single brand accent. Used for inline link hovers, breadcrumbs, and the rare button — never for backgrounds, never decorated. Think of it as the only color allowed in a black-and-white film. ### Surface & Background - **Newsprint** (`#ffffff`): Editorial pages, story grids, hero zones. - **Footer Ink** (`#1a1a1a`): The only inverted region on the homepage. Paper white type sits on top. - **Hairline Tint** (`#e2e8f0`): Reserved for `<hr>` elements between sections — barely visible, like a margin rule. ### Neutrals & Text - **Headline Black** (`#1a1a1a`): All H1/H2 display type. - **Body Gray** (`#1a1a1a`): Long-form body text — same ink as headlines for unity. - **Caption Gray** (`#757575`): Secondary metadata: bylines, timestamps, photo credits. - **Disabled Gray** (`#999999`): Inactive links, low-priority labels. - **Hairline Border** (`#e2e8f0`): Subtle separators only. ### Semantic & Accent - **Brand Hover Blue** (`#057dbc`): Link rollover state — also serves as the only "interactive" cue. - *(WIRED's homepage intentionally omits semantic success/error/warning palettes — this is editorial, not a SaaS dashboard.)* ### Gradient System None. WIRED uses zero gradients. The closest thing to a gradient on the page is the tonal range inside a photograph — gradients live *in the imagery*, not in the chrome. ## 3. Typography Rules ### Font Family - **WiredDisplay** (custom serif, fallback `helvetica`) — Display headlines and feature titles. - **BreveText** (humanist serif, fallback `helvetica`) — Article body, decks, longer captions. - **Apercu** (geometric sans, fallback `helvetica`) — UI labels, buttons, navigation, mid-weight headings. - **WiredMono** (custom monospace, fallback `helvetica`) — Eyebrows, kickers, timestamps, section labels, ALL CAPS. - **Inter** (sans, system fallback) — Utility UI in newer modules. - **ProximaNova** (sans, fallback `helvetica`) — Legacy UI surfaces. - **WIRED Mono** (custom mono, fallback `Monaco, Courier New, Courier`) — Article-page eyebrows. ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |---|---|---|---|---|---|---| | Display Headline (Hero) | WiredDisplay | 64px / 4.00rem | regular | 0.93 | -0.5px | Tight, almost touching descenders — newsstand presence | | Display Headline (Mobile / Mid) | WiredDisplay | 26px / 1.63rem | regular | 1.08 | — | Same face, scaled down for grid blocks | | Section Heading | Apercu | 20px / 1.25rem | 700 | 1.20 | -0.28px | Bold sans for module titles ("Most Popular", "Featured") | | Subheading | Apercu | 17px / 1.06rem | 700 | 1.29 | -0.144px | Story decks within feature blocks | | Article Deck (Serif) | BreveText | 19px / 1.19rem | regular | 1.47 | 0.108px | Long-form lead paragraphs | | Article Body (Serif) | BreveText | 16px / 1.00rem | regular | 1.50 | 0.09px | Standard paragraph text | | UI Heading | Apercu | 16px / 1.00rem | 700 | 1.25 | 0.3px | Inline UI labels, button captions | | Button Label | Apercu | 16px / 1.00rem | 700 | 1.25 | 0.3px | All caps optional, depending on placement | | Link (Inline UI) | Apercu | 14px / 0.88rem | regular | 1.29 | 0.4px | Footer links, secondary nav | | Eyebrow / Kicker | WiredMono | 13px / 0.81rem | regular | 1.23 | 0.92px | UPPERCASE — story category above headline | | Eyebrow Bold | WiredMono | 13px / 0.81rem | 700 | 1.23 | — | UPPERCASE — featured story marker | | Section Ribbon | WiredMono | 12px / 0.75rem | 700 | 1.00 | 1.2px | UPPERCASE — black-bar section labels | | Photo Caption | BreveText | 12.73px / 0.80rem | 700 | 2.20 (relaxed) | 0.108px | Generous leading — print-photo treatment | | Timestamp / Meta | WiredMono | 12px / 0.75rem | regular | 1.33 | 1.1px | UPPERCASE, used for "X HOURS AGO" markers | | Tertiary Footer Link | ProximaNova | 11px / 0.69rem | regular | 1.45 | — | Newsletter footer, legal links | | Inter UI Heading | Inter | 16px / 1.00rem | 600 | 1.23 | 0.108px | Newer module headers | | Inter UI Caption | Inter | 14px / 0.88rem | 600 | 1.40 | — | Compact UI metadata | ### Principles - **Four faces, four jobs.** WiredDisplay is for shouting, BreveText is for reading, Apercu is for clicking, WiredMono is for labeling. They never trade roles. This separation is what keeps the page from feeling like a typography sample. - **Tight headlines, generous body.** Display type runs as low as 0.93 line-height (nearly touching), while body BreveText opens out to 1.47–1.50. The contrast is the editorial fingerprint. - **Mono is always uppercase.** Every WiredMono usage carries `text-transform: uppercase` and 0.9–1.2px letter-spacing. Treat lowercase mono as broken — it should not appear on a WIRED page. - **Bold is rare.** Apercu uses weight 700 only for UI emphasis; the editorial layer (Display + BreveText) leans entirely on size and ink color, never on bolding. - **Letter-spacing has two registers**: positive (0.9–1.2px) for ALL-CAPS mono, negative (-0.144 to -0.5px) for large display serif. Never neutral on the largest type. ### Note on Font Substitutes The line-height values in the hierarchy table (especially the 0.93 on the 64px hero) assume the **proprietary WiredDisplay and BreveText faces**, which have tight metrics with short ascenders/descenders. If you substitute these with wide-metric open-source fonts like **Playfair Display** or **Libre Caslon**, loosen display line-heights by approximately **+0.10 to +0.12** to prevent ascender/descender collisions on wrapping lines (e.g., 0.93 → 1.05, 1.08 → 1.18). Apercu substitutes (Inter, Work Sans, Manrope) work at the token values without adjustment. BreveText body substitutes (Lora, Source Serif 4) also work without adjustment because body leading is already generous. ## 4. Component Stylings ### Buttons **Primary CTA — Black Outline ("Subscribe")** - Background: `#ffffff` (Paper White) - Text: `#000000` (WIRED Black), Apercu 16px / 700 / 0.3px tracking - Border: `2px solid #000000` — the printerly hard rule, not a 1px UI border - Border radius: `0` (square corners) - Padding: vertical ≈ 12–14px, horizontal ≈ 24px - Hover: background flips to `#000000`, text flips to `#ffffff` — pure inversion, no easing on the rule - Transition: ~150ms color/background only **Secondary — Inverted ("Sign In", in dark zones)** - Background: `#000000` - Text: `#ffffff` - Border: `2px solid #ffffff` - Same square corners, same inversion-on-hover behavior **Tertiary — Underlined Inline Link** - Treated as a button when wrapped in nav: text `#1a1a1a`, underline always present, hover swaps color to `#057dbc` while keeping the underline - No padding, no border, no background — this is editorial linking, not UI **Pill / Round Icon Button** - Border radius: `50%` (the only circular shape on the site) - Used exclusively for icon controls (search, account, social) in the header - Border: 1px solid `#757575` or no border depending on placement - Size: ~32–40px square footprint **Tag / Span Pill** - Border radius: `1920px` (effectively a full pill — only used inside text spans like "BREAKING") - Background: solid black or red accent depending on context - Text: white, mono 11–12px caps ### Cards & Containers - **Cards do not exist.** WIRED's homepage has no rounded boxes, no shadows, no surface elevation. - A "story tile" is just an image rectangle stacked above a kicker + headline + deck, separated from neighbors by **1px hairline rules** (`#000000` or `#4a5568`) or by raw whitespace. - The closest thing to a "container" is the black ribbon section header (e.g., "MOST POPULAR") — a full-bleed black bar with white WiredMono caps, no padding refinement, no rounded ends. - Hover behavior on a story tile: the headline link text shifts from `#1a1a1a` to `#057dbc` and the underline appears. The image itself does not zoom, lift, or shadow. ### Inputs & Forms - **Newsletter input**: rectangular, `2px solid #000000` border, `0` radius, white background, Apercu 16px placeholder. - **Focus**: border stays 2px black, no glow ring, no color change — focus is signaled by the blinking caret only. (Add a 2px outset for accessibility if you ship this — WIRED's own implementation under-serves keyboard users here.) - **Error**: text label below in `#e53e3e` (Fides cookie overlay borrows this red — use sparingly). - **Disabled**: text drops to `#a0aec0`, border softens to `#757575`. ### Navigation - **Top utility bar**: black (`#000000`) full-bleed strip, ~32–40px tall, mono caps links separated by hairline dividers, `#ffffff` text, hover → `#057dbc`. - **Main nav**: paper-white (`#ffffff`) row beneath the bug logo, Apercu 14–16px / regular, hover → `#057dbc` underline. - **Logo**: WIRED bug, ~209×42px, centered or left-aligned, never recolored, always pure black on white. - **Mobile**: nav collapses to a hamburger left of the bug logo. Section nav becomes a slide-down drawer of mono caps links. - **Transition**: hover color swaps are instant or ~120ms; no bouncy easing — editorial restraint. ### Image Treatment - **Aspect ratios**: predominantly 16:9 for hero images, 4:3 for grid story tiles, 1:1 for smaller "Most Popular" thumbnails. - **Corners**: ALWAYS 0 radius. Square. The only rounded image is a circular author avatar (50%). - **Full-bleed**: hero photographs run edge-to-edge of the column they occupy; no inset, no border. - **Captions**: BreveText 12.73px / 700 with relaxed 2.20 line-height — placed directly under the image, italicized in some templates. - **Hover**: no zoom, no opacity dip — only the headline below the image responds. - **Lazy loading**: standard `loading="lazy"` on all below-the-fold imagery. ### Editorial Ribbons & Section Markers - Black bar (`#000000`) full-bleed with white WiredMono uppercase label inside (e.g., "MOST POPULAR", "BACKCHANNEL", "GEAR"). - Height ~32–40px, no padding refinement, no rounded ends. - Sometimes a thin 2px black rule sits directly above or below to double-frame the bar. ### Numbered Lists ("Most Popular") - A vertical list of stories prefixed with WiredDisplay numerals (01, 02, 03…) at ~40–48px, sitting tight against the headline they label. - Hairline rule between each item, no other decoration. ## 5. Layout Principles ### Spacing System - **Base unit**: 8px. - **Scale**: 1px (hairline), 4px, 8px, 12px, 14.11px, 15px, 16px, 24px, 25.46px, 29.66px, 32px, 40px, 48px, 64px. - **Section padding**: typically 32–48px vertical between major editorial blocks. - **Card padding**: there are no cards; the gutter between story tiles is 24–32px horizontally and 16–24px vertically. - **Inline spacing**: kickers sit ~4–8px above headlines; decks sit ~8–12px below headlines; bylines/timestamps another 8–12px below the deck. ### Grid & Container - **Max width**: ~1280–1600px on desktop (the dembrandt sweep detected breakpoints up to 1600px), centered with generous outer margins. - **Column patterns**: 12-column grid that resolves into 2/3/4 column story arrangements depending on module — feature blocks often run a "1 large + 2 small" pattern with hairline rules between each. - **Column gutters**: ~24–32px, separated by hairline `#000000` or `#4a5568` 1px rules where the editorial logic demands a "page-fold" feel. ### Whitespace Philosophy WIRED treats whitespace the way a magazine art director treats margin: it's the silence around the type, not a styling choice. The page never breathes excessively (this is not Stripe or Apple); it breathes *editorially* — enough room to keep adjacent stories from arguing, never enough to suggest there's nothing on the page. If an empty area looks like it could fit another headline, that empty area is doing its job. ### Border Radius Scale - `0` — every container, every image, every button, every input. The default. - `1920px` — only inside text spans that need to look like a full pill ("BREAKING", "LIVE"). - `50%` — only on round icon buttons and circular author avatars. There are exactly three radii on the entire site, and two of them are reserved for non-rectangular shapes. This is the **strictest** corner discipline of any major editorial property. ## 6. Depth & Elevation | Level | Treatment | Use | |---|---|---| | 0 | No shadow, no border | Default editorial surface — text on paper | | 1 | 1px solid `#e2e8f0` hairline `<hr>` | Quiet section divider, almost invisible | | 2 | 1px solid `#000000` hairline rule | Editorial column divider — printerly, structural | | 3 | 2px solid `#000000` border | Buttons, inputs, ribbons — interactive emphasis | | 4 | Black ribbon bar (`#000000` fill) | Section labels — the most "elevated" surface on the page | | 5 | Inverted footer block | Dark `#1a1a1a` zone with white type — the only inversion | WIRED's depth philosophy is **flat by religion**. There is exactly one shadow token in the entire site (a default `0 0 0 transparent` placeholder) and no `box-shadow` is applied to story tiles, headers, modals, or cards. Depth is communicated by **rule weight** (1px hairline → 2px hard rule → solid black ribbon), not by simulated lighting. ### Decorative Depth None. No gradients, no glow, no halos, no scrim overlays beyond the standard photo caption gradient. WIRED earns its visual interest from photography and typographic contrast, not from chrome. ## 7. Do's and Don'ts ### Do - **Do** use 2px hard black borders on every primary button — no 1px softness, no rounded edges. - **Do** put a WiredMono ALL-CAPS kicker above every story headline (4–8px above, 0.9–1.2px tracking). - **Do** use BreveText for any paragraph longer than two lines — Apercu is for UI, not reading. - **Do** keep images square-cornered, edge-to-edge, with the caption hugging the bottom edge. - **Do** separate story tiles with hairline rules or whitespace, never with cards or shadows. - **Do** invert (black background, white type) only for footers, ribbons, and the utility nav strip. - **Do** use `#057dbc` link blue exclusively for hover states — never as a background or button fill. - **Do** scale headlines aggressively: 64px on hero, 26px on grid blocks, never 32px "safe middle ground". ### Don't - **Don't** add `box-shadow` to anything. Ever. WIRED doesn't ship shadows. - **Don't** round corners on rectangular containers — `border-radius: 0` is law. - **Don't** mix typefaces inside one role: WiredDisplay never sets body, BreveText never sets buttons. - **Don't** use color outside grayscale + `#057dbc`. No orange CTAs, no green success pills. - **Don't** use Apercu in lowercase for kickers — that's WiredMono's job, and it must be UPPERCASE. - **Don't** use gradients, blurs, glassmorphism, or atmospheric effects — they break the printerly contract. - **Don't** rely on hover lift effects. WIRED's hover is a color swap on text, nothing more. - **Don't** invent new pill shapes. Round = icons only. Pill = inline text spans only. Everything else is square. ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |---|---|---| | Small Mobile | <375px | Single column, hamburger nav, all hero modules collapse to stacked image-headline-deck | | Mobile | 375–767px | Single column, story grid becomes vertical scroll, "Most Popular" numbers shrink to 32px | | Tablet | 768–1023px | 2-column story grid, sidebar collapses below main feed, nav becomes condensed | | Desktop | 1024–1599px | Full editorial 3–4 column grid, sidebar restored, max headline scale active | | Large Desktop | ≥1600px | Page caps at ~1600px container, whitespace expands at the margins, no further scaling | The dembrandt sweep detected an unusual range of intermediate breakpoints (1280, 1025, 1024, 1023, 768, 767, 667, 599, 570, 569, 480, 425, 375, 320, 319) — Wired's grid micro-tunes at almost every common viewport, especially around the iPad portrait/landscape boundary. ### Touch Targets - Primary button: ~44x44px minimum (16px text + 12–14px vertical padding satisfies WCAG AAA). - Mono caps links in the utility bar are smaller (~32px tall) — WIRED's own implementation undershoots WCAG here. **For derivative work, pad mono nav links to 44px.** - Round icon buttons in the header are ~40px circles, comfortably touch-friendly. ### Collapsing Strategy - **Nav**: utility bar drops below 768px; main nav collapses into hamburger drawer. Bug logo recenters on mobile. - **Grid**: 4-col → 3-col → 2-col → 1-col as viewport tightens. Hairline rules persist between every column count, so the printerly feel survives the collapse. - **Spacing**: vertical rhythm tightens from 48px → 32px → 24px between modules on mobile. Horizontal page padding shrinks from 64px → 24px → 16px. - **Type**: WiredDisplay hero scales from 64px to ~36–42px on mobile, headlines from 26px to ~22px, kickers stay locked at 12–13px (mono caps don't scale down further or they become unreadable). ### Image Behavior - All images are responsive raster (`srcset`-driven), aspect ratios preserved: 16:9 hero, 4:3 mid, 1:1 thumbnails. - No art-direction swaps — the same crop scales across breakpoints. - `loading="lazy"` on all below-the-fold imagery, `eager` on the hero only. ## 9. Agent Prompt Guide ### Quick Color Reference - **Primary Ink (text + ribbons)**: "WIRED Black (`#000000`)" - **Page Canvas**: "Paper White (`#ffffff`)" - **Headline / Body Text**: "Page Ink (`#1a1a1a`)" - **Caption / Metadata**: "Caption Gray (`#757575`)" - **Hairline / Quiet Border**: "Hairline Tint (`#e2e8f0`)" - **Link Hover Accent (the only color)**: "Link Blue (`#057dbc`)" ### Example Component Prompts 1. *"Create an editorial story tile with a 16:9 image (square corners), an UPPERCASE WiredMono kicker in `#1a1a1a` above a 26px WiredDisplay headline. Separate the tile from its neighbor with a 1px black hairline rule. No card, no shadow, no border-radius."* 2. *"Design a primary subscribe button with a 2px solid `#000000` border, square corners, `#ffffff` background, Apercu 16px / 700 / 0.3px tracking text in `#000000`. Hover state inverts to black background with white text in 150ms."* 3. *"Build a 'Most Popular' module: full-bleed black ribbon header with WiredMono uppercase label in white, followed by a numbered list (01–05) using 40px WiredDisplay numerals and 17px Apercu 700 headlines, separated by hairline rules."* 4. *"Create a newsletter signup form with a 2px solid black input border, no radius, Apercu 16px placeholder in `#757575`, and an inverted black submit button beside it."* 5. *"Design a footer in `#1a1a1a` with paper-white tertiary navigation in ProximaNova 11px, hover color `#057dbc`, and a centered WIRED bug logo at the top of the block."* ### Iteration Guide When refining existing screens generated with this design system: 1. **Audit corners first.** If you see any `border-radius` other than `0`, `50%` (icons/avatars), or `1920px` (text pills), flatten it. Round corners are the single most common mistake. 2. **Audit shadows.** Strip every `box-shadow`. If a tile needs to feel "lifted", use a 2px black border or a hairline rule instead. 3. **Audit typeface roles.** Make sure WiredDisplay only sets headlines, BreveText only sets reading body, Apercu only sets UI, WiredMono only sets ALL-CAPS labels. Swapping roles breaks the voice instantly. 4. **Audit color sprawl.** If a color outside `#000`, `#1a1a1a`, `#757575`, `#e2e8f0`, `#ffffff`, `#057dbc` appears in chrome (not photography), remove it. WIRED's restraint is non-negotiable. 5. **Audit kickers.** Every story should have an UPPERCASE mono kicker. Without it, the page reads as a generic blog, not WIRED. 6. **Audit rules.** Add hairline `1px solid #000` dividers wherever two stories or modules meet without a clear visual break. Rules are the connective tissue.

Designby @design-md

Webflow

# Design System Inspired by Webflow ## 1. Visual Theme & Atmosphere Webflow's website is a visually rich, tool-forward platform that communicates "design without code" through clean white surfaces, the signature Webflow Blue (`#146ef5`), and a rich secondary color palette (purple, pink, green, orange, yellow, red). The custom WF Visual Sans Variable font creates a confident, precise typographic system with weight 600 for display and 500 for body. **Key Characteristics:** - White canvas with near-black (`#080808`) text - Webflow Blue (`#146ef5`) as primary brand + interactive color - WF Visual Sans Variable — custom variable font with weight 500–600 - Rich secondary palette: purple `#7a3dff`, pink `#ed52cb`, green `#00d722`, orange `#ff6b00`, yellow `#ffae13`, red `#ee1d36` - Conservative 4px–8px border-radius — sharp, not rounded - Multi-layer shadow stacks (5-layer cascading shadows) - Uppercase labels: 10px–15px, weight 500–600, wide letter-spacing (0.6px–1.5px) - translate(6px) hover animation on buttons ## 2. Color Palette & Roles ### Primary - **Near Black** (`#080808`): Primary text - **Webflow Blue** (`#146ef5`): `--_color---primary--webflow-blue`, primary CTA and links - **Blue 400** (`#3b89ff`): `--_color---primary--blue-400`, lighter interactive blue - **Blue 300** (`#006acc`): `--_color---blue-300`, darker blue variant - **Button Hover Blue** (`#0055d4`): `--mkto-embed-color-button-hover` ### Secondary Accents - **Purple** (`#7a3dff`): `--_color---secondary--purple` - **Pink** (`#ed52cb`): `--_color---secondary--pink` - **Green** (`#00d722`): `--_color---secondary--green` - **Orange** (`#ff6b00`): `--_color---secondary--orange` - **Yellow** (`#ffae13`): `--_color---secondary--yellow` - **Red** (`#ee1d36`): `--_color---secondary--red` ### Neutral - **Gray 800** (`#222222`): Dark secondary text - **Gray 700** (`#363636`): Mid text - **Gray 300** (`#ababab`): Muted text, placeholder - **Mid Gray** (`#5a5a5a`): Link text - **Border Gray** (`#d8d8d8`): Borders, dividers - **Border Hover** (`#898989`): Hover border ### Shadows - **5-layer cascade**: `rgba(0,0,0,0) 0px 84px 24px, rgba(0,0,0,0.01) 0px 54px 22px, rgba(0,0,0,0.04) 0px 30px 18px, rgba(0,0,0,0.08) 0px 13px 13px, rgba(0,0,0,0.09) 0px 3px 7px` ## 3. Typography Rules ### Font: `WF Visual Sans Variable`, fallback: `Arial` | Role | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|--------|-------------|----------------|-------| | Display Hero | 80px | 600 | 1.04 | -0.8px | | | Section Heading | 56px | 600 | 1.04 | normal | | | Sub-heading | 32px | 500 | 1.30 | normal | | | Feature Title | 24px | 500–600 | 1.30 | normal | | | Body | 20px | 400–500 | 1.40–1.50 | normal | | | Body Standard | 16px | 400–500 | 1.60 | -0.16px | | | Button | 16px | 500 | 1.60 | -0.16px | | | Uppercase Label | 15px | 500 | 1.30 | 1.5px | uppercase | | Caption | 14px | 400–500 | 1.40–1.60 | normal | | | Badge Uppercase | 12.8px | 550 | 1.20 | normal | uppercase | | Micro Uppercase | 10px | 500–600 | 1.30 | 1px | uppercase | | Code: Inconsolata (companion monospace font) ## 4. Component Stylings ### Buttons - Transparent: text `#080808`, translate(6px) on hover - White circle: 50% radius, white bg - Blue badge: `#146ef5` bg, 4px radius, weight 550 ### Cards: `1px solid #d8d8d8`, 4px–8px radius ### Badges: Blue-tinted bg at 10% opacity, 4px radius ## 5. Layout - Spacing: fractional scale (1px, 2.4px, 3.2px, 4px, 5.6px, 6px, 7.2px, 8px, 9.6px, 12px, 16px, 24px) - Radius: 2px, 4px, 8px, 50% — conservative, sharp - Breakpoints: 479px, 768px, 992px ## 6. Depth: 5-layer cascading shadow system ## 7. Do's and Don'ts - Do: Use WF Visual Sans Variable at 500–600. Blue (#146ef5) for CTAs. 4px radius. translate(6px) hover. - Don't: Round beyond 8px for functional elements. Use secondary colors on primary CTAs. ## 8. Responsive: 479px, 768px, 992px ## 9. Agent Prompt Guide - Text: Near Black (`#080808`) - CTA: Webflow Blue (`#146ef5`) - Background: White (`#ffffff`) - Border: `#d8d8d8` - Secondary: Purple `#7a3dff`, Pink `#ed52cb`, Green `#00d722`

Designby @design-md

Warp

# Design System Inspired by Warp ## 1. Visual Theme & Atmosphere Warp's website feels like sitting at a campfire in a deep forest — warm, dark, and alive with quiet confidence. Unlike the cold, blue-tinted blacks favored by most developer tools, Warp wraps everything in a warm near-black that feels like charred wood or dark earth. The text isn't pure white either — it's Warm Parchment (`#faf9f6`), a barely-perceptible cream that softens every headline and makes the dark canvas feel inviting rather than austere. The typography is the secret weapon: Matter, a geometric sans-serif with distinctive character, deployed at Regular weight across virtually all text. The font choice is unusual for a developer tool — Matter has a softness and humanity that signals "this terminal is for everyone, not just greybeards." Combined with tight line-heights and controlled negative letter-spacing on headlines, the effect is refined and approachable simultaneously. Nature photography is woven between terminal screenshots, creating a visual language that says: this tool brings you closer to flow, to calm productivity. The overall design philosophy is restraint through warmth. Minimal color (almost monochromatic warm grays), minimal ornamentation, and a focus on product showcases set against cinematic dark landscapes. It's a terminal company that markets like a lifestyle brand. **Key Characteristics:** - Warm dark background — not cold black, but earthy near-black with warm gray undertones - Warm Parchment (`#faf9f6`) text instead of pure white — subtle cream warmth - Matter font family (Regular weight) — geometric but approachable, not the typical developer-tool typeface - Nature photography interleaved with product screenshots — lifestyle meets developer tool - Almost monochromatic warm gray palette — no bold accent colors - Uppercase labels with wide letter-spacing (2.4px) for categorization — editorial signaling - Pill-shaped dark buttons (`#353534`, 50px radius) — restrained, muted CTAs ## 2. Color Palette & Roles ### Primary - **Warm Parchment** (`#faf9f6`): Primary text color — a barely-cream off-white that softens every surface - **Earth Gray** (`#353534`): Button backgrounds, dark interactive surfaces — warm, not cold - **Deep Void** (near-black, page background): The warm dark canvas derived from the body background ### Secondary & Accent - **Stone Gray** (`#868584`): Secondary text, muted descriptions — warm mid-gray - **Ash Gray** (`#afaeac`): Body text, button text — the workhorse reading color - **Purple-Tint Gray** (`#666469`): Link text with subtle purple undertone — underlined links in content ### Surface & Background - **Frosted Veil** (`rgba(255, 255, 255, 0.04)`): Ultra-subtle white overlay for surface differentiation - **Mist Border** (`rgba(226, 226, 226, 0.35)` / `rgba(227, 227, 227, 0.337)`): Semi-transparent borders for card containment - **Translucent Parchment** (`rgba(250, 249, 246, 0.9)`): Slightly transparent primary surface, allowing depth ### Neutrals & Text - **Warm Parchment** (`#faf9f6`): Headlines, high-emphasis text - **Ash Gray** (`#afaeac`): Body paragraphs, descriptions - **Stone Gray** (`#868584`): Secondary labels, subdued information - **Muted Purple** (`#666469`): Underlined links, tertiary content - **Dark Charcoal** (`#454545` / `#353534`): Borders, button backgrounds ### Semantic & Accent - Warp operates as an almost monochromatic system — no bold accent colors - Interactive states are communicated through opacity changes and underline decorations rather than color shifts - Any accent color would break the warm, restrained palette ### Gradient System - No explicit gradients on the marketing site - Depth is created through layered semi-transparent surfaces and photography rather than color gradients ## 3. Typography Rules ### Font Family - **Display & Body**: `Matter Regular` — geometric sans-serif with soft character. Fallbacks: `Matter Regular Placeholder`, system sans-serif - **Medium**: `Matter Medium` — weight 500 variant for emphasis. Fallbacks: `Matter Medium Placeholder` - **Square**: `Matter SQ Regular` — squared variant for select display contexts. Fallbacks: `Matter SQ Regular Placeholder` - **UI Supplement**: `Inter` — used for specific UI elements. Fallbacks: `Inter Placeholder` - **Monospace Display**: `Geist Mono` — for code/terminal display headings - **Monospace Body**: `Matter Mono Regular` — custom mono companion. Fallbacks: `Matter Mono Regular Placeholder` ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|------|--------|-------------|----------------|-------| | Display Hero | Matter Regular | 80px | 400 | 1.00 | -2.4px | Maximum compression, hero impact | | Section Display | Matter Regular | 56px | 400 | 1.20 | -0.56px | Feature section headings | | Section Heading | Matter Regular | 48px | 400 | 1.20 | -0.48px to -0.96px | Alternate heading weight | | Feature Heading | Matter Regular | 40px | 400 | 1.10 | -0.4px | Feature block titles | | Sub-heading Large | Matter Regular | 36px | 400 | 1.15 | -0.72px | Sub-section headers | | Card Display | Matter SQ Regular | 42px | 400 | 1.00 | 0px | Squared variant for special display | | Sub-heading | Matter Regular | 32px | 400 | 1.19 | 0px | Content sub-headings | | Body Heading | Matter Regular | 24px | 400 | 1.20 | -0.72px to 0px | Bold content intros | | Card Title | Matter Medium | 22px | 500 | 1.14 | 0px | Emphasized card headers | | Body Large | Matter Regular | 20px | 400 | 1.40 | -0.2px | Primary body text, relaxed | | Body | Matter Regular | 18px | 400 | 1.30 | -0.18px | Standard body paragraphs | | Nav/UI | Matter Regular | 16px | 400 | 1.20 | 0px | Navigation links, UI text | | Button Text | Matter Medium | 16px | 500 | 1.20 | 0px | Button labels | | Caption | Matter Regular | 14px | 400 | 1.00 | 1.4px | Uppercase labels (transform: uppercase) | | Small Label | Matter Regular | 12px | 400 | 1.35 | 2.4px | Uppercase micro-labels (transform: uppercase) | | Micro | Matter Regular | 11px | 400 | 1.20 | 0px | Smallest text elements | | Code UI | Geist Mono | 16px | 400 | 1.00 | 0px | Terminal/code display | | Code Body | Matter Mono Regular | 16px | 400 | 1.00 | -0.2px | Code content | | UI Supplement | Inter | 16px | 500 | 1.00 | -0.2px | Specific UI elements | ### Principles - **Regular weight dominance**: Nearly all text uses weight 400 (Regular) — even headlines. Matter Medium (500) appears only for emphasis moments like card titles and buttons. This creates a remarkably even, calm typographic texture - **Uppercase as editorial signal**: Small labels and categories use uppercase transform with wide letter-spacing (1.4px–2.4px), creating a magazine-editorial categorization system - **Warm legibility**: The combination of Matter's geometric softness + warm text colors (#faf9f6) + controlled negative tracking creates text that reads as effortlessly human on dark surfaces - **No bold display**: Zero use of bold (700+) weight anywhere — restraint is the philosophy ## 4. Component Stylings ### Buttons - **Dark Pill**: `#353534` background, Ash Gray (`#afaeac`) text, pill shape (50px radius), `10px` padding. The primary CTA — warm, muted, understated - **Frosted Tag**: `rgba(255, 255, 255, 0.16)` background, black text (`rgb(0, 0, 0)`), rectangular (6px radius), `1px 6px` padding. Small inline tag-like buttons - **Ghost**: No visible background, text-only with underline decoration on hover - **Hover**: Subtle opacity or brightness shift — no dramatic color changes ### Cards & Containers - **Photography Cards**: Full-bleed nature imagery with overlay text, 8px–12px border-radius - **Terminal Screenshot Cards**: Product UI embedded in dark containers with rounded corners (8px–12px) - **Bordered Cards**: Semi-transparent border (`rgba(226, 226, 226, 0.35)`) for containment, 12px–14px radius - **Hover**: Minimal — content cards don't dramatically change on hover, maintaining the calm aesthetic ### Inputs & Forms - Minimal form presence on the marketing site - Dark background inputs with warm gray text - Focus: Border brightness increase, no colored rings (consistent with the monochromatic palette) ### Navigation - **Top nav**: Dark background, warm parchment brand text, Matter Regular at 16px for links - **Link color**: Stone Gray (`#868584`) for muted nav, Warm Parchment for active/hover - **CTA button**: Dark pill (#353534) at nav end — restrained, not attention-grabbing - **Mobile**: Collapses to simplified navigation - **Sticky**: Nav stays fixed on scroll ### Image Treatment - **Nature photography**: Landscapes, forests, golden-hour scenes — completely unique for a developer tool - **Terminal screenshots**: Product UI shown in realistic terminal window frames - **Mixed composition**: Nature images and terminal screenshots are interleaved, creating a lifestyle-meets-tool narrative - **Full-bleed**: Images often span full container width with 8px radius - **Video**: Video elements present with 10px border-radius ### Testimonial Section - Social proof area ("Don't take our word for it") with quotes - Muted styling consistent with overall restraint ## 5. Layout Principles ### Spacing System - **Base unit**: 8px - **Scale**: 1px, 4px, 5px, 8px, 10px, 12px, 14px, 15px, 16px, 18px, 24px, 26px, 30px, 32px, 36px - **Section padding**: 80px–120px vertical between major sections - **Card padding**: 16px–32px internal spacing - **Component gaps**: 8px–16px between related elements ### Grid & Container - **Max width**: ~1500px container (breakpoint at 1500px), centered - **Column patterns**: Full-width hero, 2-column feature sections with photography, single-column testimonials - **Cinematic layout**: Wide containers that let photography breathe ### Whitespace Philosophy - **Vast and warm**: Generous spacing between sections — the dark background creates a warm void that feels contemplative rather than empty - **Photography as whitespace**: Nature images serve as visual breathing room between dense product information - **Editorial pacing**: The layout reads like a magazine — each section is a deliberate page-turn moment ### Border Radius Scale - **4px**: Small interactive elements — buttons, tags - **5px–6px**: Standard components — links, small containers - **8px**: Images, video containers, standard cards - **10px**: Video elements, medium containers - **12px**: Feature cards, large images - **14px**: Large containers, prominent cards - **40px**: Large rounded sections - **50px**: Pill buttons — primary CTAs - **200px**: Progress bars — full pill shape ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Level 0 (Flat) | No shadow, dark background | Page canvas, most surfaces | | Level 1 (Veil) | `rgba(255, 255, 255, 0.04)` overlay | Subtle surface differentiation | | Level 2 (Border) | `rgba(226, 226, 226, 0.35) 1px` border | Card containment, section separation | | Level 3 (Ambient) | `rgba(0, 0, 0, 0.2) 0px 5px 15px` (inferred from design) | Image containers, floating elements | ### Shadow Philosophy Warp's elevation system is remarkably flat — almost zero shadow usage on the marketing site. Depth is communicated through: - **Semi-transparent borders** instead of shadows — borders at 35% opacity create a ghostly containment - **Photography layering** — images create natural depth without artificial shadows - **Surface opacity shifts** — `rgba(255, 255, 255, 0.04)` overlays create barely-perceptible layer differences - The effect is calm and grounded — nothing floats, everything rests ### Decorative Depth - **Photography as depth**: Nature images create atmospheric depth that shadows cannot - **No glass or blur effects**: The design avoids trendy glassmorphism entirely - **Warm ambient**: Any glow comes from the photography's natural lighting, not artificial CSS ## 7. Do's and Don'ts ### Do - Use warm off-white (`#faf9f6`) for text instead of pure white — the cream undertone is essential - Keep buttons restrained and muted — dark fill (#353534) with muted text (#afaeac), no bright CTAs - Apply Matter Regular (weight 400) for nearly everything — even headlines. Reserve Medium (500) for emphasis only - Use uppercase labels with wide letter-spacing (1.4px–2.4px) for categorization - Interleave nature photography with product screenshots — this is core to the brand identity - Maintain the almost monochromatic warm gray palette — no bold accent colors - Use semi-transparent borders (`rgba(226, 226, 226, 0.35)`) for card containment instead of shadows - Keep negative letter-spacing on headlines (-0.4px to -2.4px) for Matter's compressed display treatment ### Don't - Use pure white (#ffffff) for text — it's always warm parchment (#faf9f6) - Add bold accent colors (blue, red, green) — the system is deliberately monochromatic warm grays - Apply bold weight (700+) to any text — Warp never goes above Medium (500) - Use heavy drop shadows — depth comes from borders, photography, and opacity shifts - Create cold or blue-tinted dark backgrounds — the warmth is essential - Add decorative gradients or glow effects — the photography provides all visual interest - Use tight, compressed layouts — the editorial spacing is generous and contemplative - Mix in additional typefaces beyond the Matter family + Inter supplement ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Mobile | <810px | Single column, stacked sections, hero text reduces to ~48px, hamburger nav | | Tablet | 810px–1500px | 2-column features begin, photography scales, nav links partially visible | | Desktop | >1500px | Full cinematic layout, 80px hero display, side-by-side photography + text | ### Touch Targets - Pill buttons: 50px radius with 10px padding — comfortable touch targets - Nav links: 16px text with surrounding padding for accessibility - Mobile CTAs: Full-width pills on mobile for easy thumb reach ### Collapsing Strategy - **Navigation**: Full horizontal nav → simplified mobile navigation - **Hero text**: 80px display → 56px → 48px across breakpoints - **Feature sections**: Side-by-side photography + text → stacked vertically - **Photography**: Scales within containers, maintains cinematic aspect ratios - **Section spacing**: Reduces proportionally — generous desktop → compact mobile ### Image Behavior - Nature photography scales responsively, maintaining wide cinematic ratios - Terminal screenshots maintain aspect ratios within responsive containers - Video elements scale with 10px radius maintained - No art direction changes — same compositions across breakpoints ## 9. Agent Prompt Guide ### Quick Color Reference - Primary Text: Warm Parchment (`#faf9f6`) - Secondary Text: Ash Gray (`#afaeac`) - Tertiary Text: Stone Gray (`#868584`) - Button Background: Earth Gray (`#353534`) - Border: Mist Border (`rgba(226, 226, 226, 0.35)`) - Background: Deep warm near-black (page background) ### Example Component Prompts - "Create a hero section on warm dark background with 80px Matter Regular heading in warm parchment (#faf9f6), line-height 1.0, letter-spacing -2.4px, and a dark pill button (#353534, 50px radius, #afaeac text)" - "Design a feature card with semi-transparent border (rgba(226,226,226,0.35)), 12px radius, warm dark background, Matter Regular heading at 24px, and ash gray (#afaeac) body text at 18px" - "Build a category label using Matter Regular at 12px, uppercase transform, letter-spacing 2.4px, stone gray (#868584) color — editorial magazine style" - "Create a testimonial section with warm parchment quotes in Matter Regular 24px, attributed in stone gray (#868584), on dark background with minimal ornamentation" - "Design a navigation bar with warm dark background, Matter Regular links at 16px in stone gray (#868584), hover to warm parchment (#faf9f6), and a dark pill CTA button (#353534) at the right" ### Iteration Guide When refining existing screens generated with this design system: 1. Verify text color is warm parchment (#faf9f6) not pure white — the warmth is subtle but essential 2. Ensure all buttons use the restrained dark palette (#353534) — no bright or colorful CTAs 3. Check that Matter Regular (400) is the default weight — Medium (500) only for emphasis 4. Confirm uppercase labels have wide letter-spacing (1.4px–2.4px) — tight uppercase feels wrong here 5. The overall tone should feel warm and calm, like a well-designed magazine — not aggressive or tech-flashy

Designby @design-md

VoltAgent

# Design System Inspired by VoltAgent ## 1. Visual Theme & Atmosphere VoltAgent's interface is a deep-space command terminal for the AI age — a developer-facing darkness built on near-pure-black surfaces (`#050507`) where the only interruption is the electric pulse of emerald green energy. The entire experience evokes the feeling of staring into a high-powered IDE at 2am: dark, focused, and alive with purpose. This is not a friendly SaaS landing page — it's an engineering platform that announces itself through code snippets, architectural diagrams, and raw technical confidence. The green accent (`#00d992`) is used with surgical precision — it glows from headlines, borders, and interactive elements like a circuit board carrying a signal. Against the carbon-black canvas, this green reads as "power on" — a deliberate visual metaphor for an AI agent engineering platform. The supporting palette is built entirely from warm-neutral grays (`#3d3a39`, `#8b949e`, `#b8b3b0`) that soften the darkness without introducing color noise, creating a cockpit-like warmth that pure blue-grays would lack. Typography leans on the system font stack for headings — achieving maximum rendering speed and native-feeling authority — while Inter carries the body and UI text with geometric precision. Code blocks use SFMono-Regular, the same font developers see in their terminals, reinforcing the tool's credibility at every scroll. **Key Characteristics:** - Carbon-black canvas (`#050507`) with warm-gray border containment (`#3d3a39`) — not cold or sterile - Single-accent identity: Emerald Signal Green (`#00d992`) as the sole chromatic energy source - Dual-typography system: system-ui for authoritative headings, Inter for precise UI/body text, SFMono for code credibility - Ultra-tight heading line-heights (1.0–1.11) creating dense, compressed power blocks - Warm neutral palette (`#3d3a39`, `#8b949e`, `#b8b3b0`) that prevents the dark theme from feeling clinical - Developer-terminal aesthetic where code snippets ARE the hero content - Green glow effects (`drop-shadow`, border accents) that make UI elements feel electrically alive ## 2. Color Palette & Roles ### Primary - **Emerald Signal Green** (`#00d992`): The core brand energy — used for accent borders, glow effects, and the highest-signal interactive moments. This is the "power-on" indicator of the entire interface. - **VoltAgent Mint** (`#2fd6a1`): The button-text variant of the brand green — slightly warmer and more readable than pure Signal Green, used specifically for CTA text on dark surfaces. - **Tailwind Emerald** (`#10b981`): The ecosystem-standard green used at low opacity (30%) for subtle background tints and link defaults. Bridges VoltAgent's custom palette with Tailwind's utility classes. ### Secondary & Accent - **Soft Purple** (`#818cf8`): A cool indigo-violet used sparingly for secondary categorization, code syntax highlights, and visual variety without competing with green. - **Cobalt Primary** (`#306cce`): Docusaurus primary dark — used in documentation contexts for links and interactive focus states. - **Deep Cobalt** (`#2554a0`): The darkest primary shade, reserved for pressed/active states in documentation UI. - **Ring Blue** (`#3b82f6`): Tailwind's ring color at 50% opacity — visible only during keyboard focus for accessibility compliance. ### Surface & Background - **Abyss Black** (`#050507`): The landing page canvas — a near-pure black with the faintest warm undertone, darker than most "dark themes" for maximum contrast with green accents. - **Carbon Surface** (`#101010`): The primary card and button background — one shade lighter than Abyss, creating a barely perceptible elevation layer. Used across all contained surfaces. - **Warm Charcoal Border** (`#3d3a39`): The signature containment color — not a cold gray but a warm, almost brownish dark tone that prevents borders from feeling harsh against the black canvas. ### Neutrals & Text - **Snow White** (`#f2f2f2`): The primary text color on dark surfaces — not pure white (`#ffffff`) but a softened, eye-friendly off-white. The most-used color on the site (1008 instances). - **Pure White** (`#ffffff`): Reserved for the highest-emphasis moments — ghost button text and maximum-contrast headings. Used at low opacity (5%) for subtle overlay effects. - **Warm Parchment** (`#b8b3b0`): Secondary body text — a warm light gray with a slight pinkish undertone that reads as "paper" against the dark canvas. - **Steel Slate** (`#8b949e`): Tertiary text, metadata, timestamps, and de-emphasized content. A cool blue-gray that provides clear hierarchy below Warm Parchment. - **Fog Gray** (`#bdbdbd`): Footer links and supporting navigation text — brightens on hover to Pure White. - **Mist Gray** (`#dcdcdc`): Slightly brighter than Fog, used for secondary link text that transitions to bright green on hover. - **Near White** (`#eeeeee`): Highest-contrast secondary text, one step below Snow White. ### Semantic & Accent - **Success Emerald** (`#008b00`): Deep green for success states and positive confirmations in documentation contexts. - **Success Light** (`#80d280`): Soft pastel green for success backgrounds and subtle positive indicators. - **Warning Amber** (`#ffba00`): Bright amber for warning alerts and caution states. - **Warning Pale** (`#ffdd80`): Softened amber for warning background fills. - **Danger Coral** (`#fb565b`): Vivid red for error states and destructive action warnings. - **Danger Rose** (`#fd9c9f`): Softened coral-pink for error backgrounds. - **Info Teal** (`#4cb3d4`): Cool teal-blue for informational callouts and tip admonitions. - **Dashed Border Slate** (`#4f5d75` at 40%): A muted blue-gray used exclusively for decorative dashed borders in workflow diagrams. ### Gradient System - **Green Signal Glow**: `drop-shadow(0 0 2px #00d992)` animating to `drop-shadow(0 0 8px #00d992)` — creates a pulsing "electric charge" effect on the VoltAgent bolt logo and interactive elements. The glow expands and contracts like a heartbeat. - **Warm Ambient Haze**: `rgba(92, 88, 85, 0.2) 0px 0px 15px` — a warm-toned diffused shadow that creates a soft atmospheric glow around elevated cards, visible at the edges without sharp boundaries. - **Deep Dramatic Elevation**: `rgba(0, 0, 0, 0.7) 0px 20px 60px` with `rgba(148, 163, 184, 0.1) 0px 0px 0px 1px inset` — a heavy, dramatic downward shadow paired with a faint inset slate ring for the most prominent floating elements. ## 3. Typography Rules ### Font Family - **Primary (Headings)**: `system-ui`, with fallbacks: `-apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol` - **Secondary (Body/UI)**: `Inter`, with fallbacks inheriting from system-ui stack. OpenType features: `"calt", "rlig"` (contextual alternates and required ligatures) - **Monospace (Code)**: `SFMono-Regular`, with fallbacks: `Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace` ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|------|--------|-------------|----------------|-------| | Display / Hero | system-ui | 60px (3.75rem) | 400 | 1.00 (tight) | -0.65px | Maximum impact, compressed blocks | | Section Heading | system-ui | 36px (2.25rem) | 400 | 1.11 (tight) | -0.9px | Tightest letter-spacing in the system | | Sub-heading | system-ui | 24px (1.50rem) | 700 | 1.33 | -0.6px | Bold weight for emphasis at this size | | Sub-heading Light | system-ui / Inter | 24px (1.50rem) | 300–400 | 1.33 | -0.6px | Light weight variant for softer hierarchy | | Overline | system-ui | 20px (1.25rem) | 600 | 1.40 | 0.5px | Uppercase transform, positive letter-spacing | | Feature Title | Inter | 20px (1.25rem) | 500–600 | 1.40 | normal | Card headings, feature names | | Overline Small | Inter | 18px (1.13rem) | 600 | 1.56 | 0.45px | Uppercase section labels | | Body / Button | Inter | 16px (1.00rem) | 400–600 | 1.50–1.65 | normal | Standard text, nav links, buttons | | Nav Link | Inter | 14.45px (0.90rem) | 500 | 1.65 | normal | Navigation-specific sizing | | Caption / Label | Inter | 14px (0.88rem) | 400–600 | 1.43–1.65 | normal | Descriptions, metadata, badge text | | Tag / Overline Tiny | system-ui | 14px (0.88rem) | 600 | 1.43 | 2.52px | Widest letter-spacing — reserved for uppercase tags | | Micro | Inter | 12px (0.75rem) | 400–500 | 1.33 | normal | Smallest sans-serif text | | Code Body | SFMono-Regular | 13–14px | 400–686 | 1.23–1.43 | normal | Inline code, terminal output, variable weight for syntax | | Code Small | SFMono-Regular | 11–12px | 400 | 1.33–1.45 | normal | Tiny code references, line numbers | | Code Button | monospace | 13px (0.81rem) | 700 | 1.65 | normal | Copy-to-clipboard button labels | ### Principles - **System-native authority**: Display headings use system-ui rather than a custom web font — this means the largest text renders instantly (no FOIT/FOUT) and inherits the operating system's native personality. On macOS it's SF Pro, on Windows it's Segoe UI. The design accepts this variability as a feature, not a bug. - **Tight compression creates density**: Hero line-heights are extremely compressed (1.0) with negative letter-spacing (-0.65px to -0.9px), creating text blocks that feel like dense technical specifications rather than airy marketing copy. - **Weight gradient, not weight contrast**: The system uses a gentle 300→400→500→600→700 weight progression. Bold (700) is reserved for sub-headings and code-button emphasis. Most body text lives at 400–500, creating subtle rather than dramatic hierarchy. - **Uppercase is earned and wide**: When uppercase appears, it's always paired with generous letter-spacing (0.45px–2.52px), transforming dense words into spaced-out overline labels. This treatment is never applied to headings. - **OpenType by default**: Both system-ui and Inter enable `"calt"` and `"rlig"` features, ensuring contextual character adjustments and ligature rendering throughout. ## 4. Component Stylings ### Buttons **Ghost / Outline (Standard)** - Background: transparent - Text: Pure White (`#ffffff`) - Padding: comfortable (12px 16px) - Border: thin solid Warm Charcoal (`1px solid #3d3a39`) - Radius: comfortably rounded (6px) - Hover: background darkens to `rgba(0, 0, 0, 0.2)`, opacity drops to 0.4 - Outline: subtle green tint (`rgba(33, 196, 93, 0.5)`) - The default interactive element — unassuming but clearly clickable **Primary Green CTA** - Background: Carbon Surface (`#101010`) - Text: VoltAgent Mint (`#2fd6a1`) - Padding: comfortable (12px 16px) - Border: none visible (outline-based focus indicator) - Outline: VoltAgent Mint (`rgb(47, 214, 161)`) - Hover: same darkening behavior as Ghost - The "powered on" button — green text on dark surface reads as an active terminal command **Tertiary / Emphasized Container Button** - Background: Carbon Surface (`#101010`) - Text: Snow White (`#f2f2f2`) - Padding: generous (20px all sides) - Border: thick solid Warm Charcoal (`3px solid #3d3a39`) - Radius: comfortably rounded (8px) - A card-like button treatment for larger interactive surfaces (code copy blocks, feature CTAs) ### Cards & Containers - Background: Carbon Surface (`#101010`) — one shade lighter than the page canvas - Border: `1px solid #3d3a39` (Warm Charcoal) for standard containment; `2px solid #00d992` for highlighted/active cards - Radius: comfortably rounded (8px) for content cards; subtly rounded (4–6px) for smaller inline containers - Shadow Level 1: Warm Ambient Haze (`rgba(92, 88, 85, 0.2) 0px 0px 15px`) for standard elevation - Shadow Level 2: Deep Dramatic (`rgba(0, 0, 0, 0.7) 0px 20px 60px` + `rgba(148, 163, 184, 0.1) 0px 0px 0px 1px inset`) for hero/feature showcase cards - Hover behavior: likely border color shift toward green accent or subtle opacity increase - Dashed variant: `1px dashed rgba(79, 93, 117, 0.4)` for workflow/diagram containers — visually distinct from solid-border content cards ### Inputs & Forms - No explicit input token data extracted — the site is landing-page focused with minimal form UI - The npm install command (`npm create voltagent-app@latest`) is presented as a code block rather than an input field - Inferred style: Carbon Surface background, Warm Charcoal border, VoltAgent Mint focus ring, Snow White text ### Navigation - Sticky top nav bar on Abyss Black canvas - Logo: VoltAgent bolt icon with animated green glow (`drop-shadow` cycling 2px–8px) - Nav structure: Logo → Product dropdown → Use Cases dropdown → Resources dropdown → GitHub stars badge → Docs CTA - Link text: Snow White (`#f2f2f2`) at 14–16px Inter, weight 500 - Hover: links transition to green variants (`#00c182` or `#00ffaa`) - GitHub badge: social proof element integrated directly into nav - Mobile: collapses to hamburger menu, single-column vertical layout ### Image Treatment - Dark-themed product screenshots and architectural diagrams dominate - Code blocks are treated as primary visual content — syntax-highlighted with SFMono-Regular - Agent workflow visualizations appear as interactive node graphs with green connection lines - Decorative dot-pattern backgrounds appear behind hero sections - Full-bleed within card containers, respecting 8px radius rounding ### Distinctive Components **npm Install Command Block** - A prominent code snippet (`npm create voltagent-app@latest`) styled as a copyable command - SFMono-Regular on Carbon Surface with a copy-to-clipboard button - Functions as the primary CTA — "install first, read later" developer psychology **Company Logo Marquee** - Horizontal scrolling strip of developer/company logos - Infinite animation (`scrollLeft`/`scrollRight`, 25–80s durations) - Pauses on hover and for users with reduced-motion preferences - Demonstrates ecosystem adoption without cluttering the layout **Feature Section Cards** - Large cards combining code examples with descriptive text - Left: code snippet with syntax highlighting; Right: feature description - Green accent border (`2px solid #00d992`) on highlighted/active features - Internal padding: generous (24–32px estimated) **Agent Flow Diagrams** - Interactive node-graph visualizations showing agent coordination - Connection lines use VoltAgent green variants - Nodes styled as mini-cards within the Warm Charcoal border system **Community / GitHub Section** - Large GitHub icon as the visual anchor - Star count and contributor metrics prominently displayed - Warm social proof: Discord, X, Reddit, LinkedIn, YouTube links in footer ## 5. Layout Principles ### Spacing System - Base unit: 8px - Scale: 2px, 4px, 5px, 6px, 6.4px, 8px, 12px, 16px, 20px, 24px, 28px, 32px, 40px, 48px, 64px - Button padding: 12px 16px (standard), 20px (container-button) - Card internal padding: approximately 24–32px - Section vertical spacing: generous (estimated 64–96px between major sections) - Component gap: 16–24px between sibling cards/elements ### Grid & Container - Max container width: approximately 1280–1440px, centered - Hero: centered single-column with maximum breathing room - Feature sections: alternating asymmetric layouts (code left / text right, then reversed) - Logo marquee: full-width horizontal scroll, breaking the container constraint - Card grids: 2–3 column for feature showcases - Integration grid: responsive multi-column for partner/integration icons ### Whitespace Philosophy - **Cinematic breathing room between sections**: Massive vertical gaps create a "scroll-through-chapters" experience — each section feels like a new scene. - **Dense within components**: Cards and code blocks are internally compact, with tight line-heights and controlled padding. Information is concentrated, not spread thin. - **Border-defined separation**: Rather than relying solely on whitespace, VoltAgent uses the Warm Charcoal border system (`#3d3a39`) to delineate content zones. The border IS the whitespace signal. - **Hero-first hierarchy**: The top of the page commands the most space — the "AI Agent Engineering Platform" headline and npm command get maximum vertical runway before the first content section appears. ### Border Radius Scale - Nearly squared (4px): Small inline elements, SVG containers, code spans — the sharpest treatment, conveying technical precision - Subtly rounded (6px): Buttons, links, clipboard actions — the workhorse radius for interactive elements - Code-specific (6.4px): Code blocks, `pre` elements, clipboard copy targets — a deliberate micro-distinction from standard 6px - Comfortably rounded (8px): Content cards, feature containers, emphasized buttons — the standard containment radius - Pill-shaped (9999px): Tags, badges, status indicators, pill-shaped navigation elements — the roundest treatment for small categorical labels ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Flat (Level 0) | No shadow, no border | Page background (`#050507`), inline text | | Contained (Level 1) | `1px solid #3d3a39`, no shadow | Standard cards, nav bar, code blocks | | Emphasized (Level 2) | `3px solid #3d3a39`, no shadow | Large interactive buttons, emphasized containers | | Accent (Level 3) | `2px solid #00d992`, no shadow | Active/highlighted feature cards, selected states | | Ambient Glow (Level 4) | `rgba(92, 88, 85, 0.2) 0px 0px 15px` | Elevated cards, hover states, soft atmospheric lift | | Dramatic Float (Level 5) | `rgba(0, 0, 0, 0.7) 0px 20px 60px` + `rgba(148, 163, 184, 0.1) 1px inset` | Hero feature showcase, modals, maximum-elevation content | **Shadow Philosophy**: VoltAgent communicates depth primarily through **border weight and color**, not shadows. The standard `1px solid #3d3a39` border IS the elevation — adding a `3px` border weight or switching to green (`#00d992`) communicates importance more than adding shadow does. When shadows do appear, they're either warm and diffused (Level 4) or cinematic and dramatic (Level 5) — never medium or generic. ### Decorative Depth - **Green Signal Glow**: The VoltAgent bolt logo pulses with a `drop-shadow` animation cycling between 2px and 8px blur radius in Emerald Signal Green. This is the most distinctive decorative element — it makes the logo feel "powered on." - **Warm Charcoal Containment Lines**: The warm tone of `#3d3a39` borders creates a subtle visual warmth against the cool black, as if the cards are faintly heated from within. - **Dashed Workflow Lines**: `1px dashed rgba(79, 93, 117, 0.4)` creates a blueprint-like aesthetic for architecture diagrams, visually distinct from solid content borders. ## 7. Do's and Don'ts ### Do - Use Abyss Black (`#050507`) as the landing page background and Carbon Surface (`#101010`) for all contained elements — the two-shade dark system is essential - Reserve Emerald Signal Green (`#00d992`) exclusively for high-signal moments: active borders, glow effects, and the most important interactive accents - Use VoltAgent Mint (`#2fd6a1`) for button text on dark surfaces — it's more readable than pure Signal Green - Keep heading line-heights compressed (1.0–1.11) with negative letter-spacing for dense, authoritative text blocks - Use the warm gray palette (`#3d3a39`, `#8b949e`, `#b8b3b0`) for borders and secondary text — warmth prevents the dark theme from feeling sterile - Present code snippets as primary content — they're hero elements, not supporting illustrations - Use border weight (1px → 2px → 3px) and color shifts (`#3d3a39` → `#00d992`) to communicate depth and importance, rather than relying on shadows - Pair system-ui for headings with Inter for body text — the speed/authority of native fonts combined with the precision of a geometric sans - Use SFMono-Regular for all code content — it's the developer credibility signal - Apply `"calt"` and `"rlig"` OpenType features across all text ### Don't - Don't use bright or light backgrounds as primary surfaces — the entire identity lives on near-black - Don't introduce warm colors (orange, red, yellow) as decorative accents — the palette is strictly green + warm neutrals on black. Warm colors are reserved for semantic states (warning, error) only - Don't use Emerald Signal Green (`#00d992`) on large surfaces or as background fills — it's an accent, never a surface - Don't increase heading line-heights beyond 1.33 — the compressed density is core to the engineering-platform identity - Don't use heavy shadows generously — depth comes from border treatment, not box-shadow. Shadows are reserved for Level 4–5 elevation only - Don't use pure white (`#ffffff`) as default body text — Snow White (`#f2f2f2`) is the standard. Pure white is reserved for maximum-emphasis headings and button text - Don't mix in serif or decorative fonts — the entire system is geometric sans + monospace - Don't use border-radius larger than 8px on content cards — 9999px (pill) is only for small tags and badges - Don't skip the warm-gray border system — cards without `#3d3a39` borders lose their containment and float ambiguously on the dark canvas - Don't animate aggressively — animations are slow and subtle (25–100s durations for marquee, gentle glow pulses). Fast motion contradicts the "engineering precision" atmosphere ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Small Mobile | <420px | Minimum layout, stacked everything, reduced hero text to ~24px | | Mobile | 420–767px | Single column, hamburger nav, full-width cards, hero text ~36px | | Tablet | 768–1024px | 2-column grids begin, condensed nav, medium hero text | | Desktop | 1025–1440px | Full multi-column layout, expanded nav with dropdowns, large hero (60px) | | Large Desktop | >1440px | Max-width container centered (est. 1280–1440px), generous horizontal margins | *23 breakpoints detected in total, ranging from 360px to 1992px — indicating a fluid, heavily responsive grid system rather than fixed breakpoint snapping.* ### Touch Targets - Buttons use comfortable padding (12px 16px minimum) ensuring adequate touch area - Navigation links spaced with sufficient gap for thumb navigation - Interactive card surfaces are large enough to serve as full touch targets - Minimum recommended touch target: 44x44px ### Collapsing Strategy - **Navigation**: Full horizontal nav with dropdowns collapses to hamburger menu on mobile - **Feature grids**: 3-column → 2-column → single-column vertical stacking - **Hero text**: 60px → 36px → 24px progressive scaling with maintained compression ratios - **Logo marquee**: Adjusts scroll speed and item sizing; maintains infinite loop - **Code blocks**: Horizontal scroll on smaller viewports rather than wrapping — preserving code readability - **Section padding**: Reduces proportionally but maintains generous vertical rhythm between chapters - **Cards**: Stack vertically on mobile with full-width treatment and maintained internal padding ### Image Behavior - Dark-themed screenshots and diagrams scale proportionally within containers - Agent flow diagrams simplify or scroll horizontally on narrow viewports - Dot-pattern decorative backgrounds scale with viewport - No visible art direction changes between breakpoints — same crops, proportional scaling - Lazy loading for below-fold images (Docusaurus default behavior) ## 9. Agent Prompt Guide ### Quick Color Reference - Brand Accent: "Emerald Signal Green (#00d992)" - Button Text: "VoltAgent Mint (#2fd6a1)" - Page Background: "Abyss Black (#050507)" - Card Surface: "Carbon Surface (#101010)" - Border / Containment: "Warm Charcoal (#3d3a39)" - Primary Text: "Snow White (#f2f2f2)" - Secondary Text: "Warm Parchment (#b8b3b0)" - Tertiary Text: "Steel Slate (#8b949e)" ### Example Component Prompts - "Create a feature card on Carbon Surface (#101010) with a 1px solid Warm Charcoal (#3d3a39) border, comfortably rounded corners (8px). Use Snow White (#f2f2f2) for the title in system-ui at 24px weight 700, and Warm Parchment (#b8b3b0) for the description in Inter at 16px. Add a subtle Warm Ambient shadow (rgba(92, 88, 85, 0.2) 0px 0px 15px)." - "Design a ghost button with transparent background, Snow White (#f2f2f2) text in Inter at 16px, a 1px solid Warm Charcoal (#3d3a39) border, and subtly rounded corners (6px). Padding: 12px vertical, 16px horizontal. On hover, background shifts to rgba(0, 0, 0, 0.2)." - "Build a hero section on Abyss Black (#050507) with a massive heading at 60px system-ui, line-height 1.0, letter-spacing -0.65px. The word 'Platform' should be colored in Emerald Signal Green (#00d992). Below the heading, place a code block showing 'npm create voltagent-app@latest' in SFMono-Regular at 14px on Carbon Surface (#101010) with a copy button." - "Create a highlighted feature card using a 2px solid Emerald Signal Green (#00d992) border instead of the standard Warm Charcoal. Keep Carbon Surface background, comfortably rounded corners (8px), and include a code snippet on the left with feature description text on the right." - "Design a navigation bar on Abyss Black (#050507) with the VoltAgent logo (bolt icon with animated green glow) on the left, nav links in Inter at 14px weight 500 in Snow White, and a green CTA button (Carbon Surface bg, VoltAgent Mint text) on the right. Add a 1px solid Warm Charcoal bottom border." ### Iteration Guide When refining existing screens generated with this design system: 1. Focus on ONE component at a time 2. Reference specific color names and hex codes — "use Warm Parchment (#b8b3b0)" not "make it lighter" 3. Use border treatment to communicate elevation: "change the border to 2px solid Emerald Signal Green (#00d992)" for emphasis 4. Describe the desired "feel" alongside measurements — "compressed and authoritative heading at 36px with line-height 1.11 and -0.9px letter-spacing" 5. For glow effects, specify "Emerald Signal Green (#00d992) as a drop-shadow with 2–8px blur radius" 6. Always specify which font — system-ui for headings, Inter for body/UI, SFMono-Regular for code 7. Keep animations slow and subtle — marquee scrolls at 25–80s, glow pulses gently

Designby @design-md

Vodafone

# Design System Inspired by Vodafone ## 1. Visual Theme & Atmosphere Vodafone's corporate web system carries the confident, broadcast-scale presence of a global telecom brand — built around a single, fiercely-owned brand red and a restrained, editorial layout that lets imagery and type carry the emotional weight. Every page opens the same way: a cinematic dark hero image behind a towering, tight-tracked uppercase display headline ("EVERYONE. CONNECTED.", "INVESTORS", "OUR BUSINESS") followed by a deep red full-width band that acts as a chapter break, then a crisp white editorial grid or a near-black section reserved for institutional content (share ticker, global map, ESG data). The voice is institutional but human: warm documentary photography — cable-laying crews, coral reefs, pine forests, urban twilight — photographed with color-graded realism and set against clean neutral surfaces that never compete with the content. The typography system is the signature. A custom Vodafone display face runs all the way up to 144px in heavy 800-weight uppercase with negative tracking, and it holds that voice consistently across every page template. Body copy sits in a calm 16-18px mid-weight rhythm. This dual scale — monumental at the top, almost quiet at the bottom — creates the "corporate newsroom" feeling: every page reads like the front of a national paper whose masthead happens to be red. Surface treatment is disciplined and predictable: a three-surface pass of white (editorial canvas) → Vodafone red (band dividers, CTA buttons, the famous speech-mark logo) → near-black charcoal (footer, share-ticker panel, global-impact map). There is almost no decorative shadow, almost no gradient, and almost no rounded-corner softness. Edges are small and clinical (2px and 6px), buttons operate as a two-tier system — tight 2px rectangles for utility/form actions, and fully-rounded 60px pills for primary content CTAs. This is a design system that trusts the brand color to do the heavy lifting and gets out of its way everywhere else. **Key Characteristics:** - Vodafone Red (`#e60000`) is the single dominant accent — used for CTAs, dividers, band sections, the speech-mark logo, and the rotated "IMPACT" brand-mark type on the sustainability map - Monumental uppercase display type (up to 144px, weight 800, negative letter-spacing) paired with calm 16-18px body copy - A universal page rhythm: dark atmospheric hero → monumental uppercase headline → full-width red band → white editorial canvas → dark charcoal institutional panel → charcoal footer - Two-tier button system: tight 2px-radius rectangles for utility actions, fully-pill 60px buttons for primary content CTAs (both equally primary, selected by context) - Documentary photography (people, infrastructure, cities, nature) dominates over illustration; no stock-icon noise - Near-absence of shadows and gradients — hierarchy comes from type weight, color blocks, and spacing rather than elevation - Deep charcoal surface (`#25282b`) is reused as the footer AND the institutional data panel (share ticker, world map) — a single material for anything formal and numeric ## 2. Color Palette & Roles ### Primary - **Vodafone Red** (`#e60000`): The brand's single, non-negotiable signature — used for primary CTA backgrounds, the speech-mark logo, full-bleed band dividers between editorial sections, tag-pill outlines, and the rotated brand-mark type that labels the global-impact map. This red must never be substituted or tinted; it is the identity. ### Secondary & Accent - **Pure White** (`#ffffff`): The dominant editorial canvas — page background, card backgrounds, reversed text on dark or red surfaces, and circular icon-button fills. - **Signal Blue** (`#3860be`): Reserved for inline text links in their resting state (underlined), providing a calm accessible blue that reads clearly against both white and dark surfaces. - **Deep Brand Red Shade** (`#ac1811`): A darker red appears on quiet label chips (notably on the sustainability page) — used sparingly for low-prominence tag elements that need red identity without drawing primary attention. ### Surface & Background - **Canvas White** (`#ffffff`): The primary page and card surface. Every editorial module sits on this canvas. - **Light Neutral** (`#f2f2f2`): Used for filled neutral pill-badge backgrounds and quiet UI chrome where full white would disappear against the canvas. - **Charcoal Institutional Panel** (`#25282b`): The same color used for text is reused as a full-width dark surface for the footer, the share-ticker panel, and the global-impact map section. It transforms the page into a "data mode" environment. - **Translucent White Overlay** (`rgba(255,255,255,0.1)`): A soft glass tint used for pill buttons that sit on dark hero imagery — lets the photo breathe through the button. ### Neutrals & Text - **Charcoal Headline** (`#25282b`): All heading text on light surfaces and the charcoal surface color itself — a near-black with a faint cool tint, never pure black. - **Secondary Body Grey** (`#7e7e7e`): Body copy, meta text, and secondary labels — a true mid-grey that reads as unemphatic but still legible. - **Form Text Grey** (`#333333`): Borders on input-style ghost buttons and the text color inside them. - **Disabled Grey** (`#bebebe`): Inactive chip text on subtle ghost-style controls. - **Translucent White Divider** (`rgba(255,255,255,0.25)`): Hairline column dividers on dark institutional panels (footer columns, map legend rows). ### Semantic & Accent - **Surface Red Band** (`#e60000`): The same brand red deployed as a full-width band between editorial sections — functions as a chapter divider and a visual amplifier for the brand. Appears on every page template. - **Tag Pill Red Border** (`#e60000`): 1px outline on light tag pills, letting the brand color touch small UI without drowning card content. ### Gradient System Vodafone's design is intentionally gradient-free. The only tonal variation is a subtle photographic vignette on hero imagery (dim coral reefs, pine forests, cable-laying crews, urban twilight), where the image itself — not a CSS gradient — provides the tonal ramp. No linear gradients are used on buttons, cards, or surfaces. ## 3. Typography Rules ### Font Family - **Primary**: `Vodafone` (custom corporate sans-serif) - **Fallback stack**: `Vodafone, "Helvetica Neue", Arial, sans-serif` - **Icon font**: `icomoon` — carries pictograph glyphs at 18px/24px/48px fixed sizes - **Rendering**: `font-smoothing: antialiased` across the board; OpenType features are not aggressively used — the design relies on weight and tracking, not stylistic alternates ### Hierarchy | Role | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|--------|-------------|----------------|-------| | Display / Hero XL | 144px | 800 | 0.79 | -1px | Uppercase; the signature "EVERYONE. CONNECTED." treatment | | Display / Hero L | 126px | 800 | 0.90 | -1px | Uppercase; used when the hero headline is longer | | Display / Hero M | 90px | 800 | 0.93 | — | Uppercase; secondary hero or full-bleed section heads | | Display / Impact | 70px | 800 | 1.17 | -1px | Sustainability section numeric / callout scale | | H1 — Light | 48px | 300 | 1.08 | — | Section headlines set in light weight for editorial calm | | H1 — Bold | 48px | 800 | 1.00 | -1px | Institutional data headers (share price on charcoal panel) | | H2 — Light | 40px | 300 | 1.10 | — | Sub-section headers | | H2 — Bold | 40px | 700 | 1.10 | — | Denser sub-section headers | | H3 — Bold | 32px | 700 | 1.25 | — | Card cluster titles and feature intros | | H4 — Bold | 24px | 700 | 1.00 | — | Card titles (news, feature, article modules) | | H4 — Light | 24px | 300 | 1.42 | — | Intro paragraphs on investor / sustainability pages | | H5 — Bold | 20px | 700 | 1.30 | — | Compact module titles and side callouts | | Lead Body | 20px | 400 | 1.40 | — | Introductory paragraphs under large headlines | | Body Large | 18px | 400 | 1.56 | — | Long-form article body and prominent copy | | Body Bold | 18px | 600 | 1.56 | — | Emphasized inline phrases | | Body Base | 16px | 400 | 1.38 | — | Default paragraph size | | Label Uppercase | 16px | 800 | 1.50 | — | Uppercase navigational labels | | Eyebrow / Date | 14px | 400/700 | 1.43 | — | Article date stamps and meta (14 APR 2026) | | Tag Pill | 14px | 700 | 1.50 | — | Badge text inside red-outlined pills | | Caption Uppercase | 14px | 400 | 1.14 | — | Uppercase meta label | | Caption | 12px | 500 | 2.00 | — | Footer meta, legal lines | | Micro Label | 12px | 600 | 1.33 | — | Uppercase tiny labels on badges and counters | | Button Primary | 14.4px | 700 | 1.00 | 0.144px | Primary filled button label | | Button Compact | 12px | 700 | 1.00 | 0.12px | Compact button label | ### Principles - **Dual-scale drama**: the system deliberately stretches from 144px down to 8.5px without mid-range showing off. The result is a clear corporate hierarchy — monumental for brand moments, calm for reading. - **Uppercase display, mixed-case body**: all the largest display sizes are uppercase with negative tracking, while everything 48px and below is sentence case with normal tracking. - **Weight spread**: only three real weights do the work — 800 (display), 700 (bold bodies, buttons, tags), and 400 (reading body). A lighter 300-weight is used for editorial-style 40px/48px headlines when a calmer voice is wanted. - **No italics, no decorative letterspacing on body**: the body system is deliberately neutral so the display work can shout. - **Rotated brand-mark type**: on the sustainability section, the word "IMPACT" is set in brand red at a large display size and rotated 90° to run vertically along the edge of a dark world-map panel — a distinctive typographic flourish that the template uses to label its institutional data surfaces. ### Note on Font Substitutes The Vodafone corporate typeface is proprietary. When recreating the look in open systems, substitute with **Inter** at weights 400/600/800, or **Neue Haas Grotesk** if available. Inter needs its letter-spacing reduced by roughly 1-2% at display sizes (80px+) to approximate the Vodafone face's tight tracking; its line-height should be set to 0.85-0.95 for the uppercase display tier. ## 4. Component Stylings ### Buttons Vodafone operates a genuine two-tier primary button system. Both tiers are used as primary calls to action — the difference is context (form/chrome vs editorial/content), not hierarchy. **Primary Red Rectangle** (utility / form CTA — "Accept All Cookies", "Subscribe") - Background: Vodafone Red (`#e60000`) - Text: Pure White (`#ffffff`), 14.4px, weight 700, letter-spacing 0.144px - Padding: 12px vertical, 10px horizontal - Border: 1px solid Vodafone Red (`#e60000`) - Border radius: 2px — deliberately sharp-cornered - Default state: solid red fill with crisp 2px corners - Active state: brief opacity drop to `0.9` on press **Primary Red Pill** (editorial / content CTA — "Link to Our approach to ESG", "EXPLORE CONNECTING PEOPLE") - Background: Vodafone Red (`#e60000`) - Text: Pure White (`#ffffff`), 14.4px, weight 700, letter-spacing 0.144px - Padding: 16px uniform - Border radius: 60px — fully pill-shaped - Default state: solid red fill with rounded ends - Active state: brief opacity drop to `0.9` on press **Ghost White Rectangle** (secondary form action) - Background: Pure White (`#ffffff`) - Text: Form Text Grey (`#333333`), 14.4px, weight 700 - Padding: 12px vertical, 10px horizontal - Border: 1px solid Form Text Grey (`#333333`) - Border radius: 2px - Default state: white fill with charcoal outline - Active state: opacity `0.9` on press **Glass Pill** (sits on dark hero imagery — secondary content CTA) - Background: Pure White at 10% opacity (`rgba(255,255,255,0.1)`) - Text: Pure White (`#ffffff`), weight 700 - Padding: 8px vertical, 16px horizontal - Border radius: 24px — fully pill-shaped - Default state: soft translucent pill lets the photo breathe through **Content Ghost Pill** (inline within editorial cards — low-emphasis content CTA) - Background: Black at 5% opacity (`rgba(0,0,0,0.05)`) - Text: Vodafone Red (`#e60000`), 14.4px, weight 700 - Padding: 15px uniform - Border radius: 60px — fully pill-shaped - Default state: nearly transparent pill with red text **Icon Control Button** (video play/pause, carousel arrows, close) - Background: Pure White (`#ffffff`) - Icon color: Charcoal Headline (`#25282b`) - Border radius: 50% — perfect circle - Outline: 1px solid white, used for focus indication - Size: typically 32-40px diameter ### Cards & Containers **News / Editorial Card** (homepage article tile) - Background: Pure White (`#ffffff`) - Border radius: 6px (applied to image corners and card container) - Shadow: none — cards rely on spacing and the image aspect ratio for separation - Internal layout: 16:9 image on top → 12px gap → eyebrow row (date + tag pill) → 8px gap → H4 Bold title → 16px card padding on sides and bottom - The card image uses `object-fit: cover` and rounded top corners (6px top-left/top-right) **Asymmetric Corner Card** (featured homepage cards) - Background: Pure White (`#ffffff`) - Border radius: `0px 6px 0px 0px` — a deliberate single-corner-rounded shape that echoes the Vodafone speech-mark logo's curved geometry - No shadow, no border — the asymmetric radius itself is the visual signature **Circular Portrait / Pictogram Container** (sustainability page) - Background: Pure White (`#ffffff`) - Border radius: 100% — perfect circle - Used for ESG pictograms and executive portraits inside the institutional content area ### Inputs & Forms Vodafone's corporate site does not expose many inline form controls on the homepage, but button-style inputs follow these rules: - Background: Pure White (`#ffffff`) - Text: Form Text Grey (`#333333`), 16px, weight 400 - Border: 1px solid Form Text Grey (`#333333`) - Border radius: 2px - Padding: 12px 10px - Error state (when shown): the 1px border shifts to Vodafone Red (`#e60000`) and error message text inherits the same red at 12px weight 600 ### Navigation **Top bar** - Background: transparent over hero imagery; solid white (`#ffffff`) on scroll or interior pages - Height: approximately 64px desktop, 56px mobile - Logo: Vodafone speech-mark, 40×40px red circle with a white "speech-mark" cut-out, left-aligned - Nav links: 16px weight 400 Charcoal Headline (`#25282b`) on white; reversed to white when sitting on dark hero imagery - Right-side utility: small icon links (search, locale, menu) rendered as 24px icomoon glyphs - On interior pages (Investors, Sustainable Business), the top bar shows additional secondary-nav row: "Vodafone Business / Vodafone Foundation / Our site" labels, aligned right **Mobile collapse** - At approximately 768px the horizontal nav collapses into a hamburger - Mobile menu opens as a full-width overlay with white surface, 18px weight 400 link rows, 16px vertical padding per row ### Image Treatment - **Hero images**: full-bleed, dark atmospheric photography (coral reefs, pine forests, cable crews, urban twilight) with a natural vignette or cool-tone color grade — no CSS overlay is needed because the imagery itself is pre-graded - **Card thumbnails**: 16:9 aspect ratio, 6px top corner radius matching the card - **Square editorial images**: 1:1 ratio used in feature modules, always 6px corner radius - **Round portraits**: 100% (perfect circle) for executive headshots and ESG pictograms - **Loading**: lazy-loading triggers on scroll; images stabilize within ~200ms of entering the viewport - **No decorative borders on images** — the card radius does all the framing work ### Tag Pills / Badges Two distinct pill styles appear: **Outlined Red Pill** (used inline on article card metadata, e.g., "EMPOWERING PEOPLE") - Background: Pure White at 80% opacity (`rgba(255,255,255,0.8)`) - Text: Near-black at 80% opacity (`rgba(0,0,0,0.8)`), 12px, weight 600, uppercase - Border: 1px solid Vodafone Red (`#e60000`) - Padding: 6px - Border radius: small-rounded (roughly 2px) **Filled Neutral Pill** (quieter tags) - Background: Light Neutral (`#f2f2f2`) - Text: Charcoal Headline (`#25282b`), 14px, weight 700 - Padding: 4px 12px - Border radius: 32px — fully pill-shaped ### Red Divider Band A signature reusable component that appears on every page template: a full-width band of Vodafone Red (`#e60000`) that runs horizontally across the page to separate the monumental hero from the editorial body beneath it. It carries no text and no controls — it simply is the brand's way of saying "new chapter." Typical height: 40-80px. ### Share Ticker Panel (Investor pages) A distinctive institutional component that anchors the investor template: - Background: Charcoal Institutional Panel (`#25282b`) - Large numeric display: share price set in 48px weight 800 white type with negative letter-spacing (e.g., "116.05 GBX") - Metadata row: delay notice (e.g., "15-min delayed") and timestamp in 14px weight 400 secondary grey text - Layout: sits as a horizontal strip above the footer, spans the full content width - Hairline dividers (`rgba(255,255,255,0.25)`) separate the ticker from the footer columns ### Global Impact Map Panel (Sustainability pages) A signature reusable component that anchors the sustainability template: - Background: Charcoal Institutional Panel (`#25282b`) - A dark minimal world-map illustration in slightly lighter grey - Red circular markers (`#e60000`) plotted on geographic locations where the brand operates - Vertically-rotated brand word "IMPACT" set in Vodafone Red at large display size (weight 800, uppercase, 90° rotated) running along one edge of the panel — this is the template's signature typographic move - Small legend with red markers and white uppercase labels at the top-left ### Footer A universal component across all page templates: - Background: Charcoal Institutional Panel (`#25282b`) - Layout: 4-column link grid (Our company / Investors / Vodafone websites / Share price) followed by a "Connect with us" social row and legal/privacy line - Logo: red speech-mark repeats bottom-right at 32-40px - Column header type: 16px weight 800 uppercase white - Column link type: 14px weight 400 white, stacked vertically with 12px row spacing - Divider hairlines: `rgba(255,255,255,0.25)` between column group and legal row ## 5. Layout Principles ### Spacing System Base unit: **8px**. The scale accommodates both tight UI (1px, 2px, 4px) and generous editorial rhythm (16px, 20px, 24px, 32px). Two values (`32px` and `38px`) appear across every page in the analysis, making them the template's universal rhythm constants. | Token | Value | Typical Use | |-------|-------|-------------| | 2xs | 2px | Hairline separators | | xs | 4px | Icon-to-text gap in tight controls | | sm | 8px | Base rhythm unit | | md | 12px | Card internal padding, eyebrow-to-title gap | | base | 16px | Paragraph rhythm, card padding, pill button padding | | lg | 20px | Section-internal spacing | | xl | 24px | Card-to-card spacing, column gutters | | 2xl | 32px | Section intro-to-content breaks — universal constant | | 3xl | 38px | Band-to-next-section vertical push — universal constant | | section | 64-96px | Vertical rhythm between major editorial modules | ### Grid & Container - **Max content width**: approximately 1440px on very large screens; articles and hero modules typically sit at 1200px - **Column pattern on cards**: 3-up or 4-up card grid at desktop (1200-1440px), 2-up at tablet (768-1024px), stacked 1-up at mobile (<768px) - **Horizontal padding**: 32px at desktop edge, 20px at tablet, 16px at mobile - **Gutters between cards**: 24px desktop, 16px mobile - **Institutional panel (share ticker, world map, footer)**: always full-bleed edge-to-edge at every breakpoint ### Whitespace Philosophy Vodafone's editorial canvas leans generous — whitespace is used as a visual palette cleanser between a monumental headline and the card grid or data panel that follows. Sections are separated by tall vertical rhythm (64-96px) plus the occasional red band that acts as both a separator and a brand signal. Within cards, spacing is tight and efficient (12-16px) so the photography can take the stage. ### Border Radius Scale | Token | Value | Typical Use | |-------|-------|-------------| | hairline | 1px | Inline text wraps, small badges | | button-tight | 2px | Primary and secondary rectangle button corners — the brand's utility-form look | | card | 6px | News cards, images, input fields | | asymmetric | `0px 6px 0px 0px` | Featured cards (top-right corner only) | | glass-pill | 24px | Translucent white pills sitting on dark hero imagery | | badge-pill | 32px | Filled neutral pill badges | | cta-pill | 60px | Primary red content CTAs — the brand's editorial button look | | circle | 50% | Icon buttons, carousel arrows, close controls | | portrait | 100% | Circular portraits and ESG pictograms | ## 6. Depth & Elevation Vodafone's system is deliberately flat. There is almost no conventional box-shadow in the UI. Hierarchy is carried by color (red bands, charcoal institutional panels), typography weight (800 vs 400), and spacing. | Level | Treatment | Use | |-------|-----------|-----| | 0 — Surface | No shadow, no border | Default card, default section | | 1 — Outline | 1px solid border at low-opacity | Ghost buttons, outlined pills | | 2 — Inset Highlight | `inset 0 0 0 1px` on focus | Pressed / focused controls | | 3 — Photographic depth | The photography itself carries the depth | Hero imagery | | 4 — Surface shift | Charcoal institutional panel below a white editorial canvas | Share ticker / world map / footer | Shadow philosophy: Vodafone treats drop shadows as a distraction from brand clarity. The few extracted shadow tokens are reserved for inset focus rings. The dominant "elevation" in the system is a **color surface shift** — switching from the white editorial canvas to the charcoal institutional panel — rather than a lift-off drop shadow. ### Decorative Depth The only decorative depth cues are: - Atmospheric dark hero photography that carries its own cinematic tonal depth (no CSS overlay needed) - The rotated vertical "IMPACT" wordmark on the sustainability map, which creates the illusion of a fourth wall alongside the map panel ## 7. Do's and Don'ts ### Do - Use Vodafone Red (`#e60000`) as the single loudest element on any screen — one primary CTA per fold, one red band per editorial break - Set display headlines in uppercase 800-weight with tight negative tracking; let them run to 90-144px on desktop - Pair monumental display type with calm 16-18px body copy — the scale jump is the system - Switch the button radius based on context: 2px rectangles for form and utility actions, 60px pills for editorial content CTAs - Let documentary photography breathe at 16:9 or 1:1 on a 6px radius — no decorative borders, no heavy overlays - Use the red band as a full-width chapter divider between every hero and the content below it - Anchor every page with a charcoal institutional surface (`#25282b`) — the footer always, and on investor/sustainability pages extend the same color up to include the share ticker or the global-impact map - Respect the universal page rhythm: dark hero → red band → white editorial → charcoal institutional → charcoal footer ### Don't - Don't introduce a second brand hue to rival Vodafone Red — no teals, no purples, no orange accents - Don't soften rectangle button corners beyond 2px, and don't shrink pill button corners below 60px — the two shapes are both load-bearing - Don't add drop shadows to cards or buttons — the system is intentionally flat and uses surface color to carry elevation - Don't use gradients on backgrounds, buttons, or text - Don't mix uppercase tracking on body text — uppercase is reserved for display, labels, and micro-labels - Don't use italics for emphasis — use weight 600/700 instead - Don't decorate headlines with colored underlines or highlights — the type does the work - Don't use pure black (`#000000`) for text or surfaces — always use Charcoal Headline (`#25282b`) ## 8. Responsive Behavior ### Breakpoints The practical tiers observed across all three templates: | Name | Width | Key Changes | |------|-------|-------------| | Mobile | ≤ 600px | Nav collapses to hamburger; hero display drops to ~56-72px; cards stack 1-up | | Mobile Large | 601-767px | Hero display ~72-90px; cards still stack 1-up | | Tablet | 768-1023px | Nav re-expands; cards grid 2-up; hero display ~90-120px | | Laptop | 1024-1199px | Full nav; cards 3-up; hero display ~120-144px | | Desktop | 1200-1439px | Standard editorial layout; cards 3-up or 4-up | | Wide | ≥ 1440px | Content caps at 1440px; outer canvas padding grows | ### Touch Targets All interactive controls meet a 44×44px minimum on mobile. Icon buttons use 40×40px circular hit areas which expand with 4px invisible padding on touch devices. Primary CTA buttons land at approximately 48×48px on mobile (16px top/bottom + text line for pills; 12px + text line for rectangles). ### Collapsing Strategy - **Nav**: horizontal links collapse into a hamburger at 768px; the logo stays left-aligned at all widths - **Card grid**: 4-up → 3-up at 1200px → 2-up at 768px → 1-up at 600px, with gutters shrinking from 24px to 16px - **Hero display type**: step-reduces through 144 → 126 → 90 → 72 → 56px as viewports shrink - **Section padding**: 96px vertical at desktop, 64px at tablet, 48px at mobile - **Red divider bands**: remain full-width at every breakpoint; their vertical height compresses from ~80px at desktop to ~40px at mobile - **Institutional panels (share ticker / world map)**: on mobile, multi-column content restacks into a single vertical stream but the charcoal surface stays edge-to-edge - **Vertically-rotated "IMPACT" wordmark**: becomes a horizontal label or is dropped entirely on mobile where vertical space is limited ### Image Behavior - Hero imagery: art-directed variant at mobile (tighter crop) versus desktop (wide atmospheric frame) - Card thumbnails: always 16:9 regardless of viewport; `loading="lazy"` is standard - Circular portraits: fixed at 80-120px diameter on desktop, shrinking to 64-80px on mobile - Logo: fixed at 40×40px across breakpoints (consistent brand mark size) ## 9. Agent Prompt Guide ### Quick Color Reference - Primary CTA: "Vodafone Red (`#e60000`)" - Background: "Canvas White (`#ffffff`)" - Heading text: "Charcoal Headline (`#25282b`)" - Body text: "Secondary Body Grey (`#7e7e7e`)" - Institutional surface: "Charcoal Institutional Panel (`#25282b`)" - Inline link: "Signal Blue (`#3860be`)" - Quiet pill background: "Light Neutral (`#f2f2f2`)" ### Example Component Prompts - "Create a primary red rectangle button: Vodafone Red (`#e60000`) background, pure white 14.4px weight 700 text, 2px border radius (sharp corners), 12px vertical × 10px horizontal padding. Use for form and utility actions. No shadow, no gradient." - "Create a primary red pill CTA: Vodafone Red (`#e60000`) background, pure white 14.4px weight 700 text, 60px border radius (fully pill-shaped), 16px uniform padding. Use for editorial content calls-to-action." - "Design an editorial news card: white background, 6px border radius, 16:9 image at the top, 12px eyebrow row containing a date and a red-outlined uppercase tag pill, then a 24px weight 700 Charcoal title. No shadow — spacing alone separates cards." - "Build a hero section: dark atmospheric photo as the full-bleed background, monumental uppercase headline at 144px weight 800 with -1px letter-spacing, single Vodafone Red pill CTA beneath it, no overlay gradient." - "Create a red divider band: full-width strip of Vodafone Red (`#e60000`), 64px tall on desktop and 40px on mobile, no text, no controls — it acts purely as a visual chapter break between editorial sections." - "Design an institutional data panel: full-bleed Charcoal Institutional Panel (`#25282b`) background, large numeric display at 48px weight 800 white with negative letter-spacing, 14px weight 400 grey meta row beneath. Use for share ticker or stats callout." - "Design a global impact map: Charcoal Institutional Panel (`#25282b`) background, minimal grey world-map illustration, red Vodafone-red circular markers on operational locations, the brand word 'IMPACT' set at large display size in brand red and rotated 90° to run vertically along one edge." ### Iteration Guide When refining existing screens generated with this design system: 1. Focus on ONE component at a time — the system has few moving parts, so small refinements compound 2. Reference specific color names and hex codes from this document when describing changes 3. Use natural language ("sharper corners," "more generous vertical rhythm") alongside specific measurements 4. When in doubt about radius, remember: 2px for form/utility buttons, 60px for editorial pills, 6px for cards, 50%/100% for icon and portrait circles 5. Keep the brand rule absolute: only one Vodafone Red element should dominate any given fold ### Known Gaps - Form input styles (text fields, dropdowns, toggles) are not exposed on these page templates; their specs are inferred from the ghost-button pattern and may need refinement when real forms are designed - The Vodafone corporate typeface is proprietary and cannot be reproduced exactly in open systems; Inter with tightened tracking at display sizes is the closest open substitute - Animation and transition timings are intentionally not documented — the site uses them sparingly and the values are not extractable from static analysis - The share ticker's exact number styling (separators, currency glyph) is documented from the investor-page screenshot; other regional variants may display differently

Designby @design-md

Vercel

# Design System Inspired by Vercel ## 1. Visual Theme & Atmosphere Vercel's website is the visual thesis of developer infrastructure made invisible — a design system so restrained it borders on philosophical. The page is overwhelmingly white (`#ffffff`) with near-black (`#171717`) text, creating a gallery-like emptiness where every element earns its pixel. This isn't minimalism as decoration; it's minimalism as engineering principle. The Geist design system treats the interface like a compiler treats code — every unnecessary token is stripped away until only structure remains. The custom Geist font family is the crown jewel. Geist Sans uses aggressive negative letter-spacing (-2.4px to -2.88px at display sizes), creating headlines that feel compressed, urgent, and engineered — like code that's been minified for production. At body sizes, the tracking relaxes but the geometric precision persists. Geist Mono completes the system as the monospace companion for code, terminal output, and technical labels. Both fonts enable OpenType `"liga"` (ligatures) globally, adding a layer of typographic sophistication that rewards close reading. What distinguishes Vercel from other monochrome design systems is its shadow-as-border philosophy. Instead of traditional CSS borders, Vercel uses `box-shadow: 0px 0px 0px 1px rgba(0,0,0,0.08)` — a zero-offset, zero-blur, 1px-spread shadow that creates a border-like line without the box model implications. This technique allows borders to exist in the shadow layer, enabling smoother transitions, rounded corners without clipping, and a subtler visual weight than traditional borders. The entire depth system is built on layered, multi-value shadow stacks where each layer serves a specific purpose: one for the border, one for soft elevation, one for ambient depth. **Key Characteristics:** - Geist Sans with extreme negative letter-spacing (-2.4px to -2.88px at display) — text as compressed infrastructure - Geist Mono for code and technical labels with OpenType `"liga"` globally - Shadow-as-border technique: `box-shadow 0px 0px 0px 1px` replaces traditional borders throughout - Multi-layer shadow stacks for nuanced depth (border + elevation + ambient in single declarations) - Near-pure white canvas with `#171717` text — not quite black, creating micro-contrast softness - Workflow-specific accent colors: Ship Red (`#ff5b4f`), Preview Pink (`#de1d8d`), Develop Blue (`#0a72ef`) - Focus ring system using `hsla(212, 100%, 48%, 1)` — a saturated blue for accessibility - Pill badges (9999px) with tinted backgrounds for status indicators ## 2. Color Palette & Roles ### Primary - **Vercel Black** (`#171717`): Primary text, headings, dark surface backgrounds. Not pure black — the slight warmth prevents harshness. - **Pure White** (`#ffffff`): Page background, card surfaces, button text on dark. - **True Black** (`#000000`): Secondary use, `--geist-console-text-color-default`, used in specific console/code contexts. ### Workflow Accent Colors - **Ship Red** (`#ff5b4f`): `--ship-text`, the "ship to production" workflow step — warm, urgent coral-red. - **Preview Pink** (`#de1d8d`): `--preview-text`, the preview deployment workflow — vivid magenta-pink. - **Develop Blue** (`#0a72ef`): `--develop-text`, the development workflow — bright, focused blue. ### Console / Code Colors - **Console Blue** (`#0070f3`): `--geist-console-text-color-blue`, syntax highlighting blue. - **Console Purple** (`#7928ca`): `--geist-console-text-color-purple`, syntax highlighting purple. - **Console Pink** (`#eb367f`): `--geist-console-text-color-pink`, syntax highlighting pink. ### Interactive - **Link Blue** (`#0072f5`): Primary link color with underline decoration. - **Focus Blue** (`hsla(212, 100%, 48%, 1)`): `--ds-focus-color`, focus ring on interactive elements. - **Ring Blue** (`rgba(147, 197, 253, 0.5)`): `--tw-ring-color`, Tailwind ring utility. ### Neutral Scale - **Gray 900** (`#171717`): Primary text, headings, nav text. - **Gray 600** (`#4d4d4d`): Secondary text, description copy. - **Gray 500** (`#666666`): Tertiary text, muted links. - **Gray 400** (`#808080`): Placeholder text, disabled states. - **Gray 100** (`#ebebeb`): Borders, card outlines, dividers. - **Gray 50** (`#fafafa`): Subtle surface tint, inner shadow highlight. ### Surface & Overlay - **Overlay Backdrop** (`hsla(0, 0%, 98%, 1)`): `--ds-overlay-backdrop-color`, modal/dialog backdrop. - **Selection Text** (`hsla(0, 0%, 95%, 1)`): `--geist-selection-text-color`, text selection highlight. - **Badge Blue Bg** (`#ebf5ff`): Pill badge background, tinted blue surface. - **Badge Blue Text** (`#0068d6`): Pill badge text, darker blue for readability. ### Shadows & Depth - **Border Shadow** (`rgba(0, 0, 0, 0.08) 0px 0px 0px 1px`): The signature — replaces traditional borders. - **Subtle Elevation** (`rgba(0, 0, 0, 0.04) 0px 2px 2px`): Minimal lift for cards. - **Card Stack** (`rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, rgba(0,0,0,0.04) 0px 8px 8px -8px, #fafafa 0px 0px 0px 1px`): Full multi-layer card shadow. - **Ring Border** (`rgb(235, 235, 235) 0px 0px 0px 1px`): Light gray ring-border for tabs and images. ## 3. Typography Rules ### Font Family - **Primary**: `Geist`, with fallbacks: `Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol` - **Monospace**: `Geist Mono`, with fallbacks: `ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New` - **OpenType Features**: `"liga"` enabled globally on all Geist text; `"tnum"` for tabular numbers on specific captions. ### Hierarchy | Role | Font | Size | Weight | Line Height | Letter Spacing | Notes | |------|------|------|--------|-------------|----------------|-------| | Display Hero | Geist | 48px (3.00rem) | 600 | 1.00–1.17 (tight) | -2.4px to -2.88px | Maximum compression, billboard impact | | Section Heading | Geist | 40px (2.50rem) | 600 | 1.20 (tight) | -2.4px | Feature section titles | | Sub-heading Large | Geist | 32px (2.00rem) | 600 | 1.25 (tight) | -1.28px | Card headings, sub-sections | | Sub-heading | Geist | 32px (2.00rem) | 400 | 1.50 | -1.28px | Lighter sub-headings | | Card Title | Geist | 24px (1.50rem) | 600 | 1.33 | -0.96px | Feature cards | | Card Title Light | Geist | 24px (1.50rem) | 500 | 1.33 | -0.96px | Secondary card headings | | Body Large | Geist | 20px (1.25rem) | 400 | 1.80 (relaxed) | normal | Introductions, feature descriptions | | Body | Geist | 18px (1.13rem) | 400 | 1.56 | normal | Standard reading text | | Body Small | Geist | 16px (1.00rem) | 400 | 1.50 | normal | Standard UI text | | Body Medium | Geist | 16px (1.00rem) | 500 | 1.50 | normal | Navigation, emphasized text | | Body Semibold | Geist | 16px (1.00rem) | 600 | 1.50 | -0.32px | Strong labels, active states | | Button / Link | Geist | 14px (0.88rem) | 500 | 1.43 | normal | Buttons, links, captions | | Button Small | Geist | 14px (0.88rem) | 400 | 1.00 (tight) | normal | Compact buttons | | Caption | Geist | 12px (0.75rem) | 400–500 | 1.33 | normal | Metadata, tags | | Mono Body | Geist Mono | 16px (1.00rem) | 400 | 1.50 | normal | Code blocks | | Mono Caption | Geist Mono | 13px (0.81rem) | 500 | 1.54 | normal | Code labels | | Mono Small | Geist Mono | 12px (0.75rem) | 500 | 1.00 (tight) | normal | `text-transform: uppercase`, technical labels | | Micro Badge | Geist | 7px (0.44rem) | 700 | 1.00 (tight) | normal | `text-transform: uppercase`, tiny badges | ### Principles - **Compression as identity**: Geist Sans at display sizes uses -2.4px to -2.88px letter-spacing — the most aggressive negative tracking of any major design system. This creates text that feels _minified_, like code optimized for production. The tracking progressively relaxes as size decreases: -1.28px at 32px, -0.96px at 24px, -0.32px at 16px, and normal at 14px. - **Ligatures everywhere**: Every Geist text element enables OpenType `"liga"`. Ligatures aren't decorative — they're structural, creating tighter, more efficient glyph combinations. - **Three weights, strict roles**: 400 (body/reading), 500 (UI/interactive), 600 (headings/emphasis). No bold (700) except for tiny micro-badges. This narrow weight range creates hierarchy through size and tracking, not weight. - **Mono for identity**: Geist Mono in uppercase with `"tnum"` or `"liga"` serves as the "developer console" voice — compact technical labels that connect the marketing site to the product. ## 4. Component Stylings ### Buttons **Primary White (Shadow-bordered)** - Background: `#ffffff` - Text: `#171717` - Padding: 0px 6px (minimal — content-driven width) - Radius: 6px (subtly rounded) - Shadow: `rgb(235, 235, 235) 0px 0px 0px 1px` (ring-border) - Hover: background shifts to `var(--ds-gray-1000)` (dark) - Focus: `2px solid var(--ds-focus-color)` outline + `var(--ds-focus-ring)` shadow - Use: Standard secondary button **Primary Dark (Inferred from Geist system)** - Background: `#171717` - Text: `#ffffff` - Padding: 8px 16px - Radius: 6px - Use: Primary CTA ("Start Deploying", "Get Started") **Pill Button / Badge** - Background: `#ebf5ff` (tinted blue) - Text: `#0068d6` - Padding: 0px 10px - Radius: 9999px (full pill) - Font: 12px weight 500 - Use: Status badges, tags, feature labels **Large Pill (Navigation)** - Background: transparent or `#171717` - Radius: 64px–100px - Use: Tab navigation, section selectors ### Cards & Containers - Background: `#ffffff` - Border: via shadow — `rgba(0, 0, 0, 0.08) 0px 0px 0px 1px` - Radius: 8px (standard), 12px (featured/image cards) - Shadow stack: `rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px` - Image cards: `1px solid #ebebeb` with 12px top radius - Hover: subtle shadow intensification ### Inputs & Forms - Radio: standard styling with focus `var(--ds-gray-200)` background - Focus shadow: `1px 0 0 0 var(--ds-gray-alpha-600)` - Focus outline: `2px solid var(--ds-focus-color)` — consistent blue focus ring - Border: via shadow technique, not traditional border ### Navigation - Clean horizontal nav on white, sticky - Vercel logotype left-aligned, 262x52px - Links: Geist 14px weight 500, `#171717` text - Active: weight 600 or underline - CTA: dark pill buttons ("Start Deploying", "Contact Sales") - Mobile: hamburger menu collapse - Product dropdowns with multi-level menus ### Image Treatment - Product screenshots with `1px solid #ebebeb` border - Top-rounded images: `12px 12px 0px 0px` radius - Dashboard/code preview screenshots dominate feature sections - Soft gradient backgrounds behind hero images (pastel multi-color) ### Distinctive Components **Workflow Pipeline** - Three-step horizontal pipeline: Develop → Preview → Ship - Each step has its own accent color: Blue → Pink → Red - Connected with lines/arrows - The visual metaphor for Vercel's core value proposition **Trust Bar / Logo Grid** - Company logos (Perplexity, ChatGPT, Cursor, etc.) in grayscale - Horizontal scroll or grid layout - Subtle `#ebebeb` border separation **Metric Cards** - Large number display (e.g., "10x faster") - Geist 48px weight 600 for the metric - Description below in gray body text - Shadow-bordered card container ## 5. Layout Principles ### Spacing System - Base unit: 8px - Scale: 1px, 2px, 3px, 4px, 5px, 6px, 8px, 10px, 12px, 14px, 16px, 32px, 36px, 40px - Notable gap: jumps from 16px to 32px — no 20px or 24px in primary scale ### Grid & Container - Max content width: approximately 1200px - Hero: centered single-column with generous top padding - Feature sections: 2–3 column grids for cards - Full-width dividers using `border-bottom: 1px solid #171717` - Code/dashboard screenshots as full-width or contained with border ### Whitespace Philosophy - **Gallery emptiness**: Massive vertical padding between sections (80px–120px+). The white space IS the design — it communicates that Vercel has nothing to prove and nothing to hide. - **Compressed text, expanded space**: The aggressive negative letter-spacing on headlines is counterbalanced by generous surrounding whitespace. The text is dense; the space around it is vast. - **Section rhythm**: White sections alternate with white sections — there's no color variation between sections. Separation comes from borders (shadow-borders) and spacing alone. ### Border Radius Scale - Micro (2px): Inline code snippets, small spans - Subtle (4px): Small containers - Standard (6px): Buttons, links, functional elements - Comfortable (8px): Cards, list items - Image (12px): Featured cards, image containers (top-rounded) - Large (64px): Tab navigation pills - XL (100px): Large navigation links - Full Pill (9999px): Badges, status pills, tags - Circle (50%): Menu toggle, avatar containers ## 6. Depth & Elevation | Level | Treatment | Use | |-------|-----------|-----| | Flat (Level 0) | No shadow | Page background, text blocks | | Ring (Level 1) | `rgba(0,0,0,0.08) 0px 0px 0px 1px` | Shadow-as-border for most elements | | Light Ring (Level 1b) | `rgb(235,235,235) 0px 0px 0px 1px` | Lighter ring for tabs, images | | Subtle Card (Level 2) | Ring + `rgba(0,0,0,0.04) 0px 2px 2px` | Standard cards with minimal lift | | Full Card (Level 3) | Ring + Subtle + `rgba(0,0,0,0.04) 0px 8px 8px -8px` + inner `#fafafa` ring | Featured cards, highlighted panels | | Focus (Accessibility) | `2px solid hsla(212, 100%, 48%, 1)` outline | Keyboard focus on all interactive elements | **Shadow Philosophy**: Vercel has arguably the most sophisticated shadow system in modern web design. Rather than using shadows for elevation in the traditional Material Design sense, Vercel uses multi-value shadow stacks where each layer has a distinct architectural purpose: one creates the "border" (0px spread, 1px), another adds ambient softness (2px blur), another handles depth at distance (8px blur with negative spread), and an inner ring (`#fafafa`) creates the subtle highlight that makes the card "glow" from within. This layered approach means cards feel built, not floating. ### Decorative Depth - Hero gradient: soft, pastel multi-color gradient wash behind hero content (barely visible, atmospheric) - Section borders: `1px solid #171717` (full dark line) between major sections - No background color variation — depth comes entirely from shadow layering and border contrast ## 7. Do's and Don'ts ### Do - Use Geist Sans with aggressive negative letter-spacing at display sizes (-2.4px to -2.88px at 48px) - Use shadow-as-border (`0px 0px 0px 1px rgba(0,0,0,0.08)`) instead of traditional CSS borders - Enable `"liga"` on all Geist text — ligatures are structural, not optional - Use the three-weight system: 400 (body), 500 (UI), 600 (headings) - Apply workflow accent colors (Red/Pink/Blue) only in their workflow context - Use multi-layer shadow stacks for cards (border + elevation + ambient + inner highlight) - Keep the color palette achromatic — grays from `#171717` to `#ffffff` are the system - Use `#171717` instead of `#000000` for primary text — the micro-warmth matters ### Don't - Don't use positive letter-spacing on Geist Sans — it's always negative or zero - Don't use weight 700 (bold) on body text — 600 is the maximum, used only for headings - Don't use traditional CSS `border` on cards — use the shadow-border technique - Don't introduce warm colors (oranges, yellows, greens) into the UI chrome - Don't apply the workflow accent colors (Ship Red, Preview Pink, Develop Blue) decoratively - Don't use heavy shadows (> 0.1 opacity) — the shadow system is whisper-level - Don't increase body text letter-spacing — Geist is designed to run tight - Don't use pill radius (9999px) on primary action buttons — pills are for badges/tags only - Don't skip the inner `#fafafa` ring in card shadows — it's the glow that makes the system work ## 8. Responsive Behavior ### Breakpoints | Name | Width | Key Changes | |------|-------|-------------| | Mobile Small | <400px | Tight single column, minimal padding | | Mobile | 400–600px | Standard mobile, stacked layout | | Tablet Small | 600–768px | 2-column grids begin | | Tablet | 768–1024px | Full card grids, expanded padding | | Desktop Small | 1024–1200px | Standard desktop layout | | Desktop | 1200–1400px | Full layout, maximum content width | | Large Desktop | >1400px | Centered, generous margins | ### Touch Targets - Buttons use comfortable padding (8px–16px vertical) - Navigation links at 14px with adequate spacing - Pill badges have 10px horizontal padding for tap targets - Mobile menu toggle uses 50% radius circular button ### Collapsing Strategy - Hero: display 48px → scales down, maintains negative tracking proportionally - Navigation: horizontal links + CTAs → hamburger menu - Feature cards: 3-column → 2-column → single column stacked - Code screenshots: maintain aspect ratio, may horizontally scroll - Trust bar logos: grid → horizontal scroll - Footer: multi-column → stacked single column - Section spacing: 80px+ → 48px on mobile ### Image Behavior - Dashboard screenshots maintain border treatment at all sizes - Hero gradient softens/simplifies on mobile - Product screenshots use responsive images with consistent border radius - Full-width sections maintain edge-to-edge treatment ## 9. Agent Prompt Guide ### Quick Color Reference - Primary CTA: Vercel Black (`#171717`) - Background: Pure White (`#ffffff`) - Heading text: Vercel Black (`#171717`) - Body text: Gray 600 (`#4d4d4d`) - Border (shadow): `rgba(0, 0, 0, 0.08) 0px 0px 0px 1px` - Link: Link Blue (`#0072f5`) - Focus ring: Focus Blue (`hsla(212, 100%, 48%, 1)`) ### Example Component Prompts - "Create a hero section on white background. Headline at 48px Geist weight 600, line-height 1.00, letter-spacing -2.4px, color #171717. Subtitle at 20px Geist weight 400, line-height 1.80, color #4d4d4d. Dark CTA button (#171717, 6px radius, 8px 16px padding) and ghost button (white, shadow-border rgba(0,0,0,0.08) 0px 0px 0px 1px, 6px radius)." - "Design a card: white background, no CSS border. Use shadow stack: rgba(0,0,0,0.08) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 2px, #fafafa 0px 0px 0px 1px. Radius 8px. Title at 24px Geist weight 600, letter-spacing -0.96px. Body at 16px weight 400, #4d4d4d." - "Build a pill badge: #ebf5ff background, #0068d6 text, 9999px radius, 0px 10px padding, 12px Geist weight 500." - "Create navigation: white sticky header. Geist 14px weight 500 for links, #171717 text. Dark pill CTA 'Start Deploying' right-aligned. Shadow-border on bottom: rgba(0,0,0,0.08) 0px 0px 0px 1px." - "Design a workflow section showing three steps: Develop (text color #0a72ef), Preview (#de1d8d), Ship (#ff5b4f). Each step: 14px Geist Mono uppercase label + 24px Geist weight 600 title + 16px weight 400 description in #4d4d4d." ### Iteration Guide 1. Always use shadow-as-border instead of CSS border — `0px 0px 0px 1px rgba(0,0,0,0.08)` is the foundation 2. Letter-spacing scales with font size: -2.4px at 48px, -1.28px at 32px, -0.96px at 24px, normal at 14px 3. Three weights only: 400 (read), 500 (interact), 600 (announce) 4. Color is functional, never decorative — workflow colors (Red/Pink/Blue) mark pipeline stages only 5. The inner `#fafafa` ring in card shadows is what gives Vercel cards their subtle inner glow 6. Geist Mono uppercase for technical labels, Geist Sans for everything else

1 / 8