{"product_id":"crochet-skeleton-doll-on-swing-pattern-halloween-amigurumi-pdf-12","title":"Swinging Skeleton Doll Crochet Pattern – Halloween Amigurumi","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\"\u003eSwing Skeleton Doll 💀\u003c\/h1\u003e\n\u003cp class=\"cs-hero-subtitle\"\u003eCreate your own spooky and adorable Halloween Skeleton Doll sitting on a handmade swing with this detailed crochet pattern. This unique Halloween amigurumi design combines a cute creepy doll, oversized expressive eyes, a sculpted hood, flowing cape, tiny hands, bell sleeves, decorative accessories, and a hanging swing — display it as a wall hanging, seasonal ornament, shelf decoration, door decoration, or handmade gift. Please note: this listing is for a digital crochet pattern only. No physical doll, swing, or finished product will be shipped.\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\u003eDoll + swing, bat, candy corn \u0026amp; star\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\u003eApprox. 30 cm \/ 12 in doll, 40–42 cm hung\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\u003eConfident beginner to intermediate\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\u003eStep-by-step image guide included\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=\"Halloween Swing Skeleton Doll Crochet Pattern - Gothic Amigurumi PDF\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_44PM_430x.webp?v=1789838568\"\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\u003eSwing Skeleton Doll\u003c\/strong\u003e \u003cspan\u003eCreepy-cute hanging decor\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 swing skeleton dolls made by real customers, swinging all spooky season\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=\"Swing skeleton doll by Amelberga\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_50_PM_1_430x.webp?v=1789838836\"\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\"\u003eShe swings by my entryway and every visitor stops to say hello to her\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eAmelberga 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 2 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Bernadina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_50_PM_2_430x.webp?v=1789838836\"\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 oversized expressive eyes give her so much personality creepy and adorable at once\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eBernadina 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 3 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Crescenzia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_51_PM_3_430x.webp?v=1789838836\"\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 sculpted hood with its long curved point and embroidered stars is pure gothic magic\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eCrescenzia 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 4 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Dietburga\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_52_PM_4_430x.webp?v=1789838836\"\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 flowing cape and bell sleeves drape beautifully over the little hidden cone body\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eDietburga 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 5 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Engelberta\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_52_PM_5_430x.webp?v=1789838836\"\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 tiny crochet hands peeking out of the bell sleeves are my favourite detail\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eEngelberta 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 6 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Friedegunda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_53_PM_7_430x.webp?v=1789838835\"\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 double layer swing seat is properly sturdy she sits perfectly without slumping\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eFriedegunda 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 7 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Gundelinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_54_PM_8_430x.webp?v=1789838836\"\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 mini bat candy corn and puffy star accessories finish the whole scene adorably\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eGundelinda 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 8 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Hiltrauda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_55_PM_9_430x.webp?v=1789838835\"\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 face sculpting and embroidery guidance gave her the sweetest little nose and smile\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eHiltrauda 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 9 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Irmelinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_56_PM_10_430x.webp?v=1789838836\"\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 eye patch detail makes her look like the captain of a tiny ghost ship\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eIrmelinda 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 10 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Jorgelina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_58_PM_1_430x.webp?v=1789838836\"\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\"\u003eAt 12 inches tall she is a real presence on my shelf not a tiny trinket\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eJorgelina 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 11 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Kunigunda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_20_59_PM_2_430x.webp?v=1789838836\"\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\"\u003eStitch counts throughout meant I never lost my place working the rounds\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eKunigunda 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 12 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Leutgarda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_00_PM_3_430x.webp?v=1789838836\"\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 step by step image guide made the swing assembly and doll attachment foolproof\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLeutgarda 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 13 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Mechthilda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_00_PM_4_430x.webp?v=1789838836\"\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\"\u003eComfortable with basic amigurumi and this stretched me just enough without frustration\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMechthilda 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 14 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Notburgis\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_01_PM_5_430x.webp?v=1789838836\"\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 hood drawstring and pom pom are such sweet finishing touches on the costume\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eNotburgis 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 15 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Odilberta\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_02_PM_6_430x.webp?v=1789838836\"\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\"\u003eHung her on my front door with the tassels swaying she greets the trick or treaters\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eOdilberta 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 16 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Praxedis\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_02_PM_7_430x.webp?v=1789838836\"\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 her in different colours as a gift for my gothic doll collecting friend she wept\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003ePraxedis 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 17 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Reginlinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_03_PM_8_430x.webp?v=1789838836\"\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\"\u003ePlanning to swap her accessories for winter and spring so she can swing all year\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eReginlinda E\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=\"Swing skeleton doll by Sunnhilda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_21_04_PM_9_430x.webp?v=1789838836\"\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 pattern support answered my question about the neck support the very same day\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSunnhilda 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 19 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Swing skeleton doll by Theodolinda\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Sep_19_2026_06_25_08_PM_430x.png?v=1789838836\"\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\"\u003eAlready making a second doll in autumn colours so the swing never hangs empty after October\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eTheodolinda 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\/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, customize every season\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\u003ePattern Support\u003c\/strong\u003e \u003cspan\u003eContact the shop with any question\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=\"Swing Skeleton Doll - Free Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_39PM_9_430x.webp?v=1789838569\"\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=\"Swing Skeleton Doll - Locked Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_35PM_3_430x.webp?v=1789838569\"\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=\"Swing Skeleton Doll - Free Preview enlarged\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_39PM_9_430x.webp?v=1789838569\"\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=\"Swing Skeleton Doll - Hood, cape and swing details\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_35PM_3_430x.webp?v=1789838569\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e💀\u003c\/span\u003e\n\u003cp\u003eOversized expressive eyes, a sculpted hood with embroidered stars, a flowing cape, bell sleeves, tiny hands, tassels — and a mini bat, puffy candy corn and puffy star to keep her company\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\u003eComplete Doll Instructions\u003c\/h4\u003e\n\u003cp\u003eHead construction, face \u0026amp; eye placement, eye patch, sculpting, nose \u0026amp; smile embroidery\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\u003eHood \u0026amp; Cape Patterns\u003c\/h4\u003e\n\u003cp\u003eSculpted hood, curved point, embroidered stars, drawstring \u0026amp; pom-pom, flowing cape\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\u003eBody, Sleeves \u0026amp; Hands\u003c\/h4\u003e\n\u003cp\u003eHidden cone body, oversized bell sleeves \u0026amp; tiny crochet hands\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\u003eSwing \u0026amp; Assembly\u003c\/h4\u003e\n\u003cp\u003eDouble-layer reinforced seat, hanging rope, tassels, attachment \u0026amp; finishing checks\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\u003eMini Accessories\u003c\/h4\u003e\n\u003cp\u003e3D bat, puffy candy corn \u0026amp; puffy star patterns\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\u003eImage Guide \u0026amp; Extras\u003c\/h4\u003e\n\u003cp\u003eStep-by-step images, stitch counts, measurements \u0026amp; customization ideas\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- MATERIALS YOU'LL NEED --\u003e\n\u003cdiv class=\"cs-why-section\"\u003e\n\u003ch2 class=\"cs-section-title\"\u003e🧶 Materials You'll Need\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\u003eSport #2 or light DK #3 yarn\u003c\/strong\u003e — main color approx. 140–160 g, ivory\/cream approx. 40–50 g\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\u003eAccent yarns\u003c\/strong\u003e — white approx. 15 g, black approx. 10 g, plus small amounts of gray, orange \u0026amp; yellow\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\u003e2.25 mm hook\u003c\/strong\u003e — plus safety eyes \u0026amp; polyester fiberfill\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\u003eNeedles \u0026amp; markers\u003c\/strong\u003e — yarn needle, small embroidery needle, stitch markers, scissors\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\u003eSwing hardware\u003c\/strong\u003e — wooden dowel, strong cotton cord, seat reinforcement (plastic canvas or firm felt), skewer for neck support\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\u003eOptional\u003c\/strong\u003e — fabric glue for extra security\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\u003eDoll height\u003c\/strong\u003e — approx. 30 cm \/ 12 in; head approx. 8 cm \/ 3¼ in\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\u003eSwing seat\u003c\/strong\u003e — approx. 10 × 7 cm \/ 4 × 2¾ in\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\u003eHanging height\u003c\/strong\u003e — approx. 40–42 cm \/ 16–16½ in overall\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\u003eSkill level\u003c\/strong\u003e — confident beginner to intermediate\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\u003eTechniques\u003c\/strong\u003e — magic ring through treble, BLO\/FLO, invisible decrease, rounds, sewing, embroidery \u0026amp; simple sculpting\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 pattern only, nothing shipped\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=\"Swing Skeleton Doll - Halloween hanging decoration\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_34PM_1_430x.webp?v=1789838569\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🎃\u003c\/span\u003e\n\u003cp\u003eWall hanging, seasonal ornament, shelf decoration or door greeter — and with swapped accessories she works for autumn, winter, Christmas, Valentine's and spring too\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 \u0026amp; spooky season decor\u003c\/strong\u003e — wall hangings \u0026amp; ornaments\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\u003eGothic home decor\u003c\/strong\u003e — creepy-cute, all year round\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\u003eAmigurumi collectors\u003c\/strong\u003e — a unique sculptural project\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 Halloween gifts\u003c\/strong\u003e — for gothic doll lovers\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\u003eDIY spooky decorations\u003c\/strong\u003e — door, shelf \u0026amp; seasonal displays\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\u003eSeason swappers\u003c\/strong\u003e — adapt her for autumn through spring\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\u003eCreepy meets cute\u003c\/strong\u003e — a skeleton doll with real 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\u003eA complete scene\u003c\/strong\u003e — doll, swing, bat, candy corn \u0026amp; star\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\u003eGuided throughout\u003c\/strong\u003e — stitch counts, image guide \u0026amp; quality checks\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\u003eBuilt to hang\u003c\/strong\u003e — reinforced seat \u0026amp; sturdy assembly\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\u003eEndlessly customizable\u003c\/strong\u003e — new colors \u0026amp; accessories per season\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 — plus pattern support from the shop\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 a finished doll?\u003c\/summary\u003e\n\u003cp\u003eNo — this listing is for a digital crochet pattern only. No physical doll, swing, or finished product will be shipped. After purchase, you'll receive the digital pattern instructions needed to create your own Halloween Swing Skeleton Doll.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat size is the finished doll?\u003c\/summary\u003e\n\u003cp\u003eUsing the recommended yarn and hook size: doll height approx. 30 cm \/ 12 inches, head diameter approx. 8 cm \/ 3¼ inches, swing seat approx. 10 × 7 cm \/ 4 × 2¾ inches, and overall hanging height approx. 40–42 cm \/ 16–16½ inches.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat skill level do I need?\u003c\/summary\u003e\n\u003cp\u003eConfident beginner to intermediate. The pattern includes detailed instructions and suits crocheters comfortable with basic amigurumi techniques: working in rounds, increases, decreases, sewing pieces together, and simple embroidery. Techniques used include magic ring, chain, slip stitch, single through treble crochet, invisible decrease, back and front loop only, and simple sculpting.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat materials do I need?\u003c\/summary\u003e\n\u003cp\u003eSport\/fine weight #2 or light DK #3 yarn — ivory or cream approx. 40–50 g, main color approx. 140–160 g, white approx. 15 g, black approx. 10 g, plus small amounts of gray, orange and yellow. You'll also need a 2.25 mm hook, safety eyes, polyester fiberfill, stitch markers, a yarn needle, a small embroidery needle, a wooden skewer for neck support, a wooden dowel and strong cotton cord for the swing, seat reinforcement (plastic canvas or firm felt), scissors, and optional fabric glue.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eCan I customize the doll?\u003c\/summary\u003e\n\u003cp\u003eYes — personalize her by changing the hood and cape colors or using different seasonal accessories. The design adapts to Halloween, autumn, winter, Christmas, Valentine's Day, and spring-inspired themes, and customization ideas are included in the pattern.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat if I get stuck on a step?\u003c\/summary\u003e\n\u003cp\u003eThe pattern includes a step-by-step image guide — especially helpful for assembling the doll, positioning details, and attaching the swing. If you still have questions or need clarification about a pattern step, feel free to contact the shop for pattern support.\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    .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    .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","brand":"crochetschool.shop","offers":[{"title":"Default Title","offer_id":40926807359617,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageSep19_2026_06_20_34PM_1.webp?v=1789838569","url":"https:\/\/crochetschool.shop\/products\/crochet-skeleton-doll-on-swing-pattern-halloween-amigurumi-pdf-12","provider":"crochetschool.shop","version":"1.0","type":"link"}