.js-cardlink{
  position:relative;
  cursor:pointer;
  transition:transform .15s ease;
  outline:none;
}
.js-cardlink:hover{ transform:translateY(-2px); }

.js-cardlink::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:16px;
  pointer-events:none;
  opacity:0;
  transition:opacity .2s ease;
  background:
    radial-gradient(120px 60px at 20% 10%, rgba(70,140,255,.55), transparent 70%),
    radial-gradient(140px 70px at 80% 30%, rgba(0,220,255,.35), transparent 70%),
    radial-gradient(140px 90px at 50% 90%, rgba(120,80,255,.25), transparent 70%);
  filter:blur(6px);
}
.js-cardlink:hover::after{ opacity:1; }

.js-cardlink:focus-visible{
  box-shadow:0 0 0 3px rgba(70,140,255,.45);
  border-radius:16px;
}
