.sparkle-cta-section {
  position: relative;
  background-color: #100f1c;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  overflow: hidden;
}
@supports (height: 100svh) {
  .sparkle-cta-section { min-height: 100svh; }
}
.sparkle-cta-section > .container {
  position: relative;
  z-index: 1;
}

#sparkle-container {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}

.grid-point {
  position: absolute;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.sparkle-dot {
  position: absolute;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 4px rgba(255, 255, 255, 0.5);
  animation: sparkle-blink ease-in-out forwards;
  pointer-events: none;
  will-change: transform, opacity;
}

@keyframes sparkle-blink {
  0%   { opacity: 0; transform: scale(0.5); }
  20%  { opacity: 1; transform: scale(1.15); }
  100% { opacity: 0; transform: scale(0.8); }
}