/* A seasonal decoration layer. The original layout, content and images stay intact. */
[data-season="halloween"] :is(.page-hero,.cta-band,.site-footer){position:relative;isolation:isolate}
.season-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;user-select:none;z-index:1;contain:layout paint}
.season-scene img{display:block;max-width:none;object-fit:contain}
.season-scene *{pointer-events:none}
[data-season="halloween"] .page-hero>.container,[data-season="halloween"] .cta-band>.container,[data-season="halloween"] .site-footer>.container{position:relative;z-index:2}
[data-season="halloween"] :is(.contact-hero,.request-hero,.services-hero) .page-hero-inner>p:last-child{color:rgba(255,255,255,.82)}
.season-pumpkins{position:absolute;right:3.4%;bottom:7px;width:340px;height:auto;filter:drop-shadow(0 10px 14px rgba(12,19,43,.22))}
.season-pumpkin-light{position:absolute;right:3%;bottom:-40px;width:345px;height:230px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,160,45,.2),transparent 70%);animation:season-glow 6s ease-in-out infinite alternate;animation-play-state:paused}
.season-moon{position:absolute;right:12%;top:50px;width:117px;height:117px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff5da 0,#ffe6ad 42%,#ebbd73 100%);box-shadow:0 0 38px rgba(255,223,160,.23),0 0 105px rgba(246,177,79,.2);opacity:.92}
.season-moon::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 27% 60%,rgba(161,114,71,.09) 0 8%,transparent 9%),radial-gradient(circle at 66% 26%,rgba(161,114,71,.1) 0 13%,transparent 14%),radial-gradient(circle at 71% 67%,rgba(161,114,71,.08) 0 16%,transparent 17%)}
.season-moon::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(253,220,162,.17);border-radius:50%}
.season-web{position:absolute;right:0;top:0;width:180px;height:180px;opacity:.42}
.season-bat{position:absolute;right:22%;top:142px;width:68px;height:37px;animation:season-bat-glide 8s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:center}
.season-bat.two{right:8%;top:106px;width:46px;height:25px;animation-delay:-3s;animation-duration:9s;transform:rotate(-12deg)}
.season-bat.three{right:18%;top:205px;width:34px;height:19px;animation-delay:-4s;animation-duration:7s}
.season-leaf{position:absolute;width:30px;height:38px;right:3%;top:20%;opacity:0;animation:season-leaf-fall 16s linear infinite;animation-play-state:paused;--leaf-drift:-95px;--leaf-spin:150deg}
.season-leaf.two{right:30%;top:10%;width:21px;height:27px;animation-duration:19s;animation-delay:-8s;--leaf-drift:90px;--leaf-spin:220deg}
.season-leaf.three{right:11%;top:5%;width:18px;height:23px;animation-duration:22s;animation-delay:-15s;--leaf-drift:-50px;--leaf-spin:-140deg}
.season-spark{position:absolute;right:10%;bottom:220px;width:3px;height:3px;border-radius:50%;background:#ffda98;box-shadow:0 0 9px #eaa24f;animation:season-spark-rise 8s ease-in-out infinite;animation-play-state:paused}
.season-spark.two{right:18%;bottom:160px;animation-delay:-4s}.season-spark.three{right:7%;bottom:130px;animation-delay:-2s}
.season-hanging{position:absolute;right:31px;top:0;width:22px;height:88px;animation:season-web-sway 9s ease-in-out infinite alternate;animation-play-state:paused;transform-origin:50% 0}
.season-hanging::before{content:"";position:absolute;left:50%;width:1px;height:67px;background:rgba(255,239,214,.6)}
.season-spider{position:absolute;left:4px;bottom:1px;width:13px;height:15px;border-radius:48%;background:#172144;box-shadow:inset 0 -2px 0 #34395b}
.season-spider::before,.season-spider::after{content:"";position:absolute;top:3px;width:9px;height:10px;border-block:1.4px solid #172144}
.season-spider::before{left:-6px;border-left:1.4px solid #172144;transform:rotate(18deg)}
.season-spider::after{right:-6px;border-right:1.4px solid #172144;transform:rotate(-18deg)}
.season-page-scene .season-pumpkins{width:155px;right:3%;bottom:-12px;opacity:.9}
.season-page-scene .season-web{width:155px;height:155px;opacity:.35;filter:drop-shadow(0 1px 0 rgba(49,34,27,.5))}
.season-page-scene .season-bat{right:8%;top:40px;width:46px;opacity:.75}
.season-page-scene .season-bat.two{right:15%;top:78px;width:29px;opacity:.55}
.season-page-scene .season-hanging{right:24px}
.season-detail-scene .season-pumpkins{width:125px;right:9px;bottom:-10px;opacity:.85}
.season-detail-scene .season-bat{right:5%;top:12px;width:35px;opacity:.6}
.season-detail-scene .season-web{width:115px;height:115px;opacity:.2}
.season-detail-scene .season-hanging{display:none}
.season-footer-scene .season-pumpkins{right:27px;bottom:0;width:155px;opacity:.95}
.season-footer-scene .season-web{width:150px;height:150px;opacity:.16}
.season-footer-scene .season-leaf{right:1.2%;top:20%;width:20px;animation-duration:20s}
.season-cta-scene .season-web{width:135px;height:135px;opacity:.25;filter:brightness(.6)}
.season-cta-scene .season-bat{right:10px;top:20px;width:35px;opacity:.55}
.season-card-ghost{position:absolute;right:18px;top:17px;width:40px;height:51px;z-index:3;pointer-events:none;user-select:none;opacity:.9;transform:rotate(10deg);transition:transform .7s ease}
[data-season="halloween"] .service-card:hover .season-card-ghost{transform:translateY(-6px) rotate(-5deg)}
.season-card-leaf{position:absolute;right:16px;top:19px;width:30px;height:38px;z-index:3;pointer-events:none;opacity:.9;transform:rotate(25deg)}
.season-header-ornament{position:absolute;top:4px;left:calc(max(32px,(100% - 1180px)/2) + 167px);width:31px;height:67px;pointer-events:none;z-index:1}
.season-header-ornament::before{content:"";position:absolute;left:15px;top:0;width:1px;height:23px;background:#b77835}
.season-header-ornament img{position:absolute;top:22px;width:31px;height:40px;opacity:.85;transform:rotate(9deg)}
[data-season="halloween"] .season-scene[data-season-visible="true"] :is(.season-bat,.season-leaf,.season-spark,.season-pumpkin-light,.season-hanging){animation-play-state:running}
[data-season="halloween"][data-season-sleep="true"] .season-scene *{animation-play-state:paused!important}
/* More Halloween: hanging lanterns, larger hero scene, and details further down. */
[data-season="halloween"] .season-decorated-section{position:relative;isolation:isolate}
[data-season="halloween"] .season-decorated-section>.container{position:relative;z-index:2}
.season-home-scene{background:radial-gradient(ellipse at 90% 28%,rgba(123,67,125,.14),transparent 45%)}
.season-home-scene .season-pumpkins{width:490px;right:2%;bottom:0;filter:drop-shadow(0 0 32px rgba(239,155,53,.18)) drop-shadow(0 12px 15px rgba(12,19,43,.3))}
.season-home-scene .season-pumpkin-light{width:520px;height:290px;right:0;background:radial-gradient(ellipse,rgba(255,146,38,.32),transparent 68%)}
.season-home-scene .season-moon{width:155px;height:155px;right:13%;top:95px;box-shadow:0 0 50px rgba(255,220,151,.25),0 0 140px rgba(241,139,57,.28)}
.season-home-scene .season-web{width:250px;height:250px;opacity:.64}
.season-home-scene .season-bat{right:28%;top:182px;width:84px;height:46px}
.season-home-scene .season-bat.two{right:6%;top:198px;width:59px;height:34px}
.season-home-scene .season-bat.three{right:23%;top:285px;width:47px;height:28px}
.season-home-scene .season-hanging{height:125px;right:29px}.season-home-scene .season-hanging::before{height:102px}
.season-garland{position:absolute;right:0;top:-8px;width:min(950px,72%);height:auto;opacity:.94;filter:drop-shadow(0 3px 7px rgba(16,20,38,.14))}
.season-floating-ghost{position:absolute;right:15%;top:46%;width:90px;height:110px;opacity:.8;filter:drop-shadow(0 8px 15px rgba(250,228,200,.14));animation:season-ghost-float 8s ease-in-out infinite alternate;animation-play-state:paused}
.season-mist{position:absolute;right:-12%;bottom:-24px;width:62%;height:165px;opacity:.22;background:radial-gradient(ellipse at 20% 72%,#ffddbe,transparent 52%),radial-gradient(ellipse at 72% 80%,#d8d4ed,transparent 52%);animation:season-mist-drift 19s ease-in-out infinite alternate;animation-play-state:paused}
.season-page-scene .season-garland{width:690px;max-width:60%;opacity:.75;top:-5px}
.season-page-scene .season-pumpkins{width:225px;right:1%;bottom:-13px;opacity:.95}
.season-page-scene .season-web{width:205px;height:205px;opacity:.5}
.season-detail-scene .season-garland{max-width:44%;top:-8px;opacity:.72}
.season-detail-scene .season-pumpkins{width:150px;right:0;bottom:-12px}
.season-detail-scene .season-web{width:135px;height:135px;opacity:.3}
.season-card-charm{position:absolute;right:18px;top:15px;width:47px;height:58px;z-index:3;pointer-events:none;user-select:none;opacity:.94;transform:rotate(8deg);transition:transform .7s ease}
.season-card-bat{width:62px;height:36px;top:23px}.season-card-leaf{width:35px;height:44px;top:19px}
[data-season="halloween"] .service-card:hover .season-card-charm{transform:translateY(-7px) rotate(-6deg)}
.season-card-web{position:absolute;right:0;top:0;width:104px;height:104px;z-index:2;pointer-events:none;user-select:none;opacity:.45}
.season-footer-scene .season-pumpkins{width:218px;right:14px;bottom:-2px}
.season-footer-scene .season-web{width:240px;height:240px;opacity:.4}
.season-footer-ghost{position:absolute;right:6%;top:20px;width:64px;height:78px;opacity:.65;animation:season-ghost-float 8s ease-in-out infinite alternate;animation-play-state:paused}
.season-cta-lantern{position:absolute;right:0;bottom:-6px;width:90px;height:98px;opacity:.9}
.season-section-scene .season-web{width:160px;height:160px;opacity:.32;filter:sepia(1) saturate(2.3) brightness(.58)}
.season-section-charm{position:absolute;left:15px;bottom:18px;width:62px;height:70px;opacity:.65;transform:rotate(-9deg)}
.season-section-scene .season-web{right:-10px;top:-6px}
[data-season="halloween"] .season-scene[data-season-visible="true"] :is(.season-floating-ghost,.season-footer-ghost,.season-mist){animation-play-state:running}
@keyframes season-ghost-float{from{transform:translate3d(0,0,0) rotate(-7deg)}to{transform:translate3d(-12px,-15px,0) rotate(6deg)}}
@keyframes season-mist-drift{to{transform:translate3d(-70px,-14px,0) scale(1.1);opacity:.13}}
@keyframes season-bat-glide{from{translate:0 0;rotate:-5deg}to{translate:-15px -9px;rotate:6deg}}
@keyframes season-glow{to{opacity:.5;transform:scale(1.07)}}
@keyframes season-leaf-fall{0%{opacity:0;transform:translate3d(0,-70px,0) rotate(0)}8%{opacity:.7}82%{opacity:.6}100%{opacity:0;transform:translate3d(var(--leaf-drift),650px,0) rotate(var(--leaf-spin))}}
@keyframes season-spark-rise{0%,100%{opacity:0;transform:translate3d(0,12px,0)}35%{opacity:.65}75%{opacity:0;transform:translate3d(-15px,-40px,0)}}
@keyframes season-web-sway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
@media(max-width:1100px){.season-pumpkins{width:265px;right:12px}.season-moon{right:10%;top:35px;width:88px;height:88px}.season-web{width:145px;height:145px}.season-header-ornament{display:none}}
@media(max-width:800px){
 .season-moon{top:29px;right:32px;width:56px;height:56px;opacity:.8;box-shadow:0 0 35px rgba(255,223,160,.25)}
 .season-moon::after{inset:-7px}.season-web{width:93px;height:93px;opacity:.32}
 .season-pumpkins{width:135px;right:4px;bottom:-1px;opacity:.95}
 .season-pumpkin-light{width:160px;height:120px;bottom:-20px;right:-8px}
 .season-bat{right:105px;top:45px;width:40px;height:22px}.season-bat.two{right:18px;top:94px;width:25px;height:14px}.season-bat.three{display:none}
 .season-leaf{width:19px;height:24px;right:1%;top:15%;--leaf-drift:-15px}.season-leaf.two,.season-leaf.three,.season-spark{display:none}
 .season-hanging{right:11px;height:62px;width:20px}.season-hanging::before{height:42px}
 .season-page-scene .season-pumpkins{width:95px;right:2px;bottom:-6px;opacity:.7}
 .season-page-scene .season-web{width:92px;height:92px;opacity:.3}
 .season-page-scene .season-bat{top:21px;right:22px;width:26px;opacity:.4}.season-page-scene .season-bat.two{display:none}
 .season-detail-scene .season-pumpkins{width:90px;bottom:-4px;right:1px;opacity:.65}
 .season-detail-scene .season-web{width:70px;height:70px;opacity:.25}
 .season-detail-scene .season-bat{display:none}
 .season-footer-scene .season-pumpkins{width:106px;right:5px;bottom:0;opacity:.8}.season-footer-scene .season-web{width:98px;height:98px}
 .season-cta-scene .season-web{width:94px;height:94px}.season-cta-scene .season-bat{width:26px;top:10px;right:7px;opacity:.4}
 .season-card-ghost{width:34px;height:45px}.season-card-leaf{width:25px;height:32px}
}
@media(max-width:1100px){
 .season-home-scene .season-pumpkins{width:355px;right:3px}
 .season-home-scene .season-moon{width:120px;height:120px;right:8%;top:80px}
 .season-home-scene .season-web{width:190px;height:190px}
 .season-home-scene .season-bat{right:23%;width:62px;height:34px;top:155px}
 .season-home-scene .season-bat.two{right:3%;width:45px;height:26px;top:210px}
 .season-home-scene .season-bat.three{right:12%;width:33px;height:20px;top:267px}
 .season-floating-ghost{right:10%;width:66px;height:82px;top:48%}
 .season-garland{width:73%}
}
@media(max-width:800px){
 .season-home-scene .season-pumpkins{width:177px;right:0;bottom:-2px}
 .season-home-scene .season-pumpkin-light{width:210px;height:140px;bottom:-25px;right:-10px}
 .season-home-scene .season-moon{top:43px;right:31px;width:70px;height:70px}
 .season-home-scene .season-web{width:122px;height:122px;opacity:.53}
 .season-home-scene .season-bat{right:125px;top:72px;width:45px;height:25px}
 .season-home-scene .season-bat.two{right:12px;top:125px;width:28px;height:16px}
 .season-home-scene .season-bat.three{display:none}
 .season-home-scene .season-hanging{height:80px;right:9px}.season-home-scene .season-hanging::before{height:58px}
 .season-garland{width:100%;top:-7px;opacity:.96}
 .season-home-scene .season-floating-ghost{display:none}.season-mist{height:100px;bottom:-20px;width:65%;opacity:.14}
 .season-page-scene .season-garland{width:100%;max-width:100%;top:-14px;opacity:.6}
 .season-page-scene .season-pumpkins{width:125px;right:0;bottom:-8px;opacity:.85}
 .season-page-scene .season-web{width:118px;height:118px;opacity:.44}
 .season-detail-scene .season-garland{max-width:53%;right:0;top:-7px;opacity:.72}
 .season-detail-scene .season-pumpkins{width:114px;bottom:-8px}
 .season-detail-scene .season-web{width:80px;height:80px;opacity:.3}
 .season-card-charm{width:40px;height:49px}.season-card-bat{width:52px;height:29px}.season-card-leaf{width:30px;height:38px}
 .season-card-web{width:90px;height:90px}
 .season-footer-scene .season-pumpkins{width:135px;right:0;bottom:-2px}
 .season-footer-scene .season-web{width:132px;height:132px;opacity:.3}
 .season-footer-ghost{right:12px;top:22px;width:44px;height:54px;opacity:.65}
 .season-cta-lantern{width:61px;height:66px;bottom:-8px;right:1px;opacity:.75}
 .season-section-scene .season-web{width:103px;height:103px;opacity:.25}
 .season-section-charm{width:39px;height:43px;left:6px;bottom:8px;opacity:.55}
}
@media(prefers-reduced-motion:reduce){
 .season-scene *{animation:none!important;transition:none!important}
 .season-scene .season-leaf,.season-spark{display:none}
 .season-card-charm,[data-season="halloween"] .service-card:hover .season-card-charm{transform:rotate(8deg);transition:none}
}
