/* Website Features — thin layer, uses global tokens */

.wf-hero{ padding: calc(6rem + var(--navH)) 0 2rem; }
.wf-hero__grid{
  display:grid; gap:2rem; align-items:center;
  grid-template-columns: 1.2fr .8fr;
  max-width:1200px; margin:0 auto; padding:0 2rem;
}
.wf-cta{ display:flex; gap:.75rem; margin-top:1rem; flex-wrap:wrap; }
@media (max-width:980px){
  .wf-hero__grid{ grid-template-columns:1fr; text-align:center; }
  .wf-cta{ justify-content:center; }
}
.wf-hero__viz{ display:grid; place-items:center; }
.wf-hero-card{
  background: var(--panel);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px; padding:1rem 1.25rem;
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  display:grid; grid-template-columns:1fr 1fr; gap:.75rem; min-width:280px;
}
.wf-hero-kpi{ grid-column:1/-1; display:flex; gap:.5rem; align-items:baseline; }
.wf-hero-kpi strong{ font-size:1.6rem; color:#fff; }
.wf-hero-kpi span{ color:var(--text-gray); }

.wf-hero-spark{
  height:80px; border-radius:12px;
  background: radial-gradient(closest-side, rgba(var(--primary-rgb),.14), transparent 70%);
}

.wf-hero-stat{ background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:.6rem .8rem; display:flex; align-items:center; justify-content:space-between; }
.wf-hero-stat span{ color:var(--text-gray); }
.wf-hero-stat strong{ color:#fff; }

.wf-grid{
  display:grid; gap:1rem;
  grid-template-columns: repeat(4, 1fr);
  margin-top:1rem;
}
@media (max-width:1100px){ .wf-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .wf-grid{ grid-template-columns:1fr; } }

.wf-card{
  background: var(--panel);
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px; padding:1.1rem;
  transition: transform .25s ease, box-shadow .25s ease;
}
.wf-card:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.18); }
.wf-card h3{ color:#fff; margin-bottom:.35rem; font-size:1.05rem; }
.wf-card p{ color:var(--text-gray); }
.wf-list{ list-style:none; display:grid; gap:.25rem; margin-top:.5rem; color:var(--text-light); }
.wf-list li::before{ content:"• "; color:var(--text-gray); }

.wf-note{
  margin-top:1rem; color:var(--text-gray);
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:.9rem 1rem;
}

.wf-cta-final{ text-align:center; }
