/* Scroll reveal com padrão Bootstrap .fade + .show (IntersectionObserver em scroll.js) */

@media (prefers-reduced-motion: reduce) {
  .fade.bs-scroll-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
}

.fade.bs-scroll-reveal {
  opacity: 0;
  transform: translateY(1.25rem);
  transition:
    opacity 0.65s ease-out,
    transform 0.65s ease-out;
}

.fade.bs-scroll-reveal.show {
  opacity: 1;
  transform: translateY(0);
}

.fade.bs-scroll-reveal.bs-scroll-reveal--hero {
  transform: translateY(0.75rem);
}

/* Linhas do título #hero — entrada escalonada ao rolar / no carregamento */
.fade.bs-scroll-reveal.bs-scroll-reveal--hero-line {
  transform: translate3d(0, 1.35rem, 0);
  filter: blur(5px);
  transition:
    opacity 0.72s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.72s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.72s ease-out;
}

.fade.bs-scroll-reveal.bs-scroll-reveal--hero-line.show {
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

.fade.bs-scroll-reveal.bs-scroll-reveal--zoom {
  transform: scale(0.97);
}

.fade.bs-scroll-reveal.bs-scroll-reveal--zoom.show {
  transform: scale(1);
}

.fade.bs-scroll-reveal[data-bs-delay="1"] {
  transition-delay: 0.1s;
}
.fade.bs-scroll-reveal[data-bs-delay="2"] {
  transition-delay: 0.2s;
}
.fade.bs-scroll-reveal[data-bs-delay="3"] {
  transition-delay: 0.3s;
}
.fade.bs-scroll-reveal[data-bs-delay="4"] {
  transition-delay: 0.4s;
}
.fade.bs-scroll-reveal[data-bs-delay="5"] {
  transition-delay: 0.5s;
}
.fade.bs-scroll-reveal[data-bs-delay="6"] {
  transition-delay: 0.6s;
}

/* Badge, subtítulo e CTAs do hero */
.fade.bs-scroll-reveal.bs-scroll-reveal--hero-extra {
  transform: translate3d(0, 1rem, 0);
  filter: blur(3px);
}

.fade.bs-scroll-reveal.bs-scroll-reveal--hero-extra.show {
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

/* Imagem do hero */
.hero-image-col.bs-scroll-reveal.bs-scroll-reveal--hero-zoom {
  transform: translate3d(0, 1.5rem, 0) scale(0.96);
  filter: blur(4px);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.85s ease-out;
}

.hero-image-col.bs-scroll-reveal.bs-scroll-reveal--hero-zoom.show {
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
