.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
}

.scroll-indicator {
  animation: fadeInOut 2s ease-in-out infinite;
}

.scroll-arrow {
  animation: bounce 2s ease-in-out infinite;
}

@keyframes fadeInOut {
  0%, to {
    opacity: 0.5;
  }
  50% {
    opacity: 1;
  }
}
@keyframes bounce {
  0%, to {
    transform: translateY(0);
  }
  50% {
    transform: translateY(8px);
  }
}
.hero-controls {
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.hero-dot {
  height: 0.5rem;
  width: 0.5rem;
  cursor: pointer;
  border-radius: 9999px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.hero-dot:hover {
  background: rgba(205, 164, 111, 0.6);
  border-color: rgba(205, 164, 111, 0.8);
  transform: scale(1.3);
}

.hero-dot.active {
  height: 2rem;
  background: rgba(205, 164, 111, 0.9019607843);
  border-color: #cda46f;
}

.violin-nav {
  position: absolute;
  top: 50%;
  z-index: 10;
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 9999px;
  padding: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(255, 255, 255, var(--tw-text-opacity, 1));
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
  background: rgba(205, 164, 111, 0.3019607843);
  border: 1px solid rgba(205, 164, 111, 0.4);
  backdrop-filter: blur(8px);
}

.violin-nav:hover {
  background: rgba(205, 164, 111, 0.5019607843);
  border-color: rgba(205, 164, 111, 0.7019607843);
  transform: scale(1.1);
}

.violin-prev {
  left: 4px;
}

.violin-next {
  right: 4px;
}

.violin-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.7s;
}

.violin-slide.active {
  opacity: 1;
}

.activity-card {
  border-radius: 0.5rem;
  padding: 2rem;
  text-align: center;
}

.activity-card {
  background: rgb(28, 25, 23);
  border: 1px solid rgba(205, 164, 111, 0.2);
  backdrop-filter: blur(10px);
}

.activity-icon {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: center;
  color: #cda46f;
}

.support-detail-card {
  border-radius: 0.5rem;
  padding: 1.5rem;
  background: rgba(28, 25, 23, 0.5019607843);
  border: 1px solid rgba(205, 164, 111, 0.2);
}

.menu-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  padding: 2rem;
  text-align: center;
  background: rgba(28, 25, 23, 0.5019607843);
  border: 1px solid rgba(205, 164, 111, 0.2);
}

.menu-card:hover {
  border-color: rgba(205, 164, 111, 0.5019607843);
  background: rgba(205, 164, 111, 0.1019607843);
}

.message-text {
  line-height: 2;
}

.pulse-pin {
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, to {
    opacity: 1;
    r: 8;
  }
  50% {
    opacity: 0.7;
    r: 10;
  }
}
.destination-pin {
  opacity: 0;
  animation: fadeInPin 0.5s ease-out forwards;
}

.destination-pin {
  animation-delay: 2s;
}

.destination-pin {
  animation-delay: 2.5s;
}

.destination-pin {
  animation-delay: 3s;
}

.destination-pin {
  animation-delay: 3.5s;
}

.destination-pin {
  animation-delay: 4s;
}

@keyframes fadeInPin {
  0% {
    opacity: 0;
    transform: scale(0);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
#journey-sticky-container {
  visibility: hidden;
}
#journey-sticky-container.--visible {
  visibility: visible;
}