tighten.com
AI Breakdown
Design export
# Design brief: the Tighten 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/06090843/tighten-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/06090843/tighten-com-featured.webp
- On DesignMunk: https://designmunk.com/tighten/
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
# Tighten: Black Canvas with Gold Serif Headlines
## Overview
A dark, editorial presentation aimed at engineering leaders and founders evaluating a Laravel-focused consultancy. The UI is serious, minimal, and typographic, using a black surface with measured gold accents to communicate confidence. Spacing is generous and consistent, letting long-form case studies and team content read without clutter. When tokens are missing, prefer legible dark-mode defaults with restrained use of the primary accent.
## Colors
- **primary (#ffbc00):** Signal gold for accents, CTAs, icons, and card text.
- **secondary (#7c5c04):** Burnt amber for subtle tonal steps, hover states, or secondary emphasis.
- **neutral (#000000):** Ink black for the global surface and high-contrast elements.
- **border (#374151):** Slate edge for input outlines, dividers, and subtle delineation.
- **surface (#000000):** Canvas black — the working background across sections and cards.
- **on-surface (#ffbc00):** Gold accent text on dark surfaces; reserve for headings, highlights, and UI cues.
## Typography
- Headings use Signifier, a custom serif with high contrast and refined curves. It is self-hosted (custom) and not generally available for agents. Practical substitutes: Spectral, EB Garamond, or Cormorant (all Google) — choose light weights to mimic the airy feel.
- Display scale: headline-lg 96px/1.04, headline-md 72px/1.04, headline-sm 36px/1.06, all at weight 200. Use for hero, section titles, and pull quotes.
- Sans-serif: Inter (Google) for headline-xs 18px/1.22 and body-md 16px/2.14. Inter is freely available and should be the default for UI labels, navigation, forms, and long copy.
- Emoji: Noto Color Emoji (Google) for consistent emoji rendering.
- Pitch Sans is listed as custom; if needed, substitute with IBM Plex Sans, Work Sans, or Manrope.
## Layout
- Spacing follows an 8px base: xs 8, sm 16, md 32, lg 72, xl 96.
- Use lg (72px)–xl (96px) for vertical section padding on the black surface; sm (16px)–md (32px) for internal component gutters.
- Cards and tiles pad to 16px internally; grid gutters typically align to 16px or 32px.
- For long sections (case studies, team), maintain a consistent multi-column grid at larger breakpoints with 16–32px gutters to preserve rhythm.
## Elevation & Depth
Shadows are disabled across scales. Hierarchy relies on: 1) strong type contrast (serif display vs Inter body), 2) tonal blocks of #000000 vs gold accents, and 3) borders using #374151 for inputs and dividers. Use whitespace (lg/xl) to separate sections instead of elevation.
## Shapes
Two radii set the language: sm 8px for cards, inputs, and form elements; full 9999px for pill buttons and chips. Pills signal primary actions and movement; 8px corners communicate informational containers.
## Components
- Button — Primary: #ffbc00 background, #ffffff text, 62px tall, 10px×20px padding, pill (9999px). Use for the main CTA in each section.
- Button — Secondary: #000000 background, #ffffff text, 62px tall, pill. Use when the background is warm or busy, or as a quieter alternative.
- Button — Link: #999999 text, square corners. Use inline within copy and meta actions.
- Card: #000000 background, #ffbc00 text, 8px radius, 16px padding. Use for results tiles and promos.
### Hiring Banner
- Slim top bar announcing roles; use body-md (16px) Inter. Background may stay #000000 with gold text (#ffbc00) for visibility.
### Hero Masthead
- Headline set in headline-lg (96px) Signifier or substitute; tight 1.04 line-height. Use neutral surface (#000000) or a restrained warm overlay. Primary or secondary button follows at 62px tall.
### Results Tile Grid
- Implement with Card token: 8px radius, 16px padding, gold text (#ffbc00). Use headline-sm (36px) for client name and body-md (16px) for summary and link.
### Community Promo Trio
- Three small cards linking to podcasts/resources. Use card styling with 16px padding; headings at headline-sm (36px) or headline-xs (18px) depending on density.
### Team Member Card
- Portrait/content tile using 8px corners. Name in headline-sm (36px), role and contributions in body-md (16px). Use border (#374151) separators between contribution links.
### Testimonial Quote
- Pull quote using headline-md or headline-sm in the serif; attribution in Inter body-md. Keep generous top/bottom spacing (lg).
### Newsletter Signup
- Inputs with 8px corners, 16px vertical spacing, border #374151. Submit as Primary button (62px pill).
### Contact Form Stack
- Multi-field form using 8px corners, border #374151, and 16–32px gutters. Primary submit is 62px pill; legal copy in body-md.
## Do's and Don'ts
- Do reserve #ffbc00 for headings, CTAs, and highlights; keep most backgrounds and large surfaces #000000.
- Do use the headline scale exactly (96/72/36/18) with light weights to preserve the editorial tone.
- Do separate dense sections with lg/xl spacing instead of shadows or heavy rules.
- Don't introduce drop shadows; use #374151 borders for structure.
- Don't mix square and pill buttons in the same context; actions are pills, containers are 8px.
- Don't overuse the secondary amber; keep it to subtle states and supporting accents.
## Agent Prompt Guide
Quick color reference:
- Text (accent/headings): #ffbc00
- Background: #000000
- Border: #374151
- Accent: #ffbc00
1) Build a hero block on black with editorial serif
- Section background: #000000; padding-top: 96px; padding-bottom: 96px
- Heading: Spectral, 96px, weight 200, line-height 1.04, color #ffbc00 (use Signifier if available)
- Subhead/body: Inter, 16px, line-height 2.14, color #ffbc00 at reduced opacity if needed
- Primary button: background #ffbc00, text #ffffff, height 62px, padding 10px 20px, border-radius 9999px
2) Results tile grid using card token values
- Card background: #000000; text: #ffbc00; border-radius 8px; padding 16px
- Title: Spectral 36px/1.06 weight 200 (or Signifier), color #ffbc00
- Body: Inter 16px/2.14; link styled as button-link (#999999) or gold accent
- Grid gutters: 32px; section padding: 72px
3) Newsletter signup in dark mode
- Inputs: background #000000; border 1px solid #374151; border-radius 8px; padding 16px
- Labels: Inter 18px/1.22, color #ffbc00
- Submit: background #ffbc00; text #ffffff; height 62px; radius 9999px
4) Team member card
- Container: background #000000; radius 8px; padding 16px; divider color #374151
- Name: Spectral 36px/1.06 weight 200; Role: Inter 16px/2.14
- Links list uses button-link styling (#999999)
5) Testimonial block
- Quote: Spectral 72px/1.04 weight 200 on #000000; color #ffbc00
- Attribution: Inter 16px/2.14; top/bottom spacing 72px; optional CTA uses Secondary button (#000000 with #ffffff text, radius 9999px)
## Similar Brands
- thoughtbot — Consultancy site with typographic emphasis and case-study grids; lighter theme and red accent where Tighten uses dark mode and gold.
- Postlight — Editorial voice and casework-first layout; more neutral gray palette versus Tighten's high-contrast black and gold.
- Vercel — Dark, minimal presentation with disciplined accent color; more product-led and motion-heavy than Tighten's content-forward approach.
- Hashrocket — Developer consultancy with prominent case studies; employs brighter surfaces and monospace touches instead of Tighten's refined serif.
- Laravel — Brand site with bold headlines and high-contrast sections; more framework-centric content, while Tighten focuses on consultancy credibility.
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #ffbc00;
--color-secondary: #7c5c04;
--color-neutral: #000000;
--color-border: #374151;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 96px;
--text-headline-lg-weight: 200;
--text-headline-lg-leading: 1.04;
--text-headline-md-size: 72px;
--text-headline-md-weight: 200;
--text-headline-md-leading: 1.04;
--text-headline-sm-size: 36px;
--text-headline-sm-weight: 200;
--text-headline-sm-leading: 1.06;
--text-headline-xs-size: 18px;
--text-headline-xs-weight: 200;
--text-headline-xs-leading: 1.22;
--text-body-md-size: 16px;
--text-body-md-weight: 200;
--text-body-md-leading: 2.14;
--font-signifier: "Signifier";
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
--radius-full: 9999px;
/* Spacing */
--spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 32px;
--spacing-lg: 72px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: var(--color-primary);
--button-primary-text-color: #ffffff;
--button-primary-rounded: var(--radius-full);
--button-primary-padding: 10px 20px;
--button-primary-height: 62px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: #ffffff;
--button-secondary-rounded: var(--radius-full);
--button-secondary-padding: 10px 20px;
--button-secondary-height: 62px;
--button-link-text-color: #999999;
--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: #ffbc00;
--color-secondary: #7c5c04;
--color-neutral: #000000;
--color-border: #374151;
--color-surface: #000000;
--color-on-surface: #ffbc00;
--font-headline-lg: "Signifier";
--font-headline-md: "Signifier";
--font-headline-sm: "Signifier";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 96px;
--text-headline-md: 72px;
--text-headline-sm: 36px;
--text-headline-xs: 18px;
--text-body-md: 16px;
--font-weight-headline-lg: 200;
--font-weight-headline-md: 200;
--font-weight-headline-sm: 200;
--font-weight-headline-xs: 200;
--font-weight-body-md: 200;
--radius-sm: 8px;
--radius-full: 9999px;
--spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 32px;
--spacing-lg: 72px;
--spacing-xl: 96px;
}
```
### Design tokens (DTCG)
```json
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.737,
0
],
"hex": "#ffbc00"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.361,
0.016
],
"hex": "#7c5c04"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.216,
0.255,
0.318
],
"hex": "#374151"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.737,
0
],
"hex": "#ffbc00"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 8,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 16,
"unit": "px"
}
},
"md": {
"$value": {
"value": 32,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 72,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 96,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 8,
"unit": "px"
}
},
"full": {
"$value": {
"value": 9999,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 96,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 72,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 36,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 18,
"unit": "px"
},
"fontWeight": 200
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 16,
"unit": "px"
},
"fontWeight": 200
}
}
}
}
```
## 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 Tighten**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.
---
version: alpha
name: Tighten
description: We build and rescue web apps and dev teams
colors:
primary: "#ffbc00"
secondary: "#7c5c04"
neutral: "#000000"
border: "#374151"
surface: "{colors.neutral}"
on-surface: "{colors.primary}"
typography:
headline-lg:
fontFamily: Signifier
fontSize: 96px
fontWeight: 200
lineHeight: 1.04
headline-md:
fontFamily: Signifier
fontSize: 72px
fontWeight: 200
lineHeight: 1.04
headline-sm:
fontFamily: Signifier
fontSize: 36px
fontWeight: 200
lineHeight: 1.06
headline-xs:
fontFamily: Inter
fontSize: 18px
fontWeight: 200
lineHeight: 1.22
body-md:
fontFamily: Inter
fontSize: 16px
fontWeight: 200
lineHeight: 2.14
rounded:
sm: 8px
full: 9999px
spacing:
xs: 8px
sm: 16px
md: 32px
lg: 72px
xl: 96px
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "#ffffff"
rounded: "{rounded.full}"
padding: 10px 20px
height: 62px
button-secondary:
backgroundColor: "{colors.neutral}"
textColor: "#ffffff"
rounded: "{rounded.full}"
padding: 10px 20px
height: 62px
button-link:
textColor: "#999999"
rounded: 0px
card:
backgroundColor: "{colors.neutral}"
textColor: "{colors.primary}"
rounded: "{rounded.sm}"
padding: 16px
---
# Tighten: Black Canvas with Gold Serif Headlines
## Overview
A dark, editorial presentation aimed at engineering leaders and founders evaluating a Laravel-focused consultancy. The UI is serious, minimal, and typographic, using a black surface with measured gold accents to communicate confidence. Spacing is generous and consistent, letting long-form case studies and team content read without clutter. When tokens are missing, prefer legible dark-mode defaults with restrained use of the primary accent.
## Colors
- **primary (#ffbc00):** Signal gold for accents, CTAs, icons, and card text.
- **secondary (#7c5c04):** Burnt amber for subtle tonal steps, hover states, or secondary emphasis.
- **neutral (#000000):** Ink black for the global surface and high-contrast elements.
- **border (#374151):** Slate edge for input outlines, dividers, and subtle delineation.
- **surface (#000000):** Canvas black — the working background across sections and cards.
- **on-surface (#ffbc00):** Gold accent text on dark surfaces; reserve for headings, highlights, and UI cues.
## Typography
- Headings use Signifier, a custom serif with high contrast and refined curves. It is self-hosted (custom) and not generally available for agents. Practical substitutes: Spectral, EB Garamond, or Cormorant (all Google) — choose light weights to mimic the airy feel.
- Display scale: headline-lg 96px/1.04, headline-md 72px/1.04, headline-sm 36px/1.06, all at weight 200. Use for hero, section titles, and pull quotes.
- Sans-serif: Inter (Google) for headline-xs 18px/1.22 and body-md 16px/2.14. Inter is freely available and should be the default for UI labels, navigation, forms, and long copy.
- Emoji: Noto Color Emoji (Google) for consistent emoji rendering.
- Pitch Sans is listed as custom; if needed, substitute with IBM Plex Sans, Work Sans, or Manrope.
## Layout
- Spacing follows an 8px base: xs 8, sm 16, md 32, lg 72, xl 96.
- Use lg (72px)–xl (96px) for vertical section padding on the black surface; sm (16px)–md (32px) for internal component gutters.
- Cards and tiles pad to 16px internally; grid gutters typically align to 16px or 32px.
- For long sections (case studies, team), maintain a consistent multi-column grid at larger breakpoints with 16–32px gutters to preserve rhythm.
## Elevation & Depth
Shadows are disabled across scales. Hierarchy relies on: 1) strong type contrast (serif display vs Inter body), 2) tonal blocks of #000000 vs gold accents, and 3) borders using #374151 for inputs and dividers. Use whitespace (lg/xl) to separate sections instead of elevation.
## Shapes
Two radii set the language: sm 8px for cards, inputs, and form elements; full 9999px for pill buttons and chips. Pills signal primary actions and movement; 8px corners communicate informational containers.
## Components
- Button — Primary: #ffbc00 background, #ffffff text, 62px tall, 10px×20px padding, pill (9999px). Use for the main CTA in each section.
- Button — Secondary: #000000 background, #ffffff text, 62px tall, pill. Use when the background is warm or busy, or as a quieter alternative.
- Button — Link: #999999 text, square corners. Use inline within copy and meta actions.
- Card: #000000 background, #ffbc00 text, 8px radius, 16px padding. Use for results tiles and promos.
### Hiring Banner
- Slim top bar announcing roles; use body-md (16px) Inter. Background may stay #000000 with gold text (#ffbc00) for visibility.
### Hero Masthead
- Headline set in headline-lg (96px) Signifier or substitute; tight 1.04 line-height. Use neutral surface (#000000) or a restrained warm overlay. Primary or secondary button follows at 62px tall.
### Results Tile Grid
- Implement with Card token: 8px radius, 16px padding, gold text (#ffbc00). Use headline-sm (36px) for client name and body-md (16px) for summary and link.
### Community Promo Trio
- Three small cards linking to podcasts/resources. Use card styling with 16px padding; headings at headline-sm (36px) or headline-xs (18px) depending on density.
### Team Member Card
- Portrait/content tile using 8px corners. Name in headline-sm (36px), role and contributions in body-md (16px). Use border (#374151) separators between contribution links.
### Testimonial Quote
- Pull quote using headline-md or headline-sm in the serif; attribution in Inter body-md. Keep generous top/bottom spacing (lg).
### Newsletter Signup
- Inputs with 8px corners, 16px vertical spacing, border #374151. Submit as Primary button (62px pill).
### Contact Form Stack
- Multi-field form using 8px corners, border #374151, and 16–32px gutters. Primary submit is 62px pill; legal copy in body-md.
## Do's and Don'ts
- Do reserve #ffbc00 for headings, CTAs, and highlights; keep most backgrounds and large surfaces #000000.
- Do use the headline scale exactly (96/72/36/18) with light weights to preserve the editorial tone.
- Do separate dense sections with lg/xl spacing instead of shadows or heavy rules.
- Don't introduce drop shadows; use #374151 borders for structure.
- Don't mix square and pill buttons in the same context; actions are pills, containers are 8px.
- Don't overuse the secondary amber; keep it to subtle states and supporting accents.
## Agent Prompt Guide
Quick color reference:
- Text (accent/headings): #ffbc00
- Background: #000000
- Border: #374151
- Accent: #ffbc00
1) Build a hero block on black with editorial serif
- Section background: #000000; padding-top: 96px; padding-bottom: 96px
- Heading: Spectral, 96px, weight 200, line-height 1.04, color #ffbc00 (use Signifier if available)
- Subhead/body: Inter, 16px, line-height 2.14, color #ffbc00 at reduced opacity if needed
- Primary button: background #ffbc00, text #ffffff, height 62px, padding 10px 20px, border-radius 9999px
2) Results tile grid using card token values
- Card background: #000000; text: #ffbc00; border-radius 8px; padding 16px
- Title: Spectral 36px/1.06 weight 200 (or Signifier), color #ffbc00
- Body: Inter 16px/2.14; link styled as button-link (#999999) or gold accent
- Grid gutters: 32px; section padding: 72px
3) Newsletter signup in dark mode
- Inputs: background #000000; border 1px solid #374151; border-radius 8px; padding 16px
- Labels: Inter 18px/1.22, color #ffbc00
- Submit: background #ffbc00; text #ffffff; height 62px; radius 9999px
4) Team member card
- Container: background #000000; radius 8px; padding 16px; divider color #374151
- Name: Spectral 36px/1.06 weight 200; Role: Inter 16px/2.14
- Links list uses button-link styling (#999999)
5) Testimonial block
- Quote: Spectral 72px/1.04 weight 200 on #000000; color #ffbc00
- Attribution: Inter 16px/2.14; top/bottom spacing 72px; optional CTA uses Secondary button (#000000 with #ffffff text, radius 9999px)
## Similar Brands
- thoughtbot — Consultancy site with typographic emphasis and case-study grids; lighter theme and red accent where Tighten uses dark mode and gold.
- Postlight — Editorial voice and casework-first layout; more neutral gray palette versus Tighten's high-contrast black and gold.
- Vercel — Dark, minimal presentation with disciplined accent color; more product-led and motion-heavy than Tighten's content-forward approach.
- Hashrocket — Developer consultancy with prominent case studies; employs brighter surfaces and monospace touches instead of Tighten's refined serif.
- Laravel — Brand site with bold headlines and high-contrast sections; more framework-centric content, while Tighten focuses on consultancy credibility.
:root {
/* Colors */
--color-primary: #ffbc00;
--color-secondary: #7c5c04;
--color-neutral: #000000;
--color-border: #374151;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 96px;
--text-headline-lg-weight: 200;
--text-headline-lg-leading: 1.04;
--text-headline-md-size: 72px;
--text-headline-md-weight: 200;
--text-headline-md-leading: 1.04;
--text-headline-sm-size: 36px;
--text-headline-sm-weight: 200;
--text-headline-sm-leading: 1.06;
--text-headline-xs-size: 18px;
--text-headline-xs-weight: 200;
--text-headline-xs-leading: 1.22;
--text-body-md-size: 16px;
--text-body-md-weight: 200;
--text-body-md-leading: 2.14;
--font-signifier: "Signifier";
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
--radius-full: 9999px;
/* Spacing */
--spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 32px;
--spacing-lg: 72px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: var(--color-primary);
--button-primary-text-color: #ffffff;
--button-primary-rounded: var(--radius-full);
--button-primary-padding: 10px 20px;
--button-primary-height: 62px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: #ffffff;
--button-secondary-rounded: var(--radius-full);
--button-secondary-padding: 10px 20px;
--button-secondary-height: 62px;
--button-link-text-color: #999999;
--button-link-rounded: 0px;
--card-background-color: var(--color-neutral);
--card-text-color: var(--color-primary);
--card-rounded: var(--radius-sm);
--card-padding: 16px;
}
{
"$schema": "https://www.designtokens.org/schemas/2025.10/format.json",
"$description": "We build and rescue web apps and dev teams",
"color": {
"$type": "color",
"primary": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.737,
0
],
"hex": "#ffbc00"
}
},
"secondary": {
"$value": {
"colorSpace": "srgb",
"components": [
0.486,
0.361,
0.016
],
"hex": "#7c5c04"
}
},
"neutral": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"border": {
"$value": {
"colorSpace": "srgb",
"components": [
0.216,
0.255,
0.318
],
"hex": "#374151"
}
},
"surface": {
"$value": {
"colorSpace": "srgb",
"components": [
0,
0,
0
],
"hex": "#000000"
}
},
"on-surface": {
"$value": {
"colorSpace": "srgb",
"components": [
1,
0.737,
0
],
"hex": "#ffbc00"
}
}
},
"spacing": {
"$type": "dimension",
"xs": {
"$value": {
"value": 8,
"unit": "px"
}
},
"sm": {
"$value": {
"value": 16,
"unit": "px"
}
},
"md": {
"$value": {
"value": 32,
"unit": "px"
}
},
"lg": {
"$value": {
"value": 72,
"unit": "px"
}
},
"xl": {
"$value": {
"value": 96,
"unit": "px"
}
}
},
"rounded": {
"$type": "dimension",
"sm": {
"$value": {
"value": 8,
"unit": "px"
}
},
"full": {
"$value": {
"value": 9999,
"unit": "px"
}
}
},
"typography": {
"headline-lg": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 96,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-md": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 72,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-sm": {
"$type": "typography",
"$value": {
"fontFamily": "Signifier",
"fontSize": {
"value": 36,
"unit": "px"
},
"fontWeight": 200
}
},
"headline-xs": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 18,
"unit": "px"
},
"fontWeight": 200
}
},
"body-md": {
"$type": "typography",
"$value": {
"fontFamily": "Inter",
"fontSize": {
"value": 16,
"unit": "px"
},
"fontWeight": 200
}
}
}
} @theme {
--color-primary: #ffbc00;
--color-secondary: #7c5c04;
--color-neutral: #000000;
--color-border: #374151;
--color-surface: #000000;
--color-on-surface: #ffbc00;
--font-headline-lg: "Signifier";
--font-headline-md: "Signifier";
--font-headline-sm: "Signifier";
--font-headline-xs: "Inter";
--font-body-md: "Inter";
--text-headline-lg: 96px;
--text-headline-md: 72px;
--text-headline-sm: 36px;
--text-headline-xs: 18px;
--text-body-md: 16px;
--font-weight-headline-lg: 200;
--font-weight-headline-md: 200;
--font-weight-headline-sm: 200;
--font-weight-headline-xs: 200;
--font-weight-body-md: 200;
--radius-sm: 8px;
--radius-full: 9999px;
--spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 32px;
--spacing-lg: 72px;
--spacing-xl: 96px;
} # Design brief: the Tighten 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/06090843/tighten-com-featured.webp
- Above the fold: https://cdn.designmunk.com/2026/09/06090843/tighten-com-featured.webp
- On DesignMunk: https://designmunk.com/tighten/
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
# Tighten: Black Canvas with Gold Serif Headlines
## Overview
A dark, editorial presentation aimed at engineering leaders and founders evaluating a Laravel-focused consultancy. The UI is serious, minimal, and typographic, using a black surface with measured gold accents to communicate confidence. Spacing is generous and consistent, letting long-form case studies and team content read without clutter. When tokens are missing, prefer legible dark-mode defaults with restrained use of the primary accent.
## Colors
- **primary (#ffbc00):** Signal gold for accents, CTAs, icons, and card text.
- **secondary (#7c5c04):** Burnt amber for subtle tonal steps, hover states, or secondary emphasis.
- **neutral (#000000):** Ink black for the global surface and high-contrast elements.
- **border (#374151):** Slate edge for input outlines, dividers, and subtle delineation.
- **surface (#000000):** Canvas black — the working background across sections and cards.
- **on-surface (#ffbc00):** Gold accent text on dark surfaces; reserve for headings, highlights, and UI cues.
## Typography
- Headings use Signifier, a custom serif with high contrast and refined curves. It is self-hosted (custom) and not generally available for agents. Practical substitutes: Spectral, EB Garamond, or Cormorant (all Google) — choose light weights to mimic the airy feel.
- Display scale: headline-lg 96px/1.04, headline-md 72px/1.04, headline-sm 36px/1.06, all at weight 200. Use for hero, section titles, and pull quotes.
- Sans-serif: Inter (Google) for headline-xs 18px/1.22 and body-md 16px/2.14. Inter is freely available and should be the default for UI labels, navigation, forms, and long copy.
- Emoji: Noto Color Emoji (Google) for consistent emoji rendering.
- Pitch Sans is listed as custom; if needed, substitute with IBM Plex Sans, Work Sans, or Manrope.
## Layout
- Spacing follows an 8px base: xs 8, sm 16, md 32, lg 72, xl 96.
- Use lg (72px)–xl (96px) for vertical section padding on the black surface; sm (16px)–md (32px) for internal component gutters.
- Cards and tiles pad to 16px internally; grid gutters typically align to 16px or 32px.
- For long sections (case studies, team), maintain a consistent multi-column grid at larger breakpoints with 16–32px gutters to preserve rhythm.
## Elevation & Depth
Shadows are disabled across scales. Hierarchy relies on: 1) strong type contrast (serif display vs Inter body), 2) tonal blocks of #000000 vs gold accents, and 3) borders using #374151 for inputs and dividers. Use whitespace (lg/xl) to separate sections instead of elevation.
## Shapes
Two radii set the language: sm 8px for cards, inputs, and form elements; full 9999px for pill buttons and chips. Pills signal primary actions and movement; 8px corners communicate informational containers.
## Components
- Button — Primary: #ffbc00 background, #ffffff text, 62px tall, 10px×20px padding, pill (9999px). Use for the main CTA in each section.
- Button — Secondary: #000000 background, #ffffff text, 62px tall, pill. Use when the background is warm or busy, or as a quieter alternative.
- Button — Link: #999999 text, square corners. Use inline within copy and meta actions.
- Card: #000000 background, #ffbc00 text, 8px radius, 16px padding. Use for results tiles and promos.
### Hiring Banner
- Slim top bar announcing roles; use body-md (16px) Inter. Background may stay #000000 with gold text (#ffbc00) for visibility.
### Hero Masthead
- Headline set in headline-lg (96px) Signifier or substitute; tight 1.04 line-height. Use neutral surface (#000000) or a restrained warm overlay. Primary or secondary button follows at 62px tall.
### Results Tile Grid
- Implement with Card token: 8px radius, 16px padding, gold text (#ffbc00). Use headline-sm (36px) for client name and body-md (16px) for summary and link.
### Community Promo Trio
- Three small cards linking to podcasts/resources. Use card styling with 16px padding; headings at headline-sm (36px) or headline-xs (18px) depending on density.
### Team Member Card
- Portrait/content tile using 8px corners. Name in headline-sm (36px), role and contributions in body-md (16px). Use border (#374151) separators between contribution links.
### Testimonial Quote
- Pull quote using headline-md or headline-sm in the serif; attribution in Inter body-md. Keep generous top/bottom spacing (lg).
### Newsletter Signup
- Inputs with 8px corners, 16px vertical spacing, border #374151. Submit as Primary button (62px pill).
### Contact Form Stack
- Multi-field form using 8px corners, border #374151, and 16–32px gutters. Primary submit is 62px pill; legal copy in body-md.
## Do's and Don'ts
- Do reserve #ffbc00 for headings, CTAs, and highlights; keep most backgrounds and large surfaces #000000.
- Do use the headline scale exactly (96/72/36/18) with light weights to preserve the editorial tone.
- Do separate dense sections with lg/xl spacing instead of shadows or heavy rules.
- Don't introduce drop shadows; use #374151 borders for structure.
- Don't mix square and pill buttons in the same context; actions are pills, containers are 8px.
- Don't overuse the secondary amber; keep it to subtle states and supporting accents.
## Agent Prompt Guide
Quick color reference:
- Text (accent/headings): #ffbc00
- Background: #000000
- Border: #374151
- Accent: #ffbc00
1) Build a hero block on black with editorial serif
- Section background: #000000; padding-top: 96px; padding-bottom: 96px
- Heading: Spectral, 96px, weight 200, line-height 1.04, color #ffbc00 (use Signifier if available)
- Subhead/body: Inter, 16px, line-height 2.14, color #ffbc00 at reduced opacity if needed
- Primary button: background #ffbc00, text #ffffff, height 62px, padding 10px 20px, border-radius 9999px
2) Results tile grid using card token values
- Card background: #000000; text: #ffbc00; border-radius 8px; padding 16px
- Title: Spectral 36px/1.06 weight 200 (or Signifier), color #ffbc00
- Body: Inter 16px/2.14; link styled as button-link (#999999) or gold accent
- Grid gutters: 32px; section padding: 72px
3) Newsletter signup in dark mode
- Inputs: background #000000; border 1px solid #374151; border-radius 8px; padding 16px
- Labels: Inter 18px/1.22, color #ffbc00
- Submit: background #ffbc00; text #ffffff; height 62px; radius 9999px
4) Team member card
- Container: background #000000; radius 8px; padding 16px; divider color #374151
- Name: Spectral 36px/1.06 weight 200; Role: Inter 16px/2.14
- Links list uses button-link styling (#999999)
5) Testimonial block
- Quote: Spectral 72px/1.04 weight 200 on #000000; color #ffbc00
- Attribution: Inter 16px/2.14; top/bottom spacing 72px; optional CTA uses Secondary button (#000000 with #ffffff text, radius 9999px)
## Tokens
### CSS custom properties
```css
:root {
/* Colors */
--color-primary: #ffbc00;
--color-secondary: #7c5c04;
--color-neutral: #000000;
--color-border: #374151;
--color-surface: var(--color-neutral);
--color-on-surface: var(--color-primary);
/* Typography */
--text-headline-lg-size: 96px;
--text-headline-lg-weight: 200;
--text-headline-lg-leading: 1.04;
--text-headline-md-size: 72px;
--text-headline-md-weight: 200;
--text-headline-md-leading: 1.04;
--text-headline-sm-size: 36px;
--text-headline-sm-weight: 200;
--text-headline-sm-leading: 1.06;
--text-headline-xs-size: 18px;
--text-headline-xs-weight: 200;
--text-headline-xs-leading: 1.22;
--text-body-md-size: 16px;
--text-body-md-weight: 200;
--text-body-md-leading: 2.14;
--font-signifier: "Signifier";
--font-inter: "Inter";
/* Rounded */
--radius-sm: 8px;
--radius-full: 9999px;
/* Spacing */
--spacing-xs: 8px;
--spacing-sm: 16px;
--spacing-md: 32px;
--spacing-lg: 72px;
--spacing-xl: 96px;
/* Components */
--button-primary-background-color: var(--color-primary);
--button-primary-text-color: #ffffff;
--button-primary-rounded: var(--radius-full);
--button-primary-padding: 10px 20px;
--button-primary-height: 62px;
--button-secondary-background-color: var(--color-neutral);
--button-secondary-text-color: #ffffff;
--button-secondary-rounded: var(--radius-full);
--button-secondary-padding: 10px 20px;
--button-secondary-height: 62px;
--button-link-text-color: #999999;
--button-link-rounded: 0px;
--card-background-color: var(--color-neutral);
--card-text-color: var(--color-primary);
--card-rounded: var(--radius-sm);
--card-padding: 16px;
}
```
## 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 Tighten**, or imply any connection to it.
- If something is unspecified, choose clarity and legibility over decoration.

