{"product_id":"spiderweb-crochet-top-pattern-custom-size-pdf","title":"Spiderweb Crochet Top Pattern - Custom Size","description":"\u003cdiv class=\"cs-product-wrapper cs-halloween\" id=\"csTop\"\u003e\n\u003c!-- 🕸️ BIG spider-web definitions (drawn once, reused at every edge) --\u003e \u003csvg width=\"0\" height=\"0\" style=\"position: absolute;\"\u003e\u003cdefs\u003e\n\u003cg id=\"csWebCorner\" fill=\"none\" stroke=\"rgba(40,50,45,0.5)\" stroke-width=\"1.4\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u003e\n\u003cpath d=\"M0 0 L200 0 M0 0 L193.2 51.8 M0 0 L173.2 100 M0 0 L141.4 141.4 M0 0 L100 173.2 M0 0 L51.8 193.2 M0 0 L0 200\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M50 0 L48.3 12.9 L43.3 25 L35.4 35.4 L25 43.3 L12.9 48.3 L0 50\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M100 0 L96.6 25.9 L86.6 50 L70.7 70.7 L50 86.6 L25.9 96.6 L0 100\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M150 0 L144.9 38.8 L129.9 75 L106.1 106.1 L75 129.9 L38.8 144.9 L0 150\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M195 0 L188.3 50.5 L168.9 97.5 L137.9 137.9 L97.5 168.9 L50.5 188.3 L0 195\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003cg id=\"csWebHalf\" fill=\"none\" stroke=\"rgba(40,50,45,0.5)\" stroke-width=\"1.4\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u003e\n\u003cpath d=\"M120 0 L240 0 M120 0 L223.9 60 M120 0 L180 103.9 M120 0 L120 120 M120 0 L60 103.9 M120 0 L16.1 60 M120 0 L0 0\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M160 0 L154.6 20 L140 34.6 L120 40 L100 34.6 L85.4 20 L80 0\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M200 0 L189.3 40 L160 69.3 L120 80 L80 69.3 L50.7 40 L40 0\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M238 0 L222.2 59 L179 102.2 L120 118 L61 102.2 L17.8 59 L2 0\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003cg id=\"csWebHalfV\" fill=\"none\" stroke=\"rgba(40,50,45,0.5)\" stroke-width=\"1.4\" stroke-linejoin=\"round\" stroke-linecap=\"round\"\u003e\n\u003cpath d=\"M0 120 L0 0 M0 120 L60 16.1 M0 120 L103.9 60 M0 120 L120 120 M0 120 L103.9 180 M0 120 L60 223.9 M0 120 L0 240\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M0 80 L20 85.4 L34.6 100 L40 120 L34.6 140 L20 154.6 L0 160\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M0 40 L40 50.7 L69.3 80 L80 120 L69.3 160 L40 189.3 L0 200\"\u003e\u003c\/path\u003e\n\u003cpath d=\"M0 2 L59 17.8 L102.2 61 L118 120 L102.2 179 L59 222.2 L0 238\"\u003e\u003c\/path\u003e\n\u003c\/g\u003e\n\u003c\/defs\u003e\u003c\/svg\u003e \u003c!-- big webs — corners --\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--corner cs-netweb--tl\"\u003e\u003csvg viewbox=\"0 0 200 200\"\u003e\u003cuse href=\"#csWebCorner\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--corner cs-netweb--tr\"\u003e\u003csvg viewbox=\"0 0 200 200\"\u003e\u003cuse href=\"#csWebCorner\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--corner cs-netweb--bl\"\u003e\u003csvg viewbox=\"0 0 200 200\"\u003e\u003cuse href=\"#csWebCorner\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--corner cs-netweb--br\"\u003e\u003csvg viewbox=\"0 0 200 200\"\u003e\u003cuse href=\"#csWebCorner\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003c!-- big webs — edge midpoints --\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--htop\"\u003e\u003csvg viewbox=\"0 0 240 120\"\u003e\u003cuse href=\"#csWebHalf\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--hbot\"\u003e\u003csvg viewbox=\"0 0 240 120\"\u003e\u003cuse href=\"#csWebHalf\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--hleft\"\u003e\u003csvg viewbox=\"0 0 120 240\"\u003e\u003cuse href=\"#csWebHalfV\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-netweb cs-netweb--hright\"\u003e\u003csvg viewbox=\"0 0 120 240\"\u003e\u003cuse href=\"#csWebHalfV\"\u003e\u003c\/use\u003e\u003c\/svg\u003e\u003c\/div\u003e\n\u003c!-- 🎃 page-wide animated spooky layer (spans the whole description) --\u003e\n\u003cdiv class=\"cs-page-fx\"\u003e\n\u003cspan class=\"cs-bat cs-pbat--1\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--2\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--3\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--4\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--5\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--6\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-pbat--7\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-pfx-ghost cs-pfx-ghost--1\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-pfx-ghost cs-pfx-ghost--2\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-pfx-ghost cs-pfx-ghost--3\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-pfx-ghost cs-pfx-ghost--4\"\u003e🕷️\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--1\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--2\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--3\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--4\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--5\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-crawl cs-cspider--6\"\u003e\u003cspan class=\"cs-crawl-inner\"\u003e🕷️\u003c\/span\u003e\u003c\/span\u003e\n\u003cdiv class=\"cs-hang cs-hang--1\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--2\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--3\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--4\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--5\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hang cs-hang--6\"\u003e\n\u003cspan class=\"cs-hang-thread\"\u003e\u003c\/span\u003e\u003cspan class=\"cs-hang-spider\"\u003e🕷️\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🎯 HERO --\u003e\n\u003cdiv class=\"cs-hero-section\"\u003e\n\u003c!-- 🎃 animated spooky layer --\u003e\n\u003cdiv class=\"cs-spooky-layer\"\u003e\n\u003cspan class=\"cs-web cs-web--l\"\u003e🕸️\u003c\/span\u003e \u003cspan class=\"cs-web cs-web--r\"\u003e🕸️\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--a\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--b\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--c\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--e\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--f\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--1\"\u003e🕷️\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--2\"\u003e🕸️\u003c\/span\u003e \u003cspan class=\"cs-drift cs-drift--3\"\u003e🖤\u003c\/span\u003e\n\u003cdiv class=\"cs-spider-thread\"\u003e\u003cspan class=\"cs-spider\"\u003e🕷️\u003c\/span\u003e\u003c\/div\u003e\n\u003cspan class=\"cs-eyes cs-eyes--1\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-eyes cs-eyes--2\"\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-fog cs-fog--1\"\u003e\u003c\/span\u003e \u003cspan class=\"cs-fog cs-fog--2\"\u003e\u003c\/span\u003e \u003cspan class=\"cs-pumpkin\"\u003e🎃\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-content\"\u003e\n\u003cspan class=\"cs-hero-badge\"\u003e✨ Instant Digital Download\u003c\/span\u003e\n\u003ch1 class=\"cs-hero-title\"\u003eThe Spiderweb Crochet Top 🕸️\u003c\/h1\u003e\n\u003cp class=\"cs-hero-subtitle\"\u003eCrochet your own striking spiderweb top with this easy-to-follow PDF pattern. Made to measure so it adapts to every size, with dramatic spiderweb long sleeves and a cropped shape. Perfect for Halloween costumes, festivals, cosplay, or everyday alternative fashion — guided every step with written instructions, charts, and diagrams.\u003c\/p\u003e\n\u003cdiv class=\"cs-hero-features\"\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e📖\u003c\/span\u003e \u003cspan\u003eAdvanced beginner \u0026amp; up\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e📐\u003c\/span\u003e \u003cspan\u003eMade to measure · all sizes\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🕸️\u003c\/span\u003e \u003cspan\u003eSpiderweb long sleeves\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-feature\"\u003e\n\u003cspan class=\"cs-hero-feature-icon\"\u003e🧶\u003c\/span\u003e \u003cspan\u003eUS crochet terms\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-hero-image\"\u003e\n\u003cimg loading=\"eager\" class=\"cs-hero-img\" alt=\"Spiderweb Crochet Top PDF Pattern\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_02_21_15_PM_430x.webp?v=1785777384\"\u003e\n\u003cdiv class=\"cs-hero-image-badge\"\u003e\n\u003cspan class=\"cs-badge-icon\"\u003e🕸️\u003c\/span\u003e\n\u003cdiv class=\"cs-badge-text\"\u003e\n\u003cstrong\u003eSpiderweb Top\u003c\/strong\u003e \u003cspan\u003eCropped \u0026amp; custom\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ⭐ PHOTO REVIEWS --\u003e\n\u003cdiv class=\"cs-photo-reviews-section\"\u003e\n\u003c!-- 🎃 spooky layer for reviews --\u003e\n\u003cdiv class=\"cs-spooky-layer cs-spooky-layer--rev\"\u003e\n\u003cspan class=\"cs-rev-web cs-rev-web--tl\"\u003e🕸️\u003c\/span\u003e \u003cspan class=\"cs-rev-web cs-rev-web--tr\"\u003e🕸️\u003c\/span\u003e \u003cspan class=\"cs-bat cs-rbat\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-photo-reviews-header\"\u003e\n\u003cdiv class=\"cs-pr-rating\"\u003e\n\u003cdiv class=\"cs-pr-stars\"\u003e★★★★★\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-rating-text\"\u003e\n\u003cstrong\u003e4.9\u003c\/strong\u003e · \u003cspan\u003eReal reviews from real makers\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-title\"\u003e🖤 Loved by Spooky Makers\u003c\/div\u003e\n\u003cdiv class=\"cs-pr-subtitle\"\u003eReal spiderweb tops made by real customers, in every size\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"csPhotoReviewSlider\" class=\"cs-photo-reviews-slider\"\u003e\n\u003cdiv class=\"cs-photo-reviews-track\"\u003e\n\u003c!-- Review 1 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Delphine\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_1_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe spiderweb design turned out so striking and the instructions were easy to follow\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eDelphine C\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 2 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Marisol\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_2_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eMade to measure meant it fit me perfectly the pattern really does adapt to all sizes\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMarisol V\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 3 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Anouk\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_3_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe long spiderweb sleeves are my favourite part so dramatic and pretty\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eAnouk T\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 4 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Priya\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_4_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eWore mine to a Halloween party and got endless compliments all night\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003ePriya R\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 5 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Renata\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_5_430x.webp?v=1785778105\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe stitch charts and diagrams made the web pattern so clear to work\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eRenata M\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 6 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Sabrina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_6_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eAs an advanced beginner this was totally doable the explanations were so friendly\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSabrina L\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 7 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Ingrid\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_7_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe cropped fit sits beautifully and pairs with everything in my alt wardrobe\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eIngrid H\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 8 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Yara\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_8_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003ePerfect for my cosplay the webbing looks amazing on camera\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eYara S\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 9 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Colette\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_9_430x.webp?v=1785778105\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe written instructions guided me step by step with no confusion at all\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eColette B\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 10 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Nadia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_18_PM_10_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eUS crochet terms were clear and easy to follow the whole way through\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eNadia K\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 11 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Elowen\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_27_PM_1_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eLoved being able to customize the fit to my exact measurements\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eElowen P\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 12 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Rosa\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_27_PM_2_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eWore it to a festival and it was such a fun statement piece\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eRosa D\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 13 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Tamsin\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_27_PM_3_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe assembly and finishing notes made putting it together really simple\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eTamsin G\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 14 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Frida\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_27_PM_4_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe materials and tools list meant I gathered everything before starting\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eFrida A\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 15 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Lucia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_5_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eSuch a great everyday alternative top not just for Halloween\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLucia N\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 16 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Beatrix\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_6_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe beginner friendly explanations gave me the confidence to try the sleeves\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eBeatrix W\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 17 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Solange\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_7_430x.webp?v=1785778105\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eInstant download meant I could start planning my top the same evening\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSolange F\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 18 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Mireia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_8_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eThe web motif came out so neat thanks to the clear charts\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMireia J\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 19 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Odette\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_9_430x.webp?v=1785778106\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eMade a second one in a different colour because it was so enjoyable\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eOdette Q\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Review 20 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Spiderweb Top by Halina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_3_2026_06_20_28_PM_10_430x.webp?v=1785778105\"\u003e\n\u003cdiv class=\"cs-pr-content\"\u003e\n\u003cdiv class=\"cs-pr-stars-small\"\u003e★★★★★\u003c\/div\u003e\n\u003cp class=\"cs-pr-text\"\u003eA unique handmade piece for my wardrobe I get compliments every time I wear it\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eHalina Z\u003c\/span\u003e \u003cspan class=\"cs-pr-verified\"\u003e✓ Verified Buyer\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"csPhotoReviewDots\" class=\"cs-pr-dots\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- DELIVERY \u0026 INFO BOX --\u003e\n\u003cdiv class=\"cs-info-box\"\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eInstant Delivery\u003c\/strong\u003e \u003cspan\u003ePDF arrives in your email within 1 minute\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-info-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eLifetime Access\u003c\/strong\u003e \u003cspan\u003eDownload forever, make it in any size\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-info-divider\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-info-item\"\u003e\n\u003csvg height=\"28\" width=\"28\" stroke-width=\"2\" stroke=\"#35553f\" fill=\"none\" viewbox=\"0 0 24 24\" class=\"cs-info-icon\"\u003e\u003cpath d=\"M20 6L9 17l-5-5\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n\u003cdiv class=\"cs-info-text\"\u003e\n\u003cstrong\u003eChart Support\u003c\/strong\u003e \u003cspan\u003eWritten steps, charts \u0026amp; stitch diagrams\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🔒 PREVIEW + LOCKED PAGE TEASER --\u003e\n\u003cdiv class=\"cs-preview-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e👀 Peek at the Design\u003c\/h2\u003e\n\u003cp class=\"cs-preview-subtitle\"\u003eGet a free look — unlock the full step-by-step pattern with the bundle\u003c\/p\u003e\n\u003cdiv class=\"cs-preview-grid cs-preview-grid-small\"\u003e\n\u003ca class=\"cs-preview-page cs-preview-visible\" href=\"#csZoom1\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\u003cimg loading=\"lazy\" class=\"cs-preview-img\" alt=\"Spiderweb Top - Free Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Screenshot_2026-08-11_140721_430x.webp?v=1786454622\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-label cs-preview-label-free\"\u003e\n\u003cspan\u003e✓\u003c\/span\u003e Free Preview · Tap to enlarge\u003c\/div\u003e\n\u003c\/a\u003e\u003ca class=\"cs-preview-page cs-preview-locked\" href=\"#csTop\"\u003e\n\u003cdiv class=\"cs-preview-page-inner\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-preview-img cs-preview-img-blurred\" alt=\"Spiderweb Top - Locked Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug3_2026_01_40_07PM_4_1_430x.webp?v=1785776611\"\u003e\n\u003cdiv class=\"cs-preview-overlay\"\u003e\n\u003cdiv class=\"cs-preview-lock-icon\"\u003e🔒\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-title\"\u003eUnlock the full pattern\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-text\"\u003eGet more patterns in our bundle\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-lock-btn\"\u003eView Bundle Deal ↑\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-preview-label cs-preview-label-locked\"\u003e\n\u003cspan\u003e🔒\u003c\/span\u003e Members Only\u003c\/div\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🔍 CSS-ONLY ZOOM TARGET --\u003e\n\u003cdiv class=\"cs-zoom\" id=\"csZoom1\"\u003e\n\u003ca class=\"cs-zoom-backdrop\" href=\"#csTop\"\u003e\u003c\/a\u003e \u003ca class=\"cs-zoom-close\" href=\"#csTop\"\u003e×\u003c\/a\u003e \u003cimg class=\"cs-zoom-img\" alt=\"Spiderweb Top - Free Preview enlarged\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/Screenshot_2026-08-11_140721_430x.webp?v=1786454622\"\u003e\n\u003c\/div\u003e\n\u003c!-- 🎨 LIFESTYLE IMAGE 1 --\u003e\n\u003cdiv class=\"cs-lifestyle-image\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-lifestyle-img\" alt=\"Spiderweb Top - Cropped crochet top for Halloween and festivals\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug3_2026_01_40_07PM_4_1_430x.webp?v=1785776611\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🕸️\u003c\/span\u003e\n\u003cp\u003eFrom Halloween costumes to festivals and everyday alt fashion — your handmade spiderweb top\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- WHAT YOU'LL RECEIVE --\u003e\n\u003cdiv class=\"cs-receive-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e📦 What You'll Receive\u003c\/h2\u003e\n\u003cdiv class=\"cs-receive-grid\"\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e📖\u003c\/span\u003e\n\u003ch4\u003eWritten Instructions\u003c\/h4\u003e\n\u003cp\u003eStep-by-step written instructions with beginner-friendly explanations\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e📊\u003c\/span\u003e\n\u003ch4\u003eCharts \u0026amp; Diagrams\u003c\/h4\u003e\n\u003cp\u003eCrochet charts and stitch diagrams to guide the web pattern\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🧶\u003c\/span\u003e\n\u003ch4\u003eMaterials \u0026amp; Tools List\u003c\/h4\u003e\n\u003cp\u003eEverything you'll need to gather, listed in the PDF\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🔤\u003c\/span\u003e\n\u003ch4\u003eUS Abbreviations\u003c\/h4\u003e\n\u003cp\u003eA full list of US crochet abbreviations included\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e🔧\u003c\/span\u003e\n\u003ch4\u003eAssembly \u0026amp; Finishing\u003c\/h4\u003e\n\u003cp\u003eClear assembly and finishing instructions\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-receive-item\"\u003e\n\u003cspan class=\"cs-receive-emoji\"\u003e📥\u003c\/span\u003e\n\u003ch4\u003eInstant Download\u003c\/h4\u003e\n\u003cp\u003eNo shipping. No waiting. Start crocheting right away.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PATTERN FEATURES --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🕸️ Pattern Features\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eMade to measure\u003c\/strong\u003e — adapts to fit all sizes\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eSpiderweb long sleeves\u003c\/strong\u003e — the dramatic signature detail\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCropped shape\u003c\/strong\u003e — a flattering, versatile silhouette\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eUS crochet terms\u003c\/strong\u003e — clear and easy to follow\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eEasy to customize\u003c\/strong\u003e — make it your own\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eInstant PDF\u003c\/strong\u003e — download and start the same day\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PATTERN AT A GLANCE --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e📋 Pattern at a Glance\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eSkill level\u003c\/strong\u003e — advanced beginner and up\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eLanguage\u003c\/strong\u003e — English (US crochet terms)\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eFormat\u003c\/strong\u003e — digital PDF, instant download\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eSizing\u003c\/strong\u003e — made to measure, adapts to all sizes\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eIncludes\u003c\/strong\u003e — written steps, charts, diagrams \u0026amp; assembly notes\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eStyle\u003c\/strong\u003e — cropped top with spiderweb long sleeves\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- 🎨 LIFESTYLE IMAGE 2 --\u003e\n\u003cdiv class=\"cs-lifestyle-image\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-lifestyle-img\" alt=\"Spiderweb Top - Web detail and cropped fit\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug3_2026_01_40_05PM_1_1_430x.webp?v=1785776611\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🖤\u003c\/span\u003e\n\u003cp\u003eStriking spiderweb sleeves and a custom fit — a standout piece for alt wardrobes\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- PERFECT FOR --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🎃 Perfect For\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eHalloween costumes\u003c\/strong\u003e — a handcrafted statement piece\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eFestivals\u003c\/strong\u003e — eye-catching and comfortable\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eCosplay\u003c\/strong\u003e — the webbing looks amazing on camera\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eAlternative fashion\u003c\/strong\u003e — everyday gothic charm\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eHandmade gifts\u003c\/strong\u003e — a unique made-to-measure make\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eLayering\u003c\/strong\u003e — style it over tops for a bold look\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- HOW IT WORKS --\u003e\n\u003cdiv class=\"cs-how-section\"\u003e\n\u003c!-- 🎃 animated spooky layer (dark band) --\u003e\n\u003cdiv class=\"cs-spooky-layer cs-spooky-layer--dark\"\u003e\n\u003cspan class=\"cs-ghost cs-ghost--1\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-ghost cs-ghost--2\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-ghost cs-ghost--3\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-ghost cs-ghost--4\"\u003e👻\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--d\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-bat cs-bat--g\"\u003e\u003cspan class=\"cs-bat-inner\"\u003e🦇\u003c\/span\u003e\u003c\/span\u003e \u003cspan class=\"cs-pumpkin cs-pumpkin--dark\"\u003e🎃\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"cs-section-title\"\u003e✨ How It Works\u003c\/h2\u003e\n\u003cdiv class=\"cs-steps-container\"\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e1\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003eOrder Placed\u003c\/h4\u003e\n\u003cp\u003eToday · Secure checkout\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-step-arrow\"\u003e→\u003c\/div\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e2\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003ePayment Confirmed\u003c\/h4\u003e\n\u003cp\u003eWithin 1 minute\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-step-arrow\"\u003e→\u003c\/div\u003e\n\u003cdiv class=\"cs-step\"\u003e\n\u003cdiv class=\"cs-step-number\"\u003e3\u003c\/div\u003e\n\u003cdiv class=\"cs-step-content\"\u003e\n\u003ch4\u003ePDF Delivered\u003c\/h4\u003e\n\u003cp\u003eInstantly to your email\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- WHY MAKERS LOVE --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e💚 Why Makers Love This Pattern\u003c\/h2\u003e\n\u003cdiv class=\"cs-why-grid\"\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eStriking design\u003c\/strong\u003e — the spiderweb motif is a real showstopper\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eMade to measure\u003c\/strong\u003e — a flattering fit for every body\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eChart support\u003c\/strong\u003e — diagrams make the web pattern clear\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eBeginner-friendly\u003c\/strong\u003e — friendly explanations for advanced beginners\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eSo versatile\u003c\/strong\u003e — Halloween, festivals, cosplay \u0026amp; everyday\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"cs-why-item\"\u003e\n\u003cspan class=\"cs-why-icon\"\u003e✓\u003c\/span\u003e\n\u003cp\u003e\u003cstrong\u003eLifetime access\u003c\/strong\u003e — make it again in any size or colour\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- FAQ --\u003e\n\u003cdiv class=\"cs-faq-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e❓ Frequently Asked Questions\u003c\/h2\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eIs this pattern beginner-friendly?\u003c\/summary\u003e\n\u003cp\u003eYes! The skill level is advanced beginner and up. The pattern guides you every step of the way with detailed written instructions, crochet charts, stitch diagrams, assembly notes, and beginner-friendly explanations, so you're never left guessing.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat sizes does it fit?\u003c\/summary\u003e\n\u003cp\u003eThe top is made to measure, so it adapts to all sizes. The pattern explains how to customize the fit to your own measurements for a comfortable, personal result.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat's included in the PDF?\u003c\/summary\u003e\n\u003cp\u003eYou'll get step-by-step written instructions, crochet charts and stitch diagrams, a materials and tools list, US crochet abbreviations, assembly and finishing instructions, and beginner-friendly explanations — all as an instant digital download.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhich crochet terms are used?\u003c\/summary\u003e\n\u003cp\u003eAll instructions are written in English using US crochet terminology, with a full list of US crochet abbreviations included in the PDF.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWill I receive the pattern immediately?\u003c\/summary\u003e\n\u003cp\u003eYes! This listing is for a digital crochet pattern only. No physical item will be shipped — after purchase you can download the PDF and begin crocheting your spiderweb top straight away.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eCan I get a refund?\u003c\/summary\u003e\n\u003cp\u003eDue to the nature of digital products, no refunds or exchanges are possible after purchase. If you have any trouble with your download, please reach out and I'll be happy to help.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cstyle\u003e\n    \/* ==================== BRAND VARIABLES — BOTANICAL BOUTIQUE ==================== *\/\n    .cs-product-wrapper {\n      --cs-forest: #35553f;\n      --cs-forest-dark: #26402f;\n      --cs-sage: #7c9b78;\n      --cs-terracotta: #c9683f;\n      --cs-terracotta-dark: #a8522e;\n      --cs-cream: #faf6ef;\n      --cs-cream-dark: #f0e7d8;\n      --cs-sand: #e7d8c4;\n      --cs-text: #2c2a26;\n      --cs-text-light: #6f665c;\n      --cs-star: #e0a92e;\n      --cs-success: #4a7c59;\n      --cs-serif: Georgia, 'Cormorant Garamond', 'Times New Roman', serif;\n      font-family: inherit;\n      color: var(--cs-text);\n      line-height: 1.65;\n      max-width: 100%;\n      margin: 0 auto;\n    }\n    .cs-product-wrapper * { box-sizing: border-box; }\n    .cs-product-wrapper h1, .cs-product-wrapper h2, .cs-product-wrapper h3, .cs-product-wrapper h4 { margin: 0 0 12px; line-height: 1.3; }\n    .cs-product-wrapper p { margin: 0 0 12px; }\n\n    \/* ==================== HERO ==================== *\/\n    \/* centered, stacked layout — big image in the middle *\/\n    .cs-hero-section {\n      display: block;\n      text-align: center;\n      padding: 56px 36px;\n      background:\n        radial-gradient(circle at 88% 12%, rgba(124,155,120,0.16) 0%, rgba(124,155,120,0) 42%),\n        linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%);\n      border: 1px solid var(--cs-sand); border-radius: 24px; margin-bottom: 32px;\n    }\n    .cs-hero-content { max-width: 800px; margin: 0 auto 36px; }\n    .cs-hero-badge { display: inline-block; background: var(--cs-terracotta); color: #fff; padding: 8px 16px; border-radius: 50px; font-size: 12px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; margin-bottom: 18px; box-shadow: 0 4px 14px rgba(201,104,63,0.28); }\n    .cs-hero-title { font-family: var(--cs-serif); font-size: 46px; font-weight: 700; color: var(--cs-forest-dark); margin-bottom: 16px; line-height: 1.15; letter-spacing: 0.2px; }\n    .cs-hero-subtitle { font-size: 17px; color: var(--cs-text-light); margin-bottom: 26px; line-height: 1.7; }\n    .cs-hero-features { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; max-width: 580px; margin: 0 auto; }\n    .cs-hero-feature { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--cs-text); background: rgba(255,255,255,0.6); border: 1px solid var(--cs-sand); border-radius: 10px; padding: 9px 12px; text-align: left; }\n    .cs-hero-feature-icon { font-size: 19px; }\n    .cs-hero-image { position: relative; max-width: 740px; margin: 0 auto; }\n    .cs-hero-img { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 16px 40px rgba(53,85,63,0.22); border: 4px solid #fff; }\n    \/* badge — single-line, sized to content so it never covers the photo *\/\n    .cs-hero-image-badge { position: absolute; bottom: 16px; right: 16px; background: #fff; padding: 7px 12px; border-radius: 50px; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 8px 24px rgba(38,64,47,0.18); white-space: nowrap; }\n    .cs-badge-icon { font-size: 18px; flex-shrink: 0; line-height: 1; }\n    .cs-badge-text strong { display: block; font-size: 13px; color: var(--cs-forest-dark); line-height: 1.15; white-space: nowrap; }\n    .cs-badge-text span { display: block; font-size: 11px; color: var(--cs-text-light); white-space: nowrap; }\n\n    \/* ==================== ⭐ PHOTO REVIEWS ==================== *\/\n    .cs-photo-reviews-section { background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); border-radius: 24px; padding: 34px 26px; margin: 0 0 28px; border: 1px solid var(--cs-sand); box-shadow: 0 6px 20px rgba(53,85,63,0.06); }\n    .cs-photo-reviews-header { text-align: center; margin-bottom: 26px; }\n    .cs-pr-rating { display: inline-flex; align-items: center; gap: 12px; background: #fff; padding: 8px 18px; border-radius: 50px; border: 1px solid var(--cs-sand); margin-bottom: 14px; box-shadow: 0 2px 8px rgba(53,85,63,0.08); }\n    .cs-pr-stars { color: var(--cs-star); font-size: 18px; letter-spacing: 2px; }\n    .cs-pr-rating-text { font-size: 14px; color: var(--cs-text-light); }\n    .cs-pr-rating-text strong { color: var(--cs-forest-dark); font-size: 16px; font-weight: 700; }\n    .cs-pr-title { font-family: var(--cs-serif); font-size: 27px; color: var(--cs-forest-dark); font-weight: 700; margin-bottom: 6px; }\n    .cs-pr-subtitle { font-size: 14px; color: var(--cs-text-light); font-style: italic; }\n\n    .cs-photo-reviews-slider { overflow: hidden; margin: 0 -8px; padding: 8px; }\n    .cs-photo-reviews-track { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: var(--cs-sage) transparent; }\n    .cs-photo-reviews-track::-webkit-scrollbar { height: 6px; }\n    .cs-photo-reviews-track::-webkit-scrollbar-track { background: var(--cs-cream-dark); border-radius: 4px; }\n    .cs-photo-reviews-track::-webkit-scrollbar-thumb { background: var(--cs-sage); border-radius: 4px; }\n\n    .cs-photo-review-card { flex: 0 0 280px; background: #fff; border-radius: 16px; overflow: hidden; border: 1px solid var(--cs-sand); scroll-snap-align: start; transition: all 0.3s ease; display: flex; flex-direction: column; }\n    .cs-photo-review-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(53,85,63,0.15); border-color: var(--cs-sage); }\n    .cs-pr-image { width: 100%; height: 280px; object-fit: cover; display: block; transition: transform 0.5s ease; background: var(--cs-cream); }\n    .cs-photo-review-card:hover .cs-pr-image { transform: scale(1.05); }\n    .cs-pr-content { padding: 16px 18px; flex-grow: 1; display: flex; flex-direction: column; }\n    .cs-pr-stars-small { color: var(--cs-star); font-size: 14px; letter-spacing: 1px; margin-bottom: 8px; }\n    .cs-pr-text { font-size: 14px; color: var(--cs-text); line-height: 1.55; font-style: italic; margin-bottom: 12px; flex-grow: 1; }\n    .cs-pr-author { display: flex; flex-direction: column; gap: 2px; padding-top: 10px; border-top: 1px solid var(--cs-cream-dark); }\n    .cs-pr-name { font-size: 13px; font-weight: 700; color: var(--cs-forest-dark); }\n    .cs-pr-verified { font-size: 11px; color: var(--cs-success); font-weight: 600; }\n\n    .cs-pr-dots { display: flex; justify-content: center; gap: 8px; margin-top: 18px; flex-wrap: wrap; }\n    .cs-pr-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--cs-sand); border: none; cursor: pointer; transition: all 0.3s ease; padding: 0; }\n    .cs-pr-dot.active { background: var(--cs-sage); width: 24px; border-radius: 4px; }\n\n    \/* ==================== 🔒 PREVIEW + LOCKED PAGES ==================== *\/\n    .cs-preview-section { background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); border-radius: 24px; padding: 38px 26px; margin: 36px 0; border: 1px solid var(--cs-sand); }\n    .cs-preview-subtitle { text-align: center; font-size: 14px; color: var(--cs-text-light); font-style: italic; margin: -8px 0 28px; }\n    .cs-preview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 800px; margin: 0 auto; }\n    .cs-preview-grid-small { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 480px; margin: 0 auto; justify-items: center; }\n    .cs-preview-grid-small .cs-preview-page { width: 100%; max-width: 200px; }\n    .cs-preview-page { display: block; text-decoration: none; color: inherit; transition: all 0.3s ease; cursor: pointer; }\n    .cs-preview-page-inner { position: relative; border-radius: 12px; overflow: hidden; aspect-ratio: 8.5 \/ 11; background: #fff; border: 1px solid var(--cs-sand); box-shadow: 0 6px 18px rgba(53,85,63,0.1); transition: all 0.3s ease; }\n    .cs-preview-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }\n    .cs-preview-visible:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 24px rgba(53,85,63,0.18); }\n    .cs-preview-locked { cursor: pointer; }\n    .cs-preview-locked:hover .cs-preview-page-inner { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(53,85,63,0.22); border-color: var(--cs-terracotta); }\n    .cs-preview-locked:hover .cs-preview-lock-btn { background: var(--cs-terracotta-dark); transform: translateY(-2px); }\n    .cs-preview-img-blurred { filter: blur(6px) brightness(0.7); transform: scale(1.05); }\n    .cs-preview-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(38,64,47,0.35) 0%, rgba(38,64,47,0.88) 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 12px; color: #fff; }\n    .cs-preview-lock-icon { font-size: 28px; margin-bottom: 6px; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); animation: cs-lock-bounce 2s ease-in-out infinite; }\n    @keyframes cs-lock-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }\n    .cs-preview-lock-title { font-size: 13px; font-weight: 800; margin-bottom: 4px; line-height: 1.2; text-shadow: 0 2px 8px rgba(0,0,0,0.3); }\n    .cs-preview-lock-text { font-size: 10px; opacity: 0.95; margin-bottom: 10px; max-width: 160px; line-height: 1.3; }\n    .cs-preview-lock-btn { display: inline-block; text-decoration: none; background: var(--cs-terracotta); color: #fff; padding: 7px 14px; border-radius: 50px; font-size: 11px; font-weight: 700; letter-spacing: 0.3px; box-shadow: 0 4px 12px rgba(201,104,63,0.4); transition: all 0.3s ease; }\n    .cs-preview-label { text-align: center; margin-top: 8px; font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 50px; display: inline-flex; align-items: center; gap: 5px; width: 100%; justify-content: center; }\n    .cs-preview-label-free { background: rgba(74,124,89,0.14); color: var(--cs-success); }\n    .cs-preview-label-locked { background: rgba(201,104,63,0.12); color: var(--cs-terracotta-dark); }\n\n    \/* ==================== 🔍 CSS-ONLY ZOOM ==================== *\/\n    .cs-zoom { display: none; position: fixed; inset: 0; z-index: 99999; align-items: center; justify-content: center; padding: 24px; }\n    .cs-zoom:target { display: flex; }\n    .cs-zoom-backdrop { position: absolute; inset: 0; background: rgba(30,40,32,0.93); cursor: zoom-out; display: block; }\n    .cs-zoom-img { position: relative; max-width: 92%; max-height: 88%; border-radius: 12px; box-shadow: 0 20px 60px rgba(0,0,0,0.5); object-fit: contain; z-index: 1; }\n    .cs-zoom-close { position: absolute; top: 20px; right: 28px; font-size: 42px; line-height: 1; color: #fff; text-decoration: none; cursor: pointer; font-weight: 300; text-shadow: 0 2px 8px rgba(0,0,0,0.4); z-index: 2; }\n\n    \/* ==================== 🎨 LIFESTYLE IMAGES ==================== *\/\n    .cs-lifestyle-image { margin: 32px 0; border-radius: 18px; overflow: hidden; box-shadow: 0 10px 28px rgba(53,85,63,0.1); background: var(--cs-cream); border: 1px solid var(--cs-sand); }\n    .cs-lifestyle-img { width: 100%; height: auto; display: block; }\n    .cs-lifestyle-caption { padding: 20px 24px; background: linear-gradient(135deg, var(--cs-cream) 0%, #fffdf9 100%); display: flex; align-items: center; gap: 12px; border-top: 1px solid var(--cs-sand); }\n    .cs-lifestyle-icon { font-size: 24px; flex-shrink: 0; }\n    .cs-lifestyle-caption p { font-size: 15px; color: var(--cs-text); font-weight: 500; margin: 0; line-height: 1.45; }\n\n    \/* ==================== INFO BOX ==================== *\/\n    .cs-info-box { background: #fff; border: 1px solid var(--cs-sand); border-radius: 16px; padding: 20px 22px; margin: 24px 0; display: flex; align-items: center; justify-content: space-around; gap: 16px; flex-wrap: wrap; box-shadow: 0 4px 14px rgba(53,85,63,0.05); }\n    .cs-info-item { display: flex; align-items: center; gap: 11px; flex: 1; min-width: 200px; }\n    .cs-info-icon { width: 28px; height: 28px; flex-shrink: 0; }\n    .cs-info-text strong { display: block; font-size: 14px; color: var(--cs-forest-dark); font-weight: 700; }\n    .cs-info-text span { font-size: 12px; color: var(--cs-text-light); }\n    .cs-info-divider { width: 1px; height: 36px; background: var(--cs-sand); }\n\n    \/* ==================== SECTION TITLES ==================== *\/\n    .cs-section-title { font-family: var(--cs-serif); font-size: 27px; color: var(--cs-forest-dark); font-weight: 700; text-align: center; margin-bottom: 24px; padding-bottom: 14px; position: relative; }\n    .cs-section-title::after { content: ''; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 56px; height: 3px; border-radius: 3px; background: var(--cs-terracotta); }\n\n    \/* ==================== RECEIVE ==================== *\/\n    .cs-receive-section { margin: 40px 0; }\n    .cs-receive-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }\n    .cs-receive-item { background: #fff; border: 1px solid var(--cs-sand); border-radius: 14px; padding: 22px 16px; text-align: center; transition: all 0.3s ease; }\n    .cs-receive-item:hover { transform: translateY(-3px); box-shadow: 0 10px 22px rgba(53,85,63,0.12); border-color: var(--cs-sage); }\n    .cs-receive-emoji { font-size: 32px; display: block; margin-bottom: 10px; }\n    .cs-receive-item h4 { font-size: 15px; color: var(--cs-forest-dark); font-weight: 700; }\n    .cs-receive-item p { font-size: 13px; color: var(--cs-text-light); margin: 0; }\n\n    \/* ==================== HOW IT WORKS ==================== *\/\n    .cs-how-section { background: linear-gradient(135deg, var(--cs-forest) 0%, var(--cs-forest-dark) 100%); border-radius: 20px; padding: 34px 24px; margin: 40px 0; }\n    .cs-how-section .cs-section-title { color: #fff; }\n    .cs-how-section .cs-section-title::after { background: var(--cs-terracotta); }\n    .cs-steps-container { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }\n    .cs-step { flex: 1; min-width: 180px; display: flex; align-items: center; gap: 12px; }\n    .cs-step-number { width: 46px; height: 46px; border-radius: 50%; background: var(--cs-terracotta); color: #fff; font-weight: 700; font-size: 18px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 4px 14px rgba(201,104,63,0.4); }\n    .cs-step-content h4 { font-size: 14px; color: #fff; margin: 0; }\n    .cs-step-content p { font-size: 12px; color: rgba(255,255,255,0.72); margin: 0; }\n    .cs-step-arrow { font-size: 22px; color: var(--cs-sage); font-weight: 700; }\n\n    \/* ==================== WHY \/ GRID SECTIONS ==================== *\/\n    .cs-why-section { margin: 40px 0; }\n    .cs-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }\n    .cs-why-item { background: #fff; border: 1px solid var(--cs-sand); border-left: 3px solid var(--cs-sage); border-radius: 10px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 10px; transition: all 0.25s ease; }\n    .cs-why-item:hover { border-left-color: var(--cs-terracotta); box-shadow: 0 6px 16px rgba(53,85,63,0.08); }\n    .cs-why-icon { width: 24px; height: 24px; border-radius: 50%; background: var(--cs-success); color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n    .cs-why-item p { font-size: 14px; margin: 0; color: var(--cs-text); }\n\n    \/* ==================== FAQ ==================== *\/\n    .cs-faq-section { margin: 40px 0; }\n    .cs-faq-item { background: #fff; border: 1px solid var(--cs-sand); border-radius: 12px; padding: 15px 18px; margin-bottom: 10px; transition: all 0.3s ease; }\n    .cs-faq-item:hover { border-color: var(--cs-sage); }\n    .cs-faq-item summary { font-weight: 700; color: var(--cs-forest-dark); cursor: pointer; list-style: none; position: relative; padding-right: 30px; font-size: 15px; }\n    .cs-faq-item summary::-webkit-details-marker { display: none; }\n    .cs-faq-item summary::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 24px; color: var(--cs-terracotta); font-weight: 300; }\n    .cs-faq-item[open] summary::after { content: '−'; }\n    .cs-faq-item p { margin-top: 12px; font-size: 14px; color: var(--cs-text-light); line-height: 1.65; }\n\n    \/* ==================== 🎃 HALLOWEEN ANIMATED EFFECTS ==================== *\/\n    .cs-halloween { position: relative; overflow: hidden; }\n    .cs-halloween .cs-hero-section { position: relative; overflow: hidden; }\n    .cs-halloween .cs-hero-content,\n    .cs-halloween .cs-hero-image { position: relative; z-index: 2; }\n\n    .cs-spooky-layer { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 1; }\n\n    \/* --- 🕸️ BIG drawn spider webs framing the whole page (corners + edges) --- *\/\n    .cs-netweb { position: absolute; pointer-events: none; z-index: 5; opacity: 0.5; }\n    .cs-netweb svg { display: block; width: 100%; height: 100%; overflow: visible; }\n    .cs-netweb--corner { width: 200px; height: 200px; }\n    .cs-netweb--tl { top: 0; left: 0; }\n    .cs-netweb--tr { top: 0; right: 0; transform: scaleX(-1); }\n    .cs-netweb--bl { bottom: 0; left: 0; transform: scaleY(-1); }\n    .cs-netweb--br { bottom: 0; right: 0; transform: scale(-1,-1); }\n    .cs-netweb--htop { top: 0; left: 50%; width: 260px; height: 130px; transform: translateX(-50%); }\n    .cs-netweb--hbot { bottom: 0; left: 50%; width: 260px; height: 130px; transform: translateX(-50%) scaleY(-1); }\n    .cs-netweb--hleft { top: 50%; left: 0; width: 130px; height: 260px; transform: translateY(-50%); }\n    .cs-netweb--hright { top: 50%; right: 0; width: 130px; height: 260px; transform: translateY(-50%) scaleX(-1); }\n\n    \/* --- PAGE-WIDE effect layer (covers the entire description) --- *\/\n    .cs-page-fx { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 4; }\n    .cs-page-fx .cs-bat { position: absolute; left: 0; opacity: 0.8; }\n    .cs-pbat--1 { top: 6%;  font-size: 18px; animation: cs-fly-a 16s linear infinite; }\n    .cs-pbat--2 { top: 19%; font-size: 15px; animation: cs-fly-b 21s linear infinite; animation-delay: -6s; }\n    .cs-pbat--3 { top: 33%; font-size: 20px; animation: cs-fly-c 24s linear infinite; animation-delay: -11s; }\n    .cs-pbat--4 { top: 47%; font-size: 16px; animation: cs-fly-b 19s linear infinite; animation-delay: -3s; }\n    .cs-pbat--5 { top: 61%; font-size: 22px; animation: cs-fly-a 23s linear infinite; animation-delay: -14s; }\n    .cs-pbat--6 { top: 74%; font-size: 16px; animation: cs-fly-c 20s linear infinite; animation-delay: -8s; }\n    .cs-pbat--7 { top: 88%; font-size: 19px; animation: cs-fly-b 26s linear infinite; animation-delay: -17s; }\n    .cs-pfx-ghost { position: absolute; left: 0; font-size: 24px; opacity: 0; text-shadow: 0 0 12px rgba(150,120,200,0.5); will-change: transform, opacity; }\n    .cs-pfx-ghost--1 { top: 28%; animation: cs-drift-across 34s linear infinite; animation-delay: -4s; }\n    .cs-pfx-ghost--2 { top: 56%; font-size: 20px; animation: cs-drift-across 42s linear infinite; animation-delay: -20s; }\n    .cs-pfx-ghost--3 { top: 82%; font-size: 26px; animation: cs-drift-across 38s linear infinite; animation-delay: -30s; }\n    .cs-pfx-ghost--4 { top: 44%; font-size: 17px; opacity: 0; animation: cs-drift-across 46s linear infinite; animation-delay: -12s; }\n    @keyframes cs-drift-across {\n      0%   { transform: translate(-16vw, 0); opacity: 0; }\n      10%  { opacity: 0.7; }\n      50%  { transform: translate(52vw, -22px); }\n      90%  { opacity: 0.7; }\n      100% { transform: translate(120vw, 12px); opacity: 0; }\n    }\n\n    \/* --- 🕷️ crawling spiders across the whole page --- *\/\n    .cs-page-fx .cs-crawl { position: absolute; left: 0; opacity: 0.8; will-change: transform; }\n    .cs-crawl-inner { display: inline-block; will-change: transform; animation: cs-crawl-wobble 0.5s ease-in-out infinite; }\n    .cs-cspider--1 { top: 10%; font-size: 17px; animation: cs-crawl-a 22s linear infinite; animation-delay: -2s; }\n    .cs-cspider--2 { top: 25%; font-size: 14px; animation: cs-crawl-b 27s linear infinite; animation-delay: -9s; }\n    .cs-cspider--3 { top: 40%; font-size: 19px; animation: cs-crawl-a 25s linear infinite; animation-delay: -15s; }\n    .cs-cspider--4 { top: 55%; font-size: 15px; animation: cs-crawl-b 30s linear infinite; animation-delay: -5s; }\n    .cs-cspider--5 { top: 70%; font-size: 18px; animation: cs-crawl-a 26s linear infinite; animation-delay: -19s; }\n    .cs-cspider--6 { top: 84%; font-size: 15px; animation: cs-crawl-b 24s linear infinite; animation-delay: -12s; }\n    @keyframes cs-crawl-wobble { 0%,100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }\n    @keyframes cs-crawl-a {\n      0%   { transform: translate(-12vw, 0); }\n      50%  { transform: translate(52vw, 12px); }\n      100% { transform: translate(118vw, -6px); }\n    }\n    @keyframes cs-crawl-b {\n      0%   { transform: translate(118vw, 0); }\n      50%  { transform: translate(52vw, -12px); }\n      100% { transform: translate(-12vw, 8px); }\n    }\n\n    \/* --- 🕸️ dangling spiders on threads scattered down the page --- *\/\n    .cs-hang { position: absolute; text-align: center; transform-origin: top center; will-change: transform; }\n    .cs-hang-thread { display: block; width: 2px; height: 40px; margin: 0 auto; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.28)); }\n    .cs-hang-spider { display: block; font-size: 18px; line-height: 1; margin-top: -2px; }\n    .cs-hang--1 { top: 15%; left: 8%;  animation: cs-hang-bob 4.2s ease-in-out infinite; animation-delay: -0.5s; }\n    .cs-hang--2 { top: 33%; left: 88%; animation: cs-hang-bob 5.1s ease-in-out infinite; animation-delay: -2s; }\n    .cs-hang--3 { top: 50%; left: 20%; animation: cs-hang-bob 4.6s ease-in-out infinite; animation-delay: -3.2s; }\n    .cs-hang--4 { top: 63%; left: 72%; animation: cs-hang-bob 5.4s ease-in-out infinite; animation-delay: -1.4s; }\n    .cs-hang--5 { top: 78%; left: 14%; animation: cs-hang-bob 4.4s ease-in-out infinite; animation-delay: -2.7s; }\n    .cs-hang--6 { top: 90%; left: 82%; animation: cs-hang-bob 5.0s ease-in-out infinite; animation-delay: -0.8s; }\n    .cs-hang--2 .cs-hang-thread, .cs-hang--4 .cs-hang-thread, .cs-hang--6 .cs-hang-thread { height: 30px; }\n    @keyframes cs-hang-bob {\n      0%, 100% { transform: translateY(0) rotate(-4deg); }\n      50%      { transform: translateY(9px) rotate(4deg); }\n    }\n\n    \/* --- hero cobwebs --- *\/\n    .cs-web { position: absolute; top: -6px; font-size: 46px; line-height: 1; opacity: 0.2; z-index: 1; animation: cs-web-flicker 5s ease-in-out infinite; }\n    .cs-web--l { left: -8px; }\n    .cs-web--r { right: -8px; transform: scaleX(-1); }\n    @keyframes cs-web-flicker { 0%,100% { opacity: 0.12; } 50% { opacity: 0.2; } }\n\n    \/* --- reviews cobwebs + bat --- *\/\n    .cs-halloween .cs-photo-reviews-section { position: relative; overflow: hidden; }\n    .cs-halloween .cs-photo-reviews-header,\n    .cs-halloween #csPhotoReviewSlider,\n    .cs-halloween #csPhotoReviewDots { position: relative; z-index: 2; }\n    .cs-spooky-layer--rev { z-index: 1; }\n    .cs-rev-web { position: absolute; top: -8px; font-size: 40px; line-height: 1; opacity: 0.13; animation: cs-web-flicker 6s ease-in-out infinite; }\n    .cs-rev-web--tl { left: -6px; }\n    .cs-rev-web--tr { right: -6px; transform: scaleX(-1); }\n    .cs-rbat { top: 10%; left: 0; font-size: 16px; opacity: 0.45; animation: cs-fly-b 18s linear infinite; animation-delay: -4s; }\n\n    \/* --- bats (outer = flight path, inner = wing flap) --- *\/\n    .cs-bat { position: absolute; left: 0; font-size: 22px; will-change: transform; }\n    .cs-bat-inner { display: inline-block; will-change: transform; animation: cs-flap 0.34s ease-in-out infinite; }\n    .cs-bat--a { top: 14%; animation: cs-fly-a 15s linear infinite; }\n    .cs-bat--b { top: 42%; font-size: 18px; animation: cs-fly-b 19s linear infinite; animation-delay: -5s; }\n    .cs-bat--c { top: 64%; font-size: 26px; animation: cs-fly-c 23s linear infinite; animation-delay: -10s; }\n    .cs-bat--d { top: 22%; font-size: 20px; animation: cs-fly-b 16s linear infinite; animation-delay: -2s; }\n    .cs-bat--e { top: 8%; font-size: 16px; animation: cs-fly-c 21s linear infinite; animation-delay: -14s; }\n    .cs-bat--f { top: 52%; font-size: 24px; animation: cs-fly-a 17s linear infinite; animation-delay: -8s; }\n    .cs-bat--g { top: 60%; font-size: 18px; animation: cs-fly-c 20s linear infinite; animation-delay: -6s; }\n    @keyframes cs-flap { 0%, 100% { transform: scaleX(1); } 50% { transform: scaleX(0.5); } }\n    @keyframes cs-fly-a {\n      0%   { transform: translate3d(-14vw, 0, 0) rotate(0deg); }\n      50%  { transform: translate3d(50vw, -28px, 0) rotate(-8deg); }\n      100% { transform: translate3d(116vw, 6px, 0) rotate(0deg); }\n    }\n    @keyframes cs-fly-b {\n      0%   { transform: translate3d(-14vw, 0, 0); }\n      50%  { transform: translate3d(55vw, 24px, 0); }\n      100% { transform: translate3d(118vw, -12px, 0); }\n    }\n    @keyframes cs-fly-c {\n      0%   { transform: translate3d(-16vw, 10px, 0) rotate(4deg); }\n      50%  { transform: translate3d(48vw, -20px, 0) rotate(-4deg); }\n      100% { transform: translate3d(120vw, 12px, 0) rotate(4deg); }\n    }\n\n    \/* --- rising drift emojis --- *\/\n    .cs-drift { position: absolute; bottom: -30px; font-size: 20px; opacity: 0; will-change: transform, opacity; }\n    .cs-drift--1 { left: 24%; animation: cs-rise 9s ease-in infinite; animation-delay: -1s; }\n    .cs-drift--2 { left: 9%;  font-size: 24px; animation: cs-rise 12s ease-in infinite; animation-delay: -5s; }\n    .cs-drift--3 { left: 40%; font-size: 18px; animation: cs-rise 10s ease-in infinite; animation-delay: -3s; }\n    @keyframes cs-rise {\n      0%   { transform: translate(0, 0); opacity: 0; }\n      12%  { opacity: 0.85; }\n      85%  { opacity: 0.85; }\n      100% { transform: translate(20px, -190px); opacity: 0; }\n    }\n\n    \/* --- spider dropping \u0026 swinging on a thread (hero) --- *\/\n    .cs-spider-thread { position: absolute; top: 0; left: 17%; width: 2px; height: 60px; background: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.28)); transform-origin: top center; will-change: height, transform; animation: cs-spider-drop 5s ease-in-out infinite; }\n    .cs-spider { position: absolute; bottom: -12px; left: 50%; margin-left: -10px; font-size: 20px; }\n    @keyframes cs-spider-drop {\n      0%   { height: 46px; transform: rotate(7deg); }\n      50%  { height: 104px; transform: rotate(-7deg); }\n      100% { height: 46px; transform: rotate(7deg); }\n    }\n\n    \/* --- blinking glowing eyes in the shadows --- *\/\n    .cs-eyes { position: absolute; display: flex; gap: 9px; z-index: 1; }\n    .cs-eyes span { width: 11px; height: 11px; border-radius: 50%;\n      background: radial-gradient(circle at 50% 42%, #ffe27a 0%, #ff8c1a 60%, #d35400 100%);\n      box-shadow: 0 0 10px 2px rgba(255,140,0,0.75); animation: cs-blink 4.2s infinite; }\n    .cs-eyes--1 { top: 24%; right: 7%; }\n    .cs-eyes--2 { bottom: 16%; left: 6%; }\n    .cs-eyes--2 span { animation-delay: -2.1s; }\n    @keyframes cs-blink {\n      0%, 43%, 100% { transform: scaleY(1); }\n      46% { transform: scaleY(0.08); }\n      49% { transform: scaleY(1); }\n      92% { transform: scaleY(1); }\n      94% { transform: scaleY(0.08); }\n      96% { transform: scaleY(1); }\n    }\n\n    \/* --- drifting fog along the bottom --- *\/\n    .cs-fog { position: absolute; bottom: -10px; left: -60%; width: 220%; height: 80px;\n      background:\n        radial-gradient(ellipse 50% 60% at 30% 60%, rgba(210,210,225,0.30), rgba(210,210,225,0) 72%),\n        radial-gradient(ellipse 45% 55% at 70% 55%, rgba(190,190,210,0.26), rgba(190,190,210,0) 72%);\n      filter: blur(3px); z-index: 1; }\n    .cs-fog--1 { animation: cs-fog-a 18s linear infinite; }\n    .cs-fog--2 { bottom: -22px; height: 100px; opacity: 0.7; animation: cs-fog-b 26s linear infinite; }\n    @keyframes cs-fog-a { 0% { transform: translateX(-6%); } 100% { transform: translateX(6%); } }\n    @keyframes cs-fog-b { 0% { transform: translateX(6%); } 100% { transform: translateX(-6%); } }\n\n    \/* --- flickering jack-o-lanterns --- *\/\n    .cs-pumpkin { position: absolute; bottom: 9%; left: 4%; font-size: 30px; line-height: 1; z-index: 1; animation: cs-pumpkin-flicker 2.3s ease-in-out infinite; }\n    .cs-pumpkin--dark { bottom: auto; top: 14%; left: auto; right: 6%; font-size: 26px; }\n    @keyframes cs-pumpkin-flicker {\n      0%,100% { filter: drop-shadow(0 0 5px rgba(255,140,0,0.55)); }\n      20% { filter: drop-shadow(0 0 13px rgba(255,150,20,0.95)); }\n      24% { filter: drop-shadow(0 0 4px rgba(255,140,0,0.35)); opacity: 0.85; }\n      28% { opacity: 1; }\n      55% { filter: drop-shadow(0 0 11px rgba(255,150,20,0.9)); }\n      60% { opacity: 0.9; }\n    }\n\n    \/* --- lightning flash + creeping vignette on the hero --- *\/\n    .cs-halloween .cs-hero-section::before {\n      content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 3;\n      background: linear-gradient(180deg, rgba(255,255,255,0.85), rgba(200,210,255,0.4));\n      opacity: 0; mix-blend-mode: screen;\n      animation: cs-lightning 11s linear infinite;\n    }\n    @keyframes cs-lightning {\n      0%, 90%, 100% { opacity: 0; }\n      91% { opacity: 0.55; }\n      92% { opacity: 0.05; }\n      93% { opacity: 0.5; }\n      94% { opacity: 0; }\n    }\n    .cs-halloween .cs-hero-section::after {\n      content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1;\n      background: radial-gradient(ellipse at 50% 45%, rgba(0,0,0,0) 52%, rgba(28,8,42,0.30) 100%);\n      animation: cs-vignette 5s ease-in-out infinite;\n    }\n    @keyframes cs-vignette { 0%,100% { opacity: 0.55; } 50% { opacity: 1; } }\n\n    \/* --- eerie flickering title glow --- *\/\n    .cs-halloween .cs-hero-title { animation: cs-eerie 3.6s ease-in-out infinite; }\n    @keyframes cs-eerie {\n      0%, 100% { text-shadow: 0 0 8px rgba(201,104,63,0.30), 0 0 18px rgba(120,60,160,0.20); }\n      45%      { text-shadow: 0 0 15px rgba(201,104,63,0.55), 0 0 32px rgba(120,60,160,0.42); }\n      46%      { opacity: 0.82; }\n      48%      { opacity: 1; }\n    }\n\n    \/* --- floating hero image --- *\/\n    .cs-halloween .cs-hero-img { animation: cs-float 5.5s ease-in-out infinite; }\n    @keyframes cs-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }\n\n    \/* --- pulsing badge --- *\/\n    .cs-halloween .cs-hero-image-badge { animation: cs-badge-pulse 2.4s ease-in-out infinite; }\n    @keyframes cs-badge-pulse {\n      0%, 100% { box-shadow: 0 8px 24px rgba(38,64,47,0.18); }\n      50%      { box-shadow: 0 10px 32px rgba(201,104,63,0.55); }\n    }\n    .cs-halloween .cs-badge-icon { display: inline-block; animation: cs-skull-bob 2.4s ease-in-out infinite; }\n    @keyframes cs-skull-bob { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-3px) rotate(-8deg); } }\n\n    \/* --- glowing ghosts in the dark How-It-Works band --- *\/\n    .cs-halloween .cs-how-section { position: relative; overflow: hidden; }\n    .cs-halloween .cs-how-section .cs-section-title,\n    .cs-halloween .cs-how-section .cs-steps-container { position: relative; z-index: 2; }\n    .cs-ghost { position: absolute; bottom: -34px; font-size: 26px; opacity: 0; text-shadow: 0 0 12px rgba(255,255,255,0.65); will-change: transform, opacity; }\n    .cs-ghost--1 { left: 12%; animation: cs-ghost-rise 9s ease-in-out infinite; animation-delay: -1s; }\n    .cs-ghost--2 { left: 52%; font-size: 32px; animation: cs-ghost-rise 12s ease-in-out infinite; animation-delay: -6s; }\n    .cs-ghost--3 { left: 80%; font-size: 22px; animation: cs-ghost-rise 10s ease-in-out infinite; animation-delay: -3s; }\n    .cs-ghost--4 { left: 33%; font-size: 28px; animation: cs-ghost-rise 11s ease-in-out infinite; animation-delay: -8s; }\n    @keyframes cs-ghost-rise {\n      0%   { transform: translate(0, 24px) rotate(0deg); opacity: 0; }\n      15%  { opacity: 0.85; }\n      50%  { transform: translate(18px, -58px) rotate(4deg); }\n      85%  { opacity: 0.85; }\n      100% { transform: translate(-6px, -150px) rotate(-4deg); opacity: 0; }\n    }\n\n    \/* --- respect reduced-motion preferences --- *\/\n    @media (prefers-reduced-motion: reduce) {\n      .cs-halloween .cs-hero-title,\n      .cs-halloween .cs-hero-img,\n      .cs-halloween .cs-hero-image-badge,\n      .cs-halloween .cs-badge-icon,\n      .cs-halloween .cs-pumpkin,\n      .cs-halloween .cs-fog,\n      .cs-halloween .cs-eyes span { animation: none !important; }\n      .cs-halloween .cs-hero-section::before,\n      .cs-halloween .cs-hero-section::after { animation: none !important; opacity: 0 !important; }\n      .cs-halloween .cs-page-fx,\n      .cs-halloween .cs-spooky-layer { display: none !important; }\n      \/* big static webs stay visible — they don't move *\/\n    }\n\n    \/* ==================== MOBILE ==================== *\/\n    @media (max-width: 749px) {\n      .cs-hero-section { padding: 34px 22px; }\n      .cs-hero-title { font-size: 32px; }\n      .cs-hero-subtitle { font-size: 15px; }\n      .cs-hero-features { grid-template-columns: 1fr; max-width: 100%; }\n      .cs-hero-image-badge { bottom: 10px; right: 10px; padding: 6px 11px; gap: 7px; }\n      .cs-badge-icon { font-size: 16px; }\n      .cs-badge-text strong { font-size: 12px; }\n      .cs-badge-text span { font-size: 9px; }\n\n      .cs-netweb--corner { width: 120px; height: 120px; }\n      .cs-netweb--htop, .cs-netweb--hbot { width: 160px; height: 80px; }\n      .cs-netweb--hleft, .cs-netweb--hright { width: 80px; height: 160px; }\n\n      .cs-photo-reviews-section { padding: 24px 16px; border-radius: 18px; }\n      .cs-pr-title { font-size: 22px; }\n      .cs-pr-subtitle { font-size: 13px; }\n      .cs-photo-review-card { flex: 0 0 240px; }\n      .cs-pr-image { height: 240px; }\n\n      .cs-preview-section { padding: 24px 16px; }\n      .cs-preview-grid-small { max-width: 320px; gap: 12px; }\n      .cs-preview-grid-small .cs-preview-page { max-width: 150px; }\n      .cs-preview-lock-icon { font-size: 22px; margin-bottom: 4px; }\n      .cs-preview-lock-title { font-size: 11px; margin-bottom: 3px; }\n      .cs-preview-lock-text { font-size: 9px; margin-bottom: 8px; max-width: 130px; }\n      .cs-preview-lock-btn { padding: 5px 11px; font-size: 9px; }\n      .cs-preview-label { font-size: 10px; padding: 4px 8px; margin-top: 6px; }\n\n      .cs-lifestyle-caption { padding: 16px 18px; }\n      .cs-lifestyle-icon { font-size: 20px; }\n      .cs-lifestyle-caption p { font-size: 14px; }\n\n      .cs-info-box { flex-direction: column; gap: 14px; padding: 18px; }\n      .cs-info-divider { display: none; }\n      .cs-info-item { width: 100%; }\n      .cs-steps-container { flex-direction: column; }\n      .cs-step-arrow { transform: rotate(90deg); }\n      .cs-section-title { font-size: 22px; }\n      .cs-zoom-close { top: 12px; right: 18px; }\n    }\n  \u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"crochetschool.shop","offers":[{"title":"Default Title","offer_id":48840660713629,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0779\/8466\/1661\/files\/ChatGPT_Image_Aug_3_2026_06_14_14_PM.png?v=1787719622","url":"https:\/\/crochetacademy.shop\/products\/spiderweb-crochet-top-pattern-custom-size-pdf","provider":"crochetacademy.shop","version":"1.0","type":"link"}