:root{--ease-out-expo:cubic-bezier(0.16, 1, 0.3, 1);--ease-in-out-quad:cubic-bezier(0.45, 0, 0.55, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-smooth:cubic-bezier(0.25, 0.46, 0.45, 0.94);--dur-fast:0.3s;--dur-mid:0.6s;--dur-slow:1s;--dur-crawl:1.6s}@keyframes hero-glow-pulse{0%,100%{opacity:.4;transform:scale(1) translate(-50%,-50%)}50%{opacity:.7;transform:scale(1.15) translate(-45%,-45%)}}@keyframes floatPortal{0%,100%{transform:rotateY(-20deg) rotateX(25deg) rotateZ(-5deg) translateY(0)}50%{transform:rotateY(-18deg) rotateX(22deg) rotateZ(-4deg) translateY(-22px)}}@keyframes hex-pulse{0%,100%{opacity:.15;stroke-width:1}50%{opacity:.45;stroke-width:2}}@keyframes hex-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes counter-pop{0%{transform:scale(.7);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}@keyframes gradient-shift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes orbit{0%{transform:rotate(0) translateX(10px) rotate(0)}100%{transform:rotate(360deg) translateX(10px) rotate(-360deg)}}@keyframes scroll_infinite{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes sobe_desce{0%,100%{transform:translateY(3px)}50%{transform:translateY(-8px)}}@keyframes stripeFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes stagger-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hex:first-child{animation:4s ease-in-out infinite hex-float,4s ease-in-out infinite hex-pulse}.hex:nth-child(2){animation:4s ease-in-out .4s infinite hex-float,4s ease-in-out .4s infinite hex-pulse}.hex:nth-child(3){animation:4s ease-in-out .8s infinite hex-float,4s ease-in-out .8s infinite hex-pulse}.hex:nth-child(4){animation:4s ease-in-out 1.2s infinite hex-float,4s ease-in-out 1.2s infinite hex-pulse}.hex:nth-child(5){animation:4s ease-in-out 1.6s infinite hex-float,4s ease-in-out 1.6s infinite hex-pulse}.text_section h2,.text_section_primary h2{background-size:200% 200%;animation:6s infinite gradient-shift}[data-anime]{opacity:0;will-change:transform,opacity,filter;transition-timing-function:var(--ease-out-expo);transition-duration:.8s;transition-property:opacity,transform,filter}[data-anime=fade-up]{transform:translateY(50px);filter:blur(4px)}[data-anime=fade-down]{transform:translateY(-50px);filter:blur(4px)}[data-anime=fade-right]{transform:translateX(-50px);filter:blur(4px)}[data-anime=fade-left]{transform:translateX(50px);filter:blur(4px)}[data-anime=zoom-in]{transform:scale(.85);filter:blur(6px)}[data-anime=zoom-out]{transform:scale(1.15);filter:blur(6px)}[data-anime].anime-start{opacity:1;transform:translate(0,0) scale(1) rotateX(0);filter:blur(0)}[data-anime-delay="50"]{transition-delay:50ms}[data-anime-delay="100"]{transition-delay:0.1s}[data-anime-delay="150"]{transition-delay:150ms}[data-anime-delay="200"]{transition-delay:0.2s}[data-anime-delay="250"]{transition-delay:250ms}[data-anime-delay="300"]{transition-delay:0.3s}[data-anime-delay="350"]{transition-delay:350ms}[data-anime-delay="400"]{transition-delay:0.4s}.v-card{transition:transform .4s var(--ease-spring),box-shadow .4s var(--ease-spring);will-change:transform;cursor:default}.v-card:hover{transform:translateY(-10px) rotate(-.5deg);box-shadow:0 40px 60px -15px rgba(50,50,93,.18),0 20px 40px -10px rgba(0,0,0,.15)}.card-description i{transition:transform .4s var(--ease-spring),color .3s ease}.v-card:hover .card-description i{transform:scale(1.2) rotate(-5deg);color:var(--verde)}.btn_comercial,.btn_contact{position:relative;overflow:hidden;transition:transform .3s var(--ease-spring),box-shadow .3s ease,color .3s ease}.btn_comercial::after,.btn_contact::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:rgba(255,255,255,.25);border-radius:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s,opacity .6s;opacity:0}.btn_comercial:active::after,.btn_contact:active::after{width:300px;height:300px;opacity:0;transition:none}.btn_comercial:hover,.btn_contact:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,95,108,.25)}.btn_comercial:active,.btn_contact:active{transform:translateY(0) scale(.98)}.link .arrow,.link i{display:inline-block;transition:transform .3s var(--ease-spring)}.link:hover .arrow,.link:hover i{transform:translateX(6px)}.big_num.counting{animation:counter-pop .5s var(--ease-spring) both}@keyframes count-up-flash{0%,100%{color:var(--verde)}50%{color:var(--secondary)}}.big_num.done{animation:.5s count-up-flash}.btn-login{transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s var(--ease-spring),box-shadow .3s ease}.btn-login:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.1)}@media (max-width:768px){[data-anime]{transition-duration:.5s}.card_projeto:hover{transform:translateY(-6px)}.v-card:hover{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}[data-anime]{opacity:1!important;transform:none!important;filter:none!important}}@keyframes shimmer{0%{left:-80%}100%,60%{left:120%}}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(14,166,106,.4)}50%{box-shadow:0 0 0 8px rgba(14,166,106,0)}}