{"title":"Home page","description":null,"products":[{"product_id":"protect-my-peace-tee-grumpy-dragon","title":"Protect My Peace Tee | Grumpy Dragon","description":"\u003cp\u003eGrix has exactly one item on his agenda today, and it's guarding the small green flame of his inner calm. He would like you to know that \"no\" is a complete sentence, and he's been saying it since — well, see the badge. Est. Grumpy.\u003c\/p\u003e\n\u003cp\u003eThe Protect My Peace tee is for anyone whose peace has a security detail: retro badge, smug dragon, zero apologies.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe shirt itself (the boring-but-important bit):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eBella + Canvas 3001 — soft, retail-fit, side-seamed unisex crewneck\u003c\/li\u003e\n\u003cli\u003e100% Airlume combed and ring-spun cotton (solid colors)\u003c\/li\u003e\n\u003cli\u003ePrinted to order with DTG, so no warehouse of sad unsold shirts\u003c\/li\u003e\n\u003cli\u003eTrue to size. Grix sizes up anyway, but he naps in his.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSize guide\u003cbr\u003e\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\"\u003e\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\"\u003eXS\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\"\u003eS\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\"\u003eM\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\"\u003eL\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\"\u003eXL\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\"\u003e2XL\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\"\u003e3XL\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\"\u003e\u003cstrong\u003eA) Length\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e68.6 cm \/ 27\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e73.7 cm \/ 29\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e76.2 cm \/ 30\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e78.7 cm \/ 31\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e81.3 cm \/ 32\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e83.8 cm \/ 33\"\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\"\u003e\u003cstrong\u003eB) Half Chest (laid flat)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e41.9 cm \/ 16.5\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e45.7 cm \/ 18\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e50.8 cm \/ 20\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e55.9 cm \/ 22\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e61 cm \/ 24\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e66 cm \/ 26\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003eLength: highest point of shoulder to bottom hem. \u003cbr\u003eHalf Chest: lay a shirt you own flat, measure armpit to armpit, compare. Measurements may vary ±2.5 cm — it's fabric, not math.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCare Instructions\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eGeneral\u003c\/td\u003e\n\u003ctd\u003eSoft enough for a rest day, durable enough for the rest of them. Grix insists you take care of it — he doesn't hand out his face to just anyone.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWash\u003c\/td\u003e\n\u003ctd\u003eMaintain the tee's quality by washing it in cold water, which helps preserve the fabric and the vibrancy of the print\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDry\u003c\/td\u003e\n\u003ctd\u003eTumble dry on a low setting or hang dry to retain the shape and size of the tee post-wash\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStore\u003c\/td\u003e\n\u003ctd\u003eStore in a cool, dry place away from direct sunlight to maintain the integrity of the fabric and colors.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Grumpy Dragon","offers":[{"title":"White \/ M","offer_id":43779380445302,"sku":"c85dbce5-6883-48f8-ab60-9547f2cea710","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":43779380478070,"sku":"3830750b-6f70-4b1e-8b91-32317b396567","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":43779380510838,"sku":"7bf4c84d-128e-4ca8-9fd3-63407bcc97da","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":43779380412534,"sku":"0585aab0-b067-47c9-8559-92661c58a657","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":43779380543606,"sku":"426df6af-e7e0-49d5-bb06-05da0d4c79e2","price":32.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XS","offer_id":43779380379766,"sku":"d427b678-f16b-4ada-9590-93797e7fc8dd","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":43779380576374,"sku":"45f4d982-9e66-489c-8720-6e80a821a13d","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ M","offer_id":43779380674678,"sku":"780b059f-2077-41f5-ba16-2fe7a0f2c6c6","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ L","offer_id":43779380707446,"sku":"adf1ffba-1307-4451-a106-833c788fa660","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XL","offer_id":43779380740214,"sku":"773919e2-17a2-4e12-b20f-b4f061f0edd7","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ S","offer_id":43779380641910,"sku":"ef3f5512-8eea-4bf6-b70c-096c77ec2231","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 2XL","offer_id":43779380772982,"sku":"f5bd9f47-3455-43a9-bfec-b57559fcf346","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XS","offer_id":43779380609142,"sku":"7c0a648a-317d-43eb-b071-2cdf1fb515a3","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 3XL","offer_id":43779380805750,"sku":"9b8bd491-dffb-451a-9952-0e10c9381740","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ M","offer_id":43779380904054,"sku":"f60b57b0-2202-4a24-a4e3-30a8c66fa5d6","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ L","offer_id":43779380936822,"sku":"55dcb40a-1337-4cea-a4d8-d97c7084494c","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ XL","offer_id":43779380969590,"sku":"e855e3e9-4d8e-490d-9ba7-ed05cb46198d","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ S","offer_id":43779380871286,"sku":"2bc29cdb-cee1-439e-940e-ee693d76bc9b","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ 2XL","offer_id":43779381002358,"sku":"e79be06b-b56c-4159-8f88-9f2da96ee7fb","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ XS","offer_id":43779380838518,"sku":"4f01ce51-36b8-4076-b792-da83d468dfe2","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Athletic Heather \/ 3XL","offer_id":43779381035126,"sku":"fe3e1c77-34cd-4c7d-9384-d3dd169478a0","price":35.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/6030\/8598\/files\/f012a1e2-557f-433f-9fda-08c4faa529ff.webp?v=1783254478"},{"product_id":"self-care-tour-tee-grumpy-dragon","title":"Self Care Tour Tee | Grumpy Dragon","description":"\u003cp\u003eGrix went on tour. The venues were: his blanket, his hoard, and one very firm \"no.\"\u003c\/p\u003e\n\u003cp\u003eThe Self Care Tour tee celebrates the three stops that matter — boundaries, rest, and saying no — featuring everyone's favorite grumpy dragon mid-eye-roll.\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe shirt itself (the boring-but-important bit):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eBella + Canvas 3001 — soft, retail-fit, side-seamed unisex crewneck\u003c\/li\u003e\n\u003cli\u003e100% Airlume combed and ring-spun cotton (solid colors)\u003c\/li\u003e\n\u003cli\u003ePrinted to order with DTG, so no warehouse of sad unsold shirts\u003c\/li\u003e\n\u003cli\u003eTrue to size. Grix sizes up anyway, but he naps in his.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSize guide\u003cbr\u003e\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 class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eXS\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eS\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eM\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eXL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e2XL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e3XL\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\"\u003e\u003cstrong\u003eA) Length\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e68.6 cm \/ 27\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e73.7 cm \/ 29\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e76.2 cm \/ 30\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e78.7 cm \/ 31\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e81.3 cm \/ 32\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e83.8 cm \/ 33\"\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\"\u003e\u003cstrong\u003eB) Half Chest (laid flat)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e41.9 cm \/ 16.5\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e45.7 cm \/ 18\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e50.8 cm \/ 20\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e55.9 cm \/ 22\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e61 cm \/ 24\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e66 cm \/ 26\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003eLength: highest point of shoulder to bottom hem. \u003cbr\u003eHalf Chest: lay a shirt you own flat, measure armpit to armpit, compare. Measurements may vary ±2.5 cm — it's fabric, not math.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCare Instructions\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eGeneral\u003c\/td\u003e\n\u003ctd\u003eSoft enough for a rest day, durable enough for the rest of them. Grix insists you take care of it — he doesn't hand out his face to just anyone.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWash\u003c\/td\u003e\n\u003ctd\u003eMaintain the tee's quality by washing it in cold water, which helps preserve the fabric and the vibrancy of the print\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDry\u003c\/td\u003e\n\u003ctd\u003eTumble dry on a low setting or hang dry to retain the shape and size of the tee post-wash\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStore\u003c\/td\u003e\n\u003ctd\u003eStore in a cool, dry place away from direct sunlight to maintain the integrity of the fabric and colors.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Grumpy Dragon","offers":[{"title":"White \/ M","offer_id":43782588072054,"sku":"0d829070-4cd6-416d-a580-48752588189c","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":43782588104822,"sku":"43622005-7b06-47c1-aed1-ff04c84c6378","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":43782588137590,"sku":"9f50c39a-63a7-4cd1-b608-8fa87fec4f33","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":43782588039286,"sku":"5c20f6aa-a7d8-42b2-bbbc-8e356573ba9a","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":43782588170358,"sku":"8d430c83-d3b3-494a-a4f6-e93b160c3064","price":32.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XS","offer_id":43782588006518,"sku":"030cab09-54a9-4992-8da8-9f8316158bab","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":43782588203126,"sku":"23551e07-cbf5-44cb-8468-21819126e3c0","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ M","offer_id":43782588301430,"sku":"a5c2c174-c383-457b-97e6-13aaf5a7ac49","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ L","offer_id":43782588334198,"sku":"4e9fbed3-7d05-4291-aae3-13dca7167807","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XL","offer_id":43782588366966,"sku":"cfb11277-a6a6-45aa-8cd8-7b85a71dbae4","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ S","offer_id":43782588268662,"sku":"f6c4b885-050d-4874-946e-e1c943b44e95","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 2XL","offer_id":43782588399734,"sku":"7ec7e01a-2b1c-4f02-a7a8-d7d665d998fc","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ XS","offer_id":43782588235894,"sku":"c04952a9-408f-42a5-a1f9-90ba2dbd267d","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Pink \/ 3XL","offer_id":43782588432502,"sku":"61f455ba-fee2-44d3-b70f-a77fedcd579a","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ M","offer_id":43782588530806,"sku":"4312b8c8-f552-4fbe-870e-20e82c59b92a","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ L","offer_id":43782588563574,"sku":"39e237e7-40e2-4cc9-8d29-2593475c5509","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XL","offer_id":43782588596342,"sku":"f20d36f5-2b88-4afd-9249-3dfd2fd45ebb","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ S","offer_id":43782588498038,"sku":"25a71a6a-7a43-4d1a-82eb-cff92dc64688","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 2XL","offer_id":43782588629110,"sku":"1b4ea099-8e63-44f4-a241-576f24bba454","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XS","offer_id":43782588465270,"sku":"be0511a5-e9b8-431a-b5da-4455fd1fc28e","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 3XL","offer_id":43782588661878,"sku":"7c069256-cf49-47b0-b811-6380a699e207","price":35.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/6030\/8598\/files\/36cc8b5d-92ba-49b9-b986-31c8d145811b.png?v=1783312413"},{"product_id":"its-okay-to-not-be-okay-tee-grumpy-dragon","title":"It's Okay To Not Be Okay Tee | Grumpy Dragon","description":"\u003cp\u003eSome days the hoard goes unguarded. The blanket wins. That's allowed.\u003c\/p\u003e\n\u003cp\u003eThis is Grix at his least defended — curled up, eyes shut, not performing being fine for anybody. Minimalist line art, one quiet reminder: \u003cem\u003eit's okay to not be okay.\u003c\/em\u003e He'd tell you himself, but he's asleep.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe shirt itself (the boring-but-important bit):\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eBella + Canvas 3001 — soft, retail-fit, side-seamed unisex crewneck\u003c\/li\u003e\n\u003cli\u003e100% Airlume combed and ring-spun cotton (solid colors)\u003c\/li\u003e\n\u003cli\u003ePrinted to order with DTG, so no warehouse of sad unsold shirts\u003c\/li\u003e\n\u003cli\u003eTrue to size. Grix sizes up anyway, but he naps in his.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSize guide\u003cbr\u003e\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 class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eXS\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eS\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eM\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003eXL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e2XL\u003c\/th\u003e\n\u003cth class=\"text-text-100 border-b-0.5 border-[hsl(var(--border-300)\/0.6)] py-2 pr-4 align-top font-bold\" scope=\"col\"\u003e3XL\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\"\u003e\u003cstrong\u003eA) Length\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e68.6 cm \/ 27\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e73.7 cm \/ 29\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e76.2 cm \/ 30\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e78.7 cm \/ 31\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e81.3 cm \/ 32\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e83.8 cm \/ 33\"\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\"\u003e\u003cstrong\u003eB) Half Chest (laid flat)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e41.9 cm \/ 16.5\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e45.7 cm \/ 18\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e50.8 cm \/ 20\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e55.9 cm \/ 22\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e61 cm \/ 24\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e66 cm \/ 26\"\u003c\/td\u003e\n\u003ctd class=\"border-b-0.5 border-[hsl(var(--border-300)\/0.3)] py-2 pr-4 align-top\"\u003e71.1 cm \/ 28\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003eLength: highest point of shoulder to bottom hem. \u003cbr\u003eHalf Chest: lay a shirt you own flat, measure armpit to armpit, compare. Measurements may vary ±2.5 cm — it's fabric, not math.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eCare Instructions\u003c\/strong\u003e\u003c\/p\u003e\n\u003ctable\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eGeneral\u003c\/td\u003e\n\u003ctd\u003eSoft enough for a rest day, durable enough for the rest of them. Grix insists you take care of it — he doesn't hand out his face to just anyone.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWash\u003c\/td\u003e\n\u003ctd\u003eMaintain the tee's quality by washing it in cold water, which helps preserve the fabric and the vibrancy of the print\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDry\u003c\/td\u003e\n\u003ctd\u003eTumble dry on a low setting or hang dry to retain the shape and size of the tee post-wash\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStore\u003c\/td\u003e\n\u003ctd\u003eStore in a cool, dry place away from direct sunlight to maintain the integrity of the fabric and colors.\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Grumpy Dragon","offers":[{"title":"White \/ M","offer_id":43782750437494,"sku":"f093ec85-ab4f-42c3-9c9f-875d1e8e249d","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ L","offer_id":43782750470262,"sku":"1786ca48-e04c-40c8-ad37-ddcb142768c8","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XL","offer_id":43782750503030,"sku":"0bee5cd4-3b8e-4f28-b40e-98aef31b835f","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ S","offer_id":43782750404726,"sku":"2aaf59e7-c5a4-444b-aba2-0af01e71a72a","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 2XL","offer_id":43782750535798,"sku":"c83086d5-6208-4ff0-8a17-c6b184a0cead","price":32.99,"currency_code":"USD","in_stock":true},{"title":"White \/ XS","offer_id":43782750371958,"sku":"82cb8af7-5817-4b56-b2ff-e9f8ae9e7a3f","price":29.99,"currency_code":"USD","in_stock":true},{"title":"White \/ 3XL","offer_id":43782750568566,"sku":"7487f0fb-65d0-46dc-a9ef-25bf80d94fd2","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ M","offer_id":43782750666870,"sku":"73b15be2-1b42-4bd0-b6fd-6fcba59be349","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ L","offer_id":43782750699638,"sku":"c9f0e06d-63d0-41ad-b7e3-5af20a21cd9e","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XL","offer_id":43782750732406,"sku":"2bf99a0d-8f35-4871-af0b-680c0ca71761","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ S","offer_id":43782750634102,"sku":"b05c4d5b-e672-4396-b9c7-2242e2999a97","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 2XL","offer_id":43782750765174,"sku":"98ba7e84-572b-49a3-bef4-95c358319380","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ XS","offer_id":43782750601334,"sku":"f1b3bf28-2980-430b-abee-61f96ee5c4e3","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Natural \/ 3XL","offer_id":43782750797942,"sku":"2dacc2bc-1a9d-4254-b9f0-c282d6198184","price":35.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ M","offer_id":43782750896246,"sku":"92b76259-5c2c-40e6-8ea9-6b9d1e616252","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ L","offer_id":43782750929014,"sku":"adfb8f8d-04e6-4b4f-91e7-70248df5e091","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ XL","offer_id":43782750961782,"sku":"88fbe02d-6d91-4f55-abb6-d2d418038b92","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ S","offer_id":43782750863478,"sku":"fcd7bda2-c5a4-4569-b3ce-f0f210c8fea5","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ 2XL","offer_id":43782750994550,"sku":"b9b7367c-83c3-4034-b1bc-1ac9077f1d6d","price":32.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ XS","offer_id":43782750830710,"sku":"9a10bd42-824c-4c4c-9fcc-6c7d9f82fce3","price":29.99,"currency_code":"USD","in_stock":true},{"title":"Silver \/ 3XL","offer_id":43782751027318,"sku":"9587b7be-8076-4890-9a1b-98b8fe158abc","price":35.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0708\/6030\/8598\/files\/b7e62e60-1cd5-47ad-802f-4c282d07794d.png?v=1783481990"}],"url":"https:\/\/grumpydragon.store\/collections\/frontpage.oembed","provider":"Grumpy Dragon","version":"1.0","type":"link"}