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

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

@keyframes shimmerGlow {
  0% {
    opacity: 0.45;
    filter: blur(0px);
  }
  50% {
    opacity: 1;
    filter: blur(2px);
  }
  100% {
    opacity: 0.45;
    filter: blur(0px);
  }
}

@keyframes pulseSoft {
  50% {
    transform: scale(1.04);
    opacity: 0.92;
  }
}

 
.hero-luxury-glow {
  position: absolute;
  inset: -12%;
  background:
    radial-gradient(circle at 68% 30%, rgba(212,175,55,0.16), transparent 22%),
    radial-gradient(circle at 30% 80%, rgba(212,175,55,0.10), transparent 23%),
    radial-gradient(circle at 70% 68%, rgba(255,255,255,0.08), transparent 20%);
  filter: blur(30px);
  transform: scale(1.03);
  opacity: 0.62;
  pointer-events: none;
  animation: luxuryGlowPulse 6s ease-in-out infinite;
}

@keyframes luxuryGlowPulse {
  50% {
    opacity: 0.84;
    transform: scale(1.08);
  }
}

 
.aura-bubbles {
  position: absolute;
  inset: -80px;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
  filter: blur(0.2px);
}

.aura-bubbles .bubble {
  position: absolute;
  left: var(--left, 50%);
  bottom: -75px;
  width: var(--size, 36px);
  height: var(--size, 36px);
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,0.95), rgba(212,175,55,0.12) 70%, transparent 100%);
  border: 1px solid rgba(212, 175, 55, 0.45);
  box-shadow: inset 0 0 16px rgba(255, 245, 222, 0.8), 0 0 18px rgba(212, 175, 55, 0.14), 0 0 34px rgba(212, 175, 55, 0.08);
  opacity: 0;
  animation: bubbleFloat var(--duration, 10s) linear infinite;
  animation-delay: var(--delay, 0s);
}

.aura-bubbles .bubble::after {
  content: '';
  position: absolute;
  width: 16%;
  height: 16%;
  left: 22%;
  top: 16%;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  filter: blur(1px);
}

@keyframes bubbleFloat {
  0% {
    transform: translate3d(0, 0, 0) scale(0.86);
    opacity: 0;
  }
  12% {
    opacity: 0.86;
  }
  50% {
    transform: translate3d(var(--drift, 30px), -45vh, 0) scale(1.06);
    opacity: 0.72;
  }
  100% {
    transform: translate3d(var(--drift, 30px), -100vh, 0) scale(1.12);
    opacity: 0;
  }
}
