/* Planeje Infra: microinteracoes e movimento */
body{overflow-x:clip}
.hero-copy{position:relative;z-index:2}
.hero-visual{overflow:visible}
.hero-photo-frame{overflow:visible!important;background:transparent!important}
.hero-photo-frame img{filter:drop-shadow(0 22px 30px rgba(6,43,40,.14));transform-origin:center!important}

.infra-header{transition:height .24s ease,border-color .24s ease,box-shadow .24s ease,background-color .24s ease}
.infra-navigation>a:not(.infra-nav-cta){position:relative}
.infra-navigation>a:not(.infra-nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transform-origin:right;transition:transform .22s ease}
.infra-navigation>a:not(.infra-nav-cta):hover::after,.infra-navigation>a:not(.infra-nav-cta):focus-visible::after{transform:scaleX(1);transform-origin:left}

.button,.infra-nav-cta,.module-funnel-cta,.audience-grid a,.contact-form button,.sales-chat-form>button,.cookie-actions button,.sales-trigger,.planeje-wa-launcher,.planeje-wa-form>button,.planeje-cookie-actions button{position:relative;isolation:isolate;overflow:hidden;transition:transform .2s ease,box-shadow .24s ease,background-color .24s ease,border-color .24s ease,color .24s ease}
.button::before,.infra-nav-cta::before,.module-funnel-cta::before,.audience-grid a::before,.contact-form button::before,.sales-chat-form>button::before,.cookie-actions button::before{content:"";position:absolute;z-index:-1;inset:-40% auto -40% -45%;width:32%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-220%) skewX(-18deg);transition:transform .62s cubic-bezier(.2,.75,.25,1)}
.button:hover::before,.infra-nav-cta:hover::before,.module-funnel-cta:hover::before,.audience-grid a:hover::before,.contact-form button:hover::before,.sales-chat-form>button:hover::before,.cookie-actions button:hover::before{transform:translateX(560%) skewX(-18deg)}
.button:hover,.infra-nav-cta:hover,.module-funnel-cta:hover,.contact-form button:hover,.sales-chat-form>button:hover,.cookie-actions button:hover,.sales-trigger:hover,.planeje-wa-launcher:hover,.planeje-wa-form>button:hover,.planeje-cookie-actions button:hover,.planeje-cookie-close:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(6,43,40,.18)}
.button:active,.infra-nav-cta:active,.module-funnel-cta:active,.audience-grid a:active,.contact-form button:active,.sales-chat-form>button:active,.cookie-actions button:active,.sales-trigger:active,.planeje-wa-launcher:active,.planeje-wa-form>button:active,.planeje-cookie-actions button:active,.planeje-cookie-close:active{transform:translateY(0) scale(.985)}
.button:focus-visible,.infra-nav-cta:focus-visible,.module-funnel-cta:focus-visible,.audience-grid a:focus-visible,.contact-form button:focus-visible,.sales-chat-form>button:focus-visible,.cookie-actions button:focus-visible,.sales-trigger:focus-visible,.planeje-wa-launcher:focus-visible,.planeje-wa-form>button:focus-visible,.planeje-wa-header button:focus-visible,.planeje-cookie-actions button:focus-visible,.planeje-cookie-close:focus-visible{outline:3px solid rgba(6,43,40,.48);outline-offset:3px}
.button span,.module-funnel-cta span,.contact-form button span,.sales-chat-form>button span{display:inline-block;transition:transform .2s ease}
.button:hover span,.module-funnel-cta:hover span,.contact-form button:hover span,.sales-chat-form>button:hover span{transform:translateX(4px)}
.hero .button.secondary:hover span{transform:translateY(3px)}

.platform-tabs button{transition:color .2s ease,background-color .2s ease,box-shadow .22s ease,transform .2s ease}
.platform-tabs button:hover{color:var(--green);transform:translateY(-1px)}
.platform-content{transition:opacity .14s ease,transform .2s ease}
.platform-content.is-switching{opacity:0;transform:translateY(8px)}
.platform-content.is-switching-in{animation:infraModuleIn .28s ease both}
@keyframes infraModuleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.motion-ready .hero-enter{opacity:0;transform:translateY(14px);transition:opacity .62s cubic-bezier(.2,.75,.25,1),transform .62s cubic-bezier(.2,.75,.25,1);transition-delay:var(--motion-delay,0ms)}
.motion-ready .hero-photo-frame.hero-enter{transform:translateX(22px) scale(.975)}
.motion-ready.motion-mounted .hero-enter{opacity:1;transform:none}
.hero-push svg{animation:infraScrollCue 1.8s ease-in-out infinite}
@keyframes infraScrollCue{0%,100%{transform:translateY(-2px)}50%{transform:translateY(5px)}}
.motion-ready .reveal-item{opacity:0;transform:translateY(17px);transition:opacity .58s cubic-bezier(.2,.75,.25,1),transform .58s cubic-bezier(.2,.75,.25,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-item.is-inview{opacity:1;transform:none}

@media(hover:hover) and (pointer:fine){
  .problem-list article,.steps article,.blog-grid article,.blog-list article{transition:transform .22s ease,box-shadow .24s ease,border-color .22s ease}
  .problem-list article.is-inview:hover,.steps article.is-inview:hover,.blog-grid article.is-inview:hover,.blog-list article.is-inview:hover{transform:translateY(-4px);border-color:rgba(45,179,74,.34);box-shadow:0 18px 38px rgba(6,43,40,.1)}
  .problem-list article:hover .card-icon,.steps article:hover .step-icon{transform:scale(1.055)}
  .card-icon,.step-icon{transition:transform .22s ease}
  .audience-grid article.is-inview:hover{transform:translateY(-4px);background:rgba(255,255,255,.055)}
}

.sales-widget.sales-nudge .sales-trigger::after{content:"";position:absolute;inset:-7px;border:2px solid rgba(45,179,74,.45);border-radius:inherit;animation:infraSalesNudge 1.1s ease-out 1}
@keyframes infraSalesNudge{0%{opacity:0;transform:scale(.82)}35%{opacity:1}100%{opacity:0;transform:scale(1.23)}}
.cookie-banner{animation:infraCookieIn .34s ease both}
@keyframes infraCookieIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

@media(max-width:1060px){
  .hero-visual{margin-inline:auto}
}
@media(max-width:760px){
  .motion-ready .reveal-item{transform:translateY(9px)}
  .hero-photo-frame img{filter:drop-shadow(0 18px 22px rgba(6,43,40,.16))}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .motion-ready .hero-enter,.motion-ready .reveal-item{opacity:1!important;transform:none!important}
  .hero-push svg{animation:none}
  .sales-widget.sales-nudge .sales-trigger::after{display:none}
}
