.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}

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

.hover-lift {
  transition: transform .25s ease, box-shadow .25s ease;
}

.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
}

@keyframes softPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(196, 154, 71, .35);
  }
  50% {
    box-shadow: 0 0 0 12px rgba(196, 154, 71, 0);
  }
}

.pulse {
  animation: softPulse 2.4s infinite;
}
