/* ===== How It Works (how.css) ===== */
:root{
  --bg:#f6f8fc;
  --ink:#0f1a2a;
  --muted:#6b7a90;
  --border:#e6ebf3;
  --brand:#0f62fe;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
}

/* container is shared across the site */
.container{width:min(1100px,92vw);margin:0 auto}

/* Page wrapper (optional) */
.page-content{padding-bottom:56px}

/* Hero */
.hero{
  background:linear-gradient(180deg,#ffffff,#f3f7ff);
  border-bottom:1px solid var(--border);
  padding:48px 0 36px;
  text-align:center;
}
.hero h1{
  margin:0 0 8px;
  font-size:34px;
  letter-spacing:-.01em;
}
.hero p{
  margin:0;
  color:var(--muted);
  font-size:16px;
}

/* Steps */
.steps{
  width:min(1000px,92vw);
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.step{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  padding:18px;
  box-shadow:0 12px 34px rgba(10,35,80,.06);
  transition:transform .06s ease, box-shadow .2s ease;
  position:relative;
}
.step:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(10,35,80,.08);
}
.step h2{
  margin:0 0 8px;
  font-size:18px;
}
.step p{
  margin:0;
  color:var(--muted);
}

/* Optional numbered corner badge (auto 1–4) */
.steps{counter-reset: how;}
.step::after{
  counter-increment: how;
  content: counter(how);
  position:absolute;
  top:12px; right:12px;
  width:28px; height:28px; display:grid; place-items:center;
  border-radius:999px;
  background:#eef3ff; color:#1e3a8a; font-weight:700; font-size:14px;
}

/* Responsive */
@media (max-width: 980px){
  .steps{grid-template-columns:repeat(2,1fr)}
}
@media (max-width: 560px){
  .steps{grid-template-columns:1fr}
}
