/* Camada de motion — Bombonato (Envolve, 05/11/2026). Prefixo bo-. Nada fica escondido sem JS. */
:root{--bo-ease:cubic-bezier(.2,.8,.2,1);--bo-spring:cubic-bezier(.34,1.56,.64,1)}
@keyframes boUp{from{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}
@keyframes boDown{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:none}}
@keyframes boWord{to{opacity:1;transform:none;filter:blur(0)}}
@keyframes boLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes boKen{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes boShine{from{left:-60%}to{left:130%}}
@keyframes boGlow{0%,100%{box-shadow:0 10px 24px -12px #756C1F,0 0 0 0 rgba(164,153,50,.55)}50%{box-shadow:0 10px 24px -12px #756C1F,0 0 0 13px rgba(164,153,50,0)}}
#bo-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#756C1F,#A49932,#C9BB42);z-index:200;pointer-events:none}
.bo-w{display:inline-block}

@media (prefers-reduced-motion:no-preference){
  .site-header{animation:boDown .7s var(--bo-ease) both}

  /* palavra por palavra com blur (hero ao ativar o slide; demais títulos ao rolar) */
  .bo-js .bo-w{opacity:0;transform:translateY(.45em);filter:blur(10px)}
  .slide.is-active .bo-w,.bo-in .bo-w{animation:boWord .9s var(--bo-ease) forwards;animation-delay:calc(var(--i)*.09s + .2s)}

  /* traço dourado se desenha */
  .bo-js .bo-line{transform:scaleX(0)}
  .slide.is-active .bo-line{animation:boLine .9s .7s var(--bo-ease) forwards}
  .bo-in+.bo-line,.bo-line.bo-in{animation:boLine .9s .35s var(--bo-ease) forwards}

  /* hero: Ken Burns e entrada do texto */
  .slide.is-active .hero-img{animation:boKen 9s var(--bo-ease) both}
  .slide.is-active .slide-p{animation:boUp .9s .8s var(--bo-ease) both}
  .slide.is-active .btn{animation:boUp .8s 1s var(--bo-spring) both,boGlow 2.8s 2.2s ease-in-out infinite}

  /* reveal com mola ao rolar */
  .bo-js [data-bo]{opacity:0;transform:translateY(32px) scale(.95);transition:opacity .7s var(--bo-ease),transform .9s var(--bo-spring);transition-delay:var(--d,0s)}
  .bo-js [data-bo].bo-in{opacity:1;transform:none}

  /* botões: brilho passando */
  .bo-btn{position:relative;overflow:hidden}
  .bo-btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);pointer-events:none;opacity:0}
  .bo-btn:hover::after{opacity:1;animation:boShine .8s ease}
  .bo-btn:active{transform:scale(.97)}

  /* cards sobem e ícone gira */
  .bo-card{transition:transform .45s var(--bo-spring),box-shadow .35s,opacity .7s var(--bo-ease)}
  .bo-js .bo-card[data-bo]{transition:opacity .7s var(--bo-ease),transform .9s var(--bo-spring),box-shadow .35s}
  .bo-js .bo-card[data-bo].bo-in:hover,.bo-card:hover{transform:translateY(-7px);box-shadow:0 26px 40px -22px rgba(14,27,61,.55)}
  .bo-card img{transition:transform .5s var(--bo-spring)}
  .grid4 .bo-card:hover img{transform:rotate(-10deg) scale(1.12)}
  .team .bo-card:hover img,.dif-list .bo-card:hover img{transform:scale(1.06)}
}
@media (prefers-reduced-motion:reduce){#bo-progress{display:none}}
