Fernand
getfernand.com
Calm customer support for SaaS founders: AI on the front line.
getfernand.com
AI Breakdown
Design export
# Design brief: the Fernand design language
Below is a complete design specification measured from a real, published web page. Use it as a design language for the user's product. It is not a page to reproduce.
## Reference images
- Full page: https://cdn.designmunk.com/2026/09/09160321/getfernand-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/09160321/getfernand-com-featured.webp
- On DesignMunk: https://designmunk.com/fernand/
Study these for hierarchy, rhythm, spacing and density. Where an image and the written spec disagree, the spec wins: the tokens were read from the page's own CSS, the images are one rendering of it.
## Before you start
Ask the user what they are building, who it is for, and what brand assets they already have — name, colours, typefaces. Wait for their answers before writing anything. Everything below is then applied to their product, not to the reference.
## Design specification
# Fernand: Calm Support with Paste-Into-AI Onboarding
## Overview
Fernand's UI aims for calm and focus suited to SaaS founders and small teams. The palette is restrained and light, with a single deep-navy accent for actions. Typography is modern and readable with medium line heights, and spacing trends spacious in heroes with tighter stacks for demos. Interactions are minimal and confident: straightforward buttons, soft shadows at small scales, and border-led separation elsewhere.
## Colors
- **primary (#8c8f9a):** Soft slate for secondary text, links, and subtle accents.
- **secondary (#7c7c7c):** Muted gray for tertiary copy, labels, and de-emphasis.
- **tertiary (#1a2035):** Deep navy for primary actions, headlines, and strong emphasis.
- **neutral (#ffffff):** Pure white surface for pages, cards, and secondary buttons.
- **border (#131e40):** Night indigo for hairline borders, outlines, and icon strokes.
- **brand-dreamless-sleep (#111111):** Near-black for rare high-contrast text or overlays.
- **brand-leadbelcher (#cacaca):** Soft steel for dividers, muted icons, and disabled states.
- **surface (#ffffff):** Alias of neutral; default canvas for sections and cards.
- **on-surface (#8c8f9a):** Alias of primary; preferred body/secondary text on white.
## Typography
- Family: Inter (Google). Freely available; use weights 400–700. Roles: headlines at 38/31/25/21px with relaxed line heights (1.26→1.19), body at 17px/1.65 for readability.
- Substitutes if Inter is unavailable: Roboto (Google), system UI sans stack (e.g., -apple-system, Segoe UI). Keep weights at 400 for running text, 600–700 only for strong emphasis.
- Headline usage: prefer sentence case; avoid ultra-bold—clarity over drama. Body copy should maintain 60–80ch measure where possible.
## Layout
Spacing scale is compact-to-roomy: 6, 14, 24, 32, 120. Use xl (120px) for hero top/bottom padding on large screens, 32px between major home sections, and 24px within cards. Grids are simple: two-column hero (copy + demo/supporting block), then single-column stacks with responsive two–three-up feature grids. Keep gutters at 24–32px.
## Elevation & Depth
Hierarchy is conveyed with small and medium shadows early (sm/md) and by borders and tonal contrast elsewhere. Large shadows are intentionally absent. Use border #131e40 at low opacity for separation, and rely on whitespace and typographic scale rather than heavy drop shadows to lift components.
## Shapes
Corners are consistently rounded at 8px. Buttons, cards, inputs, and pills share this radius to signal interactivity and approachability. Links remain square (0px) to read as text actions.
## Components
- Buttons
- Primary: background #1a2035, text #ffffff, 47px tall, 13×20px padding, 8px radius. Use for the key CTA (e.g., Try for free).
- Secondary: background #ffffff, text #1a2035, 47px tall, 13×20px padding, 8px radius. Use alongside primary for alternative intent (e.g., Book a demo).
- Link: text #8c8f9a, radius 0px. Use for low-emphasis actions within text.
- Card: background #ffffff, text #131e40, 24px padding, 8px radius. Apply sm or md shadow as needed.
### Hero with AI-setup block
Two-column on desktop. Left: headline (38px), body (17px). Right: a copyable code/instructions card using card spec; sm shadow, on-surface text #8c8f9a, and a small copy button.
### Demo video frame with pill CTA
Large media card using md shadow; 8px radius. Overlay a pill button ("Watch a 2 minute demo") using secondary styling with an icon and subtle sm shadow.
### Channel grid
A 2–3 column grid of feature tiles (Email, Live chat widget, Knowledge base, Slack, DMs, Contact forms, Headless API). Each tile is a card: 24px padding, headline-xs (21px), body-md, and a link action.
### Team & assignment panel
Compact card showing avatars and "Assign conversation to...". Use border #131e40 for separators and 8px avatars. Actions are button-secondary.
### Rules builder
Split card with "When/Then" columns. Use headline-xs for labels, body-md for rows. Use brand-leadbelcher (#cacaca) lines to group conditions and actions.
### Smart snippets composer
Editor-like card with input, shortcut badges, and action chips. Chips are small rounded 8px with on-surface text; primary action uses button-primary.
### Support widget configurator
Right rail with toggles (On/Off) and segmented controls (Left/Right, Light/Dark). Container is a card; controls inherit 8px radius and border #131e40.
### Pricing rail
Stack of copy at body-md with a strong single line "$29/human/month". Use primary button for "Try for free" and secondary for "Book a demo".
## Do's and Don'ts
- Do use #1a2035 for primary actions and headlines; reserve #8c8f9a for secondary text and links.
- Do keep 8px corners across interactive elements; avoid mixing radii.
- Do space major sections by 32px (desktop) and heroes by 120px; don't collapse sections tighter than 24px inside cards.
- Don't introduce heavy/layered shadows; use sm/md only and prefer borders (#131e40) for separation.
- Don't add new bright accent colors; stay within the slate/navy/white palette.
- Don't exceed weight 700; most headings should remain at 400 for the calm tone.
## Agent Prompt Guide
Quick color reference
- Text: #1a2035 (strong), #8c8f9a (secondary)
- Background: #ffffff
- Border: #131e40
- Accent/Action: #1a2035
1) Build a hero with dual CTAs and an AI-setup card
- Canvas #ffffff with 120px top/bottom padding.
- Left column: Inter, headline-lg 38px/1.26 weight 400; body-md 17px/1.65 color #8c8f9a.
- CTAs: Primary button #1a2035 on #ffffff (text #ffffff), Secondary button #ffffff (text #1a2035); both 47px tall, 13×20px padding, 8px radius.
- Right column: Card #ffffff, 24px padding, 8px radius, small shadow (sm), text #131e40; include a small "Copy" link in #8c8f9a.
2) Create a 3-up feature grid (channels)
- Section padding 32px. Grid of three cards per row.
- Each card: #ffffff background, 24px padding, 8px radius, border 1px #131e40 at low opacity or sm shadow.
- Title: Inter 21px/1.19 weight 400 color #1a2035. Body: 17px/1.65 color #8c8f9a. "Learn more →" in #8c8f9a.
3) Rules builder panel (When/Then)
- Container card: #ffffff, 24px padding, 8px radius, md shadow.
- Column headings in Inter 21px, body rows 17px. Use dividers #cacaca at 1px. Primary action uses button-primary spec (#1a2035).
4) Support widget configurator
- Two-column layout: preview left, controls right (card #ffffff, 24px, 8px radius, sm shadow).
- Toggle and segmented controls use border #131e40, text #1a2035; secondary labels #8c8f9a. Keep all corners 8px.
5) Testimonial quote card
- Card #ffffff, 24px padding, 8px radius, sm shadow.
- Quote body 17px/1.65 #1a2035; attribution in #8c8f9a. Optional avatar circle 32px.
## Similar Brands
- Intercom — similar restrained palette, product-first demos; Intercom leans brighter with more gradients and heavier illustration.
- Help Scout — calm typography and clear pricing; Fernand shows more workflow UI (rules/snippets) in situ.
- Front — collaboration-forward support; Front's visuals are denser and more enterprise, while Fernand keeps the tone lighter.
- Linear — shared love of navy, sparse UI, and small shadows; Linear uses tighter spacing and bolder motion.
- Crisp — comparable widget focus; Fernand's onboarding and AI-agent copy block are more opinionated and technical.
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #8c8f9a;
--color-secondary: #7c7c7c;
--color-tertiary: #1a2035;
--color-neutral: #ffffff;
--color-border: #131e40;
--color-brand-dreamless-sleep: #111111;
--color-brand-leadbelcher: #cacaca;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 38px;
--text-headline-lg-weight: 400;
--text-headline-lg-leading: 1.26;
--text-headline-md-size: 31px;
--text-headline-md-weight: 400;
--text-headline-md-leading: 1.23;
--text-headline-sm-size: 25px;
--text-headline-sm-weight: 400;
--text-headline-sm-leading: 1.2;
--text-headline-xs-size: 21px;
--text-headline-xs-weight: 400;
--text-headline-xs-leading: 1.19;
--text-body-md-size: 17px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.65;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 120px;
/* Components */
--button-primary-background-color: var(--color-tertiary);
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 13px 20px;
--button-primary-height: 47px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-tertiary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 13px 20px;
--button-secondary-height: 47px;
--button-link-text-color: var(--color-primary);
--button-link-rounded: 0px;
--card-background-color: var(--color-neutral);
--card-text-color: var(--color-border);
--card-rounded: var(--radius-sm);
--card-padding: 24px;
}
```
### Tailwind theme
```css
@theme {
--color-primary: #8c8f9a;
--color-secondary: #7c7c7c;
--color-tertiary: #1a2035;
--color-neutral: #ffffff;
--color-border: #131e40;
--color-brand-dreamless-sleep: #111111;
--color-brand-leadbelcher: #cacaca;
--color-surface: #ffffff;
--color-on-surface: #8c8f9a;
--font-headline-lg: "Inter";
--font-headline-md: "Inter";
--font-headline-sm: "Inter";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 38px;
--text-headline-md: 31px;
--text-headline-sm: 25px;
--text-headline-xs: 21px;
--text-body-md: 17px;
--font-weight-headline-lg: 400;
--font-weight-headline-md: 400;
--font-weight-headline-sm: 400;
--font-weight-headline-xs: 400;
--font-weight-body-md: 400;
--radius-sm: 8px;
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 120px;
}
```
### Design tokens (DTCG)
```json
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.549,
0.561,
0.604
],
"hex": "#8c8f9a"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.486,
0.486
],
"hex": "#7c7c7c"
}
},
"tertiary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.102,
0.125,
0.208
],
"hex": "#1a2035"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.075,
0.118,
0.251
],
"hex": "#131e40"
}
},
"brand-dreamless-sleep": {
"$value": {
"colorSpace": "srgb",
"components": [
0.067,
0.067,
0.067
],
"hex": "#111111"
}
},
"brand-leadbelcher": {
"$value": {
"colorSpace": "srgb",
"components": [
0.792,
0.792,
0.792
],
"hex": "#cacaca"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0.549,
0.561,
0.604
],
"hex": "#8c8f9a"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 6,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 14,
"unit": "px"
}
},
"md": {
"$value": {
"value": 24,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 32,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 120,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 8,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 38,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 31,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 25,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 21,
"unit": "px"
},
"fontWeight": 400
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 17,
"unit": "px"
},
"fontWeight": 400
}
}
}
}
```
## Rules
- **Fonts.** If the specification names a custom or self-hosted family, use one of the substitutes it names. Never reference a typeface you cannot actually load — it will fall back to a system font and undo the typography.
- **Colour.** Derive the palette from the user's brand. Use the token values as a guide to *relationships* — contrast, tint, how many accents carry the page — not as hex codes to paste.
- **Never reproduce** the wordmark, mascot, logo, brand name, illustrations, icon set, screenshots or any copy from the reference.
- **Never present the result as Fernand**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.
---
version: alpha
name: Fernand
description: "Calm customer support for SaaS founders: AI on the front line."
colors:
primary: "#8c8f9a"
secondary: "#7c7c7c"
tertiary: "#1a2035"
neutral: "#ffffff"
border: "#131e40"
brand-dreamless-sleep: "#111111"
brand-leadbelcher: "#cacaca"
surface: "{colors.neutral}"
on-surface: "{colors.primary}"
typography:
headline-lg:
fontFamily: Inter
fontSize: 38px
fontWeight: 400
lineHeight: 1.26
headline-md:
fontFamily: Inter
fontSize: 31px
fontWeight: 400
lineHeight: 1.23
headline-sm:
fontFamily: Inter
fontSize: 25px
fontWeight: 400
lineHeight: 1.2
headline-xs:
fontFamily: Inter
fontSize: 21px
fontWeight: 400
lineHeight: 1.19
body-md:
fontFamily: Inter
fontSize: 17px
fontWeight: 400
lineHeight: 1.65
rounded:
sm: 8px
spacing:
xs: 6px
sm: 14px
md: 24px
lg: 32px
xl: 120px
components:
button-primary:
backgroundColor: "{colors.tertiary}"
textColor: "{colors.neutral}"
rounded: "{rounded.sm}"
padding: 13px 20px
height: 47px
button-secondary:
backgroundColor: "{colors.neutral}"
textColor: "{colors.tertiary}"
rounded: "{rounded.sm}"
padding: 13px 20px
height: 47px
button-link:
textColor: "{colors.primary}"
rounded: 0px
card:
backgroundColor: "{colors.neutral}"
textColor: "{colors.border}"
rounded: "{rounded.sm}"
padding: 24px
---
# Fernand: Calm Support with Paste-Into-AI Onboarding
## Overview
Fernand's UI aims for calm and focus suited to SaaS founders and small teams. The palette is restrained and light, with a single deep-navy accent for actions. Typography is modern and readable with medium line heights, and spacing trends spacious in heroes with tighter stacks for demos. Interactions are minimal and confident: straightforward buttons, soft shadows at small scales, and border-led separation elsewhere.
## Colors
- **primary (#8c8f9a):** Soft slate for secondary text, links, and subtle accents.
- **secondary (#7c7c7c):** Muted gray for tertiary copy, labels, and de-emphasis.
- **tertiary (#1a2035):** Deep navy for primary actions, headlines, and strong emphasis.
- **neutral (#ffffff):** Pure white surface for pages, cards, and secondary buttons.
- **border (#131e40):** Night indigo for hairline borders, outlines, and icon strokes.
- **brand-dreamless-sleep (#111111):** Near-black for rare high-contrast text or overlays.
- **brand-leadbelcher (#cacaca):** Soft steel for dividers, muted icons, and disabled states.
- **surface (#ffffff):** Alias of neutral; default canvas for sections and cards.
- **on-surface (#8c8f9a):** Alias of primary; preferred body/secondary text on white.
## Typography
- Family: Inter (Google). Freely available; use weights 400–700. Roles: headlines at 38/31/25/21px with relaxed line heights (1.26→1.19), body at 17px/1.65 for readability.
- Substitutes if Inter is unavailable: Roboto (Google), system UI sans stack (e.g., -apple-system, Segoe UI). Keep weights at 400 for running text, 600–700 only for strong emphasis.
- Headline usage: prefer sentence case; avoid ultra-bold—clarity over drama. Body copy should maintain 60–80ch measure where possible.
## Layout
Spacing scale is compact-to-roomy: 6, 14, 24, 32, 120. Use xl (120px) for hero top/bottom padding on large screens, 32px between major home sections, and 24px within cards. Grids are simple: two-column hero (copy + demo/supporting block), then single-column stacks with responsive two–three-up feature grids. Keep gutters at 24–32px.
## Elevation & Depth
Hierarchy is conveyed with small and medium shadows early (sm/md) and by borders and tonal contrast elsewhere. Large shadows are intentionally absent. Use border #131e40 at low opacity for separation, and rely on whitespace and typographic scale rather than heavy drop shadows to lift components.
## Shapes
Corners are consistently rounded at 8px. Buttons, cards, inputs, and pills share this radius to signal interactivity and approachability. Links remain square (0px) to read as text actions.
## Components
- Buttons
- Primary: background #1a2035, text #ffffff, 47px tall, 13×20px padding, 8px radius. Use for the key CTA (e.g., Try for free).
- Secondary: background #ffffff, text #1a2035, 47px tall, 13×20px padding, 8px radius. Use alongside primary for alternative intent (e.g., Book a demo).
- Link: text #8c8f9a, radius 0px. Use for low-emphasis actions within text.
- Card: background #ffffff, text #131e40, 24px padding, 8px radius. Apply sm or md shadow as needed.
### Hero with AI-setup block
Two-column on desktop. Left: headline (38px), body (17px). Right: a copyable code/instructions card using card spec; sm shadow, on-surface text #8c8f9a, and a small copy button.
### Demo video frame with pill CTA
Large media card using md shadow; 8px radius. Overlay a pill button ("Watch a 2 minute demo") using secondary styling with an icon and subtle sm shadow.
### Channel grid
A 2–3 column grid of feature tiles (Email, Live chat widget, Knowledge base, Slack, DMs, Contact forms, Headless API). Each tile is a card: 24px padding, headline-xs (21px), body-md, and a link action.
### Team & assignment panel
Compact card showing avatars and "Assign conversation to...". Use border #131e40 for separators and 8px avatars. Actions are button-secondary.
### Rules builder
Split card with "When/Then" columns. Use headline-xs for labels, body-md for rows. Use brand-leadbelcher (#cacaca) lines to group conditions and actions.
### Smart snippets composer
Editor-like card with input, shortcut badges, and action chips. Chips are small rounded 8px with on-surface text; primary action uses button-primary.
### Support widget configurator
Right rail with toggles (On/Off) and segmented controls (Left/Right, Light/Dark). Container is a card; controls inherit 8px radius and border #131e40.
### Pricing rail
Stack of copy at body-md with a strong single line "$29/human/month". Use primary button for "Try for free" and secondary for "Book a demo".
## Do's and Don'ts
- Do use #1a2035 for primary actions and headlines; reserve #8c8f9a for secondary text and links.
- Do keep 8px corners across interactive elements; avoid mixing radii.
- Do space major sections by 32px (desktop) and heroes by 120px; don't collapse sections tighter than 24px inside cards.
- Don't introduce heavy/layered shadows; use sm/md only and prefer borders (#131e40) for separation.
- Don't add new bright accent colors; stay within the slate/navy/white palette.
- Don't exceed weight 700; most headings should remain at 400 for the calm tone.
## Agent Prompt Guide
Quick color reference
- Text: #1a2035 (strong), #8c8f9a (secondary)
- Background: #ffffff
- Border: #131e40
- Accent/Action: #1a2035
1) Build a hero with dual CTAs and an AI-setup card
- Canvas #ffffff with 120px top/bottom padding.
- Left column: Inter, headline-lg 38px/1.26 weight 400; body-md 17px/1.65 color #8c8f9a.
- CTAs: Primary button #1a2035 on #ffffff (text #ffffff), Secondary button #ffffff (text #1a2035); both 47px tall, 13×20px padding, 8px radius.
- Right column: Card #ffffff, 24px padding, 8px radius, small shadow (sm), text #131e40; include a small "Copy" link in #8c8f9a.
2) Create a 3-up feature grid (channels)
- Section padding 32px. Grid of three cards per row.
- Each card: #ffffff background, 24px padding, 8px radius, border 1px #131e40 at low opacity or sm shadow.
- Title: Inter 21px/1.19 weight 400 color #1a2035. Body: 17px/1.65 color #8c8f9a. "Learn more →" in #8c8f9a.
3) Rules builder panel (When/Then)
- Container card: #ffffff, 24px padding, 8px radius, md shadow.
- Column headings in Inter 21px, body rows 17px. Use dividers #cacaca at 1px. Primary action uses button-primary spec (#1a2035).
4) Support widget configurator
- Two-column layout: preview left, controls right (card #ffffff, 24px, 8px radius, sm shadow).
- Toggle and segmented controls use border #131e40, text #1a2035; secondary labels #8c8f9a. Keep all corners 8px.
5) Testimonial quote card
- Card #ffffff, 24px padding, 8px radius, sm shadow.
- Quote body 17px/1.65 #1a2035; attribution in #8c8f9a. Optional avatar circle 32px.
## Similar Brands
- Intercom — similar restrained palette, product-first demos; Intercom leans brighter with more gradients and heavier illustration.
- Help Scout — calm typography and clear pricing; Fernand shows more workflow UI (rules/snippets) in situ.
- Front — collaboration-forward support; Front's visuals are denser and more enterprise, while Fernand keeps the tone lighter.
- Linear — shared love of navy, sparse UI, and small shadows; Linear uses tighter spacing and bolder motion.
- Crisp — comparable widget focus; Fernand's onboarding and AI-agent copy block are more opinionated and technical.
:root {
/* Colors */
--color-primary: #8c8f9a;
--color-secondary: #7c7c7c;
--color-tertiary: #1a2035;
--color-neutral: #ffffff;
--color-border: #131e40;
--color-brand-dreamless-sleep: #111111;
--color-brand-leadbelcher: #cacaca;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 38px;
--text-headline-lg-weight: 400;
--text-headline-lg-leading: 1.26;
--text-headline-md-size: 31px;
--text-headline-md-weight: 400;
--text-headline-md-leading: 1.23;
--text-headline-sm-size: 25px;
--text-headline-sm-weight: 400;
--text-headline-sm-leading: 1.2;
--text-headline-xs-size: 21px;
--text-headline-xs-weight: 400;
--text-headline-xs-leading: 1.19;
--text-body-md-size: 17px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.65;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 120px;
/* Components */
--button-primary-background-color: var(--color-tertiary);
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 13px 20px;
--button-primary-height: 47px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-tertiary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 13px 20px;
--button-secondary-height: 47px;
--button-link-text-color: var(--color-primary);
--button-link-rounded: 0px;
--card-background-color: var(--color-neutral);
--card-text-color: var(--color-border);
--card-rounded: var(--radius-sm);
--card-padding: 24px;
}
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "Calm customer support for SaaS founders: AI on the front line.",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.549,
0.561,
0.604
],
"hex": "#8c8f9a"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.486,
0.486
],
"hex": "#7c7c7c"
}
},
"tertiary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.102,
0.125,
0.208
],
"hex": "#1a2035"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.075,
0.118,
0.251
],
"hex": "#131e40"
}
},
"brand-dreamless-sleep": {
"$value": {
"colorSpace": "srgb",
"components": [
0.067,
0.067,
0.067
],
"hex": "#111111"
}
},
"brand-leadbelcher": {
"$value": {
"colorSpace": "srgb",
"components": [
0.792,
0.792,
0.792
],
"hex": "#cacaca"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
1,
1
],
"hex": "#ffffff"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0.549,
0.561,
0.604
],
"hex": "#8c8f9a"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 6,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 14,
"unit": "px"
}
},
"md": {
"$value": {
"value": 24,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 32,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 120,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 8,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 38,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 31,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 25,
"unit": "px"
},
"fontWeight": 400
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 21,
"unit": "px"
},
"fontWeight": 400
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 17,
"unit": "px"
},
"fontWeight": 400
}
}
}
} @theme {
--color-primary: #8c8f9a;
--color-secondary: #7c7c7c;
--color-tertiary: #1a2035;
--color-neutral: #ffffff;
--color-border: #131e40;
--color-brand-dreamless-sleep: #111111;
--color-brand-leadbelcher: #cacaca;
--color-surface: #ffffff;
--color-on-surface: #8c8f9a;
--font-headline-lg: "Inter";
--font-headline-md: "Inter";
--font-headline-sm: "Inter";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 38px;
--text-headline-md: 31px;
--text-headline-sm: 25px;
--text-headline-xs: 21px;
--text-body-md: 17px;
--font-weight-headline-lg: 400;
--font-weight-headline-md: 400;
--font-weight-headline-sm: 400;
--font-weight-headline-xs: 400;
--font-weight-body-md: 400;
--radius-sm: 8px;
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 120px;
} # Design brief: the Fernand design language
Below is a complete design specification measured from a real, published web page. Use it as a design language for the user's product. It is not a page to reproduce.
## Reference images
- Full page: https://cdn.designmunk.com/2026/09/09160321/getfernand-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/09160321/getfernand-com-featured.webp
- On DesignMunk: https://designmunk.com/fernand/
Study these for hierarchy, rhythm, spacing and density. Where an image and the written spec disagree, the spec wins: the tokens were read from the page's own CSS, the images are one rendering of it.
## Before you start
Ask the user what they are building, who it is for, and what brand assets they already have — name, colours, typefaces. Wait for their answers before writing anything. Everything below is then applied to their product, not to the reference.
## Design specification
# Fernand: Calm Support with Paste-Into-AI Onboarding
## Overview
Fernand's UI aims for calm and focus suited to SaaS founders and small teams. The palette is restrained and light, with a single deep-navy accent for actions. Typography is modern and readable with medium line heights, and spacing trends spacious in heroes with tighter stacks for demos. Interactions are minimal and confident: straightforward buttons, soft shadows at small scales, and border-led separation elsewhere.
## Colors
- **primary (#8c8f9a):** Soft slate for secondary text, links, and subtle accents.
- **secondary (#7c7c7c):** Muted gray for tertiary copy, labels, and de-emphasis.
- **tertiary (#1a2035):** Deep navy for primary actions, headlines, and strong emphasis.
- **neutral (#ffffff):** Pure white surface for pages, cards, and secondary buttons.
- **border (#131e40):** Night indigo for hairline borders, outlines, and icon strokes.
- **brand-dreamless-sleep (#111111):** Near-black for rare high-contrast text or overlays.
- **brand-leadbelcher (#cacaca):** Soft steel for dividers, muted icons, and disabled states.
- **surface (#ffffff):** Alias of neutral; default canvas for sections and cards.
- **on-surface (#8c8f9a):** Alias of primary; preferred body/secondary text on white.
## Typography
- Family: Inter (Google). Freely available; use weights 400–700. Roles: headlines at 38/31/25/21px with relaxed line heights (1.26→1.19), body at 17px/1.65 for readability.
- Substitutes if Inter is unavailable: Roboto (Google), system UI sans stack (e.g., -apple-system, Segoe UI). Keep weights at 400 for running text, 600–700 only for strong emphasis.
- Headline usage: prefer sentence case; avoid ultra-bold—clarity over drama. Body copy should maintain 60–80ch measure where possible.
## Layout
Spacing scale is compact-to-roomy: 6, 14, 24, 32, 120. Use xl (120px) for hero top/bottom padding on large screens, 32px between major home sections, and 24px within cards. Grids are simple: two-column hero (copy + demo/supporting block), then single-column stacks with responsive two–three-up feature grids. Keep gutters at 24–32px.
## Elevation & Depth
Hierarchy is conveyed with small and medium shadows early (sm/md) and by borders and tonal contrast elsewhere. Large shadows are intentionally absent. Use border #131e40 at low opacity for separation, and rely on whitespace and typographic scale rather than heavy drop shadows to lift components.
## Shapes
Corners are consistently rounded at 8px. Buttons, cards, inputs, and pills share this radius to signal interactivity and approachability. Links remain square (0px) to read as text actions.
## Components
- Buttons
- Primary: background #1a2035, text #ffffff, 47px tall, 13×20px padding, 8px radius. Use for the key CTA (e.g., Try for free).
- Secondary: background #ffffff, text #1a2035, 47px tall, 13×20px padding, 8px radius. Use alongside primary for alternative intent (e.g., Book a demo).
- Link: text #8c8f9a, radius 0px. Use for low-emphasis actions within text.
- Card: background #ffffff, text #131e40, 24px padding, 8px radius. Apply sm or md shadow as needed.
### Hero with AI-setup block
Two-column on desktop. Left: headline (38px), body (17px). Right: a copyable code/instructions card using card spec; sm shadow, on-surface text #8c8f9a, and a small copy button.
### Demo video frame with pill CTA
Large media card using md shadow; 8px radius. Overlay a pill button ("Watch a 2 minute demo") using secondary styling with an icon and subtle sm shadow.
### Channel grid
A 2–3 column grid of feature tiles (Email, Live chat widget, Knowledge base, Slack, DMs, Contact forms, Headless API). Each tile is a card: 24px padding, headline-xs (21px), body-md, and a link action.
### Team & assignment panel
Compact card showing avatars and "Assign conversation to...". Use border #131e40 for separators and 8px avatars. Actions are button-secondary.
### Rules builder
Split card with "When/Then" columns. Use headline-xs for labels, body-md for rows. Use brand-leadbelcher (#cacaca) lines to group conditions and actions.
### Smart snippets composer
Editor-like card with input, shortcut badges, and action chips. Chips are small rounded 8px with on-surface text; primary action uses button-primary.
### Support widget configurator
Right rail with toggles (On/Off) and segmented controls (Left/Right, Light/Dark). Container is a card; controls inherit 8px radius and border #131e40.
### Pricing rail
Stack of copy at body-md with a strong single line "$29/human/month". Use primary button for "Try for free" and secondary for "Book a demo".
## Do's and Don'ts
- Do use #1a2035 for primary actions and headlines; reserve #8c8f9a for secondary text and links.
- Do keep 8px corners across interactive elements; avoid mixing radii.
- Do space major sections by 32px (desktop) and heroes by 120px; don't collapse sections tighter than 24px inside cards.
- Don't introduce heavy/layered shadows; use sm/md only and prefer borders (#131e40) for separation.
- Don't add new bright accent colors; stay within the slate/navy/white palette.
- Don't exceed weight 700; most headings should remain at 400 for the calm tone.
## Agent Prompt Guide
Quick color reference
- Text: #1a2035 (strong), #8c8f9a (secondary)
- Background: #ffffff
- Border: #131e40
- Accent/Action: #1a2035
1) Build a hero with dual CTAs and an AI-setup card
- Canvas #ffffff with 120px top/bottom padding.
- Left column: Inter, headline-lg 38px/1.26 weight 400; body-md 17px/1.65 color #8c8f9a.
- CTAs: Primary button #1a2035 on #ffffff (text #ffffff), Secondary button #ffffff (text #1a2035); both 47px tall, 13×20px padding, 8px radius.
- Right column: Card #ffffff, 24px padding, 8px radius, small shadow (sm), text #131e40; include a small "Copy" link in #8c8f9a.
2) Create a 3-up feature grid (channels)
- Section padding 32px. Grid of three cards per row.
- Each card: #ffffff background, 24px padding, 8px radius, border 1px #131e40 at low opacity or sm shadow.
- Title: Inter 21px/1.19 weight 400 color #1a2035. Body: 17px/1.65 color #8c8f9a. "Learn more →" in #8c8f9a.
3) Rules builder panel (When/Then)
- Container card: #ffffff, 24px padding, 8px radius, md shadow.
- Column headings in Inter 21px, body rows 17px. Use dividers #cacaca at 1px. Primary action uses button-primary spec (#1a2035).
4) Support widget configurator
- Two-column layout: preview left, controls right (card #ffffff, 24px, 8px radius, sm shadow).
- Toggle and segmented controls use border #131e40, text #1a2035; secondary labels #8c8f9a. Keep all corners 8px.
5) Testimonial quote card
- Card #ffffff, 24px padding, 8px radius, sm shadow.
- Quote body 17px/1.65 #1a2035; attribution in #8c8f9a. Optional avatar circle 32px.
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #8c8f9a;
--color-secondary: #7c7c7c;
--color-tertiary: #1a2035;
--color-neutral: #ffffff;
--color-border: #131e40;
--color-brand-dreamless-sleep: #111111;
--color-brand-leadbelcher: #cacaca;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 38px;
--text-headline-lg-weight: 400;
--text-headline-lg-leading: 1.26;
--text-headline-md-size: 31px;
--text-headline-md-weight: 400;
--text-headline-md-leading: 1.23;
--text-headline-sm-size: 25px;
--text-headline-sm-weight: 400;
--text-headline-sm-leading: 1.2;
--text-headline-xs-size: 21px;
--text-headline-xs-weight: 400;
--text-headline-xs-leading: 1.19;
--text-body-md-size: 17px;
--text-body-md-weight: 400;
--text-body-md-leading: 1.65;
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
/* Spacing */
--spacing-xs: 6px;
--spacing-sm: 14px;
--spacing-md: 24px;
--spacing-lg: 32px;
--spacing-xl: 120px;
/* Components */
--button-primary-background-color: var(--color-tertiary);
--button-primary-text-color: var(--color-neutral);
--button-primary-rounded: var(--radius-sm);
--button-primary-padding: 13px 20px;
--button-primary-height: 47px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: var(--color-tertiary);
--button-secondary-rounded: var(--radius-sm);
--button-secondary-padding: 13px 20px;
--button-secondary-height: 47px;
--button-link-text-color: var(--color-primary);
--button-link-rounded: 0px;
--card-background-color: var(--color-neutral);
--card-text-color: var(--color-border);
--card-rounded: var(--radius-sm);
--card-padding: 24px;
}
```
## Rules
- **Fonts.** If the specification names a custom or self-hosted family, use one of the substitutes it names. Never reference a typeface you cannot actually load — it will fall back to a system font and undo the typography.
- **Colour.** Derive the palette from the user's brand. Use the token values as a guide to *relationships* — contrast, tint, how many accents carry the page — not as hex codes to paste.
- **Never reproduce** the wordmark, mascot, logo, brand name, illustrations, icon set, screenshots or any copy from the reference.
- **Never present the result as Fernand**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.

