{
  "id": "ferro-brut-safety",
  "name": "Safety Notice",
  "theme": "ferro-brut",
  "category": "Marketing",
  "description": "A safety record page that refuses to be a brochure: one enormous number, the incidents that produced it, and what changed after each one.",
  "layout": "A single 220px-tall number band across the full width, then a two-column split where the left is a fixed statement and the right is a ruled list of incidents and their fixes.",
  "modules": [
    {
      "key": "number",
      "name": "Days figure",
      "html": "\n<div class=\"nb\"><b>412</b><span>days since a reportable incident</span><span class=\"sub\">Previous best: 388 · Recorded across all 41 crews</span></div>"
    },
    {
      "key": "statement",
      "name": "Statement",
      "html": "\n<div class=\"st\"><h2>We publish the bad ones too.</h2>\n<p>Every RIDDOR-reportable incident in the last six years is listed here with what we changed afterwards. If a contractor will not show you this list, ask why.</p>\n<p class=\"sig\">R. Idowu · Head of Safety</p></div>"
    },
    {
      "key": "incidents",
      "name": "Incident list",
      "html": "\n<ol class=\"in\">\n  <li><span class=\"d\">14 Jun 2025</span><b>Fall from height, 2.4m</b><p>Edge protection removed for a delivery and not reinstated. Now: no delivery is booked without a named person responsible for reinstatement, checked at the gate.</p></li>\n  <li><span class=\"d\">02 Nov 2024</span><b>Struck by swinging load</b><p>Tag line not used on a long steel section. Now: tag lines are mandatory on any lift over 3m, and the lift plan will not print without one.</p></li>\n  <li><span class=\"d\">19 Mar 2024</span><b>Hand injury, rebar</b><p>Cap missing on a projecting bar. Now: capping is checked at every crew handover, not once a shift.</p></li>\n</ol>"
    }
  ],
  "moduleCount": 3,
  "reorderable": false,
  "meta": {
    "id": "ferro-brut-safety",
    "model": "Claude Opus 5",
    "author": "Claude Code",
    "createdAt": "2026-09-01T19:43:16+09:00",
    "updatedAt": "2026-09-01T19:43:16+09:00",
    "version": "1.0.0",
    "isNew": false
  },
  "link": "/api/v1/designs/ferro-brut-safety.json",
  "structure": "A single 220px-tall number band across the full width, then a two-column split where the left is a fixed statement and the right is a ruled list of incidents and their fixes.",
  "html": "<div class=\"dz dz-ferro-brut-safety\" data-design=\"ferro-brut-safety\" data-theme=\"ferro-brut\">\n<section class=\"dz-mod\" data-mod=\"number\" aria-label=\"Days figure\">\n<div class=\"nb\"><b>412</b><span>days since a reportable incident</span><span class=\"sub\">Previous best: 388 · Recorded across all 41 crews</span></div></section><section class=\"dz-mod\" data-mod=\"statement\" aria-label=\"Statement\">\n<div class=\"st\"><h2>We publish the bad ones too.</h2>\n<p>Every RIDDOR-reportable incident in the last six years is listed here with what we changed afterwards. If a contractor will not show you this list, ask why.</p>\n<p class=\"sig\">R. Idowu · Head of Safety</p></div></section><section class=\"dz-mod\" data-mod=\"incidents\" aria-label=\"Incident list\">\n<ol class=\"in\">\n  <li><span class=\"d\">14 Jun 2025</span><b>Fall from height, 2.4m</b><p>Edge protection removed for a delivery and not reinstated. Now: no delivery is booked without a named person responsible for reinstatement, checked at the gate.</p></li>\n  <li><span class=\"d\">02 Nov 2024</span><b>Struck by swinging load</b><p>Tag line not used on a long steel section. Now: tag lines are mandatory on any lift over 3m, and the lift plan will not print without one.</p></li>\n  <li><span class=\"d\">19 Mar 2024</span><b>Hand injury, rebar</b><p>Cap missing on a projecting bar. Now: capping is checked at every crew handover, not once a shift.</p></li>\n</ol></section>\n</div>",
  "css": "\n.dz-ferro-brut-safety { background: var(--background); color: var(--foreground); font-family: var(--pv-body); display: grid; grid-template-columns: 380px minmax(0, 1fr); }\n.dz-ferro-brut-safety .nb { grid-column: 1 / -1; background: var(--primary); color: var(--primary-foreground); border: 3px solid var(--foreground); border-radius: 0; border-width: 0 0 3px; padding: 26px 24px; display: flex; flex-direction: column; gap: 2px; }\n.dz-ferro-brut-safety .nb b { font-family: var(--pv-mono); font-size: 110px; font-weight: 700; line-height: .88; letter-spacing: -.04em; }\n.dz-ferro-brut-safety .nb span { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .01em; font-weight: 400; font-size: 24px; }\n.dz-ferro-brut-safety .sub { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .01em; font-weight: 400; font-size: 14px !important; opacity: .8; }\n.dz-ferro-brut-safety .st { border-right: 3px solid var(--foreground); padding: 24px 22px; }\n.dz-ferro-brut-safety .st h2 { font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .01em; font-weight: 400; font-size: 34px; line-height: 1.02; margin: 0 0 14px; }\n.dz-ferro-brut-safety .st p { font-size: 15px; line-height: 1.5; margin: 0 0 12px; }\n.dz-ferro-brut-safety .sig { font-family: var(--pv-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted-foreground); }\n.dz-ferro-brut-safety .in { list-style: none; margin: 0; padding: 0; }\n.dz-ferro-brut-safety .in li { padding: 18px 22px; border-bottom: var(--pv-bw) solid var(--border); }\n.dz-ferro-brut-safety .d { font-family: var(--pv-mono); font-size: 12px; color: var(--accent); }\n.dz-ferro-brut-safety .in b { display: block; font-family: var(--pv-display); text-transform: uppercase; letter-spacing: .01em; font-weight: 400; font-size: 24px; margin: 5px 0 7px; }\n.dz-ferro-brut-safety .in p { font-size: 14.5px; line-height: 1.5; margin: 0; max-width: 62ch; }\n@media (prefers-reduced-motion: reduce) { .dz-ferro-brut-safety *, .dz-ferro-brut-safety *::before, .dz-ferro-brut-safety *::after { transition-duration: 1ms !important; animation-duration: 1ms !important; } }",
  "requiredTheme": "/api/v1/themes/ferro-brut.json",
  "googleFontsHref": "https://fonts.googleapis.com/css2?family=Bebas+Neue:wght@400;500;600;700&family=Roboto+Condensed:wght@400;500;600;700&family=Roboto+Mono:wght@400;500;600;700&display=swap"
}