| version | alpha | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| name | Pagewell Void Type System | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| description | Cinematic pure-black marketing design system with self-hosted Geist display type, Inter micro-typography, Geist Mono technical UI, pill CTAs, product screenshots, and Framer Blue accents. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| colors |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| typography |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| spacing |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| rounded |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| components |
|
This system is a cinematic, tool-obsessed dark canvas for product-forward marketing pages. The UI should feel like product screenshots and live demos are floating in deep space: pure black, high contrast, crisp geometric display typography, restrained copy, and a single electric accent.
The defining personality is precision under pressure. Headlines use self-hosted Geist Variable with confident variable weights and moderate negative tracking; body and UI text use self-hosted Inter Variable; technical labels and code use Geist Mono. Framer Blue appears only where interaction or focus needs to be unmistakable. The product is the hero art, so avoid decorative illustration and let screenshots, demos, and UI surfaces carry the narrative.
Use this file as the source of truth for generated pages. The YAML front matter follows the Google Labs Code DESIGN.md format; alpha/translucent values that cannot be represented as hex color tokens are documented in prose and component literals.
The palette is intentionally minimal: a pure black void, white text, muted silver secondary copy, near-black elevated surfaces, and Framer Blue as the only accent.
- Void Black / Primary (
#000000): Page background and default canvas. Do not substitute charcoal, warm black, or gray-tinted dark surfaces. - Pure White / On Primary (
#ffffff): High-emphasis text and solid pill CTA backgrounds. - Framer Blue / Accent (
#0099ff): Links, focus borders, blue ring shadows, and interactive highlights only. - Muted Silver / Secondary (
#a6a6a6): Body copy, secondary descriptions, labels, customer logos, and subdued metadata. - Near Black / Surface (
#090909): Elevated dark cards and contained UI previews that need separation from the void.
Translucent values are part of the system even though the machine-readable color tokens must remain hex:
- Frosted white:
rgba(255, 255, 255, 0.1)for glassy pill buttons and subtle dark-surface overlays. - Frosted hover:
rgba(255, 255, 255, 0.5)only for temporary hover/active emphasis. - Ghost text:
rgba(255, 255, 255, 0.6)for tertiary text and placeholders. - Blue glow:
rgba(0, 153, 255, 0.15)for ring shadows and low-opacity focus halos.
No other accent colors should appear in marketing UI. If a browser-default content link is unavoidable, use it only inside long-form content and do not promote it to a brand token.
Display type uses Geist Variable / Geist at weights 620–680. The brand gesture is clean compression, not novelty: large words should feel precise and high-contrast with moderate negative tracking. Avoid unavailable proprietary font names and avoid overly tight spacing that makes all-caps words feel distorted.
Body, UI, and captions use Inter Variable / Inter with OpenType features such as cv01, cv05, cv09, cv11, ss03, and ss07. Small text should feel custom and engineered rather than generic. Use Geist Mono Variable / Geist Mono for code, command snippets, tiny uppercase labels, tables, and technical metadata.
Primary hierarchy:
| Role | Token | Size | Weight | Line Height | Letter Spacing |
|---|---|---|---|---|---|
| Display Hero | typography.display-hero |
110px | 650 | 0.88 | -4.75px |
| Section Display | typography.display-section |
85px | 620 | 0.96 | -3.4px |
| Section Heading | typography.heading-section |
62px | 620 | 1 | -2.6px |
| Feature Heading | typography.heading-feature |
32px | 620 | 1.12 | -0.9px |
| Accent Display | typography.display-accent |
61.5px | 300 | 1 | -2.4px |
| Card Title | typography.card-title |
24px | 450 | 1.3 | -0.2px |
| Feature Title | typography.feature-title |
22px | 650 | 1.2 | -0.6px |
| Sub-heading | typography.sub-heading |
20px | 600 | 1.2 | -0.5px |
| Body Large | typography.body-lg |
18px | 400 | 1.35 | -0.01px |
| Body | typography.body |
15px | 400 | 1.4 | -0.01px |
| Nav/UI | typography.nav-ui |
15px | 450 | 1 | -0.12px |
| Readable Body | typography.body-readable |
14px | 400 | 1.6 | 0px |
| Caption | typography.caption |
14px | 400 | 1.4 | 0px |
| Label | typography.label |
13px | 500 | 1.6 | 0px |
| Small Caption | typography.small-caption |
12px | 400 | 1.4 | 0px |
| Micro Code | typography.micro-code |
11px | 450 | 1.6 | 0px |
| Badge | typography.badge |
10px | 650 | 1.1 | 0.04em |
| Micro Uppercase | typography.micro-uppercase |
10px | 450 | 1 | 0.06em |
Responsive display scaling should preserve the same clean compression: hero type moves from 110px desktop to 85px tablet, 62px small tablet, and roughly 40px mobile with proportionally reduced negative tracking.
Use an 8px base spacing rhythm with small precision steps (1px, 2px, 3px, 4px, 5px, 6px) and Framer-like practical steps (10px, 12px, 15px, 20px, 30px, 35px). Max content width is approximately 1200px, centered.
Spacing philosophy:
- Breathe through darkness: Sections should have dramatic vertical pauses:
120pxdesktop,80pxtablet, and60pxmobile. - Dense within, spacious between: Headline blocks and product UI are tightly composed, but each section floats in generous void.
- Product-first density: Product screenshots and demos may be visually dense; surrounding marketing copy should stay sparse.
Layout patterns:
- Full-width hero with centered or product-adjacent display copy.
- Product screenshots and demos as primary visual anchors.
- Two-column feature sections on desktop: copy around 40%, screenshot or demo around 60%.
- Single-column stacked sections on mobile below
809px. - Avoid light panels and decorative image sections; the black canvas is persistent.
Breakpoints:
- Mobile (
<809px): Stacked features, hamburger nav, full-width pill CTAs, hero around 40px, section spacing around 60px. - Tablet (
809px–1199px): Two-column features begin, screenshots scale down, nav may collapse non-essential links. - Desktop (
>1199px): Full nav and CTA, 110px hero, full 1200px container rhythm.
Depth is inverted for a black interface. Use rings, edge highlights, and low-opacity glow instead of traditional heavy drop shadows.
Elevation levels:
| Level | Treatment | Use |
|---|---|---|
| Level 0 | No shadow, pure #000000 |
Page background and open void |
| Level 1 | rgba(0, 153, 255, 0.15) 0px 0px 0px 1px |
Card borders, interactive outlines, focus containment |
| Level 2 | rgb(9, 9, 9) 0px 0px 0px 2px |
Subtle near-black containment on dark surfaces |
| Level 3 | rgba(255, 255, 255, 0.1) 0px 0.5px 0px 0.5px, rgba(0, 0, 0, 0.25) 0px 10px 30px |
Floating cards, overlays, elevated product surfaces |
Use Framer Blue radial glows only at very low opacity behind important product screenshots or active/focused elements. Do not use decorative gradients as major backgrounds.
The shape language is soft only where it signals interactivity. Buttons are always pills; cards and screenshots are moderately rounded; tiny UI elements stay precise.
1px: Micro-elements and precision separators.5px–7px: Small UI elements and thumbnails.8px: Standard controls, inputs, code blocks, and compact interactive elements.10px–12px: Cards and product screenshots.15px–20px: Large feature cards and containers.30px–40px: Nav pills and pagination.100px: Full pill CTAs, tags, and primary actions.
Never square off buttons. Never use 40px+ radii on normal cards or large content containers.
Buttons
- Solid white pill (
components.button-primary):#ffffffbackground,#000000text,100pxradius,10px 15pxpadding, minimum 40px height. Use for primary CTAs on dark surfaces. - Frosted pill (
components.button-frosted):rgba(255, 255, 255, 0.1)background, pill radius, scale/opacity transitions. Use sparingly as a glassy secondary action; verify contrast in context. - Ghost button (
components.button-ghost): No visible background, white text, subtle frosted hover reveal. Use for low-emphasis actions. - Motion should be simple: opacity transitions and scale-based press states. Avoid bouncy or playful animation.
Cards and containers
- Use
#000000or#090909surfaces with10px–15pxradius. - Prefer the Framer Blue ring shadow:
rgba(0, 153, 255, 0.15) 0px 0px 0px 1px. - Elevated cards may add the Level 3 white edge highlight and deep ambient shadow.
- Feature cards use
15px–30pxinternal padding and keep text hierarchy restrained.
Product screenshots
- Product UI is the hero art. Place screenshots full-width or padded inside dark containers.
- Use
8px–12pxradius, subtle containment, and responsive scaling. - Maintain aspect ratios; lazy-load below-the-fold screenshots.
- Do not add decorative illustrations when a product screenshot or demo can communicate the point.
Inputs and forms
- Inputs use dark surfaces, white text, subtle borders, and
8pxradius. - Placeholder text:
rgba(255, 255, 255, 0.4). - Focus:
1px solid #0099ffplus optionalrgba(0, 153, 255, 0.15)halo.
Navigation
- Fixed/sticky black nav with white Inter text at 15px.
- Links hover through opacity or frosted background changes, not new colors.
- Right-side CTA is a white or frosted pill.
- Collapse to hamburger below the mobile breakpoint while preserving the black canvas.
Trust and social proof
- Logos, testimonials, and metadata should be muted silver on black.
- Keep ornamentation minimal; the trust signal is product fidelity, not decorative badges.
Do:
- Use pure black (
#000000) as the page background. - Use Framer Blue (
#0099ff) only for interactive accents, focus rings, links, and borders. - Use Geist Variable for display type with confident
620–680weights and moderate negative tracking. - Apply Inter OpenType features for refined body/UI typography and Geist Mono for technical text.
- Make every button pill-shaped.
- Let product screenshots, demos, and UI previews carry the visual story.
- Use blue ring shadows for dark card containment.
Don't:
- Do not replace black with charcoal, warm gray, or brown-tinted dark backgrounds.
- Do not reference unavailable proprietary fonts or mix in decorative novelty fonts.
- Do not introduce extra accent colors, decorative gradients, or playful illustrations.
- Do not place light/white section backgrounds behind marketing content.
- Do not use squared buttons or oversized card radii.
- Do not add heavy drop shadows; use subtle rings and edge highlights.
- Do not over-tighten display tracking or use positive letter spacing on large display text.