/* Ajustes de identidade e movimento */
.brand{display:flex;align-items:center;height:100%;padding:10px 0;overflow:visible}
.brand img{display:block!important;width:190px!important;height:auto!important;max-height:62px!important;object-fit:contain;background:transparent!important}
.header{overflow:hidden}

.hero-photo{transform:scale(1.015);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero.ready .hero-photo{transform:scale(1)}
.hero-shade{background:linear-gradient(90deg,rgba(10,32,65,.99) 0%,rgba(15,43,82,.94) 38%,rgba(18,49,88,.48) 62%,rgba(18,49,88,.1) 100%)}
.hero-copy>*{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.hero.ready .hero-copy>*{opacity:1;transform:none}
.hero.ready .hero-copy>*:nth-child(2){transition-delay:.07s}
.hero.ready .hero-copy>*:nth-child(3){transition-delay:.14s}
.hero.ready .hero-copy>*:nth-child(4){transition-delay:.21s}
.hero.ready .hero-copy>*:nth-child(5){transition-delay:.28s}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.reveal.visible{opacity:1;transform:none}
.service-card{transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s ease,box-shadow .25s ease!important}
.btn,.floating{transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease!important}

.modal{display:block!important;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.modal.open{visibility:visible;opacity:1;pointer-events:auto}
.modal-panel{transform:translateY(18px) scale(.985);opacity:0;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .22s ease}
.modal.open .modal-panel{transform:none;opacity:1}
.form-step.active{animation:stepIn .26s ease both}
@keyframes stepIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}

footer .footer-grid img{width:240px!important;height:auto!important;max-height:75px!important;object-fit:contain;filter:brightness(0) invert(1)}

@media(max-width:620px){
  .brand img{width:155px!important;max-height:50px!important}
  .hero-copy>*{transform:translateY(10px)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .hero-copy>*,.reveal{opacity:1!important;transform:none!important}
}
