GALTON AI Assets · V1.2 · Updated

Confident, editorial, high-contrast.

One source of truth for the GALTON brand — read by humans on this page and by AI agents over MCP. Everything below is generated live from the brand’s Markdown, so it never drifts from the spec.

For AI agents

Three ways to consume GALTON

The same brand, served to whatever tool your team uses. Web agents read a URL; coding agents connect over MCP; everyone can drop the DESIGN.md straight into a repo.

1 · Web (Gemini, ChatGPT)

Paste a link into any web AI and ask it to design on-brand.

url
https://galton-ai-assets.vercel.app/llms.txt
https://galton-ai-assets.vercel.app/design.md

2 · MCP (Claude, Codex, Cursor)

Add the server; the agent gets live tools to query tokens, components and assets.

json
{
  "mcpServers": {
    "galton-design": {
      "url": "https://galton-ai-assets.vercel.app/api/mcp"
    }
  }
}

3 · DESIGN.md in-repo

Drop the spec into a project root so any coding agent generates on-brand UI.

bash
curl -O https://galton-ai-assets.vercel.app/design.md
# place at repo root, then prompt your agent
MCP endpoint · live
https://galton-ai-assets.vercel.app/api/mcp

01 — Overview

Overview

GALTON Brands is a dark-first, editorial, high-contrast brand system. The page floor is a near-black canvas (#1A1A1A — #1A1A1A), text is white (#FFFFFF), and a single signature primary yellow (#FFD700 — #FFD700) carries every accent — CTAs, highlights, focus rings, the hero word. Yellow is never a large fill; on a yellow surface text is always black (#1A1A1A).

Everything is set in one typeface — Galton — at Light (300) in Sentence case. Weight steps up to Medium (500) / Bold (700) only for emphasis; the brand never shouts in uppercase except for the eyebrow label, button labels and the badge. Where Galton can't be embedded (email, Google Docs/Slides, system contexts), Montserrat is the official substitute — it is last in every font stack. Hierarchy is created by size and a leading ratio (Headline ×1.1, Subhead ×1.2, Body ×1.5), not by heavy weights.

The component language is pill-and-flat: buttons are full pills (100px), uppercase, Galton Bold; inputs are flat (0px), transparent, bottom-border only, with a primary-yellow focus. The palette is fixed — no invented shades; raised surfaces are built from white at low opacity (rgba(255,255,255,0.04)), never a new hex.

Key Characteristics:

  • Dark-first canvas #1A1A1A (#1A1A1A) with white type. Light surfaces invert to black-on-white.
  • One typeface, Galton Light (300), Sentence case. Montserrat is the official substitute. No second display face.
  • A single accent: #FFD700 (#FFD700). Used sparingly — CTAs, focus, highlights, the hero accent. Never large fills.
  • The logo is white or black ONLY — never yellow/primary or any other color. This is a hard rule.
  • Buttons are pill-shaped, uppercase, Bold 700; the signature CTA is {component.button-yellow}.
  • Inputs are flat (radius 0), transparent, bottom-border only; focus turns the border #FFD700.
  • Fixed palette, no invented shades. Raised surfaces come from white/grey at low opacity.

02 — Colors

Colors

Primary palette

Name:White
CMYK:0/0/0/0
RGB:255/255/255
HEX:#FFFFFF
PMS:Not specified C
Name:Black
CMYK:0/0/0/95
RGB:26/26/26
HEX:#1A1A1A
PMS:Not specified C

Secondary palette

Name:Yellow
CMYK:0/10/100/0
RGB:255/215/0
HEX:#FFD700
PMS:Not specified C

Semantic tokens

How the palette is applied across the UI. Reference these as {colors.name} — they resolve to the brand colours above (or a grey derived from black/white at opacity).

primary#FFD700
on-primary#1A1A1A
ink#FFFFFF
on-dark#FFFFFF
bodyrgba(255,255,255,0.8)
body-softrgba(255,255,255,0.78)
muted#999999
canvas#1A1A1A
surface-raisedrgba(255,255,255,0.04)
hairlinergba(255,255,255,0.12)
on-light#1A1A1A
light-canvas#FFFFFF
link#FFD700

Brand palette

The brand has three colours, in two groups:

  • Primary paletteWhite (#FFFFFF) and Black (#1A1A1A). The base of the system: black is the dark-first canvas, white is the ink.
  • Secondary paletteYellow (#FFD700). The single accent: CTAs, highlights, focus rings, the hero word. Used sparingly, never a large fill; on a yellow surface, foreground is always black (#1A1A1A).

Everything else (#999999, rgba(255,255,255,0.12), rgba(255,255,255,0.04), body opacities) is a UI grey derived from black/white at opacity — not a new brand colour.

Surface

  • Canvas (#1A1A1A — #1A1A1A): The default page floor on every dark surface. The brand is dark-first.
  • Surface Raised (rgba(255,255,255,0.04) — white @4%): Cards, modals, raised panels. Built from white at low opacity over the canvas — never a new hex. Pair with a rgba(255,255,255,0.12) border.
  • Hairline (rgba(255,255,255,0.12) — white @12%): 1px dividers, table rows, card outlines, the top/bottom bars.
  • Light Canvas (#FFFFFF — #FFFFFF): The floor for light surfaces (cards on light, print, email).

Text

  • Ink / On Dark (#FFFFFF — #FFFFFF): Headlines and primary text on the dark canvas.
  • Body (rgba(255,255,255,0.8) — white @80%): Default running body text — slightly softened from pure white.
  • Body Soft (rgba(255,255,255,0.78) — white @78%): Secondary paragraphs and section leads.
  • Muted (#999999 — #999999): Captions, metadata, placeholders, disabled states, dividers.
  • On Light (#1A1A1A — #1A1A1A): Text and marks on a white/light surface.

Usage Rules

  • Default page = #1A1A1A background, #FFFFFF text.
  • #FFD700 is for emphasis only — never a large fill. On a primary surface, text is always black.
  • Keep the secondary yellow to accents only — never a large fill.
  • Need a raised surface? Build it from white/grey at low opacity (rgba(255,255,255,0.04)) — do not introduce a new hex.
  • Selection highlight is primary-on-black.

Combinations

Combinations

Some colors are not suitable to be used in combination with others. The following diagram demonstrates approved color combinations.
Black on white
White on black
Yellow on white
Yellow on black

03 — Typography

Typography

Galton
Family
Galton
Default
300 · Sentence case
Weights
100 Thin · 300 Light (default) · 400 · 500 · 700 · 800 · 900
Fallback
Montserrat
Font stack
Files
  • · 100–900· variable — prefer this on the web
  • · 300· static — the brand default
  • · 400
  • · 500
  • · 700
Fallback: Montserrat — Official substitute wherever Galton can't be embedded; last in the stack.
@font-face
css
@font-face {
  font-family: "Galton";
  src: url("https://galton-ai-assets.vercel.app/brand/fonts/GaltonVariable.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

Setting type

When setting type, the leading should be consistent across applications. Leading refers to the space between lines of text. Leading = type size × ratio.

Headline
Galton Light
80/88pt
Sentence case

Type size × 1.1 = leading. Headlines at 80pt would have 88pt leading.

Subhead
Galton Light
30/36pt
Sentence case

Type size × 1.2 = leading. Subheads at 30pt would have 36pt leading.

Body
Galton Light
18/27pt
Sentence case

Type size × 1.5 = leading. Body copy at 18pt would have 27pt leading.

Hierarchy

Size, scale and position all play a factor in how information is read. Always ensure there is a purposeful difference between type sizes. Type sizes are examples only.

Headline
Galton Light
80/88pt
Sentence case

Confident headlines, set in Galton Light.

Subhead
Galton Light
30/36pt
Sentence case

Subheads carry a clear, secondary voice beneath the headline.

Body
Galton Light
18/27pt
Sentence case

Body copy holds the detail at a comfortable measure, with a leading ratio that keeps long passages easy to read across the page.

All type styles

display-lg136px · w300 · lh 1.05

The quick brown fox

display96px · w300 · lh 1.1

The quick brown fox

headline64px · w300 · lh 1.1

The quick brown fox

subhead30px · w300 · lh 1.2

The quick brown fox

body18px · w300 · lh 1.5

The quick brown fox

body-strong18px · w500 · lh 1.4

The quick brown fox

eyebrow15px · w500 · lh 1.4 · ls 3.3px

Section label

button18px · w700 · lh 1

Button label

label18px · w300 · lh 1.4

The quick brown fox

badge15px · w400 · lh 1 · ls 1.2px

Section label

Font Family

The system runs one typeface — Galton — for both headings and body. The variable woff2 covers weights 100–900; static cuts (Thin…Black) exist as a fallback. The default is Light (300), set in Sentence case at normal tracking.

Montserrat is the official substitute: use it wherever Galton can't be embedded (email, Google Docs/Slides, system contexts). It is last in every font stack: Galton, Montserrat, ui-sans-serif, system-ui, sans-serif. There is no second brand face — Galton does everything.

Weights: 100 Thin · 300 Light (default) · 400 Regular · 500 Medium · 700 Bold · 800 Extrabold · 900 Black. There is no dedicated 600 cut — use the variable font for weight 600 (e.g. a live-text wordmark).

Font source & embedding

The Galton typeface ships with this package — don't substitute a lookalike. Load the variable woff2 (one file, weights 100–900):

  • File: https://galton-ai-assets.vercel.app/brand/fonts/GaltonVariable.woff2 (static cuts: https://galton-ai-assets.vercel.app/brand/fonts/Galton-{Thin,Light,Regular,Medium,Bold,Extrabold,Black}.woff2)
  • Base URL: https://galton-ai-assets.vercel.app/brand/ (resolved to wherever this is deployed)
  • Hotlink these absolute URLs exactly as given — the files are served with permissive CORS (Access-Control-Allow-Origin: *), so a cross-origin @font-face works. Do not relativise them to /brand/fonts/… (that resolves against your host and 404s, silently falling back to Montserrat) and don't copy the file locally.
css
@font-face {
  font-family: "Galton";
  src: url("https://galton-ai-assets.vercel.app/brand/fonts/GaltonVariable.woff2") format("woff2-variations");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

Then use the stack Galton, Montserrat, ui-sans-serif, system-ui, sans-serif. Montserrat is the substitute and loads from Google Fonts (https://fonts.google.com/specimen/Montserrat) — it is last in the stack and only kicks in where Galton can't be embedded. The full fonts block in the frontmatter lists every file, format and the ready-to-paste @font-face.

Hierarchy

All Galton Light (300), Sentence case. Leading (line-height) is a ratio of the type size. Display sizes are responsive; the token value is the desktop maximum.

TokenSize (responsive)WeightLine HeightLetter SpacingUse
{typography.display-lg}56 → 88 → 136 → 180px3001.050Jumbotron / extreme display
{typography.display}48 → 72 → 96 → 120px3001.10Large hero headline
{typography.headline}40 → 52 → 64 → 80px3001.10Headline (size ×1.1)
{typography.subhead}22 → 24 → 30px3001.20Subhead (size ×1.2)
{typography.body}18px3001.50Body — the web/body minimum (never below 18px)
{typography.body-strong}18px5001.40Emphasis inside body
{typography.eyebrow}15px5001.40.22emSection label — uppercase overline above headlines, primary color
{typography.button}18px7001.00Uppercase button labels (web/body minimum)
{typography.label}18 → 24px3001.40Form labels
{typography.badge}15px4001.00.08emUppercase pill chip (the global 15px minimum)

Principles

Emphasis comes from size and leading, then a small step in weight (300 → 500/700) — never from uppercase body copy. The rule of thumb for any new size: Headline ×1.1, Subhead ×1.2, Body ×1.5 leading, with a purposeful jump between levels.

Uppercase appears in exactly three places: the eyebrow label, button labels, and the badge. Everything else is Sentence case.

Note on Font Substitutes

If Galton is unavailable, fall back to Montserrat (Google Fonts) — the official substitute, already last in every stack. Montserrat is a geometric sans close to Galton in proportion; keep the Light (300) default and Sentence case. Do not substitute a serif or a condensed face.

04 — Elevation & Depth

Elevation & Depth

LevelTreatmentUse
FlatNo shadow, no borderBody, top nav, footer, most sections
Hairline1px rgba(255,255,255,0.12) borderSection dividers, table rows, card outlines
Raised surfacergba(255,255,255,0.04) (white @4%) + hairline borderCards, modals, panels — no drop shadow
Accent glowRadial primary tint at very low opacityOptional hover halo on a feature panel only

The system avoids drop shadows and gradients. Depth comes from the contrast between the near-black canvas and a barely-raised white-at-opacity surface, plus the hairline. Do not add material-style elevation shadows.

05 — Shapes

Shapes

none
0px
component
10px
card
20px
card-lg
24.5px
pill
100px

Border Radius Scale

TokenValueUse
0px0pxInputs, textareas, selects, checkboxes — always flat
10px10pxSmall UI elements
20px20pxStandard card / media container
24.5px24.5pxLarge icon-card
100px100pxButtons, tags, chips, the badge

The radius language is intentional: form controls are flat (0px); interactive pills are fully round (100px); content containers are softly rounded (20px). Avoid arbitrary in-between radii.

06 — Components

Components

Buttons

Pill, UPPERCASE, Galton Bold (700). Three variants; hover inverts toward the canvas. Bottom padding is ~0.1rem less than top to compensate Galton's ascenders.

button-yellow
button-primary
button-secondary
States · button-yellow
default
Buttonhover
disabled
⌄ Token reference (3)
ComponentPropertyTokenResolved
button-yellowbackgroundColor{colors.primary}#FFD700
button-yellowtextColor{colors.on-primary}#1A1A1A
button-yellowtypography{typography.button}{typography.button}
button-yellowrounded{rounded.pill}100px
button-yellowpadding11px 30px 10px11px 30px 10px
button-yellowborder1px solid {colors.canvas}1px solid #1A1A1A
button-primarybackgroundColor{colors.ink}#FFFFFF
button-primarytextColor{colors.on-primary}#1A1A1A
button-primarytypography{typography.button}{typography.button}
button-primaryrounded{rounded.pill}100px
button-primarypadding11px 30px 10px11px 30px 10px
button-primaryborder1px solid {colors.canvas}1px solid #1A1A1A
button-secondarybackgroundColortransparenttransparent
button-secondarytextColor{colors.ink}#FFFFFF
button-secondarytypography{typography.button}{typography.button}
button-secondaryrounded{rounded.pill}100px
button-secondarypadding11px 30px 10px11px 30px 10px
button-secondaryborder1px solid {colors.ink}1px solid #FFFFFF

Form elements

Dark-first: transparent, flat (radius 0), bottom-border only. Focus turns the border the signature yellow. Labels are Galton Light.

⌄ Token reference (4)
ComponentPropertyTokenResolved
text-inputbackgroundColortransparenttransparent
text-inputtextColor{colors.ink}#FFFFFF
text-inputtypography{typography.body}{typography.body}
text-inputrounded{rounded.none}0px
text-inputpadding00
text-inputheight53px53px
text-inputborder0 0 1px 0 solid {colors.ink}0 0 1px 0 solid #FFFFFF
textareabackgroundColortransparenttransparent
textareatextColor{colors.ink}#FFFFFF
textareatypography{typography.body}{typography.body}
textarearounded{rounded.none}0px
textareapadding12px 012px 0
textareaheight120px120px
textareaborder0 0 1px 0 solid {colors.hairline}0 0 1px 0 solid rgba(255,255,255,0.12)
selectbackgroundColortransparenttransparent
selecttextColor{colors.muted}#999999
selecttypography{typography.label}{typography.label}
selectrounded{rounded.none}0px
selectpadding0 30px 0 00 30px 0 0
selectheight53px53px
selectborder0 0 1px 0 solid {colors.ink}0 0 1px 0 solid #FFFFFF
checkboxbackgroundColortransparenttransparent
checkboxtextColor{colors.ink}#FFFFFF
checkboxrounded{rounded.none}0px
checkboxsize30px30px
checkboxborder1px solid {colors.ink}1px solid #FFFFFF

Cards & surfaces

Raised from white at low opacity over the canvas, hairline border, 20px radius — no drop shadows. Depth comes from contrast, not material elevation.

Card title

A raised surface built from white at low opacity over the canvas, with a hairline border.

Feature

With an eyebrow

Lead with a small uppercase label, then a Sentence-case title and body.

Learn more →

20px

Card radius

⌄ Token reference (1)
ComponentPropertyTokenResolved
cardbackgroundColor{colors.surface-raised}rgba(255,255,255,0.04)
cardtextColor{colors.ink}#FFFFFF
cardrounded{rounded.card}20px
cardpadding28px28px
cardborder1px solid {colors.hairline}1px solid rgba(255,255,255,0.12)

Links, eyebrow & badge

Small text utilities. Links hover to yellow; eyebrow and badge are the only Sentence-case exceptions (uppercase).

text-link
01 — Section
eyebrow
Dark-first
badge
⌄ Token reference (3)
ComponentPropertyTokenResolved
text-linkbackgroundColortransparenttransparent
text-linktextColor{colors.ink}#FFFFFF
text-linktypography{typography.body}{typography.body}
eyebrowbackgroundColortransparenttransparent
eyebrowtextColor{colors.primary}#FFD700
eyebrowtypography{typography.eyebrow}{typography.eyebrow}
badgebackgroundColortransparenttransparent
badgetextColor{colors.muted}#999999
badgetypography{typography.badge}{typography.badge}
badgerounded{rounded.pill}100px
badgepadding5.6px 13.6px5.6px 13.6px
badgeborder1px solid {colors.hairline}1px solid rgba(255,255,255,0.12)

Navigation

Sticky 56px top bar and the footer — both on the canvas with a hairline edge.

top-nav
footer
© GALTON · the footer never inverts
⌄ Token reference (2)
ComponentPropertyTokenResolved
top-navbackgroundColor{colors.canvas}#1A1A1A
top-navtextColor{colors.ink}#FFFFFF
top-navtypography{typography.body}{typography.body}
top-navheight56px56px
top-navborder0 0 1px 0 solid {colors.hairline}0 0 1px 0 solid rgba(255,255,255,0.12)
footerbackgroundColor{colors.canvas}#1A1A1A
footertextColor{colors.muted}#999999
footertypography{typography.body}{typography.body}
footerpadding72px72px
footerborder1px 0 0 0 solid {colors.hairline}1px 0 0 0 solid rgba(255,255,255,0.12)

Interaction note: buttons and inputs use a standard ease over ~300–600ms. Hover states are described in prose; default (and focus) states are the source of truth in the YAML.

Top Navigation

top-nav — A 56px sticky bar on #1A1A1A with a blur and a rgba(255,255,255,0.12) bottom border. Carries the wordmark lockup at left — embed galton-wordmark-white.svg (don't retype the letters) — and a set of in-page anchor links + at most one compact secondary (outline) pill CTA at right ({component.button-secondary}, with the button typography). The yellow button does not belong in the persistent nav — keep {component.button-yellow} for the primary in-page CTA (hero, forms). Links are {typography.body} in #999999, brightening to #FFFFFF on hover.

Logo lockup

The white GALTON wordmark (vector SVG, fill="currentColor") plus a superscript ® and a letter-spaced "Brands" tagline beneath. White or black only — the lockup never turns yellow, even on hover. See "Logo & Iconography".

Buttons

All buttons: pill (100px), UPPERCASE, Galton Bold ({typography.button}), inline-flex centered, transition all 0.6s ease. Bottom padding is ~0.1rem less than top (optical compensation for Galton's ascenders). Responsive padding: mobile 10px 20px 8.4px · 1024px 12px 24px 10.4px · 1280px 11px 30px 10px.

  • button-yellow — The signature CTA. #FFD700 background, #1A1A1A text, #1A1A1A border. Hover → #1A1A1A background, #FFFFFF text, #FFFFFF border.
  • button-primary#FFFFFF background, #1A1A1A text (on dark surfaces). Hover → #1A1A1A background, #FFFFFF text.
  • button-secondary — Transparent with a #FFFFFF border (ghost/outline on dark). Hover → #FFFFFF background, #1A1A1A text.

Inputs & Forms

Dark-first: transparent background, bottom-border only, primary-yellow focus. On light surfaces, override the white border/text to black.

  • text-input — Flat (0px), transparent, #FFFFFF bottom border, height 53px, {typography.body}/400, placeholder #999999. Focus → border #FFD700.
  • textarea — Flat, hairline (rgba(255,255,255,0.12)) bottom border, min-height 120px, vertically resizable. Focus → #FFD700.
  • select — Flat, #FFFFFF bottom border, height 53px, appearance: none. The native arrow is replaced by the brand chevron (grey "V") at the right, padding-right 30px, weight 300, #999999 text. Focus → #FFD700. (Sourced from the galton.sk contact form.)
  • checkbox — Flat square (0px), #FFFFFF border, 30px → 45px@1024, fills with a white square on :checked, focus → #FFD700. Pair with a label in {typography.body}/300 inside a flex form-check row.
  • label{typography.label} (Galton Light), #FFFFFF, block, 8px bottom margin.

Links, Eyebrow & Badge

  • text-linkcolor: inherit, no underline, hover/focus → #FFD700 (primary). Transition color 0.3s ease.
  • eyebrow — Small uppercase label above headlines: {typography.eyebrow}, #FFD700.
  • badge — Neutral pill chip for meta/status/version on dark: {typography.badge}, #999999, rgba(255,255,255,0.12) border, 100px.

Cards & Containers

cardrgba(255,255,255,0.04) background, rgba(255,255,255,0.12) border, 20px (20px), ~28px padding, no drop shadow. (Detailed card patterns are not yet fully specified — see Known Gaps.)

Footer

footer#1A1A1A, #999999 text, a rgba(255,255,255,0.12) top border, centered wordmark lockup + copy. ~72px vertical padding. The footer never inverts.

Inversion

Black on white

The system is dark-first, but every surface inverts cleanly to black-on-white for light contexts — print, email, documents. Same logo, type and components; only the neutrals flip, and the yellow accent is unchanged.

On a light surface

Black on white, the same system.

GALTON is dark-first, but every surface inverts cleanly for print, email and documents — the neutrals flip, the accent stays.

The logo becomes its black wordmark, type and spacing are unchanged, and the only color that survives the flip is the signature yellow — used just as sparingly.

A text link →

07 — Logo & Iconography

Logo & Iconography

Two marks

All logo files are served at https://galton-ai-assets.vercel.app/brand/logos/hotlink them by their absolute URL (CORS is open). In a header/footer lockup, embed the wordmark SVG, e.g. <img src="https://galton-ai-assets.vercel.app/brand/logos/galton-wordmark-white.svg" alt="GALTON">never retype "GALTON" as text to fake the logo. Fetch any file by name below.

  • Symbol — the "G": galton-symbol.svg (fill="currentColor", inherits text colour) — favicon, app icon, avatar, loader, compact mark. Explicit-fill copies galton-symbol-white.svg / galton-symbol-black.svg for raster/email.
  • Wordmark — "GALTON": galton-wordmark.svg (vector, fill="currentColor") — the primary digital logo. Explicit galton-wordmark-white.svg / galton-wordmark-black.svg for raster; the full GALTON® + BRANDS tagline lockup as galton-wordmark-white-tagline.png / galton-wordmark-black-tagline.png for formal/print.

The hard color rule

The logo is white or black ONLY — never yellow/primary or any other color. When using a currentColor mark, ensure the inherited color is white or black, never #FFD700. White on dark; black on light (or on a primary-yellow surface, where the mark is black). Never recolor, add shadows/gradients/outlines, stretch, rotate, or re-typeset the wordmark.

Favicons

The "G" symbol as a site/app icon (white on transparent), served at https://galton-ai-assets.vercel.app/brand/icons/:

  • galton-favicon-32x32.png (browser tab), galton-favicon-192x192.png (Android/high-DPI), galton-favicon-180x180.png (Apple touch icon).

Complete asset manifest: every logo, font and icon — with formats, usage notes and direct URLs — is served as JSON at https://galton-ai-assets.vercel.app/brand.json and indexed at https://galton-ai-assets.vercel.app/llms.txt. This spec carries enough to fetch the brand directly; the manifest is the exhaustive list.

08 — Do's and Don'ts

Do's and Don'ts

Do

  • Build dark-first: #1A1A1A floor, #FFFFFF text, #FFD700 for accents only.
  • Set everything in Galton Light (300), Sentence case. Step to 500/700 only for emphasis.
  • Nothing renders below 15px on the web — 15px is the hard minimum (section-label eyebrow, badge, captions, code, table headers). Body/reading text (body, buttons, form labels, links, nav) is 18px.
  • Keep the leading ratios: Headline ×1.1, Subhead ×1.2, Body ×1.5.
  • Use {component.button-yellow} for the signature CTA; keep all buttons pill + uppercase + Bold.
  • Keep inputs flat (0px), transparent, bottom-border only, focus → #FFD700.
  • Build raised surfaces from white/grey at low opacity (rgba(255,255,255,0.04)).
  • Keep the logo white or black, always.
  • Hotlink fonts and logos by their absolute https://galton-ai-assets.vercel.app/brand/… URLs (CORS is open); embed the wordmark SVG for any lockup.

Don't

  • Don't color the logo yellow/primary or any color other than white/black. (Hard rule.)
  • Don't introduce a new hex for surfaces — derive from white/grey at opacity.
  • Don't use #FFD700 as a large fill, or put primary type on white (low contrast).
  • Don't uppercase body copy — uppercase is for eyebrow, buttons and badge only.
  • Don't add drop shadows or gradients for depth; use the canvas/hairline/raised-surface stack.
  • Don't round inputs or square the buttons — form controls are 0px, buttons are 100px.
  • Don't substitute a serif or condensed face for Galton — fall back to Montserrat only.
  • Don't relativise asset URLs to /brand/… or copy fonts/logos locally — hotlink the absolute https://galton-ai-assets.vercel.app/brand/… URL, or the font silently falls back to Montserrat off-site.
  • Don't fake the logo by retyping "GALTON" as styled text — embed the wordmark SVG.
  • Don't put the yellow button in the persistent top nav — the nav CTA is the compact secondary/outline pill; yellow is for the primary in-page CTA.

09 — Responsive Behavior

Responsive Behavior

Breakpoints

NameWidthKey Changes
Mobile< 768pxSingle column; in-page nav links hide (CTA stays); display type drops to the smallest step; section rhythm ~56px; form rows go 1-up
Tablet768–1024pxWider gutters (2.5rem); subhead/headline step up; 2-up form rows
Desktop1024–1280pxFull type scale; gutter 4rem; section rhythm ~104px
Wide> 1280pxDisplay-lg/display reach their max (180/120px); content max 1080px

Touch Targets

  • Buttons render at a comfortable tap height (≥44px effective).
  • {component.text-input} and {component.select} are 53px tall.
  • {component.checkbox} is 30px (mobile) → 45px (desktop).

Collapsing Strategy

  • Top-nav anchor links hide below 720px; the wordmark lockup and the single pill CTA stay.
  • form-row two-column grids collapse to one column below ~640px.
  • Display headlines step down one size per breakpoint; body stays 18px throughout (the web/body minimum).

Image / Mark Behavior

  • SVG marks scale crisply at any size; prefer the vector wordmark for digital and the tagline PNG only for formal/print.

10 — Agent Prompt Guide

Agent Prompt Guide

Point your agent at this design system first — connect the MCP server, drop DESIGN.md into the repo, or share the URL. Then describe intent, not values: say on-brand, the signature accent, the display headline, and the agent resolves the exact colours, type and components from the spec. The prompts below are starting points — copy one and adapt it. None of them hard-codes a hex or a size; that's the agent's job, from the guidelines.

01Landing hero

Build an on-brand GALTON hero. Dark-first canvas; a large display headline in Sentence case with the final word in the signature accent; a short body lead beneath; and the primary call-to-action button. Place the wordmark top-left. Pull every colour, type size and component from the design system — don't invent values.

02Contact form

Create an on-brand contact form. Stack labelled fields — a text input, a select and a textarea — then a consent checkbox and the primary CTA. Use the form component tokens: flat fields, bottom-border only, focus in the accent. Keep it dark-first.

03Full landing page

Compose a full GALTON landing page: a hero, two or three content sections and a footer. Use the design system's type scale, spacing rhythm and components throughout; keep the dark-first canvas and reserve the accent for emphasis. Pull every value from the spec — don't invent any.

04Rebrand a page

Restyle this page to match GALTON. Map every colour, font and component to the design system's tokens and replace ad-hoc values with the brand's. Keep the logo white or black only.

Principles
  • Describe intent and structure; let the agent resolve exact values from the spec.
  • Reference roles — "primary CTA", "the accent", "display headline" — not hex codes.
  • Keep the logo white or black only; never recolour it.
  • Don't use the accent as a large fill, and never uppercase body copy.

11 — Iteration Guide

Iteration Guide

  1. Work one component at a time; reference its YAML key (e.g. {component.button-yellow}, {component.select}).
  2. New form controls default to 0px (0px); interactive pills use 100px; content containers use 20px.
  3. Variants live as separate entries in components:.
  4. Use {token.refs} everywhere — never inline a hex or a raw px where a token exists.
  5. Keep the type Galton Light / Sentence case; only the eyebrow, button and badge are uppercase.
  6. When in doubt about emphasis: more size and leading before more weight; never reach for a new color.
  7. The logo stays white or black in every state, including hover.

12 — Known Gaps

Known Gaps

  • Confirmed from the official manual: palette, typeface, type hierarchy + leading, colour combinations, logo system, corner radius, buttons and forms. Spacing/grid and motion are intentionally left out of this spec — define them per project rather than treating derived values as brand law.
  • Sub-brand chip and detailed card patterns are not yet fully specified. Derive them from these principles (dark-first, palette tokens, the radius/motion scales) — or confirm from galton.sk — and add them. (The brand icon library — line / 3d / simple — is specified separately in icons.json and the Icon library section.)
  • Display token sizes in the frontmatter are the desktop maximum; the full responsive range is in the Typography table.
  • Surface tokens (surface-raised, hairline) are expressed as white-at-opacity rather than fixed hex, matching the brand's "no new hex" rule.

Assets

Logos, fonts & icons

Every downloadable brand file, with usage notes. Click any tile to download.
Primary lockup

The primary lockup — wordmark + ® and the BRANDS tagline.

Symbol — the “G”

White on dark
galton-symbol-white.svg
Black on light
galton-symbol-black.svg
Black on primary
galton-symbol.svg · currentColor

Wordmark — “GALTON”

White on dark
galton-wordmark-white.svg
Black on light
galton-wordmark-black.svg
Black on primary
galton-wordmark.svg · currentColor

Full lockup with ® + BRANDS tagline (raster, formal / print)

Full lockup with ® + BRANDS tagline (raster, formal / print) — White — on dark / photo
White — on dark / photo
galton-wordmark-white-tagline.png
Full lockup with ® + BRANDS tagline (raster, formal / print) — Black — on light / white
Black — on light / white
galton-wordmark-black-tagline.png

Voice

Brand voice

How the brand writes — for humans and AI agents. Read this before drafting copy.

Confident

Quiet authority — never loud, never hype.

Editorial

High-contrast, considered, magazine-like.

Plain

Sentence case; clarity over cleverness.

Do

  • Lead with the reader's problem, then the idea.
  • One idea per sentence; let whitespace carry weight.
  • Reach for size and leading before weight, and for weight before colour.
  • Keep a deliberate jump between hierarchy levels.

Don't

  • Don't uppercase body copy.
  • Don't stack three adjectives.
  • Don't colour the logo or use the yellow as a large fill.
  • Don't shout with exclamation marks or all-caps.

Prefer

brandidentitystrategyeditorialconfidentclarityconsidered

Avoid

synergydisruptgame-changercutting-edgeworld-classrevolutionary

Before → after

We deliver CUTTING-EDGE, world-class branding solutions!!!

We build brands that are confident, editorial, and clear.

en

Our revolutionary, game-changing strategy will disrupt your market.

A clear strategy gives your brand a deliberate place in the market.

en

Prinášame REVOLUČNÉ a svetové brandingové riešenia!!!

Staviame značky, ktoré sú sebavedomé, editoriálne a jasné.

sk

Naša prelomová stratégia naruší celý trh.

Jasná stratégia dá vašej značke premyslené miesto na trhu.

sk

LinkedIn

LinkedIn playbook

Post types, anatomy, hashtag rules and examples. Each post type maps to a carousel recipe.

Educational carousel

Teach one concept across slides.

Recipe: educational-carousel

6001200 chars

Single insight

One sharp idea, one image.

Recipe: single-insight

300700 chars

Announcement

Ship / launch news.

Recipe: announcement

Event / speaker

Promote a talk or event.

Recipe: event-post

Naming showcase

Show a naming case.

Recipe: naming-carousel

Hashtags

3–5, lowercase, brand + topic; never a wall of tags.

Formatting

  • The hook must stand alone — LinkedIn truncates after ~2 lines.
  • Short paragraphs, one idea each; a blank line between.
  • End with a single clear call to action.

Example posts

en · educational
New product, new market, new challenge.

Most launches fail on positioning, not product.

Here's how a go-to-market strategy fixes that ↓

#galtonbrands #gtm #branding
en · insight
Your brand isn't your logo.

It's the deliberate gap between you and everyone else.

#galtonbrands #branding
sk · educational
Nový produkt, nový trh, nová výzva.

Väčšina launchov padne na pozícii, nie na produkte.

Ako to rieši go-to-market stratégia ↓

#galtonbrands #gtm #branding
sk · insight
Značka nie je vaše logo.

Je to premyslený rozdiel medzi vami a všetkými ostatnými.

#galtonbrands #branding

Layouts

Layout archetypes

The finalized slide system — one shared 1080×1350 canvas plus four base layouts, each a universal slot schema with an example image. Read them through MCP and rebuild the slide on-brand in your own tool.
Slide canvasget_slide_canvas
Size
1080 × 1350
+ 1080x1080
Padding
64px
all sides
Colours
Composition

vertical-central · gap auto · top / bottom blocks

Slide type scale
headlineGalton Light· UPPERCASE· 100px / 120%
subtitleGalton Light· Sentence case· 60px / 120%
nameGalton Medium· UPPERCASE· 36px / 120%
captionGalton Light· UPPERCASE· 36px / 120%
folioGalton Medium· UPPERCASE· 24px / 120%
Headers
folioTwo small folio labels — left + right — above a hairline rule (e.g. 'Naming folio' / 'Selected works').
wordmarkGALTON wordmark at left; an optional event-tag pill at right.
Footers
symbolThe G symbol at left and the website URL at right, separated from content by a hairline rule.
awardThe Najzamestnávateľ award lockup at left and the website URL at right.
Cover / titlecover
1080x1350 · 1080x1080dark/lightheader: foliofooter: symbol

Slots: folioLeft, folioRight, headline, accent, subtitle, surface

Profile / speaker cardprofile
1080x1350darkheader: wordmarkfooter: award

Slots: tag, photo, people, surface

Concept + supporting graphicconcept
1080x1350 · 1080x1080dark/lightfooter: symbol

Slots: headline, subheadline, graphic, surface

Statement + centred graphic + CTAstatement
1080x1350 · 1080x1080dark/lightfooter: symbol

Slots: headline, graphic, subtitle, cta, surface

Icons

Icon library

Optional geometric icons for layouts. Hotlink or download.

GALTON uses three icon families. (1) SIMPLE — flat geometric marks: a solid yellow fill (e.g. the heart) or a thin white monoline shape with ONE yellow accent element. Minimal, built from basic geometry; used as a single hero mark on dark slides. (2) LINE — a detailed monoline service-icon library, ~2px stroke, square-ish viewBox, one or more #FFD700 accent blocks. Each line icon ships in TWO finishes: `file` is the WHITE-stroke icon for dark surfaces (the brand default, dark-first), and `fileLight` is the same icon with BLACK strokes for light/white surfaces. The yellow accent is identical in both. (3) 3D — soft-shaded white objects on a single yellow base, transparent PNG; works on dark and light. Match a family's stroke weight and the one-accent rule when extending.

Line icons

3D icons

Simple icons