.identity-step {
  background: linear-gradient(145deg, #fff 0%, #f3f8ff 100%);
}
.step-kicker {
  margin-bottom: 10px;
  color: #2865d9;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
}
.identity-step > h3 {
  margin-top: 26px;
  color: #334b6d;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.identity-step .type-options.student-only { grid-template-columns: 1fr; }
.identity-step .type-options.student-only label { max-width: 100%; }
.captcha-field{display:grid;gap:11px;margin-top:18px;padding:17px;border:1px solid #d4e2f3;border-radius:15px;background:#f8fbff}.captcha-field>div:first-child{display:grid;gap:3px}.captcha-field b{color:#263f63;font-size:14px}.captcha-field small{color:#6b819e;font-weight:600}.captcha-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.captcha-row img{width:210px;height:70px;border:1px solid #c9d9ed;border-radius:12px;background:#edf4ff}.captcha-row button{height:44px;padding:0 14px;border:1px solid #bfd3ee;border-radius:10px;background:#fff;color:#185ab5;font-weight:800;cursor:pointer}.captcha-field>input{max-width:330px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
.bot-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.gender-details-step .gender-field { margin: 4px 0 0; }
.gender-details-step .gender-field > b {
  display: block;
  margin-bottom: 11px;
  color: #334b6d;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.gender-details-step .gender-field > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.gender-details-step .gender-field label {
  position: relative;
  display: grid !important;
  grid-template-columns: auto 1fr;
  column-gap: 14px;
  align-items: center;
  min-height: 105px;
  margin: 0 !important;
  padding: 20px 22px;
  border: 2px solid #d9e4f3;
  border-radius: 16px;
  background: #fff;
  cursor: pointer;
}
.gender-details-step .gender-field input { position: absolute; opacity: 0; }
.gender-details-step .gender-field span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #eaf2ff;
  color: #1d61c9;
  font-weight: 900;
}
.gender-details-step .gender-field strong { align-self: end; color: #152a4a; font-size: 20px; }
.gender-details-step .gender-field small { align-self: start; color: #6a7f9e; font-size: 12px; }
.gender-details-step .gender-field label:has(input:checked) {
  border-color: #2664ee;
  background: linear-gradient(135deg, #edf4ff, #dceaff);
  box-shadow: 0 12px 24px rgba(39, 100, 238, .12);
}
.gender-details-step .gender-field label:has(input:checked) span { background: #2664ee; color: #fff; }
.step input.is-invalid,.step select.is-invalid {
  border-color: #dc3557 !important;
  box-shadow: 0 0 0 4px rgba(220, 53, 87, .1) !important;
}
@media (max-width: 700px) {
  .gender-details-step .gender-field > div { grid-template-columns: 1fr; }
  .gender-details-step .gender-field label { min-height: 88px; padding: 16px 18px; }
}
