html {
  scroll-behavior: smooth;
}

.js [data-reveal] {
  opacity: 0;
  will-change: opacity, transform;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.js [data-reveal="up"],
.js [data-reveal=""] {
  transform: translate3d(0, 72px, 0);
}

.js [data-reveal="left"] {
  transform: translate3d(-72px, 0, 0);
}

.js [data-reveal="right"] {
  transform: translate3d(72px, 0, 0);
}

.js [data-reveal].is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.js [data-reveal][data-delay="1"] { transition-delay: 0.12s; }
.js [data-reveal][data-delay="2"] { transition-delay: 0.24s; }
.js [data-reveal][data-delay="3"] { transition-delay: 0.36s; }

[data-slide] {
  transform: scale(1.08);
  transition: opacity 1.1s ease, transform 8s ease-out;
}

[data-slide].opacity-100 {
  transform: scale(1);
}

.img-zoom img,
.group img {
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.img-zoom:hover img,
.group:hover img {
  transform: scale(1.08);
}
