:root{--ocean-ease:cubic-bezier(.22,1,.36,1)}
/* Elementos permanecem visíveis sem JavaScript e ao reduzir movimentos. */
.motion-ready{transition:opacity .65s var(--ocean-ease),transform .75s var(--ocean-ease);transition-delay:var(--reveal-delay,0ms)}.motion-ready.is-waiting{opacity:0;transform:translateY(24px)}.motion-ready.is-visible{opacity:1;transform:translateY(0)}
.button{transition:background-color .2s ease,box-shadow .25s ease,transform .25s var(--ocean-ease)}.button span{transition:transform .25s var(--ocean-ease)}.button:hover span{transform:translate(3px,-2px)}.button:active{transform:translateY(1px)}
header nav a{position:relative}header nav a:after{content:'';position:absolute;bottom:-7px;left:0;right:0;height:2px;background:#009bd0;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ocean-ease)}header nav a:hover:after,header nav a:focus-visible:after{transform:scaleX(1)}
.service{transition:transform .3s var(--ocean-ease),box-shadow .3s ease,opacity .65s var(--ocean-ease)}.services .service-icon svg{transition:transform .35s var(--ocean-ease)}.service>a{transition:color .2s ease,border-color .2s ease}.difference-photo img{transition:transform .8s var(--ocean-ease)}.quote input,.quote select,.quote textarea{transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.quote input:focus,.quote select:focus,.quote textarea:focus{border-color:#008fbd;box-shadow:0 0 0 3px #008fbd18;background:#fff}.footer-socials a{transition:transform .25s var(--ocean-ease),background-color .2s ease}.floating-cta{transition:transform .25s var(--ocean-ease),box-shadow .25s ease,background-color .2s ease}.hero-background{animation:ocean-image-enter 1.5s var(--ocean-ease) both}.hero-copy{animation:ocean-copy-enter .85s var(--ocean-ease) both}.hero-copy .actions{animation:ocean-copy-enter .9s .12s var(--ocean-ease) both}
@keyframes ocean-image-enter{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes ocean-copy-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover) and (pointer:fine){.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px #073b611a}.service.is-visible:hover,.service:not(.motion-ready):hover{transform:translateY(-7px);box-shadow:0 18px 35px #073b6115}.service:hover .service-icon svg{transform:translateY(-3px) scale(1.07)}.difference-photo:hover img{transform:scale(1.035)}.floating-cta:hover{transform:translateY(-3px);box-shadow:0 9px 24px #075e5445}.footer-socials a[href]:hover{transform:translateY(-3px)}}
@media(max-width:700px){.motion-ready{transition-duration:.45s;transition-delay:0ms!important}.motion-ready.is-waiting{transform:translateY(14px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready.is-waiting{opacity:1;transform:none}.service:hover,.button:hover,.floating-cta:hover,.difference-photo:hover img,.service:hover .service-icon svg{transform:none!important}}
