.home-current main {
  position: relative;
  isolation: isolate;
}

.hero-ambient {
  position: absolute;
  z-index: -1;
  top: calc(-1 * var(--header-reserved));
  right: 0;
  left: 0;
  height: 1080px;
  overflow: hidden;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 37%, #fff 10%, rgba(248, 250, 252, 0.4) 54%, transparent 76%);
  -webkit-mask-image: linear-gradient(#000 70%, transparent);
  mask-image: linear-gradient(#000 70%, transparent);
}

.hero-ambient-halo {
  position: absolute;
  top: -24%;
  left: -12%;
  width: 124%;
  height: 108%;
  border-radius: 45% 55% 48% 52%;
  background: conic-gradient(
    from 215deg,
    transparent 0deg,
    rgba(22, 119, 243, 0.06) 28deg,
    rgba(22, 119, 243, 0.38) 72deg,
    rgba(114, 158, 255, 0.24) 122deg,
    rgba(5, 185, 203, 0.08) 170deg,
    rgba(5, 185, 203, 0.36) 224deg,
    rgba(81, 171, 249, 0.26) 280deg,
    transparent 336deg
  );
  -webkit-mask-image: radial-gradient(ellipse, transparent 32%, #000 48%, #000 54%, transparent 70%);
  mask-image: radial-gradient(ellipse, transparent 32%, #000 48%, #000 54%, transparent 70%);
  filter: blur(32px);
  transform: rotate(-12deg) scale(1.03);
  animation: hero-halo-drift 24s ease-in-out infinite alternate;
}

.hero-ambient-glow {
  position: absolute;
  inset: -8% -12% 8%;
  background:
    radial-gradient(ellipse at 23% 28%, rgba(22, 119, 243, 0.22), transparent 31%),
    radial-gradient(ellipse at 80% 58%, rgba(5, 185, 203, 0.2), transparent 29%),
    radial-gradient(ellipse at 48% 84%, rgba(99, 161, 255, 0.17), transparent 32%);
  filter: blur(36px);
  animation: hero-glow-drift 18s ease-in-out infinite alternate;
}

.hero-ambient::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 39%, rgba(255, 255, 255, 0.88) 0%, rgba(255, 255, 255, 0.5) 22%, transparent 49%);
  content: "";
}

.hero-ambient-halo,
.hero-ambient-glow {
  animation-play-state: paused;
}

.hero-ambient.is-animating > div {
  animation-play-state: running;
}

@keyframes hero-halo-drift {
  0% { transform: translate3d(-2%, -1%, 0) rotate(-12deg) scale(1.03); }
  50% { transform: translate3d(3%, 3%, 0) rotate(6deg) scale(0.94, 1.06); }
  100% { transform: translate3d(-1%, 5%, 0) rotate(22deg) scale(1.08, 0.96); }
}

@keyframes hero-glow-drift {
  from { transform: translate3d(-3%, 1%, 0) scale(1); opacity: 0.7; }
  to { transform: translate3d(4%, -3%, 0) scale(1.08, 0.94); opacity: 1; }
}

@media (max-width: 760px) {
  .hero-ambient { height: 900px; }
  .hero-ambient-halo { top: -12%; left: -45%; width: 190%; height: 88%; filter: blur(24px); }
  .hero-ambient-glow { inset: 0 -36% 14%; filter: blur(26px); }
}

@media (max-width: 520px) {
  .hero-ambient { height: 780px; }
  .hero-ambient::after { background: radial-gradient(ellipse at 50% 42%, rgba(255, 255, 255, 0.8), transparent 60%); }
}

@media (prefers-reduced-motion: reduce) {
  .hero-ambient-halo,
  .hero-ambient-glow { animation: none; }
}
