.hpl-v4-wrapper {
  position: relative;
  width: 100%;
  height: 400px; /* IMPORTANT pour éviter 0px Elementor */
  overflow: hidden;
  background: radial-gradient(circle at center, #111 0%, #000 80%);
}

/* glow */
.hpl-v4-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(212,168,67,0.15), transparent 60%);
  filter: blur(30px);
  pointer-events: none;
}

/* layers */
.hpl-v4-layer {
  position: absolute;
  inset: 0;
}

/* particles */
.hpl-v4-particle {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(212, 168, 67, 0.9);
  box-shadow: 0 0 10px rgba(212,168,67,0.6);
  will-change: transform;
}

/* depth */
.back .hpl-v4-particle {
  opacity: 0.3;
  transform: scale(0.6);
}

.mid .hpl-v4-particle {
  opacity: 0.6;
  transform: scale(0.9);
}

.front .hpl-v4-particle {
  opacity: 1;
  transform: scale(1.2);
}

/* mobile */
@media (max-width: 768px) {
  .hpl-v4-wrapper {
    height: 300px;
  }

  .hpl-v4-particle {
    width: 3px;
    height: 3px;
  }
}