{
  "$description": "Brand: GOV.UK Design System (govuk@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette govuk@1.0.0",
      "text": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "GOV.UK Black — primary text ink on every page."
      },
      "secondary-text": {
        "$value": "#484949",
        "$type": "color",
        "$description": "Secondary text and hints; quiet metadata."
      },
      "link": {
        "$value": "#1A65A6",
        "$type": "color",
        "$description": "Default link colour on the GOV.UK template background."
      },
      "link-hover": {
        "$value": "#0F385C",
        "$type": "color",
        "$description": "Hover state for links."
      },
      "link-visited": {
        "$value": "#54319F",
        "$type": "color",
        "$description": "Visited link state — sourced from web-palette Purple."
      },
      "link-active": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "Active link state — GOV.UK Black for highest emphasis."
      },
      "border": {
        "$value": "#CECECE",
        "$type": "color",
        "$description": "Default border on quiet dividers and cards."
      },
      "input-border": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "Form-control border — full-strength GOV.UK Black."
      },
      "hover": {
        "$value": "#CECECE",
        "$type": "color",
        "$description": "Hover surface for interactive rows and list items."
      },
      "focus": {
        "$value": "#FFDD00",
        "$type": "color",
        "$description": "GOV.UK Yellow focus indicator — the signature accessibility affordance."
      },
      "focus-text": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "Text ink rendered on the yellow focus background."
      },
      "error": {
        "$value": "#CA3535",
        "$type": "color",
        "$description": "Validation and error messaging colour."
      },
      "success": {
        "$value": "#0F7A52",
        "$type": "color",
        "$description": "Success / confirmation colour."
      },
      "brand": {
        "$value": "#1D70B8",
        "$type": "color",
        "$description": "GOV.UK Blue — the system's brand link / primary blue."
      },
      "body-background": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Default page background — white."
      },
      "template-background": {
        "$value": "#F4F8FB",
        "$type": "color",
        "$description": "The pale-blue GOV.UK template background."
      },
      "surface-background": {
        "$value": "#F4F8FB",
        "$type": "color",
        "$description": "Default surface background for cards and panels."
      },
      "surface-text": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "Default text colour on a surface panel."
      },
      "surface-border": {
        "$value": "#8EB8DC",
        "$type": "color",
        "$description": "Default border colour on a surface panel."
      },
      "web-blue": {
        "$value": "#1D70B8",
        "$type": "color",
        "$description": "Web-palette Blue — identical to brand."
      },
      "web-green": {
        "$value": "#0F7A52",
        "$type": "color",
        "$description": "Web-palette Green — identical to success."
      },
      "web-teal": {
        "$value": "#158187",
        "$type": "color",
        "$description": "Web-palette Teal."
      },
      "web-purple": {
        "$value": "#54319F",
        "$type": "color",
        "$description": "Web-palette Purple — identical to link-visited."
      },
      "web-magenta": {
        "$value": "#CA357C",
        "$type": "color",
        "$description": "Web-palette Magenta."
      },
      "web-red": {
        "$value": "#CA3535",
        "$type": "color",
        "$description": "Web-palette Red — identical to error."
      },
      "web-orange": {
        "$value": "#F47738",
        "$type": "color",
        "$description": "Web-palette Orange."
      },
      "web-yellow": {
        "$value": "#FFDD00",
        "$type": "color",
        "$description": "Web-palette Yellow — identical to focus."
      },
      "web-brown": {
        "$value": "#99704A",
        "$type": "color",
        "$description": "Web-palette Brown."
      },
      "web-black": {
        "$value": "#0B0C0C",
        "$type": "color",
        "$description": "Web-palette Black — identical to text."
      },
      "web-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Web-palette White — identical to body-background."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "Roboto Mono",
          "SFMono-Regular",
          "Menlo",
          "Consolas",
          "Liberation Mono",
          "Courier New",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → Roboto Mono (roboto-mono@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "roles.colors.accent",
        "severity": "error",
        "rationale": "GOV.UK Yellow (#FFDD00) is the documented focus indicator across every central government service surface, paired with GOV.UK Black ink and an accompanying focus-bottom border. Substituting the brand blue or any other hue for the focus state breaks visual parity with the rest of GOV.UK and fails the system's keyboard-accessibility contract (WCAG 2.1 Success Criterion 2.4.7).\n",
        "allowed": [
          "focus"
        ],
        "forbidden": [
          "brand",
          "error",
          "success",
          "web-orange",
          "web-purple"
        ]
      },
      {
        "type": "colorChoice",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "GOV.UK Blue (#1D70B8) is the documented link / brand colour. The other \"web palette\" hues exist for chart, illustration, and category-distinction use and MUST NOT stand in for the primary link role — users navigating GOV.UK rely on blue-means-link recognition built up across thousands of service pages.\n",
        "allowed": [
          "brand",
          "link"
        ],
        "forbidden": [
          "web-magenta",
          "web-purple",
          "web-orange",
          "web-teal"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "GOV.UK targets WCAG 2.1 Level AA at minimum across every central-government service, in line with the Public Sector Bodies Accessibility Regulations 2018. GOV.UK Black (#0B0C0C) on white clears AA at ~19:1; on the pale-blue template (#F4F8FB) it clears AA at ~18:1.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 2.4.7 (Focus Visible) — Level AA. The signature GOV.UK Yellow focus state exists specifically to satisfy this criterion. Any GOV.UK-styled consumer that suppresses or substitutes focus indicators fails the regulation that drove the focus state's existence.\n",
        "standard": "WCAG-AA",
        "criterion": "2.4.7"
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "The GOV.UK logotype is Crown copyright and its use is restricted to UK central-government services. The mark MUST render in its supplied form (black wordmark on a white field, or white on the GOV.UK Black header bar) with no decorative treatment. Non-government consumers of this brand atom should substitute their own identifier rather than alter the GOV.UK mark.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "gradient-fill",
          "outlined",
          "tilted",
          "on-busy-photo"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "GDS Transport, the live GOV.UK heading face, ships in two weights only (Light/Regular and Bold) and the published GOV.UK type ramp uses Regular and Bold exclusively. Constraining the substitute (Inter) to the same two weights preserves the typographic restraint of the live service surface.\n",
        "allowed": [
          "400",
          "700"
        ]
      },
      {
        "type": "fontPairing",
        "target": "typography.display",
        "severity": "error",
        "rationale": "GOV.UK's published type scale steps from 16px body up through 19px lede, 24px small heading, 36px medium heading, and 48px+ display heading — every step preserving at least a 1.5× ratio against the 16px body anchor. Display-at-body-size collapses the hierarchy that service-page scannability depends on.\n",
        "requires": "prose",
        "minSizeRatio": 1.5
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.error",
        "severity": "error",
        "rationale": "GOV.UK Red (#CA3535) is reserved for the error-summary and validation patterns. Reusing it for confirmation inverts the semantic contract that users navigating a GOV.UK form rely on — the red border / red link inside an error summary is the documented signal that something needs the user's attention before submission.\n",
        "allowedContexts": [
          "error-state",
          "destructive-action",
          "validation-failure"
        ],
        "forbiddenContexts": [
          "confirmation",
          "completion",
          "data-viz-positive"
        ]
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "GOV.UK Blue reads cleanly against the white body or pale template background; placing it adjacent to the other web-palette hues at equal weight produces chromatic competition that fights GOV.UK's restrained, hierarchy- first voice. The web-palette colours are for charts and illustrations, where they sit inside a frame and are legibly distinct without competing with brand blue.\n",
        "pairsWith": [
          "body-background",
          "template-background",
          "text"
        ],
        "doesNotPairWith": [
          "web-purple",
          "web-magenta",
          "web-teal",
          "web-orange"
        ]
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://design-system.service.gov.uk/styles/colour/",
      "license": "MIT (code) / Open Government Licence v3.0 (content)",
      "attribution": "GOV.UK Design System, maintained by the Government Digital Service (Cabinet Office, Crown copyright). govuk-frontend code MIT-licensed; design-system guidance content under the Open Government Licence v3.0. \"GOV.UK,\" the GOV.UK logotype, and GDS Transport are reserved — GDS Transport in particular is a proprietary GDS-commissioned typeface and is NOT publicly redistributable. Use of the GOV.UK name and logotype is restricted to UK central-government services.\n",
      "importedDate": "2026-05-19",
      "notes": "Typography substitution: GDS Transport is proprietary and is not present in this catalogue's fonts/ directory. This brand references inter@1 as the open-source heading/body face and roboto-mono@1 for code. Consumers shipping an actual UK central-government service MUST license and use GDS Transport via govuk-frontend's distribution; this atom serves consumers rendering GOV.UK-styled comparators, mock-ups, or third-party documentation where Transport licensing does not apply.\n"
    },
    "com.brand-atoms.references": {
      "palette": "govuk@1.0.0",
      "fonts": {
        "heading": "inter@1.0.0",
        "body": "inter@1.0.0",
        "mono": "roboto-mono@1.0.0"
      }
    }
  }
}
