/* Movimento progressivo: o conteúdo permanece visível sem JavaScript. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
.btn{transition:background .25s,color .25s,border-color .25s,box-shadow .3s,transform .35s var(--motion-ease)}
.btn .arrow,.btn .ico{transition:transform .35s var(--motion-ease)}
.btn:active:not(:disabled){transform:scale(.98)}
.menu a,.icon-link,.socials a,.footer-links a,.questions summary{transition:color .25s}
input,select{transition:border-color .25s,box-shadow .25s}
.why-list .ico,.step-num,.contact-card .ico{transition:transform .4s var(--motion-ease)}
.hero-media img,.partner-media img,.contact-card-media img,.phone-stage>img{transition:transform 1.2s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 .btn:hover:not(:disabled){transform:translateY(-2px)}
 .btn:hover .arrow{transform:translateX(4px)}
 .why-list li:hover .ico{transform:translateY(-4px) rotate(-5deg)}
 .steps li:hover .step-num{transform:scale(1.1)}
 .contact-card li:hover .ico{transform:scale(1.12)}
 .contact-card:hover .contact-card-media img{transform:scale(1.04)}
}
@media(prefers-reduced-motion:no-preference){
 .phone{animation:vantia-float 6s ease-in-out infinite}
 .phone-stage::before{animation:vantia-rays 40s linear infinite}
 .lead-form[aria-busy="true"] button::after{content:'';width:17px;height:17px;border:2px solid rgba(4,35,28,.3);border-top-color:var(--bg);border-radius:50%;animation:vantia-spin .75s linear infinite}
}
@keyframes vantia-float{0%,100%{translate:0 0}50%{translate:0 -10px}}
@keyframes vantia-rays{to{rotate:360deg}}
@keyframes vantia-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
