{
  "$description": "Zo Selections brand tokens: its own colours, roles and type, sampled from its brand kit. Zo Selections is its own brand within the family, with its own theme (DV, 5 October 2026): these are not Zostel's tokens and are not in zo-tokens.json, and none of Zostel's colours belongs on a Zo Selections surface. Checked and published by brand/tools/build_zo_selections.py: every colour must be a flat fill the kit's exports show, every contrast claim below is measured (the build stops if one is wrong), and the file is copied to zostel-showcase/public/brand/tokens/.",
  "meta": {
    "version": "2026.1",
    "updated": "2026-10-05",
    "brand": "Zo Selections",
    "sources": [
      "The Zo Selections brand kit: the PNG export of Figma file ey6gMGg9vIpAHmRiPPLMhl, page Branding, sent by DV on 5 October 2026 (private, git-ignored: _library/reference/zo-selections/brandkit-2026-10-05/)",
      "brand/zo-selections/brand-foundation.md (the roles and the voice)",
      "brand/zo-selections/README.md (the inventory)"
    ],
    "method": "Every colour is an exact flat fill of the kit's exports (the most common pixel values of each artboard, read by brand/tools/selections/trace.py and patterns.py), not a reading of anti-aliased edges. A native export from Figma (its colour styles, if it has any) replaces these values; the names stay."
  },
  "color": {
    "core": {
      "$description": "The four colours the kit names by use. Maroon is the ground, cream the ink on it; rose maroon is the mark on cream; gold is metal only.",
      "maroon": {
        "$type": "color",
        "$value": "#6E102A",
        "$extensions": {
          "zo": {
            "name": "Maroon",
            "rgb": "110 16 42",
            "role": "ground",
            "use": "The ground: the logo tile, door hangers, coasters, cushions, towels, dark web surfaces. The mark sits on it in cream.",
            "seenIn": ["Logo.png (92% of it)", "Patterns.png", "Patterns-2.png", "Patterns-3.png", "Coasters.png", "Coasters-3.png"]
          }
        }
      },
      "cream": {
        "$type": "color",
        "$value": "#F1D3AF",
        "$extensions": {
          "zo": {
            "name": "Cream",
            "rgb": "241 211 175",
            "role": "ink",
            "use": "The ink on maroon (the mark, the words); the paper when the ground is light; the sparkle's upper half.",
            "seenIn": ["Logo.png (the mark)", "Logo - inverted.png (94%: the ground)", "Pattern.png", "Patterns-1.png", "Door Hanger 11.png", "Door Hanger 12.png", "96947.png (the room number)"]
          }
        }
      },
      "rose-maroon": {
        "$type": "color",
        "$value": "#952B48",
        "$extensions": {
          "zo": {
            "name": "Rose maroon",
            "rgb": "149 43 72",
            "role": "ink on light",
            "use": "The mark on cream: the kit's inverted tile draws it lighter and pinker than the ground maroon.",
            "seenIn": ["Logo - inverted.png (the mark)"]
          }
        }
      },
      "gold": {
        "$type": "color",
        "$value": "#9D6E35",
        "$extensions": {
          "zo": {
            "name": "Gold",
            "rgb": "157 110 53",
            "role": "accent",
            "use": "Metal only: the sparkle's lower half, brass and halo-lit signage. Never a text colour, never a surface (it reads 2.66:1 on maroon and 3.11:1 on cream).",
            "seenIn": ["Door Hanger 13.png (the sparkle's lower half)"]
          }
        }
      }
    },
    "tones": {
      "$description": "The supporting tones the kit uses without naming them, as exact flat fills: the grounds and raised tones of its tone-on-tone patterns and its room-number cards. Near pairs (two values a few units apart) are listed as the kit has them; whether each pair is one colour is a question for DV (brand/zo-selections/README.md).",
      "plum": {
        "$type": "color",
        "$value": "#480C12",
        "$extensions": {
          "zo": {
            "name": "Plum",
            "rgb": "72 12 18",
            "role": "pattern ground",
            "use": "The near-black ground under the tone-on-tone patterns (the herringbone, the door hanger with the large ZO, the ZO plate); the leaf lattice's strokes; the night ground on the web.",
            "seenIn": ["4.png (48%)", "96940.png (48%)", "Door Hanger 11.png (66%)", "Pattern-2.png (the strokes)", "Pattern-1.png (the foot of its gradient, which runs up to #2B0408)"],
            "nearPair": "plum-stripe (#491117, the room cards' stripes)"
          }
        }
      },
      "plum-stripe": {
        "$type": "color",
        "$value": "#491117",
        "$extensions": {
          "zo": {
            "name": "Plum (room card stripes)",
            "rgb": "73 17 23",
            "role": "pattern",
            "use": "The pinstripes and the leaf frieze on the room-number cards.",
            "seenIn": ["96948.png (37%)", "96949.png (13%)"],
            "nearPair": "plum (#480C12)"
          }
        }
      },
      "plum-soft": {
        "$type": "color",
        "$value": "#4F161C",
        "$extensions": {
          "zo": {
            "name": "Soft plum",
            "rgb": "79 22 28",
            "role": "pattern ground",
            "use": "The ground of the sparkle pattern, tone on tone.",
            "seenIn": ["Pattern-3.png (88%)"]
          }
        }
      },
      "deep-wine": {
        "$type": "color",
        "$value": "#6F222A",
        "$extensions": {
          "zo": {
            "name": "Deep wine",
            "rgb": "111 34 42",
            "role": "pattern",
            "use": "The quiet tone of the tone-on-tone patterns: the herringbone's strokes on plum, the leaf lattice's ground.",
            "seenIn": ["4.png (48%)", "96940.png (24%)", "Pattern-2.png (55%: the ground)"]
          }
        }
      },
      "wine": {
        "$type": "color",
        "$value": "#822B34",
        "$extensions": {
          "zo": {
            "name": "Wine",
            "rgb": "130 43 52",
            "role": "pattern / ground",
            "use": "The monogram repeat printed on cream; the room-number cards' ground; the leaf column on the ROOM sign.",
            "seenIn": ["Pattern.png (38%)", "96944.png (36%)", "96946.png (34%)", "96947.png (90%)", "96948.png (56%)", "96949.png (81%)", "Pattern-1.png (the letters)"]
          }
        }
      },
      "rose": {
        "$type": "color",
        "$value": "#94323C",
        "$extensions": {
          "zo": {
            "name": "Rose",
            "rgb": "148 50 60",
            "role": "ground / pattern",
            "use": "The second ground (the sparkle door hanger) and the raised tone of the tone-on-tone ZO (the large-ZO hanger, the ZO plate's bright strokes); the lattice in one tone on cream.",
            "seenIn": ["Door Hanger 13.png (88%: the ground)", "Door Hanger 11.png (30%)", "Door Hanger 12.png (27%)", "96940.png (23%)"],
            "nearPair": "rose-light (#973C45)"
          }
        }
      },
      "rose-light": {
        "$type": "color",
        "$value": "#973C45",
        "$extensions": {
          "zo": {
            "name": "Light rose",
            "rgb": "151 60 69",
            "role": "pattern",
            "use": "The raised tone in the pattern tiles: the sparkles' lit half, the circles' shade crescents, the arc chain; the ground of one coaster.",
            "seenIn": ["Pattern-2.png", "Pattern-3.png", "Patterns-2.png", "Patterns-3.png", "Coasters-1.png", "Coasters-2.png (78%: the ground)"],
            "nearPair": "rose (#94323C)"
          }
        }
      },
      "rose-dim": {
        "$type": "color",
        "$value": "#7A3138",
        "$extensions": {
          "zo": {
            "name": "Dim rose",
            "rgb": "122 49 56",
            "role": "pattern",
            "use": "The sparkle's lower half in the tone-on-tone sparkle pattern.",
            "seenIn": ["Pattern-3.png"]
          }
        }
      },
      "gold-bright": {
        "$type": "color",
        "$value": "#AA7B42",
        "$extensions": {
          "zo": {
            "name": "Bright gold",
            "rgb": "170 123 66",
            "role": "pattern",
            "use": "The capsule pattern's slivers on cream. Brighter than the sparkle's gold (#9D6E35): one gold or two is a question for DV.",
            "seenIn": ["Patterns-1.png (9%)"],
            "nearPair": "gold (#9D6E35)"
          }
        }
      }
    },
    "roles": {
      "$description": "What each colour does, for anyone making a Zo Selections surface (print or screen). References resolve to the colours above.",
      "ground": { "$type": "color", "$value": "{color.core.maroon}" },
      "ink": { "$type": "color", "$value": "{color.core.cream}" },
      "ground-light": { "$type": "color", "$value": "{color.core.cream}" },
      "ink-on-light": { "$type": "color", "$value": "{color.core.maroon}", "$extensions": { "zo": { "note": "Words on cream: maroon (8.29:1). Wine (6.26:1) where the kit prints on cream, as the monogram repeat does." } } },
      "mark-on-light": { "$type": "color", "$value": "{color.core.rose-maroon}" },
      "accent": { "$type": "color", "$value": "{color.core.gold}", "$extensions": { "zo": { "note": "Metal only: never text, never a surface." } } },
      "pattern-tone": { "$type": "color", "$value": "{color.tones.deep-wine}", "$extensions": { "zo": { "note": "Tone on tone by default: deep wine on plum, light rose on maroon, wine on cream." } } },
      "ground-night": { "$type": "color", "$value": "{color.tones.plum}", "$extensions": { "zo": { "note": "Where a screen goes dark, the cream grounds go plum and the words stay cream (10.98:1)." } } }
    }
  },
  "contrast": {
    "$description": "Measured (WCAG 2): text needs 4.5:1 (3:1 at 24 px, or 18.66 px bold); a graphic needs 3:1 against what it sits on. build_zo_selections.py measures every pair and stops the build if a claim is wrong.",
    "text": [
      { "text": "cream", "on": "maroon", "ratio": 8.29, "level": "AAA", "use": "the primary pair: the mark and every word on maroon" },
      { "text": "maroon", "on": "cream", "ratio": 8.29, "level": "AAA", "use": "words on cream" },
      { "text": "rose-maroon", "on": "cream", "ratio": 5.40, "level": "AA", "use": "the mark on cream; accents on cream" },
      { "text": "wine", "on": "cream", "ratio": 6.26, "level": "AA", "use": "the monogram repeat and words on cream" },
      { "text": "cream", "on": "wine", "ratio": 6.26, "level": "AA", "use": "the room-number cards" },
      { "text": "cream", "on": "rose", "ratio": 5.28, "level": "AA", "use": "the sparkle door hanger's line" },
      { "text": "cream", "on": "plum", "ratio": 10.98, "level": "AAA", "use": "words on the tone-on-tone grounds; the night ground" },
      { "text": "cream", "on": "deep-wine", "ratio": 7.57, "level": "AAA", "use": "words on the leaf lattice's ground" }
    ],
    "notForText": [
      { "colour": "gold", "on": "maroon", "ratio": 2.66, "note": "fails even as a graphic (3:1): gold on maroon is the sparkle's half only, beside cream" },
      { "colour": "gold", "on": "cream", "ratio": 3.11, "note": "a graphic at most" },
      { "colour": "gold-bright", "on": "cream", "ratio": 2.61, "note": "the capsule pattern's slivers: texture, never information" },
      { "colour": "rose-light", "on": "maroon", "ratio": 1.72, "note": "tone on tone: texture only" },
      { "colour": "rose", "on": "maroon", "ratio": 1.57, "note": "tone on tone: texture only" }
    ]
  },
  "font": {
    "$description": "The kit's faces are not named in its PNG export (Figma was not reachable: the MCP is rate-limited on the View seat). Read from the pixels: the wordmark 'selections' and the taglines share one construction (slanted wedge heads on l, i, n, t, h; no foot serifs; serif-like contrast, 2.8 to 1 on the o; a round dot); the room numbers use a display serif in two cuts. Measured against open and specimen fonts, the closest family is Canela (Commercial Type, a commercial licence): per-letter IoU 0.85 on the wordmark against 0.80 for the best open face (Bellefair). That is a hypothesis, not an identification: DV or the designer to name the faces. Until then the web uses the families below.",
    "wordmark": {
      "$type": "fontFamily",
      "$value": ["ui-serif", "Georgia", "serif"],
      "$extensions": { "zo": { "kit": "unconfirmed; closest: Canela or Canela Deck, Regular (Commercial Type)", "note": "The wordmark is never set in type: use the lockup from public/brand/logo/zo-selections/." } }
    },
    "display": {
      "$type": "fontFamily",
      "$value": ["ui-serif", "Georgia", "serif"],
      "$extensions": { "zo": { "kit": "unconfirmed; the taglines look like the wordmark's family, Medium (closest: Canela)", "web": "a system serif until the kit's face is named and licensed (proposal)" } }
    },
    "numerals": {
      "$type": "fontFamily",
      "$value": ["ui-serif", "Georgia", "serif"],
      "$extensions": { "zo": { "kit": "unconfirmed; the bold room numbers match Canela's figures (a 1 with no foot, a slanted 5); the light cut on 96947.png is a Didot-like modern serif" } }
    },
    "body": {
      "$type": "fontFamily",
      "$value": ["ui-sans-serif", "system-ui", "-apple-system", "Segoe UI", "Roboto", "sans-serif"],
      "$extensions": { "zo": { "kit": "the kit sets no body text", "web": "a system sans for running text (proposal); Zostel's Futura and Gotham Narrow are not Zo Selections' type" } }
    }
  }
}
