/* Four-step application, following the owner's reference. */
.admissions-page { background:var(--navy-900); }
.admissions-page .wa-float { display:none; }
.ha-application { padding:22px 24px 34px; scroll-margin-top:104px; }
.ha-form-card { max-width:860px; margin:0 auto; padding:28px 36px 24px; border:1px solid #e1e5ec; border-radius:10px; background:#fff; box-shadow:0 12px 40px #031a3926; }
.ha-form-card h1 { font-size:clamp(30px,3vw,39px); letter-spacing:-.045em; line-height:1.2; }
.ha-form-card h1::before { content:""; display:block; width:48px; height:6px; border-radius:6px; background:var(--brand-orange); margin-bottom:13px; }
.ha-form-card h1 span { color:var(--brand-orange); }
.ha-form-lede { color:var(--navy-900); font-size:18px; margin-top:8px; line-height:1.5; }
.ha-form-intro { margin:3px 0 22px; font-size:14px; color:var(--text-muted); line-height:1.6; }
.ha-step { min-width:0; margin:0; padding:0 0 16px; border:0; }
.ha-step + .ha-step { border-top:1px solid #e5e9ef; padding-top:16px; }
.ha-step legend { float:left; display:flex; width:100%; gap:12px; align-items:center; padding:0; margin-bottom:12px; color:var(--navy-900); font-size:15px; font-weight:700; line-height:1.4; }
.ha-step legend + * { clear:both; }
.ha-step-number { display:grid; place-items:center; flex:0 0 29px; height:29px; border-radius:50%; background:var(--brand-cyan); color:var(--navy-950); font-size:16px; }
.ha-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px 22px; }
.ha-form-card .form-field { min-width:0; margin:0; }
.ha-form-card .form-label { color:var(--navy-900); font-size:12px; margin-bottom:5px; }
.ha-form-card .form-label > span { color:#b43b00; }
.ha-form-card .form-input,.ha-form-card .form-select { width:100%; min-height:44px; font-size:14px; background:#fff; color:var(--navy-900); border:1px solid #cbd2dc; border-radius:6px; padding:10px 12px; }
.ha-form-card .form-select { padding-right:38px; }
.ha-form-card .form-input::placeholder { opacity:1; color:#657185; font-size:13px; }
.ha-form-card .form-input:focus,.ha-form-card .form-select:focus { outline:2px solid var(--navy-900); outline-offset:2px; box-shadow:none; }
.ha-form-card textarea { resize:vertical; min-height:90px; line-height:1.6; display:block; }
.ha-course-link { display:inline-block; margin:9px 0 14px; font-size:11px; font-weight:600; color:var(--navy-900); text-decoration:underline; text-underline-offset:3px; }
.ha-branch-field { margin-top:12px !important; }
.ha-branch-field[hidden] { display:none; }
.ha-question { margin:0 0 16px; font-size:12px; color:var(--navy-900); }
.ha-question summary { cursor:pointer; width:fit-content; padding:4px 0; }
.ha-question summary span { color:var(--text-muted); }
.ha-question .form-field { margin-top:12px; }
.ha-submit { width:100%; cursor:pointer; font-family:var(--font-body); border-radius:6px !important; min-height:50px; font-size:16px; gap:12px; }
.ha-submit[disabled] { opacity:.65; cursor:wait; }
.ha-form-note { margin-top:12px; color:var(--text-muted); font-size:11px; line-height:1.7; }
.ha-contact { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 20px; margin-top:23px; color:#e0e6ef; font-size:12px; line-height:1.6; text-align:center; }
.ha-contact a { color:#fff; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
 .ha-application { padding:14px 16px 28px; scroll-margin-top:90px; }
 .ha-form-card { padding:24px 20px 21px; }
 .ha-form-lede { font-size:15px; }
 .ha-form-intro { font-size:12px; margin-bottom:22px; }
 .ha-fields { grid-template-columns:1fr; gap:13px; }
 .ha-step legend { font-size:13px; gap:10px; }
 .ha-form-card .form-input,.ha-form-card .form-select { font-size:16px; min-height:46px; }
 .ha-contact span { width:100%; }
}
@media(max-width:360px) { .ha-application { padding-inline:12px; } .ha-form-card { padding-inline:16px; } .ha-step legend { font-size:12px; } }
