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

@keyframes scroll-text {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes float3d {
  0% {
    transform: translateY(0px) rotateX(0deg) rotateY(0deg);
  }
  25% {
    transform: translateY(-10px) rotateX(2deg) rotateY(2deg);
  }
  50% {
    transform: translateY(-15px) rotateX(-2deg) rotateY(-2deg);
  }
  75% {
    transform: translateY(-10px) rotateX(1deg) rotateY(1deg);
  }
  100% {
    transform: translateY(0px) rotateX(0deg) rotateY(0deg);
  }
}

@keyframes floatSimple {
  0% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0); }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glass-shine {
  0% { left: -100%; }
  100% { left: 100%; }
}

.ticker-wrap {
  width: 100%;
  overflow: hidden;
}

.ticker-content {
  display: inline-block;
  white-space: nowrap;
  animation: scroll-text 15s linear infinite;
}

.float-3d {
  animation: float3d 6s ease-in-out infinite;
  perspective: 1000px;
}

.float-simple {
  animation: floatSimple 4s ease-in-out infinite;
}

.fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
}
