 .stepper-wrap { padding: 1.5rem 0; font-family: 'DM Mono', monospace; }
  .stepper { display: flex; align-items: flex-start; gap: 0; position: relative; margin-bottom: 2rem; }
  .step { flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; }
  .step-connector { position: absolute; top: 17px; left: 50%; right: -50%; height: 2px; z-index: 0; transition: background 0.4s ease; }
  .step:last-child .step-connector { display: none; }
  .step-connector.done { background: linear-gradient(90deg, #ff3cac, #7b2fff); }
  .step-connector.pending { background: #2a2a38; }
  .step-dot-wrap { position: relative; z-index: 1; margin-bottom: 10px; }
  .step-dot {
    width: 34px; height: 34px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-family: 'Syne', sans-serif; font-weight: 700; font-size: 0.82rem;
    border: 2px solid; transition: all 0.35s ease; cursor: pointer;
  }
  .step-dot.done {
    background: linear-gradient(135deg, #ff3cac, #7b2fff);
    border-color: transparent; color: #fff;
    box-shadow: 0 0 18px rgba(123,47,255,0.45);
  }
  .step-dot.active {
    background: #111118;
    border-color: #7b2fff;
    color: #7b2fff;
    box-shadow: 0 0 0 4px rgba(123,47,255,0.18);
    animation: activePulse 2s ease-in-out infinite;
  }
  .step-dot.pending {
    background: #111118; border-color: #2a2a38; color: #a6a6d3;
  }
  @keyframes activePulse {
    0%,100% { box-shadow: 0 0 0 4px rgba(123,47,255,0.18); }
    50%      { box-shadow: 0 0 0 7px rgba(123,47,255,0.08); }
  }
  .step-label {
    font-family: 'Syne', sans-serif; font-weight: 700; font-size: 0.7rem;
    text-align: center; line-height: 1.35; letter-spacing: 0.02em;
    max-width: 72px; transition: color 0.35s;
  }
  .step-label.done   { color: #a6a6d3; }
  .step-label.active { color: #f0eeff; }
  .step-label.pending{ color: #5a5a7a; }
  .step-sublabel {
    font-size: 0.58rem; text-align: center; margin-top: 3px; color: #5a5a7a;
    max-width: 72px; letter-spacing: 0.03em;
  }
  .step-sublabel.active { color: #7b2fff; }
  .step-sublabel.done  { color: #00f5d4; }
