# Wise Agents brand: Spark in the Rule

> **Owner's decision, 2026-11-11:** logo **A, Spark in the Rule**, in colour **2, Spectrum** (`#7A0BDD` → `#B23A9A` → `#E0663E`, white spark). This is the mark already used across the site, so nothing changes. Picked on the design review page (`brand/design-review.html`).

Version 1, 9 November 2026. The kit page is `brand/index.html` (served at `/brand/index.html`). Owner's approval to refine the logo and palette: `BUILD-BRIEF.md`.

## 1. The idea in one line

**AI agents your compliance team can sign off.** International, European, regulated-grade: calm night surfaces, one spectral light for the AI, gold only where a person decides.

## 2. The mark

The current wiseagents.ai mark (a violet-to-coral rounded rhombus with a white four-point spark) is kept and redrawn:

- **The rule:** the rhombus is the boundary, the controls an agent works inside. It is static.
- **The spark:** the agent. It is the only part that moves on its own after the reveal. Its four points face north, east, south and west, so it reads as a compass star as well as a spark: the agent knows where it may go. This keeps the original idea while steering away from the generic "AI sparkle".

**Construction** (32-unit grid; `brand/tools/build_brand.py` draws it from these numbers):

| Part | Large (20 px and up) | Small (below 20 px) |
| --- | --- | --- |
| Rhombus vertices | N(16,1) E(31,16) S(16,31) W(1,16) | same |
| Corner cut along each edge, closed by a quadratic curve with the vertex as control | D = 5.0 | D = 3.6 |
| Spark radius (centre 16,16) | R = 8.6 | R = 10 |
| Spark handle length toward the centre (lower = fuller waist) | K = 4.8 | K = 3.4 |
| Gradient (115°, top-left to bottom-right) | `#7A0BDD` → `#B23A9A` (55%) → `#E0663E` | same |
| Spark | white; contrast on every gradient stop ≥ 3.4:1 | same |

The tile gradient is tuned from the old `#7500CF` → `#E07D53`: the coral end is deepened so a white spark keeps 3:1.

**Files** (`brand/logo/`): `mark.svg`, `mark-small.svg`, `mark-mono-black.svg`, `mark-mono-white.svg`, `mark-currentcolor.svg`, `construction.svg`, `wordmark-on-dark.svg`, `wordmark-on-light.svg`, `lockups/horizontal-*` (on dark, on light, mono black, mono white), `lockups/stacked-*`. Icons in `brand/icons/` (favicon svg and ico 16/32/48, apple-touch 180, 192, 512, maskable 512, web manifest). Link previews in `brand/og/`.

**Wordmark:** "Wise Agents" in Schibsted Grotesk at weight 640, tracking −1.5%, outlined from the font file. Solid colour, never gradient text. Cap height is 0.45 of the mark; the gap is 10 units.

**Use:** the mark is the logo, never an icon or decoration. Minimum clear space: a quarter of the mark's width. Never rotate it (the spark turns, the rule doesn't), never recolour the tile, never put it on a busy photo.

## 3. Colour: one job each

Tokens in `brand/tokens/tokens.json` → `tools/tokens.py` → `assets/kit/tokens.css`. Night (`:root`, `.night`) is the default; `.day` sections keep the same roles with ink-strength values. Contrast measured by `tools/contrast.py` (report: `brand/tokens/contrast-report.md`); every pair passes.

| Role | Night | Day | Its one job |
| --- | --- | --- | --- |
| `--bg` | `#0B0A17` | `#F7F6FB` | The canvas. Night ink, cooler and bluer than BuildAI's plum |
| `--bg-raised` | `#141329` | `#FFFFFF` | Cards, panels, the product window |
| `--ink` / `--text` / `--muted` | `#F5F3FC` / `#CAC7DE` / `#A29EBD` | `#13112A` / `#3A3755` / `#5E5A7A` | Headings / body / captions (7.6:1 and up on night) |
| `--action` | `#CDB6FF` (lilac) | `#5A10C4` | The one action colour: primary buttons, links, focus |
| `--ai-1 … --ai-3` | `#9440FF` → `#C2459C` → `#F2825A` | `#7500CF` → `#A92F86` → `#D0603A` | **Only the AI:** the spark, the demo's rail, the agent working |
| `--human` | `#F4C552` | `#8A6200` | **A person decides:** approval, the seal, "held for a person". From the old gold `#E0AD24` |
| `--pass` | `#4AD9A2` | `#0B7A50` | A test passed, a control on, live |
| `--fail` | `#FF7A90` | `#B4233F` | A test failed, a control off |
| `--paper` | `#FBF5E4` | same | **A record you keep:** the approval card, documents. From the old cream |

The old lilac `#EFDBFF` became the action colour `#CDB6FF`, deepened for contrast.

## 4. Type

| Use | Family | Why |
| --- | --- | --- |
| Display, UI | Schibsted Grotesk (variable 400–900, OFL) | A Norwegian newsroom grotesk: European, plain, very legible; tight tracking (−2.2% to −3.5%) for headlines |
| Body | Inter (variable, OFL) | Carries over from the current site; excellent for German and French |
| References, labels | JetBrains Mono 500 (OFL) | Article numbers ("AI Act Art. 14"), labels, run records: the "on the record" voice |

Self-hosted in `assets/fonts/` with each OFL licence beside it. Latin and Latin Extended subsets.

## 5. Signature details

- **The rule lattice:** a 45° hairline grid behind night sections, masked to a soft ellipse. It is the rhombus repeated, not a dot grid.
- **One spectral glow** per night section, static.
- **Article references** as mono pills (`.ref`; GDPR ones dashed) on every control.
- **"Sample data" tags** (dashed) on everything scripted.

## 6. Where the mark goes

Top bar (reveal once per visit), footer, the demo's product bar (thinking while it works, done when monitoring), the CTA band, blog bylines and drawn covers, favicons and link previews.

## 7. Ship checklist

- [x] Mark readable at 16 px on light and dark tabs; small drawing below 20 px; mono black and white
- [x] Every colour a token; contrast measured, all pass
- [x] Each colour has one job, written down (section 3)
- [x] Favicons, app icons (maskable), apple-touch, OG 1200 × 630 (EN, DE)
- [x] Reveal once per visit; only the spark idles
- [x] Fonts self-hosted with licences
- [ ] EUIPO and WIPO trademark search for "Wise Agents" before print (`ops/DEVOPS-REQUESTS.md`)
