/* Core Animations */

/* Background Oceanic Currents & Elements */
.ocean-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.light-ray {
  position: absolute;
  top: -10%;
  width: 150vw;
  height: 40vh;
  background: radial-gradient(ellipse at top, rgba(56, 189, 248, 0.08) 0%, transparent 60%);
  transform: rotate(-15deg);
  opacity: 0.6;
  animation: pulseRay 8s infinite alternate ease-in-out;
}

@keyframes pulseRay {
  0% { opacity: 0.4; transform: rotate(-15deg) translateY(0); }
  100% { opacity: 0.7; transform: rotate(-12deg) translateY(20px); }
}

.particle {
  position: absolute;
  background: rgba(34, 211, 238, 0.6);
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(34, 211, 238, 0.8);
  animation: floatParticle 15s infinite linear;
}

@keyframes floatParticle {
  0% { transform: translateY(100vh) translateX(0); opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { transform: translateY(-10vh) translateX(50px); opacity: 0; }
}

/* Scroll Reveals */
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

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

.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }

/* Subtle hovering image animation */
.float-img {
  animation: gentleFloat 6s ease-in-out infinite alternate;
}

@keyframes gentleFloat {
  0% { transform: translateY(0px); }
  100% { transform: translateY(-15px); }
}