:root{--navy:#122c55;--navy-2:#1c3d70;--gold:#d6a514;--gold-pale:#fff7d8;--ink:#18202c;--muted:#697386;--line:#dfe4ea;--paper:#fff;--bg:#f5f6f3;--danger:#a22c2c;--radius:12px;--shadow:0 20px 55px rgba(18,44,85,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}button,input,select,textarea{font:inherit}button,a{transition:.2s ease}.site-header{height:82px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e8e9e5}.brand{display:flex;gap:12px;align-items:center;color:var(--navy);text-decoration:none}.brand img{width:48px;height:50px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.15}.brand strong{font-family:"Libre Baskerville",serif;font-size:17px}.brand small{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#667085}.help-link{color:var(--navy);font-weight:700;text-underline-offset:5px}.hero{min-height:385px;background:linear-gradient(112deg,#10294f 0%,#1d416f 65%,#17345d 100%);color:#fff;padding:66px max(calc((100vw - 1180px)/2),5vw);display:flex;justify-content:space-between;align-items:center;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:460px;height:460px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:5%;top:-190px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}.hero-copy{position:relative;z-index:1;max-width:700px}.eyebrow{display:block;color:#efc84c;font-size:12px;letter-spacing:.18em;font-weight:700;margin-bottom:18px}.hero h1{font:700 clamp(38px,5vw,64px)/1.05 "Libre Baskerville",serif;margin:0 0 20px}.hero h1 em{font-style:normal;color:#f0c743}.hero p{max-width:630px;font-size:17px;line-height:1.7;color:#d7deea}.hero-facts{display:flex;gap:26px;margin-top:30px;color:#eef1f6;font-size:14px}.hero-facts i{font-style:normal;color:#10294f;background:#efc84c;width:19px;height:19px;border-radius:50%;display:inline-grid;place-items:center;margin-right:7px;font-size:11px;font-weight:900}.year-mark{z-index:1;text-align:center;border:1px solid rgba(239,200,76,.55);padding:26px 30px;min-width:180px}.year-mark span,.year-mark small{display:block;letter-spacing:.25em;color:#e6c248;font-size:10px}.year-mark strong{font:700 52px/1.15 "Libre Baskerville",serif}.application-shell{max-width:1180px;margin:-32px auto 80px;background:white;border-radius:16px;box-shadow:var(--shadow);min-height:720px;position:relative;z-index:2;display:grid;grid-template-columns:300px 1fr;overflow:hidden}.progress-panel{background:#fafaf8;border-right:1px solid #e8e9e5;padding:42px 30px}.step-kicker{font-size:10px;font-weight:700;letter-spacing:.14em;color:#9a7b1e;margin:0 0 25px}.progress-panel ol{margin:0;padding:0;list-style:none}.progress-panel li{display:flex;gap:14px;position:relative;padding:0 0 30px;color:#8a919c}.progress-panel li:not(:last-child):after{content:"";position:absolute;left:15px;top:34px;width:1px;height:24px;background:#d7dbe0}.progress-panel li>span{flex:0 0 31px;height:31px;border:1px solid #cfd4da;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#fff}.progress-panel li div{display:flex;flex-direction:column;gap:3px}.progress-panel li strong{font-size:14px}.progress-panel li small{font-size:11px}.progress-panel li.active,.progress-panel li.complete{color:var(--navy)}.progress-panel li.active>span{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 0 0 5px #f8edc8}.progress-panel li.complete>span{background:var(--navy);border-color:var(--navy);color:#fff}.save-note{display:flex;gap:10px;background:#f0f3f6;border-radius:9px;padding:13px;margin-top:20px;color:#626d7a}.save-note span{color:#315d8d}.save-note p{font-size:10px;line-height:1.6;margin:0}.save-note strong{color:#3b4755}.form-panel{padding:46px 54px 30px;min-width:0}.mobile-progress{display:none}.form-step{display:none}.form-step.active{display:block;animation:fade .3s ease}@keyframes fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.section-heading{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid #e5e8ec;padding-bottom:25px;margin-bottom:30px}.section-heading>span{font:700 16px "Libre Baskerville",serif;background:var(--gold-pale);color:#a97e05;padding:11px;border-radius:50%}.section-heading h2{font:700 27px "Libre Baskerville",serif;color:var(--navy);margin:0 0 8px}.section-heading p{margin:0;color:var(--muted);font-size:14px}.fields{display:grid;gap:20px 24px;margin-bottom:24px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.span-two{grid-column:span 2}.field{display:flex;flex-direction:column;gap:8px}.field label,fieldset legend{font-size:12px;font-weight:700;color:#394556;margin-bottom:4px}.field label b,legend b,.declaration b,#requiredNote b{color:var(--gold);font-size:15px}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd2da;border-radius:7px;background:#fff;padding:12px 13px;color:var(--ink);outline:none;min-height:45px}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#355d8c;box-shadow:0 0 0 3px rgba(53,93,140,.11)}.field input.invalid,.field select.invalid{border-color:var(--danger);box-shadow:0 0 0 3px rgba(162,44,44,.08)}.field input::placeholder,.field textarea::placeholder{color:#a0a7b1}.field .error{font-size:11px;color:var(--danger)}fieldset{border:0;margin:0 0 28px;padding:0;min-width:0}.choice-grid{display:grid;gap:12px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-card{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid #d7dce2;border-radius:8px;padding:14px;cursor:pointer;min-height:70px}.choice-card:has(input:checked){border-color:#c99b13;background:#fffaf0;box-shadow:inset 0 0 0 1px #c99b13}.choice-card input{accent-color:var(--gold);margin-top:3px}.choice-card span{display:flex;flex-direction:column}.choice-card b{font-size:13px;color:var(--navy)}.choice-card small{color:#818996;font-size:10px;margin-top:4px}.choice-grid.compact .choice-card{min-height:52px;align-items:center}.photo-row{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:28px;margin:0 0 25px}.photo-upload{display:flex;gap:13px;align-items:center;cursor:pointer}.photo-upload>span{width:62px;height:62px;border:1px dashed #a9b1bc;border-radius:9px;display:grid;place-items:center;color:#8a96a4;font-size:23px;background:#f8f9fa;background-position:center;background-size:cover}.photo-upload>div{display:flex;flex-direction:column}.photo-upload strong{font-size:13px;color:var(--navy)}.photo-upload small{font-size:10px;color:#828b97;margin-top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.radio-line{min-height:44px;display:flex;align-items:center;gap:20px;border-bottom:1px solid #e1e4e8}.radio-line label{font-size:13px;white-space:nowrap}.radio-line input,.copy-check input,.declaration input{accent-color:var(--navy)}.school-banner{background:linear-gradient(110deg,var(--navy),#204579);color:#fff;border-radius:9px;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.school-banner span{font-size:13px;color:#d6dfea}.school-banner strong{font:700 27px "Libre Baskerville",serif;color:#f0c743}.form-step h3{font:700 17px "Libre Baskerville",serif;color:var(--navy);margin:30px 0 20px}.form-step h3 small{font:500 10px "DM Sans",sans-serif;color:#8b929c;background:#eef0f2;padding:4px 7px;border-radius:9px;margin-left:6px}.subsection{border-top:1px solid #e5e8ec;margin-top:32px}.helper{font-size:12px;line-height:1.6;color:var(--muted);margin:-12px 0 14px}.copy-check{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:18px}.children-head{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.children-head h4{margin:0;color:#4b5664}.text-button{background:transparent;border:0;color:#8b6a05;font-size:12px;font-weight:700;cursor:pointer}.child-row{display:grid;grid-template-columns:1fr 190px 32px;gap:10px;align-items:end;margin-top:12px}.remove-child{height:42px;border:0;background:#f6eded;color:#a22c2c;border-radius:6px;cursor:pointer}.review-card{border:1px solid #dfe4e9;border-radius:10px;overflow:hidden;margin-bottom:24px}.review-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:15px 18px;border-bottom:1px solid #edf0f2}.review-row:last-child{border:0}.review-item small{display:block;color:#8a929d;font-size:10px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.review-item strong{font-size:13px;color:#293646}.commitment{display:flex;align-items:center;justify-content:center;gap:48px;padding:24px;background:var(--gold-pale);border:1px solid #f1dfa1;border-radius:10px;margin-bottom:28px}.commitment div{display:flex;flex-direction:column;text-align:center}.commitment span{font-size:9px;letter-spacing:.12em;color:#8d6c10}.commitment strong{font:700 23px "Libre Baskerville",serif;color:var(--navy);margin:5px 0}.commitment strong small{font:500 11px "DM Sans",sans-serif}.commitment div>small{font-size:10px;color:#7a725d}.commitment i{height:54px;width:1px;background:#e2cd85}.declaration{background:#f3f5f7;padding:20px 22px;border-radius:9px;margin:28px 0 24px}.declaration h3{margin:0 0 10px}.declaration p{font-size:11px;line-height:1.7;color:#626c78}.declaration label{display:flex;gap:10px;font-size:12px;line-height:1.5;font-weight:600;color:#344253}.declaration input{margin-top:3px}.signature{max-width:440px}.signature input{font-family:"Libre Baskerville",serif;font-style:italic}.form-actions{border-top:1px solid #e5e8ec;margin-top:40px;padding-top:25px;display:flex;align-items:center;justify-content:space-between}.button{border:0;border-radius:7px;padding:13px 20px;font-weight:700;font-size:13px;cursor:pointer}.button.primary{background:var(--navy);color:#fff;box-shadow:0 5px 13px rgba(18,44,85,.16)}.button.primary:hover{background:#204474;transform:translateY(-1px)}.button.secondary{background:#fff;color:var(--navy);border:1px solid #cdd4dc}.button.secondary:hover{background:#f4f6f8}.button.submit{display:none}.form-actions #backBtn{visibility:hidden}.form-actions>span{font-size:10px;color:#8b929d}.success{max-width:760px;margin:70px auto;background:#fff;border-radius:16px;text-align:center;padding:70px 50px;box-shadow:var(--shadow)}.success-icon{width:64px;height:64px;display:grid;place-items:center;margin:0 auto 24px;border-radius:50%;background:var(--navy);color:#f1c747;font-size:28px}.success h2{font:700 34px "Libre Baskerville",serif;color:var(--navy);margin:0 0 15px}.success p{line-height:1.7;color:var(--muted);max-width:560px;margin:0 auto}.reference{background:var(--gold-pale);border:1px solid #f0dda0;border-radius:8px;padding:15px;margin:30px auto;max-width:300px}.reference small{display:block;font-size:9px;letter-spacing:.14em;color:#8d6e16;margin-bottom:6px}.reference strong{color:var(--navy);font-size:18px;letter-spacing:.05em}footer{min-height:150px;padding:35px max(5vw,24px);background:#0d2343;color:#fff;display:flex;align-items:center;gap:16px}footer img{width:44px}footer p{font-size:12px;line-height:1.7}footer p span{color:#9eabc0}footer a{margin-left:auto;color:#e6c34f;font-size:12px}.mobile-progress{font-size:11px;color:#667180}.mobile-progress div{height:4px;background:#e5e8eb;border-radius:3px;margin-top:9px}.mobile-progress i{display:block;height:100%;background:var(--gold);border-radius:3px;width:20%;transition:.3s}
@media(max-width:900px){.year-mark{display:none}.application-shell{margin:-24px 20px 60px;grid-template-columns:230px 1fr}.progress-panel{padding:35px 20px}.form-panel{padding:38px 30px}.hero{padding-left:7vw}.choice-grid.three{grid-template-columns:1fr}.photo-row{grid-template-columns:1fr}}
@media(max-width:680px){.site-header{height:70px}.brand img{width:40px}.brand strong{font-size:14px}.help-link{font-size:12px}.hero{min-height:360px;padding:50px 22px 70px}.hero h1{font-size:39px}.hero p{font-size:15px}.hero-facts{flex-direction:column;gap:11px}.application-shell{display:block;margin:-25px 12px 50px;border-radius:12px}.progress-panel{display:none}.form-panel{padding:26px 20px}.mobile-progress{display:block;margin-bottom:26px}.section-heading>span{display:none}.section-heading h2{font-size:23px}.fields.two{grid-template-columns:1fr}.span-two{grid-column:span 1}.photo-row{grid-template-columns:1fr}.child-row{grid-template-columns:1fr 1fr 32px}.commitment{gap:20px}.review-row{grid-template-columns:1fr}.form-actions{gap:9px;flex-wrap:wrap}.form-actions>span{display:none}.button{padding:12px 14px}.form-actions .primary{margin-left:auto}footer{flex-wrap:wrap}footer a{width:100%;margin:0}.success{margin:40px 12px;padding:50px 24px}.success h2{font-size:28px}}
footer .footer-note{margin-left:auto;color:#e6c34f;font-size:12px}
.payment-note{font-size:12px;margin:0 auto 20px!important}.success .button{margin:4px}
@media(max-width:680px){footer .footer-note{width:100%;margin:0}}
[hidden]{display:none!important}
.photo-upload.invalid>span{border-color:var(--danger)!important;box-shadow:0 0 0 3px rgba(162,44,44,.12)!important}
fieldset .error{font-size:11px;color:var(--danger);display:block;margin-top:4px}
