vessa.design
AI Breakdown
Design export
---
version: alpha
name: Vessa
description: The only brand guidelines people actually open.
colors:
primary: "#101216"
secondary: "#848cec"
tertiary: "#1f2de6"
neutral: "#eef0f3"
border: "#a2a3a5"
surface: "{colors.neutral}"
on-surface: "{colors.primary}"
typography:
headline-lg:
fontFamily: Switzer
fontSize: 47px
fontWeight: 500
lineHeight: 1.03
letterSpacing: -0.045em
headline-md:
fontFamily: Switzer
fontSize: 36px
fontWeight: 500
lineHeight: 1.19
letterSpacing: -0.029em
headline-sm:
fontFamily: Switzer
fontSize: 27px
fontWeight: 500
lineHeight: 1.19
letterSpacing: -0.009em
headline-xs:
fontFamily: Switzer
fontSize: 21px
fontWeight: 500
lineHeight: 1.19
body-md:
fontFamily: Switzer
fontSize: 16px
fontWeight: 400
lineHeight: 1.55
rounded:
sm: 8px
md: 10px
spacing:
xs: 2px
sm: 10px
md: 18px
lg: 28px
xl: 104px
components:
button-primary:
backgroundColor: "{colors.tertiary}"
textColor: "#ffffff"
rounded: "{rounded.sm}"
padding: 13px 16px
height: 40px
button-secondary:
textColor: "#676d78"
rounded: "{rounded.sm}"
padding: 13px 16px
height: 40px
button-link:
textColor: "{colors.tertiary}"
rounded: 0px
card:
backgroundColor: "#f5f6f8"
textColor: "{colors.primary}"
rounded: "{rounded.md}"
padding: 6px 0px
---
# Vessa: Interactive Brand Guidelines with an Ultramarine Rail
## Overview
Vessa presents brand guidelines as a live product interface. The tone is precise, direct, and utilitarian: ink on paper with a vivid ultramarine accent. Spacing is roomy and modular, letting content breathe while keeping controls compact. When tokens don't specify, default to clarity over decoration and prioritize readable contrast and simple interactions.
## Colors
- **primary (#101216):** Ink for headlines, body text, and icons. Highest-contrast text on light surfaces.
- **secondary (#848cec):** Soft accent for subtle highlights and supportive UI states; avoid for primary CTAs.
- **tertiary (#1f2de6):** Ultramarine action color for primary buttons, rails, and key links.
- **neutral (#eef0f3):** Paper background for the page and large sections.
- **border (#a2a3a5):** Graphite line for dividers, outlines, and low-contrast rules.
- **surface ({colors.neutral}):** Alias of neutral; use for cards and panels where a separate surface token is required.
- **on-surface ({colors.primary}):** Alias of primary; main text color on any light surface.
## Typography
- Family: Switzer (self-hosted). Headlines use weight 500 with tight letter-spacing; body is 16px/1.55 at weight 400. Sizes: 47/36/27/21px headline steps.
- Availability: Switzer is custom-served here; agents should not hotlink it. Use obtainable substitutes with a similar contemporary grotesk tone: Inter (Google Fonts), Plus Jakarta Sans (Google Fonts), or Satoshi (Fontshare).
- Roles: Headline-lg (47px, 500, -0.045em, 1.03) for primary statements; headline-md (36px, 500, -0.029em) for section leads; headline-sm (27px, 500, -0.009em) and headline-xs (21px, 500) for subheads; body-md (16px, 400, 1.55) for copy and lists.
## Layout
- Spacing scale: 2, 10, 18, 28, 104. Use 18px and 28px as the working rhythm for stacks and gutters; reserve 104px for major section spacing and hero blocks.
- Grid: A centered content column with generous outer gutters; cards and panels sit on the neutral surface with 10–28px internal padding.
- Flow: Headline then concise copy, followed by a single primary action. Demonstrations (tabs, swatches, motion) occupy full-width sections to read like product screens.
- Card padding follows the token (6px top/bottom) with additional inner spacing created by content blocks using the scale.
## Elevation & Depth
Shadows are minimal (sm only: rgba(0,0,0,0.05) 0 1px 2px). Hierarchy is conveyed through tone (neutral vs. paper), thin borders (#A2A3A5), and whitespace. Reserve the ultramarine rail and primary buttons to mark the most important interactions rather than adding larger shadows.
## Shapes
Two radii are used: 8px for controls and small surfaces (buttons, inputs, chips) and 10px for larger cards and panels. No fully pill-shaped elements; geometry stays mostly rectangular to feel tool-like.
## Components
- Button — Primary: #1F2DE6 background, #FFFFFF text, 8px radius, 13x16px padding, 40px height. Use for main actions.
- Button — Secondary: Text-only button in #676D78 with 8px radius and the same 13x16px padding/40px height where buttons align in a row.
- Button — Link: Inline action with #1F2DE6 text and 0px radius. For lightweight navigational links.
- Card: #F5F6F8 surface, #101216 text, 10px radius, 6px vertical padding. Use for pricing, examples, and embedded demos.
### Section Tabs Rail
A full-bleed band with background #1F2DE6. Contains horizontally scrollable section tabs (chips at 8px radius) and prev/next controls. Text sits in #FFFFFF.
### Palette Swatches
Large swatches labeled "Ink #101216", "Paper #EEF0F3", "Ultramarine #1F2DE6". Each copies the hex to clipboard on click; sit on neutral surface with thin borders.
### Motion Spec Block
A compact panel listing easing and duration values as real numbers. Use body-md for values; key labels can take headline-xs.
### AI Command Console
A code-like log showing commands and confirmations. Body-md text in #101216 with highlights in #1F2DE6. Container uses 10px radius and neutral surface.
### Pricing Tier Card
Two side-by-side cards using the Card token. Headlines in headline-sm, price called out near headline-md, bullets in body-md. Primary CTA uses the primary button.
### Password Gate Prompt
Short form with a single password input (8px radius) and a primary button. Copy uses body-md; background stays on neutral to imply privacy without heavy chrome.
### Email Capture Bar
One input and a primary button aligned inline. Maintain 18px gaps and 8px radii; border color #A2A3A5 for the field outline.
### Example Brand Links
Two headline-style links (VANTA, Pythia) using button-link styling in #1F2DE6. Place on neutral surface with 28px vertical spacing.
## Do's and Don'ts
- Do reserve #1F2DE6 for primary CTAs, the section rail, and key links; keep general accents to #848CEC only when a softer cue is needed.
- Do set major headlines in Switzer 47/36/27/21 at weight 500 with the specified negative letter-spacing.
- Do space sections with 104px blocks; use 18px and 28px for inner stacks and control group gaps.
- Don't introduce heavy shadows beyond the sm token; prefer borders (#A2A3A5) and tonal steps (#F5F6F8, #EEF0F3).
- Don't round elements beyond 8px for controls or 10px for cards; avoid pills.
- Don't mix multiple display fonts; if Switzer is unavailable, pick one substitute and use it consistently.
## Agent Prompt Guide
Quick color reference — Text: #101216 · Background: #EEF0F3 · Border: #A2A3A5 · Accent/CTA: #1F2DE6
1) Build a hero header
- Set page background to #EEF0F3 and text to #101216.
- Use font-family: "Switzer", Inter, system-ui. H1: 47px, font-weight 500, line-height 1.03, letter-spacing -0.045em.
- Body copy: 16px/1.55, weight 400.
- Add a primary button: background #1F2DE6, text #FFFFFF, height 40px, padding 13px 16px, border-radius 8px.
- Space hero with 104px top and bottom.
2) Create an ultramarine tabs rail
- Insert a full-width section with background #1F2DE6 and 28px vertical padding.
- Add horizontally scrollable chips for tabs: text #FFFFFF, background transparent with 1px #FFFFFF border, border-radius 8px, 18px gaps.
3) Feature card with swatches
- Place a card container: background #F5F6F8, text #101216, border-radius 10px, padding 28px.
- Add three color swatches labeled with hexes #101216, #EEF0F3, #1F2DE6. Each swatch copies its hex on click.
4) Pricing section (two tiers)
- Grid of two cards using the card styles above. Headline: 27px/500; price line: 36px/500.
- Bullets in 16px/1.55. Primary CTA buttons use #1F2DE6 with 8px radius.
5) Email capture bar
- Inline input (border 1px #A2A3A5, radius 8px, 18px internal padding) and a primary button (40px tall). Maintain 18px gap between controls.
## Similar Brands
- Linear — Similar restraint and blue-forward accent; Linear leans darker with more motion microdetails.
- Stripe — Precise typography and generous spacing; Stripe uses deeper gradients and richer illustrations.
- Vercel — Tool-first tone with minimal chrome; Vercel is monochrome and denser.
- Framer — Product demos in-page; Framer's palette is darker and uses heavier effects.
- Brandpad — Adjacent product space; their pages emphasize downloads, whereas Vessa centers the live page.
:root {
/* Colors */
--color-primary: #101216;
--color-secondary: #848cec;
--color-tertiary: #1f2de6;
--color-neutral: #eef0f3;
--color-border: #a2a3a5;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 47px;
--text-headline-lg-weight: 500;
--text-headline-lg-leading: 1.03;
--text-headline-lg-tracking: -0.045em;
--text-headline-md-size: 36px;
--text-headline-md-weight: 500;
--text-headline-md-leading: 1.19;
--text-headline-md-tracking: -0.029em;
--text-headline-sm-size: 27px;
--text-headline-sm-weight: 500;
--text-headline-sm-leading: 1.19;
--text-headline-sm-tracking: -0.009em;
--text-headline-xs-size: 21px;
--text-headline-xs-weight: 500;
--text-headline-xs-leading: 1.19;
--text-body-md-size: 16px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.55;
--font-switzer: "Switzer";
/* Rounded */
--radius-sm: 8px;
--radius-md: 10px;
/* Spacing */
--spacing-xs: 2px;
--spacing-sm: 10px;
--spacing-md: 18px;
--spacing-lg: 28px;
--spacing-xl: 104px;
/* Components */
--button-primary-background-color: var(--color-tertiary);
--button-primary-text-color: #ffffff;
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 13px 16px;
--button-primary-height: 40px;
--button-secondary-text-color: #676d78;
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 13px 16px;
--button-secondary-height: 40px;
--button-link-text-color: var(--color-tertiary);
--button-link-rounded: 0px;
--card-background-color: #f5f6f8;
--card-text-color: var(--color-primary);
--card-rounded: var(--radius-md);
--card-padding: 6px 0px;
}
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "The only brand guidelines people actually open.",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.063,
0.071,
0.086
],
"hex": "#101216"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.518,
0.549,
0.925
],
"hex": "#848cec"
}
},
"tertiary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.122,
0.176,
0.902
],
"hex": "#1f2de6"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
0.933,
0.941,
0.953
],
"hex": "#eef0f3"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.635,
0.639,
0.647
],
"hex": "#a2a3a5"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0.933,
0.941,
0.953
],
"hex": "#eef0f3"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0.063,
0.071,
0.086
],
"hex": "#101216"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 2,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 10,
"unit": "px"
}
},
"md": {
"$value": {
"value": 18,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 28,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 104,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 8,
"unit": "px"
}
},
"md": {
"$value": {
"value": 10,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Switzer",
"fontSize": {
"value": 47,
"unit": "px"
},
"fontWeight": 500,
"letterSpacing": {
"value": -0.045,
"unit": "em"
}
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Switzer",
"fontSize": {
"value": 36,
"unit": "px"
},
"fontWeight": 500,
"letterSpacing": {
"value": -0.029,
"unit": "em"
}
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Switzer",
"fontSize": {
"value": 27,
"unit": "px"
},
"fontWeight": 500,
"letterSpacing": {
"value": -0.009,
"unit": "em"
}
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Switzer",
"fontSize": {
"value": 21,
"unit": "px"
},
"fontWeight": 500
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Switzer",
"fontSize": {
"value": 16,
"unit": "px"
},
"fontWeight": 400
}
}
}
} More like this
Browse Design Tools →
every.to
AI
Build Faster With AI
Blog · 18 minutes ago
thelevel.ai
AI
A minimalist hero uses extreme whitespace, centering attention on a large, high-contrast headline with an orange eyebrow tag for context. The top…
About · 18 minutes ago
strata.ws
Productivity
The all-in-one real-time platform for your knowledge archive
Homepage · 2 hours ago
prismic.io
Developer Tools
Move faster from brief to live pages
Blog · 3 hours ago

