/* Decorative effects sit below content and never receive pointer or keyboard input. */
.home-hero,.atmosphere,#storm,.compare-card,.package-card{position:relative;isolation:isolate}
.home-hero>.container,.atmosphere>.container,#storm>.container,.compare-card>.card-copy{position:relative;z-index:2}
.rising-bubbles,.storm-effects{position:absolute;inset:0;overflow:hidden;pointer-events:none!important;z-index:0;border-radius:inherit}
.rising-bubble{position:absolute;display:block;width:var(--bubble-size);height:var(--bubble-size);border:1px solid #b8e9ff73;border-radius:50%;background:radial-gradient(circle at 28% 23%,#fff8 0 4%,transparent 18%),radial-gradient(circle at 62% 68%,#985af324,transparent 70%);box-shadow:inset -2px -2px 4px #6588ad25,0 0 7px #7bb3df1a;opacity:.33;animation:background-rise var(--bubble-duration) linear var(--bubble-delay) infinite;pointer-events:none}
.rising-bubble:nth-child(4n){border-color:#f1ca8570}.rising-bubble:nth-child(3n){border-color:#86ccd97a}
@keyframes background-rise{0%{transform:translate3d(0,90px,0);opacity:0}14%,78%{opacity:.4}100%{transform:translate3d(var(--bubble-drift),-520px,0);opacity:0}}
.pointer-bubbles{position:fixed;inset:0;z-index:70;overflow:hidden;pointer-events:none!important;contain:strict}.pointer-bubbles *{pointer-events:none!important}
.pointer-bubble{position:absolute;border-radius:50%;border:1px solid #b2e5f5b3;background:radial-gradient(circle at 27% 23%,#fffd 0 4%,transparent 19%),radial-gradient(circle at 60% 72%,#6ee6ff33,transparent 65%);box-shadow:inset -1px -1px 3px #76b6ed55,0 0 7px #83dfff30;animation:pointer-rise ease-out forwards}
@keyframes pointer-rise{0%{opacity:0;transform:translate(0,0) scale(.65)}14%{opacity:.8}100%{opacity:0;transform:translate(var(--pointer-drift),calc(-1 * var(--pointer-rise))) scale(1.12)}}
.storm-effects{background:linear-gradient(100deg,#0b10206b,#28123f38);opacity:.9}.storm-effects>span{position:absolute;inset:0;pointer-events:none}
.storm-water{background:url('/assets/effects/storm-zone/wet-glass-trails-section.png') center/cover;opacity:.25;animation:water-descend 30s linear infinite}.storm-bolt-one,.storm-bolt-two{background:center/cover no-repeat;mix-blend-mode:screen;opacity:0}.storm-bolt-one{background-image:url('/assets/effects/storm-zone/storm-lightning-1.svg');animation:lightning-one 9s ease-out infinite}.storm-bolt-two{background-image:url('/assets/effects/storm-zone/storm-lightning-2.svg');animation:lightning-two 13s ease-out infinite}.storm-glow{background:radial-gradient(ellipse at 65% 35%,#af6def45,transparent 65%);opacity:.25;animation:storm-glow 9s ease-out infinite}
@keyframes water-descend{from{transform:translateY(-12%)}to{transform:translateY(12%)}}
@keyframes lightning-one{0%,12%,100%{opacity:0}6%{opacity:.65}8%{opacity:.18}10%{opacity:.48}}
@keyframes lightning-two{0%,46%,57%,100%{opacity:0}49%{opacity:.55}51%{opacity:.1}54%{opacity:.4}}
@keyframes storm-glow{0%,12%,100%{opacity:.16}7%,10%{opacity:.5}}
.package-card{overflow:hidden;animation:package-glow 9s ease-in-out infinite}.package-card>*:not(.storm-effects){position:relative;z-index:1}.package-card .storm-effects{opacity:.32}.package-card .storm-water{background-image:url('/assets/effects/storm-zone/wet-glass-trails-card.png')}.package-card:hover,.package-card:focus-visible{transform:translateY(-4px);box-shadow:0 14px 32px #7161c233}.package-card .storm-effects:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,#fff2,transparent 62%);transform:translateX(-130%);transition:transform .8s}.package-card:hover .storm-effects:after,.package-card:focus-visible .storm-effects:after{transform:translateX(130%)}
@keyframes package-glow{0%,100%{filter:drop-shadow(0 0 2px #927ed615)}50%{filter:drop-shadow(0 0 7px #927ed635)}}
.comparison:after,.comparison:before{content:none!important}.comparison-choice{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);z-index:5;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#07162a;border:1px solid #879bbf;box-shadow:0 0 0 7px #07122baa;color:var(--gold);font-weight:700;pointer-events:none}
[data-carousel]{min-width:0;position:relative}.carousel-controls{display:flex;align-items:center;justify-content:center;gap:13px;margin:22px 0 8px;flex-wrap:wrap}.carousel-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:65%}.carousel-button,.carousel-pause{border:1px solid #b998e17a;background:#172542;color:#eedfff;border-radius:50%;min-width:40px;min-height:40px;padding:5px 10px}.carousel-pause{border-radius:30px;font-size:11px;min-width:56px;min-height:32px}.carousel-button:hover,.carousel-pause:hover{background:#29345b;color:white}.carousel-dot{position:relative;border:0;background:transparent;width:24px;height:28px;padding:0}.carousel-dot:after{content:'';position:absolute;left:8px;top:10px;width:8px;height:8px;border-radius:50%;background:#7684a0}.carousel-dot[aria-pressed=true]:after{background:#8de6ef;box-shadow:0 0 8px #76d6ee88}.carousel-active{animation:carousel-arrive .45s ease-out}
@keyframes carousel-arrive{from{opacity:.35}to{opacity:1}}
[data-carousel=review] .reviews{min-height:260px;display:grid;align-content:center}[data-carousel=review] .review{border-bottom:0;padding:12px 0}[data-carousel=review] .review blockquote{font-size:clamp(18px,2vw,25px);line-height:1.55;color:#edf2ff;margin:14px 0 22px}[data-carousel=review]>.button{margin-top:18px}[data-carousel=photo]{padding:12px 12px 0}[data-carousel=photo] .gallery{display:block;transform:rotate(-1deg);filter:drop-shadow(0 15px 24px #0005)}[data-carousel=photo] .gallery figure{margin:0;background:#132944;border:1px solid #86b9d283;padding:12px 12px 16px;border-radius:18px;box-shadow:0 0 0 5px #7693bf12}[data-carousel=photo] .gallery img{width:100%;height:330px;object-fit:cover;border-radius:10px}[data-carousel=photo] figcaption{padding:16px 4px 0;color:#b9cbe3;text-align:center;font-size:12px}
@media(max-width:760px){.rising-bubble-large,.rising-bubble:nth-child(2n){display:none}.rising-bubble{opacity:.24}.comparison-choice{top:50%;width:45px;height:45px}.storm-effects{opacity:.65}[data-carousel=photo]{padding:6px}[data-carousel=photo] .gallery img{height:280px}.carousel-controls{gap:8px}.carousel-dots{max-width:62%}}
@media(prefers-reduced-motion:reduce){.pointer-bubbles{display:none}.rising-bubble{animation:none;opacity:.22;transform:none}.storm-effects span,.package-card,.carousel-active{animation:none!important}.storm-bolt-one{opacity:.18}.storm-bolt-two{opacity:0}.package-card:hover,.package-card:focus-visible,[data-carousel=photo] .gallery{transform:none}.package-card .storm-effects:after{display:none}}
