:root {
  --spa-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.js-route-card {
  cursor: pointer;
}

.reveal-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 700ms var(--spa-ease), transform 700ms var(--spa-ease);
}

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

.cta-glow {
  position: relative;
  overflow: hidden;
}

.cta-glow::after {
  content: "";
  position: absolute;
  inset: -130% -30%;
  background: linear-gradient(120deg, transparent 35%, rgba(255, 255, 255, 0.35) 50%, transparent 65%);
  transform: translateX(-100%) rotate(12deg);
  transition: transform 900ms var(--spa-ease);
}

.cta-glow:hover::after {
  transform: translateX(100%) rotate(12deg);
}
