html, body{ overflow-x: hidden; }

.ms-hero-bg{
  position: relative;
  overflow: visible !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Full-bleed background (Avada internal bg layers) */
.ms-hero-bg :is(.fusion-container-bg,.fusion-container-background,.fusion-background-image,.fusion-bg){
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  transform: translateX(-50%) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Ensure glow can bleed */
.ms-hero-bg :is(.fusion-row,.fusion-builder-row,.fusion-column-wrapper){
  overflow: visible !important;
}

/* Kicker */
.ms-hero-kicker :is(h1,h2,h3).fusion-title-heading{
  color: rgba(170,230,255,.9) !important;
  -webkit-text-fill-color: rgba(170,230,255,.9) !important;
  text-shadow: 0 0 14px rgba(62,140,203,.20) !important;
  letter-spacing: normal !important;
}

/* MAINSTAGE neon */
.ms-hero-mainstage :is(h1,h2,h3).fusion-title-heading{
  position: relative;
  display: inline-block !important;

  background-image: linear-gradient(
    90deg,
    #3e8ccb 0%,
    #8fd6ff 18%,
    #ffffff 34%,
    #e72f76 55%,
    #eb6021 78%,
    #3e8ccb 100%
  ) !important;
  background-size: 220% 100% !important;

  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;

  text-shadow:
    0 0 2px  rgba(255,255,255,.65),
    0 0 8px  rgba(255,255,255,.30),
    0 0 18px rgba(62,140,203,.70),
    0 0 34px rgba(99,77,155,.55),
    0 0 56px rgba(231,47,118,.45),
    0 0 86px rgba(235,96,33,.30) !important;

  -webkit-text-stroke: 1px rgba(255,255,255,.18);
  filter: saturate(1.25) contrast(1.15);

  animation: msNeonGradient 5.5s linear infinite, msNeonPulse 2.8s ease-in-out infinite, msNeonFlicker 9s infinite;
}

@keyframes msNeonGradient{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}

@keyframes msNeonPulse{
  0%,100%{ filter: saturate(1.25) contrast(1.15) brightness(1); }
  50%{ filter: saturate(1.35) contrast(1.20) brightness(1.18); }
}

@keyframes msNeonFlicker{
  0%,94%,100%{ opacity: 1; }
  95%{ opacity: .86; }
  96%{ opacity: 1; }
  97%{ opacity: .92; }
  98%{ opacity: 1; }
}

@media (prefers-reduced-motion: reduce){
  .ms-hero-mainstage :is(h1,h2,h3).fusion-title-heading{ animation: none !important; }
}

.ms-hero-bg::after{
  content:"";
  position:absolute;
  left: 0;
  right: 0;
  bottom: 0;

  height: 3px;
  border-radius: 999px;

  background: linear-gradient(
    to bottom,
    rgba(255,255,255,.95) 0%,
    rgba(255,255,255,.35) 35%,
    rgba(62,140,203,1) 70%,
    rgba(62,140,203,1) 100%
  );

  pointer-events: none;
  z-index: 50;

  filter:
    drop-shadow(0 0 2px rgba(255,255,255,.55))
    drop-shadow(0 0 8px rgba(62,140,203,.95))
    drop-shadow(0 0 18px rgba(62,140,203,.65))
    drop-shadow(0 0 42px rgba(62,140,203,.35))
    drop-shadow(0 0 70px rgba(62,140,203,.20));
}