Skip to content

Exalt Studio

exalt-studio.com
Turn complex software into clear, scalable product systems.
exalt-studio.com DESKTOP · 1440
Exalt Studio

AI Breakdown

Design export

# Design brief: the Exalt Studio 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/05135015/exalt-studio.webp
- Above the fold: https://cdn.designmunk.com/2026/09/05135015/exalt-studio.webp
- On DesignMunk: https://designmunk.com/exalt-studio/

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

# Exalt Studio: Pill CTAs on a Painted Blue Hero

## Overview

Exalt Studio targets B2B AI and SaaS teams, presenting a confident yet restrained system that foregrounds clarity over decoration. The interface is light-mode, spacious, and text-led with decisive headlines and compact controls. Interaction density is moderate: large section paddings support narrative scanning while 36px controls keep forms and CTAs efficient. When tokens don't specify, prefer quiet white surfaces, minimal borders, and generous breathing room.

## Colors

- **primary (#161218):** Core ink for headlines, body text and icons; ensure legible contrast on white.
- **secondary (#848486):** Muted text for captions, meta and subdued UI copy.
- **neutral (#ffffff):** Base canvas for pages, cards and buttons.
- **border (#e5e7eb):** Single-pixel dividers and subtle card outlines; also useful for hairline separators.
- **brand-cerebellum-grey (#cccbcc):** Soft accent gray for logos, muted chips or de-emphasized UI states.
- **surface ({colors.neutral} → #ffffff):** Generic surface token; match page and card backgrounds.
- **on-surface ({colors.primary} → #161218):** Text and icon color when placed on any surface token.

## Typography

- Asta Sans (Google; freely loadable). Used for all headlines: 60px/600/-0.03em (headline-lg) for the hero; 52px/600/-0.03em (headline-md) for major section leads; 40px/600/-0.03em (headline-sm) for subheads; 18px/600 for micro-heads and overlines. If Google Fonts cannot load, fall back to system-ui, Segoe UI, Roboto, Helvetica, Arial.
- DM Mono (Google; freely loadable). Body copy, meta and interface text use body-md at 16px/500/1.5 with +0.015em tracking, giving a technical tone aligned with B2B software. Fallbacks: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace.
Use tight tracking in headlines and the slightly expanded mono in body to maintain the clear-craft contrast throughout the page.

## Layout

Spacing follows a simple scale: 12px (xs) for tight gaps, 24px (sm) for intra-component padding, 48px (md) for block spacing, 64px (lg) for section padding, and 136px (xl) for hero/band top-bottom paddings. A responsive 12-column grid suits the content; cards typically span 3–4 columns on desktop and stack on mobile with sm or md gaps. Keep copy line lengths moderate; the mono body benefits from 60–72ch measures. Use consistent vertical rhythm by snapping margins to sm/md multiples and reserving xl for major bands.

## Elevation & Depth

All measured shadows are none; hierarchy is expressed through type scale, whitespace and hairline borders. Use border (#e5e7eb) for card outlines and section dividers. Tonal shifts are minimal—stay on white surfaces with on-surface text unless the art direction (e.g., hero illustration) supplies contrast.

## Shapes

Two radii define the language: sm at 8px for cards and UI containers, and full at 9999px for pill-shaped buttons and chips. Avoid intermediate radii; the contrast between subtle-cornered blocks and fully rounded controls is intentional and should signal interactivity.

## Components

- button-primary: White background (#ffffff), ink text (#161218), 36px height, 0–16px horizontal padding, full (9999px) radius. Use for primary CTAs like "Book intro call".
- button-secondary: Transparent background with neutral text (#ffffff) when used on dark imagery, 36px height, 16px horizontal padding, full radius. If placed on light surfaces, switch text to #161218 and add a 1px border (#e5e7eb) for definition.
- button-link: Text-only action in #161218 with no radius; reserve for inline links and tertiary calls.
- card: White surface (#ffffff) with ink text (#161218), 8px radius and 16px internal padding; add a 1px border (#e5e7eb) when separation is needed.

### Hero Banner with Painted Sky
- Layout: xl (136px) vertical padding; headline-lg at 60px, supporting paragraph in DM Mono 16px. Two CTAs aligned left.
- Colors: Text in #ffffff when placed over dark artwork; otherwise default to #161218 on white.

### Trusted-by Logo Strip
- Grid of monochrome client logos on a dark/blue band; spacing sm–md between items. Use brand-cerebellum-grey (#cccbcc) for subdued logos.

### Process Steps (01–04)
- Each step: overline in headline-xs (18px/600), step number in DM Mono, title in headline-sm (40px/600), one-sentence body in DM Mono 16px. Vertical spacing sm between lines, md between steps.

### Services List with Inline CTAs
- Four–five service blocks. Title in headline-sm, description in DM Mono 16px, trailing link as button-link with arrow. Use md internal spacing and lg band padding.

### Testimonial Blockquote
- Quote set in headline-sm for emphasis; attribution in DM Mono 16px/secondary (#848486). Card container with 8px radius and 16px padding on white.

### Selected Work Grid
- Cards use the card token: 8px radius, 16px padding, optional border. Title in headline-xs or headline-sm; metadata (tags, funding) in DM Mono/secondary. Grid gap sm–md.

### FAQ Accordion
- Question in headline-xs (18px/600); answer in DM Mono 16px. Divider lines use #e5e7eb; expand/collapse chevron as button-link style.

### Footer Columns
- Multi-column list of links with DM Mono 16px; headings in headline-xs; top border #e5e7eb and lg padding.

## Do's and Don'ts

- Do keep surfaces white (#ffffff) and use hairline borders (#e5e7eb) instead of shadows.
- Do pair Asta Sans headlines with DM Mono body at 16px/500; avoid mixing other families.
- Do use only two radii: 8px for containers and 9999px for interactive pills.
- Don't introduce colored fills for cards; keep them on white with ink text.
- Don't add intermediate spacing values—compose layouts from xs/sm/md/lg/xl only.
- Don't rely on low-contrast secondary actions over busy imagery; add a border or move to a white surface.

## Agent Prompt Guide

Quick color reference — text: #161218, background: #ffffff, border: #e5e7eb, accent gray: #cccbcc (secondary text #848486).

1) Build a hero section with two CTAs:
- Canvas: white (#ffffff) with a full-width hero image overlay. Left-align content in a max-width container.
- H1: Asta Sans, 60px, 600, line-height 1.2, letter-spacing -0.03em, color #ffffff if over dark art (otherwise #161218).
- Paragraph: DM Mono, 16px, 500, line-height 1.5, letter-spacing 0.015em, color #ffffff or #161218 to match contrast.
- Primary button: 36px height, 16px horizontal padding, radius 9999px, background #ffffff, text #161218.
- Secondary button: 36px height, 16px padding, radius 9999px, transparent background, text #ffffff; add 1px border in #ffffff if needed.
- Spacing: xl (136px) top and bottom of the hero content block.

2) Create a 4-card "Selected Work" grid:
- Each card: background #ffffff, text #161218, radius 8px, padding 16px, 1px border #e5e7eb.
- Title: Asta Sans 40px/600 or 18px/600 depending on card size.
- Meta tags: DM Mono 16px/500, color #848486.
- Grid: 12 columns, cards span 3 columns on desktop; gap sm (24px).

3) Design the 4-step Process band:
- Band padding: lg (64px) top and bottom.
- Step number: DM Mono 16px/500, color #848486.
- Step title: Asta Sans 40px/600, -0.03em.
- Body: DM Mono 16px/500, 1.5 line-height.
- Use dividers in #e5e7eb or md (48px) gaps between steps.

4) Ship a CTA footer section:
- Container on white (#ffffff) with lg (64px) vertical padding.
- Headline: Asta Sans 52px/600, -0.03em, color #161218.
- Supporting copy: DM Mono 16px/500, color #161218.
- Primary button: as above (36px height, #ffffff background, #161218 text, radius 9999px).
- Add a top border #e5e7eb to separate from previous content.

## Similar Brands

- MetaLab — Similar type-first, calm presentation; MetaLab uses more color accents and denser case content.
- Clay — Polished agency work with big imagery; Clay leans heavier on gradients and motion compared to Exalt's flat UI.
- Ramotion — Product-focused case studies and clear CTAs; uses more color variety and iconography.
- Instrument — Spacious layouts and disciplined typography; more editorial photography and storytelling than this utilitarian approach.
- Funsize — B2B product design emphasis with structured process sections; generally warmer palette and friendlier tone.

## Tokens

### CSS custom properties

```css
:root {
  /* Colors */
  --color-primary: #161218;
  --color-secondary: #848486;
  --color-neutral: #ffffff;
  --color-border: #e5e7eb;
  --color-brand-cerebellum-grey: #cccbcc;
  --color-surface: var(--color-neutral);
  --color-on-surface: var(--color-primary);

  /* Typography */
  --text-headline-lg-size: 60px;
  --text-headline-lg-weight: 600;
  --text-headline-lg-leading: 1.2;
  --text-headline-lg-tracking: -0.03em;
  --text-headline-md-size: 52px;
  --text-headline-md-weight: 600;
  --text-headline-md-leading: 1.12;
  --text-headline-md-tracking: -0.03em;
  --text-headline-sm-size: 40px;
  --text-headline-sm-weight: 600;
  --text-headline-sm-leading: 1.2;
  --text-headline-sm-tracking: -0.03em;
  --text-headline-xs-size: 18px;
  --text-headline-xs-weight: 600;
  --text-headline-xs-leading: 1.22;
  --text-body-md-size: 16px;
  --text-body-md-weight: 500;
  --text-body-md-leading: 1.5;
  --text-body-md-tracking: 0.015em;
  --font-asta-sans: "Asta Sans";
  --font-dm-mono: "DM Mono";

  /* Rounded */
  --radius-sm: 8px;
  --radius-full: 9999px;

  /* Spacing */
  --spacing-xs: 12px;
  --spacing-sm: 24px;
  --spacing-md: 48px;
  --spacing-lg: 64px;
  --spacing-xl: 136px;

  /* Components */
  --button-primary-background-color: var(--color-neutral);
  --button-primary-text-color: var(--color-primary);
  --button-primary-rounded: var(--radius-full);
  --button-primary-padding: 0px 16px;
  --button-primary-height: 36px;
  --button-secondary-text-color: var(--color-neutral);
  --button-secondary-rounded: var(--radius-full);
  --button-secondary-padding: 0px 16px;
  --button-secondary-height: 36px;
  --button-link-text-color: var(--color-primary);
  --button-link-rounded: 0px;
  --card-background-color: var(--color-neutral);
  --card-text-color: var(--color-primary);
  --card-rounded: var(--radius-sm);
  --card-padding: 16px;
}
```

### Tailwind theme

```css
@theme {
  --color-primary: #161218;
  --color-secondary: #848486;
  --color-neutral: #ffffff;
  --color-border: #e5e7eb;
  --color-brand-cerebellum-grey: #cccbcc;
  --color-surface: #ffffff;
  --color-on-surface: #161218;
  --font-headline-lg: "Asta Sans";
  --font-headline-md: "Asta Sans";
  --font-headline-sm: "Asta Sans";
  --font-headline-xs: "Asta Sans";
  --font-body-md: "DM Mono";
  --text-headline-lg: 60px;
  --text-headline-md: 52px;
  --text-headline-sm: 40px;
  --text-headline-xs: 18px;
  --text-body-md: 16px;
  --tracking-headline-lg: -0.03em;
  --tracking-headline-md: -0.03em;
  --tracking-headline-sm: -0.03em;
  --tracking-body-md: 0.015em;
  --font-weight-headline-lg: 600;
  --font-weight-headline-md: 600;
  --font-weight-headline-sm: 600;
  --font-weight-headline-xs: 600;
  --font-weight-body-md: 500;
  --radius-sm: 8px;
  --radius-full: 9999px;
  --spacing-xs: 12px;
  --spacing-sm: 24px;
  --spacing-md: 48px;
  --spacing-lg: 64px;
  --spacing-xl: 136px;
}
```

### Design tokens (DTCG)

```json
{
    "$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
    "color": {
        "$type": "color",
        "primary": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    0.086,
                    0.071,
                    0.094
                ],
                "hex": "#161218"
            }
        },
        "secondary": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    0.518,
                    0.518,
                    0.525
                ],
                "hex": "#848486"
            }
        },
        "neutral": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    1,
                    1,
                    1
                ],
                "hex": "#ffffff"
            }
        },
        "border": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    0.898,
                    0.906,
                    0.922
                ],
                "hex": "#e5e7eb"
            }
        },
        "brand-cerebellum-grey": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    0.8,
                    0.796,
                    0.8
                ],
                "hex": "#cccbcc"
            }
        },
        "surface": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    1,
                    1,
                    1
                ],
                "hex": "#ffffff"
            }
        },
        "on-surface": {
            "$value": {
                "colorSpace": "srgb",
                "components": [
                    0.086,
                    0.071,
                    0.094
                ],
                "hex": "#161218"
            }
        }
    },
    "spacing": {
        "$type": "dimension",
        "xs": {
            "$value": {
                "value": 12,
                "unit": "px"
            }
        },
        "sm": {
            "$value": {
                "value": 24,
                "unit": "px"
            }
        },
        "md": {
            "$value": {
                "value": 48,
                "unit": "px"
            }
        },
        "lg": {
            "$value": {
                "value": 64,
                "unit": "px"
            }
        },
        "xl": {
            "$value": {
                "value": 136,
                "unit": "px"
            }
        }
    },
    "rounded": {
        "$type": "dimension",
        "sm": {
            "$value": {
                "value": 8,
                "unit": "px"
            }
        },
        "full": {
            "$value": {
                "value": 9999,
                "unit": "px"
            }
        }
    },
    "typography": {
        "headline-lg": {
            "$type": "typography",
            "$value": {
                "fontFamily": "Asta Sans",
                "fontSize": {
                    "value": 60,
                    "unit": "px"
                },
                "fontWeight": 600,
                "letterSpacing": {
                    "value": -0.03,
                    "unit": "em"
                }
            }
        },
        "headline-md": {
            "$type": "typography",
            "$value": {
                "fontFamily": "Asta Sans",
                "fontSize": {
                    "value": 52,
                    "unit": "px"
                },
                "fontWeight": 600,
                "letterSpacing": {
                    "value": -0.03,
                    "unit": "em"
                }
            }
        },
        "headline-sm": {
            "$type": "typography",
            "$value": {
                "fontFamily": "Asta Sans",
                "fontSize": {
                    "value": 40,
                    "unit": "px"
                },
                "fontWeight": 600,
                "letterSpacing": {
                    "value": -0.03,
                    "unit": "em"
                }
            }
        },
        "headline-xs": {
            "$type": "typography",
            "$value": {
                "fontFamily": "Asta Sans",
                "fontSize": {
                    "value": 18,
                    "unit": "px"
                },
                "fontWeight": 600
            }
        },
        "body-md": {
            "$type": "typography",
            "$value": {
                "fontFamily": "DM Mono",
                "fontSize": {
                    "value": 16,
                    "unit": "px"
                },
                "fontWeight": 500,
                "letterSpacing": {
                    "value": 0.015,
                    "unit": "em"
                }
            }
        }
    }
}
```

## 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 Exalt Studio**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.