{"product_id":"procreate-x-yourstuffmade-turning-digital-art-into-tangible-merchandise","title":"Procreate","description":"\u003cstyle\u003e\n\/* YSM V9 PRODUCT FULL-WIDTH OVERRIDE — scoped to this case-study product only.\n   Allows product.description to fill the content width, hides native Shopify\n   gallery, purchase controls and duplicate product heading. *\/\nbody:has(.ysm-procreate-v9) .product:not(.card__inner),\nbody:has(.ysm-procreate-v9) .product.grid {\n  display:block!important;\n  grid-template-columns:minmax(0,1fr)!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin-inline:auto!important;\n}\nbody:has(.ysm-procreate-v9) .product__media-wrapper,\nbody:has(.ysm-procreate-v9) .product__media-gallery,\nbody:has(.ysm-procreate-v9) .product media-gallery,\nbody:has(.ysm-procreate-v9) .product__title,\nbody:has(.ysm-procreate-v9) .product .price,\nbody:has(.ysm-procreate-v9) .product .product-form,\nbody:has(.ysm-procreate-v9) .product product-form,\nbody:has(.ysm-procreate-v9) .product variant-selects,\nbody:has(.ysm-procreate-v9) .product .shopify-payment-button,\nbody:has(.ysm-procreate-v9) .product .product__tax,\nbody:has(.ysm-procreate-v9) .product .product__sku,\nbody:has(.ysm-procreate-v9) .product .product__inventory,\nbody:has(.ysm-procreate-v9) .product .share-button {\n  display:none!important;\n}\nbody:has(.ysm-procreate-v9) .product__info-wrapper,\nbody:has(.ysm-procreate-v9) .product__info-container,\nbody:has(.ysm-procreate-v9) .product__description,\nbody:has(.ysm-procreate-v9) .product__description .rte {\n  display:block!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  flex:0 0 100%!important;\n  padding:0!important;\n  margin-inline:auto!important;\n}\n\/* Override Dawn's half-width product info columns, with page-style spacing. *\/\nbody:has(.ysm-procreate-v9) .product__info-wrapper.grid__item {\n  width:100%!important;\n  max-width:100%!important;\n}\nbody:has(.ysm-procreate-v9) .product__description \u003e .ysm-procreate-v9 {\n  width:100%!important;\n  max-width:1160px!important;\n  margin-inline:auto!important;\n}\n\/* Avoid RTE generic styling fighting with purpose-built case-study cards. *\/\nbody:has(.ysm-procreate-v9) .product__description .rte \u003e * { max-width:none; }\n\u003c\/style\u003e\n\u003cstyle\u003e\n\/* YSM V9 case study design *\/\n.ysm-procreate-v9{--green:#2d684a;--ink:#203128;--muted:#617168;--line:#dfe7e0;--soft:#f3f7f3;color:var(--ink);font-family:inherit;line-height:1.5;width:100%;max-width:1160px;margin:auto;overflow:clip}\n.ysm-procreate-v9 *,.ysm-procreate-v9 *:before,.ysm-procreate-v9 *:after{box-sizing:border-box;min-width:0}\n.ysm-procreate-v9 .inner{width:min(1160px,calc(100% - 36px));margin-inline:auto}\n.ysm-procreate-v9 h1,.ysm-procreate-v9 h2,.ysm-procreate-v9 h3{font-family:inherit;font-weight:750;letter-spacing:-.035em;line-height:1.12;margin:0;color:var(--ink)}\n.ysm-procreate-v9 h1{font-size:clamp(33px,4.2vw,58px)}.ysm-procreate-v9 h2{font-size:clamp(25px,3vw,38px)}.ysm-procreate-v9 h3{font-size:clamp(17px,1.7vw,21px)}\n.ysm-procreate-v9 p{margin:0}.ysm-procreate-v9 a{text-decoration:none}.ysm-procreate-v9 .eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}\n.ysm-procreate-v9 .lead{color:var(--muted);font-size:clamp(15px,1.45vw,18px);line-height:1.55}\n.ysm-procreate-v9 .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;padding:12px 19px;background:var(--green);color:#fff!important;border-radius:10px;font-size:14px;font-weight:750;text-align:center;text-decoration:none!important;transition:transform .2s,background .2s}\n.ysm-procreate-v9 .btn:hover{transform:translateY(-2px);background:#204e36}.ysm-procreate-v9 a:focus-visible{outline:3px solid var(--green);outline-offset:3px}\n.ysm-procreate-v9 .square{display:block;position:relative;width:100%;aspect-ratio:1\/1;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}\n.ysm-procreate-v9 .square img{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;object-position:center;transition:transform .25s ease}\n.ysm-procreate-v9 .square.photo img{object-fit:cover!important}.ysm-procreate-v9 .square.art img{object-fit:contain!important}.ysm-procreate-v9 .square.logo img{object-fit:contain!important;padding:8%!important}.ysm-procreate-v9 .gallery a:hover img{transform:scale(1.035)}.ysm-procreate-v9 .gallery a:hover .square{border-color:#9db9a5}\n.ysm-procreate-v9 .hero{padding:clamp(18px,3vw,38px) 0 32px}.ysm-procreate-v9 .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center}.ysm-procreate-v9 .hero .lead{margin-top:16px}\n.ysm-procreate-v9 .chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 20px}.ysm-procreate-v9 .chip{padding:6px 10px;background:#eaf2eb;border-radius:8px;font-size:12px;font-weight:650}\n.ysm-procreate-v9 .section{padding:clamp(28px,3.6vw,44px) 0;border-top:1px solid var(--line)}.ysm-procreate-v9 .section-lead{max-width:780px;margin-top:12px}\n.ysm-procreate-v9 .brand-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,60px);align-items:center}.ysm-procreate-v9 .brand-grid .logo{width:min(100%,300px);justify-self:center}.ysm-procreate-v9 .brand-grid .lead{margin-top:13px}\n.ysm-procreate-v9 .quote{border-left:3px solid var(--green);padding:0 0 0 16px;margin:18px 0 0;font-size:clamp(17px,1.85vw,22px);font-weight:650;line-height:1.4;letter-spacing:-.02em}\n.ysm-procreate-v9 .story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.ysm-procreate-v9 .story-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);transition:transform .2s,box-shadow .2s}.ysm-procreate-v9 .story-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(24,54,37,.08)}.ysm-procreate-v9 .story-card .num{font-size:11px;color:var(--green);font-weight:800;letter-spacing:.12em;margin-bottom:12px}.ysm-procreate-v9 .story-card p:last-child{color:var(--muted);font-size:14px;line-height:1.55;margin-top:8px}\n.ysm-procreate-v9 .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.ysm-procreate-v9 .gallery a{display:block;cursor:zoom-in}\n.ysm-procreate-v9 .project-info{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.ysm-procreate-v9 .project-info h3{margin-bottom:17px}.ysm-procreate-v9 .info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 26px}.ysm-procreate-v9 .info-item{border-top:1px solid var(--line);padding-top:12px}.ysm-procreate-v9 .info-item strong{display:block;font-size:14px;margin-bottom:6px}.ysm-procreate-v9 .info-item p{color:var(--muted);font-size:14px;line-height:1.55}\n.ysm-procreate-v9 .product-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ysm-procreate-v9 .product-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink)!important;transition:background .2s,transform .2s}.ysm-procreate-v9 .product-link:hover{background:var(--soft);transform:translateY(-2px)}.ysm-procreate-v9 .product-link strong{font-size:15px}.ysm-procreate-v9 .product-link span{font-size:21px;color:var(--green)}\n.ysm-procreate-v9 .final{padding:30px 0 40px}.ysm-procreate-v9 .cta{padding:clamp(25px,4vw,38px);background:var(--ink);border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:25px}.ysm-procreate-v9 .cta h2{color:#fff}.ysm-procreate-v9 .cta .eyebrow{color:#b1d9bd}.ysm-procreate-v9 .cta p:not(.eyebrow){color:#d2dfd5;font-size:15px;max-width:580px;margin-top:10px}.ysm-procreate-v9 .cta .btn{background:#fff;color:var(--ink)!important;flex-shrink:0}.ysm-procreate-v9 .cta .btn:hover{background:#e5f2e8}\n@media(max-width:800px){.ysm-procreate-v9 .hero-grid,.ysm-procreate-v9 .brand-grid{grid-template-columns:1fr;gap:20px}.ysm-procreate-v9 .hero .square{max-width:500px}.ysm-procreate-v9 .brand-grid .logo{width:min(100%,230px)}.ysm-procreate-v9 .story{grid-template-columns:1fr}.ysm-procreate-v9 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ysm-procreate-v9 .cta{flex-direction:column;align-items:stretch}}\n@media(max-width:480px){.ysm-procreate-v9 .inner{width:calc(100% - 28px)}.ysm-procreate-v9 .hero{padding:14px 0 25px}.ysm-procreate-v9 h1{font-size:clamp(31px,8vw,39px)}.ysm-procreate-v9 h2{font-size:clamp(24px,6vw,30px)}.ysm-procreate-v9 .section{padding:25px 0}.ysm-procreate-v9 .story-card{padding:17px}.ysm-procreate-v9 .gallery{gap:8px}.ysm-procreate-v9 .info-grid{grid-template-columns:1fr;gap:13px}.ysm-procreate-v9 .project-info{padding:17px}.ysm-procreate-v9 .product-links{grid-template-columns:1fr}.ysm-procreate-v9 .hero .btn,.ysm-procreate-v9 .cta .btn{width:100%}.ysm-procreate-v9 .final{padding:23px 0 30px}.ysm-procreate-v9 .cta{padding:24px}}\n@media(prefers-reduced-motion:reduce){.ysm-procreate-v9 *{transition:none!important}}\n\u003c\/style\u003e\n\u003carticle class=\"ysm-procreate-v9\"\u003e\n\u003cheader class=\"hero\"\u003e\u003cdiv class=\"inner hero-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eYSM Projects \/ Creative Technology\u003c\/p\u003e\n\u003ch1\u003eProcreate: Digital art, made tangible.\u003c\/h1\u003e\n\u003cp class=\"lead\"\u003eYSM worked with Procreate to take digital creativity into the physical world through enamel pins, artist merchandise and custom product development.\u003c\/p\u003e\n\u003cdiv class=\"chips\"\u003e\n\u003cspan class=\"chip\"\u003eDigital art\u003c\/span\u003e\u003cspan class=\"chip\"\u003eEnamel pins\u003c\/span\u003e\u003cspan class=\"chip\"\u003eArtist merchandise\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eExplore custom manufacturing →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Finished Procreate enamel pin\" height=\"900\" loading=\"eager\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreateenamelpin.webp?v=1756598015\" width=\"900\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/header\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner brand-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eThe Brand\u003c\/p\u003e\n\u003ch2\u003eMade for people who make things.\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eCreated by Australian company Savage Interactive, Procreate has become a leading illustration tool for artists and designers. Its accessible creative platform supports a passionate community.\u003c\/p\u003e\n\u003cblockquote class=\"quote\"\u003eGreat merchandise gives digital creativity a life beyond the screen.\u003c\/blockquote\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"square logo\"\u003e\u003cimg alt=\"Procreate app icon\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreateappicon-1664671639075.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eThe Collaboration\u003c\/p\u003e\n\u003ch2\u003eFrom pixels to something you can hold.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003ePhysical merchandise offers an artist-first software brand a new way to connect with its creative community.\u003c\/p\u003e\n\u003cdiv class=\"story\"\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e01 \/ THE BRIEF\u003c\/p\u003e\n\u003ch3\u003eCelebrate creators\u003c\/h3\u003e\n\u003cp\u003eTranslate Procreate’s visual identity into collectible physical products.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e02 \/ YSM’S ROLE\u003c\/p\u003e\n\u003ch3\u003eDigital meets physical\u003c\/h3\u003e\n\u003cp\u003eSupport design, production and packaging considerations.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e03 \/ THE RESULT\u003c\/p\u003e\n\u003ch3\u003eArt beyond the screen\u003c\/h3\u003e\n\u003cp\u003eGive artists and fans something tangible to collect and share.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eThe Project Gallery\u003c\/p\u003e\n\u003ch2\u003eCreative ideas. Real-world detail.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eCreative concepts, artist activations and collectible products.\u003c\/p\u003e\n\u003cdiv class=\"gallery\" data-ysm-expanded-gallery=\"\"\u003e\n\u003ca aria-label=\"View Procreate merchandise concept\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Procreate_x_Pinlord-_Transforming_Digital_Art_into_Tangible_Masterpieces.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Procreate merchandise concept\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Procreate_x_Pinlord-_Transforming_Digital_Art_into_Tangible_Masterpieces.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"View Procreate artist convention\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreateconvention.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Procreate artist convention\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreateconvention.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"View Procreate merchandise design board\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreatedesignboard.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Procreate merchandise design board\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreatedesignboard.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"View Procreate event lanyard design\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreatelanyard.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Procreate event lanyard design\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreatelanyard.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"View Art is for everyone enamel pin\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreate4enamelpin.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Art is for everyone enamel pin\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/procreate4enamelpin.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"View Procreate merchandise artwork\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Procreate_x_Pinlord-_Transforming_Digital_Art_into_Tangible_Masterpieces_2.webp?v=1756598015\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Procreate merchandise artwork\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Procreate_x_Pinlord-_Transforming_Digital_Art_into_Tangible_Masterpieces_2.webp?v=1756598015\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"project-info\"\u003e\n\u003ch3\u003eProject details\u003c\/h3\u003e\n\u003cdiv class=\"info-grid\"\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProject\u003c\/strong\u003e\u003cp\u003eCreative merchandise connecting digital artwork with physical products.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProducts\u003c\/strong\u003e\u003cp\u003eEnamel pins, lanyard concepts and packaging possibilities.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProduction\u003c\/strong\u003e\u003cp\u003eColour accuracy, finishes, artwork reproduction and quality.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eYSM’s role\u003c\/strong\u003e\u003cp\u003eProduct development and coordinated custom manufacturing.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eMake Something Similar\u003c\/p\u003e\n\u003ch2\u003eBring your idea to life.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eExplore custom products and manufacturing options for your next branded merchandise project.\u003c\/p\u003e\n\u003cdiv class=\"product-links\"\u003e\n\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eCustom merchandise\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eBranded accessories\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eExplore all products\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"final\"\u003e\u003cdiv class=\"inner\"\u003e\u003cdiv class=\"cta\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eYour Brand, Made Real\u003c\/p\u003e\n\u003ch2\u003eTake your ideas beyond the screen.\u003c\/h2\u003e\n\u003cp\u003eFrom individual collectibles to complete merchandise collections, YSM brings ethical manufacturing principles, thoughtful product development and hands-on support together.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eStart your next project →\u003c\/a\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\n\u003c\/article\u003e\n\n\u003cscript\u003e\n\/* YSM V9: add the original Shopify Product Media into this project's gallery.\n   Native media stays hidden visually but is used as a reliable image source.\n   The selected project photos already in the gallery remain first. *\/\n(function () {\n  'use strict';\n  var articleSelector = '.ysm-procreate-v9';\n  function imageKey(url) {\n    if (!url) return '';\n    try {\n      var parsed = new URL(url, window.location.href);\n      var file = decodeURIComponent(parsed.pathname.split('\/').pop() || '');\n      return file.replace(\/_(?:pico|icon|thumb|small|compact|medium|large|grande|master|\\d+x\\d*|x\\d+)\\.(?=[^.]+$)\/i, '.').toLowerCase();\n    } catch (e) { return url.split('?')[0].toLowerCase(); }\n  }\n  function bestURL(img) {\n    if (!img) return '';\n    var url = img.getAttribute('data-zoom-src') || img.getAttribute('data-full-src') || '';\n    if (!url) {\n      var srcset = img.getAttribute('srcset') || img.getAttribute('data-srcset') || '';\n      var choices = srcset.split(',').map(function (s) {\n        var match = s.trim().match(\/^(\\S+)\\s+(\\d+)w$\/);\n        return match ? {url:match[1],width:Number(match[2])} : null;\n      }).filter(Boolean).sort(function(a,b){return b.width-a.width;});\n      if (choices.length) url = choices[0].url;\n    }\n    url = url || img.getAttribute('data-src') || img.getAttribute('src') || '';\n    if (url.indexOf('\/\/')===0) url=window.location.protocol+url;\n    return url;\n  }\n  function addProductMedia() {\n    var project = document.querySelector(articleSelector);\n    if (!project) return;\n    var gallery = project.querySelector('[data-ysm-expanded-gallery]');\n    if (!gallery) return;\n    var seen = new Set();\n    project.querySelectorAll('img').forEach(function(img){ seen.add(imageKey(img.getAttribute('src'))); });\n    gallery.querySelectorAll('a[href]').forEach(function(a){ seen.add(imageKey(a.getAttribute('href'))); });\n    \/\/ Only extract the current product's original media, not recommendations or nav imagery.\n    var candidates = document.querySelectorAll(\n      '.product__media-wrapper .product__media-item img, ' +\n      '.product__media-wrapper .product__media img, ' +\n      '.product__media-wrapper media-gallery img, ' +\n      '.product__media-gallery .product__media img, ' +\n      '.product__media-gallery .product__media-item img'\n    );\n    var added = 0;\n    candidates.forEach(function(img){\n      var url=bestURL(img);\n      var key=imageKey(url);\n      if (!url || !key || seen.has(key)) return;\n      \/\/ Exclude transparent placeholders and non-image SVG icons.\n      if (\/^data:|\\.svg(?:$|\\?)\/i.test(url)) return;\n      seen.add(key);\n      var alt=(img.getAttribute('alt') || '').trim();\n      var label=alt || 'Original project photograph';\n      var a=document.createElement('a');\n      a.href=url;\n      a.target='_blank';\n      a.rel='noopener';\n      a.setAttribute('aria-label','View original project image: '+label);\n      var figure=document.createElement('figure');\n      figure.className='square photo';\n      var picture=document.createElement('img');\n      picture.src=url;\n      picture.alt=label;\n      picture.loading='lazy';\n      picture.width=600;\n      picture.height=600;\n      figure.appendChild(picture);\n      a.appendChild(figure);\n      gallery.appendChild(a);\n      added++;\n    });\n    if (added) gallery.setAttribute('data-extra-photos', String(\n      Number(gallery.getAttribute('data-extra-photos')||0)+added\n    ));\n  }\n  if (document.readyState==='loading') {\n    document.addEventListener('DOMContentLoaded',addProductMedia);\n  } else { addProductMedia(); }\n  window.addEventListener('load',addProductMedia,{once:true});\n  \/\/ Some Shopify themes render product media after DOMContentLoaded.\n  setTimeout(addProductMedia,800);\n  setTimeout(addProductMedia,2200);\n})();\n\u003c\/script\u003e","brand":"Procreate","offers":[{"title":"Default Title","offer_id":43846459031574,"sku":"","price":100.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0068\/7554\/5622\/files\/procreateappicon-1664671639075.webp?v=1756598015","url":"https:\/\/yourstuffmade.com\/products\/procreate-x-yourstuffmade-turning-digital-art-into-tangible-merchandise","provider":"Yourstuffmade.com","version":"1.0","type":"link"}