{"product_id":"halloween-crochet-bouquet-pattern-🎃👻-ghost-bat-pumpkin-pdf-15-17","title":"Halloween Crochet Bouquet Pattern 🎃👻 - Ghost, Bat, Pumpkin","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 Halloween Bouquet 🎃👻\u003c\/h1\u003e\n\u003cp class=\"cs-hero-subtitle\"\u003eCreate a stunning handmade Halloween bouquet that will never wilt — adorable ghosts, bats, a ribbed pumpkin, realistic layered roses, botanical foliage, and delicate accent flowers, all in one 17-page PDF. You'll crochet each element individually before assembling everything into a beautiful, harmonious bouquet standing approximately 40–44 cm tall — a bewitching centerpiece, gothic decoration, or unforgettable gift.\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\u003eGhosts, bats, roses \u0026amp; pumpkin\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 level\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. 40–44 cm tall\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\u003eAmerican terms · 17-page PDF\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=\"Crochet Halloween Bouquet Pattern - Ghosts Bats Pumpkin and Roses\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_10_06_40_PM_430x.webp?v=1787260032\"\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\u003eHalloween Bouquet\u003c\/strong\u003e \u003cspan\u003eNever wilts\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 bouquets made by real customers, ready for Halloween\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=\"Halloween Bouquet by Albertine\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_07_PM_10_430x.webp?v=1787260528\"\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\"\u003eMy finished bouquet looks exactly like the listing photos I could not be happier\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eAlbertine 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 2 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Brunhilde\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_06_PM_9_430x.webp?v=1787260528\"\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 three little ghosts peeking out between the roses are the sweetest detail\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eBrunhilde 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=\"Halloween Bouquet by Celestina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_05_PM_8_430x.webp?v=1787260529\"\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 layered roses look so realistic people cannot believe they are crocheted\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eCelestina 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 4 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Delphina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_04_PM_7_430x.webp?v=1787260528\"\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 ribbed pumpkin nestled in the middle ties the whole bouquet together\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eDelphina 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 5 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Eugenia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_02_PM_6_430x.webp?v=1787260529\"\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 little bats in black and orange add just the right amount of spookiness\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eEugenia 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 6 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Felicitas\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_34_00_PM_5_430x.webp?v=1787260529\"\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\"\u003eIt makes the most gorgeous fall centerpiece on my dining table\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eFelicitas 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 7 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Gisela\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_59_PM_4_430x.webp?v=1787260529\"\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 purple filler strands and cream sprays give it such an elegant gothic feel\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eGisela 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 8 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Henrike\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_58_PM_3_430x.webp?v=1787260528\"\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 guide showed me exactly where to place every ghost bat and rose\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eHenrike 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 9 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Isabeau\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_57_PM_2_430x.webp?v=1787260529\"\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 black botanical foliage makes the whole arrangement feel dramatic and lush\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eIsabeau 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 10 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Josephina\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_57_PM_10_430x.webp?v=1787260529\"\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\"\u003eI followed the wrapping and ribbon guide and mine looks like it came from a florist\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eJosephina 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 11 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Katinka\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_57_PM_1_430x.webp?v=1787260529\"\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 a confident beginner I found every section clearly organized and easy to follow\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eKatinka 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 12 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Leontine\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_56_PM_9_430x.webp?v=1787260529\"\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\"\u003eAll eleven roses took me a while but crocheting them became so relaxing\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eLeontine 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 13 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Marceline\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_55_PM_8_430x.webp?v=1787260529\"\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 this as a birthday gift for my gothic loving friend and she was speechless\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eMarceline 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 14 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Norberta\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_55_PM_7_430x.webp?v=1787260529\"\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\"\u003eMine stands about 42 cm tall and looks stunning on the entryway console\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eNorberta 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=\"Halloween Bouquet by Odalys\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_53_PM_6_430x.webp?v=1787260529\"\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 troubleshooting section saved me when my rose layers were not sitting right\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eOdalys 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=\"Halloween Bouquet by Philomena\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_52_PM_5_430x.webp?v=1787260529\"\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\"\u003eI used it as a photography prop for my autumn shoots and clients adore it\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003ePhilomena 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 17 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Quintessa\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_51_PM_4_430x.webp?v=1787260528\"\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 largest ghost has so much personality he is the star of my arrangement\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eQuintessa 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 18 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Rosalba\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_51_PM_3_430x.webp?v=1787260529\"\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\"\u003eI am considering it for my October wedding as an alternative bridal bouquet\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eRosalba 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 19 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Sidonie\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_50_PM_2_430x.webp?v=1787260528\"\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 bouquet that never wilts is genius mine will come out every October for years\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eSidonie 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 20 --\u003e\n\u003cdiv class=\"cs-photo-review-card\"\u003e\n\u003cimg loading=\"lazy\" class=\"cs-pr-image\" alt=\"Halloween Bouquet by Theodosia\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPT_Image_Aug_20_2026_09_33_50_PM_1_430x.webp?v=1787260529\"\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 planning a second bouquet in different colours this pattern is a treasure\u003c\/p\u003e\n\u003cdiv class=\"cs-pr-author\"\u003e\n\u003cspan class=\"cs-pr-name\"\u003eTheodosia U\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 unlimited bouquets\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\u003ePremium Guide\u003c\/strong\u003e \u003cspan\u003ePhotos, troubleshooting \u0026amp; quality checklists\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=\"Halloween Bouquet - Free Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug20_2026_03_32_40PM_8_430x.webp?v=1787259961\"\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=\"Halloween Bouquet - Locked Preview\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug20_2026_03_32_38PM_1_430x.webp?v=1787259961\"\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=\"Halloween Bouquet - Free Preview enlarged\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug20_2026_03_32_40PM_8_430x.webp?v=1787259961\"\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=\"Halloween Bouquet - Ghosts bats pumpkin and layered roses\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug20_2026_03_32_38PM_1_430x.webp?v=1787259961\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e💐\u003c\/span\u003e\n\u003cp\u003eGhosts, bats, a ribbed pumpkin, and layered roses — a handmade bouquet that never wilts\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\u003e17-Page PDF Pattern\u003c\/h4\u003e\n\u003cp\u003eProfessional layout in standard American crochet terminology\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\u003eAll Bouquet Elements\u003c\/h4\u003e\n\u003cp\u003e3 ghosts, 3 bats, 11 layered roses, ribbed pumpkin \u0026amp; accent flowers\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\u003eFillers \u0026amp; Foliage\u003c\/h4\u003e\n\u003cp\u003ePurple filler strands, cream flower sprays \u0026amp; black botanical foliage\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; Wrapping\u003c\/h4\u003e\n\u003cp\u003eComplete bouquet assembly plus wrapping \u0026amp; ribbon guide\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\u003eExtra Support\u003c\/h4\u003e\n\u003cp\u003eStitch guide, troubleshooting, FAQs, quality checklists \u0026amp; care 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\u003ePrintable PDF. No shipping. Start crocheting right away.\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\u003eDK yarn (#3)\u003c\/strong\u003e — for all bouquet elements\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\u003eRecommended hooks\u003c\/strong\u003e — sizes listed in the PDF\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\u003eStuffing\u003c\/strong\u003e — to shape the ghosts \u0026amp; pumpkin\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\u003eYarn needle \u0026amp; scissors\u003c\/strong\u003e — for assembly \u0026amp; finishing\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\u003eWrapping \u0026amp; ribbon\u003c\/strong\u003e — to finish the bouquet\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\u003eFull list in the PDF\u003c\/strong\u003e — everything detailed inside\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 — confident beginner\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 — 17-page printable 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\u003eFinished size\u003c\/strong\u003e — approx. 40–44 cm \/ 15.75–17.25 in tall\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 — 3 ghosts, 3 bats, 11 roses, pumpkin \u0026amp; foliage\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\u003eTerminology\u003c\/strong\u003e — standard American 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\u003eNote\u003c\/strong\u003e — final size varies with yarn, hook \u0026amp; tension\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=\"Halloween Bouquet - Gothic autumn decoration detail\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0604\/9451\/2257\/files\/ChatGPTImageAug20_2026_03_32_38PM_2_430x.webp?v=1787259961\"\u003e\n\u003cdiv class=\"cs-lifestyle-caption\"\u003e\n\u003cspan class=\"cs-lifestyle-icon\"\u003e🖤\u003c\/span\u003e\n\u003cp\u003ePurple strands, cream sprays, and black foliage — every element designed for a harmonious, elegant bouquet\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 decoration\u003c\/strong\u003e — a bewitching seasonal accent\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 — dark elegance 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\u003eFall centerpieces\u003c\/strong\u003e — for tables \u0026amp; Halloween parties\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 bridal bouquet\u003c\/strong\u003e — for a gothic wedding\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 — birthdays \u0026amp; crochet enthusiasts\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\u003eProps \u0026amp; displays\u003c\/strong\u003e — photography \u0026amp; seasonal markets\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\u003eNever wilts\u003c\/strong\u003e — a bouquet to enjoy for years\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\u003eElement by element\u003c\/strong\u003e — crochet each piece before 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\u003eBeginner-friendly\u003c\/strong\u003e — clearly organized sections\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\u003ePremium extras\u003c\/strong\u003e — troubleshooting, checklists \u0026amp; photo tips\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\u003eSpooky yet elegant\u003c\/strong\u003e — ghosts \u0026amp; bats among realistic roses\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 unlimited bouquets forever\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 suitable for beginners?\u003c\/summary\u003e\n\u003cp\u003eYes! The pattern is designed for confident beginners. Each section is carefully organized with clear instructions, detailed stitch explanations, professional assembly steps, troubleshooting help, quality checklists, and realistic photos — you crochet each element individually before assembling, which makes the project much less intimidating.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat elements are included?\u003c\/summary\u003e\n\u003cp\u003eThe bouquet includes 3 ghosts (large, medium, and small), 3 bats (1 black, 2 orange), 11 layered crochet roses, 1 ribbed pumpkin, purple filler strands, cream flower sprays, and black botanical foliage — plus the complete assembly, wrapping, and ribbon guides.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eHow big is the finished bouquet?\u003c\/summary\u003e\n\u003cp\u003eThe finished bouquet stands approximately 40–44 cm (15.75–17.25 inches) tall using DK (#3) yarn and the recommended hook sizes. The final result may vary with your yarn, hook, and tension.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat terminology does the pattern use?\u003c\/summary\u003e\n\u003cp\u003eThe pattern is written in standard American crochet terminology across 17 professionally laid out pages, with easy-to-follow stitch counts, high-quality guide photos, and helpful designer tips.\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 PDF crochet pattern only — no physical finished item will be shipped. After purchase, simply download the printable PDF and start crocheting your bouquet straight away.\u003c\/p\u003e\n\u003c\/details\u003e\n\u003cdetails class=\"cs-faq-item\"\u003e\n\u003csummary\u003eWhat can I use the finished bouquet for?\u003c\/summary\u003e\n\u003cp\u003eIt makes a gorgeous Halloween decoration, gothic home decor piece, fall centerpiece, Halloween party decoration, photography prop, seasonal market display, alternative bridal bouquet, or a handmade gift for birthdays and crochet enthusiasts.\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% { trans\u003c\/style\u003e","brand":"crochetschool.shop","offers":[{"title":"Default Title","offer_id":48840660943005,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0779\/8466\/1661\/files\/ChatGPTImageAug20_2026_03_32_38PM_1.webp?v=1787719630","url":"https:\/\/crochetacademy.shop\/products\/halloween-crochet-bouquet-pattern-%f0%9f%8e%83%f0%9f%91%bb-ghost-bat-pumpkin-pdf-15-17","provider":"crochetacademy.shop","version":"1.0","type":"link"}