.feature-visual{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  border-radius:18px;
  overflow:hidden;
  margin-bottom:20px;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 0%,rgba(34,211,238,.18),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(139,92,246,.18),transparent 30%),
    linear-gradient(145deg,rgba(2,8,23,.98),rgba(8,25,45,.94));
  border:1px solid rgba(103,232,249,.45);
  box-shadow:
    0 0 34px rgba(34,211,238,.17),
    0 18px 42px rgba(0,0,0,.34),
    inset 0 0 26px rgba(34,211,238,.08);
}
.feature-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:
    linear-gradient(180deg,rgba(255,255,255,.06),transparent 18%,transparent 78%,rgba(34,211,238,.08)),
    linear-gradient(90deg,rgba(2,8,23,.2),transparent 14%,transparent 86%,rgba(2,8,23,.24));
  opacity:.72;
  pointer-events:none;
}
.feature-visual::after{
  content:"";
  position:absolute;
  z-index:3;
  inset:-32% -52%;
  background:linear-gradient(105deg,transparent 39%,rgba(103,232,249,.18) 48%,rgba(255,255,255,.16) 50%,rgba(103,232,249,.08) 53%,transparent 62%);
  transform:translateX(-28%) rotate(0.001deg);
  animation:scanline 7.5s ease-in-out infinite;
  pointer-events:none;
}
.feature-visual img{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.012);
  filter:saturate(1.08) contrast(1.04) brightness(1.03);
}
.feat-card:hover .feature-visual{
  border-color:rgba(103,232,249,.75);
  box-shadow:
    0 0 42px rgba(34,211,238,.28),
    0 20px 46px rgba(0,0,0,.38),
    inset 0 0 30px rgba(34,211,238,.14);
}
.feat-card:hover .feature-visual img{
  filter:saturate(1.16) contrast(1.08) brightness(1.08);
}
@keyframes scanline{
  0%,46%{transform:translateX(-42%)}
  82%,100%{transform:translateX(42%)}
}
@media (max-width:520px){
  .feature-visual{border-radius:15px;margin-bottom:16px}
  .feature-visual img{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .feature-visual::after{animation:none;opacity:.25}
}
