Layer intro
.layer-intro
Stable
The large animated header that marks the beginning of a new layer in the Brand OS. Appears once per layer, directly above the layer's first chapter.
Anatomy
## Layer XX number in brandOS-content.md.
· in the ## Layer XX · Name heading.
## Layer heading in brandOS-content.md.
.li-name — large faint text behind the content. Purely visual. Always aria-hidden="true".
Live demo
Default
position:relative;opacity:1;transform:none). Never add these overrides to index.html.Usage
- One layer intro per layer. It always sits immediately before the layer's first chapter — never mid-layer.
- Derive all content from
brandOS-content.md: layer number from the heading, name from after the·, description from the italic line below it.
- Place a chapter before the layer intro of its own layer.
- Add a layer intro without any chapters following it.
- The
.li-ghostmust always carryaria-hidden="true"— it is decorative only and must not be read by screen readers.
Chapter
.chapter
Stable
The building block of the Brand OS document. Every section you see in the Brand OS — Positioning, Colour, Typography — is a chapter. It groups a number, a title, an opening statement, and all the content that belongs to that section.
Anatomy
A chapter is made of five named parts. The header (.ch) sits at the top and holds the number and title. Everything else — paragraphs, tables, rules — goes in the body (.cb).
brandOS-content.md — never typed by hand in the HTML.
Live demo
Default — what a chapter looks like
Section title
Opening principle — the first statement of the section, taken verbatim from brandOS-content.md. One or two sentences maximum.
Body content — paragraphs, rule lists, callouts, and tables live here. Everything that develops and explains the section belongs in .cb.
Scroll reveal — .ch-reveal
In the Brand OS, every chapter starts invisible and fades in when the reader scrolls to it. The two states below show what the reader sees before and after that transition.
Before scroll — hidden
opacity: 0
translateY(−12px)
not yet visible
After scroll — revealed
Section title
Opening principle — visible once .revealed is added by the IntersectionObserver.
Body content — same structure as the default, now fully visible to the reader.
IntersectionObserver in the Brand OS. It watches each .ch-reveal section and adds the class .revealed the moment it enters the viewport. In this playground, use .ch-reveal.revealed directly to see the final state.
Usage
Chapters are the only way to add a new section to the Brand OS. Every section in the document — without exception — is a chapter. Here is what to remember when working with them.
- A chapter always needs both a header and a body. The header holds the number, title, and opening principle. The body holds everything else.
- The number and title are always copied from
brandOS-content.md. They are never written directly into the HTML — the content file is the single source of truth.
- Put a chapter inside another chapter. Each chapter is one standalone section. They sit next to each other, never nested.
- Skip the opening principle. It is the first thing a reader sees and it defines what the section is about. If it is missing, the section has no anchor.
- When adding a new section to the Brand OS, write the content in
brandOS-content.mdfirst — number, title, principle, body. Then build the chapter in HTML from that source.
Callout
.callout
Stable
A boxed aside for information that matters but doesn't fit naturally in the prose flow. One or two sentences — never a substitute for a paragraph.
Live demo
Default
Warning · .callout.warn
.warn only when the risk is real and specific — not as general emphasis.Good practice · .callout.ok
.ok to affirm a correct behaviour, not just to balance a warning.Info · .callout.info
.info for clarifications and reminders.Usage
- Keep callouts to one or two sentences. If it needs more, it belongs in the body as a paragraph.
- Place callouts inside
.cb. They are always part of a chapter's body, never in the header.
- Use more than one callout per section. If everything is highlighted, nothing is.
- Use
.warnas a style preference — reserve it for genuine mistakes readers are likely to make.
- Convention places the callout at the end of the section body, after the rules list. It closes the section, it doesn't open it.
Rules list
ul.rules
Stable
A structured list of behavioral guidelines split into three types: Do (what to follow), Don't (what to avoid), and Note (context worth remembering). Used inside .cb to enumerate rules clearly.
Anatomy
Each li is a two-column grid: an 80px label column on the left, the text on the right. Both columns are required — the layout breaks if either is missing.
code, strong, em).
Live demo
All three types
- Write from the manager's perspective, not the platform's.
- Use specific, observable language — avoid vague claims.
- Use jargon that non-technical managers won't recognize.
- Treat AI as the subject — managers are the subject.
- When in doubt, cut. The brand speaks with compression, not volume.
Usage
- Always structure each item as
<b>Label</b><span>text</span>— the two-column grid requires both elements. - Wrap the text in
<span>whenever it contains any inline element. Without it,codeorstrongbecome extra grid items and break the layout.
- Put inline elements directly inside
liwithout a wrappingspan.
- No required order, but convention is Do → Don't → Note. Keeps the positive framing first.
Cap tag
.cap-tag
Stable
A small uppercase pill label for categorization. Used to tag content by layer, topic, or type — purely informational, never interactive.
Anatomy
Live demo
Light context
Dark context
Usage
- Keep labels to one to three words. Cap tags are labels, not sentences.
- Use cap tags as buttons or navigation — they are purely decorative and informational.
- No variants. All cap tags carry the same visual weight regardless of content.
Formula dark
.fd
Stable
Displays a conceptual equation on an Ink background. Used once in the document for one high-impact strategic formulation. Not a pattern — a punctuation device.
Anatomy
Five span elements in sequence: term, operator, term, operator, term. Operators (+, =) use the same element as terms — only position and spacing distinguish them visually.
+ or =.Live demo
Default — term + operator + term + operator + term
Usage
- Use exactly five spans: term →
+→ term →=→ term. The structure is fixed.
- Use more than once in the document. The formula works because it is isolated — repetition kills it.
- Use for a literal mathematical equation. The formula expresses a strategic idea, not a calculation.
Posture card
.pc
Stable
A large dark block for a flagship positioning statement shown in two densities — a short headline form and a longer explanatory form. Used once in the document.
Anatomy
Live demo
Default
Usage
- Write
.pctfirst — it is the anchor..pcbmust follow from it, not the other way around.
- Use more than once in the document. One posture card, one moment of compression.
- Skip
.pct. Without the short form, the long form has no tension and no point.