{
  "name": "MSRVS",
  "full-name": "Model Steam Road Vehicle Society",
  "version": "1.0.0",

  "brand": {
    "steam-blue":  { "value": "#0B3A66", "name": "Steam blue", "tier": "main", "plain": "The Society's blue: headings, panels, backgrounds", "use": "Links on light surfaces, the facts strip, secondary buttons, the lockup lettering on light backgrounds" },
    "brass":       { "value": "#E3B23C", "name": "Brass", "tier": "main", "plain": "Accents: buttons, rules, highlights. Not for text on cream or white", "use": "Primary buttons, lining-out, rules and accents. Never text on a light surface" },
    "cream":       { "value": "#F6F1E6", "name": "Cream", "tier": "main", "plain": "Paper and page backgrounds", "use": "Light-scheme page background; paper colour for print" },
    "deep-blue":   { "value": "#0A2A4A", "name": "Deep steam blue", "tier": "supporting", "plain": "A darker blue for large backgrounds", "use": "Header (light scheme), plain heroes, the membership band" },
    "night-blue":  { "value": "#071B30", "name": "Night blue", "tier": "supporting", "plain": "The darkest blue, for footers and dark backgrounds", "use": "Footer, behind hero photos, header (dark scheme), text on brass" },
    "brass-dark":  { "value": "#7F5B14", "name": "Dark brass", "tier": "supporting", "plain": "Brass-coloured text on cream or white", "use": "Brass-coloured text on light surfaces: eyebrows, small labels" },
    "brass-light": { "value": "#F1D79A", "name": "Light brass", "tier": "supporting", "plain": "Brass-coloured text on blue", "use": "Brass-coloured text on blue; links in the dark scheme" },
    "crimson":     { "value": "#A12A2B", "name": "Crimson lake", "tier": "supporting", "plain": "A touch of red for dates and highlights. Use sparingly", "use": "Date tiles and the odd highlight. Sparingly, and never as text on a dark surface" },
    "white":       { "value": "#FFFFFF", "name": "White", "use": "Text on blue" }
  },

  "logo-sizes": [
    { "artwork": "Emblem", "screen": "180 px wide", "print": "40 mm wide" },
    { "artwork": "Mark", "screen": "24 px (16 px only as a favicon)", "print": "8 mm" },
    { "artwork": "Lockup with the full name", "screen": "56 px tall", "print": "15 mm tall" },
    { "artwork": "Compact lockup", "screen": "28 px tall", "print": "8 mm tall" },
    { "artwork": "One-colour mark", "screen": "24 px", "print": "8 mm; 40 mm for embroidery" }
  ],

  "text-sizes": [
    { "role": "Headings", "font": "Source Serif 4 Bold", "print": "18–36 pt", "screen": "26–62 px" },
    { "role": "Body text", "font": "Inter Regular", "print": "9.5–11 pt", "screen": "16 px" },
    { "role": "Captions and small print", "font": "Inter Regular", "print": "8–9 pt", "screen": "14 px" }
  ],

  "scheme": {
    "light": {
      "page":         { "value": "{brand.cream}", "use": "Page background" },
      "surface":      { "value": "lighten({scheme.light.page}, 5%)", "use": "Cards, panels, dropdowns. Flarum derives this (--body-bg-light)" },
      "sunk":         { "value": "darken({scheme.light.page}, 3%)", "use": "Alternate sections. Flarum derives this (--body-bg-shaded)" },
      "control":      { "value": "#ECE4D3", "use": "Control backgrounds, borders, dividers" },
      "control-text": { "value": "#5C5447", "use": "Text on controls" },
      "text":         { "value": "#1E1B16", "use": "Body text and headings" },
      "muted":        { "value": "#6E6455", "use": "Secondary text" },
      "subtle":       { "value": "#766B59", "use": "Least important text (Flarum's muted-more): list metadata, placeholders" },
      "read-title":   { "value": "{scheme.light.muted}", "use": "Titles of discussions already read (Flarum's --discussion-title-color)" },
      "link":         { "value": "{brand.steam-blue}", "use": "Links" },
      "accent-text":  { "value": "{brand.brass-dark}", "use": "Eyebrows and other brass-coloured text" },
      "code":         { "value": "#EFE8D9", "use": "Code and quote backgrounds" },
      "header":       { "value": "{brand.deep-blue}", "use": "Site header" },
      "header-text":  { "value": "{brand.white}", "use": "Header text" }
    },
    "dark": {
      "page":         { "value": "#0C1520", "use": "Page background" },
      "surface":      { "value": "lighten({scheme.dark.page}, 5%)", "use": "Cards, panels, dropdowns. Flarum derives this (--body-bg-light)" },
      "sunk":         { "value": "darken({scheme.dark.page}, 3%)", "use": "Alternate sections. Flarum derives this (--body-bg-shaded)" },
      "control":      { "value": "#172434", "use": "Control backgrounds, borders, dividers" },
      "control-text": { "value": "#B5AC9C", "use": "Text on controls" },
      "text":         { "value": "#EDE6D8", "use": "Body text and headings" },
      "muted":        { "value": "#A0978A", "use": "Secondary text" },
      "subtle":       { "value": "#7F8996", "use": "Least important text (Flarum's muted-more): list metadata, placeholders" },
      "read-title":   { "value": "{scheme.dark.muted}", "use": "Titles of discussions already read (Flarum's --discussion-title-color)" },
      "link":         { "value": "{brand.brass-light}", "use": "Links" },
      "accent-text":  { "value": "{brand.brass}", "use": "Eyebrows and other brass-coloured text" },
      "code":         { "value": "#101C2A", "use": "Code and quote backgrounds" },
      "header":       { "value": "{brand.night-blue}", "use": "Site header" },
      "header-text":  { "value": "{brand.white}", "use": "Header text" }
    }
  },

  "livery": {
    "brass":           { "value": "{brand.brass}", "name": "Brass" },
    "crimson-lake":    { "value": "{brand.crimson}", "name": "Crimson lake" },
    "brunswick-green": { "value": "#1F5C3A", "name": "Brunswick green" },
    "chocolate":       { "value": "#6B4226", "name": "Chocolate" },
    "verdigris":       { "value": "#296E66", "name": "Verdigris" },
    "steam-blue":      { "value": "{brand.steam-blue}", "name": "Steam blue" },
    "slate":           { "value": "#5B6875", "name": "Slate" }
  },

  "livery-foreground": {
    "light-max-l": 0.5,
    "dark-min-l": 0.7,
    "use": "A livery colour used as an icon or text keeps its hue and chroma, with its OKLCH lightness held at or below 0.5 on light surfaces and at or above 0.7 on dark ones"
  },

  "tags": [
    { "name": "Announcements",    "slug": "announcements", "livery": "brass",           "icon": "fas fa-bullhorn" },
    { "name": "Rallies & Events", "slug": "events",        "livery": "crimson-lake",    "icon": "fas fa-calendar-days" },
    { "name": "Workshop",         "slug": "workshop",      "livery": "brunswick-green", "icon": "fas fa-screwdriver-wrench" },
    { "name": "Marketplace",      "slug": "marketplace",   "livery": "chocolate",       "icon": "fas fa-shop" },
    { "name": "Chit Chat",        "slug": "chit-chat",     "livery": "verdigris",       "icon": "fas fa-mug-hot" },
    { "name": "Blog",             "slug": "blog",          "livery": "steam-blue",      "icon": "fas fa-newspaper" },
    { "name": "Using This Site",  "slug": "site-help",     "livery": "slate",           "icon": "fas fa-life-ring" }
  ],

  "groups": [
    { "name": "Site Admin",         "value": "#4A148C", "icon": "fas fa-shield-halved" },
    { "name": "Committee",          "value": "#0D47A1", "icon": "fas fa-users" },
    { "name": "Chairman",           "value": "#3E2723", "icon": "fas fa-crown" },
    { "name": "Treasurer",          "value": "#1B5E20", "icon": "fas fa-coins" },
    { "name": "Boiler Tester",      "value": "#BF360C", "icon": "fas fa-gauge-high" },
    { "name": "Rally Co-ordinator", "value": "#00695C", "icon": "fas fa-calendar-days" }
  ],

  "font": {
    "serif": { "family": "Source Serif 4", "fallback": ["Georgia", "\"Times New Roman\"", "serif"], "file": "source-serif-4", "weights": "600–700", "use": "Headings, the wordmark, figures in display" },
    "sans":  { "family": "Inter", "fallback": ["system-ui", "-apple-system", "BlinkMacSystemFont", "\"Segoe UI\"", "Roboto", "sans-serif"], "file": "inter", "weights": "400–700", "use": "Body text, UI, eyebrows, buttons" }
  },

  "type": {
    "display":  { "font": "serif", "weight": 700, "size": "clamp(34px, 3.4vw + 14px, 62px)", "line-height": 1.15, "tracking": "-0.01em" },
    "h2":       { "font": "serif", "weight": 700, "size": "clamp(26px, 2.2vw + 14px, 36px)", "line-height": 1.15, "tracking": "-0.01em" },
    "h3":       { "font": "serif", "weight": 600, "size": "20px", "line-height": 1.25, "tracking": "-0.005em" },
    "body":     { "font": "sans", "weight": 400, "size": "16px", "line-height": 1.6, "tracking": "0" },
    "small":    { "font": "sans", "weight": 400, "size": "14px", "line-height": 1.5, "tracking": "0" },
    "button":   { "font": "sans", "weight": 600, "size": "15px", "line-height": 1, "tracking": "0" },
    "eyebrow":  { "font": "sans", "weight": 600, "size": "12px", "line-height": 1, "tracking": "0.16em", "case": "uppercase" },
    "wordmark": { "font": "serif", "weight": 700, "tracking": "0.08em", "case": "uppercase" },
    "subline":  { "font": "sans", "weight": 600, "tracking": "0.17em", "case": "uppercase" }
  },

  "size": {
    "radius-control": "6px",
    "radius-card": "10px",
    "radius-pill": "999px",
    "header-height": "68px",
    "header-height-phone": "56px",
    "content-width": "1200px",
    "gutter": "24px",
    "eyebrow-rule": "28px"
  },

  "ornament": {
    "lining-out": { "colour": "{brand.brass}", "outer-alpha": 0.75, "gap": "4px", "inner-alpha": 0.4, "use": "1px brass at 75%, a 4px gap of the surface colour, then 1px brass at 40%" },
    "rule":       { "colour": "{brand.brass}", "alpha": 0.35, "use": "1px hairline under the header and heroes" },
    "card-shadow": "0 1px 2px rgba(30, 27, 22, 0.05), 0 6px 18px rgba(30, 27, 22, 0.05)",
    "photo-overlay": { "colour": "{brand.night-blue}", "centred": [0.82, 0.64], "use": "Night blue from 82% at the top to 64% at the bottom, for centred text over a photo" },
    "photo-overlay-left": { "colour": "{brand.night-blue}", "stops": [[0, 0.92], [0.42, 0.72], [0.75, 0.15]], "base": 0.55, "use": "Left-weighted, for text set left over a photo, with a 55% darkening along the bottom" }
  },

  "pairings": [
    ["scheme.light.text", "scheme.light.page", 4.5],
    ["scheme.light.text", "scheme.light.control", 4.5],
    ["scheme.light.muted", "scheme.light.page", 4.5],
    ["scheme.light.muted", "scheme.light.surface", 4.5],
    ["scheme.light.muted", "scheme.light.sunk", 4.5],
    ["scheme.light.muted", "scheme.light.control", 4.5],
    ["scheme.light.subtle", "scheme.light.page", 4.5],
    ["scheme.light.subtle", "scheme.light.surface", 4.5],
    ["scheme.light.read-title", "scheme.light.page", 4.5],
    ["scheme.light.read-title", "scheme.light.surface", 4.5],
    ["scheme.light.control-text", "scheme.light.control", 4.5],
    ["scheme.light.link", "scheme.light.page", 4.5],
    ["scheme.light.link", "scheme.light.sunk", 4.5],
    ["scheme.light.accent-text", "scheme.light.page", 4.5],
    ["scheme.light.accent-text", "scheme.light.surface", 4.5],
    ["scheme.light.accent-text", "scheme.light.sunk", 4.5],
    ["scheme.light.accent-text", "scheme.light.control", 4.5],
    ["scheme.light.header-text", "scheme.light.header", 4.5],
    ["brand.brass-light", "scheme.light.header", 4.5],
    ["scheme.dark.text", "scheme.dark.page", 4.5],
    ["scheme.dark.text", "scheme.dark.control", 4.5],
    ["scheme.dark.muted", "scheme.dark.page", 4.5],
    ["scheme.dark.muted", "scheme.dark.surface", 4.5],
    ["scheme.dark.muted", "scheme.dark.control", 4.5],
    ["scheme.dark.subtle", "scheme.dark.page", 4.5],
    ["scheme.dark.subtle", "scheme.dark.surface", 4.5],
    ["scheme.dark.read-title", "scheme.dark.page", 4.5],
    ["scheme.dark.read-title", "scheme.dark.surface", 4.5],
    ["scheme.dark.control-text", "scheme.dark.control", 4.5],
    ["scheme.dark.link", "scheme.dark.page", 4.5],
    ["scheme.dark.link", "scheme.dark.surface", 4.5],
    ["scheme.dark.accent-text", "scheme.dark.page", 4.5],
    ["scheme.dark.accent-text", "scheme.dark.surface", 4.5],
    ["scheme.dark.header-text", "scheme.dark.header", 4.5],
    ["brand.night-blue", "brand.brass", 4.5],
    ["brand.white", "brand.steam-blue", 4.5],
    ["brand.brass-light", "brand.steam-blue", 4.5],
    ["brand.brass-light", "brand.night-blue", 4.5],
    ["brand.white", "brand.crimson", 4.5]
  ]
}
