{
 "generated": "2026-11-12T16:44:45.355Z",
 "rules": [
  {
   "id": "palette",
   "text": "Text and shapes use brand colours only."
  },
  {
   "id": "fonts",
   "text": "Headline in Instrument Serif, everything else in Hanken Grotesk, both actually loaded."
  },
  {
   "id": "margin",
   "text": "Logo and text stay 5% of the short side away from every edge."
  },
  {
   "id": "clearspace",
   "text": "Nothing comes closer to the logo than the height of the logo."
  },
  {
   "id": "minsize",
   "text": "No text smaller than 2.3% of the short side."
  },
  {
   "id": "contrast",
   "text": "Text against the picture behind it: at least 4.5 to 1, headline included. Measured on the rendered pixels."
  },
  {
   "id": "fit",
   "text": "Headline on three lines at most, no text cut off, no blocks overlapping."
  },
  {
   "id": "accent",
   "text": "The signal colour appears exactly once."
  },
  {
   "id": "product",
   "text": "The product is actually in the picture: with the photo removed, at least 12% of the banner changes visibly."
  }
 ],
 "banners": [
  {
   "file": "square-steel-blue.jpg",
   "format": "square",
   "w": 1080,
   "h": 1080,
   "variant": "steel-blue",
   "passed": true,
   "failed": [],
   "attempts": 2,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [
      "contrast"
     ],
     "ratios": {
      "logo": 16.9,
      "head": 4.3,
      "sub": 10.4,
      "price": 12.5
     },
     "lines": 2,
     "productShare": 48
    },
    {
     "scrim": 0.65,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 6.6,
      "sub": 14,
      "price": 15.7
     },
     "lines": 2,
     "productShare": 39
    }
   ]
  },
  {
   "file": "square-gold-green.jpg",
   "format": "square",
   "w": 1080,
   "h": 1080,
   "variant": "gold-green",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 5.5,
      "sub": 15.9,
      "price": 17.2
     },
     "lines": 2,
     "productShare": 40
    }
   ]
  },
  {
   "file": "square-black-salmon.jpg",
   "format": "square",
   "w": 1080,
   "h": 1080,
   "variant": "black-salmon",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 15.3,
      "sub": 16,
      "price": 17.2
     },
     "lines": 2,
     "productShare": 32
    }
   ]
  },
  {
   "file": "square-dial-macro.jpg",
   "format": "square",
   "w": 1080,
   "h": 1080,
   "variant": "dial-macro",
   "passed": true,
   "failed": [],
   "attempts": 2,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [
      "contrast"
     ],
     "ratios": {
      "logo": 4.5,
      "head": 9.9,
      "sub": 12.3,
      "price": 15.3
     },
     "lines": 2,
     "productShare": 96
    },
    {
     "scrim": 0.65,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 5.1,
      "head": 11.6,
      "sub": 14.9,
      "price": 16.6
     },
     "lines": 2,
     "productShare": 82
    }
   ]
  },
  {
   "file": "portrait-steel-blue.jpg",
   "format": "portrait",
   "w": 1080,
   "h": 1350,
   "variant": "steel-blue",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17,
      "head": 8.1,
      "sub": 13.8,
      "price": 16.3
     },
     "lines": 2,
     "productShare": 48
    }
   ]
  },
  {
   "file": "portrait-gold-green.jpg",
   "format": "portrait",
   "w": 1080,
   "h": 1350,
   "variant": "gold-green",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17,
      "head": 15.1,
      "sub": 13.8,
      "price": 16.3
     },
     "lines": 2,
     "productShare": 43
    }
   ]
  },
  {
   "file": "portrait-black-salmon.jpg",
   "format": "portrait",
   "w": 1080,
   "h": 1350,
   "variant": "black-salmon",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17,
      "head": 15.5,
      "sub": 14,
      "price": 16.3
     },
     "lines": 2,
     "productShare": 36
    }
   ]
  },
  {
   "file": "portrait-dial-macro.jpg",
   "format": "portrait",
   "w": 1080,
   "h": 1350,
   "variant": "dial-macro",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 15,
      "head": 10.7,
      "sub": 8.6,
      "price": 15.5
     },
     "lines": 2,
     "productShare": 90
    }
   ]
  },
  {
   "file": "story-steel-blue.jpg",
   "format": "story",
   "w": 1080,
   "h": 1920,
   "variant": "steel-blue",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 7.7,
      "sub": 14.6,
      "price": 16
     },
     "lines": 2,
     "productShare": 54
    }
   ]
  },
  {
   "file": "story-gold-green.jpg",
   "format": "story",
   "w": 1080,
   "h": 1920,
   "variant": "gold-green",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 15,
      "sub": 15.6,
      "price": 17.3
     },
     "lines": 2,
     "productShare": 48
    }
   ]
  },
  {
   "file": "story-black-salmon.jpg",
   "format": "story",
   "w": 1080,
   "h": 1920,
   "variant": "black-salmon",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 16.9,
      "head": 15.4,
      "sub": 15.7,
      "price": 17.3
     },
     "lines": 2,
     "productShare": 41
    }
   ]
  },
  {
   "file": "story-dial-macro.jpg",
   "format": "story",
   "w": 1080,
   "h": 1920,
   "variant": "dial-macro",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 9.8,
      "head": 11.9,
      "sub": 7.1,
      "price": 15.1
     },
     "lines": 2,
     "productShare": 90
    }
   ]
  },
  {
   "file": "landscape-steel-blue.jpg",
   "format": "landscape",
   "w": 1200,
   "h": 628,
   "variant": "steel-blue",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 1,
     "productShare": 24
    }
   ]
  },
  {
   "file": "landscape-gold-green.jpg",
   "format": "landscape",
   "w": 1200,
   "h": 628,
   "variant": "gold-green",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 2,
     "productShare": 23
    }
   ]
  },
  {
   "file": "landscape-black-salmon.jpg",
   "format": "landscape",
   "w": 1200,
   "h": 628,
   "variant": "black-salmon",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 2,
     "productShare": 19
    }
   ]
  },
  {
   "file": "landscape-dial-macro.jpg",
   "format": "landscape",
   "w": 1200,
   "h": 628,
   "variant": "dial-macro",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 2,
     "productShare": 47
    }
   ]
  },
  {
   "file": "strip-steel-blue.jpg",
   "format": "strip",
   "w": 1600,
   "h": 500,
   "variant": "steel-blue",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 1,
     "productShare": 18
    }
   ]
  },
  {
   "file": "strip-gold-green.jpg",
   "format": "strip",
   "w": 1600,
   "h": 500,
   "variant": "gold-green",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 1,
     "productShare": 17
    }
   ]
  },
  {
   "file": "strip-black-salmon.jpg",
   "format": "strip",
   "w": 1600,
   "h": 500,
   "variant": "black-salmon",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 1,
     "productShare": 14
    }
   ]
  },
  {
   "file": "strip-dial-macro.jpg",
   "format": "strip",
   "w": 1600,
   "h": 500,
   "variant": "dial-macro",
   "passed": true,
   "failed": [],
   "attempts": 1,
   "tries": [
    {
     "scrim": 0.5,
     "hs": 1,
     "failed": [],
     "ratios": {
      "logo": 17.3,
      "head": 17.3,
      "sub": 17.3,
      "price": 17.3
     },
     "lines": 1,
     "productShare": 34
    }
   ]
  }
 ]
}