<!DOCTYPE html><html lang="en" class="scroll-smooth"> <head><!-- Essential meta tags --><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- SEO meta tags --><title>Premium Pumpkin Delivery &amp; Fall Display Service | Utah, Idaho, Wyoming</title><meta name="description" content="Professional autumn display service delivering beautiful pumpkin arrangements to your doorstep. Serving Utah, Idaho &#38; Wyoming with expert setup, maintenance, and seasonal styling. Book your fall magic today!"><meta name="keywords" content="pumpkin delivery Utah, fall decorations Salt Lake City, autumn displays Jackson Hole, pumpkin delivery Idaho Wyoming, professional pumpkin setup, pumpkin patch alternative, seasonal decor Park City, fall display service Boise, autumn decorations Sun Valley, pumpkin arrangement Moab, Mountain Porch Pumpkins"><meta name="author" content="Mountain Porch Pumpkins"><meta name="geo.region" content="US-UT"><meta name="geo.placename" content="Riverdale, Utah"><meta name="geo.position" content="41.1732;-111.9391"><meta name="ICBM" content="41.1732, -111.9391"><link rel="canonical" href="https://mountain-porch-pumpkins.pages.dev/"><!-- Open Graph / Facebook --><meta property="og:type" content="website"><meta property="og:url" content="https://mountain-porch-pumpkins.pages.dev/"><meta property="og:title" content="Premium Pumpkin Delivery &#38; Fall Display Service | Utah, Idaho, Wyoming"><meta property="og:description" content="Professional autumn display service delivering beautiful pumpkin arrangements to your doorstep. Serving Utah, Idaho &#38; Wyoming with expert setup, maintenance, and seasonal styling. Book your fall magic today!"><meta property="og:image" content="https://mountain-porch-pumpkins.pages.dev/images/MPP-Hero.webp"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:site_name" content="Mountain Porch Pumpkins"><meta property="og:locale" content="en_US"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:url" content="https://mountain-porch-pumpkins.pages.dev/"><meta name="twitter:title" content="Premium Pumpkin Delivery &#38; Fall Display Service | Utah, Idaho, Wyoming"><meta name="twitter:description" content="Professional autumn display service delivering beautiful pumpkin arrangements to your doorstep. Serving Utah, Idaho &#38; Wyoming with expert setup, maintenance, and seasonal styling. Book your fall magic today!"><meta name="twitter:image" content="https://mountain-porch-pumpkins.pages.dev/images/MPP-Hero.webp"><meta name="twitter:image:alt" content="Mountain Porch Pumpkins - Professional pumpkin delivery and display service"><!-- Additional SEO for images and galleries --><meta name="image" content="https://mountain-porch-pumpkins.pages.dev/images/MPP-Hero.webp"><meta name="thumbnail" content="https://mountain-porch-pumpkins.pages.dev/images/MPP-Hero.webp"><meta property="og:image:alt" content="Mountain Porch Pumpkins - Professional pumpkin delivery and display service"><meta property="og:image:type" content="image/webp"><meta name="pinterest-rich-pin" content="true"><meta name="format-detection" content="telephone=yes"><meta name="apple-mobile-web-app-title" content="Mountain Porch Pumpkins"><!-- Favicon --><link rel="icon" type="image/jpeg" href="/favicon.jpg"><link rel="icon" type="image/jpeg" sizes="32x32" href="/images/MPP logo.jpg"><link rel="icon" type="image/jpeg" sizes="16x16" href="/images/MPP logo.jpg"><link rel="apple-touch-icon" sizes="180x180" href="/images/MPP logo.jpg"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json"><!-- Performance optimizations --><meta name="theme-color" content="#BF9264"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><!-- Preconnect to external domains --><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="anonymous"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"><link rel="preconnect" href="https://js.stripe.com" crossorigin="anonymous"><!-- Stripe Configuration --><meta name="stripe-publishable-key" content="pk_test_51Rt7jZCnbuNOfoP4asHIRMKlfyGO3osWLykNkGnIJcY5cHl1ljExUFmyi1UI5KkA9okGcTC9nvQVKaNtbvFPOgAZ00C9K9chj6"><!-- Critical fonts preloaded --><link rel="preload" href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'"><noscript><link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700;800&display=swap" rel="stylesheet"></noscript><!-- Structured Data --><script type="application/ld+json">{"@context":"https://schema.org","@type":"LocalBusiness","name":"Mountain Porch Pumpkins","description":"Professional pumpkin delivery and display service bringing autumn magic to your doorstep. Skip the pumpkin patch hassle - more time with family, less time driving to farms.","url":"https://mountainporchpumpkins.com","telephone":"+1-801-367-3342","email":"hello@mountainporchpumpkins.com","address":{"@type":"PostalAddress","addressLocality":"Riverdale","addressRegion":"UT","addressCountry":"US"},"areaServed":[{"@type":"State","name":"Utah"},{"@type":"State","name":"Idaho"},{"@type":"State","name":"Wyoming"}],"priceRange":"$349-$999","openingHours":"Mo-Su 08:00-18:00","foundingDate":"2020","serviceArea":{"@type":"GeoCircle","geoMidpoint":{"@type":"GeoCoordinates","latitude":"41.1732","longitude":"-111.9391"},"geoRadius":"500000"},"hasOfferCatalog":{"@type":"OfferCatalog","name":"Pumpkin Display Packages","itemListElement":[{"@type":"Offer","itemOffered":{"@type":"Service","name":"Harvest Essentials Package","description":"Perfect for apartments and small porches"},"price":"349","priceCurrency":"USD"},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Pumpkin Charm Package","description":"Ideal for small to medium porches"},"price":"599","priceCurrency":"USD"},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Fall Favorites Package","description":"Our most popular package for medium to large porches"},"price":"799","priceCurrency":"USD"},{"@type":"Offer","itemOffered":{"@type":"Service","name":"Autumn Splendor Package","description":"Grand displays for large spaces and luxury properties"},"price":"999","priceCurrency":"USD"}]}}</script><!-- Critical CSS inlined by Astro --><link rel="stylesheet" href="/assets/debug-stripe.BO1IMkW3.css">
<link rel="stylesheet" href="/assets/index.Xfhdy-4U.css">
<link rel="stylesheet" href="/assets/index.ByyLzcJl.css">
<link rel="stylesheet" href="/assets/index.CMy5Jmcn.css"><script type="module" src="/assets/page.By1pHEjV.js"></script></head> <body class="font-poppins bg-cream text-forest antialiased"> <!-- Skip to main content for accessibility --> <a href="#main-content" class="sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 bg-autumn text-white px-4 py-2 rounded-md z-50">
Skip to main content
</a> <!-- Header slot --> <header class="fixed top-0 w-full z-50 bg-white shadow-lg" data-astro-cid-pux6a34n> <!-- Top Contact Bar --> <div class="bg-gradient-to-r from-orange-800 to-red-900 text-white py-2" data-astro-cid-pux6a34n> <div class="container mx-auto px-4" data-astro-cid-pux6a34n> <div class="flex items-center justify-between text-sm" data-astro-cid-pux6a34n> <div class="flex items-center space-x-6" data-astro-cid-pux6a34n> <div class="flex items-center space-x-2" data-astro-cid-pux6a34n> <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-pux6a34n> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" data-astro-cid-pux6a34n></path> </svg> <span data-astro-cid-pux6a34n>1-801-900-3221</span> </div> <div class="hidden md:flex items-center space-x-2" data-astro-cid-pux6a34n> <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-pux6a34n> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-pux6a34n></path> </svg> <span data-astro-cid-pux6a34n>Mon-Sat: 8AM-6PM</span> </div> </div> <div class="hidden md:flex items-center space-x-4" data-astro-cid-pux6a34n> <span class="flex items-center space-x-1" data-astro-cid-pux6a34n> <span class="text-orange-200" data-astro-cid-pux6a34n>🍂</span> <span data-astro-cid-pux6a34n>Fall Season Now Active</span> </span> </div> </div> </div> </div> <!-- Main Navigation --> <nav class="bg-white border-b border-gray-100" x-data="{ mobileMenuOpen: false }" data-astro-cid-pux6a34n> <div class="container mx-auto px-4 py-4" data-astro-cid-pux6a34n> <div class="flex items-center justify-between" data-astro-cid-pux6a34n> <!-- Brand Section --> <a href="/" class="flex items-center space-x-3 hover:opacity-90 transition-opacity group" data-astro-cid-pux6a34n> <div class="relative" data-astro-cid-pux6a34n> <img src="/images/MPP logo.jpg" alt="Mountain Porch Pumpkins Logo" class="h-12 w-auto filter drop-shadow-md group-hover:scale-105 transition-transform" loading="eager" data-astro-cid-pux6a34n> <!-- Subtle autumn accent --> <div class="absolute -top-1 -right-1 w-3 h-3 bg-orange-500 rounded-full opacity-80" data-astro-cid-pux6a34n></div> </div> <div class="hidden sm:block" data-astro-cid-pux6a34n> <h1 class="text-gray-800 font-serif font-bold text-xl leading-tight" data-astro-cid-pux6a34n>
Mountain Porch Pumpkins
</h1> <p class="text-orange-600 font-medium text-sm" data-astro-cid-pux6a34n>
Premium Fall Display Service
</p> </div> </a> <!-- Desktop Navigation --> <div class="hidden lg:flex items-center space-x-8" data-astro-cid-pux6a34n> <a href="#showcase" class="text-gray-700 hover:text-orange-600 transition-colors font-medium py-2 px-1 border-b-2 border-transparent hover:border-orange-300" data-astro-cid-pux6a34n> Inspiration </a><a href="#packages" class="text-gray-700 hover:text-orange-600 transition-colors font-medium py-2 px-1 border-b-2 border-transparent hover:border-orange-300" data-astro-cid-pux6a34n> Packages </a><a href="#about" class="text-gray-700 hover:text-orange-600 transition-colors font-medium py-2 px-1 border-b-2 border-transparent hover:border-orange-300" data-astro-cid-pux6a34n> About </a><a href="#service-area" class="text-gray-700 hover:text-orange-600 transition-colors font-medium py-2 px-1 border-b-2 border-transparent hover:border-orange-300" data-astro-cid-pux6a34n> Service Area </a> <button onclick="window.navigateToPackages()" class="bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white px-6 py-3 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl" data-astro-cid-pux6a34n> Get Free Quote </button> </div> <!-- Mobile Menu Button --> <button type="button" @click="mobileMenuOpen = !mobileMenuOpen" :aria-expanded="mobileMenuOpen" class="lg:hidden text-gray-700 p-2 rounded-lg hover:bg-gray-100 transition-colors relative z-50" aria-label="Toggle navigation menu" data-astro-cid-pux6a34n> <svg class="h-6 w-6 transition-transform duration-200" :class="{ 'rotate-90': mobileMenuOpen }" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-pux6a34n> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" x-show="!mobileMenuOpen" d="M4 6h16M4 12h16M4 18h16" data-astro-cid-pux6a34n></path> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" x-show="mobileMenuOpen" d="M6 18L18 6M6 6l12 12" data-astro-cid-pux6a34n></path> </svg> </button> </div> </div> <!-- Mobile Menu --> <div x-show="mobileMenuOpen" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0 transform -translate-y-4" x-transition:enter-end="opacity-100 transform translate-y-0" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100 transform translate-y-0" x-transition:leave-end="opacity-0 transform -translate-y-4" class="lg:hidden bg-white border-t border-gray-200 shadow-lg" @click.away="mobileMenuOpen = false" @keydown.escape="mobileMenuOpen = false" data-astro-cid-pux6a34n> <div class="container mx-auto px-4 py-6" data-astro-cid-pux6a34n> <!-- Primary Navigation --> <div class="space-y-1 mb-6" data-astro-cid-pux6a34n> <a href="#showcase" @click="mobileMenuOpen = false" class="block px-4 py-3 text-gray-700 hover:bg-orange-50 hover:text-orange-600 rounded-lg transition-colors font-medium" data-astro-cid-pux6a34n> Inspiration </a><a href="#packages" @click="mobileMenuOpen = false" class="block px-4 py-3 text-gray-700 hover:bg-orange-50 hover:text-orange-600 rounded-lg transition-colors font-medium" data-astro-cid-pux6a34n> Packages </a><a href="#about" @click="mobileMenuOpen = false" class="block px-4 py-3 text-gray-700 hover:bg-orange-50 hover:text-orange-600 rounded-lg transition-colors font-medium" data-astro-cid-pux6a34n> About </a><a href="#service-area" @click="mobileMenuOpen = false" class="block px-4 py-3 text-gray-700 hover:bg-orange-50 hover:text-orange-600 rounded-lg transition-colors font-medium" data-astro-cid-pux6a34n> Service Area </a> </div> <!-- Secondary Navigation --> <div class="border-t border-gray-200 pt-6 mb-6" data-astro-cid-pux6a34n> <h4 class="text-gray-500 font-semibold text-sm uppercase tracking-wider mb-3 px-4" data-astro-cid-pux6a34n>
Services
</h4> <div class="space-y-1" data-astro-cid-pux6a34n>  </div> </div> <!-- Mobile CTA & Contact --> <div class="border-t border-gray-200 pt-6" data-astro-cid-pux6a34n> <button onclick="window.navigateToPackages(); document.querySelector('[x-data]')._x_dataStack[0].mobileMenuOpen = false;" class="block w-full bg-gradient-to-r from-orange-600 to-red-600 text-white py-4 rounded-lg font-semibold text-center shadow-lg mb-4" data-astro-cid-pux6a34n> Get Free Quote </button> <!-- Quick Contact --> <div class="bg-gray-50 rounded-lg p-4" data-astro-cid-pux6a34n> <div class="flex items-center justify-between text-sm" data-astro-cid-pux6a34n> <div class="flex items-center space-x-2 text-gray-600" data-astro-cid-pux6a34n> <svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-pux6a34n> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" data-astro-cid-pux6a34n></path> </svg> <span data-astro-cid-pux6a34n>1-801-900-3221</span> </div> <span class="text-orange-600 font-medium" data-astro-cid-pux6a34n>Call Now</span> </div> </div> </div> </div> </div> </nav> </header>   <!-- Main content --> <main id="main-content" role="main">     <script id="packages-data" type="application/json">[{"id":"harvest-essentials","name":"Harvest Essentials","price":349,"description":"Cozy porch perfection","image":"/images/Package 1 displayed.jpg","features":["Seasonal decorative elements","2-week guarantee","Covers 4-10 sq ft"],"category":"residential","size":"small","quantity":"8-12","categorizedFeatures":{"whatYouGet":["Perfect porch coverage","Beautiful seasonal variety"],"howWeDeliver":["Stays fresh 2+ weeks","Hassle-free setup"],"perfectFor":["Cozy apartment living","Small space magic"]}},{"id":"pumpkin-charm","name":"Pumpkin Charm","price":599,"description":"Beautiful color combinations","image":"/images/package 2 displayed.jpg","features":["Mini to large sizes","Orange, white, green colors","3-week guarantee","Optional maintenance visit","Covers 10-20 sq ft"],"category":"residential","size":"medium","quantity":"15-18","categorizedFeatures":{"whatYouGet":["Generous pumpkin variety","Stunning color palette","Multiple size options"],"howWeDeliver":["Extended freshness","Maintenance support","Worry-free installation"],"perfectFor":["Growing families","Color enthusiasts","Medium spaces"]}},{"id":"fall-favorites","name":"Fall Favorites","price":799,"description":"Most popular choice","image":"/images/package 3 displayed.jpg","features":["Enhanced styling elements","Color coordination","Design consultation","Extended guarantee","Maintenance included","Perfect for entertaining"],"category":"residential","size":"large","quantity":"15-18","categorizedFeatures":{"whatYouGet":["Instagram-ready displays","Designer styling","Coordinated aesthetics"],"howWeDeliver":["Expert consultation","Season-long beauty","Ongoing care"],"perfectFor":["Entertainment spaces","Social gatherings","Photo memories"]}},{"id":"autumn-splendor","name":"Autumn Splendor","price":999,"description":"Luxury estate displays","image":"/images/Custom Large Porch.jpg","features":["Comprehensive decorative package","Grand scale design","Extended maintenance","Perfect for luxury properties","Photo-ready displays","Covers extensive areas","Seasonal refresh options"],"category":"residential","size":"large","quantity":"20+","categorizedFeatures":{"whatYouGet":["Spectacular abundance","Luxury-grade materials","Grand estate presence"],"howWeDeliver":["White-glove service","Magazine-worthy results","Seasonal evolution"],"perfectFor":["Luxury estates","Impressive entrances","Statement properties"]}},{"id":"business-solutions","name":"Business Solutions","price":0,"description":"Commercial-grade displays","image":"/images/hotel display.jpg","features":["Custom design consultation","Commercial-grade materials","Multiple location setup","Regular maintenance","Seasonal updates","Brand-appropriate colors","High-traffic durability"],"category":"business","size":"custom","categorizedFeatures":{"whatYouGet":["Business-grade quality","Brand-aligned aesthetics","Built for crowds"],"howWeDeliver":["Strategic planning","Multi-site coordination","Ongoing support","Fresh seasonal looks"],"perfectFor":["Customer-facing businesses","Brand enhancement","Professional atmosphere"]}},{"id":"event-decor","name":"Event Decor","price":0,"description":"Custom event displays","image":"/images/business/wedding 2.webp","features":["Event-specific design","Setup & breakdown","Coordinated themes","Photo-ready displays","Timely delivery & pickup","Event day support","Wedding specialists","Corporate expertise"],"category":"event","size":"custom","categorizedFeatures":{"whatYouGet":["Custom event magic","Theme coordination","Picture-perfect moments"],"howWeDeliver":["Stress-free logistics","Perfect timing","Day-of assistance"],"perfectFor":["Dream weddings","Corporate impressions","Memorable celebrations"]}}]</script>  <script type="application/ld+json">{"@context":"https://schema.org","@type":"ImageGallery","name":"Mountain Porch Pumpkins Professional Display Gallery","description":"Professional pumpkin display gallery showcasing residential and commercial autumn decorations in Utah, Idaho, and Wyoming","url":"https://mountainporchpumpkins.com","provider":{"@type":"LocalBusiness","name":"Mountain Porch Pumpkins","description":"Professional pumpkin delivery and decorating service","areaServed":["Utah","Idaho","Wyoming"],"serviceType":"Seasonal Decoration Service"},"associatedMedia":[{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/IMG_7893.webp","name":"Mountain Estate","description":"Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming","caption":"Mountain Estate - Harvest Essentials Package - $349 at 🏔️ Jackson Hole, WY","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":true,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/Large Porch.avif","name":"Family Home","description":"Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins","caption":"Family Home - Pumpkin Charm Package - $599 at 🏡 Salt Lake City, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":true,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/Package 1 Porch.png","name":"Cottage Display","description":"Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming","caption":"Cottage Display - Fall Favorites Package - $799 at 🌾 Boise, ID","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":true,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/Pathway.avif","name":"Farmhouse Setup","description":"Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup","caption":"Farmhouse Setup - Autumn Splendor Package - $999 at 🍂 Logan, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/classic.jpg","name":"Desert Home","description":"Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming","caption":"Desert Home - Seasonal Delight Package - $449 at 🌵 St. George, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/package 2 porch.jpg","name":"Luxury Porch","description":"Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service","caption":"Luxury Porch - Pumpkin Paradise Package - $699 at ⛰️ Park City, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/package 3 porch.jpg","name":"Alpine Retreat","description":"Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming","caption":"Alpine Retreat - Harvest Luxury Package - $899 at 🏞️ Heber City, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/home/Custom Large Porch.jpg","name":"Valley Home","description":"Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service","caption":"Valley Home - Premium Fall Package - $1199 at 🌲 Sun Valley, ID","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, home decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/HOA.jpg","name":"Resort Entrance","description":"Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service","caption":"Resort Entrance - Business Solutions Package at 🏨 Park City, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/festival 2.jpg","name":"Mountain Lodge","description":"Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming","caption":"Mountain Lodge - Event Decor Package at ⛰️ Sun Valley, ID","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/wedding 1.jpg","name":"Adventure Lodge","description":"Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup","caption":"Adventure Lodge - Corporate Display Package at 🏜️ Moab, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/wedding 2.webp","name":"Business Display","description":"Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming","caption":"Business Display - Hospitality Package at 🏔️ Jackson Hole, WY","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/wedding 3.jpg","name":"Event Setup","description":"Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service","caption":"Event Setup - Retail Enhancement Package at 🌲 Boise, ID","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/hotel display.jpg","name":"Commercial Space","description":"Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming","caption":"Commercial Space - Office Seasonal Package at 🏢 Salt Lake City, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/HayBale Display.jpg","name":"Hotel Lobby","description":"Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service","caption":"Hotel Lobby - Commercial Premium Package at 🎿 Deer Valley, UT","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"},{"@type":"ImageObject","contentUrl":"https://mountainporchpumpkins.com/images/business/News Entrance.avif","name":"Corporate Office","description":"Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming","caption":"Corporate Office - Enterprise Fall Package at 🏔️ Teton Village, WY","keywords":"pumpkin display, autumn decorations, fall decorating, seasonal service, business decoration, Utah pumpkin delivery, Idaho pumpkin service, Wyoming fall decorations","representativeOfPage":false,"license":"https://mountainporchpumpkins.com"}]}</script>  <section id="home" class="relative min-h-screen flex items-center justify-center bg-gray-900" data-astro-cid-j7pv25f6> <!-- Background Image --> <div class="absolute inset-0 bg-black/30" data-astro-cid-j7pv25f6></div> <img src="/images/MPP Hero.webp" alt="Mountain Porch Pumpkins professional autumn display - Premium pumpkin delivery service in Utah, Idaho, and Wyoming" class="absolute inset-0 w-full h-full object-cover hero-bg-image" loading="eager" decoding="async" data-astro-cid-j7pv25f6> <!-- Hero Content --> <div class="relative z-10 text-center text-white px-4 max-w-5xl mx-auto" data-astro-cid-j7pv25f6> <!-- Main Content Container --> <div class="bg-black/40 backdrop-blur-sm rounded-2xl p-6 md:p-10 lg:p-12 border border-orange-400/30" data-astro-cid-j7pv25f6> <h1 class="text-3xl sm:text-4xl md:text-5xl lg:text-6xl xl:text-7xl font-serif font-bold mb-6 hero-text-shadow leading-tight" data-astro-cid-j7pv25f6>
Professional Pumpkin Displays
<span class="block text-orange-200 text-xl sm:text-2xl md:text-3xl lg:text-4xl xl:text-5xl mt-2 font-medium" data-astro-cid-j7pv25f6>
Concierge Design, Delivery & Arrangement
</span> </h1> <!-- Fall Bookings CTA Button --> <div class="mb-8" data-astro-cid-j7pv25f6> <a href="#packages" class="inline-block bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 backdrop-blur-sm text-white px-8 md:px-10 py-4 md:py-6 rounded-xl font-bold text-lg md:text-xl transition-all transform hover:scale-105 tap-target focus:ring-2 focus:ring-orange-300 focus:ring-offset-2 shadow-lg hover:shadow-xl border border-orange-400/40" data-astro-cid-j7pv25f6> <span class="block text-xl md:text-2xl mb-1" data-astro-cid-j7pv25f6>🍂 Fall 2025 Bookings Now Open</span> <span class="block text-orange-100 text-base md:text-lg font-medium" data-astro-cid-j7pv25f6>
Setup begins September 21st • Serving Utah, Idaho & Wyoming
</span> </a> </div> </div> </div> </section>  <section id="showcase" class="py-16 bg-gray-50" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="text-center mb-16" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-5xl font-serif font-bold text-gray-900 mb-4" data-astro-cid-j7pv25f6>
Design Inspiration
</h2> <p class="text-xl text-gray-600 max-w-2xl mx-auto mb-8" data-astro-cid-j7pv25f6>
Get inspired by beautiful pumpkin displays from customers across America.
</p> </div> <!-- Photo Carousel with Toggle System --> <div class="max-w-6xl mx-auto" x-data="{ activeFilter: 'home' }" data-astro-cid-j7pv25f6> <!-- Toggle Buttons --> <div class="flex justify-center mb-8" data-astro-cid-j7pv25f6> <div class="bg-white border border-orange-200 rounded-xl p-1 flex shadow-sm" data-astro-cid-j7pv25f6> <button @click="activeFilter = 'home'" :class="activeFilter === 'home' ? 'bg-gradient-to-r from-orange-600 to-red-600 text-white shadow-lg' : 'text-gray-600 hover:text-orange-600 hover:bg-orange-50'" class="px-6 py-3 rounded-lg font-medium transition-all duration-300 flex items-center space-x-2 tap-target" data-astro-cid-j7pv25f6> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6" data-astro-cid-j7pv25f6></path> </svg> <span data-astro-cid-j7pv25f6>Home Porches</span> </button> <button @click="activeFilter = 'business'" :class="activeFilter === 'business' ? 'bg-gradient-to-r from-orange-600 to-red-600 text-white shadow-lg' : 'text-gray-600 hover:text-orange-600 hover:bg-orange-50'" class="px-6 py-3 rounded-lg font-medium transition-all duration-300 flex items-center space-x-2 tap-target" data-astro-cid-j7pv25f6> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4" data-astro-cid-j7pv25f6></path> </svg> <span data-astro-cid-j7pv25f6>Business & Events</span> </button> </div> </div> <!-- Dynamic Photo Carousel --> <!-- Home Photos Carousel --> <div x-show="activeFilter === 'home'" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" data-astro-cid-j7pv25f6> <div class="carousel-wrapper relative carousel-responsive" data-component="carousel" x-data="carouselData_home_carousel" x-init="init()" data-astro-cid-psknqw4m> <!-- Thumbnail Grid - Above main carousel --> <div class="thumbnail-container mb-6 px-2 sm:px-4" data-astro-cid-psknqw4m> <div class="thumbnail-grid flex flex-wrap justify-center gap-2 sm:gap-3 max-w-5xl mx-auto" data-astro-cid-psknqw4m> <button @click="goToSlide(0)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 0 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Mountain Estate" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/IMG_7893.webp" alt="Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 0 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(1)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 1 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Family Home" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/Large Porch.avif" alt="Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 1 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(2)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 2 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Cottage Display" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/Package 1 Porch.png" alt="Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 2 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(3)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 3 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Farmhouse Setup" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/Pathway.avif" alt="Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 3 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(4)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 4 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Desert Home" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/classic.jpg" alt="Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 4 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(5)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 5 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Luxury Porch" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/package 2 porch.jpg" alt="Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 5 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(6)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 6 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Alpine Retreat" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/package 3 porch.jpg" alt="Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 6 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(7)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 7 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Valley Home" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/home/Custom Large Porch.jpg" alt="Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 7 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button> </div> </div> <!-- Main Carousel Container --> <div class="carousel-container relative overflow-hidden bg-amber-950 rounded-2xl shadow-2xl" data-astro-cid-psknqw4m> <!-- Main Image Display --> <div class="relative w-full h-full" data-astro-cid-psknqw4m> <div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 0" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 0 ? 20 : 10) + '; opacity: ' + (currentIndex === 0 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/IMG_7893.webp" alt="Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="high" role="img" aria-label="Mountain Estate - 🏔️ Jackson Hole, WY" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 1" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 1 ? 20 : 10) + '; opacity: ' + (currentIndex === 1 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/Large Porch.avif" alt="Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Family Home - 🏡 Salt Lake City, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 2" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 2 ? 20 : 10) + '; opacity: ' + (currentIndex === 2 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/Package 1 Porch.png" alt="Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Cottage Display - 🌾 Boise, ID" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 3" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 3 ? 20 : 10) + '; opacity: ' + (currentIndex === 3 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/Pathway.avif" alt="Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Farmhouse Setup - 🍂 Logan, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 4" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 4 ? 20 : 10) + '; opacity: ' + (currentIndex === 4 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/classic.jpg" alt="Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Desert Home - 🌵 St. George, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 5" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 5 ? 20 : 10) + '; opacity: ' + (currentIndex === 5 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/package 2 porch.jpg" alt="Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Luxury Porch - ⛰️ Park City, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 6" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 6 ? 20 : 10) + '; opacity: ' + (currentIndex === 6 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/package 3 porch.jpg" alt="Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Alpine Retreat - 🏞️ Heber City, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 7" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 7 ? 20 : 10) + '; opacity: ' + (currentIndex === 7 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/home/Custom Large Porch.jpg" alt="Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Valley Home - 🌲 Sun Valley, ID" data-astro-cid-x4ppssot> </div>  </div> </div> <!-- Touch Area for Mobile Gestures --> <div class="absolute inset-0 z-10 cursor-pointer" @touchstart="handleTouchStart($event)" @touchend="handleTouchEnd($event)" @mouseenter="pauseAutoPlay()" @mouseleave="resumeAutoPlay()" data-astro-cid-psknqw4m></div> <!-- Play/Pause Toggle Button --> <button @click="toggleAutoPlay()" class="absolute bottom-4 right-4 z-30 bg-white/90 backdrop-blur-sm hover:bg-white text-gray-700 hover:text-primary-500 p-3 rounded-full shadow-lg transition-all duration-200 hover:scale-110 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 tap-target" :aria-label="isPlaying ? 'Pause slideshow' : 'Play slideshow'" :title="isPlaying ? 'Pause slideshow' : 'Play slideshow'" data-astro-cid-psknqw4m> <!-- Play Icon --> <svg x-show="!isPlaying" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-75" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-75" data-astro-cid-psknqw4m> <path d="M8 5v14l11-7z" data-astro-cid-psknqw4m></path> </svg> <!-- Pause Icon --> <svg x-show="isPlaying" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-75" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-75" data-astro-cid-psknqw4m> <path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z" data-astro-cid-psknqw4m></path> </svg> </button> <!-- Navigation Arrows (Desktop) --> <div class="hidden md:block" data-astro-cid-psknqw4m> <!-- Previous Button --> <button @click="prevSlide()" class="nav-button absolute left-4 top-1/2 transform -translate-y-1/2 text-white p-3 rounded-full transition-all hover:scale-110 z-20" aria-label="Previous photo" data-astro-cid-psknqw4m> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-psknqw4m> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" data-astro-cid-psknqw4m></path> </svg> </button> <!-- Next Button --> <button @click="nextSlide()" class="nav-button absolute right-4 top-1/2 transform -translate-y-1/2 text-white p-3 rounded-full transition-all hover:scale-110 z-20" aria-label="Next photo" data-astro-cid-psknqw4m> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-psknqw4m> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" data-astro-cid-psknqw4m></path> </svg> </button> </div> </div> </div>  <script>
  // Clean carousel state management
  window.carouselData_home_carousel = {
    photos: [{"image":"/images/home/IMG_7893.webp","title":"Mountain Estate","package":"Harvest Essentials Package - $349","location":"🏔️ Jackson Hole, WY","alt":"Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Large Porch.avif","title":"Family Home","package":"Pumpkin Charm Package - $599","location":"🏡 Salt Lake City, UT","alt":"Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins","category":"residential"},{"image":"/images/home/Package 1 Porch.png","title":"Cottage Display","package":"Fall Favorites Package - $799","location":"🌾 Boise, ID","alt":"Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Pathway.avif","title":"Farmhouse Setup","package":"Autumn Splendor Package - $999","location":"🍂 Logan, UT","alt":"Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup","category":"residential"},{"image":"/images/home/classic.jpg","title":"Desert Home","package":"Seasonal Delight Package - $449","location":"🌵 St. George, UT","alt":"Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/package 2 porch.jpg","title":"Luxury Porch","package":"Pumpkin Paradise Package - $699","location":"⛰️ Park City, UT","alt":"Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service","category":"residential"},{"image":"/images/home/package 3 porch.jpg","title":"Alpine Retreat","package":"Harvest Luxury Package - $899","location":"🏞️ Heber City, UT","alt":"Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Custom Large Porch.jpg","title":"Valley Home","package":"Premium Fall Package - $1199","location":"🌲 Sun Valley, ID","alt":"Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service","category":"residential"}],
    currentIndex: 0,
    isPlaying: true,
    isPaused: false,
    interval: null,
    touchStartX: null,
    autoPlayInterval: 5000,

    init() {
      if (this.isPlaying) {
        this.startAutoPlay();
      }

      // Ensure all images are loaded before optimizing display
      this.ensureImagesLoaded().then(() => {
        this.optimizeImageDisplay();
      });

      // Handle visibility change for performance
      document.addEventListener('visibilitychange', () => {
        if (document.hidden) {
          this.pauseAutoPlay();
        } else if (this.isPlaying && !this.isPaused) {
          this.startAutoPlay();
        }
      });
    },

    ensureImagesLoaded() {
      const carouselId = 'home_carousel';
      const carouselWrapper = document.querySelector('[x-data*="carouselData_' + carouselId + '"]');
      if (!carouselWrapper) return Promise.resolve();
      
      const images = carouselWrapper.querySelectorAll('img');
      const imagePromises = Array.from(images).map(img => {
        if (img.complete && img.naturalWidth > 0) {
          return Promise.resolve();
        }
        return new Promise((resolve) => {
          img.addEventListener('load', resolve, { once: true });
          img.addEventListener('error', resolve, { once: true });
        });
      });
      
      return Promise.all(imagePromises);
    },

    goToSlide(index) {
      if (index >= 0 && index < this.photos.length) {
        this.currentIndex = index;
        this.resetAutoPlay();
        // Re-optimize image display when slide changes
        this.ensureImagesLoaded().then(() => this.optimizeImageDisplay());
      }
    },

    nextSlide() {
      this.currentIndex = (this.currentIndex + 1) % this.photos.length;
      this.resetAutoPlay();
    },

    prevSlide() {
      this.currentIndex = this.currentIndex === 0
        ? this.photos.length - 1
        : this.currentIndex - 1;
      this.resetAutoPlay();
    },

    startAutoPlay() {
      if (this.interval) clearInterval(this.interval);
      this.interval = setInterval(() => {
        if (!this.isPaused && this.photos.length > 1) {
          this.nextSlide();
        }
      }, this.autoPlayInterval);
    },

    pauseAutoPlay() {
      this.isPaused = true;
    },

    resumeAutoPlay() {
      this.isPaused = false;
    },

    toggleAutoPlay() {
      this.isPlaying = !this.isPlaying;
      if (this.isPlaying) {
        this.isPaused = false;
        this.startAutoPlay();
      } else {
        clearInterval(this.interval);
      }
    },

    resetAutoPlay() {
      if (this.isPlaying && !this.isPaused) {
        this.startAutoPlay();
      }
    },

    // Touch handling for mobile
    handleTouchStart(event) {
      this.touchStartX = event.touches[0].clientX;
      this.pauseAutoPlay();
    },

    handleTouchEnd(event) {
      if (!this.touchStartX) return;

      const touchEndX = event.changedTouches[0].clientX;
      const diff = this.touchStartX - touchEndX;
      const minSwipeDistance = 50;

      if (Math.abs(diff) > minSwipeDistance) {
        if (diff > 0) {
          this.nextSlide();
        } else {
          this.prevSlide();
        }
      }

      this.resumeAutoPlay();
      this.touchStartX = null;
    },

    optimizeImageDisplay() {
      // Images are now handled consistently with CSS
      // No need for aspect ratio detection
      console.log('PhotoCarousel: Images optimized for consistent display');
    }
  };
</script> </div> <!-- Business Photos Carousel --> <div x-show="activeFilter === 'business'" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" style="display: none;" data-astro-cid-j7pv25f6> <div class="carousel-wrapper relative carousel-responsive" data-component="carousel" x-data="carouselData_business_carousel" x-init="init()" data-astro-cid-psknqw4m> <!-- Thumbnail Grid - Above main carousel --> <div class="thumbnail-container mb-6 px-2 sm:px-4" data-astro-cid-psknqw4m> <div class="thumbnail-grid flex flex-wrap justify-center gap-2 sm:gap-3 max-w-5xl mx-auto" data-astro-cid-psknqw4m> <button @click="goToSlide(0)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 0 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Resort Entrance" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/HOA.jpg" alt="Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 0 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(1)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 1 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Mountain Lodge" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/festival 2.jpg" alt="Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 1 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(2)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 2 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Adventure Lodge" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/wedding 1.jpg" alt="Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 2 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(3)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 3 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Business Display" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/wedding 2.webp" alt="Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 3 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(4)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 4 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Event Setup" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/wedding 3.jpg" alt="Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 4 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(5)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 5 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Commercial Space" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/hotel display.jpg" alt="Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 5 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(6)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 6 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Hotel Lobby" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/HayBale Display.jpg" alt="Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 6 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button><button @click="goToSlide(7)" class="thumbnail-button relative rounded-lg overflow-hidden transition-all hover:scale-105 focus:outline-none focus:ring-2 focus:ring-amber-500 flex-shrink-0" :class="currentIndex === 7 ? 'thumbnail-active ring-2 ring-amber-600' : 'opacity-70 hover:opacity-100'" aria-label="View Corporate Office" data-astro-cid-psknqw4m> <!-- Thumbnail Image - Responsive sizing --> <div class="image-container thumbnail-image object-cover object-center" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/News Entrance.avif" alt="Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming" width="200" height="200" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <div class="absolute inset-0 bg-black/20 transition-opacity" :class="currentIndex === 7 ? 'opacity-0' : 'opacity-100'" data-astro-cid-psknqw4m></div> </button> </div> </div> <!-- Main Carousel Container --> <div class="carousel-container relative overflow-hidden bg-amber-950 rounded-2xl shadow-2xl" data-astro-cid-psknqw4m> <!-- Main Image Display --> <div class="relative w-full h-full" data-astro-cid-psknqw4m> <div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 0" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 0 ? 20 : 10) + '; opacity: ' + (currentIndex === 0 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/HOA.jpg" alt="Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service" loading="eager" decoding="async" fetchpriority="high" role="img" aria-label="Resort Entrance - 🏨 Park City, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 1" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 1 ? 20 : 10) + '; opacity: ' + (currentIndex === 1 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/festival 2.jpg" alt="Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Mountain Lodge - ⛰️ Sun Valley, ID" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 2" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 2 ? 20 : 10) + '; opacity: ' + (currentIndex === 2 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/wedding 1.jpg" alt="Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Adventure Lodge - 🏜️ Moab, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 3" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 3 ? 20 : 10) + '; opacity: ' + (currentIndex === 3 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/wedding 2.webp" alt="Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Business Display - 🏔️ Jackson Hole, WY" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 4" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 4 ? 20 : 10) + '; opacity: ' + (currentIndex === 4 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/wedding 3.jpg" alt="Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Event Setup - 🌲 Boise, ID" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 5" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 5 ? 20 : 10) + '; opacity: ' + (currentIndex === 5 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/hotel display.jpg" alt="Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Commercial Space - 🏢 Salt Lake City, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 6" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 6 ? 20 : 10) + '; opacity: ' + (currentIndex === 6 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/HayBale Display.jpg" alt="Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Hotel Lobby - 🎿 Deer Valley, UT" data-astro-cid-x4ppssot> </div>  </div><div class="carousel-slide absolute inset-0 transition-opacity duration-700 ease-in-out" x-show="currentIndex === 7" x-transition:enter="transition ease-in-out duration-700" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in-out duration-700" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" :style="'z-index: ' + (currentIndex === 7 ? 20 : 10) + '; opacity: ' + (currentIndex === 7 ? 1 : 0) + ';'" data-astro-cid-psknqw4m> <!-- Main Image - Maintains original aspect ratio --> <div class="image-container main-image" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: auto;
    --img-height: auto;
    --img-object-fit: contain;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="/images/business/News Entrance.avif" alt="Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming" loading="eager" decoding="async" fetchpriority="auto" role="img" aria-label="Corporate Office - 🏔️ Teton Village, WY" data-astro-cid-x4ppssot> </div>  </div> </div> <!-- Touch Area for Mobile Gestures --> <div class="absolute inset-0 z-10 cursor-pointer" @touchstart="handleTouchStart($event)" @touchend="handleTouchEnd($event)" @mouseenter="pauseAutoPlay()" @mouseleave="resumeAutoPlay()" data-astro-cid-psknqw4m></div> <!-- Play/Pause Toggle Button --> <button @click="toggleAutoPlay()" class="absolute bottom-4 right-4 z-30 bg-white/90 backdrop-blur-sm hover:bg-white text-gray-700 hover:text-primary-500 p-3 rounded-full shadow-lg transition-all duration-200 hover:scale-110 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-2 tap-target" :aria-label="isPlaying ? 'Pause slideshow' : 'Play slideshow'" :title="isPlaying ? 'Pause slideshow' : 'Play slideshow'" data-astro-cid-psknqw4m> <!-- Play Icon --> <svg x-show="!isPlaying" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-75" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-75" data-astro-cid-psknqw4m> <path d="M8 5v14l11-7z" data-astro-cid-psknqw4m></path> </svg> <!-- Pause Icon --> <svg x-show="isPlaying" class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" x-transition:enter="transition ease-out duration-200" x-transition:enter-start="opacity-0 scale-75" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-75" data-astro-cid-psknqw4m> <path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z" data-astro-cid-psknqw4m></path> </svg> </button> <!-- Navigation Arrows (Desktop) --> <div class="hidden md:block" data-astro-cid-psknqw4m> <!-- Previous Button --> <button @click="prevSlide()" class="nav-button absolute left-4 top-1/2 transform -translate-y-1/2 text-white p-3 rounded-full transition-all hover:scale-110 z-20" aria-label="Previous photo" data-astro-cid-psknqw4m> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-psknqw4m> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 19l-7-7 7-7" data-astro-cid-psknqw4m></path> </svg> </button> <!-- Next Button --> <button @click="nextSlide()" class="nav-button absolute right-4 top-1/2 transform -translate-y-1/2 text-white p-3 rounded-full transition-all hover:scale-110 z-20" aria-label="Next photo" data-astro-cid-psknqw4m> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-psknqw4m> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" data-astro-cid-psknqw4m></path> </svg> </button> </div> </div> </div>  <script>
  // Clean carousel state management
  window.carouselData_business_carousel = {
    photos: [{"image":"/images/business/HOA.jpg","title":"Resort Entrance","package":"Business Solutions Package","location":"🏨 Park City, UT","alt":"Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/festival 2.jpg","title":"Mountain Lodge","package":"Event Decor Package","location":"⛰️ Sun Valley, ID","alt":"Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 1.jpg","title":"Adventure Lodge","package":"Corporate Display Package","location":"🏜️ Moab, UT","alt":"Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup","category":"business"},{"image":"/images/business/wedding 2.webp","title":"Business Display","package":"Hospitality Package","location":"🏔️ Jackson Hole, WY","alt":"Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 3.jpg","title":"Event Setup","package":"Retail Enhancement Package","location":"🌲 Boise, ID","alt":"Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service","category":"business"},{"image":"/images/business/hotel display.jpg","title":"Commercial Space","package":"Office Seasonal Package","location":"🏢 Salt Lake City, UT","alt":"Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming","category":"business"},{"image":"/images/business/HayBale Display.jpg","title":"Hotel Lobby","package":"Commercial Premium Package","location":"🎿 Deer Valley, UT","alt":"Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/News Entrance.avif","title":"Corporate Office","package":"Enterprise Fall Package","location":"🏔️ Teton Village, WY","alt":"Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming","category":"business"}],
    currentIndex: 0,
    isPlaying: true,
    isPaused: false,
    interval: null,
    touchStartX: null,
    autoPlayInterval: 5000,

    init() {
      if (this.isPlaying) {
        this.startAutoPlay();
      }

      // Ensure all images are loaded before optimizing display
      this.ensureImagesLoaded().then(() => {
        this.optimizeImageDisplay();
      });

      // Handle visibility change for performance
      document.addEventListener('visibilitychange', () => {
        if (document.hidden) {
          this.pauseAutoPlay();
        } else if (this.isPlaying && !this.isPaused) {
          this.startAutoPlay();
        }
      });
    },

    ensureImagesLoaded() {
      const carouselId = 'business_carousel';
      const carouselWrapper = document.querySelector('[x-data*="carouselData_' + carouselId + '"]');
      if (!carouselWrapper) return Promise.resolve();
      
      const images = carouselWrapper.querySelectorAll('img');
      const imagePromises = Array.from(images).map(img => {
        if (img.complete && img.naturalWidth > 0) {
          return Promise.resolve();
        }
        return new Promise((resolve) => {
          img.addEventListener('load', resolve, { once: true });
          img.addEventListener('error', resolve, { once: true });
        });
      });
      
      return Promise.all(imagePromises);
    },

    goToSlide(index) {
      if (index >= 0 && index < this.photos.length) {
        this.currentIndex = index;
        this.resetAutoPlay();
        // Re-optimize image display when slide changes
        this.ensureImagesLoaded().then(() => this.optimizeImageDisplay());
      }
    },

    nextSlide() {
      this.currentIndex = (this.currentIndex + 1) % this.photos.length;
      this.resetAutoPlay();
    },

    prevSlide() {
      this.currentIndex = this.currentIndex === 0
        ? this.photos.length - 1
        : this.currentIndex - 1;
      this.resetAutoPlay();
    },

    startAutoPlay() {
      if (this.interval) clearInterval(this.interval);
      this.interval = setInterval(() => {
        if (!this.isPaused && this.photos.length > 1) {
          this.nextSlide();
        }
      }, this.autoPlayInterval);
    },

    pauseAutoPlay() {
      this.isPaused = true;
    },

    resumeAutoPlay() {
      this.isPaused = false;
    },

    toggleAutoPlay() {
      this.isPlaying = !this.isPlaying;
      if (this.isPlaying) {
        this.isPaused = false;
        this.startAutoPlay();
      } else {
        clearInterval(this.interval);
      }
    },

    resetAutoPlay() {
      if (this.isPlaying && !this.isPaused) {
        this.startAutoPlay();
      }
    },

    // Touch handling for mobile
    handleTouchStart(event) {
      this.touchStartX = event.touches[0].clientX;
      this.pauseAutoPlay();
    },

    handleTouchEnd(event) {
      if (!this.touchStartX) return;

      const touchEndX = event.changedTouches[0].clientX;
      const diff = this.touchStartX - touchEndX;
      const minSwipeDistance = 50;

      if (Math.abs(diff) > minSwipeDistance) {
        if (diff > 0) {
          this.nextSlide();
        } else {
          this.prevSlide();
        }
      }

      this.resumeAutoPlay();
      this.touchStartX = null;
    },

    optimizeImageDisplay() {
      // Images are now handled consistently with CSS
      // No need for aspect ratio detection
      console.log('PhotoCarousel: Images optimized for consistent display');
    }
  };
</script> </div> </div> </div> </section>  <script id="home-photos-data" type="application/json">[{"image":"/images/home/IMG_7893.webp","title":"Mountain Estate","package":"Harvest Essentials Package - $349","location":"🏔️ Jackson Hole, WY","alt":"Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Large Porch.avif","title":"Family Home","package":"Pumpkin Charm Package - $599","location":"🏡 Salt Lake City, UT","alt":"Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins","category":"residential"},{"image":"/images/home/Package 1 Porch.png","title":"Cottage Display","package":"Fall Favorites Package - $799","location":"🌾 Boise, ID","alt":"Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Pathway.avif","title":"Farmhouse Setup","package":"Autumn Splendor Package - $999","location":"🍂 Logan, UT","alt":"Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup","category":"residential"},{"image":"/images/home/classic.jpg","title":"Desert Home","package":"Seasonal Delight Package - $449","location":"🌵 St. George, UT","alt":"Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/package 2 porch.jpg","title":"Luxury Porch","package":"Pumpkin Paradise Package - $699","location":"⛰️ Park City, UT","alt":"Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service","category":"residential"},{"image":"/images/home/package 3 porch.jpg","title":"Alpine Retreat","package":"Harvest Luxury Package - $899","location":"🏞️ Heber City, UT","alt":"Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Custom Large Porch.jpg","title":"Valley Home","package":"Premium Fall Package - $1199","location":"🌲 Sun Valley, ID","alt":"Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service","category":"residential"}]</script> <script id="business-photos-data" type="application/json">[{"image":"/images/business/HOA.jpg","title":"Resort Entrance","package":"Business Solutions Package","location":"🏨 Park City, UT","alt":"Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/festival 2.jpg","title":"Mountain Lodge","package":"Event Decor Package","location":"⛰️ Sun Valley, ID","alt":"Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 1.jpg","title":"Adventure Lodge","package":"Corporate Display Package","location":"🏜️ Moab, UT","alt":"Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup","category":"business"},{"image":"/images/business/wedding 2.webp","title":"Business Display","package":"Hospitality Package","location":"🏔️ Jackson Hole, WY","alt":"Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 3.jpg","title":"Event Setup","package":"Retail Enhancement Package","location":"🌲 Boise, ID","alt":"Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service","category":"business"},{"image":"/images/business/hotel display.jpg","title":"Commercial Space","package":"Office Seasonal Package","location":"🏢 Salt Lake City, UT","alt":"Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming","category":"business"},{"image":"/images/business/HayBale Display.jpg","title":"Hotel Lobby","package":"Commercial Premium Package","location":"🎿 Deer Valley, UT","alt":"Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/News Entrance.avif","title":"Corporate Office","package":"Enterprise Fall Package","location":"🏔️ Teton Village, WY","alt":"Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming","category":"business"}]</script> <script id="showcase-photos-data" type="application/json">[{"image":"/images/home/IMG_7893.webp","title":"Mountain Estate","package":"Harvest Essentials Package - $349","location":"🏔️ Jackson Hole, WY","alt":"Professional fall pumpkin display at mountain estate home featuring orange and white pumpkins arranged on front porch - Mountain Porch Pumpkins Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Large Porch.avif","title":"Family Home","package":"Pumpkin Charm Package - $599","location":"🏡 Salt Lake City, UT","alt":"Autumn home decoration with seasonal pumpkin arrangement on residential front porch - Professional pumpkin delivery service Mountain Porch Pumpkins","category":"residential"},{"image":"/images/home/Package 1 Porch.png","title":"Cottage Display","package":"Fall Favorites Package - $799","location":"🌾 Boise, ID","alt":"Beautiful cottage pumpkin display with harvest decorations and fall foliage - Premium pumpkin decorating service Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Pathway.avif","title":"Farmhouse Setup","package":"Autumn Splendor Package - $999","location":"🍂 Logan, UT","alt":"Farmhouse style pumpkin arrangement with hay bales and autumn decor on home entrance - Mountain Porch Pumpkins professional setup","category":"residential"},{"image":"/images/home/classic.jpg","title":"Desert Home","package":"Seasonal Delight Package - $449","location":"🌵 St. George, UT","alt":"Desert home fall pumpkin display featuring seasonal decorations and harvest theme - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/package 2 porch.jpg","title":"Luxury Porch","package":"Pumpkin Paradise Package - $699","location":"⛰️ Park City, UT","alt":"Luxury porch pumpkin arrangement with premium fall decorations and seasonal styling - Mountain Porch Pumpkins expert service","category":"residential"},{"image":"/images/home/package 3 porch.jpg","title":"Alpine Retreat","package":"Harvest Luxury Package - $899","location":"🏞️ Heber City, UT","alt":"Alpine retreat autumn pumpkin display with mountain-themed seasonal decorations - Professional pumpkin delivery Utah Idaho Wyoming","category":"residential"},{"image":"/images/home/Custom Large Porch.jpg","title":"Valley Home","package":"Premium Fall Package - $1199","location":"🌲 Sun Valley, ID","alt":"Valley home fall pumpkin arrangement featuring harvest colors and seasonal styling - Mountain Porch Pumpkins residential service","category":"residential"},{"image":"/images/business/HOA.jpg","title":"Resort Entrance","package":"Business Solutions Package","location":"🏨 Park City, UT","alt":"Professional business pumpkin display for commercial property entrance featuring seasonal fall decorations - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/festival 2.jpg","title":"Mountain Lodge","package":"Event Decor Package","location":"⛰️ Sun Valley, ID","alt":"Resort entrance autumn pumpkin arrangement with premium fall decorations for hospitality business - Professional pumpkin decorating Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 1.jpg","title":"Adventure Lodge","package":"Corporate Display Package","location":"🏜️ Moab, UT","alt":"Mountain lodge seasonal pumpkin display with harvest theme decorations for business entrance - Mountain Porch Pumpkins commercial setup","category":"business"},{"image":"/images/business/wedding 2.webp","title":"Business Display","package":"Hospitality Package","location":"🏔️ Jackson Hole, WY","alt":"Business property fall pumpkin arrangement with professional seasonal decorations - Commercial pumpkin delivery service Utah Idaho Wyoming","category":"business"},{"image":"/images/business/wedding 3.jpg","title":"Event Setup","package":"Retail Enhancement Package","location":"🌲 Boise, ID","alt":"Event venue pumpkin display with autumn decorations for special occasions and celebrations - Mountain Porch Pumpkins event service","category":"business"},{"image":"/images/business/hotel display.jpg","title":"Commercial Space","package":"Office Seasonal Package","location":"🏢 Salt Lake City, UT","alt":"Commercial space seasonal pumpkin arrangement with professional fall decorating - Business pumpkin delivery Utah Idaho Wyoming","category":"business"},{"image":"/images/business/HayBale Display.jpg","title":"Hotel Lobby","package":"Commercial Premium Package","location":"🎿 Deer Valley, UT","alt":"Hotel lobby autumn pumpkin display with elegant seasonal decorations for hospitality - Mountain Porch Pumpkins commercial service","category":"business"},{"image":"/images/business/News Entrance.avif","title":"Corporate Office","package":"Enterprise Fall Package","location":"🏔️ Teton Village, WY","alt":"Corporate office fall pumpkin arrangement with professional autumn decorations - Business pumpkin delivery Utah Idaho Wyoming","category":"business"}]</script>  <section id="packages" class="py-20 bg-gradient-to-b from-orange-50 to-white lazy-content" data-component="packages" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="text-center mb-12" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-5xl font-serif font-bold text-gray-900 mb-4" data-astro-cid-j7pv25f6>
Choose Your Perfect Package
</h2> <p class="text-lg text-gray-600 max-w-2xl mx-auto" data-astro-cid-j7pv25f6>
From cozy residential displays to impressive business installations, we have the perfect autumn package for every space.
</p> </div> <!-- Residential Packages --> <div class="mb-16" data-astro-cid-j7pv25f6> <h3 class="text-2xl font-serif font-bold text-gray-900 mb-8 text-center" data-astro-cid-j7pv25f6>Residential Packages</h3> <div class="grid md:grid-cols-2 lg:grid-cols-4 gap-8 max-w-7xl mx-auto" data-astro-cid-j7pv25f6> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer ring-2 ring-primary-500 ring-offset-2" x-data="packageSelector" data-package-id="harvest-essentials" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages --> <div class="absolute top-4 left-4 z-10" data-astro-cid-6o3wfomg> <span class="text-white px-2 py-1 rounded-full text-xs font-medium shadow-lg" style="background-color: var(--theme-dark-bg-alpha);" data-astro-cid-6o3wfomg>
Full Service
</span> </div> <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> small </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/Package 1 displayed.jpg" alt="Harvest Essentials - Cozy porch perfection - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Harvest Essentials </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Residential </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> $349 </div> <p class="text-xs text-gray-300 text-shadow-sm" data-astro-cid-6o3wfomg> Delivery and design included </p> </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> 15+ pumpkins &amp; assorted mini pumpkins for 6-10 sqft </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.selectPackageAndScroll('harvest-essentials')" data-astro-cid-6o3wfomg> Select Package </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/Package 1 displayed.jpg" alt="Harvest Essentials package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Harvest Essentials</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> $349 </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Cozy porch perfection</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Perfect porch coverage" data-astro-cid-xyhjnt7c> ⭐ </span>  Perfect porch coverage </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Beautiful seasonal variety" data-astro-cid-xyhjnt7c> 🔄 </span>  Beautiful seasonal variety </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Stays fresh 2+ weeks" data-astro-cid-xyhjnt7c> ✅ </span>  Stays fresh 2+ weeks </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Hassle-free setup" data-astro-cid-xyhjnt7c> 🚚 </span>  Hassle-free setup </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Cozy apartment living" data-astro-cid-xyhjnt7c> ⭐ </span>  Cozy apartment living </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Small space magic" data-astro-cid-xyhjnt7c> ⭐ </span>  Small space magic </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.selectPackageAndScroll('harvest-essentials')" data-astro-cid-6o3wfomg> Book This Package </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer ring-2 ring-primary-500 ring-offset-2" x-data="packageSelector" data-package-id="pumpkin-charm" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages --> <div class="absolute top-4 left-4 z-10" data-astro-cid-6o3wfomg> <span class="text-white px-2 py-1 rounded-full text-xs font-medium shadow-lg" style="background-color: var(--theme-dark-bg-alpha);" data-astro-cid-6o3wfomg>
Full Service
</span> </div> <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> medium </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/package 2 displayed.jpg" alt="Pumpkin Charm - Beautiful color combinations - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Pumpkin Charm </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Residential </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> $599 </div> <p class="text-xs text-gray-300 text-shadow-sm" data-astro-cid-6o3wfomg> Delivery and design included </p> </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> 30+ pumpkins &amp; assorted mini pumpkins for 12-20 sqft </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.selectPackageAndScroll('pumpkin-charm')" data-astro-cid-6o3wfomg> Select Package </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/package 2 displayed.jpg" alt="Pumpkin Charm package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Pumpkin Charm</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> $599 </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Beautiful color combinations</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Generous pumpkin variety" data-astro-cid-xyhjnt7c> 🎃 </span>  Generous pumpkin variety </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Stunning color palette" data-astro-cid-xyhjnt7c> 🎨 </span>  Stunning color palette </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Multiple size options" data-astro-cid-xyhjnt7c> 📏 </span>  Multiple size options </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Extended freshness" data-astro-cid-xyhjnt7c> ⭐ </span>  Extended freshness </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Maintenance support" data-astro-cid-xyhjnt7c> 🔧 </span>  Maintenance support </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Worry-free installation" data-astro-cid-xyhjnt7c> ⭐ </span>  Worry-free installation </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Growing families" data-astro-cid-xyhjnt7c> ⭐ </span>  Growing families </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Color enthusiasts" data-astro-cid-xyhjnt7c> 🎨 </span>  Color enthusiasts </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Medium spaces" data-astro-cid-xyhjnt7c> ⭐ </span>  Medium spaces </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.selectPackageAndScroll('pumpkin-charm')" data-astro-cid-6o3wfomg> Book This Package </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer ring-2 ring-primary-500 ring-offset-2" x-data="packageSelector" data-package-id="fall-favorites" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages --> <div class="absolute top-4 left-4 z-10" data-astro-cid-6o3wfomg> <span class="text-white px-2 py-1 rounded-full text-xs font-medium shadow-lg" style="background-color: var(--theme-dark-bg-alpha);" data-astro-cid-6o3wfomg>
Full Service
</span> </div> <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> large </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/package 3 displayed.jpg" alt="Fall Favorites - Most popular choice - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Fall Favorites </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Residential </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> $799 </div> <p class="text-xs text-gray-300 text-shadow-sm" data-astro-cid-6o3wfomg> Delivery and design included </p> </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> 45+ pumpkins &amp; assorted mini pumpkins for 18-30 sqft </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.selectPackageAndScroll('fall-favorites')" data-astro-cid-6o3wfomg> Select Package </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/package 3 displayed.jpg" alt="Fall Favorites package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Fall Favorites</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> $799 </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Most popular choice</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Instagram-ready displays" data-astro-cid-xyhjnt7c> ⭐ </span>  Instagram-ready displays </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Designer styling" data-astro-cid-xyhjnt7c> 💡 </span>  Designer styling </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Coordinated aesthetics" data-astro-cid-xyhjnt7c> ⭐ </span>  Coordinated aesthetics </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Expert consultation" data-astro-cid-xyhjnt7c> 💡 </span>  Expert consultation </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Season-long beauty" data-astro-cid-xyhjnt7c> ⭐ </span>  Season-long beauty </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Ongoing care" data-astro-cid-xyhjnt7c> ⭐ </span>  Ongoing care </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Entertainment spaces" data-astro-cid-xyhjnt7c> ⭐ </span>  Entertainment spaces </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Social gatherings" data-astro-cid-xyhjnt7c> ⭐ </span>  Social gatherings </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Photo memories" data-astro-cid-xyhjnt7c> 📸 </span>  Photo memories </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.selectPackageAndScroll('fall-favorites')" data-astro-cid-6o3wfomg> Book This Package </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer ring-2 ring-primary-500 ring-offset-2" x-data="packageSelector" data-package-id="autumn-splendor" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages --> <div class="absolute top-4 left-4 z-10" data-astro-cid-6o3wfomg> <span class="text-white px-2 py-1 rounded-full text-xs font-medium shadow-lg" style="background-color: var(--theme-dark-bg-alpha);" data-astro-cid-6o3wfomg>
Full Service
</span> </div> <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> large </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/Custom Large Porch.jpg" alt="Autumn Splendor - Luxury estate displays - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Autumn Splendor </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Residential </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> $999 </div> <p class="text-xs text-gray-300 text-shadow-sm" data-astro-cid-6o3wfomg> Delivery and design included </p> </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> 60+ pumpkins &amp; assorted mini pumpkins for 24-40 sqft </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.selectPackageAndScroll('autumn-splendor')" data-astro-cid-6o3wfomg> Select Package </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/Custom Large Porch.jpg" alt="Autumn Splendor package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Autumn Splendor</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> $999 </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Luxury estate displays</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Spectacular abundance" data-astro-cid-xyhjnt7c> ⭐ </span>  Spectacular abundance </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Luxury-grade materials" data-astro-cid-xyhjnt7c> 🏰 </span>  Luxury-grade materials </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Grand estate presence" data-astro-cid-xyhjnt7c> 🏰 </span>  Grand estate presence </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: White-glove service" data-astro-cid-xyhjnt7c> 🎨 </span>  White-glove service </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Magazine-worthy results" data-astro-cid-xyhjnt7c> ⭐ </span>  Magazine-worthy results </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Seasonal evolution" data-astro-cid-xyhjnt7c> 🔄 </span>  Seasonal evolution </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Luxury estates" data-astro-cid-xyhjnt7c> 🏰 </span>  Luxury estates </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Impressive entrances" data-astro-cid-xyhjnt7c> ⭐ </span>  Impressive entrances </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Statement properties" data-astro-cid-xyhjnt7c> ⭐ </span>  Statement properties </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.selectPackageAndScroll('autumn-splendor')" data-astro-cid-6o3wfomg> Book This Package </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div>  </div> </div> <!-- Business & Event Packages --> <div data-astro-cid-j7pv25f6> <h3 class="text-2xl font-serif font-bold text-gray-900 mb-8 text-center" data-astro-cid-j7pv25f6>Business & Event Solutions</h3> <div class="grid md:grid-cols-2 gap-8 max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer" x-data="packageSelector" data-package-id="business-solutions" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages -->  <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> custom </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/hotel display.jpg" alt="Business Solutions - Commercial-grade displays - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Business Solutions </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Business </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> Custom </div>  </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> Commercial-grade displays </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.getCustomQuote()" data-astro-cid-6o3wfomg> Get Custom Quote </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/hotel display.jpg" alt="Business Solutions package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Business Solutions</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> Custom Pricing </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Commercial-grade displays</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Business-grade quality" data-astro-cid-xyhjnt7c> 🏢 </span>  Business-grade quality </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Brand-aligned aesthetics" data-astro-cid-xyhjnt7c> 🎯 </span>  Brand-aligned aesthetics </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Built for crowds" data-astro-cid-xyhjnt7c> ⭐ </span>  Built for crowds </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Strategic planning" data-astro-cid-xyhjnt7c> ⭐ </span>  Strategic planning </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Multi-site coordination" data-astro-cid-xyhjnt7c> 🤝 </span>  Multi-site coordination </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Ongoing support" data-astro-cid-xyhjnt7c> 🤝 </span>  Ongoing support </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Fresh seasonal looks" data-astro-cid-xyhjnt7c> 🔄 </span>  Fresh seasonal looks </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Customer-facing businesses" data-astro-cid-xyhjnt7c> 🏢 </span>  Customer-facing businesses </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Brand enhancement" data-astro-cid-xyhjnt7c> 🎯 </span>  Brand enhancement </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Professional atmosphere" data-astro-cid-xyhjnt7c> ⭐ </span>  Professional atmosphere </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.getCustomQuote()" data-astro-cid-6o3wfomg> Get Custom Quote </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div> <div class="group relative bg-white rounded-2xl shadow-lg overflow-hidden transition-all duration-300 hover:shadow-2xl hover:scale-105 gpu-accelerated cursor-pointer" x-data="packageSelector" data-package-id="event-decor" data-astro-cid-6o3wfomg> <!-- Full Service Badge for Residential Packages -->  <!-- Size Badge --> <div class="absolute top-4 right-4 z-10" data-astro-cid-6o3wfomg> <span class="px-3 py-1 rounded-full text-xs font-medium capitalize shadow-sm bg-primary-100 text-primary-800" data-astro-cid-6o3wfomg> custom </span> </div> <!-- Package Image --> <div class="relative h-48 sm:h-56 overflow-hidden" data-astro-cid-6o3wfomg> <div class="image-container w-full h-full object-cover transition-transform duration-500 group-hover:scale-110" style="
    --img-max-width: 100%;
    --img-max-height: 100%;
    --img-width: 100%;
    --img-height: 100%;
    --img-object-fit: cover;
    --img-object-position: center;
  " data-astro-cid-x4ppssot> <!-- Main optimized image with enhanced lazy loading --> <img src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1 1'%3E%3C/svg%3E" data-src="/images/business/wedding 2.webp" alt="Event Decor - Custom event displays - Professional pumpkin display package by Mountain Porch Pumpkins serving Utah Idaho Wyoming" width="600" height="400" loading="lazy" decoding="async" fetchpriority="auto" class="lazy-image" data-astro-cid-x4ppssot> </div>  <!-- Gradient Overlay --> <div class="absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent" data-astro-cid-6o3wfomg></div> <!-- Price Overlay --> <div class="absolute bottom-4 left-4 right-4" data-astro-cid-6o3wfomg> <div class="flex items-end justify-between text-white" data-astro-cid-6o3wfomg> <div data-astro-cid-6o3wfomg> <h3 class="text-xl sm:text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg> Event Decor </h3> <p class="text-sm text-gray-200 text-shadow-sm" data-astro-cid-6o3wfomg> Event </p> </div> <div class="text-right" data-astro-cid-6o3wfomg> <div class="text-2xl sm:text-3xl font-bold text-primary-300 text-shadow" data-astro-cid-6o3wfomg> Custom </div>  </div> </div> </div> </div> <!-- Package Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <p class="text-gray-600 mb-4 line-clamp-2 text-center" data-astro-cid-6o3wfomg> Custom event displays </p> <!-- Action Button --> <button class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-4 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" @click.stop="window.getCustomQuote()" data-astro-cid-6o3wfomg> Get Custom Quote </button> </div> <!-- Hover Effect --> <div class="absolute inset-0 bg-primary-500/5 opacity-0 group-hover:opacity-100 transition-opacity duration-300 pointer-events-none" data-astro-cid-6o3wfomg></div> </div> <!-- Package Modal --> <div x-show="modalOpen && selectedPackage?.id === `${pkg.id}`" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 bg-black/50 z-50 flex items-center justify-center p-4" @click="handleModalClick($event)" @keydown.escape="closeModal()" style="display: none;" data-astro-cid-6o3wfomg> <div class="bg-white rounded-2xl shadow-2xl max-w-2xl w-full max-h-screen overflow-y-auto" data-astro-cid-6o3wfomg> <!-- Modal Header --> <div class="relative" data-astro-cid-6o3wfomg> <img src="/images/business/wedding 2.webp" alt="Event Decor package display" class="w-full h-48 object-cover" data-astro-cid-6o3wfomg> <div class="absolute inset-0 bg-gradient-to-t from-black/70 to-transparent" data-astro-cid-6o3wfomg></div> <div class="absolute bottom-4 left-6 right-6 text-white" data-astro-cid-6o3wfomg> <h2 class="text-2xl font-bold text-shadow mb-1" data-astro-cid-6o3wfomg>Event Decor</h2> <p class="text-primary-300 font-semibold text-shadow" data-astro-cid-6o3wfomg> Custom Pricing </p> </div> <button @click="closeModal()" class="absolute top-4 right-4 bg-black/50 text-white p-2 rounded-full hover:bg-black/70 transition-colors tap-target" data-astro-cid-6o3wfomg> <svg class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-6o3wfomg> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-6o3wfomg></path> </svg> </button> </div> <!-- Modal Content --> <div class="p-6" data-astro-cid-6o3wfomg> <!-- Description --> <div class="mb-6" data-astro-cid-6o3wfomg> <h3 class="text-lg font-semibold text-gray-900 mb-2" data-astro-cid-6o3wfomg>Description</h3> <p class="text-gray-600" data-astro-cid-6o3wfomg>Custom event displays</p> </div> <!-- Features --> <div class="mb-6" data-astro-cid-6o3wfomg> <div class="space-y-4" data-astro-cid-3o554ono> <!-- Categorized Features Display -->
    <div class="grid gap-4" data-astro-cid-3o554ono> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎃</span>
What You Get
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Custom event magic" data-astro-cid-xyhjnt7c> 🎉 </span>  Custom event magic </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Theme coordination" data-astro-cid-xyhjnt7c> 🤝 </span>  Theme coordination </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Picture-perfect moments" data-astro-cid-xyhjnt7c> ⭐ </span>  Picture-perfect moments </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🚚</span>
How We Deliver
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Stress-free logistics" data-astro-cid-xyhjnt7c> ⭐ </span>  Stress-free logistics </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Perfect timing" data-astro-cid-xyhjnt7c> ⭐ </span>  Perfect timing </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Day-of assistance" data-astro-cid-xyhjnt7c> ⭐ </span>  Day-of assistance </li> </ul> </div> <div data-astro-cid-3o554ono> <h4 class="font-semibold text-gray-900 mb-2 flex items-center" data-astro-cid-3o554ono> <span class="text-lg mr-2" data-astro-cid-3o554ono>🎯</span>
Perfect For
</h4> <ul class="space-y-1" data-astro-cid-3o554ono> <li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Dream weddings" data-astro-cid-xyhjnt7c> 🎉 </span>  Dream weddings </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Corporate impressions" data-astro-cid-xyhjnt7c> ⭐ </span>  Corporate impressions </li><li class="flex items-center text-gray-600 text-sm" data-astro-cid-3o554ono> <span class="inline-flex items-center justify-center w-5 h-5 text-primary-500 flex-shrink-0 text-sm mr-2" title="Icon for: Memorable celebrations" data-astro-cid-xyhjnt7c> ⭐ </span>  Memorable celebrations </li> </ul> </div> </div> </div>  </div> <!-- Action Buttons --> <div class="flex flex-col sm:flex-row gap-3" data-astro-cid-6o3wfomg> <button class="flex-1 bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-3 px-6 rounded-lg font-semibold transition-all transform hover:scale-105 shadow-lg hover:shadow-xl tap-target" @click="closeModal(); window.getCustomQuote()" data-astro-cid-6o3wfomg> Get Custom Quote </button> <button @click="closeModal()" class="flex-1 bg-gray-100 hover:bg-gray-200 text-gray-800 py-3 px-6 rounded-lg font-semibold transition-colors tap-target" data-astro-cid-6o3wfomg>
Continue Browsing
</button> </div> </div> </div> </div>  </div> </div> </div> </section>  <section id="about" class="py-20 bg-white lazy-content" data-component="about" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-serif font-bold text-gray-900 mb-12 text-center" data-astro-cid-j7pv25f6>
About Mountain Porch Pumpkins
</h2> <div class="grid md:grid-cols-2 gap-12 items-center" data-astro-cid-j7pv25f6> <!-- Founder Image --> <div class="text-center md:text-left" data-astro-cid-j7pv25f6> <img src="/images/founder.webp" alt="Kelsey, Founder of Mountain Porch Pumpkins" class="max-w-xs md:max-w-sm rounded-full mx-auto md:mx-0 shadow-lg" style="aspect-ratio: 1; object-fit: cover; image-rendering: -webkit-optimize-contrast; image-rendering: crisp-edges;" data-astro-cid-j7pv25f6> </div> <!-- Story Content --> <div data-astro-cid-j7pv25f6> <h3 class="text-2xl font-serif font-bold text-gray-900 mb-4" data-astro-cid-j7pv25f6>Meet Kelsey, Our Founder</h3> <p class="text-gray-600 text-lg leading-relaxed mb-6" data-astro-cid-j7pv25f6>
Born and raised in Arizona, Kelsey fell in love with the fall colors and spirit when she moved to Utah in 2019. In 2024, she founded Mountain Porch Pumpkins as a way to share the magic of the fall season with others.
</p> <p class="text-gray-600 text-lg leading-relaxed mb-6" data-astro-cid-j7pv25f6>
With 13 years of experience as an event planner, designer, and photographer, Kelsey has been creating stunning displays all her life. After battling with MS for the last 7 years, she understands that families should spend more time enjoying fall traditions and less time doing backbreaking work hauling pumpkins around.
</p> <p class="text-gray-600 text-lg leading-relaxed mb-6" data-astro-cid-j7pv25f6>
What began as a passion project in Riverdale, Utah has grown to serve families across Utah, Idaho, and Wyoming. Partnered with local patches, Kelsey hand-selects the best pumpkins and creates professional arrangements that bring the magic of autumn directly to your doorstep.
</p> <div class="bg-orange-50 border-l-4 border-orange-500 p-4 rounded-r-lg" data-astro-cid-j7pv25f6> <p class="text-orange-800 font-medium italic" data-astro-cid-j7pv25f6>
"Why settle for ordinary?" - Kelsey
</p> </div> </div> </div> </div> </div> </section>  <section id="service-area" class="py-16 bg-gradient-to-b from-white to-orange-50" x-data="{ showModal: false, modalTitle: '', modalCities: [] }" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="text-center mb-12" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-serif font-bold text-gray-900 mb-4" data-astro-cid-j7pv25f6>
Service Areas
</h2> <p class="text-lg text-gray-600 max-w-2xl mx-auto" data-astro-cid-j7pv25f6>
We proudly serve communities across Utah, Idaho, and Wyoming with our premium pumpkin delivery and display services.
</p> </div> <div class="grid md:grid-cols-3 gap-8 max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <!-- Utah --> <div class="text-center" data-astro-cid-j7pv25f6> <div class="bg-white rounded-lg shadow-lg p-6 hover:shadow-xl transition-shadow border border-orange-100 hover:border-orange-200" data-astro-cid-j7pv25f6> <!-- Clickable thumbnail --> <div class="w-32 h-32 mx-auto mb-4 cursor-pointer hover:scale-105 transition-transform duration-200" @click="showModal = true; modalTitle = 'Utah Service Areas'; modalCities = ['Logan', 'Smithfield', 'Hyrum', 'North Logan', 'Providence', 'Ogden', 'Roy', 'Clearfield', 'Layton', 'Kaysville', 'Syracuse', 'Clinton', 'Eden', 'Huntsville', 'West Haven', 'North Ogden', 'South Ogden', 'Pleasant View', 'Brigham City', 'Tremonton', 'Bountiful', 'Farmington', 'Centerville', 'Salt Lake City', 'West Valley City', 'Sandy', 'West Jordan', 'Taylorsville', 'Murray', 'Kearns', 'Cottonwood Heights', 'Midvale', 'South Jordan', 'Draper', 'Riverton', 'Magna', 'Park City', 'Summit Park', 'Snyderville', 'Provo', 'Orem', 'Lehi', 'American Fork', 'Pleasant Grove', 'Springville', 'Spanish Fork', 'Payson', 'Saratoga Springs', 'Eagle Mountain', 'Highland', 'Alpine', 'Saint George', 'Hurricane', 'Ivins', 'Washington', 'Cedar City', 'Enoch', 'Heber City', 'Midway', 'Moab', 'Garden City']" data-astro-cid-j7pv25f6> <img src="/images/Maps/Utah.png" alt="Utah Service Areas" class="object-contain w-full h-full rounded-lg" loading="lazy" data-astro-cid-j7pv25f6> </div> <h3 class="text-xl font-semibold text-gray-900 mb-2" data-astro-cid-j7pv25f6>Utah</h3> <p class="text-gray-600 mb-4" data-astro-cid-j7pv25f6>Click map to see all service cities</p> </div> </div> <!-- Idaho --> <div class="text-center" data-astro-cid-j7pv25f6> <div class="bg-white rounded-lg shadow-lg p-6 hover:shadow-xl transition-shadow border border-orange-100 hover:border-orange-200" data-astro-cid-j7pv25f6> <!-- Clickable thumbnail --> <div class="w-32 h-32 mx-auto mb-4 cursor-pointer hover:scale-105 transition-transform duration-200" @click="showModal = true; modalTitle = 'Idaho Service Areas'; modalCities = ['Boise', 'Meridian', 'Nampa', 'Caldwell', 'Twin Falls', 'Idaho Falls', 'Rexburg', 'Pocatello', 'Sun Valley']" data-astro-cid-j7pv25f6> <img src="/images/Maps/Idaho.png" alt="Idaho Service Areas" class="object-contain w-full h-full rounded-lg" loading="lazy" data-astro-cid-j7pv25f6> </div> <h3 class="text-xl font-semibold text-gray-900 mb-2" data-astro-cid-j7pv25f6>Idaho</h3> <p class="text-gray-600 mb-4" data-astro-cid-j7pv25f6>Click map to see all service cities</p> </div> </div> <!-- Wyoming --> <div class="text-center" data-astro-cid-j7pv25f6> <div class="bg-white rounded-lg shadow-lg p-6 hover:shadow-xl transition-shadow border border-orange-100 hover:border-orange-200" data-astro-cid-j7pv25f6> <!-- Clickable thumbnail --> <div class="w-32 h-32 mx-auto mb-4 cursor-pointer hover:scale-105 transition-transform duration-200" @click="showModal = true; modalTitle = 'Wyoming Service Areas'; modalCities = ['Jackson', 'Star Valley', 'Evanston', 'Green River', 'Rock Springs']" data-astro-cid-j7pv25f6> <img src="/images/Maps/Wyoming.png" alt="Wyoming Service Areas" class="object-contain w-full h-full rounded-lg" loading="lazy" data-astro-cid-j7pv25f6> </div> <h3 class="text-xl font-semibold text-gray-900 mb-2" data-astro-cid-j7pv25f6>Wyoming</h3> <p class="text-gray-600 mb-4" data-astro-cid-j7pv25f6>Click map to see all service cities</p> </div> </div> </div> <div class="text-center mt-12" data-astro-cid-j7pv25f6> <p class="text-gray-600 mb-6" data-astro-cid-j7pv25f6>
Service area includes up to 15 mile radius outside of listed cities. Extended service is available for up to 50 miles for an additional $125.
</p> <p class="text-gray-600" data-astro-cid-j7pv25f6>
Further out but still interested? Send us a custom quote request and we'll get back to you ASAP
</p> </div> </div> <!-- Modal --> <div x-show="showModal" x-transition:enter="transition ease-out duration-300" x-transition:enter-start="opacity-0" x-transition:enter-end="opacity-100" x-transition:leave="transition ease-in duration-200" x-transition:leave-start="opacity-100" x-transition:leave-end="opacity-0" class="fixed inset-0 z-50 flex items-center justify-center p-4 bg-black bg-opacity-75" @click="showModal = false" style="display: none;" data-astro-cid-j7pv25f6> <div class="relative bg-white rounded-lg max-w-4xl max-h-[90vh] overflow-hidden" @click.stop x-transition:enter="transition ease-out duration-300 transform" x-transition:enter-start="opacity-0 scale-95" x-transition:enter-end="opacity-100 scale-100" x-transition:leave="transition ease-in duration-200 transform" x-transition:leave-start="opacity-100 scale-100" x-transition:leave-end="opacity-0 scale-95" data-astro-cid-j7pv25f6> <!-- Close button --> <button @click="showModal = false" class="absolute top-4 right-4 z-10 bg-white rounded-full p-2 shadow-lg hover:bg-gray-100 transition-colors" data-astro-cid-j7pv25f6> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" data-astro-cid-j7pv25f6></path> </svg> </button> <!-- Modal content --> <div class="p-6" data-astro-cid-j7pv25f6> <h3 class="text-2xl font-bold text-gray-900 mb-4" x-text="modalTitle" data-astro-cid-j7pv25f6></h3> <!-- Cities list --> <div class="mt-6" x-show="modalCities && modalCities.length > 0" data-astro-cid-j7pv25f6> <h4 class="text-lg font-semibold text-gray-800 mb-3" data-astro-cid-j7pv25f6>Service Cities:</h4> <div class="grid grid-cols-2 md:grid-cols-3 gap-2 max-h-48 overflow-y-auto" data-astro-cid-j7pv25f6> <template x-for="city in modalCities" :key="city" data-astro-cid-j7pv25f6> <div class="text-sm text-gray-600 py-1 px-2 bg-orange-50 rounded border border-orange-100" data-astro-cid-j7pv25f6> <span x-text="city" data-astro-cid-j7pv25f6></span> </div> </template> </div> </div> <!-- Contact CTA --> <div class="mt-6 pt-4 border-t border-gray-200 text-center" data-astro-cid-j7pv25f6> <p class="text-sm text-gray-600 mb-3" data-astro-cid-j7pv25f6>Don't see your city? Contact us to check availability!</p> <a href="#contact" @click="showModal = false" class="inline-flex items-center px-4 py-2 bg-gradient-to-r from-orange-500 to-orange-600 text-white font-medium rounded-lg hover:from-orange-600 hover:to-orange-700 transition-all duration-200" data-astro-cid-j7pv25f6> <svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" data-astro-cid-j7pv25f6></path> </svg>
Get Quote
</a> </div> </div> </div> </div> </section>  <section id="contact" class="py-20 bg-gradient-to-br from-orange-50 to-white lazy-content" data-component="contact" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="max-w-4xl mx-auto" data-astro-cid-j7pv25f6> <div class="text-center mb-12" data-astro-cid-j7pv25f6> <h2 class="text-3xl md:text-4xl font-serif font-bold text-gray-900 mb-4" data-astro-cid-j7pv25f6>
Get Started Today
</h2> <p class="text-lg text-gray-600" data-astro-cid-j7pv25f6>
Ready to transform your space with beautiful autumn displays? Let's create something magical together.
</p> </div> <!-- Form Toggle Buttons --> <div class="flex justify-center mb-8" x-data="{ activeForm: 'quote' }" data-astro-cid-j7pv25f6> <div class="bg-white border border-orange-200 rounded-xl p-1 flex shadow-sm" data-astro-cid-j7pv25f6> <button @click="activeForm = 'quote'; document.getElementById('quote-form').style.display = 'block'; document.getElementById('order-form').style.display = 'none'" :class="activeForm === 'quote' ? 'bg-gradient-to-r from-orange-600 to-red-600 text-white shadow-lg' : 'text-gray-600 hover:text-orange-600 hover:bg-orange-50'" class="px-6 py-3 rounded-lg font-medium transition-all duration-300 tap-target" data-astro-cid-j7pv25f6>
Get a Quote
</button> <button @click="activeForm = 'order'; document.getElementById('quote-form').style.display = 'none'; document.getElementById('order-form').style.display = 'block'" :class="activeForm === 'order' ? 'bg-gradient-to-r from-orange-600 to-red-600 text-white shadow-lg' : 'text-gray-600 hover:text-orange-600 hover:bg-orange-50'" class="px-6 py-3 rounded-lg font-medium transition-all duration-300 tap-target" data-astro-cid-j7pv25f6>
Order Now
</button> </div> </div> <!-- Quote Form --> <div id="quote-form" class="max-w-2xl mx-auto" data-astro-cid-j7pv25f6> <!-- Contact Form --> <div data-astro-cid-j7pv25f6> <form class="space-y-4" id="quote-form-element" data-astro-cid-j7pv25f6> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Name</label> <input type="text" name="name" required class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="John Doe" data-astro-cid-j7pv25f6> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Email <span class="text-red-500" data-astro-cid-j7pv25f6>*</span></label> <input type="email" name="email" required class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="john@example.com" data-astro-cid-j7pv25f6> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Phone</label> <input type="tel" name="phone" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="(555) 123-4567" data-astro-cid-j7pv25f6> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Service Type</label> <select name="serviceType" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" data-astro-cid-j7pv25f6> <option data-astro-cid-j7pv25f6>Residential Package</option> <option data-astro-cid-j7pv25f6>Custom Residential</option> <option data-astro-cid-j7pv25f6>Business Package</option> <option data-astro-cid-j7pv25f6>Event</option> <option data-astro-cid-j7pv25f6>General Inquiry</option> </select> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Street Address</label> <input type="text" name="streetAddress" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="123 Main St" data-astro-cid-j7pv25f6> </div> <div class="grid md:grid-cols-3 gap-4" data-astro-cid-j7pv25f6> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>City</label> <input type="text" name="city" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="Salt Lake City" data-astro-cid-j7pv25f6> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>State</label> <select name="state" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" data-astro-cid-j7pv25f6> <option value="" data-astro-cid-j7pv25f6>Select State</option> <option value="UT" data-astro-cid-j7pv25f6>Utah</option> <option value="ID" data-astro-cid-j7pv25f6>Idaho</option> <option value="WY" data-astro-cid-j7pv25f6>Wyoming</option> </select> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>ZIP Code</label> <input type="text" name="zipCode" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" placeholder="84101" data-astro-cid-j7pv25f6> </div> </div> <div data-astro-cid-j7pv25f6> <label class="block text-sm font-medium text-gray-700 mb-2" data-astro-cid-j7pv25f6>Additional Details</label> <textarea name="additionalDetails" class="w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-orange-500 focus:border-orange-500 transition-colors" rows="4" placeholder="Tell us about your vision, space size, special requirements, etc." data-astro-cid-j7pv25f6></textarea> </div> <button type="submit" class="w-full bg-gradient-to-r from-orange-600 to-red-600 hover:from-orange-700 hover:to-red-700 text-white py-4 px-6 rounded-lg font-semibold text-lg transition-all transform hover:scale-105 shadow-lg hover:shadow-xl focus:ring-2 focus:ring-orange-500 focus:ring-offset-2" data-astro-cid-j7pv25f6>
Get My Custom Quote
</button> </form> </div> </div> <!-- Order Form --> <div id="order-form" class="lazy-component max-w-2xl mx-auto" data-component="form" style="display: none;" data-astro-cid-j7pv25f6> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style><script>(()=>{var e=async t=>{await(await t())()};(self.Astro||(self.Astro={})).only=e;window.dispatchEvent(new Event("astro:only"));})();</script><script>(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!="symbol"?o+"":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>1/0*t},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,"Component");d(this,"hydrator");d(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let c=this.querySelectorAll("astro-slot"),n={},h=this.querySelectorAll("template[data-astro-template]");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("data-astro-template")||"default"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute("name")||"default"]=r.innerHTML)}let p;try{p=this.hasAttribute("props")?m(JSON.parse(this.getAttribute("props"))):{}}catch(r){let s=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(s+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${s}`,this.getAttribute("props"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});d(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute("opts")),c=this.getAttribute("client");if(Astro[c]===void 0){window.addEventListener(`astro:${c}`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute("renderer-url"),[h,{default:p}]=await Promise.all([import(this.getAttribute("component-url")),n?import(n):()=>()=>{}]),u=this.getAttribute("component-export")||"default";if(!u.includes("."))this.Component=h[u];else{this.Component=h;for(let f of u.split("."))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(`[astro-island] Error hydrating ${this.getAttribute("component-url")}`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",y)}})();</script><astro-island uid="Z2sHS8h" component-url="/assets/StripeCheckout.DQaTHh7n.js" component-export="default" renderer-url="/assets/client.CH7tpw8X.js" props="{&quot;data-astro-cid-j7pv25f6&quot;:[0,true]}" ssr client="only" opts="{&quot;name&quot;:&quot;StripeCheckout&quot;,&quot;value&quot;:&quot;react&quot;}"></astro-island> </div> </div> </div> </section>    </main> <!-- Footer slot --> <footer class="bg-gradient-to-r from-orange-800 to-red-900 text-white shadow-lg border-t border-gray-100" data-astro-cid-j7pv25f6> <!-- Main Footer Content --> <div class="py-8" data-astro-cid-j7pv25f6> <div class="container mx-auto px-4" data-astro-cid-j7pv25f6> <div class="grid md:grid-cols-3 gap-6 mb-6" data-astro-cid-j7pv25f6> <!-- Brand Section --> <div data-astro-cid-j7pv25f6> <div class="flex items-center space-x-3 mb-3" data-astro-cid-j7pv25f6> <div class="relative" data-astro-cid-j7pv25f6> <img src="/images/MPP logo.jpg" alt="Mountain Porch Pumpkins Logo" class="h-10 w-auto filter drop-shadow-md" loading="lazy" data-astro-cid-j7pv25f6> <div class="absolute -top-1 -right-1 w-2 h-2 bg-orange-500 rounded-full opacity-80" data-astro-cid-j7pv25f6></div> </div> <div data-astro-cid-j7pv25f6> <h3 class="text-white font-serif font-bold text-lg leading-tight" data-astro-cid-j7pv25f6>
Mountain Porch Pumpkins
</h3> <p class="text-orange-200 font-medium text-xs" data-astro-cid-j7pv25f6>
Premium Fall Display Service
</p> </div> </div> <p class="text-orange-100 mb-4 text-sm leading-relaxed" data-astro-cid-j7pv25f6>
Professional pumpkin delivery and display service bringing autumn magic to your doorstep across Utah, Idaho, and Wyoming.
</p> <!-- Social Media Links --> <div class="flex space-x-3" data-astro-cid-j7pv25f6> <a href="https://www.instagram.com/mountainporchpumpkins/" class="text-orange-200 hover:text-white transition-colors transform hover:scale-110" aria-label="Follow us on Instagram" data-astro-cid-j7pv25f6> <svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z" data-astro-cid-j7pv25f6></path> </svg> </a> <a href="https://www.instagram.com/mountainporchpumpkins/" class="text-orange-200 hover:text-white transition-colors transform hover:scale-110" aria-label="Follow us on TikTok" data-astro-cid-j7pv25f6> <svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" data-astro-cid-j7pv25f6></path> </svg> </a> <a href="https://www.instagram.com/mountainporchpumpkins/" class="text-orange-200 hover:text-white transition-colors transform hover:scale-110" aria-label="Follow us on Facebook" data-astro-cid-j7pv25f6> <svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" data-astro-cid-j7pv25f6></path> </svg> </a> </div> </div> <!-- Quick Links --> <div data-astro-cid-j7pv25f6> <h4 class="font-semibold text-white mb-4 text-base tracking-wide" data-astro-cid-j7pv25f6>Quick Links</h4> <ul class="space-y-2 text-orange-100" data-astro-cid-j7pv25f6> <li data-astro-cid-j7pv25f6> <a href="#showcase" class="flex items-center text-orange-100 hover:text-white transition-all duration-300 font-medium py-1 px-2 rounded hover:bg-orange-700/30 group text-sm" data-astro-cid-j7pv25f6> <svg class="w-3 h-3 mr-2 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z" data-astro-cid-j7pv25f6></path> </svg>
Inspiration
</a> </li> <li data-astro-cid-j7pv25f6> <a href="#packages" class="flex items-center text-orange-100 hover:text-white transition-all duration-300 font-medium py-1 px-2 rounded hover:bg-orange-700/30 group text-sm" data-astro-cid-j7pv25f6> <svg class="w-3 h-3 mr-2 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" data-astro-cid-j7pv25f6></path> </svg>
Packages
</a> </li> <li data-astro-cid-j7pv25f6> <a href="#about" class="flex items-center text-orange-100 hover:text-white transition-all duration-300 font-medium py-1 px-2 rounded hover:bg-orange-700/30 group text-sm" data-astro-cid-j7pv25f6> <svg class="w-3 h-3 mr-2 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-j7pv25f6></path> </svg>
About Us
</a> </li> <li data-astro-cid-j7pv25f6> <a href="#service-area" class="flex items-center text-orange-100 hover:text-white transition-all duration-300 font-medium py-1 px-2 rounded hover:bg-orange-700/30 group text-sm" data-astro-cid-j7pv25f6> <svg class="w-3 h-3 mr-2 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7" data-astro-cid-j7pv25f6></path> </svg>
Service Area
</a> </li> </ul> </div> <!-- Contact Information --> <div data-astro-cid-j7pv25f6> <h4 class="font-semibold text-white mb-4 text-base tracking-wide" data-astro-cid-j7pv25f6>Get In Touch</h4> <div class="space-y-3" data-astro-cid-j7pv25f6> <!-- Phone --> <div class="flex items-center group p-2 rounded hover:bg-orange-700/20 transition-all duration-300" data-astro-cid-j7pv25f6> <div class="flex-shrink-0 w-8 h-8 bg-orange-600/30 rounded flex items-center justify-center group-hover:bg-orange-600/50 transition-colors" data-astro-cid-j7pv25f6> <svg class="w-4 h-4 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z" data-astro-cid-j7pv25f6></path> </svg> </div> <div class="ml-3" data-astro-cid-j7pv25f6> <p class="text-white font-semibold text-sm" data-astro-cid-j7pv25f6>1-801-900-3221</p> <p class="text-orange-200 text-xs" data-astro-cid-j7pv25f6>Call for assistance</p> </div> </div> <!-- Email --> <div class="flex items-center group p-2 rounded hover:bg-orange-700/20 transition-all duration-300" data-astro-cid-j7pv25f6> <div class="flex-shrink-0 w-8 h-8 bg-orange-600/30 rounded flex items-center justify-center group-hover:bg-orange-600/50 transition-colors" data-astro-cid-j7pv25f6> <svg class="w-4 h-4 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <rect x="2" y="4" width="20" height="16" rx="2" data-astro-cid-j7pv25f6></rect> <path d="m2 7 10 6 10-6" data-astro-cid-j7pv25f6></path> </svg> </div> <div class="ml-3" data-astro-cid-j7pv25f6> <p class="text-white font-semibold text-sm" data-astro-cid-j7pv25f6>hello@mountainporchpumpkins.com</p> <p class="text-orange-200 text-xs" data-astro-cid-j7pv25f6>Send us questions</p> </div> </div> <!-- Service Area --> <div class="flex items-start group p-2 rounded hover:bg-orange-700/20 transition-all duration-300" data-astro-cid-j7pv25f6> <div class="flex-shrink-0 w-8 h-8 bg-orange-600/30 rounded flex items-center justify-center group-hover:bg-orange-600/50 transition-colors" data-astro-cid-j7pv25f6> <svg class="w-4 h-4 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z" data-astro-cid-j7pv25f6></path> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M15 11a3 3 0 11-6 0 3 3 0 016 0z" data-astro-cid-j7pv25f6></path> </svg> </div> <div class="ml-3" data-astro-cid-j7pv25f6> <p class="text-white font-semibold text-sm" data-astro-cid-j7pv25f6>Utah, Idaho & Wyoming</p> <p class="text-orange-200 text-xs" data-astro-cid-j7pv25f6>Service across three states</p> </div> </div> <!-- Business Hours --> <div class="flex items-center group p-2 rounded hover:bg-orange-700/20 transition-all duration-300" data-astro-cid-j7pv25f6> <div class="flex-shrink-0 w-8 h-8 bg-orange-600/30 rounded flex items-center justify-center group-hover:bg-orange-600/50 transition-colors" data-astro-cid-j7pv25f6> <svg class="w-4 h-4 text-orange-300 group-hover:text-white transition-colors" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-astro-cid-j7pv25f6> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z" data-astro-cid-j7pv25f6></path> </svg> </div> <div class="ml-3" data-astro-cid-j7pv25f6> <p class="text-white font-semibold text-sm" data-astro-cid-j7pv25f6>Monday - Saturday</p> <p class="text-orange-200 text-xs" data-astro-cid-j7pv25f6>8:00 AM - 6:00 PM</p> </div> </div> </div> </div> </div> <!-- Bottom Bar --> <div class="border-t border-orange-700 pt-4" data-astro-cid-j7pv25f6> <div class="flex flex-col md:flex-row md:items-center md:justify-between text-center md:text-left" data-astro-cid-j7pv25f6> <p class="text-orange-200 mb-2 md:mb-0 text-sm" data-astro-cid-j7pv25f6>
&copy; 2024 Mountain Porch Pumpkins. All rights reserved.
</p> <div class="flex justify-center md:justify-end space-x-4" data-astro-cid-j7pv25f6> <a href="/privacy" class="text-orange-200 hover:text-white transition-colors font-medium py-1 px-1 border-b border-transparent hover:border-orange-300 text-sm" data-astro-cid-j7pv25f6>
Privacy Policy
</a> <a href="/terms" class="text-orange-200 hover:text-white transition-colors font-medium py-1 px-1 border-b border-transparent hover:border-orange-300 text-sm" data-astro-cid-j7pv25f6>
Terms of Service
</a> </div> </div> </div> </div> </div> </footer> <!-- Stripe initialization for embedded checkout --> <script>
    // Initialize Stripe when needed
    window.initializeStripe = function() {
      if (window.Stripe) return;
      if (!document.head) return;
      
      const script = document.createElement('script');
      script.src = 'https://js.stripe.com/basil/stripe.js';
      script.async = true;
      document.head.appendChild(script);
    };
  </script> <!-- Service Worker Registration --> <script>
    if ('serviceWorker' in navigator) {
      window.addEventListener('load', () => {
        navigator.serviceWorker.register('/sw.js')
          .then(registration => {
            console.log('SW registered: ', registration);
          })
          .catch(registrationError => {
            console.log('SW registration failed: ', registrationError);
          });
      });
    }
  </script> <!-- Lazy Loading Script --> <script src="/js/lazyLoading.js"></script> <!-- Stripe Elements Initialization --> <script src="/js/stripe-init.js"></script> <!-- Alpine.js is handled by Astro integration --> </body></html> <script type="module">document.addEventListener("DOMContentLoaded",function(){const e=document.getElementById("quote-form-element");e&&e.addEventListener("submit",async function(t){t.preventDefault();const o=e.querySelector('button[type="submit"]'),n=o.textContent;o.textContent="Sending...",o.disabled=!0;try{const t=new FormData(e),o={name:t.get("name"),email:t.get("email"),phone:t.get("phone"),serviceType:t.get("serviceType"),streetAddress:t.get("streetAddress"),city:t.get("city"),state:t.get("state"),zipCode:t.get("zipCode"),additionalDetails:t.get("additionalDetails")},n=await fetch("/api/submit-quote",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({formData:o,formMode:"quote"})}),a=await n.json();if(!a.success)throw new Error(a.error||"Failed to submit quote request");alert("Thank you! Your quote request has been submitted successfully. We'll get back to you soon!"),e.reset()}catch(a){alert("Sorry, there was an error submitting your quote request. Please try again or contact us directly.")}finally{o.textContent=n,o.disabled=!1}})});</script> 