/* Animation styles for hero text shuffle effect */
.shuffle-text {
  display: inline-block;
  position: relative;
  cursor: pointer;
  z-index: 2;
}

.shuffle-text::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  bottom: -2px;
  left: 0;
  background-color: #7c3aed;
  transform: scaleX(0);
  transform-origin: bottom right;
  transition: transform 0.3s ease;
}

.shuffle-text:hover::after {
  transform: scaleX(1);
  transform-origin: bottom left;
}

.animated-exclamation {
  display: inline-block;
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.8;
  }
}
