/* ══ FEATURES SECTION (HOME) — 3-col layout ══ */
.features-layout{display:grid;grid-template-columns:1fr auto 1fr;gap:48px;align-items:center}
.features-col{display:flex;flex-direction:column;gap:32px}
.feat-box{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1.5px solid var(--border);border-radius:var(--radius);padding:24px 20px;transition:border-color .25s,box-shadow .25s,transform .25s}
.feat-box:hover{border-color:rgba(79,70,229,.3);box-shadow:0 8px 32px rgba(79,70,229,.1);transform:translateY(-3px)}
.feat-box-ico{width:48px;height:48px;border-radius:50%;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.feat-box h4{font-size:.95rem;font-weight:700;margin-bottom:6px;color:var(--text)}
.feat-box p{font-size:.85rem;color:var(--text3);line-height:1.6}
.features-center{display:flex;align-items:center;justify-content:center}
.features-vis{width:220px;height:220px;position:relative;display:flex;align-items:center;justify-content:center}
.fv-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(79,70,229,.2);animation:fv-spin 12s linear infinite}
.fv-ring-1{width:100%;height:100%;animation-duration:12s}
.fv-ring-2{width:74%;height:74%;border-color:rgba(79,70,229,.35);animation-duration:8s;animation-direction:reverse}
@keyframes fv-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.fv-icon-wrap{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));display:flex;align-items:center;justify-content:center;font-size:2.2rem;box-shadow:0 12px 40px rgba(79,70,229,.4);position:relative;z-index:1}
.fv-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--primary)}
.fv-d1{top:12%;left:50%;transform:translateX(-50%)}
.fv-d2{bottom:12%;left:50%;transform:translateX(-50%);background:var(--secondary)}
.fv-d3{left:12%;top:50%;transform:translateY(-50%);background:var(--accent)}
.fv-d4{right:12%;top:50%;transform:translateY(-50%);background:var(--green)}

/* ── Responsive ── */
@media(max-width:900px){
  .features-layout{grid-template-columns:1fr;gap:32px}
  .features-center{display:none}
}
