/* ============================================================
   PROCESS
   ============================================================ */
.process { padding:110px 0; background:var(--off-white); }

.proc-hd { text-align:center; margin-bottom:80px; }
.proc-h2 {
  font-family:var(--f-disp); font-size:clamp(38px,4vw,58px);
  font-weight:900; letter-spacing:-.025em; color:var(--text);
  margin-top:14px; margin-bottom:14px;
}
.proc-h2 em { font-style:italic; color:var(--gold); }
.proc-sub { font-size:14px; color:var(--muted); }

.proc-steps {
  display:grid; grid-template-columns:repeat(4,1fr);
  position:relative;
}
/* Connector line */
.proc-steps::before {
  content:''; position:absolute;
  top:30px; left:12.5%; right:12.5%; height:1px;
  background:linear-gradient(to right, transparent, var(--border), transparent);
}

.proc-step { padding:0 20px; text-align:center; }
.step-num {
  width:60px; height:60px; border-radius:50%;
  border:1px solid var(--border); background:var(--warm-white);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 22px;
  font-family:var(--f-disp); font-size:18px; font-weight:700;
  color:var(--gold); position:relative;
  transition:background .28s, border-color .28s, color .28s;
}
.proc-step:hover .step-num {
  background:var(--gold); border-color:var(--gold); color:#fff;
}
.step-title {
  font-family:var(--f-disp); font-size:17px; font-weight:700;
  color:var(--text); margin-bottom:10px;
}
.step-desc { font-size:13px; line-height:1.65; color:var(--muted); }
