/* Interactive SunnyClean treatment, progressively enhanced. */
.reading-progress{position:fixed;left:0;top:0;height:3px;background:var(--yellow);z-index:20;transform:scaleX(var(--progress,0));transform-origin:left;width:100%;pointer-events:none}.hero{background:#092843;overflow:hidden;min-height:720px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(48px,5.5vw,88px)}.hero h1 em{color:var(--yellow)}.hero-image{align-self:stretch;margin:25px 25px 25px 0;border-radius:22px;overflow:hidden;isolation:isolate;border:1px solid #ffffff26;background:#133b50;perspective:1000px}.machine-visual{position:absolute;inset:-12px;overflow:hidden;transform:translate3d(var(--mx,0px),var(--my,0px),0) scale(1.035);transition:transform .5s ease;will-change:transform}.machine-visual>img{width:100%;height:100%;object-fit:cover;object-position:40% center;transition:filter 1s;filter:brightness(.87)}.machine-stage:hover .machine-visual>img{filter:brightness(1)}.machine-grain{position:absolute;inset:0;background:linear-gradient(0deg,#08213db3,transparent 50%);pointer-events:none}.machine-sheen{position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 35%,#ffe8a400 43%,#ffe8a460 49%,#fff9db95 50%,#ffe8a440 53%,transparent 62%);transform:translateX(-85%);opacity:0;mix-blend-mode:screen;pointer-events:none}.machine-halo{position:absolute;inset:0;background:radial-gradient(circle at var(--hx,50%) var(--hy,50%),#ffd95233,transparent 33%);opacity:0;transition:opacity .5s;pointer-events:none}.machine-stage:hover .machine-halo{opacity:1}.machine-trigger{position:absolute;z-index:2;top:26px;left:26px;right:26px;display:flex;align-items:center;gap:16px;padding:17px 19px;background:#071f37df;backdrop-filter:blur(16px);border:1px solid #ffffff4a;border-radius:14px;color:white;text-align:left;cursor:pointer;font:inherit;transition:background .3s,transform .3s,box-shadow .3s}.machine-trigger:hover{background:#082b4df2;transform:translateY(-3px);box-shadow:0 12px 35px #0003}.machine-trigger strong{display:block;font-size:17px;line-height:1.3}.machine-trigger small{display:block;font-size:12px;color:#dce7f2;margin-top:5px}.power-dial{width:52px;height:52px;display:grid;place-items:center;border:1px solid #ffc71988;border-radius:50%;position:relative;flex-shrink:0}.power-dial:after{content:'';position:absolute;inset:-4px;border:2px solid transparent;border-top-color:var(--yellow);border-bottom-color:var(--yellow);border-radius:50%}.power-dial>span{font-size:27px;color:var(--yellow);line-height:1}.trigger-arrow{margin-left:auto;font-size:24px;color:var(--yellow)}.machine-stage.is-running .power-dial:after{animation:disc-spin .6s linear infinite}.machine-stage.is-running .machine-sheen{animation:polish-pass 2.5s ease-in-out 2;opacity:1}.machine-stage.is-running .machine-visual>img{animation:machine-work .15s linear 30;filter:brightness(1.08) saturate(1.05)}.machine-stage.is-running .machine-trigger{box-shadow:0 0 0 1px #ffc71966,0 8px 35px #ffc71922}.machine-stage.is-running .machine-halo{opacity:1}.machine-stage figcaption{padding:60px 28px 27px;pointer-events:none;background:linear-gradient(transparent,#071f37e8)}.machine-stage figcaption>span{display:block;max-width:440px}.button{position:relative;overflow:hidden;isolation:isolate;border-radius:5px;transition:transform .25s,box-shadow .25s,background .25s}.button>span{transition:transform .3s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 26px #071f3726}.button:hover>span{transform:translate(3px,-3px)}.click-wave{position:absolute;border-radius:50%;background:#fff7;width:24px;height:24px;pointer-events:none;transform:translate(-50%,-50%);animation:click-wave .65s ease-out forwards;z-index:3}.more-services article,.process article{transition:transform .35s,box-shadow .35s}.more-services article:hover{transform:translateY(-6px)}.process article:hover{transform:translateY(-4px)}.text-link{transition:color .2s,border-color .2s}.text-link:hover{color:#a57100}.contact-phone{transition:transform .25s;transform-origin:left}.contact-phone:hover{transform:translateX(6px)}.contact{position:relative;overflow:hidden}.contact:before{content:'';position:absolute;inset:-200%;background:linear-gradient(115deg,transparent 48%,#ffffff38 50%,transparent 52%);transform:translateX(-40%);pointer-events:none}.contact:hover:before{animation:contact-shine 1.4s ease-out both}.comparison-controls{display:flex;width:max-content;max-width:100%;gap:4px;padding:5px;border:1px solid var(--line);border-radius:30px;margin:0 auto 22px;background:#fff8}.comparison-controls button{position:relative;overflow:hidden;font:600 14px/1.2 Arial,sans-serif;cursor:pointer;border:0;background:transparent;color:var(--navy);padding:13px 24px;border-radius:25px;transition:background .25s,color .25s,transform .25s;min-height:44px}.comparison-controls button[aria-pressed=true]{background:var(--navy);color:white}.comparison-controls button:hover{transform:translateY(-2px)}.compare-stage{position:relative;height:620px;background:var(--navy);overflow:hidden;border-radius:10px;isolation:isolate}.compare-base,.compare-before{position:absolute;inset:0;pointer-events:none}.compare-stage img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}.compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-stage.is-switching .compare-before{transition:clip-path .7s cubic-bezier(.22,1,.36,1)}.compare-divider{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:white;transform:translateX(-1px);pointer-events:none}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--yellow);color:var(--navy);font:28px Arial,sans-serif;box-shadow:0 3px 20px #0004}.compare-stage.is-switching .compare-divider{transition:left .7s cubic-bezier(.22,1,.36,1)}.compare-label{position:absolute;top:24px;padding:9px 16px;background:#092843df;color:white;font-size:13px;font-weight:600;pointer-events:none;border-radius:3px;transition:opacity .3s}.before-label{left:24px}.after-label{right:24px;background:var(--yellow);color:var(--navy)}.compare-stage[data-mode=after] .before-label,.compare-stage[data-mode=before] .after-label{opacity:0}.compare-stage[data-mode=after] .compare-divider,.compare-stage[data-mode=before] .compare-divider{opacity:0}.compare-stage input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}.compare-stage:focus-within{outline:3px solid #ad7400;outline-offset:5px}.compare-instruction{text-align:center;color:var(--muted);font-size:14px;margin-top:16px}.reveal-ready{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,1,.3,1)}.reveal-ready.is-visible{opacity:1;transform:none}button:focus-visible{outline:3px solid #b27e00;outline-offset:4px}
@keyframes disc-spin{to{transform:rotate(360deg)}}@keyframes polish-pass{0%{transform:translateX(-65%)}100%{transform:translateX(65%)}}@keyframes machine-work{0%,100%{transform:translateX(0)}50%{transform:translateX(.8px)}}@keyframes click-wave{to{opacity:0;width:450px;height:450px}}@keyframes contact-shine{to{transform:translateX(40%)}}
@media(max-width:1100px){.hero-image{margin:18px 18px 18px 0}.machine-trigger{top:17px;left:17px;right:17px;padding:14px;gap:12px}.machine-trigger strong{font-size:15px}.power-dial{width:42px;height:42px}.compare-stage{height:550px}}
@media(max-width:760px){.hero{min-height:0}.hero-image{margin:0 16px 20px;height:450px;align-self:auto}.hero h1{font-size:clamp(43px,10vw,65px)}.hero-image .machine-visual>img{object-position:center 57%}.machine-trigger strong{font-size:16px}.machine-trigger{top:16px;left:16px;right:16px}.hero-copy{padding-bottom:34px}.comparison-controls button{padding:12px 20px}.compare-stage{height:520px}.compare-stage img{object-position:50% 60%}.compare-label{top:15px;font-size:12px;padding:8px 11px}.before-label{left:12px}.after-label{right:12px}.compare-divider span{width:48px;height:48px;font-size:24px}.reveal-ready{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.machine-visual{transform:none!important}.reveal-ready{opacity:1;transform:none}.machine-sheen{display:none}.machine-stage.is-running .machine-trigger{background:#164566}.compare-stage.is-switching .compare-divider,.compare-stage.is-switching .compare-before{transition:none}}
/* Full-page motion layer. All interactions retain their native behavior. */
#light-trails{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:30}.motion-toggle{position:fixed;left:18px;bottom:18px;z-index:35;display:flex;gap:8px;align-items:center;border:1px solid #ffffff55;border-radius:25px;padding:10px 16px;background:#092843e8;backdrop-filter:blur(14px);color:#fff;font:600 12px/1.4 Arial,sans-serif;cursor:pointer;box-shadow:0 4px 16px #0002}.motion-toggle>span:first-child{color:var(--yellow);font-size:18px}.motion-toggle:hover{background:#16456f}.hero-copy:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 30%,#1b6eb638,transparent 62%),radial-gradient(ellipse at 90% 90%,#ffc71912,transparent 52%);background-size:140% 140%;animation:aurora-drift 13s ease-in-out infinite alternate;pointer-events:none}.hero-bottom span{position:relative}.hero-bottom span:before{content:'';display:inline-block;width:20px;height:1px;background:var(--yellow);vertical-align:middle;margin-right:10px}.materials-strip{position:relative;overflow:hidden}.materials-strip:after{content:'';position:absolute;inset:-100%;background:linear-gradient(105deg,transparent 45%,#ffffff7a 50%,transparent 55%);transform:translateX(-70%);pointer-events:none}.materials-strip.fx-entered:after{animation:strip-pass 1.8s ease-out both}.materials-strip span{transition:transform .3s;display:inline-block}.materials-strip span:hover{transform:translateY(-4px) scale(1.07)}.word-mask{display:inline-block;vertical-align:top;overflow:hidden;padding:0 .04em .13em;margin:0 -.04em -.13em}.word-mask>span{display:inline-block}.headline-armed .word-mask>span{transform:translateY(115%) rotate(4deg);opacity:0;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .6s;transition-delay:calc(var(--word-index,0)*65ms)}.headline-armed.fx-entered .word-mask>span{opacity:1;transform:none}.tilt-surface{position:relative;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .5s;isolation:isolate}.tilt-surface:after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--px,50%) var(--py,50%),#ffc71920,transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:2}.tilt-surface:hover{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateY(-5px);box-shadow:0 20px 40px #09284313}.tilt-surface:hover:after,.tilt-surface.touch-glow:after{opacity:1}.button{transform:translate(var(--pull-x,0px),var(--pull-y,0px));transition:transform .2s,box-shadow .3s,background .3s}.button:hover{transform:translate(var(--pull-x,0px),calc(var(--pull-y,0px) - 3px));box-shadow:0 14px 34px #09284330}.service-steps>div{transition:transform .35s,background .35s;border-radius:4px}.service-steps>div:hover{transform:translateX(7px);background:#ffffff09}.service-steps>div>span{transition:transform .45s,color .45s}.service-steps>div:hover>span{transform:rotate(-10deg) scale(1.18);color:white}.process{position:relative}.process:before{content:'';position:absolute;top:-2px;left:0;width:calc(var(--process-fill,0)*100%);height:3px;background:var(--yellow);box-shadow:0 0 15px #ffc71988;pointer-events:none;transition:width .25s}.process article>span{display:inline-block;transition:transform .5s,color .5s}.process article:hover>span{transform:rotate(-8deg) scale(1.13);color:#a87500}.faq summary{transition:padding-left .3s,color .3s}.faq summary:hover{padding-left:10px;color:#a87500}.faq details[open]{border-bottom-color:#c99721}.faq details[open] p{animation:faq-appear .45s ease both}.compare-stage{transition:box-shadow .4s}.compare-stage:focus-within,.compare-stage:hover{box-shadow:0 18px 65px #123b6826}.compare-divider span{transition:box-shadow .3s,scale .3s}.compare-stage:active .compare-divider span{scale:1.12;box-shadow:0 0 0 12px #ffc71922,0 0 35px #ffc71966}.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:100%;height:2px;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .3s}.nav nav a:hover:after,.nav nav a[aria-current=location]:after{transform:scaleX(1)}.contact{background-image:radial-gradient(ellipse at var(--contact-x,65%) 60%,#fff2a9a0,transparent 70%)}.contact h2 em{position:relative}.contact-grid address{transition:transform .5s}.contact-grid address:hover{transform:translateY(-4px)}.contact-mail{position:relative}.contact-mail:after{content:'';position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .4s}.contact-mail:hover:after{transform:scaleX(1)}
@keyframes aurora-drift{from{background-position:0% 0%}to{background-position:100% 100%}}@keyframes strip-pass{to{transform:translateX(70%)}}@keyframes faq-appear{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
.fx-paused *,.fx-paused *:before,.fx-paused *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fx-paused .headline-armed .word-mask>span,.fx-paused .reveal-ready{transform:none!important;opacity:1!important}.fx-paused .machine-visual,.fx-paused .tilt-surface,.fx-paused .button{transform:none!important}.fx-paused #light-trails{display:none}.fx-paused .machine-sheen{display:none}
@media(max-width:760px){.motion-toggle{bottom:12px;left:12px;padding:8px 12px}.process:before{width:3px;height:calc(var(--process-fill,0)*100%);top:0;left:-10px;transition:height .25s}.tilt-surface:hover{transform:none;box-shadow:none}footer{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){.headline-armed .word-mask>span{transform:none!important;opacity:1!important}#light-trails{display:none}.tilt-surface:hover,.contact-grid address:hover{transform:none!important}}
/* Independent machine sprite over an entirely static scene. */
.machine-stage .machine-room{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;filter:none;transition:none}.machine-actor{position:absolute;bottom:13%;left:13%;width:74%;height:76%;transform-origin:50% 98%;pointer-events:none;will-change:transform;filter:drop-shadow(5px 8px 5px #171f2929)}.machine-actor svg{width:100%;height:100%;object-fit:contain;object-position:center bottom}.auto-moving .machine-actor{animation:machine-sweep 6s ease-in-out infinite}.machine-stage figcaption{z-index:2}.machine-stage:hover .machine-room{transform:none;filter:none}.fx-paused .machine-actor{animation:none!important;transform:none!important}
@keyframes machine-sweep{0%,100%{transform:translateX(-12px) rotate(-1.5deg)}50%{transform:translateX(12px) rotate(1.5deg)}}
@media(max-width:760px){.machine-actor{bottom:12%;height:78%;left:12%;width:76%}.machine-stage .machine-room{object-position:center}}
@media(prefers-reduced-motion:reduce){.machine-actor{animation:none!important;transform:none!important}}
