.application-intro { padding-block:2.5rem 2rem; }
.application-intro h1 { margin:.65rem 0 1rem; font-size:clamp(2.5rem,4.8vw,4rem); }
.application-intro > p { max-width:720px; color:var(--muted); font-size:1.125rem; }
.application-availability { margin-top:1.5rem; max-width:850px; padding:1.25rem 1.5rem; border-inline-start:3px solid var(--gold); background:var(--paper); font-size:1rem; color:var(--navy); }
.application-availability p { margin:0 0 1rem; }
.application-availability p:last-child { margin:1rem 0 0; font-size:.875rem; overflow-wrap:anywhere; }
.application-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr); gap:clamp(2rem,5vw,5rem); align-items:start; padding-bottom:5rem; }
.application-form { padding:clamp(1.5rem,3vw,2.75rem); border:1px solid var(--line); border-top:4px solid var(--gold); background:var(--white); }
.application-required { margin:0 0 1.5rem; font-size:.875rem; color:var(--muted); }
.application-field { display:grid; gap:.5rem; margin-bottom:1.5rem; min-width:0; }
.application-field label,.application-upload label { display:block; color:var(--navy); font-size:1rem; font-weight:600; }
.application-field input,.application-field select,.application-field textarea { box-sizing:border-box; width:100%; min-width:0; border:1px solid #9eacb3; border-radius:0; padding:.85rem 1rem; background:white; color:var(--navy); font:inherit; font-size:1rem; line-height:1.5; }
.application-field textarea { resize:vertical; }
.application-fields-pair { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.application-documents { margin:0 0 1.75rem; padding:0; border:0; min-width:0; }
.application-documents legend { color:var(--navy); font-size:1.125rem; font-weight:700; }
.application-documents > p { margin:.5rem 0 1rem; color:var(--muted); font-size:.875rem; }
.application-upload { border:1px solid var(--line); padding:1.25rem; background:var(--paper); margin-bottom:.8rem; }
.application-upload input { display:block; width:100%; margin-top:.75rem; font:inherit; font-size:.875rem; color:var(--muted); }
.application-upload input::file-selector-button { margin-inline-end:.75rem; border:1px solid #9eacb3; background:white; padding:.65rem .85rem; font:inherit; color:var(--navy); cursor:pointer; }
.application-consent { display:flex; align-items:flex-start; gap:.8rem; font-size:.9375rem; line-height:1.65; color:var(--muted); cursor:pointer; }
.application-consent input { flex-shrink:0; width:1.15rem; height:1.15rem; margin:.2rem 0 0; accent-color:var(--navy); }
.application-submit { margin-top:1.75rem; border:0; cursor:pointer; font:inherit; }
.application-submit:disabled { opacity:.65; cursor:wait; }
.application-delivery { margin:1.25rem 0 0; color:var(--muted); font-size:.875rem; line-height:1.6; }
.application-delivery a,.application-help > a,.application-thanks p a { text-decoration:underline; text-underline-offset:.2em; }
.application-role-summary { padding:1.75rem; background:var(--navy-deep); color:var(--white); border-top:4px solid var(--gold); }
.application-role-summary h2 { color:var(--white); font-size:2rem; margin:1rem 0; }
.application-role-summary .eyebrow { color:var(--gold-pale); }
.application-role-summary ul { list-style:none; margin:0 0 1.25rem; padding:0; }
.application-role-summary li { padding:.5rem 0; border-bottom:1px solid rgba(255,255,255,.2); }
.application-role-summary p { color:rgba(255,255,255,.8); }
.application-role-summary a { color:var(--gold-pale); font-size:.9375rem; }
.application-help { padding:1.75rem 0; }
.application-help h2 { font-size:1.75rem; }
.application-help p { color:var(--muted); }
.application-honeypot,.application-form [hidden],.application-aside [hidden] { display:none!important; }
.application-error { margin-top:1.25rem; padding:1rem; border-inline-start:3px solid #a82720; color:#812017; background:#fff3f0; font-size:1rem; }
.application-form :focus-visible { outline:3px solid var(--turquoise); outline-offset:3px; }
.application-form [aria-invalid="true"] { border-color:#a82720; }
.application-thanks { max-width:850px; padding-block:5rem 7rem; }
.application-thanks h1 { font-size:clamp(2.5rem,4.8vw,4rem); margin:1rem 0 1.5rem; }
.application-thanks p { font-size:1.125rem; color:var(--muted); }
.application-thanks .button { margin-top:1.5rem; }
@media(max-width:900px) { .application-layout { grid-template-columns:1fr; gap:2rem; } .application-aside { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; } .application-help { padding:0; } }
@media(max-width:600px) { .application-fields-pair,.application-aside { grid-template-columns:1fr; } .application-form { padding:1.25rem; } .application-intro { padding-top:1.5rem; } .application-submit { width:100%; } .application-upload { padding:1rem; } }
