/* Lightweight, keyboard-accessible CTA motion. */
.button,.whatsapp,.service-link,.footer-contact{position:relative;isolation:isolate;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease,background-color .24s ease,border-color .24s ease;touch-action:manipulation}
.button,.whatsapp{overflow:hidden;transform:translateZ(0)}
.button::before,.whatsapp::before{content:'';position:absolute;inset:-60% -45%;z-index:-1;pointer-events:none;background:linear-gradient(110deg,transparent 38%,#ffffff05 43%,#ffffff70 50%,#ffffff05 57%,transparent 62%);transform:translateX(-85%);opacity:0}
.button>span,.service-link>span,.footer-contact>span{display:inline-block;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.hero-actions>.button::before{animation:cta-shine 6.5s ease-in-out 1.2s 3}
.whatsapp::before{animation:cta-shine 8s ease-in-out 3s 2}
@keyframes cta-shine{0%,65%{transform:translateX(-85%);opacity:0}69%{opacity:.8}85%{transform:translateX(85%);opacity:0}100%{transform:translateX(85%);opacity:0}}
@keyframes cta-hover-shine{0%{transform:translateX(-85%);opacity:0}18%{opacity:.8}100%{transform:translateX(85%);opacity:0}}
@media(hover:hover) and (pointer:fine){
.button:hover,.whatsapp:hover{transform:translateY(-3px);box-shadow:inset 0 1px #eaffedaa,0 10px 32px #36ef8538,0 2px 8px #0005}
.button:hover::before,.whatsapp:hover::before{animation:cta-hover-shine .8s ease-out 1}
.button:hover>span,.service-link:hover>span,.footer-contact:hover>span{transform:translate(3px,-3px)}
.service-link:hover,.footer-contact:hover{transform:translateY(-2px);color:#9dffc3}
}
.button:focus-visible,.whatsapp:focus-visible{outline:2px solid #d2ffe1;outline-offset:5px;box-shadow:0 0 0 7px #58f59a1a,0 8px 30px #36ef8525}
.button:active,.whatsapp:active{transform:translateY(1px) scale(.97);box-shadow:inset 0 2px 8px #07552b22,0 3px 12px #35ed851a;transition-duration:.1s}
.service-link:active,.footer-contact:active{transform:scale(.985);transition-duration:.1s}
@media(hover:none){.button,.whatsapp{min-height:44px}.service-link{min-height:44px}.button:active>span{transform:translate(2px,-2px)}}
@media(prefers-reduced-motion:reduce){.button,.whatsapp,.service-link,.footer-contact,.button>span,.service-link>span,.footer-contact>span{animation:none!important;transition:none!important;transform:none!important}.button::before,.whatsapp::before{display:none!important;animation:none!important}}
/* Keep the chat launcher anchored independently of CTA motion. */
.whatsapp{position:fixed;inset:auto max(24px,env(safe-area-inset-right)) max(23px,env(safe-area-inset-bottom)) auto;z-index:1000}
@media(max-width:700px){.whatsapp{right:max(15px,env(safe-area-inset-right));bottom:max(15px,env(safe-area-inset-bottom));left:auto;top:auto}}
