.site-rain{
  position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0;
  grid-column:1/-1;grid-row:1;
}
.site-rain span{
  position:absolute;top:-120px;width:1.6px;border-radius:99px;
  background:linear-gradient(180deg,transparent 0%,rgba(232,121,249,.72) 38%,rgba(124,92,191,.18) 100%);
  animation:siteRain linear infinite;
  filter:drop-shadow(0 0 5px rgba(192,38,211,.4));
  will-change:transform;
}
.site-rain span.pink{
  background:linear-gradient(180deg,transparent 0%,rgba(192,38,211,.8) 42%,rgba(183,148,246,.12) 100%);
}
@keyframes siteRain{to{transform:translateY(118vh)}}
.fade-in{animation:fadeUp .55s cubic-bezier(.22,1,.36,1) both}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:none}
}
@media (prefers-reduced-motion: reduce){
  .site-rain{display:none}
  .fade-in,.card,.hero,.main{animation:none !important}
}
