/* Custom Animations and Blob Effects */

@keyframes drift-slow {
  0% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0, 0) scale(1); }
}

@keyframes drift-medium {
  0% { transform: translate(0, 0) scale(1); }
  33% { transform: translate(-30px, 40px) scale(1.05); }
  66% { transform: translate(20px, -30px) scale(0.95); }
  100% { transform: translate(0, 0) scale(1); }
}

.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  z-index: 0;
  opacity: 0.15;
}

.blob-crimson {
  background-color: #D62839; /* red */
  width: 300px;
  height: 300px;
  animation: drift-slow 15s infinite ease-in-out;
}

.blob-blue {
  background-color: #1CA7EC; /* blue */
  width: 400px;
  height: 400px;
  animation: drift-medium 18s infinite ease-in-out reverse;
}

.blob-navy {
  background-color: #242A54; /* navy-2 */
  width: 500px;
  height: 500px;
  animation: drift-slow 22s infinite ease-in-out;
}

/* Hover effects */
@keyframes kenburns {
  0% { transform: scale(1); }
  100% { transform: scale(1.12); }
}

.hover-lift {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px -5px rgba(27, 31, 59, 0.1), 0 8px 10px -6px rgba(27, 31, 59, 0.1);
}

.image-zoom-container {
  overflow: hidden;
}
.image-zoom-inner {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.image-zoom-container:hover .image-zoom-inner {
  transform: scale(1.04);
}

/* Hide scrollbar for clean carousels on mobile if not using Swiper */
.no-scrollbar::-webkit-scrollbar {
  display: none;
}
.no-scrollbar {
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */
}

/* Antigravity Animations */
@keyframes blob {
  0% { transform: translate(0px, 0px) scale(1); }
  33% { transform: translate(30px, -50px) scale(1.1); }
  66% { transform: translate(-20px, 20px) scale(0.9); }
  100% { transform: translate(0px, 0px) scale(1); }
}
.animate-blob {
  animation: blob 7s infinite;
}
.animation-delay-2000 {
  animation-delay: 2s;
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}
.animate-float {
  animation: float 4s ease-in-out infinite;
}
