/* Homepage arrival. Opacity and transform only.
   A transition (not a keyframe that gets removed) so the settle
   doesn't hitch at the end. */

.ath-arm {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  pointer-events: none;
}

.hzb.ath-arm {
  transform: translate3d(0, 44px, 0);
}

.ath-show {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: auto;
  transition:
    opacity 780ms cubic-bezier(0.22, 1, 0.36, 1),
    transform 780ms cubic-bezier(0.22, 1, 0.36, 1);
}

.hzb.ath-show {
  transition-duration: 920ms, 920ms;
}

.ath-show.ath-rise--short {
  transition-duration: 620ms, 620ms;
}

/* The product track is wider than the screen. Clip X without turning
   it into a scrollbar when a child moves on Y. */
.cps,
.cps .cps-slider-shell,
.cps .cps-swiper-view,
.cps .cps-swiper {
  overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
  .ath-arm,
  .ath-show,
  .hzb.ath-arm,
  .hzb.ath-show {
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    transition: none !important;
  }
}
