/**
 * Home — animações de entrada e parallax no scroll.
 * As regras só são ativadas após a inicialização do JavaScript.
 */

.stone-scroll-ready .stone-scroll-reveal {
  --stone-reveal-x: 0px;
  --stone-reveal-y: 2.4rem;
  --stone-reveal-scale: 1;
  opacity: 0;
  transform:
    translate3d(var(--stone-reveal-x), var(--stone-reveal-y), 0)
    scale(var(--stone-reveal-scale));
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--stone-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="left"] {
  --stone-reveal-x: -3.2rem;
  --stone-reveal-y: 0px;
}

.stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="right"] {
  --stone-reveal-x: 3.2rem;
  --stone-reveal-y: 0px;
}

.stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="scale"] {
  --stone-reveal-y: 1.6rem;
  --stone-reveal-scale: 0.97;
}

.stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="fade"] {
  --stone-reveal-y: 0px;
}

.stone-scroll-ready .stone-scroll-reveal.is-in-view {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

/* Após a entrada, remove transform para não criar containing block (modais fixed, sticky, etc.). */
.stone-scroll-ready .stone-scroll-reveal.is-reveal-complete {
  transform: none;
  will-change: auto;
}

.stone-scroll-ready [data-stone-parallax] {
  transform: translate3d(0, var(--stone-parallax-y, 0px), 0);
  will-change: transform;
}

.stone-scroll-ready .hero:not(.hero--flow) .hero__media {
  overflow: hidden;
  clip-path: inset(0);
  isolation: isolate;
}

.stone-scroll-ready .hero__image--home img[data-stone-parallax] {
  transform:
    translate3d(0, var(--stone-parallax-y, 0px), 0)
    scale(var(--stone-parallax-scale, 1));
  transform-origin: center center;
}

.stone-scroll-ready .stone-calendario__media img[data-stone-parallax] {
  transform:
    translate3d(0, var(--stone-parallax-y, 0px), 0)
    rotate(var(--stone-parallax-rotate, 0deg));
  transform-origin: center bottom;
}

.stone-scroll-ready .stone-ttp__visual img[data-stone-parallax] {
  transform: scale(var(--stone-parallax-scale, 1));
  transform-origin: center top;
}

@media (max-width: 767px) {
  .stone-scroll-ready .stone-scroll-reveal {
    --stone-reveal-y: 2rem;
  }

  .stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="left"],
  .stone-scroll-ready .stone-scroll-reveal[data-stone-reveal="right"] {
    --stone-reveal-x: 0px;
    --stone-reveal-y: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stone-scroll-ready .stone-scroll-reveal,
  .stone-scroll-ready .stone-scroll-reveal.is-in-view,
  .stone-scroll-ready [data-stone-parallax],
  .stone-scroll-ready .hero__image--home img[data-stone-parallax],
  .stone-scroll-ready .stone-calendario__media img[data-stone-parallax],
  .stone-scroll-ready .stone-ttp__visual img[data-stone-parallax] {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
