/* ===== Animações suaves — somente movimento e tempo, nenhuma cor alterada ===== */
:root{--suave:cubic-bezier(.2,.75,.3,1)}

/* o reveal antigo disparava no carregamento; agora acontece ao rolar */
.hero-txt,.p-sec-cab,.eco-card,.perfil,.p-post,.p-cta-in{animation:none}

[data-rev]{
  opacity:0;transform:translate3d(0,13px,0);
  transition:opacity 1.05s var(--suave),transform 1.05s var(--suave);
  transition-delay:var(--atraso,0ms);
  will-change:opacity,transform;
}
[data-rev].vis{opacity:1;transform:none}

/* hero sem animação: título e botões entram prontos */
@keyframes surge{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:none}}

/* ---- sangria: hero e CTA alinhados à margem do cabeçalho ---- */
:root{--sangria:clamp(24px,4vw,52px)}
.p-hero-in{padding-left:var(--sangria);padding-right:var(--sangria);padding-top:clamp(84px,11vw,132px);padding-bottom:clamp(92px,12vw,140px)}
.p-hero h1{line-height:1.1;max-width:20ch}
.p-cta-in{padding-left:var(--sangria);padding-right:var(--sangria);padding-top:clamp(76px,10vw,104px);padding-bottom:clamp(84px,11vw,112px)}
.p-cta-in h2{line-height:1.12}
@media (max-width:900px){
  .p-hero-in,.p-cta-in{padding-left:var(--sangria);padding-right:var(--sangria)}
}

/* troca de painéis: ecossistema e linha do tempo */
.p-eco-paineis.visto .p-eco-painel.ativo,
.p-anos-paineis.visto .p-ano-painel.ativo{animation:painelSuave .9s var(--suave) both}
@keyframes painelSuave{from{opacity:0;transform:translate3d(0,11px,0)}to{opacity:1;transform:none}}
.p-eco-paineis.visto .p-eco-painel.ativo .p-eco-txt>*{animation:surge .95s var(--suave) both}
.p-eco-paineis.visto .p-eco-painel.ativo .p-eco-txt>*:nth-child(1){animation-delay:.1s}
.p-eco-paineis.visto .p-eco-painel.ativo .p-eco-txt>*:nth-child(2){animation-delay:.2s}
.p-eco-paineis.visto .p-eco-painel.ativo .p-eco-txt>*:nth-child(3){animation-delay:.3s}
.p-anos-paineis.visto .p-ano-painel.ativo .p-ano-txt{animation:surge .95s .08s var(--suave) both}
.p-anos-paineis.visto .p-ano-painel.ativo .p-ano-img{animation:surge .95s .16s var(--suave) both}

/* ---- menu: abertura bem mais macia ---- */
.mega{transform:translateY(-6px);
  transition:opacity .5s var(--suave),transform .62s var(--suave),visibility .62s var(--suave)}
.item.on>.mega{transform:translateY(0)}
.item.on>.mega .mega-inner>*{animation:surge .62s var(--suave) both}
.item.on>.mega .mega-inner>*:nth-child(2){animation-delay:.07s}
.item.on>.mega .mega-inner>*:nth-child(3){animation-delay:.14s}
.item.on>.mega .mega-inner>*:nth-child(4){animation-delay:.21s}
.chev{transition:transform .5s var(--suave),opacity .35s ease}
.item>.gatilho,.nav>.link{transition:color .32s ease,background .32s ease,transform .42s var(--suave)}
.cel{transition:background .32s ease}
.cel h4{transition:color .3s ease}
.col .lk{transition:color .3s ease}
.col .lk::after{transition:opacity .34s ease,transform .38s var(--suave)}
.col-vt,.link-mais{transition:gap .38s var(--suave),color .3s ease}
.busca input{transition:border-color .34s ease,box-shadow .34s ease,background .34s ease}
.hamb span,.hamb::before,.hamb::after{transition:.42s var(--suave)}
.lk-subs{transition:max-height .5s var(--suave),opacity .42s var(--suave),margin-top .5s var(--suave)}
.sub{transition:border-color .3s ease,background .3s ease}
@media (max-width:1000px){
  .nav{transition:transform .52s var(--suave)}
  .mega{transform:none}
  .mega{transition:max-height .62s var(--suave)}
}

/* abas, anos e botões */
.aba,.ano{transition:transform .42s var(--suave),color .3s ease,background .3s ease,border-color .3s ease}
.ano:hover{transform:translateY(-2px)}
.aba.ativa,.ano.ativa{animation:pop .7s var(--suave)}
@keyframes pop{from{transform:scale(.975)}to{transform:scale(1)}}
.pill,.btn{transition:background .32s ease,border-color .32s ease,color .32s ease,transform .45s var(--suave)}
.pill:active,.btn:active,.aba:active,.ano:active,.p-btn-full:active{transform:translateY(0) scale(.99)}
.p-btn-full{transition:transform .45s var(--suave),background .3s ease}
.p-btn-full:hover{transform:translateY(-2px)}
.p-input{transition:transform .45s var(--suave),border-color .3s ease}
.p-input:focus{transform:translateY(-2px)}
.link-seta{display:inline-block;transition:transform .5s var(--suave)}
.link-seta:hover{transform:translateX(4px)}

/* cards */
.p-post{transition:transform .6s var(--suave)}
.p-post:hover{transform:translateY(-6px);box-shadow:none}
.p-post-capa{display:block;border-radius:12px;overflow:hidden;
  transition:transform .8s var(--suave),box-shadow .7s var(--suave)}
.p-post:hover .p-post-capa{transform:scale(1.012);box-shadow:0 26px 46px -28px rgba(45,10,78,.5)}
.p-post-tit{transition:transform .55s var(--suave),color .3s ease}
.p-post:hover .p-post-tit{transform:translateX(2px)}
.perfil{transition:flex .95s var(--suave),transform .6s var(--suave),box-shadow .6s var(--suave)}
.perfil:hover,.perfil.ativa{transform:translateY(-5px)}
.perfil-nome{transition:transform .8s var(--suave)}

/* cabeçalho e rodapé */
.marca img{transition:transform .55s var(--suave)}
.marca:hover img{transform:scale(1.03)}
.rod-col a{display:block;width:fit-content;transition:transform .45s var(--suave),color .3s ease}
.rod-col a:hover{transform:translateX(4px)}

/* ---- rodapé: grade, colunas e contato ---- */
.rod-in{grid-template-columns:1.5fr repeat(4,1fr);gap:44px 30px;
  padding:74px var(--sangria) 34px;align-items:start}
.rod-base{padding:22px var(--sangria);gap:12px 28px}
.rod-legal{display:flex;flex-wrap:wrap;gap:6px 20px}
.rodape .sobre{margin:18px 0 22px}
.rod-col{min-width:0}
.rod-col h5{margin-bottom:15px}
.rod-col a{font-size:13.5px;line-height:1.4;padding:6px 0}
.rod-contato{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:18px}
.rod-contato li{display:grid;gap:4px}
.rc-rot{font-family:var(--fonte);font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:#7C7594}
.rod-contato a{font-size:13.5px;color:#CFC9DE;width:fit-content;
  transition:color .3s ease,transform .45s var(--suave)}
.rod-contato a:hover{color:#fff;transform:translateX(4px)}
.rc-txt{font-size:13.5px;color:#9A93AE;line-height:1.65}
@media (max-width:1180px){.rod-in{grid-template-columns:1fr 1fr;gap:40px 28px}}
@media (max-width:620px){.rod-in{grid-template-columns:1fr;gap:34px}}
.rod-social a{transition:transform .5s var(--suave),color .3s ease}
.rod-social a:hover{transform:translateY(-3px)}

/* respiro do CTA mais lento */
.p-cta::before{animation-duration:9s}

@media (prefers-reduced-motion:reduce){
  [data-rev]{opacity:1!important;transform:none!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
