MutualPage

Concept “Hallmark”

Struck once. Read by both.

1 · Mark and wordmark

A hallmark is a small mark struck into precious metal that says what the thing is and who vouched for it. The mark is a page held by two corner brackets whose terminals curl into quotation marks, drawn as a stamp: a dark green field with a single gold hairline inside the brackets. Green and gold carry heritage and permanence; the hairline is the only place gold appears at chrome weight, so it never competes with a status.

Light · on paper
MutualPage
16 px
24 px
32 px
48 px
96 px
Dark · designed, not inverted
MutualPage
16 px
24 px
32 px
48 px
96 px
Rail / top bar variant (logoRail) — white on the brand ground
MutualPage
16 px
24 px
32 px
48 px
96 px
Print stamp on the export — one colour, any printer
MutualPage record · verified 06 Nov 2026
16 px
24 px
32 px
48 px
96 px

The mark is a single path with no text, so it survives as a favicon, a rail icon and a one-colour stamp. The wordmark is the UI face at 600 (Mutual) and 400 (Page); theme assets are rendered to PNG at build (logo.png · logo-dark.png · logo-rail.png · favicon.svg).

2 · Palette and the four states

Light

Page / paper#F4F1E8
Surface#FFFFFF
Alt surface#EAE6DA
Border#D2CCBC
Text#1A231F
Muted text#59655E
Brand (fill)#0F3D2E
Brand text#0F3D2E
Accent#B08D3B
Rail#0F3D2E
Rail active#1B5A45
Accepted / corroboratedAccepted / corroborated Corroborated as text#0F3D2E on #D9EADF
Reply dueReply due as text#2E5B8E on #DFE9F5
DisputedDisputed as text#7A4658 on #F1E3E8
SupersededSuperseded as text#655F56 on #E7E4DB

Dark

Page / paper#0C1814
Surface#13241E
Alt surface#1A3029
Border#2B463B
Text#ECE9DF
Muted text#A7B3AB
Brand (fill)#277D5B
Brand text#9AD6B8
Accent#D4B36A
Rail#07110D
Rail active#1F5A45
Accepted / corroboratedAccepted / corroborated Corroborated as text#9AD6B8 on #1B4634
Reply dueReply due as text#A3C1EA on #1C3353
DisputedDisputed as text#DCAEC1 on #42262F
SupersededSuperseded as text#ABA79D on #2C2F2A

The brand owns green and gold, which are also the natural accepted and reply-due colours. The concept resolves it three ways at once. (1) Accepted is brand green — a filled disc with a tick, the brand vouching; corroborated is the same disc with two ticks. (2) Reply due is a colour the brand never uses — a slate blue — and is always an open ring with the date beside it, so pending reads as “unfilled”, not “warning”. (3) Gold is reserved for chrome (hairlines, the mark, section numerals) and never appears on a state, and nothing in the state set is amber or yellow. Disputed is a muted mulberry; superseded is warm grey with a strike. A judge can test it on the Fact page: cover the colour and the shapes still tell the states apart.

3 · Type

UI · Lato

Triage queue delivered by 20 Nov 2026

Said by Spencer Tait, VP Engineering, 28 Oct 2026 at 14:22. Notified the same day; the window closes 11 November.

Reply due · Accepted · Disputed · Superseded · 0123456789 · £65 per claim

Weights 400 / 600 · italic for the recollection marker and the export’s captions

Export · Libre Caslon Text

Chronology of the record

Fact 17, a commitment. On 28 October 2026 at 14:22, Spencer Tait (VP Engineering, Software Development UK Ltd) said: “We will have the triage queue in your hands by the twentieth of November, with the banding in place, and I’m happy for that to go on the record.” Kate Osei accepted on 29 October. Omar Haddad was notified and had not replied when the window closed.

Source: Fireflies transcript, SHA-256 7a3f…0c21, offsets 18 402–18 541.

Licence. Lato — Łukasz Dziedzic, SIL Open Font License 1.1. Libre Caslon Text — Pablo Impallari, SIL OFL 1.1. Self-hosted Latin-subset woff2 (400/700 + italic), no CDN call at runtime. Hashes use the system monospace stack, which needs no file.

4 · Contrast proof (WCAG 2.x, every text pair)

Light · worst pair 4.88:1

PairSamplefg / bgRatio
Body text on pageAa 14 px#1A231F / #F4F1E814.26AA
Body text on surfaceAa 14 px#1A231F / #FFFFFF16.10AA
Body text on alt surfaceAa 14 px#1A231F / #EAE6DA12.90AA
Muted text on pageAa 14 px#59655E / #F4F1E85.39AA
Muted text on surfaceAa 14 px#59655E / #FFFFFF6.09AA
Muted text on alt surfaceAa 14 px#59655E / #EAE6DA4.88AA
Brand text on pageAa 14 px#0F3D2E / #F4F1E810.77AA
Brand text on surfaceAa 14 px#0F3D2E / #FFFFFF12.16AA
Accent text (links) on pageAa 14 px#775A1A / #F4F1E85.70AA
Accent text (links) on surfaceAa 14 px#775A1A / #FFFFFF6.44AA
On-brand text on brand fillAa 14 px#F4F1E8 / #0F3D2E10.77AA
Rail text on railAa 14 px#CFE0D6 / #0F3D2E8.85AA
Rail active text on active surfaceAa 14 px#FFFFFF / #1B5A458.09AA
Accepted / corroborated — chip text on chipAa 14 px#0F3D2E / #D9EADF9.72AA
Accepted / corroborated — as plain text on surfaceAa 14 px#0F3D2E / #FFFFFF12.16AA
Accepted / corroborated — as plain text on pageAa 14 px#0F3D2E / #F4F1E810.77AA
Reply due — chip text on chipAa 14 px#2E5B8E / #DFE9F55.70AA
Reply due — as plain text on surfaceAa 14 px#2E5B8E / #FFFFFF6.99AA
Reply due — as plain text on pageAa 14 px#2E5B8E / #F4F1E86.19AA
Disputed — chip text on chipAa 14 px#7A4658 / #F1E3E85.94AA
Disputed — as plain text on surfaceAa 14 px#7A4658 / #FFFFFF7.38AA
Disputed — as plain text on pageAa 14 px#7A4658 / #F4F1E86.54AA
Superseded — chip text on chipAa 14 px#655F56 / #E7E4DB4.97AA
Superseded — as plain text on surfaceAa 14 px#655F56 / #FFFFFF6.32AA
Superseded — as plain text on pageAa 14 px#655F56 / #F4F1E85.59AA

Dark · worst pair 5.04:1

PairSamplefg / bgRatio
Body text on pageAa 14 px#ECE9DF / #0C181414.95AA
Body text on surfaceAa 14 px#ECE9DF / #13241E13.31AA
Body text on alt surfaceAa 14 px#ECE9DF / #1A302911.53AA
Muted text on pageAa 14 px#A7B3AB / #0C18148.37AA
Muted text on surfaceAa 14 px#A7B3AB / #13241E7.45AA
Muted text on alt surfaceAa 14 px#A7B3AB / #1A30296.46AA
Brand text on pageAa 14 px#9AD6B8 / #0C181410.97AA
Brand text on surfaceAa 14 px#9AD6B8 / #13241E9.77AA
Accent text (links) on pageAa 14 px#E0C47E / #0C181410.69AA
Accent text (links) on surfaceAa 14 px#E0C47E / #13241E9.52AA
On-brand text on brand fillAa 14 px#FFFFFF / #277D5B5.04AA
Rail text on railAa 14 px#B9CCC1 / #07110D11.39AA
Rail active text on active surfaceAa 14 px#FFFFFF / #1F5A458.06AA
Accepted / corroborated — chip text on chipAa 14 px#9AD6B8 / #1B46346.43AA
Accepted / corroborated — as plain text on surfaceAa 14 px#9AD6B8 / #13241E9.77AA
Accepted / corroborated — as plain text on pageAa 14 px#9AD6B8 / #0C181410.97AA
Reply due — chip text on chipAa 14 px#A3C1EA / #1C33536.90AA
Reply due — as plain text on surfaceAa 14 px#A3C1EA / #13241E8.76AA
Reply due — as plain text on pageAa 14 px#A3C1EA / #0C18149.84AA
Disputed — chip text on chipAa 14 px#DCAEC1 / #42262F7.01AA
Disputed — as plain text on surfaceAa 14 px#DCAEC1 / #13241E8.37AA
Disputed — as plain text on pageAa 14 px#DCAEC1 / #0C18149.40AA
Superseded — chip text on chipAa 14 px#ABA79D / #2C2F2A5.65AA
Superseded — as plain text on surfaceAa 14 px#ABA79D / #13241E6.73AA
Superseded — as plain text on pageAa 14 px#ABA79D / #0C18147.56AA

Computed at build from the token file below (relative-luminance formula); 4.5:1 is AA for body text. Borders and chip fills are non-text and are not held to it.

5 · theme@1 tokens

Everything on these pages is one of these values. Style preset: portal. The status block is the one extension the product needs beyond today’s theme keys.

{
 "kind": "theme@1",
 "name": "mutualpage-hallmark",
 "stylePreset": "portal",
 "radius": "2px",
 "colors": {
  "light": {
   "bg": "#F4F1E8",
   "surface": "#FFFFFF",
   "surfaceAlt": "#EAE6DA",
   "border": "#D2CCBC",
   "text": "#1A231F",
   "textMuted": "#59655E",
   "brand": "#0F3D2E",
   "brandText": "#0F3D2E",
   "onBrand": "#F4F1E8",
   "accent": "#B08D3B",
   "accentText": "#775A1A",
   "rail": "#0F3D2E",
   "railText": "#CFE0D6",
   "railTextActive": "#FFFFFF",
   "railActiveSurface": "#1B5A45",
   "status": {
    "accepted": {
     "fg": "#0F3D2E",
     "bg": "#D9EADF"
    },
    "replyDue": {
     "fg": "#2E5B8E",
     "bg": "#DFE9F5"
    },
    "disputed": {
     "fg": "#7A4658",
     "bg": "#F1E3E8"
    },
    "superseded": {
     "fg": "#655F56",
     "bg": "#E7E4DB"
    }
   }
  },
  "dark": {
   "bg": "#0C1814",
   "surface": "#13241E",
   "surfaceAlt": "#1A3029",
   "border": "#2B463B",
   "text": "#ECE9DF",
   "textMuted": "#A7B3AB",
   "brand": "#277D5B",
   "brandText": "#9AD6B8",
   "onBrand": "#FFFFFF",
   "accent": "#D4B36A",
   "accentText": "#E0C47E",
   "rail": "#07110D",
   "railText": "#B9CCC1",
   "railTextActive": "#FFFFFF",
   "railActiveSurface": "#1F5A45",
   "status": {
    "accepted": {
     "fg": "#9AD6B8",
     "bg": "#1B4634"
    },
    "replyDue": {
     "fg": "#A3C1EA",
     "bg": "#1C3353"
    },
    "disputed": {
     "fg": "#DCAEC1",
     "bg": "#42262F"
    },
    "superseded": {
     "fg": "#ABA79D",
     "bg": "#2C2F2A"
    }
   }
  }
 },
 "fonts": {
  "ui": {
   "family": "Lato",
   "files": [
    "assets/fonts/lato-400-normal.woff2",
    "assets/fonts/lato-700-normal.woff2",
    "assets/fonts/lato-400-italic.woff2"
   ]
  },
  "document": {
   "family": "Libre Caslon Text",
   "files": [
    "assets/fonts/libre-caslon-text-400-normal.woff2",
    "assets/fonts/libre-caslon-text-700-normal.woff2",
    "assets/fonts/libre-caslon-text-400-italic.woff2"
   ]
  },
  "licence": "SIL OFL 1.1 (notice in assets/fonts/OFL-NOTICE.txt)"
 },
 "logo": "assets/logo.png",
 "logoDark": "assets/logo-dark.png",
 "logoRail": "assets/logo-rail.png",
 "favicon": "assets/favicon.svg"
}

Concept 1 of 3 · MutualPage brand round 1 · mock data, fictional ClaimsHive people. Toggle light / dark bottom-right; the choice sticks across the three pages of this concept.