# Brand Layer — GALTON Brands, for AI agents

> A confident, editorial, dark-first brand house. Near-black canvas, white type, one signature yellow used sparingly, and a single typeface — GALTON.
> Brand Layer is a read-only brand knowledge base by GALTON Brands.

Brand version 2.21.1 — last updated 02.10.2026.

This file is the AI entry point. The full, machine-readable spec is in the open DESIGN.md format. Connect over MCP for live token/component queries, or read the surfaces below.

## Critical rule for agents (read first)
Never invent a colour, font, radius or component. The accent is ALWAYS #FFD700 (colors.primary), never red, blue or green. H1/display headlines and section titles (H2) are UPPERCASE. Every text colour is SOLID: no opacity, no alpha, no grey type, and no em dash in any copy. Anything undefined: derive via the fallback contract, or ask.

Guided mode: a short request ("make me a poster") is enough. Read [intake.md](https://galton-ai-assets.vercel.app/intake.md) first: it says which parameters to fill from defaults, which single thing to ask about, and how to report the choices back.

- Tool-capable agent → connect the MCP server and call `get_skill` first.
- Can fetch URLs → read the linked surfaces below.
- No URL access (Gem / Custom GPT Knowledge) → download [llms-full.txt](https://galton-ai-assets.vercel.app/llms-full.txt), it is self-contained.
- Nothing above is possible, or you need the asset FILES → download [bundle.zip](https://galton-ai-assets.vercel.app/bundle.zip), the offline package: every knowledge file plus every logo, icon and font, with a START-HERE.md map at its root.

## Read the spec
- [DESIGN.md](https://galton-ai-assets.vercel.app/design.md): complete token frontmatter + rules (apply this directly). ~20k tokens.
- [skill.md](https://galton-ai-assets.vercel.app/skill.md): the versioned agent orchestrator skill — how to route any task to the right tools. Save it (optional) or keep it in context; re-fetch when the brand version changes. ~3k tokens.
- [intake.md](https://galton-ai-assets.vercel.app/intake.md): guided mode, the parameters and defaults and the report block for every output type. ~5k tokens.
- [brand.json](https://galton-ai-assets.vercel.app/brand.json): identity, tokens, components and assets as structured JSON.
- [brand.css](https://galton-ai-assets.vercel.app/brand.css): hotlinkable stylesheet — @font-face, every token as a CSS variable, a .bl-{component} class per component, the .bl-light surface scope and the responsive type media queries. One <link> makes a page on-brand.
- [integrity.json](https://galton-ai-assets.vercel.app/integrity.json): the SHA-256 of every surface above, so you can verify what you downloaded.
- [MCP endpoint](https://galton-ai-assets.vercel.app/api/mcp): Streamable HTTP, stateless — the recommended transport. Tools: get_skill, get_intake, get_brand_overview, get_design_spec, list_tokens, get_component, get_section, search_design, list_assets, get_voice_guide, get_linkedin_playbook, get_sound_guide, list_layouts, get_layout, list_carousel_recipes, list_presentation_slides, get_presentation_slide, list_icons, get_fallback, get_chart_palette, get_agent_rules.
- [tool endpoint](https://galton-ai-assets.vercel.app/api/tool): the same tools over plain HTTP, for a client that can fetch a URL but does not speak MCP. GET lists every tool with its JSON Schema; POST {"name": "...", "args": {}} runs one and returns the same content.
- In-browser (WebMCP): every page of this site registers 10 of these tools with a browser-integrated agent through document.modelContext, so an agent reading the site needs no setup at all. Requires a browser that implements WebMCP.

## Brand palette
Primary: `White` #FFFFFF · RGB 255/255/255 · CMYK 0/0/0/0 · PMS Not specified C; `Black` #1A1A1A · RGB 26/26/26 · CMYK 0/0/0/95 · PMS Not specified C
Secondary: `Yellow` #FFD700 · RGB 255/215/0 · CMYK 0/10/100/0 · PMS Not specified C

## Approved combinations
> Some colors are not suitable to be used in combination with others. The following diagram demonstrates approved color combinations.
- Black on white (fg #1A1A1A / bg #FFFFFF)
- White on black (fg #FFFFFF / bg #1A1A1A)
- Yellow on white — large graphic marks only, never text (fails contrast) (fg #FFD700 / bg #FFFFFF)
- Yellow on black (fg #FFD700 / bg #1A1A1A)

## Semantic colour tokens
- `primary` #FFD700
- `on-primary` #1A1A1A
- `ink` #FFFFFF
- `on-dark` #FFFFFF
- `body` #FFFFFF
- `body-soft` #FFFFFF
- `muted` #FFFFFF
- `canvas` #1A1A1A
- `surface-raised` rgba(255,255,255,0.04)
- `hairline` rgba(255,255,255,0.12)
- `on-light` #1A1A1A
- `light-canvas` #FFFFFF
- `link` #FFD700
- `success` #5FB87A
- `warning` #FFD700
- `error` #E0664E
- `info` #7FB2D4
> `success` / `warning` / `error` / `info` are FUNCTIONAL status colours, not brand colours — semantic feedback only, never an accent or a fill. The accent is always `primary`.
> **text:** Every text colour is SOLID. `ink`, `body`, `body-soft` and `muted` are the same #FFFFFF on purpose: hierarchy comes from size, weight and case, never opacity. Never put `opacity`, alpha or `color-mix(..., transparent)` on type, and never hand-roll a text colour: use the `.bl-text-*` classes.
> **alpha:** Alpha is legal only on non-text structure: `surface-raised` panels, `hairline` lines and dividers, chart marks. Never a new hex.
> **onLight:** The light surface is the `lightSurface` map: which roles change, which do not, and why. Never derive an inversion by hand and never reuse a token tuned for the dark canvas.

### On a light surface
Wrap the light area in `.bl-light` and keep using the SAME `.bl-{component}` classes: brand.css emits the overrides from this map. Greys are derived from `{colors.on-light}`, never reused from the dark-tuned tokens.
- `canvas` #FFFFFF
- `light-canvas` #1A1A1A
- `ink` #1A1A1A
- `on-dark` #1A1A1A
- `body` #1A1A1A
- `body-soft` #1A1A1A
- `muted` #1A1A1A
- `on-light` #FFFFFF
- `surface-raised` rgba(26,26,26,0.04)
- `hairline` rgba(26,26,26,0.12)
- `link` #1A1A1A
- Unchanged on both surfaces: `primary`, `on-primary`, `success`, `warning`, `error`, `info`
> The accent never inverts. {colors.primary} is the same yellow on both surfaces, and type on a yellow surface is {colors.on-primary} on both.
> A link on a light surface is {colors.on-light}, not the yellow: yellow on white is approved for large graphic marks only, never for text (see `combinations`). The accent still carries the focus ring and the active underline.
> Status hues are tuned to read on both surfaces and do not change.
> Text stays solid on both surfaces. The value changes, the method never does (see `colorRules.text`).

## Typeface
- Font: **GALTON** (default weight 300, Sentence case)
- Stack: `GALTON, Montserrat, ui-sans-serif, system-ui, sans-serif`
- File: https://galton-ai-assets.vercel.app/brand/fonts/GaltonVariable.woff2 (woff2-variations)
- @font-face: @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; /* Vertical-metric correction — KEEP these three lines. The variable woff2 sets USE_TYPO_METRICS with an asymmetric 750/-250 typo ascent/descent, which floats UPPERCASE labels ~0.1em high in tight (line-height:1) boxes like buttons and badges. These overrides pin the webfont to the desktop masters' metrics (ascent−descent ≈ the cap height) so text centres correctly everywhere — no per-button padding hacks needed. */ ascent-override: 96%; descent-override: 24%; line-gap-override: 0%; }
- Fallback: Montserrat (https://fonts.google.com/specimen/Montserrat)

## Type styles
- `display-lg` 136px w300 lh1.05 (mobile 56px, tablet 88px, desktop 136px, wide 180px)
- `display` 96px w300 lh1.1 (mobile 48px, tablet 72px, desktop 96px, wide 120px)
- `headline` 64px w300 lh1.1 (mobile 40px, tablet 52px, desktop 64px, wide 80px)
- `subhead` 30px w300 lh1.2 (mobile 22px, tablet 24px, desktop 30px, wide 30px)
- `body` 18px w300 lh1.5
- `body-strong` 18px w500 lh1.4
- `caption` 15px w300 lh1.5
- `eyebrow` 15px w500 lh1.4
- `button` 18px w600 lh1
- `label` 18px w300 lh1.4
- `badge` 15px w400 lh1
> **domains:** THREE type systems, one typeface, and only two of them are a source of sizes. `typography` is the WEB set: real px, responsive, and the source of the `.bl-*` classes; a web section title is `typography.headline`, 64px. `canvas.type` in the layout catalog is the SLIDE set: px on the 1080 canvas, reached through `get_layout`; a slide headline is 100px UPPERCASE at leading 1.2. `typeScale` is neither: it is the brand manual's hierarchy and LEADING reference, its sizes are illustrative by its own wording, and its ratios are the web ones. Take sizes from `typography` for a page and from `canvas.type` for a slide; take leading ratios from `typeScale`. Never mix two leading ratios inside one artefact.
> **responsive:** A WEB type token's `fontSize` is the DESKTOP step. Slide sizes in `canvas.type` are absolute and do not resize: the canvas is a fixed pixel frame. Where a token changes across breakpoints it carries the whole ladder in `responsive`, keyed by the `breakpoints` block, and brand.css emits the media queries, so the `.bl-text-*` classes resize on their own. Never invent an intermediate size.
> **case:** H1/display headlines and section titles (H2) are UPPERCASE; H3 and below and body are Sentence case; uppercase elsewhere only for eyebrow, button and badge. Hierarchy is size, weight and case, never a faded colour (`colorRules.text`).
> Type tokens carry no colour. Use `.bl-text-display`, `.bl-text-headline`, `.bl-text-subhead`, `.bl-text-body`, `.bl-text-caption` from brand.css: each binds one of these sizes to a SOLID text colour.

## Components
`text-display`, `text-headline`, `text-subhead`, `text-body`, `text-caption`, `button-yellow`, `button-primary`, `button-secondary`, `button-yellow-hover`, `button-primary-hover`, `button-secondary-hover`, `text-input`, `textarea`, `select`, `checkbox`, `text-link`, `eyebrow`, `badge`, `card`, `top-nav`, `footer`, `radio`, `toggle`, `toggle-on`, `slider-track`, `slider-fill`, `slider-thumb`, `stepper`, `stepper-button`, `search`, `tag`, `tag-active`, `tab`, `tab-active`, `breadcrumb`, `breadcrumb-current`, `pagination-item`, `pagination-item-active`, `menu`, `menu-item`, `modal`, `tooltip`, `accordion`, `accordion-content`, `alert`, `alert-success`, `alert-warning`, `alert-error`, `alert-info`, `progress-track`, `progress-fill`, `table`, `table-header`, `table-cell`, `side-nav`, `side-nav-item`, `side-nav-item-active`, `index-row`, `index-row-hover`

## Data visualization (read via get_chart_palette)
Categorical series (in order): {colors.primary}, {colors.ink}, rgba(255,255,255,0.62), rgba(255,255,255,0.40), rgba(255,255,255,0.24)
Sequential ramp: rgba(255,255,255,0.10) → rgba(255,255,255,0.40) → {colors.primary}
Background {colors.canvas}; gridlines {colors.hairline}; axis {colors.muted}.
- The default series colour is the single yellow accent; add white, then whites at alpha, for more series.
- `axis` and `label` are the SAME solid value on purpose: a charting library asks for both, the brand does not distinguish them. Same reason `body`, `body-soft` and `muted` are one white (`colorRules.text`).
- The alpha ramp above applies to MARKS ONLY (bars, lines, areas, the sequential fill). Every axis tick, data label, legend entry and title is solid {colors.muted}. See `colorRules.text`.
- Never use a chart-library default palette (the rainbow), and never red/blue/green as decorative series colours.
- Use `semantic` hues ONLY when the chart encodes good/bad (deltas, pass/fail) — otherwise stay in the categorical ramp.
- Plot background is {colors.canvas}; gridlines are {colors.hairline}.
- One highlight per chart — set the series you want read first in yellow and keep the rest neutral.

## Fallback contract (read via get_fallback)
> When something isn't defined here, resolve it from these primitives — never invent a colour, font, radius or component. The brand accent is ALWAYS the yellow primary. Restraint — ink + greys + a single yellow accent — is always on-brand.
- surface → {colors.canvas}
- surfaceRaised → {colors.surface-raised}
- ink → {colors.ink}
- body → {colors.body}
- muted → {colors.muted}
- border → {colors.hairline}
- accent → {colors.primary}
- onAccent → {colors.on-primary}
- focus → {colors.primary}
- Accent: every highlighted / active / selected state, slider fill, toggle-on, link, focus ring and progress fill is {colors.primary} (yellow). NEVER red, blue, green or any other hue as an accent.
- Surfaces: build any new panel from {colors.surface-raised} (white at low opacity) over {colors.canvas}. Never introduce a new hex.
- Lines: borders, dividers, slider/track rules and table rules are {colors.hairline}.
- Text: {colors.ink} for headings/strong, {colors.body} for running text, {colors.muted} for captions / placeholders / disabled, under `colorRules.text`.
- Form controls: flat ({rounded.none}), transparent, bottom-border only; focus turns the border {colors.primary} — exactly like text-input.
- Pills & buttons: {rounded.pill}, uppercase, GALTON Bold. Content containers: {rounded.card}.
- Status hues: success / warning / error / info come ONLY from `colors` and ONLY for genuine semantic feedback (validation, alerts, deltas) — never decoration, never an accent, never a fill.
- Charts: use the `chart` palette (yellow + neutrals), never a chart-library default rainbow.
- Type: one typeface, GALTON Light, under `typeRules`. Sizes come from `typography` for the web and `canvas.type` for a slide; case comes from `typeRules.case`.
- When in doubt, go monochrome with one yellow accent. If you still cannot resolve it on-brand, ASK THE HUMAN — do not guess.

## Rules (sections in the spec)
- Overview
- Colors
- Typography
- Elevation & Depth
- Shapes
- Components
- Data visualization
- Status & feedback colours
- Fallbacks & unknown elements
- Logo & Iconography
- Do's and Don'ts
- Responsive Behavior

## Assets
- [GALTON Variable](https://galton-ai-assets.vercel.app/brand/fonts/GaltonVariable.woff2): The web font — variable, covers every weight. Embed this and nothing else.
- [Favicon 32](https://galton-ai-assets.vercel.app/brand/icons/galton-favicon-32x32.png): Browser-tab favicon.
- [Favicon 192](https://galton-ai-assets.vercel.app/brand/icons/galton-favicon-192x192.png): Android / high-DPI.
- [Apple touch](https://galton-ai-assets.vercel.app/brand/icons/galton-favicon-180x180.png): Apple touch icon (iOS home screen).

## Logo policy
The logo is white or black ONLY — never the primary yellow or any other color. White on dark, black on light or on a yellow surface. Never recolor, rotate, stretch, add shadows/gradients, or re-typeset the wordmark.

## Verbal identity (brand voice)
> Sebavedomý stratég s dušou tvorcu, ktorý hovorí veci na rovinu a baví ho to.
**Stratég-Challenger** — Vedie, pýta sa „prečo“, reframuje problém, argumentuje dátami a skúsenosťou. Nerobí mechanicky to, čo klient povie, ak to nedáva zmysel.; **Partner pre vizionárov** — Hovorí s lídrami (C-level) ako rovný s rovným. Nikdy nie servisný dodávateľ čakajúci na zadanie.; **Sebavedomý, no bez ega** — Istota stojí na dátach a faktoch, nie na pozérstve. Dovolí si povedať „toto nevieme, zistíme to“.; **Odvážny tvorca** — Mení pravidlá hry, hľadá inakosť, dovolí si vtip a prekvapenie tam, kde to funguje.; **Ľudský a zodpovedný** — „Na konci dňa ide o ľudí.“ Hrdý na tím, empatický ku klientovi pod tlakom, zodpovedný za dlhodobý dopad.
Do: Hovoríme na rovinu, krátko, bez prázdnych fráz. · Každé tvrdenie podložíme „prečo“ — dátami alebo skúsenosťou. · Oslovujeme priamo; klient je hrdina, my sme sprievodca. · Myslíme dlhodobo — budovanie, konzistencia, progres. · Dovolíme si vtip tam, kde funguje. · Priznáme, čo nevieme. · Sme partneri — povieme aj nepríjemnú pravdu.
Don't: Žiadny hype a sľuby zázrakov („revolučný“, „zaručene“, „number one“). · Buzzwordy bez obsahu ani žargón bez vysvetlenia. · Neosobný, korporátne chladný tón. · Nesľubujeme rýchle zázraky ani jednorazové „opravy“. · Vtip v citlivých či krízových témach. · Nehráme sa na vševedúcich. · Nie sme servilní ani apologetickí.

### AI brief (paste into your AI tool before writing copy)
Píš ako GALTON Brands — strategická brandingová agentúra. Hlas: sebavedomý stratég s dušou tvorcu, ktorý hovorí na rovinu. Si partner pre vizionárskych lídrov (C-level), nie dodávateľ. Veď, pýtaj sa „prečo“, argumentuj dátami; buď sebavedomý, ale priznaj, čo nevieš (bez ega). Píš krátko a jasne, striedaj úderné a vysvetľujúce vety, oslovuj priamo (vykanie). Najprv emócia a zmysel, potom dôkaz a fakty. Rámcuj: investícia (nie náklad), partnerstvo (nie projekt), dopad (nie výstup). Stoj na pilieroch: brand as business, budovanie zvnútra von, konzistencia v jadre + flexibilita v prejave, emócia pred racionalitou, dlhodobé partnerstvo, jedinečnosť a odvaha. Centrálna idea je jedinečnosť — výstup musí byť odvážny, unikátny a jasne rozpoznateľný. Registre podľa kontextu: konzultatívny (web/sales), edukačný/mentor (blog — mýtus→reframe, rečnícke otázky, listicles, svetové príklady, mäkké CTA), case-study (klient ako hrdina, dopad nie výstup), claimy/kampane (hravé, na antitéze či pun-e). Vyhýbaj sa: hype („zaručene/revolučné/number one“), buzzwordom, lacným urgenciám/FOMO vo vlastnom hlase, apologetickému aj arogantnému tónu, woke washingu. Nikdy neuvádzaj nepodložené čísla; externé štatistiky cituj so zdrojom. Origin story rámcuj okolo myšlienky odtlačku prsta a jedinečnosti, nie osoby Francisa Galtona. Píš primárne po slovensky; angličtinu používaj zámerne v claimoch, názvoch a odborných termínoch. Tón vždy partnerský, nikdy apologetický. Nepoužívaj „em dash“. Nepoužívaj vetnú konštrukciu „Nie X, ale Y“.

Full verbal identity: https://galton-ai-assets.vercel.app/verbal-identity.md (alias: https://galton-ai-assets.vercel.app/voice.md)

## LinkedIn playbook
- **Educational carousel** (`educational`) → recipe `educational-carousel`
- **Single insight** (`insight`) → recipe `single-insight`
- **Announcement** (`announcement`) → recipe `announcement`
- **Event / speaker** (`event`) → recipe `event-post`
- **Naming showcase** (`naming`) → recipe `naming-carousel`
Full playbook: https://galton-ai-assets.vercel.app/linkedin.md

## Sound branding
The GALTON sound is built around the Branding Anthem. The sound logo, the cuts, the loop and the ambients all come from it, and all but one run at 120 BPM, so a piece can follow another on the bar without a new edit.
- **The sound logo signs off**: It closes a film, a reel or a presentation. Nothing plays over it and nothing follows it.
- **One tempo**: Everything except Ambient 3 runs at 120 BPM, so one bar lasts 2 seconds. Cut picture on the bar and it lands on the music.
- **Music sits under the voice**: Under narration, use an instrumental or an ambient and keep it well below the voice. The versions with spoken words never go under a voiceover.
- **Loop, do not stretch**: For a longer piece, repeat the Loop or an ambient from bar to bar. Never time-stretch the anthem.
Track by job: Film with a narrator: Anthem, instrumental; Film without a narrator: Anthem; 30 second spot: Anthem, 30 s; Social cut, bumper, pre-roll: Anthem, 15 s with voice; Screen that runs for hours: Loop; Event walk-in: Emergence; Waiting screen, transition: Ambient 5, no beat; The last second of anything: Sound logo.
Rules and tracks: https://galton-ai-assets.vercel.app/sound.md. Every track with its absolute URL and length: the `sound` block of https://galton-ai-assets.vercel.app/brand.json (MCP: get_sound_guide). Never use stock or generated music in its place.

## Layout archetypes (reference for on-brand slides / carousels)
Shared slide canvas (get_layout without id): 1080x1350, 64px padding, vertical-central Top/Bottom-block composition, GALTON Light UPPERCASE headlines.
Text placement: a slot's y is the CAP TOP of line 1, not the line box. baseline of line k = y + 0.70 × size + (k − 1) × 1.2 × size.
Box sizing: a box marked `hug` is sized by its content and the w/h given are the EXAMPLE measurement, not a constraint. Keep the edge named by `anchor` and grow the other way. Keeping a hug box at its example width, or shrinking the type to fit it, is the commonest mistake made with this catalog.
Type over an image: Darken the image itself, or lay a flat overlay of the canvas colour over the whole image panel, until the type reads. Treat the WHOLE panel and keep the treatment even. A backing band or a soft fade sitting only behind the words is not the house solution: it draws a shape the layout does not have.
Furniture is never omitted: the rule is a solid 2px line 952px wide (NOT the web hairline token), the logo variant follows the surface, and the footer URL is lowercase.
- `cover` — Cover / title (1080x1350, 1080x1080), 8 measured element boxes, footer `symbol`
- `profile` — Profile / speaker card (1080x1350), 11 measured element boxes, footer `partner`
- `concept` — Concept + supporting graphic (1080x1350, 1080x1080), 6 measured element boxes, footer `symbol`
- `statement` — Statement + centred graphic + CTA (1080x1350, 1080x1080), 4 measured element boxes, no footer
- `statement-light` — Statement, light surface (1080x1350, 1080x1080), 4 measured element boxes, no footer
- `cover-image` — Cover, full-bleed image (1080x1350, 1080x1080), 5 measured element boxes, footer `symbol`
- `cover-image-half` — Cover, image on the lower half (1080x1350), 5 measured element boxes, footer `symbol`
- `statement-cta` — Long statement with a swipe arrow (1080x1350, 1080x1080), 9 measured element boxes, footer `symbol`
- `step-numeral` — Carousel step with a full-width numeral (1080x1350), 9 measured element boxes, footer `symbol`
- `title-image` — Headline over a full-bleed image (1080x1350, 1080x1080), 8 measured element boxes, footer `symbol`
- `rule-list` — Ruled list of terms (1080x1350), 17 measured element boxes, footer `symbol`
- `person-round` — Person card, round portrait (1080x1350), 7 measured element boxes, footer `symbol`
- `person-image` — Person card, full-bleed portrait (1080x1350), 1 measured element boxes, footer `symbol`
- `graphic-statement` — Centred graphic over a closing line (1080x1350), 5 measured element boxes, footer `symbol`
- `body-cta` — Running copy with a swipe arrow (1080x1350), 8 measured element boxes, footer `symbol`
- `bullets-logo` — Bulleted list closing on a client logo (1080x1350), 15 measured element boxes, footer `symbol`
- `compare-columns` — Two columns split by a vertical rule (1080x1350), 19 measured element boxes, footer `symbol`
- `body-payoff` — Running copy closing on a payoff line (1080x1350), 8 measured element boxes, footer `symbol`
- `steps-numbered` — Two numbered steps (1080x1350), 11 measured element boxes, footer `symbol`
- `steps-arrow` — Numbered stages with arrows (1080x1350), 18 measured element boxes, footer `symbol`
- `definitions-stack` — Two defined terms, stacked (1080x1350), 9 measured element boxes, footer `symbol`
- `event-speaker` — Event announcement, one speaker (1080x1350), 13 measured element boxes, footer `symbol`
- `event-panel` — Event announcement, panel of participants (1080x1350), 10 measured element boxes, footer `symbol`
- `recruitment` — Recruitment, framed centre panel (1080x1350), 13 measured element boxes, footer `none`
- `partnership` — Partnership lockup over a portrait (1080x1350), 7 measured element boxes, footer `none`
- `guide-cover` — Guide cover with a 3D cluster (1080x1350), 7 measured element boxes, footer `symbol`
Carousel recipes (ordered layout sequences): `educational-carousel`=[cover → statement → concept → concept → statement]; `single-insight`=[statement]; `announcement`=[cover → statement]; `event-post`=[profile]; `naming-carousel`=[cover → statement → concept]; `process-carousel`=[cover-image → statement-cta → step-numeral → step-numeral → body-payoff]; `framework-carousel`=[title-image → rule-list → compare-columns → steps-arrow → graphic-statement]; `guide-carousel`=[guide-cover → body-cta → bullets-logo → steps-numbered → definitions-stack → graphic-statement]; `speaker-post`=[event-speaker]; `panel-post`=[event-panel]; `partnership-post`=[partnership]; `recruitment-post`=[recruitment]; `team-post`=[person-round]
These are reference knowledge, not a generator. Use get_layout (or the catalog above) to read each archetype's slot schema, its MEASURED GEOMETRY (absolute x/y/w/h on the 1080 canvas) and its `must` list, then recreate the slide on-brand in your own tool. Use the numbers; never derive a position by eye from the example image. Each archetype also ships a rebuildable SVG source you can copy and refill. The framework does not render or generate slides.

## Presentation slides (16:9 decks)
A separate catalog from the social layouts above: 43 slide types on a 1920x1080 canvas, 50px padding. Plan the deck by intent and density, build each slide from its slots and must list (MCP: list_presentation_slides, then get_presentation_slide).
- Deck rule: The deck opens with Cover main and closes with Cover closing. Neither is used anywhere else.
- Deck rule: Agenda follows the cover and lists 3 to 6 chapters.
- Deck rule: Each chapter opens with a Divider. The yellow divider is for the single most important section.
- Deck rule: Statement inside full box is the most important sentence of the deck and appears at most once.
- Deck rule: A slide type with a stated item count is never stretched past it. Split the content over two slides instead.
- Structure: `cover-main`, `cover-closing`, `agenda`, `divider-black`, `divider-yellow`
- Text & statements: `dynamic-tagline`, `headline-icon`, `big-headline-two-columns`, `big-headline-list-icon`, `big-headline-icon-subtitle`, `headline-big-statement-caps`, `headline-box`, `bullets-arrows`, `headline-paragraphs`, `statement-big-caps`, `statement-bold`, `statement-caps-arrow`, `statement-caps-list`, `statement-centered`, `statement-full-box`, `statement-values`
- Layout & grid: `four-columns`, `four-rows`, `four-quarters`, `big-stat-three-steps`, `paragraph-highlight-stat`, `split-screen`
- Charts, process & diagrams: `donut-ring`, `pie-chart`, `three-columns`, `three-data-circles`, `five-items-list`, `concentric-arcs`, `intersecting-circles`, `pyramid-pillars`, `venn`, `process-three-steps`
- Frameworks & brand: `swot`, `brand-archetype`, `brand-purpose-grid`, `competitor-analysis`, `tone-of-voice`
- Media: `content-image`
Every slide type with its intent, limits, slots, measured geometry and example images: https://galton-ai-assets.vercel.app/presentations.json.

## Icons (optional, for layouts)
- Line icons: tvorba-loga-identity-farby-typo, tvorba-loga-identity-vizualita, tvorba-loga-identity-logo, tvorba-loga-identity-sound, tvorba-webstranok-animacie, tvorba-webstranok-bezpecnost, tvorba-webstranok-dizajn, tvorba-webstranok-skalovatelnost, employer-branding-atraktivna-firemna-kultura, employer-branding-znizenie-nakladov, employer-branding-zvysenie-lojality, employer-branding-rychlejsi-hiring, employer-branding-zvysenie-brand-awareness, employer-branding-podpora-angazovanosti-timu, employer-branding-efektivnejsi-proces-hiringu, employer-branding-efektivnejsi-proces-hiringu-2, interna-komunikacia-zvysenie-angazovanosti, interna-komunikacia-znizenie-fluktuacie, interna-komunikacia-zvysenie-produktivity, interna-komunikacia-narast-inovacneho-potencialu, socialne-siete-report, socialne-siete-komunikacia, socialne-siete-komunita, socialne-siete-obsah, foto-video-produkcia-live-action-videa, foto-video-produkcia-postprodukcia, foto-video-produkcia-fotografie, foto-video-produkcia-animacie, content-marketing-podpora-predaja, content-marketing-zvysenie-konverzii, content-marketing-narast-zakaznikov, content-marketing-budovanie-dovery, marketing-advertising-report, marketing-advertising-media, marketing-advertising-meranie-efektivity, marketing-advertising-tvorba-strategie
- 3D icons: magnifier, strategy, magnet, thumb-up, camera, bubbles, user-heart, pencil, vr, hand, thunder, tag, register, house, graph, horse-shoe
- Arrows: arrow-right, arrow-left, arrow-up-right, arrow-down-right, check

## Optional
- [icons.json](https://galton-ai-assets.vercel.app/icons.json): the icon library (line / 3d) with absolute hotlinkable URLs (line icons also carry lightUrl).
- [layouts.json](https://galton-ai-assets.vercel.app/layouts.json): the slide canvas + layout slot schemas + measured geometry, with absolute example-image and reference-SVG URLs.
- [presentations.json](https://galton-ai-assets.vercel.app/presentations.json): the 16:9 deck canvas + every presentation slide type with its intent, limits, slots, measured geometry and absolute example-image URLs.
- [snippets.json](https://galton-ai-assets.vercel.app/snippets.json): ready-to-paste HTML markup per component, styled by brand.css.
- [linkedin.md](https://galton-ai-assets.vercel.app/linkedin.md): the LinkedIn playbook — post types, anatomy, hashtag rules.
- [sound.md](https://galton-ai-assets.vercel.app/sound.md): sound branding: the sound logo, the anthem and its cuts, loops and ambients, which track for which job.
- [llms-full.txt](https://galton-ai-assets.vercel.app/llms-full.txt): the whole brand in ONE file, for single-file context uploads. 324 KB, ~83k tokens.
- [bundle.zip](https://galton-ai-assets.vercel.app/bundle.zip): the offline package. Unzips to a folder with the orchestrator skill and a START-HERE.md map at the root, the knowledge as files, and every asset. For a tool that can neither connect nor fetch, and the only way to get the actual logo, icon and font files.
