One brand-neutral master. Every client Brand OS is a clone of this document with a real identity poured into its slots. Nobody designs a client Brand OS from scratch, and no brain is assembled until its clone of this document passes the checklist in Chapter 4.
Change the token table and the logo slots, and every page of this document, including every filled example, re-renders correctly in the new brand with zero other edits. The identity toggle in this document's tweaks runs that test live against a fictional client.
Everything rendered here is filled with Placeholder & Co., a deliberately plain identity whose only job is to prove the slots work. A builder, human or AI, produces a client Brand OS by cloning this document and following the Swap Protocol. The four rules below govern every page.
No raw hex, font name, or logo appears inline anywhere. The token table is defined once in Chapter 1 and referenced by name everywhere else, including inside every filled example.
Placeholder & Co. looks competent and unmistakably temporary. Its mark is a registration target, its motion is a blinking caret. It must never leak taste into a client brand.
Every collateral treatment is a template. Content slots are marked {{like_this}} and listed in a fields table. A finished piece is produced by replacing fields only.
Anatomy, then states and variants, then do and never, then one filled example. Print at true dimensions with margins and bleed. Screen pieces responsive, dark and light, with a reduced-motion spec for anything that moves.
{{field}} a named slot the builder fills
SHOWN the placeholder fill rendered on this page
Every brand fills the same seven slots. The construction story is the client's own, but the contract is fixed: the mark must survive one ink, engraving, and a 16 px favicon, and exactly one accent color may touch it, in one place. The placeholder mark is a registration target: a circle, four ticks, one dot. Note the dot: Accent fails on light grounds (2.5:1), so on light the dot sets in Primary. The slots demonstrate their own rules.
Fields the brand sheet must fill: {{mark_construction_story}} {{owned_geometry}} (the angle or curve everything else borrows) {{favicon_simplification}} (what detail collapses below 20 px).
| Favicon drawing | 16 px / 5 mm | FIXED |
| Full icon | 24 px / 7 mm | FIXED floor |
| Compact lockup | {{min_compact}} | here: 128 px |
| With tagline | {{min_tagline}} | below it, drop the tagline |
Each brand measures its own lockup minimums against the favicon rule and records them here with px and mm values.
Marketing exports (card, signatures, flyer, og) are artboards in the collateral chapter, exported on demand so they can never drift from the mark. Transparent means genuinely empty, never a white rectangle.
These names are load-bearing. Code references them; build scripts mirror them into the Hub and Website trees. Renaming one is a breaking change and never happens silently.
The roles never change; every client names their own fills. Color is tiered: primary is the brand (ink, grounds, paper, Primary), secondary is the voice (Accent), tertiary is the working set (support text, Flag, the three Gauges). The contract column is the requirement every fill must clear; the measured column is this page's placeholder, computed, not asserted. Never hardcode a hex that has a token.
| ROLE · TOKEN | PLACEHOLDER FILL | DUTY | CONTRACT | MEASURED |
|---|---|---|---|---|
| --os-ink | Ink | Primary text on light. The deepest ink. | ≥ 12:1 on Paper | 15.4 |
| --os-ground | Ground | The dark ground. Covers, heroes, footers. | Paper on it ≥ 14:1 | 16.8 |
| --os-surface | Surface | Elevated dark surface. Cards on Ground. | Paper on it ≥ 12:1 | 14.6 |
| --os-paper | Paper | Light ground, and type on dark. | carries Ink ≥ 12:1 | 15.4 |
| --os-band | Band | Light bands, desks, recessed troughs. | carries Ink ≥ 12:1 | 13.7 |
| --os-primary | Primary | Links, labels, primary buttons, eyebrows on light. | ≥ 4.5:1 as text on Paper and Card | 6.3 · 7.0 |
| --os-accent | Accent | The voice. Eyebrows, signals, the mark's dot, dark grounds only. | ≥ 4.5:1 on Ground · never text on light | 6.8 · fails light at 2.5 |
| --os-muted | Muted | Secondary text on light. | ≥ 6.5:1 on Paper | 7.0 |
| --os-faint | Faint | Captions, tertiary labels, disabled-adjacent. | ≥ 4.5:1 on Paper | 4.5 |
| --os-flag | Flag | There is no red in this palette. Flag resolves to Ink: an error is a 2 px Ink border, the glyph, and a mono line under the field — never Accent, which means action, not failure. | 17.1:1 on Card · no colour carries failure | 17.1 · 15.4 on Paper |
| --os-gauge-1 | Gauge One | Data fills only, never type. The Gauges let chart series, condition bands and pipeline stages be told apart inside the tools. Never in marketing, never near the logo. | ≥ 3:1 against their ground as fills · distinguishable from each other in grayscale | 4.2 |
| --os-gauge-2 | Gauge Two | 3.2 | ||
| --os-gauge-3 | Gauge Three | 4.4 |
Recommended pairings, measured here: Ink/Paper 15.4 · Paper/Ground 16.8 · Paper/Surface 14.6 · Primary/Card 7.0 · Paper/Primary 6.3 · Accent/Ground 6.8 · Muted/Paper 7.0 · Flag/Card 5.4
Every brand fills display, body and mono. Weights are duties: a weight exists because a component needs it. Licensing is part of the slot: {{type_licence}} must permit web embedding and print; the gold standards ship SIL OFL faces served from Google Fonts.
{{font_display}}700 to 800 wordmark and H1 · 600 to 700 H2, H3 · pull quotes at 500. Mixed case, never uppercase-forced.
{{font_body}}400 body · 500 taglines and captions · 600 UI titles and table heads · 700 buttons and labels.
{{font_mono}}600 eyebrows and all-caps labels · 500 money, dates and figures · 400 IDs, hex, code. Tabular figures everywhere numbers align.
Body copy reads long without asking for attention, sets around sixteen pixels over a calm leading, and never fights the figures beside it.Body · 400 · 16/1.55
The brand owns exactly one piece of decorative motion. It is named, sized, timed, placed, and it carries a reduced-motion spec that removes the movement, never slows it. The placeholder signature is the Caret: a single insertion cursor blinking in steps, because a cursor blinks, it does not breathe. Unmistakably temporary; a client replaces it with something owned.
{{motion_name}} | here: the Caret |
{{sizes}} | HERO 44 px · DEFAULT 24 px · COMPACT 14 px, bar width 0.16 × height |
{{cycle}} | 1.1 s loop, stepped at 55%, no easing, no fade |
| WHERE · FIXED | Beside a hero headline, once per page · marketing header at compact · the empty state of a list · loading and syncing, in place of a spinner |
| NEVER · FIXED | Twice on one screen · inside tables, lists, or anything read past · attached to real data, it must never look like a status or a projection · behind body copy |
Reduced motion: the caret holds solid at full opacity. Try it with this document's reduced-motion tweak, or your OS setting; both are honored.
Glass is an optional module: {{glass}} is on or off per brand. A brand that declines it uses flat card surfaces with hairlines and loses nothing else. A brand that takes it gets exactly two grades, because a third makes depth ambiguous, and nothing behind glass is ever load-bearing.
Tint 10% · blur 18 · saturate 160%. Chips, the working topbar, segmented controls. It belongs to the page it sits on.
Tint 16% · blur 28 · saturate 180%. Panels, drawers, modals, toasts, lightbox chrome. Dark: Paper tint 16 to 6%, rim 1 px at 20%. Light: white tint 86 to 62%, rim 1 px Ink at 9%.
Ratios are measured against the composite, tint plus whatever shows through, never the tint alone. Body on glass ≥ 4.5:1 at the worst point it can travel over; titles ≥ 18 px need 3:1. Glass over photography gets a 40% Ground scrim. Vibrancy on accents only, text is never vibrant. No backdrop-filter support: flat 92% opaque fallback in the same tint. No glass on dashboards read for hours.
Each brand declares which context leads. The assignments below are the fixed skeleton; the client's brand sheet states which room is home: {{home_context}}.
The rhythm rule, fixed: light-first does not mean light-only. Paper, Card and Band sit within a few percent of each other, so a page built only from them reads as one flat wash. Every marketing page opens on a full-bleed Ground hero and carries one Ground band roughly every fourth section, with a Ground footer closing it.
The kind of rule that belongs here, from the gold standards: no green past hue 150 · no em dashes anywhere in brand copy · never mix this brand with the companion brand in one deliverable.
Components, not pages. Each pattern is documented the way a color is: what it is, its named parts, its states, the surfaces it uses in each context, and its motion in plain English, so it can be rebuilt from the words alone. The physics below are fixed for every brand; a clone fills the surface picks, the color assignments per context, and the two domain slots.
Global rules binding every pattern: glass in exactly two grades or not at all · the focus ring is the one element never restyled per component · contrast floors measured against the composite behind glass · every pattern defines reduced-motion behavior, and it is always remove or replace, never slow down.
One line of real coverage items sliding past, once per page. Decoration carrying real data, so every item must be true. Anatomy: track · item · separator dot · edge mask fading the outer 12%. Items are never interactive; a clickable item is a chip, not a strip.
Physics: right to left at ~45 px/s, constant, duplicated once for a seamless loop. Hover eases to a stop over 400 ms, never freezing dead. Reduced motion: a static centered line, mask removed.
{{proof_items}} · {{separator_colour}} · surfaces per contextTwo to four mutually exclusive options, all visible; beyond four it becomes a select. Anatomy: recessed track · equal-width segments set by the longest label · thumb · optional per-label count. One segment is always selected.
Physics: the thumb slides over 220 ms and never fades out and in, the same 220 ms whatever the distance, squashing slightly along its travel. Weight, not bounce. Labels cross-fade 140 ms, finishing just after the thumb lands. Reduced motion: jump, color cross-fade only.
One ring, identical on every focusable thing; the only element never restyled per component. Anatomy: 2 px solid ring · 3 px offset · follows the element's own radius exactly. Never a glow, never dashed.
Physics: keyboard focus shows it, mouse and touch do not. It appears instantly, because any entrance makes fast tabbing feel smeared, and fades out over 120 ms. Error plus focus: the error color wins the border, the ring keeps its own color. The one deliberate non-animation in the system.
Thick glass, or the flat equivalent, above the page. One panel at a time: a needed second panel means the first should have been the page. Anatomy: optional scrim · surface · title bar with one dismiss · body · action bar, separated by hairlines at 12%, never shadows. A toast is the same surface, no title bar, six-second life.
Physics: arrives from the edge it belongs to over 260 ms decelerating, scrim fading with it; leaves in 180 ms accelerating the way it came. Reduced motion: 120 ms cross-fade in place.
Labels are always visible, never a placeholder as a label; placeholders show format, not meaning; we mark optional, never required. Anatomy: label · optional marker · control · placeholder · helper text · error text, which replaces helper and never stacks.
Physics: errors appear on blur, never mid-typing, and clear the instant the value is valid. Focus rim recolours over 140 ms, nothing grows, the label never floats. The error message slides down 4 px over 160 ms, pushing content; it never shakes. Reduced motion: no slide.
Sections of one record, one at a time. Tabs change what you are looking at; a segmented control changes how. If the panes are not parts of the same thing, they are not tabs. Anatomy: tab list · label · optional mono count · 2 px indicator · full-width base rule at 14% · pane. Overflow scrolls, never wraps.
Physics: the indicator travels along the base rule over 240 ms, stretching as it moves. Outgoing pane fades 100 ms; incoming fades in 160 ms with a 6 px rise, 60 ms later. Panes never slide sideways. Reduced motion: jump and swap.
Every brand names one component its product is built around and gives it the full treatment: {{headline_component}}. GreenRoom's is the availability calendar; HOI's is the thirty-year funding table. The contract: every cell or row carries state before anyone reads a number · a legend is mandatory when more than two states are on screen · state is carried by wash, edge rule and legend, never by the color of a numeral alone.
Physics: nothing animates on load, a figure that fades in is a figure you cannot trust yet. Reordering and range-painting move at 90 to 220 ms so the eye can follow. Reduced motion: instant.
Marketing heroes only, glow layers only. Never text, never the mark, never in the tools. Anatomy: clipped stage · back glow at 0.35 × scroll speed · front glow at 0.6 × · content at 1.0, pinned. Two glow layers max, total travel capped at 80 px.
Physics: layers lock to scroll position, no easing, no lag. Off under reduced motion, on touch, and under 720 px viewport height. If a viewer notices the glow moving, it is going too far, and the hero must work flat.
Two components that happen to both sit at the top; they never borrow each other's styling. Header (sells): full lockup · nav links · one primary action · transparent over the hero, thin glass once scrolled, ≥ 72 px. It condenses ~16 px over the first 80 px of scroll, one continuous transition tied to scroll, and never hides and reappears. Topbar (works): mark only, never the full lockup · switcher · view control · search with its shortcut shown · account · 52 px fixed. It does not move, resize, or hide, ever; only a soft shadow appears once content scrolls under. Offline tints its hairline, the one color change it has.
A peeking row of cards pushed by hand, or a paginated document stage. It never auto-advances. Anatomy: viewport · track · equal-width slides · 40 to 60 px peek · progress pips where the active pip stretches to a bar · optional desktop-only edge arrows. At start and end, the matching arrow disables; nothing wraps.
Physics: the track follows the finger one to one with resistance at both ends; on release it settles to the nearest slide over 320 ms, decelerating hard. Flick speed affects distance, not landing speed. Reduced motion: 120 ms cross-fade, no travel.
The handover from marketing to tool; it gets the full treatment once, then never gets in the way again. Anatomy: one centered 400 px card · the mark is the only branding, no wordmark, no tagline · heading · email · password with inline forgot link · primary action · divider · magic-link alternative · footer switch. One column, always.
Physics: the card arrives once, a 12 px rise and fade over 320 ms; nothing staggers in after. Credential errors are deliberately vague; format errors are specific. A failed attempt fades the message in over 160 ms and moves focus to the first bad field; the card does not shake, shaking reads as blame. Reduced motion: it simply appears.
Cells of different sizes on one grid, where size means importance. Anatomy: 12-column grid, uniform row height · cells spanning 1 to 5 columns, 1 to 2 rows · mono eyebrow · figure or content · optional footer line. One hero cell per grid. Loading keeps the cell's exact size so the grid never reflows; empty keeps the cell and states what is missing.
Physics: marketing cells arrive in reading-order stagger, 40 ms apart, capped at half a second, once. Tools: no entrance animation at all. Reduced motion: all cells together.
Full-attention viewing. The chrome may be glass; the image never is; nothing is ever blurred over a photograph someone is trying to read. Anatomy: scrim at Ground 82% · stage fitting the image without cropping · caption · counter and arrows in one small bar · close top right, always. Thumbnails only above twelve items. A lightbox is always dark; it is the one component that ignores its context.
Physics: the image grows out of the clicked thumbnail over 280 ms and closes back into it; that is what makes it a zoom, not a page. Between images, 180 ms cross-fade with a 20 px drift; the chrome never moves. Escape closes, arrows move, focus returns to the trigger. Reduced motion: cross-fades only.
A discrete measure of progress: pipeline stage, percent funded, profile completeness. Segmented, not smooth, because the steps are real. Anatomy: label · mono value, always n of total or a measured percentage with its threshold named, never a bare number floating alone · a track of 4 to 8 equal segments · filled segments · threshold marker. Read-only: it reports, it never sets. Indeterminate shows an evenly dim track; it never guesses.
Physics: segments fill one at a time, 90 ms each, so the bar counts up rather than sliding. Threshold changes hit the crossing segment first, the rest re-tint 60 ms later, so the change reads as a consequence. Completion is one soft 300 ms brightening. No confetti, no pulse. Reduced motion: instant.
The audit of the first two Brand OSs found the same failure in both: they stopped at stationery and a QR flyer. Neither featured the money collateral its brain was built to produce. This chapter is the correction: one treatment per deliverable type, each documented as anatomy, a fields table, do and never, and one filled example. A Brand OS that only covers logo and palette is not assembly-ready.
Print examples render at true geometry, scaled. Sheet: US Letter 8.5 × 11 in · A4 210 × 297 mm (toggle in tweaks) · margins {{page_margin}}, default 0.75 in / 19 mm · bleed 3 mm / 0.125 in where trimmed. Gray bars stand for flowing copy; chips are the swappable fields.
The quietest piece in the kit and the one everything legal rides on. Page one carries the full identity; every following page drops to the mark alone so the letter, not the letterhead, is the loudest thing on the sheet.
| {{company_legal_name}} {{address_block}} | from Facts, the authority copy |
| {{phone}} {{email}} {{url}} | mono block, one per line |
| {{doc_date}} {{recipient_block}} {{subject}} | letter head matter |
| {{body}} {{signoff_name_title}} | flowing copy · signature block |
| {{legal_footer}} | registration, license numbers |
The company on one sheet, built to survive a photocopier. A dark header band sells, the light body informs, and the footer makes the next step unmissable. The two-pager adds a detail side: a table, not more adjectives.
| {{headline}} {{kicker}} | ≤ 9 words · one supporting line |
| {{stat_1..3}} + {{stat_label_1..3}} | from the citable-claims authority |
| {{service_1..4}} + one-liners | from Facts/services |
| {{cta_line}} {{contact_block}} {{qr_url}} | QR regenerates from the URL field |
| {{detail_table}} {{faq_pairs}} | two-pager side only |
The number one deliverable of a working brain, and the piece the audit found missing from both real Brand OSs. Four treatments in one document: cover, interior grid, pricing table, back page. It is read by a committee, so it is calm on purpose.
| {{proposal_title}} {{client_name}} {{ref_no}} {{date}} | cover + every footer |
| {{scope_sections}} {{figure_slots}} | interior pages |
| {{line_items}} {{option_recommended}} {{total}} | from the pricing AUTHORITY file only |
| {{next_steps_1..3}} {{validity_days}} | back page |
| {{signer_name_title}} {{approver}} | acceptance block, both parties |
The two-page print piece that stays on the table after the meeting ends. Page one restates the meeting's three decisions in the reader's language; page two carries proof and the way to reach us. It is written for the person who was not in the room.
| {{meeting_name}} {{date}} {{audience}} | the eyebrow row |
| {{headline}} {{takeaway_1..3}} + answers | page 1 |
| {{proof_stats}} {{next_rows}} | page 2, claims authority only |
| {{contact_block}} {{qr_url}} {{figure_slot}} | QR regenerates from the URL |
The stationery trio the first two Brand OSs already did well, kept here as the standard. Every person fills their own fields and re-exports; nothing else in the layout moves. The QR is generated live from the URL field, never baked in, so the piece survives a domain change.
| {{person_name}} {{role}} | card front · signature line 1, 2 |
| {{phone}} {{email}} {{url}} | card back · signature line 3 |
| {{qr_url}} | card back + flyer, regenerated live |
| {{flyer_headline}} {{step_1..3}} | flyer only |
{{person_name}}{{phone}}{{email}}{{url}}{{person_name}}{{person_name}}The formula, not a picture: every share card is regenerated from three fields on the Ground context. Link previews crop unpredictably, so everything that matters lives in the middle 1000 × 524 safe area, and the type floor is 54 px on the full canvas.
| {{eyebrow}} | mono, Accent, ≤ 4 words |
| {{display_line}} | ≤ 9 words · ≥ 54 px · Paper |
| {{url_line}} | mono, no protocol prefix |
The header, body and footer every marketing and newsletter email is poured into. Email is hostile territory: the chrome is a 600 px table layout, styles inline, type in the fallback stack, and the button is a padded table cell, not an image. The brand survives on color, spacing and the mark.
| {{preheader}} {{subject}} | inbox layer, ≤ 90 chars |
| {{eyebrow}} {{headline}} {{body_blocks}} | marketing spine |
| {{issue_no}} {{contents_row}} | newsletter spine |
| {{cta_label}} {{cta_url}} {{address}} {{unsub_url}} | button + footer, legally required |
Four slide classes define the theme; the full 30-layout catalog, each layout in light and dark, is generated from them and shipped as the brand-locked master deck. Rule inherited from the Gen 1 brain: never start from a blank deck; every new deck duplicates the master and fills placeholders.
| {{deck_title}} {{deck_date}} {{presenter}} | title slide |
| {{slide_eyebrow}} {{slide_title}} {{bullets}} | content class |
| {{chart_data}} {{chart_source}} | data class, source line mandatory |
| {{closing_cta}} {{contact_block}} | closing class |
{{closing_cta}}Eight platform-native canvases sharing one formula: Ground context, eyebrow, one display line, the mark, the URL. A post is produced by picking a chassis and filling three fields. Stories keep all content inside the safe area because the platforms draw their own chrome over the edges.
| instagram-post | 1080 × 1350 |
| instagram-square | 1080 × 1080 |
| instagram-story · linkedin-story · universal-story | 1080 × 1920 |
| facebook-post | 1200 × 630 |
| linkedin-post | 1200 × 627 |
| youtube-thumbnail | 1280 × 720 |
The shared header, footer and table treatment behind the whole business-document suite: invoice, quote, receipt, statement, purchase order, credit note, packing slip and the rest of the 22 generator tools. The tools read their branding from a defaults file generated from Chapter 1's table, so the tools and this OS cannot drift. The audit found this spec missing from both real Brand OSs; it is now standard.
| {{doc_type}} {{doc_no}} {{status}} | header, chip vocabulary fixed |
| {{issue_date}} {{due_date}} {{terms}} | meta grid |
| {{bill_from}} {{bill_to}} | party blocks |
| {{line_items}} {{tax_rate}} {{total}} | table + totals |
| {{payment_instructions}} {{legal_footer}} | footer |
{{doc_no}}ISSUED {{issue_date}}DUE {{due_date}}TERMS {{terms}}
{{bill_to}}| ITEM | QTY | RATE | AMOUNT |
|---|---|---|---|
{{line_item_1}} | 2 | $450.00 | $900.00 |
{{line_item_2}} | 1 | $1,200.00 | $1,200.00 |
| TAX {{tax_rate}} | $147.00 | ||
| Total | $2,247.00 | ||
Category tables on the document chrome, built to be co-branded for partner accounts. The partner mark sits in the header at the same cap height as ours, separated by a hairline divider; neither mark ever sits inside the other's clear space.
The sheet a new client or partner gets on day one. It answers exactly three questions: what happens next, who to reach, and where things live. The warmest piece in the kit, which still means calm.
A document someone completes with a pen. Grouped checkbox rows, each row one concrete item with a where-to-find hint. Snippet blocks (callout, tip, warning) are shared with every guide in the library so all guides age together.
A working form that gets filled at a counter, landscape because the writing hand needs rows, not columns. Field labels sit in mono caps above their write-in rules; the reference number is the biggest thing on the sheet after the title, because the sheet exists to be filed and found.
The eight-section rhythm every partner or campaign microsite follows. The order is the argument: promise, proof, product, path. The sticky header condenses per pattern 09; the rhythm rule from Chapter 1 places the dark bands.
One page, one action. A campaign landing page is the microsite canon cut to four sections with the form promoted into the hero. Everything else on the page exists to answer the objection that stops the form.
One set of fields, two outputs: a scrolling micro-page for the phone and a print PDF for the meeting. The pair is generated together and never edited separately; if a number changes, both regenerate.
The article page the content calendar feeds. A reading column around 68 characters, a header that states its business, and figures that always explain themselves. Every post regenerates its own share card from the T06 formula with {{post_title}} in the display line.
Letter landscape folded to three panels. The fold order is the reading order: front panel sells, inside educates, back panel closes with contact and QR. Panels are 3.67 in wide with a 3 mm safety inside each fold; nothing crosses a fold. The catalog reuses the same grammar at multi-page scale: a cover, then product grid pages of four to six cells on the document chrome.
The mailer front is a poster read in one second at the mailbox; the back obeys postal rules before brand rules. The certificate is the one ceremonial piece in the system: a landscape sheet, a rules border, the mark as its seal, and no other decoration.
{{offer_line}}{{recipient_name}}The steps a builder, human or AI, follows to turn this master into a client Brand OS. Inputs: the completed intake form and the client's approved identity. The protocol touches only slots; if a step requires editing anything that is not a slot, the master is broken and that is a bug against this document. The identity toggle in this document's tweaks is a live rehearsal of steps 1 and 3.
A standing table for collateral a client intentionally leaves undesigned. Without it, every gap looks like unfinished work and invites a well-meaning redesign. With it, the next builder reads the row and moves on. Rows are added at swap step 7 and whenever a decision is made later; rows are never deleted, only revisited.
| COLLATERAL TYPE | WHY IT STAYS UNDESIGNED | DECIDED BY · DATE | REVISIT WHEN |
|---|---|---|---|
| Outreach texts + DMs EXAMPLE | Plain text by voice rule; design would read as marketing and break the peer register. | {{approver}} · {{date}} | Never; rule, not gap. |
| og:image per post EXAMPLE | Deferred; the site master stays installed until the website module ships. | {{approver}} · {{date}} | Website go-live. |
| {{collateral_type}} | {{reason}} | {{approver}} · {{date}} | {{trigger}} |