.recovery-loop-grid,
.recovery-receive-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.recovery-step-card {
  position: relative;
  padding-top: 44px;
}

.recovery-step-number {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  color: var(--ink-soft);
}

.recovery-step-card h3,
.recovery-receive-grid h3 {
  margin-bottom: 8px;
}

.recovery-step-card p,
.recovery-step-card li,
.recovery-receive-grid p,
.recovery-receive-grid li {
  font-size: 0.86rem;
}

.recovery-step-card ul,
.recovery-receive-grid ul {
  margin: 8px 0 0;
  padding-left: 1.05rem;
}

.recovery-metric-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}

.recovery-metric {
  text-align: center;
}

.metric-label {
  margin: 0;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-soft);
}

.metric-value {
  margin: 6px 0 0;
  font-size: 1.12rem;
  color: var(--ink);
}

.recovery-note {
  margin: 12px 0 0;
  font-size: 0.86rem;
  color: var(--ink-soft);
}

@media (max-width: 640px) {
  .recovery-step-card {
    padding-top: 40px;
  }

  .recovery-step-number {
    top: 10px;
    left: 10px;
  }
}
