.camp-registration-form { display: grid; gap: 22px; }
.camp-registration-form fieldset { margin: 0; padding: 22px; border: 1px solid #d8cfba; background: #fffdfa; display: grid; gap: 14px; }
.camp-registration-form legend { padding: 0 8px 0 0; color: #061a55; font: 700 17px 'DM Sans', sans-serif; }
.registration-steps { display: flex; align-items: center; gap: 9px; color: #8b7c61; font: 700 11px 'DM Mono', monospace; }
.registration-steps span { width: 24px; height: 24px; border: 1px solid #cfc3aa; display: grid; place-items: center; border-radius: 50%; }
.registration-steps .is-active { border-color: #0a3f67; background: #0a3f67; color: #fff; }
.registration-steps i { display: block; width: 36px; height: 1px; background: #d8cfba; }
.registration-reassurance { margin: -8px 0 0; padding: 13px 15px; border-left: 3px solid #c7a71a; background: #f7f2e6; color: #334448; font-size: 14px; line-height: 1.5; }
.field-help { margin: -5px 0 2px; color: #69777a; font-size: 13px; line-height: 1.45; }
.camp-registration-form .consent { margin-top: 2px; }
.camp-registration-form > .button { justify-self: start; min-width: 220px; }
@media (max-width: 560px) { .camp-registration-form fieldset { padding: 17px; } .registration-reassurance { font-size: 13px; } }
