.elementor .onpoint-light-hero{/* Celebration OnPoint animated hero lighting */
.onpoint-light-hero {
position: relative;
isolation: isolate;
overflow: hidden;
min-height: 680px;

background:
  /* blue source glow */
  radial-gradient(
    ellipse 26% 8% at 5% 96%,
    rgba(42, 211, 255, 0.90) 0%,
    rgba(0, 113, 255, 0.42) 18%,
    rgba(0, 74, 220, 0.12) 48%,
    transparent 74%
  ),

  /* gold source glow */
  radial-gradient(
    ellipse 26% 8% at 95% 96%,
    rgba(255, 211, 79, 0.90) 0%,
    rgba(255, 157, 25, 0.38) 18%,
    rgba(154, 80, 12, 0.12) 48%,
    transparent 74%
  ),

  /* soft blue atmosphere */
  radial-gradient(
    ellipse 58% 115% at 0% 48%,
    rgba(0, 65, 180, 0.34) 0%,
    rgba(0, 30, 90, 0.16) 42%,
    transparent 68%
  ),

  /* soft amber atmosphere */
  radial-gradient(
    ellipse 52% 105% at 100% 52%,
    rgba(138, 73, 17, 0.18) 0%,
    rgba(67, 38, 15, 0.09) 44%,
    transparent 68%
  ),

  /* dark central environment */
  linear-gradient(
    110deg,
    #04132e 0%,
    #020817 35%,
    #02050e 66%,
    #120d09 100%
  );
}

/* Blue architectural uplight */
.onpoint-light-hero::before {
content: "";
position: absolute;
inset: -8% 0 0;
z-index: 0;
pointer-events: none;

background: linear-gradient(
  to top,
  rgba(0, 193, 255, 0.84) 0%,
  rgba(0, 105, 255, 0.34) 38%,
  rgba(0, 55, 170, 0.11) 78%,
  transparent 100%
);

clip-path: polygon(
  5% 96%,
  0% 0%,
  37% 0%
);

filter: blur(38px);
mix-blend-mode: screen;
transform-origin: 5% 96%;
animation: onpoint-blue-light 14s ease-in-out infinite;
}

/* Gold architectural uplight */
.onpoint-light-hero::after {
content: "";
position: absolute;
inset: -8% 0 0;
z-index: 0;
pointer-events: none;

background: linear-gradient(
  to top,
  rgba(255, 193, 51, 0.82) 0%,
  rgba(231, 132, 22, 0.30) 38%,
  rgba(119, 67, 16, 0.10) 78%,
  transparent 100%
);

clip-path: polygon(
  95% 96%,
  63% 0%,
  100% 0%
);

filter: blur(42px);
mix-blend-mode: screen;
transform-origin: 95% 96%;
animation: onpoint-gold-light 14s ease-in-out infinite;
}

/* Keep Elementor content above the lights */
.onpoint-light-hero > .e-con-inner,
.onpoint-light-hero > .elementor-container {
position: relative;
z-index: 2;
}

@keyframes onpoint-blue-light {
0%, 100% {
  opacity: 0.58;
  transform: scaleX(1);
}

50% {
  opacity: 0.66;
  transform: scaleX(1.035);
}
}

@keyframes onpoint-gold-light {
0%, 100% {
  opacity: 0.55;
  transform: scaleX(1);
}

50% {
  opacity: 0.63;
  transform: scaleX(1.035);
}
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
.onpoint-light-hero::before,
.onpoint-light-hero::after {
  animation: none;
}
}

/* Mobile tuning */
@media (max-width: 767px) {
.onpoint-light-hero {
  min-height: 620px;
}

.onpoint-light-hero::before,
.onpoint-light-hero::after {
  opacity: 0.72;
  filter: blur(30px);
}
}\n}