/* Virtual SA Group — accessible form styling */
.form-page{padding:2.25rem 0 3rem;background:var(--navy)}
.form-shell{width:min(920px,calc(100vw - 80px));margin-inline:auto}
.form-intro{margin-bottom:1.5rem}
.form-intro .eyebrow{margin:0 0 .45rem;color:var(--gold-bright);font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.form-intro h1{margin:.15rem 0 .65rem;font-size:clamp(2rem,3vw,3rem);line-height:1.08}
.form-intro p{margin:.4rem 0;color:var(--muted)}
.form-notice{margin:1rem 0 1.5rem;padding:1rem 1.1rem;border-left:5px solid var(--gold-bright);background:#10283a}
.form-notice strong{color:#fff}
.application-form{border:1px solid var(--line);background:#081725;padding:1.5rem}
fieldset{margin:0 0 1.4rem;padding:1.2rem;border:1px solid #37516a;background:#0b2031}
legend{padding:0 .45rem;color:var(--gold-bright);font-size:1.08rem;font-weight:900}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.15rem}
.form-grid .full{grid-column:1/-1}
.field label,.field-label{display:block;margin-bottom:.35rem;color:#f4f6f7;font-weight:800}
.required::after{content:" *";color:var(--gold-bright)}
.field input,.field select,.field textarea{
  width:100%;min-height:44px;padding:.68rem .75rem;border:1px solid #71869a;border-radius:3px;
  background:#fff;color:#101820;font:inherit
}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:#111}
.help{display:block;margin-top:.3rem;color:#bfcbd4;font-size:.86rem}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem 1rem}
.choice{display:flex;gap:.55rem;align-items:flex-start}
.choice input{width:1.1rem;height:1.1rem;margin-top:.2rem;flex:0 0 auto}
.file-box{padding:1rem;border:1px dashed #7890a4;background:#071522}
.form-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.form-actions .button{cursor:pointer;font:inherit}
.privacy-note{color:var(--muted);font-size:.88rem}
.error-summary{margin:0 0 1.4rem;padding:1rem 1.1rem;border:2px solid #ffbf47;background:#251b06;color:#fff}
.error-summary h2{margin:0 0 .5rem;font-size:1.2rem;color:#fff}
.error-summary ul{margin:.4rem 0 0}
.success-box{padding:1.4rem;border:1px solid var(--gold);background:#0b2031}
.success-box h1{font-size:2rem;margin-bottom:.7rem}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
@media(max-width:720px){
  .form-shell{width:92vw}.application-form{padding:1rem}.form-grid,.choice-grid{grid-template-columns:1fr}
}
