/* Tactile CTAs, consistent cards and faithful brand details. */
.button{background:linear-gradient(180deg,#5084aa 0%,#30678f 100%);border:1px solid #2d5e80;box-shadow:inset 0 1px 0 #ffffff55,0 4px 0 #204e6e,0 9px 18px #204e6e24;transition:transform .18s,box-shadow .18s,background .18s}
.button:hover{background:linear-gradient(180deg,#5a93ba,#34739e);transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff66,0 6px 0 #204e6e,0 12px 22px #204e6e30}.button:active{transform:translateY(3px);box-shadow:inset 0 1px 3px #12354d33,0 1px 0 #204e6e,0 3px 6px #204e6e22}.button:disabled{box-shadow:none;transform:none}
.clean-round{background:linear-gradient(145deg,#e9f8ff,#aed5eb);border:1px solid #98c1d9;box-shadow:inset 0 2px 0 #fff,0 5px 0 #8bb5ce,0 12px 20px #285e7e26}.clean-round:hover{background:linear-gradient(145deg,#fff,#bbdff1);transform:translateY(-2px);box-shadow:inset 0 2px 0 #fff,0 7px 0 #8bb5ce,0 15px 23px #285e7e26}.clean-round:active{transform:translateY(3px);box-shadow:0 2px 0 #8bb5ce}
.service-grid{align-items:stretch}.service-grid .service-card{margin-top:0;margin-bottom:0;display:flex;flex-direction:column}.service-grid .service-photo{flex-shrink:0}.service-grid .service-card .card-link{margin-top:auto}.service-grid .tags{margin-bottom:24px}.card-link>span{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:linear-gradient(#fff,#e2f0f8);box-shadow:0 2px 0 #bed4e2,0 4px 9px #214a6514;border:1px solid #d4e4ed;transition:transform .2s}.card-link:hover>span{transform:translate(2px,-2px)}
.signature-footer .button{background:linear-gradient(180deg,#e1f4ff,#b3dbf0);border-color:#9fc5d9;box-shadow:inset 0 1px 0 #fff,0 4px 0 #709bb5,0 9px 20px #041b3030}.door-action b{box-shadow:inset 0 2px 0 #fff9,0 5px 0 #7ba9c2,0 13px 25px #09273955}.footer-finale:after{display:none}.footer-wordmark{display:flex;align-items:baseline;gap:24px;font-size:clamp(80px,14.5vw,195px);white-space:nowrap}.footer-wordmark small{font-size:.2em;letter-spacing:.02em;font-weight:600;color:#a9d5ea}
.whatsapp-launcher{background:#25d366!important;border:1px solid #19b957;box-shadow:inset 0 1px 0 #ffffff70,0 4px 0 #159646,0 8px 25px #0b6c3730}.whatsapp-launcher:hover{background:#20c760!important;transform:translateY(-2px)}.whatsapp-launcher svg{fill:#fff!important;stroke:none!important;width:29px;height:29px;display:block}.whatsapp-launcher svg path{fill:#fff!important;stroke:none!important}
/* Matched photographs share one fixed frame, avoiding zoom or alignment jumps. */
.room-story.detail-scene{height:auto;background:#173f54;overflow:clip;align-self:center}.room-comparison{position:relative;aspect-ratio:3/2;overflow:hidden;background:#e2e5e4;isolation:isolate}.room-comparison>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.room-before{clip-path:inset(0 0 0 var(--room-clean));z-index:2}.room-label{position:absolute;top:14px;z-index:4;font-size:9px;letter-spacing:1.6px;font-weight:700;padding:7px 10px;border-radius:4px;background:#fffdf1e8;color:#163f53;pointer-events:none}.room-label-before{right:14px}.room-label-after{left:14px}.room-divider{position:absolute;left:var(--room-clean);top:0;bottom:0;width:2px;background:#fff;z-index:3;pointer-events:none;transform:translateX(-50%);box-shadow:0 0 8px #17344933}.room-divider>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:8px;width:43px;height:43px;background:#fff;border-radius:50%;color:#225772;font-size:26px;line-height:1;box-shadow:0 3px 18px #14384c40;white-space:pre}.room-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:5;cursor:ew-resize;touch-action:pan-y}.room-comparison:focus-within{outline:3px solid #77bde3;outline-offset:-3px}.room-controls{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-bottom:1px solid #ffffff26;gap:15px}.room-controls>span{font-size:10px;color:#bdd8e7}.room-controls button{font-size:11px;color:#fff;padding:7px 12px;border:1px solid #7fa8bc66;border-radius:20px;min-height:34px}.room-controls button[aria-pressed=true]{background:#d5ecf8;color:#173f54}.room-story .detail-caption{position:static;padding:25px 28px;background:none}.room-story .detail-caption h3{font-size:28px;line-height:1.15}.room-story .detail-caption p{font-size:12px;margin:13px 0;color:#d4e4ed}.room-story .detail-caption small{font-size:9px;line-height:1.6;color:#a8c6d6;display:block}.room-story .detail-caption .eyebrow{font-size:8px;color:#b4d6e7}
/* Photographic overlays are painted once, then erased only under the tools. */
/* Native selects retain keyboard and phone pickers, with visible button affordance. */
.hero-booking{background:linear-gradient(145deg,#f3f9fd,#eaf3f9);border:1px solid #cadce9;box-shadow:inset 0 1px 0 #fff,0 8px 26px #224e6810;gap:20px}.booking-title small{display:block;font-size:10px;font-weight:450;letter-spacing:0;color:#547085;margin-top:7px}.hero-booking label{color:#365971;font-weight:700;letter-spacing:.7px}.booking-select{position:relative}.hero-booking select{appearance:none;-webkit-appearance:none;cursor:pointer;background:linear-gradient(#fff,#f4f9fc);border:1px solid #9fbdd1;border-bottom-color:#779eb8;border-radius:9px;padding:15px 40px 15px 13px;min-height:52px;font-size:12px;font-weight:600;color:#21475e;box-shadow:inset 0 1px 0 #fff,0 3px 0 #b6cddc,0 5px 10px #204e6e14;transition:border-color .15s,box-shadow .15s}.hero-booking select:hover{border-color:#527f9e;box-shadow:inset 0 1px 0 #fff,0 3px 0 #95b7cd,0 6px 15px #204e6e24}.hero-booking select:focus-visible{outline:3px solid #7ac1e8;outline-offset:4px;border-color:#315f80}.select-chevron{position:absolute;right:15px;top:20px;width:9px;height:9px;border-right:2px solid #356886;border-bottom:2px solid #356886;transform:rotate(45deg);pointer-events:none}.hero-booking .button{min-height:52px}.booking-select:focus-within .select-chevron{border-color:#133e58}
@media(max-width:540px){.hero-booking{grid-template-columns:1fr;padding:20px 16px;gap:19px}.hero-booking .booking-title{grid-column:1;grid-row:1}.hero-booking>div:nth-child(2){grid-column:1;grid-row:2}.hero-booking>div:nth-child(3){grid-column:1;grid-row:3}.hero-booking .button{grid-column:1;grid-row:4;width:100%;font-size:13px}.hero-booking label{font-size:9px}.hero-booking select{font-size:14px;min-height:54px;padding:16px 40px 16px 14px}.booking-title small{font-size:11px}.hero-booking .booking-title{font-size:15px}}
.clean-hero{position:relative}.hero-cleanup{position:absolute;inset:0 0 54px;z-index:6;pointer-events:none;overflow:clip;opacity:0;visibility:hidden;--vacuum:-15%}.clean-hero.is-dusty .hero-cleanup{opacity:1;visibility:visible}.hero-dirt-canvas,.hero-litter-canvas{position:absolute;inset:0;width:100%;height:100%}.hero-dirt-canvas{mix-blend-mode:multiply}.hero-cleanup>img[hidden]{display:none}
.hero-vacuum{position:absolute;left:var(--vacuum);top:auto;bottom:21%;height:clamp(300px,36vw,390px);width:auto;aspect-ratio:1145/1374;transform:translateX(-79%);opacity:0;will-change:left;filter:drop-shadow(3px 6px 5px #15344625)}.hero-vacuum img{width:100%;height:100%;object-fit:contain}.is-vacuuming .hero-vacuum{opacity:1}.vacuum-air{display:none}
.hero-squeegee{position:absolute;left:0;top:0;width:0;height:220px;opacity:0;z-index:3;will-change:transform}.is-sweeping .hero-squeegee{opacity:1}.squeegee-photo{position:absolute;left:0;top:0;height:100%;width:auto;max-width:none;transform:translateX(-16%);filter:drop-shadow(3px 4px 4px #123b4c26)}.wipe-light{display:none}
.hero-fresh{position:absolute;inset:0;opacity:0;pointer-events:none}.is-fresh .hero-fresh{animation:fresh-arrives 1.55s ease-out both}.hero-fresh>svg{position:absolute;width:150px;height:140px;left:43%;top:37%;fill:none;stroke:#70bdd8;stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 7px #e6faff);opacity:.7}.fresh-glint{position:absolute;color:#8bcbe4;text-shadow:0 0 14px #d4f4ff;font-size:38px}.glint-one{left:32%;top:41%}.glint-two{left:65%;top:62%;font-size:25px}@keyframes fresh-arrives{0%{opacity:0;transform:translateY(16px)}30%{opacity:1}100%{opacity:0;transform:translateY(-24px)}}
.clean-motion-controls{display:flex;gap:12px;align-items:center}.clean-motion-controls button{font-size:10px;color:#315e78;text-decoration:underline;text-underline-offset:4px;padding:4px 0;white-space:nowrap}.clean-motion-status{font-size:10px;font-weight:600;color:#527a90}.clean-motion-status:empty{display:none}
@media(max-width:800px){.footer-wordmark{font-size:15vw;gap:16px}.room-story .detail-caption{padding:24px}.service-grid .service-photo{height:220px}.hero-vacuum{height:330px}.clean-motion-status{font-size:8px}.clean-motion-controls{gap:8px}.hero-fresh>svg{left:38%;width:120px}}
@media(max-width:540px){.footer-wordmark{font-size:17vw;gap:12px}.footer-wordmark small{font-size:.22em}.whatsapp-launcher svg{width:25px;height:25px}.room-controls{padding:10px 15px}.room-story .detail-caption h3{font-size:26px}.room-label{font-size:8px;padding:6px 8px;top:10px}.room-label-before{right:10px}.room-label-after{left:10px}.room-divider>span{width:36px;height:36px;font-size:23px}.clean-motion-controls button{font-size:8px}.service-grid .service-photo{height:auto;aspect-ratio:3/2}.button{box-shadow:inset 0 1px 0 #ffffff55,0 3px 0 #204e6e,0 6px 12px #204e6e24}.hero-vacuum{height:290px}.hero-squeegee{height:180px}.clean-motion-status{display:none}.hero-fresh>svg{left:35%;top:25%;width:100px;height:110px}.glint-one{left:10%;top:31%}.glint-two{left:82%;top:39%}.hero-cleanup{bottom:50px}}
@media(prefers-reduced-motion:reduce){.hero-cleanup{display:none!important}.hero-fresh{animation:none!important}.button,.clean-round,.card-link>span{transition:none}.button:hover,.clean-round:hover{transform:none}.room-divider,.room-before{transition:none}}

/* Transparent equipment replaces the oversized duplicate footer wordmark. */
.footer-finale{height:395px;overflow:visible}.footer-equipment{position:absolute;inset:0 0 40px;display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.footer-equipment img{width:620px;max-width:90%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 24px #051e2b33)}.footer-local{bottom:8px}.footer-finale:after{display:none}@media(max-width:540px){.footer-finale{height:280px;margin-top:5px}.footer-equipment{inset:0 -8px 45px}.footer-equipment img{width:100%;max-width:100%;height:100%}.footer-local{bottom:4px}}

.footer-socials{display:flex;gap:10px;margin-top:22px}.footer-socials .social-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid #dce7ec;box-shadow:0 3px 0 #08293835}.footer-socials .social-mark img{display:block;width:26px;height:26px;object-fit:contain;margin:0}

/* Each photographic tool has its own motion and contact footprint. */
.hero-hand-tool{position:absolute;left:0;top:0;opacity:0;z-index:4;will-change:transform;pointer-events:none}.hero-hand-tool img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 4px 3px #143c4c20)}.hero-scrub{width:170px;height:125px}.hero-cloth{width:205px;height:185px}.hero-spray{width:125px;height:215px}.is-scrubbing .hero-scrub,.is-polishing .hero-cloth,.is-spraying .hero-spray{opacity:1}.spray-mist{position:absolute;right:76%;top:7%;width:230px;height:95px;transform-origin:right center;opacity:0;background:radial-gradient(ellipse at 90% 50%,#effcffb3 0%,#b8dce552 33%,#e9fbff00 73%);filter:blur(5px);clip-path:polygon(100% 45%,0 0,0 100%,100% 55%)}.is-spraying .spray-mist{animation:clean-mist .8s ease-out 2}@keyframes clean-mist{0%{opacity:0;transform:scaleX(.2)}18%{opacity:.8}70%{opacity:.55}100%{opacity:0;transform:scaleX(1.4) translateX(-20px)}}@media(max-width:540px){.hero-scrub{width:115px;height:95px}.hero-cloth{width:140px;height:130px}.hero-spray{width:90px;height:155px}.spray-mist{width:155px;height:70px}}


/* One clear contact option beside the hero; quote selection stays below. */
.hero-contact{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-top:32px;isolation:isolate}.hero-call-orb{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;color:#245975;background:radial-gradient(circle at 30% 25%,#fff,#d8effb 60%,#a7d3e9);border:1px solid #b5d6e7;box-shadow:inset 0 2px 4px #fff,0 5px 0 #8fb9ce,0 12px 22px #35668518;transition:transform .2s,box-shadow .2s}.hero-call-orb svg{width:26px;height:26px;animation:phone-ring 5s ease-in-out 3;transform-origin:50% 70%}.hero-call-orb:hover{transform:translateY(-2px);box-shadow:inset 0 2px 4px #fff,0 7px 0 #8fb9ce,0 14px 22px #35668525}.hero-call-orb:focus-visible,.hero-text-link:focus-visible,.hero-contact .clean-phone:focus-visible{outline:3px solid #6ba9ce;outline-offset:5px}.hero-contact-copy>small{display:block;font-size:7px;font-weight:700;letter-spacing:1.2px;color:#658496;margin-bottom:12px}.hero-contact .clean-phone{display:block;margin:0;letter-spacing:0}.hero-contact .clean-phone span{display:block;font-size:13px;font-weight:500;color:#55758a;margin-bottom:6px}.hero-contact .clean-phone strong{display:block;font-size:19px;letter-spacing:-.5px;white-space:nowrap}.hero-text-link{display:inline-block;margin-top:13px;font-size:10px;color:#3f6c85;text-decoration:underline;text-underline-offset:4px}.phone-bubble{position:absolute;z-index:-1;pointer-events:none;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffffff,#ddf1fa77 40%,#b7d9e850 70%,#ffffff99);border:1px solid #c6e0ef8a;box-shadow:inset 2px 3px 4px #fff9;animation:phone-bubble-drift 7s ease-in-out 3}.phone-bubble-one{width:29px;height:29px;left:85px;top:37px}.phone-bubble-two{width:13px;height:13px;left:120px;top:13px;animation-delay:.8s}@keyframes phone-ring{0%,5%,14%,100%{transform:rotate(0)}7%,11%{transform:rotate(-10deg)}9%,13%{transform:rotate(10deg)}}@keyframes phone-bubble-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@media(max-width:1100px) and (min-width:541px){.hero-contact .clean-phone strong{font-size:14px}.hero-contact-copy>small{font-size:6px;letter-spacing:.5px}.hero-text-link{font-size:9px}.hero-contact{gap:16px}.hero-call-orb{width:52px;height:52px}}
@media(max-width:540px){.hero-contact{grid-column:1/-1;grid-row:3;flex-direction:row;align-items:center;gap:20px;padding:27px 12px 4px}.hero-contact .clean-phone strong{font-size:21px}.hero-contact-copy>small{font-size:7px;margin-bottom:7px}.hero-contact .clean-phone span{font-size:11px;margin-bottom:4px}.hero-text-link{font-size:10px;margin-top:9px}.hero-call-orb{width:58px;height:58px;flex-shrink:0}.phone-bubble-one{left:auto;right:3px;top:22px;width:24px;height:24px}.phone-bubble-two{left:auto;right:32px;top:8px}.hero-contact .clean-phone{margin:0}.hero-contact-copy{position:relative;z-index:1}}
@media(prefers-reduced-motion:reduce){.hero-call-orb svg,.phone-bubble{animation:none}.spray-mist{animation:none!important}}

.hero-cloth .cloth-texture{display:none}.cloth-fabric{display:block;width:100%;height:100%;filter:drop-shadow(1px 3px 2px #17465d25)}.hero-spray .spray-mist{right:76%;top:-20%;width:260px;height:165px;background:none;filter:none;clip-path:none;transform-origin:right 55%}.hero-spray .spray-mist img{width:100%;height:100%;object-fit:contain;filter:none}.is-spraying .spray-mist{animation:photographic-mist .86s ease-out 2}@keyframes photographic-mist{0%{opacity:0;transform:scale(.18,.65)}12%{opacity:.75}48%{opacity:.48}100%{opacity:0;transform:scale(1.25,1.1) translateX(-14px)}}@media(max-width:540px){.hero-spray .spray-mist{width:155px;height:100px}.hero-cloth{width:170px;height:150px}}
