/* ============================ PROCESS ============================ */

.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(1.1rem, 2.4vw, 1.75rem);
  counter-reset: step;
  padding: 0;
}

.process-step {
  position: relative;
  padding: 2.2rem 1.6rem 2rem;
  border-radius: var(--radius);
  background: linear-gradient(160deg, var(--glass-2), var(--glass));
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
  transition: transform var(--speed) var(--ease), border-color var(--speed) var(--ease),
              box-shadow var(--speed) var(--ease);
}
.process-step:hover {
  transform: translateY(-6px);
  border-color: var(--border-strong);
  box-shadow: 0 18px 50px rgba(0,0,0,0.4), 0 0 30px rgba(157, 78, 221, 0.18);
}

.step-num {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 3.6rem;
  line-height: 1;
  background: var(--silver-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  opacity: 0.55;
}

.process-step .icon-orb { width: 50px; height: 50px; }
.process-step .icon-orb svg { width: 22px; height: 22px; }
.process-step h3 { font-size: 1.22rem; }
.process-step p { font-size: 0.98rem; }

/* connecting arc between steps (desktop) */
.process-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 3.1rem; right: -0.95rem;
  width: 0.95rem; height: 1px;
  background: linear-gradient(90deg, var(--silver-3), transparent);
  opacity: 0.5;
}

@media (max-width: 980px) {
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .process-step:not(:last-child)::after { display: none; }
}
@media (max-width: 520px) {
  .process-steps { grid-template-columns: 1fr; }
}
