.site-header,
header,
#site-header {
  position: relative;
}

.ny-snow-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 9999;
}

/* базовая частица */
.ny-particle {
  position: absolute;
  top: -28px;
  left: 0;

  width: var(--w, 4px);
  height: var(--h, 4px);

  opacity: var(--alpha, 0.9);

  will-change: transform, opacity;
  transform: translateZ(0);
}

/* снег: точка */
.ny-particle--dot {
  border-radius: 999px;
  background: rgba(255, 255, 255, var(--alpha, 0.85));
  box-shadow:
    0 0 var(--glow, 4px) rgba(255, 255, 255, 0.70),
    0 0 calc(var(--glow, 4px) * 1.6) rgba(255, 255, 255, 0.22);
  filter: blur(var(--blur, 0px));
}

/* конфетти: прямоугольник */
.ny-particle--rect {
  border-radius: 2px;
  background: var(--color, #ffffff);
  box-shadow: 0 0 6px rgba(255,255,255,0.12);
}

/* svg-частица: сердечки/лепестки/искры */
.ny-particle--svg {
  background-image: var(--img);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  filter:
    drop-shadow(0 0 2px rgba(255,255,255,0.45))
    drop-shadow(0 0 8px rgba(255,255,255,0.18));
}

@media (prefers-reduced-motion: reduce) {
  .ny-snow-layer { display: none; }
}
