.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1);
  will-change: opacity, transform;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-group.reveal:nth-child(1) { transition-delay: 0s; }
.reveal-group.reveal:nth-child(2) { transition-delay: .12s; }
.reveal-group.reveal:nth-child(3) { transition-delay: .24s; }
.reveal-group.reveal:nth-child(4) { transition-delay: .36s; }

.hover-lift {
  transition: transform .35s cubic-bezier(.22,.61,.36,1), box-shadow .35s ease;
}

.hover-lift:hover {
  transform: translateY(-8px);
  box-shadow: 0 14px 28px rgba(5, 8, 27, 0.14);
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .hover-lift {
    transition: none !important;
  }
  .hover-lift:hover {
    transform: none !important;
    box-shadow: none !important;
  }
}
