/**
 * Animações de entrada e parallax no scroll.
 * Só entram em vigor depois que o JS marca o body, para não esconder conteúdo sem JS.
 */

.outback-scroll-ready .outback-scroll-reveal {
  --outback-reveal-x: 0px;
  --outback-reveal-y: 4.8rem;
  --outback-reveal-scale: 1;
  opacity: 0;
  filter: blur(0.4rem);
  transform:
    translate3d(var(--outback-reveal-x), var(--outback-reveal-y), 0)
    scale(var(--outback-reveal-scale));
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--outback-reveal-delay, 0ms);
  will-change: opacity, filter, transform;
}

.outback-scroll-ready .outback-scroll-reveal[data-outback-reveal="left"] {
  --outback-reveal-x: -5.6rem;
  --outback-reveal-y: 0px;
}

.outback-scroll-ready .outback-scroll-reveal[data-outback-reveal="right"] {
  --outback-reveal-x: 5.6rem;
  --outback-reveal-y: 0px;
}

.outback-scroll-ready .outback-scroll-reveal[data-outback-reveal="scale"] {
  --outback-reveal-y: 2.4rem;
  --outback-reveal-scale: 0.94;
}

.outback-scroll-ready .outback-scroll-reveal.is-in-view {
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
}

/* Como Participar — fade in/out dos steps (0.3s) */
.outback-scroll-ready a.outback-step-card.outback-scroll-reveal {
  --outback-reveal-y: 1.6rem;
  --outback-reveal-scale: 0.98;
  opacity: 0;
  filter: none;
  transform:
    translate3d(0, var(--outback-reveal-y), 0)
    scale(var(--outback-reveal-scale));
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
  transition-delay: var(--outback-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.outback-scroll-ready a.outback-step-card.outback-scroll-reveal.is-in-view {
  opacity: 1;
  filter: none;
  transform: translate3d(0, 0, 0) scale(1);
}

.outback-scroll-ready .outback-scroll-reveal.is-reveal-complete {
  will-change: auto;
}

.outback-scroll-ready [data-outback-parallax] {
  transform: translate3d(0, var(--outback-parallax-y, 0px), 0);
  will-change: transform;
}

.outback-scroll-ready .hero:not(.hero--flow) .hero__media {
  overflow: hidden;
  clip-path: inset(0);
  isolation: isolate;
}

.outback-scroll-ready .hero__image--home img[data-outback-parallax] {
  transform:
    translate3d(0, var(--outback-parallax-y, 0px), 0)
    scale(var(--outback-parallax-scale, 1));
  transform-origin: center center;
}

@media (max-width: 767px) {
  .outback-scroll-ready .outback-scroll-reveal {
    --outback-reveal-y: 3.2rem;
  }

  .outback-scroll-ready .outback-scroll-reveal[data-outback-reveal="left"],
  .outback-scroll-ready .outback-scroll-reveal[data-outback-reveal="right"] {
    --outback-reveal-x: 0px;
    --outback-reveal-y: 3.2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .outback-scroll-ready .outback-scroll-reveal,
  .outback-scroll-ready .outback-scroll-reveal.is-in-view,
  .outback-scroll-ready [data-outback-parallax],
  .outback-scroll-ready .hero__image--home img[data-outback-parallax] {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
    will-change: auto;
  }
}
