/* Restauração exclusiva das animações. Sem alterações de geometria ou tema. */
html{scroll-behavior:smooth;scroll-padding-top:5rem}

/* O conteúdo só fica no estado inicial quando o runtime terminou de preparar o observer. */
.js-animations .bbs-reveal{
  opacity:0!important;
  transform:translateY(14px)!important;
  transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)!important;
  transition-delay:var(--bbs-delay,0ms)!important;
  will-change:opacity,transform;
}
.js-animations .bbs-reveal.bbs-visible{
  opacity:1!important;
  transform:none!important;
}

/* Entrada inicial mantém o mesmo deslocamento discreto usado pelo site. */
.js-animations #inicio .bbs-hero-reveal{
  opacity:0!important;
  transform:translateY(14px)!important;
  transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1)!important;
  transition-delay:var(--bbs-delay,0ms)!important;
}
.js-animations #inicio .bbs-hero-reveal.bbs-visible{
  opacity:1!important;
  transform:none!important;
}

@keyframes bbs-scroll-indicator{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
#inicio [data-dev-line="302"]{animation:bbs-scroll-indicator 1.8s ease-in-out infinite}

@keyframes bbs-grid-drift{from{background-position:0 0}to{background-position:24px 24px}}
#inicio .dot-grid{animation:bbs-grid-drift 18s linear infinite}

@keyframes bbs-tech-float{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(calc(-50% - 5px)) translateX(-3px)}}
#inicio>.absolute.right-0{animation:bbs-tech-float 6s ease-in-out infinite}

@keyframes bbs-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes bbs-menu-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-8px)}}
.local-mobile-nav{animation:bbs-menu-in .32s cubic-bezier(.22,1,.36,1) both}
.local-mobile-nav.is-closing{animation:bbs-menu-out .26s cubic-bezier(.22,1,.36,1) both}

header button,header a,footer button,footer a,
#contato button,.page-portfolio button[data-dev-content-list="portfolio.filters"],
.page-faq button[data-dev-content-list="faq.categories"]{
  transition-duration:.3s!important;
  transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
}
.page-servicos main .group,.page-portfolio [data-dev-content-list="portfolio.projects"]>div,
.page-faq [data-dev-content-list="faq.faqs"]>div>div{
  transition-duration:.36s!important;
  transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
}
.page-faq [data-dev-content-list="faq.faqs"] button+div,
.page-faq [data-dev-content-list="faq.faqs"] button svg{
  transition-duration:.36s!important;
  transition-timing-function:cubic-bezier(.22,1,.36,1)!important;
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js-animations .bbs-reveal,.js-animations #inicio .bbs-hero-reveal{opacity:1!important;transform:none!important;transition:none!important}
  #inicio .dot-grid,#inicio>.absolute.right-0,#inicio [data-dev-line="302"],.local-mobile-nav{animation:none!important}
  header button,header a,footer button,footer a,#contato button,
  .page-servicos main .group,.page-portfolio [data-dev-content-list="portfolio.projects"],
  .page-faq [data-dev-content-list="faq.faqs"],.page-faq [data-dev-content-list="faq.faqs"] button+div{
    transition:none!important
  }
}
