/* V2 motion: calm reveals as each section scrolls into view (see js/v2-motion.js) */
.v2-mo {
  --v2-mo-ease: cubic-bezier(.22, .61, .36, 1);
  --v2-mo-step: 70ms;
  --v2-mo-y: 18px;
}
/* fade up */
.v2-mo .v2-rv {
  opacity: 0;
  transform: translate3d(0, var(--v2-mo-y), 0);
  transition: opacity .75s var(--v2-mo-ease), transform .75s var(--v2-mo-ease);
  transition-delay: calc(var(--v2-i, 0) * var(--v2-mo-step));
}
/* fade in from slightly smaller, for photo grids */
.v2-mo .v2-rs {
  opacity: 0;
  transform: scale(.985);
  transition: opacity .9s var(--v2-mo-ease), transform .9s var(--v2-mo-ease);
  transition-delay: calc(var(--v2-i, 0) * var(--v2-mo-step));
}
.v2-mo .v2-rv.v2-in,
.v2-mo .v2-rs.v2-in {
  opacity: 1;
  transform: none;
}
/* the highlight is drawn left to right once the heading has settled */
.v2-mo .v2-rh mark {
  background-repeat: no-repeat !important;
  background-size: 0% 100% !important;
  transition: background-size 1s var(--v2-mo-ease) .45s;
}
.v2-mo .v2-rh.v2-in mark {
  background-size: 100% 100% !important;
}

@media (max-width: 767px) {
  .v2-mo {
    --v2-mo-step: 45ms;
    --v2-mo-y: 12px;
  }
}
