/* overflow:clip evita rolagem lateral sem interferir na seção sticky do vídeo. */
html,body{overflow-x:clip}
[data-reveal]{--motion-x:0px;--motion-y:58px;--motion-scale:1;--motion-turn:0deg;opacity:0;transform:translate3d(var(--motion-x),var(--motion-y),0) scale(var(--motion-scale)) rotate(var(--motion-turn));transition-property:opacity,transform;transition-duration:.95s,1.15s;transition-timing-function:ease,cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
[data-reveal][data-motion=left]{--motion-x:-90px;--motion-y:26px;--motion-turn:-1deg}
[data-reveal][data-motion=right]{--motion-x:90px;--motion-y:26px;--motion-turn:1deg}
[data-reveal][data-motion=zoom]{--motion-y:36px;--motion-scale:.91}
[data-reveal][data-motion=pop]{--motion-y:45px;--motion-scale:.86;transition-timing-function:ease,cubic-bezier(.2,1.35,.4,1)}
[data-reveal].in-view{opacity:1;transform:translate3d(0,0,0) scale(1) rotate(0)}
.motion-enabled .hero{overflow:hidden}
.motion-enabled .hero-bg{animation:hero-image-arrive 1.9s cubic-bezier(.16,1,.3,1) both;transform-origin:75% 45%}
.motion-enabled .hero h1[data-reveal]{transition-duration:1.05s,1.35s}
.motion-enabled .hero .button[data-reveal]{transition-duration:.8s,1.05s}
.motion-enabled .work-card.in-view .work-number{animation:number-arrive .85s cubic-bezier(.2,1.35,.4,1) both;animation-delay:calc(var(--reveal-delay,0ms) + 180ms)}
@keyframes hero-image-arrive{from{opacity:.35;transform:scale(1.085)}to{opacity:1;transform:scale(1)}}
@keyframes number-arrive{from{opacity:0;transform:translateY(28px) scale(.65) rotate(-10deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@media(hover:hover){.project.in-view:hover,.service-grid article.in-view:hover,.work-card.in-view:hover,.steps article.in-view:hover{transform:translateY(-8px) scale(1.012);transition-duration:.3s;transition-delay:0ms}.hero .button.in-view:hover{transform:translateY(-5px) scale(1.025);transition-duration:.25s;transition-delay:0ms}.button>span{transition:transform .25s ease}.button:hover>span{transform:translateX(6px)}}
@media(max-width:640px){[data-reveal][data-motion=left]{--motion-x:-48px;--motion-turn:0deg}[data-reveal][data-motion=right]{--motion-x:48px;--motion-turn:0deg}[data-reveal]{transition-duration:.75s,.95s}.motion-enabled .hero-bg{animation-duration:1.5s}}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal].in-view{opacity:1;transform:none!important;transition:none!important}.motion-enabled .hero-bg,.motion-enabled .work-card.in-view .work-number{animation:none}.button>span{transition:none}}
