# OPERATORS BRAND SPEC — MACHINE READABLE

Version 3.4-purple · 9 September 2026 · English

You are producing work on behalf of Operators. This file is the complete brand
specification and the only one you need. Where this file and any other source
disagree, `operators-tokens-purple.css` wins, then this file, then anything else.

**One accent: `#8252AB`. There is no second purple.** No tint, no shade, no hover
variant, no lighter one for dark surfaces, no gradient, no scale. If you find
yourself needing another purple, the answer is ink or paper. This is the single
rule most likely to be broken by a model working quickly, so check it last before
you return anything.

---

## 0. HOW TO USE THIS FILE

This file is served to the whole team. It is written to be read in full by a model
before it makes anything, and to be read in part by a person who wants one answer.

**If you are a model:** read sections 1 to 8 always. Then read the one subsection
of section 9 that matches what you are building. Then run the self-check in section
14 for that artefact type. Do not ask the user to make a decision this file already
makes. Where the file genuinely does not cover something, follow section 15.

**If you are looking for one thing:**

| I am making | Read |
|---|---|
| A slide deck | §1–8, §9.1, §11, §14 |
| A one-pager or any PDF | §1–8, §9.2, §14 |
| A spreadsheet or model | §1–8, §9.3, §11, §14 |
| A deep dive or long-form doc | §1–8, §9.4, §14 |
| A summit cover photo or banner | §1–8, §8, §9.5, §14 |
| An email | §1–8, §9.6, §14 |
| A web page or app screen | §1–8, §9.7, §12, §14 |
| A social image | §1–8, §9.8, §14 |
| An avatar, favicon or app icon | §4, §9.9 |
| Printed room material for a summit | §1–8, §9.10, §14 |
| Anything showing a person from the portal | §9.11, plus the section for the artefact |
| A chart, anywhere | §11 |
| A file name | §13 |

---

## 1. HARD CONSTRAINTS

Violating any of these produces off-brand output. There are no exceptions and no
context in which they are relaxed.

**MUST**

- Use exactly two typefaces: `Archivo` and `IBM Plex Mono`, or the documented
  fallbacks in §5 where those cannot be embedded.
- Use exactly three colours: ink, paper, the one purple. Plus the grey ramp in §3.
- Left-align all text. The only centred text in the system is a button label.
- Give the logo clear space on all four sides equal to the height of the O.
- Reference design tokens (`var(--op-*)`) in any CSS you write, never raw hex.
- Keep roughly half of any surface empty.
- Put type on a solid field, never on a photograph.

**MUST NEVER**

- Introduce a second purple. Not a tint, not a shade, not a hover state, not a
  lighter one for dark backgrounds, not a step in a chart, not an opacity of the
  first one used as if it were a second value.
- Use a gradient of any kind, including purple to purple and including a scrim
  over a photograph.
- Introduce a third typeface or a fourth colour.
- Use purple as text on an ink surface. See §3.
- Retype the wordmark in a font. The O is drawn; no font contains it.
- Apply a drop shadow, outline, rotation, stretch, or letter-spacing change to the
  logo.
- Place the logo or any type on a photograph. Over an image both sit in a solid
  field cut to the grid.
- Use an exclamation mark.
- Use stock photography, especially handshakes, teams high-fiving, or skylines.
- Use a border radius above 4px, except a circular avatar.
- Let the purple exceed five percent of a surface.
- Use `#000000` or `#FFFFFF` as a page background. Use ink and paper.
- State a fact that is not in §2.

---

## 2. WHAT OPERATORS IS, AND WHAT MAY BE SAID

A closed network for the people who actually run the company. Not a conference,
not a community. Peers in the same seat, meeting often enough to be useful and
privately enough to be honest.

### Decided facts

Everything here may be stated in any Operators artefact. Nothing outside it may be
stated unless the user confirms it in the current conversation.

| Fact | Value |
|---|---|
| Seats per forum | 10 |
| Masterclasses per year | 4, topics set by members |
| Peer dinners per year | 2, closed room, C-level only, Chatham House |
| Membership forums | CEO, CFO, CTO, CPO |
| Without membership | CMO, CCO |
| Paused | COO |
| Billing | 12 months upfront from the join date |
| Domain | `operators.no` |
| Founders | Eirik Nerdal, Lucas, Daniel, Thomas. Four, equal ownership. |
| Contact | Eirik Nerdal · `eirik@operators.no` · +47 900 33 575 |

### Forum status labels

Every leader or role mapped in a document carries one of exactly three labels:
`Membership` for CEO, CFO, CTO, CPO. `Without membership` for CMO, CCO. `Paused`
for COO. There is no fourth label. If a title does not map to one of the seven,
ask which forum is meant or leave the person off the page. Never write "seat
available" for a specific forum unless the user has confirmed a seat is open.

### Not decided, do not write

- **Any price.** Operators pricing moves through 2026 and 2027 and differs by tier.
  Never quote a number from memory or from an older document. Read the current
  figure from the project knowledge document, ask the user to confirm it, and put a
  visible validity date beside it. If you cannot reach it, leave a visible
  placeholder and say so.
- Member counts, member company names, logo walls.
- Testimonials or quotes not supplied by the user in this conversation.
- Named upcoming masterclasses, dinner dates or venues not supplied by the user.
- Anything carried over from Venture Summits: summit counts, attendee numbers,
  ratings, locations. Those described a different product.

### Approved positioning lines

Safe to use verbatim, in English:

- "A closed network for the people who actually run the company."
- "Not a conference, not a community."
- "Ten peers in the same seat, meeting often enough to be useful and privately
  enough to be honest."
- "Nothing said in the room leaves it."

There are no approved Norwegian translations of these. If a Norwegian version is
needed, write one and flag it as unapproved rather than presenting it as house
copy.

---

## 3. COLOUR

```
ink        #14120F   warm near-black. Text and dark surfaces.
paper      #F5F2ED   warm off-white. Default page surface.
purple     #8252AB   the accent. There is one.
grey-800   #2E2B26   rules on ink
grey-700   #3A3630   raised surfaces on ink
grey-600   #6E6A63   muted text on paper.  4.8:1
grey-400   #9A948B   muted text on ink.    6.2:1
grey-200   #DAD5CC   rules on paper
white      #FFFFFF   cards on paper only. Never a page surface.
critical   #A33A2A   errors only. The only functional colour.
```

Ink on paper and paper on ink both measure 16.7:1.

### The one purple rule

The purple measures **5.0:1 on paper** and **3.3:1 on ink**. Those two numbers
decide everything about where it may go. 3.3:1 clears the 3:1 floor for a graphic
and fails the 4.5:1 floor for text.

| Surface | Purple may be | Purple may not be |
|---|---|---|
| Paper `#F5F2ED` | text, a link, a rule, a mark, a button fill, a chart series | a background fill |
| Ink `#14120F` | a rule, a mark, a filled shape, a button fill, a chart series | a word, a link, a number, a label |

Paper on purple measures 5.0:1, so a purple button carries a paper label on either
surface.

### States, without a second purple

| State | On paper | On ink |
|---|---|---|
| Rest | purple fill, paper label | purple fill, paper label |
| Hover, pressed | ink fill, paper label | paper fill, ink label |
| Focus ring | 2px purple, 2px offset | 2px paper, 2px offset |
| Disabled | grey-600 | grey-400 |
| Selected | purple | paper |

Nothing fades. A faded purple is a second purple.

### Budget

Under five percent of any surface, and that is a ceiling rather than a target. In
practice the purple is: the full stop in the logo, one 14mm rule under a headline,
links, one button, one marked item. If two things on a surface are purple, neither
reads as the one that matters. Two percent usually reads better than five.

Purple is stricter than the warm accent it replaced, because it is the only cool
value in a warm system and separates harder at the same contrast.

**Purple is never a large surface.** It fills the app icon tile and a button. It
does not fill a section background, a card, a table header, a hero band or a
sidebar. A purple band across a page is the fastest way to make this read as a
software product, which is what Operators is not.

### Print

Violet is the weakest region in four colour process and pulls toward blue. Anything
printed at volume uses a spot colour, proofed on the actual stock before the run.
Do not send a CMYK build and accept what comes back. Embroidery and foil need a
physical match. No spot reference is confirmed yet, so flag it rather than
inventing a Pantone number.

---

## 4. LOGO

### The O, as SVG

Emit this verbatim. `currentColor` inherits from the parent, so one source serves
both colourways. Give the `mask` id a unique suffix if more than one instance
appears in a document.

```html
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
  <mask id="opO" maskUnits="userSpaceOnUse" x="0" y="0" width="100" height="100">
    <rect width="100" height="100" fill="#fff"/>
    <ellipse cx="50" cy="50" rx="16.5" ry="28" fill="#000"
             transform="rotate(-20 50 50)"/>
  </mask>
  <circle cx="50" cy="50" r="47" fill="currentColor" mask="url(#opO)"/>
</svg>
```

As a single path with `fill-rule="evenodd"`, for Illustrator, print RIPs, favicon
rasterisers, PowerPoint and anything that cannot hold a mask:

```
M3 50A47 47 0 1 0 97 50A47 47 0 1 0 3 50Z
M65.5049 44.3567A16.5 28 -20 0 1 34.4951 55.6433A16.5 28 -20 0 1 65.5049 44.3567Z
```

Geometry, on a 100 unit square: outer circle radius 47, true. Counter is an
ellipse, rx 16.5, ry 28, rotated 20 degrees anticlockwise about the centre. That
asymmetry is the only proprietary shape Operators owns. Never redraw it by eye.
Ink bounds are the box 3,3 to 97,97.

### The wordmark

The drawn O, then `PERATORS` in Archivo 800 at -3.5% tracking, then a full stop in
purple. The O is 0.755 of the font size and sits 1.2% below the baseline. The
lockup is roughly 6.4 to 6.5 times the type size wide.

```css
.op-logo{display:inline-flex;align-items:baseline;white-space:nowrap;
  font-family:var(--op-font);font-weight:800;letter-spacing:-.035em;
  line-height:1;color:var(--op-mark)}
.op-logo svg{width:.755em;height:.755em;flex:none;position:relative;top:.012em;display:block}
.op-logo .op-dot{color:var(--op-mark-dot);font-style:normal}
```

### Rules

- Two colourways: ink on paper, paper on ink. The full stop is the same purple in
  both. It is a mark, not text, so 3.3:1 on ink is within the graphic floor.
- In single-colour reproduction the full stop takes the colour of the letters.
  Never grey.
- Below 24px, omit the full stop. It fills in and reads as dirt.
- The O alone is the mark: avatar, app icon, favicon. There is no separate symbol.
- Clear space on all four sides equals the height of the O.
- Minimums: wordmark 90px or 24mm. O alone 16px or 5mm. Embroidery 25mm.
- Never on a photograph, a gradient or a mid-tone surface. Over an image it sits in
  a solid field.
- No shadow, outline, rotation, stretch or tracking change.
- Where a deck or document uses one mark on the cover, use the **full wordmark**,
  not the O alone. The O alone is for tiles and for repeated furniture inside a
  deck.

### The counter, as a system shape

The O's void is the only proprietary shape Operators owns. Anyone can draw a
circle; nobody else has this ellipse at this angle. It is therefore reused as a
system shape, under strict limits.

```
width  = 0.589 × height     (rx 0.165, ry 0.28 of the form)
tilt   = 20 degrees anticlockwise
floor  = 16px. Below this it closes up and reads as a smudge.
```

**Four permitted uses, and no others.**

| Use | How |
|---|---|
| Checkbox, checked | The square fills with ink, the counter is knocked out of it. No tick. |
| Radio dot | The counter, solid, as the dot. |
| List bullet | The counter at 8px. Five per list is the ceiling. |
| Line-chart point marker | The counter as the point, on a series with fewer than eight points. |

**Ceiling: three occurrences on any one surface.** Past three the counter stops
being read as a mark and starts being read as a pattern, and a signature only
works because it is rare.

**Everything else in this brand is square and stays square.** Containers, boxes,
tracks, cells, bar ends, tiles, step badges, tags and the toggle knob. The toggle
knob in particular is square on purpose: a round knob on a rounded track is the
one control that would drag the whole system back to somebody else's operating
system. Circular is reserved for avatars, as in §12.

**What the counter never governs:** menu selection markers and calendar event
markers, because both fall under the 16px floor and both repeat; bar-chart bar
ends, because shaping the end of a bar distorts the value it encodes; avatars and
photo crops; step badges, pills and tags, which are containers for text; and any
kind of loading spinner, because a rotating O is forbidden outright.

**The test for anything new:** would this shape still be doing its job as a plain
square? If yes, leave it a square.

### The angle

Separately from the shape, the logo's 20 degrees governs the diagonals in the
system. Chevrons and arrowheads use a 29 degree half-angle rather than 45, which
is what makes them read drawn rather than generic. Decorative diagonals follow the
same family.

The tick is exempt. A tick drawn at 20 degrees is a flat V and stops reading as a
tick. Where a tick survives, it keeps its own angles.

### The room, eight seats

An illustration that borrows the O: the mark as the table, eight circles around it,
one purple. On a 240 unit square the table is r75.2 at centre with the counter
scaled to rx26.4 ry44.8, and the seats are r14 at 45 degree steps on radius 96.

It is not a logo variant. Do not use it where the wordmark or the O belongs, do not
put it on a photograph, and do not restyle the O inside it. With one purple the
seats are ink, paper or grey-700, and exactly one is purple. There is no version
where the seats step through tints.

---

## 5. TYPOGRAPHY

| Role | Face | Weight | Size | Tracking |
|---|---|---|---|---|
| Display | Archivo | 800 | clamp(2.375rem, 1.35rem + 4.4vw, 3.375rem) | -3% |
| Heading | Archivo | 700 | 1.0625rem–2rem | -2% |
| Body | Archivo | 400 | 0.9375rem | 0 |
| Caption | Archivo | 400 | 0.8125rem, grey-600 | 0 |
| Data | IBM Plex Mono | 500 | 0.6875rem, uppercase | +18% |

Data means dates, prices, roles, counts, labels and eyebrows. Everything read as
language is Archivo. Nothing else is Plex Mono.

Body line height 1.7. Lines under 70 characters. Never centre a paragraph. Never
justify. Never hyphenate automatically in display sizes.

With one accent used sparingly, typography carries the whole load. Discipline here
is what separates confident restraint from cheap restraint.

Both faces are SIL OFL 1.1. Self-host; do not link a CDN, because email clients and
PDF renderers cannot always reach one.

```bash
npm i @fontsource/archivo @fontsource/ibm-plex-mono
```

### Fallbacks, by environment

The two faces are not available everywhere. These are the only permitted
substitutions, in order.

| Environment | Language face | Data face |
|---|---|---|
| Web, email, PDF via Chrome | Archivo, embedded | IBM Plex Mono, embedded |
| Google Slides, Google Docs, Google Sheets | Archivo, from the Google Fonts menu | IBM Plex Mono, from the Google Fonts menu |
| PowerPoint, Word, Excel with fonts installed | Archivo | IBM Plex Mono |
| PowerPoint, Word, Excel without fonts | Arial Bold and Arial | Consolas |
| macOS Keynote or Numbers without fonts | Helvetica Neue | Menlo |
| Plain text, terminal, CSV | none | none |

When a fallback is used, do not compensate by changing sizes or tracking. Arial at
the same size is the correct fallback; Arial Black is not. Never substitute a face
that is not in this table, and never introduce a third face to solve a gap.

---

## 6. LAYOUT AND GRID

| Property | Rule |
|---|---|
| Screen grid | 12 columns, 4 on mobile |
| Slide grid | 12 columns by 6 rows. Every element occupies whole cells. |
| Print grid | Single column, 18mm side margins, 20mm head, 15mm foot |
| Spacing | 4px base. Use 4, 8, 12, 16, 24, 32, 48, 64, 96, 128. Nothing between. |
| Radius | 4px maximum, 0 usually better. Circular avatars are the only exception. |
| The rule | A 14mm purple rule under a headline. Once per surface, never twice. |
| Alignment | Left, always. Nothing is centred except a button label. |
| Measure | 68ch maximum for body copy |
| Gutters | 8px between tiles on a slide module |

**Emptiness is the design.** If a surface feels full, delete a sentence. Never
shrink the type. There is no dense version of this brand.

**The module is not negotiable on a slide.** Twelve by six, seventy-two identical
cells. Every photograph, every field of ink, every block of type occupies a whole
number of cells and no fraction of one. Tiles meet along a hairline of the surface
colour. The grid is never drawn and never announced; it is felt in the fact that no
edge is ever slightly wrong. A tile four pixels off is the difference between a
mosaic and a collage.

---

## 7. VOICE

| Principle | Meaning |
|---|---|
| Say the thing | No throat clearing. No "we are excited to announce". Open with the fact. |
| Short over long | A short sentence carries more authority. Cut the second clause. |
| Numbers over adjectives | "Ten seats" beats "intimate". "Four a year" beats "regular". |
| Describe, do not sell | Say what happens in the room. Let the reader decide it is valuable. |
| No exclamation marks | Ever. Nothing we have to say needs one. |

**Write like this**

> Ten CFOs. Four masterclasses a year, two dinners, one group chat that does not
> stop. Nothing said in the room leaves it.

**Never write like this**

> We are thrilled to invite you to join our exclusive, world-class community of
> visionary finance leaders on an exciting journey.

**Banned vocabulary:** exclusive, world-class, visionary, journey, thrilled,
excited to announce, unlock, empower, leverage, game-changing, curated, elevate,
seamless, best-in-class, thought leader.

**Language.** English first for brand material and anything a member might forward.
Norwegian is correct for direct communication with Norwegian members and for
internal documents, and the same voice rules apply unchanged. Use `du`, never
`De`. Do not mix the two inside one artefact.

**Numbers in running copy.** Spell out one to ten in a sentence, use figures in a
table, a label, a chart or anywhere Plex Mono is set. Dates are `14 November 2026`
in English and `14. november 2026` in Norwegian. Times are 24 hour, `17:30`.

**Attribution.** Anything learned in a room is attributed to the room, never to a
named member, unless that member has cleared it in writing and the user says so in
the current conversation.

---

## 8. PHOTOGRAPHY

Photographs are the evidence that the rooms are real. They are not decoration laid
beside an argument.

### The treatment

There is none. Photographs run in colour, unmodified. The brand stays monochrome in
the type and the surfaces; the photographs carry the colour. That is the whole
division of labour.

```
https://res.cloudinary.com/dom0b18uk/image/upload/
  c_fill,g_auto,w_<W>,h_<H>/f_auto/q_auto/
  summits/cms/summits/cms/<public-id>.jpg
```

`e_sepia:20` renders bright yellow on this account, measured mean RGB 211/195/11.
Never use it. The old duotone string `e_grayscale/e_tint:100:14120F:F5F2ED` is
recorded here only so an old URL can be recognised as stale.

### Rules

- **No type on a photograph. Ever.** Type lives in solid ink fields cut to the same
  module. In colour this matters more, not less.
- **No logo on a photograph.** Same reason, same solution.
- **No gradients, including scrims.** If an image is too busy behind a field, choose
  another image or make the field opaque. A scrim is a gradient.
- **No photograph twice in one artefact.** Count the slots, count the unique ids,
  and check after every generate.
- **Crop gently.** Nothing crops tighter than 4:6 of its module. A tall crop of a
  wide photograph turns a pair of people into one person with a tablet.
- **One tonal world per artefact.** Warm interiors together, daylight rooftops
  together. Mixing them breaks the run and it is visible immediately.
- **A transparent logo stays transparent.** Only attendee plates get a plate colour
  behind them. Compositing a white mark onto a light plate makes it disappear.
- Trim a supplied partner logo to its ink before placing it. Many carry 30 percent
  or more baked-in padding and will sit small in their own box.

### Not to be used

Any frame showing a Venture Summits banner or a partner backdrop, because the brand
has changed. No stock photography. No portrait of a named person the archive does
not hold; build the layout so a portrait can drop in later without moving anything
else, and ship it without a face rather than guessing at one.

---

## 9. ARTEFACTS

Every subsection below assumes §1 to §8 have been applied. These add only what is
specific to the format.

### 9.1 Slides and decks

**Size.** 1920 × 1080, 16:9. Ink background on every slide unless the deck is being
projected into a bright room, in which case use the light master and say why.

**Furniture.**

| Element | Spec |
|---|---|
| Margin | 128px all four sides. This is also the logo clear space. |
| The mark | Cover carries the full wordmark. Inside slides carry the O alone, top left, 128px, 6.7% of slide width. |
| The rule | 128px wide, 3px tall. Once per slide, under the headline, never twice. |
| Baseline | Mono data row at the bottom margin, left aligned, slide number far right in muted grey rather than purple. |

**Type scale at 1920 × 1080.**

| Role | Face and size |
|---|---|
| Display | Archivo 800, 112px, tracking -3%, leading 1.06, maximum 22 characters per line |
| Sub | Archivo 700, 68px, tracking -2% |
| Figure | Archivo 800, 260px, leading 1, tabular numerals |
| List item | Archivo 700, 44px |
| Lede | Archivo 400, 30px, muted, maximum 46 characters per line |
| Data | IBM Plex Mono 500, 20px, uppercase, tracking +18% |

Express sizes in slide units where the format allows, so a deck scales on screen
and exports at exactly 1920 × 1080.

**Layouts.** Cover, statement, figure, list, quote, closing. One idea per slide.
Never a bulleted list of more than four items. The accent does one job per slide:
the rule on a cover or statement, the mono label on a figure, the mono index on a
list, the left rule on a quote, the email address on a closing slide.

**Photo layouts.** Three that work, all built on the 12 × 6 module:

1. **Split.** Photograph fills whole cells on one side, a solid field of ink or
   paper holds the type on the other.
2. **Full bleed with a field.** Photograph across all seventy-two cells, one solid
   field of ink cut to whole cells holding the headline. Never a gradient scrim.
3. **Mosaic.** Several photographs on the module, hairline gutters of the surface
   colour, one solid field for the line of type. Dense passages accumulate, quiet
   passages release.

**Length.** Six slides beats eighteen. If a deck is growing past ten, the problem is
the argument, not the deck.

**Export.** Set the stage to 1920px and print to PDF at 1920 × 1080, or screenshot
the stage. Inline the fonts as woff2 so nothing reaches a CDN at render time.

### 9.2 One-pagers and PDFs

**Page.** A4, `@page { size:A4; margin:0 }`, page divs of exactly 210 × 297mm so
inverted pages bleed. Pass zero margin on all four sides to Chrome; do not let it
add its own.

**Margins.** 18mm sides, 20mm head, 15mm foot.

**Footer.** Document name left, section centre, page number right in purple.

**Structure of the forum overview, which is fixed:**

| Page | Surface | Content |
|---|---|---|
| 01 | inverted | Wordmark, recipient, the positioning line, purple rule |
| 02 | paper | What this is. Seats, masterclasses, dinners. The forum table. |
| 03 | paper | The year. Masterclasses, dinners, group chat, billing. |
| 04 | paper | The recipient company's leaders mapped to forums. |
| 05 | inverted | Closing line and contact. |

One section per page. Only the cover and the back page are inverted; a third
inverted page breaks the rhythm the brand is built on. One purple rule per page.

Do not add pages of testimonials, logo walls or statistics bands. Those belonged to
the Venture Summits document and have no decided Operators equivalent.

**Render.**

```bash
chrome --headless --disable-gpu --no-pdf-header-footer \
  --print-to-pdf="<name>.pdf" "file://$(pwd)/<name>.html"
```

macOS: `/Applications/Google Chrome.app/Contents/MacOS/Google Chrome`. Linux: try
`chromium`, `google-chrome`, or the Playwright build under `/opt/pw-browsers`.

**Before delivering:** check the PDF page by page. Cover and back inverted and
nothing else. One purple rule per page. Roughly half of every paper page empty. No
price unless confirmed this session. Report the path and flag anything guessed.

### 9.3 Spreadsheets and models

The format that most often goes off brand, because the defaults are loud.

**Type.** Archivo where installed, otherwise Arial. Plex Mono where installed,
otherwise Consolas. Body 10pt, labels 9pt, figures 10pt. Do not go below 9pt.

**Surface.** No fill on any cell by default. Turn gridlines off in the view and in
print. The sheet is paper; if the tool insists on white, leave white and do not
paint `#F5F2ED` into ten thousand cells.

**Header row.** Ink text, Plex Mono uppercase 9pt with +18% tracking where the tool
allows tracking, no fill, one hairline bottom border in grey-200. **Never a shaded
header row.** Freeze it. Never merge cells anywhere, and never angle a header.

**Rows.** No banding. Row height 20 to 22px. A hairline in grey-200 under a group
of rows rather than under every row. Total rows are Archivo 700 with a single
hairline above, never a fill and never a double underline.

**Numbers.** Right aligned, tabular. Thousands separated with a space in Norwegian
files and a comma in English ones. Currency two decimals, counts zero, percentages
one decimal. Negative numbers in ink with a minus sign, **never in red** and never
in brackets, because red is the critical colour and a negative number is not an
error. Zero renders as `0`, not as a dash. Dates ISO `2026-11-14` in any cell a
formula touches.

**The purple.** One job per sheet. Either the single output cell that the whole
model exists to produce, or one series in one chart. Not both. Conditional
formatting is allowed only as solid purple data bars or a purple cell border.
**Never a colour scale**, because a three-colour red-to-green scale is three new
colours and a two-colour purple scale is a second purple.

**Tab colours.** The output or summary tab is purple. Every other tab is
uncoloured. Sheet order: read me, inputs, calculations, output.

**Inputs.** Mark input cells with a purple left border, not a fill. State the
convention in the read me tab in one line.

**Read me tab.** Every model has one. Four lines: what this produces, who owns it,
what the inputs are, and the date and version. Plain sentences, no formatting.

**Print setup.** Landscape A4, fit to width, gridlines off, header off, footer with
sheet name left and page number right. Repeat the header row on every page.

**What never appears:** clip art, emoji in cells, a logo image floating over cells,
merged title banners, rainbow tab colours, a colour scale, comments used as
documentation instead of a read me tab.

### 9.4 Deep dives and long-form documents

The role radar documents, masterclass write-ups, and anything running past two
pages of argument.

**Structure.**

1. Mono eyebrow: role or subject, and the date.
2. One display headline. Under 12 words.
3. Purple rule.
4. A standfirst of two or three sentences saying what changed and why it matters.
   Not a summary of the document; a reason to read it.
5. Sections with Archivo 700 headings. No numbering unless the content is a
   sequence.
6. A closing section naming what is still open.

**Rules specific to long form.**

- One purple rule, at the top, and nothing else in purple except pull quotes.
- Pull quotes take a 3px purple left rule and no quotation marks.
- Body at 68ch. Long form is where the measure is most often broken.
- Every claim is attributed to its source: the room, a named public source, or the
  user. An unattributed claim does not go in.
- No member named without clearance. "A CFO in the November room" is correct.
- Where a document supersedes an earlier one, say so in the first line, with the
  date of the one it replaces.
- End with what is not known. A deep dive that has no open questions is a brochure.

### 9.5 Cover photos, banners and summit imagery

The one place a photograph is the entire artefact.

| Use | Size | Notes |
|---|---|---|
| Summit or event hero | 1920 × 1080 | Photograph full bleed, type in a solid field on the module |
| LinkedIn company banner | 1128 × 191 | Extreme ratio. Wordmark in a solid field, no photograph behind type |
| LinkedIn personal banner | 1584 × 396 | Same treatment |
| LinkedIn event cover | 1600 × 900 | Ink field on the left four columns, photograph on the remaining eight |
| Open Graph card | 1200 × 630 | Ink ground, paper text, the O in a corner. No photograph behind text |
| Square social | 1200 × 1200 | As above |
| Email header | 1200 × 400 | Solid, no photograph. Images are blocked by default in many clients |
| Avatar | 400 × 400 | The O alone. See §9.9 |

**Rules.** The type sits in a solid field cut to whole cells, never on the image and
never over a scrim. Crop gently and check the crop at the delivered size, not in the
editor. Pick one tonal world per campaign. Never a frame with a Venture Summits
banner or partner backdrop in it. Never a photograph used twice across a set that
will be seen together.

For a summit cover the photograph should show the room rather than the stage. The
product is people in a room, and a shot of a lectern says conference, which is the
one thing Operators is not.

### 9.6 Email

**Structure.** Single column, 600px, inline styles, live text only. Never an image
logo, so it survives every client and dark mode.

**The header.** Inline SVG is stripped by Gmail and every Outlook, and the spec
forbids both an image logo and retyping the wordmark in a font. The header is
therefore the company name as a Plex Mono uppercase label, which is the eyebrow
convention and is visibly not the wordmark. This is a documented compromise, not a
licence to place the wordmark as a PNG.

**Colour.** Mail clients strip custom properties, so the purple appears literally,
including inside the `prefers-color-scheme: dark` block. One value means one find
and replace. In a dark client, links default to paper with an underline rather than
purple, because the on-ink rule in §3 applies there too.

**Signature.** Wordmark, then name in Archivo 700, then role in Plex Mono
uppercase, then contact in grey-600.

**Content.** One idea, one action, one link. No banner image, no footer of social
icons, no unsubscribe styled to hide.

### 9.7 Web pages and app screens

Paper background. Logo top left at 28 to 32px. One display headline, one purple
rule under it, one paragraph at 68ch. Dark sections carry `data-theme="inverse"`
and every semantic token flips beneath them, so no component needs a dark variant
of its own. One purple button per page.

`--op-accent` does not flip between themes, because there is one purple. What flips
is `--op-text-accent`, which resolves to paper on ink. Colour text with that token
and the one purple rule enforces itself in code rather than in memory.

```css
/* right */                      /* wrong */
color: var(--op-text-accent);    color: #8252AB;
background: var(--op-accent);    background: #9B6BC0;   /* second purple */
```

Tailwind: the config replaces the palette rather than extending it, so the defaults
cannot reintroduce what the brand exists to leave out. One purple and no scale
under it: `purple: '#8252AB'`, never `purple: { 50…900 }`.

Interface details are in §12.

### 9.8 Social images

1200 × 1200 or 1200 × 630. Ink background, paper text, one line of copy, the O in a
corner. No photograph behind text. No quotation marks around a pull line. No
headshot with a quote next to it unless the person has cleared it.

If the image is carrying a photograph, the copy moves into a solid field on the
module and the image fills the rest, as in §9.5.

### 9.9 Avatars, favicons and app icons

The O alone, centred. Ink tile or paper circle. The purple tile is reserved for the
app icon.

Tiles are the documented exception to the clear space rule: at tile sizes the full
clear space is impossible, so tiles use 9 to 27.5 percent margins depending on
size. Everywhere else the full rule holds.

Sizes: favicon 16, 32, 48 plus SVG and ICO. Apple touch icon 180. Maskable 512.
Avatar 400 × 400. Below 24px there is no full stop anywhere, so the O alone is
correct at every one of these.

### 9.10 Printed room material

Name badges, table cards, agenda cards, the printed things that exist for two hours
in a room.

Paper stock, ink type, one purple element per piece. A name badge carries the
person's name in Archivo 700 at the largest size that fits on one line, the company
in Plex Mono uppercase beneath it, and the O in the lower corner. No role title,
because everyone in the room holds the same one. No lanyard branding beyond the O.

Table cards are the same, larger, readable across a table of ten.

Everything printed follows the print warning in §3: proof the purple on the actual
stock before the run.

### 9.11 People from the portal

Cross-cutting. Read this alongside whichever artefact section applies whenever a
person from the database appears.

#### The record

| Field | Coverage in the live export | How it renders |
|---|---|---|
| `name` | 100% | Archivo 700. Required. No name, no render. |
| `profile_image_url` | 100% | Circular crop. The only round shape in the brand. |
| `role` | 100% | The normalised forum bucket. Use for grouping and for anything mapping to a forum. |
| `title` | 92% | How the person describes themselves. Use when presenting an individual. |
| `company` | 100% | Mono uppercase, after cleaning. |
| `domain` | 84% | Machinery. Fetches the logo. Never printed as a label. |
| `company_logo_url` | 36% | Optional by definition. Never a required element in a layout. |
| `linkedin` | varies | The name becomes a link. The URL is never shown, and never in print. |
| `tier` | 84% | **Never rendered anywhere.** |

**Tier never leaves the database.** Not as a letter, not as a colour, not as a sort
order a reader could decode, not in any file that goes outside the company. A
member seeing that they are a D is a worse outcome than any deck is worth. If a
data source hands you tier, drop the column before you build anything.

#### Fallback chain

Applied in order, stopping at the first that resolves. Never render a placeholder
dash, a silhouette icon, or the word Unknown.

| Element | Chain |
|---|---|
| Avatar | image → two initials on ink → nothing |
| Title line | `title` → `role` → omit the line |
| Company | clean(`company`) → `domain` minus TLD, title case → omit |
| Company logo | logo trimmed to its ink → company name in Archivo 700 → omit |
| Link | `linkedin` → no link, plain name |

#### Cleaning the company field

User-entered and dirty. Real values from the export: `Cloudgeni - CEO`,
`Morticii AS / Ex. Celsia AS`, `Tendermore / AI Mad Lab`.

```
strip a trailing " - <role token>"     Cloudgeni - CEO   → Cloudgeni
take the part before " / "             Tendermore / …    → Tendermore
drop the legal form, display only      Huddly AS         → Huddly
                                       (AS, ASA, AB, Oy, ApS, Ltd, Inc, GmbH)
```

Clean on read, never on write. The portal keeps what the person typed, and the
legal form stays in contracts and invoices always.

#### The five presentations

**P1, the row.** The default. Member lists, admin views, the leader table, anything
past six people. 40px avatar, name in Archivo 700, then one mono line: `ROLE ·
COMPANY`, separated by a middle dot and never a pipe or a comma. A hairline between
rows, no card, no border, no shadow. Use `role` here, not `title`, because lists
group by forum. No company logo in a row: at 40px it is mud and most records lack
one. Sort by surname, except a forum roster which sorts by company.

**P2, the card.** Two to six people presented as individuals: a masterclass host,
the founders, a fireside pair. 88px avatar, name, then `title` as written, then
company in mono. This is the one place `title` beats `role`, because the person is
being presented as themselves rather than as a seat. Tidy spacing around slashes
and ampersands but never rewrite how someone describes their own job. Two lines
maximum for a title; a 34 character title exists in the data. No quote beside a
face without written clearance. Past six people it becomes P1.

**P3, the wall.** Handle with care. Attendee walls were cut from the CEO Summit deck
on 30 August and the reason still holds: self-uploaded portraits shot in different
rooms on different cameras do not become one surface because you put them in a
grid. Build one only when the point of the surface is the count, and know it will
be the weakest slide in the deck. A sentence usually beats it: "Ten CFOs, nine
companies, one room" carries the same information and does not depend on whether
someone used a holiday photo.

If you build one: equal diameter for everyone, no feature portrait and no size for
seniority, whole cells of the module, equal gutters. An incomplete final row hangs
left, never centred and never stretched. Eighteen maximum on one surface. A missing
image renders as initials in the grid too; do not drop the person and do not fill
the gap with a logo. Never overlap avatars into a stack. If someone uploaded a
company logo or a group photo as their avatar, use initials and check before
shipping.

**P4, on a slide.** Two people maximum, named, at 11 percent of slide width. Build
it so a missing portrait drops in later without anything else moving, and ship with
initials rather than guessing at a face.

**P5, in print.** No avatars. Portal images are 400px webp and will not hold at
300dpi, and a page of blurred faces is worse than a page of names. Name, title,
forum, status. Status is one of exactly three values from §2 and there is no
fourth.

**P6, attribution without a face.** The default for anything a person said in a
room. No portrait, no name, no company. A purple left rule, no quotation marks, and
the room and period in mono beneath: `A CFO · November room`. A member is named only
with written clearance and only when the user confirms it in the current
conversation.

#### Sizes and quality

| Context | Diameter | Source needed |
|---|---|---|
| Row, list, admin | 40px | ≥ 200px |
| Compact row, mobile | 32px, initials only | — |
| Card | 88px | ≥ 400px |
| Wall on a slide | whole cells of the module | ≥ 400px |
| Slide, named person | 11% of slide width | ≥ 600px |
| Print | no avatar | — |

Portal uploads are square, 400 × 400 minimum, face in the upper middle third.
Reject below 400px rather than upscaling. Serve webp with a jpeg fallback and
always set `alt` to the person's name.

Circular is the only exception to the 4px radius ceiling and it applies to people
only. A company logo is never round. Initials are two letters, first and last,
Archivo 700, paper on ink. Never one letter, never three, never a silhouette.

Portraits get no treatment, like every other photograph in §8. Consistency comes
from the crop, the diameter and the ground, not from a filter.

#### Company logos

Only about a third of records carry one, so no layout may require one. Where a logo
appears it is trimmed to its ink first, rendered in one colour, and optically
matched to a common cap height rather than a common box. A mark that will not
reduce to one colour is set as the company name in Archivo 700 instead.

---

## 10. TOKENS

Use `operators-tokens-purple.css`. Never write a hex value into a component.

```css
.card{
  background: var(--op-surface-raised);
  border: 1px solid var(--op-border);
  border-radius: var(--op-radius-lg);
  padding: var(--op-space-5);
}
```

```html
<section data-theme="inverse"> ... </section>
```

Key tokens: `--op-ink --op-paper --op-accent --op-surface --op-surface-raised
--op-surface-inverse --op-text --op-text-muted --op-text-accent --op-text-inverse
--op-border --op-focus --op-action --op-action-label --op-action-hover
--op-action-hover-label --op-mark --op-mark-dot --op-font --op-font-mono
--op-size-* --op-leading-* --op-track-* --op-weight-* --op-space-1…10
--op-radius-none|sm|md|lg|full --op-rule-width --op-duration-fast|base|page
--op-ease --op-measure --op-container`.

Email and spreadsheets are the two places tokens do not reach. Both are covered in
§9.

---

## 11. DATA AND CHARTS

One rule everywhere: one ink series, one purple series for the subject under
discussion, everything else grey.

| Property | Rule |
|---|---|
| Gridlines | None |
| Plot area | Not boxed |
| Axis | One hairline baseline only |
| Legend | None. Labels sit on the mark. |
| Numbers | Plex Mono, tabular |
| Bar ends | Square |
| Zero | Always included on a bar axis |
| Bar direction | Horizontal when category names are long, vertical when they are short |
| Sort | By value unless the categories are a time series |

**A third value.** A chart that needs a third distinguishable series uses grey plus
a label, or becomes two charts. It does not use a purple tint.

**On an ink surface** the purple bar is fine, because a bar is a shape. Its label
is not purple.

**Line charts.** One purple line for the subject, one ink line for the comparison,
grey for context. No area fill, because a fill under a line is either a large
purple surface or a gradient.

Markers appear only on a series with fewer than eight points, and when they do
they are the counter from §4: an ellipse at `rx 0.165 ry 0.28` of its height,
tilted 20 degrees, in the series colour. This is one of the four permitted uses
and it is what makes an Operators chart identifiable across a room. On a denser
series the markers come off and the line carries it alone.

**Pie charts.** No. A pie with one purple slice and five greys is a bar chart that
has been made harder to read.

**Tables of numbers** follow the spreadsheet rules in §9.3 even when they appear on
a slide or in a PDF: no shaded header row, no banding, hairline rules, right
aligned figures in Plex Mono.

**Benchmark data from a room** carries the same attribution rule as prose. The room
and the period, never the company.

---

## 12. INTERFACE RULES

Applies whenever you generate a web page, an app screen, an email or any
interactive mockup.

### Icons

20 × 20 grid, 1.15 stroke, non-scaling. Butt caps, miter joins, nothing rounded,
never filled, the one exception being a play triangle. Arrowheads and chevrons use
a **29 degree half-angle**, not 45, which is what makes them read drawn rather than
generic. Never import an icon library.

### Controls

- **Checkbox** for multiple choices, or a yes-no that only applies on submit. Checked, the square fills with ink and the O's counter is knocked out of it, tilted 20 degrees. No tick. The form fills first, the counter opens 60ms behind it, 220ms in total. Indeterminate stays a horizontal bar so it can never be read as the counter. Below 16px the counter closes up, so small checkboxes fall back to a drawn tick.
- **Radio** for one from two to six visible options. Its dot is the same counter, solid.
- **The square is load-bearing.** Round means one, square means many. Never make the checkbox round, however well the O sits in it: the two controls would then differ only in size, and the reader has to consult the surrounding copy to learn whether they may pick more than one.
- **Toggle** only for a setting that takes effect immediately with no save button. A 2px rail with an 18px square knob travelling 24px, never a filled pill track and never a round knob.
- **Segmented control** for two to five filters on a view. Never for navigation.
- **List bullets** are the counter at 8px, five per list maximum. See §4 for the ceiling that governs all of this.

Selected is purple on paper and paper on ink. An unselected control is never a pale
purple.

### Scrolling

6px, invisible until the pointer enters the panel, 20 percent ink on hover, 42
percent under the cursor, purple while dragging. Panels only, never the page body.
A row of cards gets scroll-snap and a 2px position rail instead of a scrollbar.

### Selects and menus

The trigger is a value, a chevron and one hairline underline. Never a bordered box.
The open menu has a 1px ink border and marks its selection with a 6px purple square
rather than inverting the row. Groups get a mono label, never a divider. Keyboard
hints stay visible. Past eight options, add a filter field focused on open.

### Calendar

- Public site uses an **event list**, not a grid. Twenty events a year in a month grid is mostly empty squares.
- Month grid is for logged-in views only: no vertical rules, no cell borders, no shaded header row. One horizontal hairline per week, mono numerals, today as an inverted numeral in a 21px square.
- An event inside a cell is a 5px square plus a title. Purple for the viewer's own forum, ink for another forum, pale grey for something they cannot attend. Never a filled pill.
- Date tile: 58px, day in Archivo 800, month in Plex Mono, never the year.
- Exactly one event carries the inverted tile, and it is the next one chronologically.
- Past events stay, struck through at 40 percent. They are the proof the thing is real.

### Accordions

Native `<details>`. Chevron rotating 180 degrees, never plus to minus. Mono index
in purple on the left, on paper surfaces. First item open, many open allowed. Three
to six per group, never nested. Never hide price, seat count, or anything that
changes a buying decision.

### Confirmations

Ask in this order and stop at the first yes.

1. **Reversible?** Do not confirm. Perform it and offer undo.
2. **Recoverable by support within a day?** Do not confirm. Perform it, offer undo, log it.
3. **Irreversible and it costs the user something?** Confirm with a dialog.
4. **Irreversible, expensive and easy to hit by accident?** Type-to-confirm.

Dialog copy: the title is a question naming the consequence ("Release your CFO
seat?"), the body is two sentences maximum, the primary button is the verb
("Release the seat") and never OK, Confirm or Yes, and the cancel button names the
safe outcome ("Keep it"). The destructive primary is ink, never red and never
purple. Focus opens on cancel. Escape and the scrim dismiss as cancel, except at
tier four. Errors appear inside the dialog, never as a toast.

### Validation

Never while typing. Validate on blur if the field was touched and is not empty.
After an error, revalidate on every keystroke so it clears the moment it is fixed.
On submit, validate everything and focus the first bad field. Mark optional fields
rather than required ones. Error text says what to do ("Use your company address"),
not what is wrong ("Invalid email").

### People and avatars

Initials are the default, not the fallback: two letters, Archivo, paper on ink.
Never a silhouette icon. Member rows are lists, not cards. Logo walls are one
colour, optically matched to a common cap height, and a company whose mark will not
reduce to one colour is set as its name in Archivo Bold.

### Motion

Three durations: 140ms state change, 220ms reveal, 380ms page transition. One
curve, `cubic-bezier(.22,.61,.36,1)`. Nothing bounces or overshoots. A reveal moves
12px, never more. Allowed: state changes, menu open and close, one fade-and-rise
per section on first scroll, image hover at 1.02. Not allowed: parallax, counting
numbers, typewriter text, anything that loops.

### Polish that is not optional

`::selection` inverts to ink and paper. Link underlines are a background gradient so
they never clip a descender. Touch targets are 44px even when the visible control is
18px. Focus rings are 2px at 2px offset on `:focus-visible` only, purple on paper
and paper on ink. `outline:none` without a replacement is never acceptable.

---

## 13. FILES AND NAMING

`operators-<artefact>-<subject>-<yyyy-mm-dd>.<ext>`, lowercase, hyphens, no spaces,
no version words like final or v2 in the name. The date is the version.

Examples: `operators-onepager-acme-2026-11-14.pdf`,
`operators-deck-cfo-masterclass-2026-11-14.pdf`,
`operators-model-forum-economics-2026-09-09.xlsx`.

Logo files follow the colourway suffix: `positive`, `reverse`, `ink`, `paper`,
`currentcolor`, and `small` for the sub-24px wordmark with the full stop removed.

A document that supersedes another says so in its first line, with the date of the
one it replaces. Nothing is deleted silently.

---

## 14. SELF-CHECK

Run the general check on everything, then the one for the artefact. If an answer is
no, fix it rather than flagging it.

### General

1. Exactly one purple in the output, `#8252AB`, with no tint, shade, opacity-as-a-second-value or gradient of it anywhere?
2. Two typefaces only, or a documented fallback from §5?
3. Only ink, paper, purple and the grey ramp? No fourth colour?
4. Is the purple under five percent of the surface, doing exactly one job?
5. On any ink surface, is the purple a shape rather than a word?
6. Is all type on a solid field rather than on a photograph?
7. Is the logo the supplied geometry, unrotated, unstretched, unshadowed, with clear space equal to the O's height?
8. Below 24px, is the full stop removed?
9. Is everything left aligned except button labels?
10. Are all radii 4px or less, and is roughly half the surface empty?
10b. Is the counter used only in the four places in §4, at 16px or above, and no more than three times on this surface? Is everything else square?
11. Zero exclamation marks, zero banned vocabulary from §7?
12. Is every fact from §2, with no price unless confirmed in this conversation?
13. Is every claim attributed, with no member named without clearance?

### Slides

14. Six slides rather than eighteen? One idea per slide, no list past four items?
15. Every tile on whole cells of the 12 × 6 module, gutters even, no edge slightly wrong?
16. No photograph used twice? Count the slots and count the unique ids.
17. One tonal world across the deck?
18. Full wordmark on the cover, the O alone inside?

### PDFs and one-pagers

19. Cover and back page inverted, nothing else?
20. One purple rule per page, page number in purple, nothing else carrying accent?
21. Zero margin passed to Chrome, pages exactly 210 × 297mm?
22. Checked page by page in the rendered PDF, not in the HTML?

### Spreadsheets

23. Gridlines off, no cell fills, no shaded header row, no merged cells?
24. Header row frozen, in Plex Mono or the fallback, with a hairline under it?
25. Figures right aligned and tabular, negatives in ink rather than red?
26. Exactly one purple job on the sheet, and no conditional colour scale?
27. Read me tab present, tabs ordered read me, inputs, calculations, output?

### Cover photos and banners

28. Delivered at the exact pixel size in §9.5, and the crop checked at that size?
29. Type in a solid field, no scrim, no gradient?
30. No Venture Summits banner or partner backdrop in frame?

### People from the portal

31. Is `tier` absent from the output entirely, including from any sort order a reader could decode?
32. Does every missing field fall through the chain in §9.11, with no dash, no silhouette and no "Unknown"?
33. Is `role` used in lists and `title` used when presenting an individual?
34. Is any named member cleared, and is every room quote attributed to the room rather than a person?
35. Is the company field cleaned on read, with the legal form dropped for display only?

### Email

36. Live text only, no image logo, inline styles, 600px single column?
37. Purple written literally, including in the dark mode block, and links paper in dark?

---

## 15. WHEN THIS FILE DOES NOT COVER IT

Choose the plainer option, use less purple, and leave more space. Then say in one
line what you decided and why, so a human can correct it. Do not invent a new brand
element to solve the gap, and in particular do not solve it with a second purple, a
third typeface or a gradient.

If the gap is a fact rather than a design decision, ask. Never fill a factual gap
with a plausible number.

Questions: Eirik Nerdal · `eirik@operators.no`.

---

## 16. WHAT NOT TO BUILD

The first group is what a purple accent specifically invites, and it is where this
brand will fail if it fails.

A purple scale or tint ramp. A lighter purple for dark mode. A purple used at 40
percent opacity as though that were a different token. A purple-to-blue or
purple-to-pink gradient, or any gradient at all, including a scrim over a
photograph. A purple hero band. Purple filling a card, a table header or a sidebar.
A second bright colour beside the purple.

Then the shape failures. The counter distributed across every element until it
reads as a texture rather than a mark. A round checkbox. A round toggle knob. The
counter below 16px. A rotating O as a loading spinner.

Then the general list. Glassmorphism, blur behind panels, glows, gradient borders,
border radii above 4px, floating cards with soft shadows, springy or bouncing
easing, animated counters, parallax, custom cursors, stock photography, illustrated
blobs, emoji used as interface icons, boxed grids with vertical rules and shaded
header rows, pie charts, red negative numbers, and centred paragraphs.

---

## 17. WHAT IS NOT SETTLED

Say so rather than deciding for yourself.

- **Ink and paper are still warm.** They were chosen to sit under a warm accent. A
  cool accent on a warm ground is a real tension. If the purple is permanent, a
  later revision may cool both by a few degrees. Not a decision to take alone.
- **Print reference.** No spot colour is confirmed. Anything going to a printer
  needs a proof on the actual stock before the run.
- **Dark mode email.** Whether links go purple or paper in a specific client is not
  decided per client. Default to paper with an underline.
- **The wordmark in email.** The Plex Mono label header is a compromise that still
  needs sign-off. The alternative is a PNG with alt text, blocked by default in
  some clients.
- **Vector source for the logo.** The geometry here is reconstructed. Ring
  thickness and the 20 degree counter angle are readings, not measurements, until
  an `.ai`, `.svg` or `.eps` master arrives.

---

## 18. CHANGE LOG

| Version | Date | Change |
|---|---|---|
| 3.4-purple | 9 Sept 2026 | Added the counter as a documented system shape in §4: geometry, four permitted uses, the three-per-surface ceiling, the 16px floor, and the list of what it never governs. Checkbox redrawn as the squared O. Chart markers and list bullets specified. Added the angle rule and the tick exemption. |
| 3.3-purple | 9 Sept 2026 | Added §9.11, presenting a person from the portal: the record and its coverage, the fallback chain, company-field cleaning, six presentations, sizes, and the rule that tier never leaves the database. |
| 3.2-purple | 9 Sept 2026 | Expanded to cover every artefact type: spreadsheets, deep dives, cover photos, printed room material, charts, file naming, per-artefact self-checks. Folded in the photography rules, the one-pager page structure and the module philosophy. |
| 3.1-purple | 9 Sept 2026 | Reduced to a single purple. Removed the on-ink variant, the pressed variants and the tint ramp. Added the on-paper and on-ink permission table. |
| 3.0-purple | 9 Sept 2026 | Accent changed from burnt orange to purple, sampled `#8252AB`. |
| 3.0 | 22 Aug 2026 | Monochrome system with a burnt orange accent. Superseded. |
