{"product_id":"animadverti-canvas-chore-jacket","title":"ANIMADVERTI Canvas Chore Jacket","description":"\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cstrong\u003eDescription (brand-voice lead + spec):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cblockquote class=\"ml-2 border-l-4 border-[hsl(var(--border-300)\/0.1)] pl-4 text-text-300\"\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003eThe heaviest thing we make, and the one you'll reach for most. A structured chore jacket cut from 470gsm cotton duck canvas — the kind of fabric that starts rigid, softens with wear, and takes on the shape of the person wearing it. The Animadverti mark sits in dark grey thread on the left chest, tonal against the black, the sort of detail you notice on someone else before you work out why.\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003eThree pockets, a clean collared cut that works open over a hoodie or buttoned to the throat, and honest YKK hardware throughout. Unlined, so it wears close and moves with you rather than bulking up. Built to be worn, creased, and worn again.\u003c\/p\u003e\n\u003c\/blockquote\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cstrong\u003eSpec bullets (keep verbatim below the paragraph):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"[li_\u0026amp;]:mb-0 [li_\u0026amp;]:mt-1 [li_\u0026amp;]:gap-1 [\u0026amp;:not(:last-child)_ul]:pb-1 [\u0026amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\"\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003e470gsm 100% cotton duck canvas — heavyweight, structured\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eRelaxed fit\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eCollared shirt-jacket styling\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eThree-pocket construction\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eUnlined\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eYKK shank buttons\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eTonal Animadverti embroidery, dark grey on [colour]\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cstrong\u003eCare:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul class=\"[li_\u0026amp;]:mb-0 [li_\u0026amp;]:mt-1 [li_\u0026amp;]:gap-1 [\u0026amp;:not(:last-child)_ul]:pb-1 [\u0026amp;:not(:last-child)_ol]:pb-1 list-disc flex flex-col gap-1 pl-8 mb-3\"\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eMachine wash at 30°C\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eDo not tumble dry\u003c\/li\u003e\n\u003cli class=\"font-claude-response-body whitespace-normal break-words pl-2\"\u003eDo not iron\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr class=\"border-border-200 border-t-0.5 my-3 mx-1.5\"\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cstrong\u003eSize Guide — garment measurements, laid flat (cm)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv class=\"overflow-x-auto w-full px-2 mb-6\"\u003e\n\u003ctable class=\"min-w-full border-collapse text-sm leading-[1.7] whitespace-normal\"\u003e\n\u003cthead class=\"text-left\"\u003e\n\u003ctr\u003e\n\u003cth scope=\"col\" class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\"\u003eSize\u003c\/th\u003e\n\u003cth scope=\"col\" class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\"\u003eHalf chest (A)\u003c\/th\u003e\n\u003cth scope=\"col\" class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\"\u003eFull chest (A × 2)\u003c\/th\u003e\n\u003cth scope=\"col\" class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\"\u003eBody length (B)\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003eS\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e57\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e114\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e70\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003eM\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e60\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e120\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e72.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003eL\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e63\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e126\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e75\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003eXL\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e66\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e132\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e77.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e2XL\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e69\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e138\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e80\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e3XL\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e72\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e144\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e82.5\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cem\u003eA = pit-to-pit across the chest, laid flat. B = high point of shoulder to hem. Figures from the AS Colour spec, in cm. Full chest is the half-chest doubled, for comparing against a jacket you already own.\u003c\/em\u003e\u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e \u003c\/p\u003e\n\u003cp class=\"font-claude-response-body break-words whitespace-normal\"\u003e\u003cem\u003e\u003cstrong\u003eFinding your fit.\u003c\/strong\u003e These are garment measurements, laid flat. The cut is relaxed — designed to layer over a hoodie or sweatshirt. If you're between sizes or plan to wear it over heavier layers, size up; for a cleaner line over a tee, take your usual size. The easiest check: lay a jacket you already like flat, measure across the chest and top-to-hem, and match it to the table.\u003c\/em\u003e\u003c\/p\u003e","brand":"Animadverti","offers":[{"title":"Black \/ X-Small","offer_id":56338602721620,"sku":"AS-5524-BLK-XS","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ Small","offer_id":56338602754388,"sku":"AS-5524-BLK-S","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ Medium","offer_id":56338602787156,"sku":"AS-5524-BLK-M","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ Large","offer_id":56338602819924,"sku":"AS-5524-BLK-L","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ X-Large","offer_id":56338602852692,"sku":"AS-5524-BLK-XL","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ 2X-Large","offer_id":56338602885460,"sku":"AS-5524-BLK-2XL","price":69.99,"currency_code":"GBP","in_stock":true},{"title":"Black \/ 3X-Large","offer_id":56338602918228,"sku":"AS-5524-BLK-3XL","price":69.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1048\/6474\/3764\/files\/work_jacket_001.png?v=1783164450","url":"https:\/\/animadverti.com\/products\/animadverti-canvas-chore-jacket","provider":"Animadverti","version":"1.0","type":"link"}