.reg-steps { display:flex; gap:0; margin-bottom:48px; }
    .reg-step {
      flex:1; text-align:center; position:relative;
      padding:0 16px;
    }
    .reg-step:not(:last-child)::after {
      content:''; position:absolute; top:20px; left:calc(50% + 20px);
      right:calc(-50% + 20px); height:2px;
      background:var(--border);
    }
    .reg-step.done::after { background:var(--gold); }
    .reg-step-num {
      width:40px; height:40px;
      border-radius:50%;
      background:var(--navy-card);
      border:2px solid var(--border);
      display:flex; align-items:center; justify-content:center;
      margin:0 auto 10px;
      font-family:var(--font-head);
      font-weight:700; font-size:0.9rem;
      color:var(--gray);
      position:relative; z-index:1;
    }
    .reg-step.active .reg-step-num {
      background:var(--gold); border-color:var(--gold); color:var(--navy);
    }
    .reg-step.done .reg-step-num {
      background:rgba(245,166,35,0.15); border-color:var(--gold); color:var(--gold);
    }
    .reg-step-label { font-size:0.75rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--gray); }
    .reg-step.active .reg-step-label { color:var(--white); }
    .info-box {
      background:rgba(245,166,35,0.07);
      border:1px solid rgba(245,166,35,0.25);
      border-radius:var(--radius);
      padding:20px 24px;
      margin-bottom:20px;
    }
    .info-box-title { font-family:var(--font-head); font-size:0.9rem; font-weight:600; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
    .info-box p { font-size:0.88rem; color:var(--gray-light); line-height:1.5; }
    .program-select-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
    .program-option {
      border:2px solid var(--border);
      border-radius:var(--radius);
      padding:16px;
      cursor:pointer;
      transition:all var(--transition);
    }
    .program-option:hover { border-color:var(--border-gold); }
    .program-option input[type="radio"] { display:none; }
    .program-option input[type="radio"]:checked + .program-option-content { color:var(--white); }
    .program-option:has(input:checked) { border-color:var(--gold); background:rgba(245,166,35,0.07); }
    .program-option-age { font-size:0.7rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
    .program-option-name { font-family:var(--font-head); font-size:0.95rem; font-weight:600; text-transform:uppercase; }
