
:root{--eds-green:#102c25;--eds-green-light:#173b32;--eds-gold:#c5a04a;--eds-cream:#fafaf7}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
.application-page{height:100vh;height:100svh;min-height:0;overflow:hidden;background:var(--eds-cream);color:#20352b;display:flex;flex-direction:column}
.application-header{height:64px;flex:0 0 64px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5e9e2;background:#fff}
.application-header img{width:min(235px,52vw);max-height:48px;object-fit:contain}
.application-home{font-size:13px;color:var(--eds-green);font-weight:600}
.application-home span{color:var(--eds-gold);margin-left:6px}
.application-main{width:100%;max-width:1240px;flex:1;min-height:0;margin:0 auto;padding:8px 24px 8px;display:flex;flex-direction:column}
.application-intro{text-align:center;flex:0 0 auto;margin:0 0 8px}
.application-kicker{display:block;font-size:10px;letter-spacing:.2em;font-weight:700;color:#a98436;margin:0 0 5px}
.application-intro h1{display:none}
.application-intro p{font-size:14px;color:#64746a;margin:0}
.application-card{background:#fff;border:1px solid #e5e9e2;border-radius:4px;padding:18px 40px 16px;box-shadow:0 12px 34px rgba(16,44,37,.06);flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.progress-head{display:flex;justify-content:space-between;align-items:center;color:#66776c;font-size:12px;font-weight:600;margin-bottom:7px;flex:0 0 auto}
.progress-track{height:4px;flex:0 0 4px;background:#e9eee8;border-radius:4px;overflow:hidden;margin-bottom:14px}
.progress-fill{height:100%;width:25%;background:var(--eds-gold);transition:width .25s ease}
#application-form{display:flex;flex-direction:column;flex:1;min-height:0}
.form-step{display:none;flex:1;min-height:0}.form-step.active{display:flex;flex-direction:column}
.form-step h2,.success-state h2{font-family:Arial,Helvetica,sans-serif;font-size:clamp(22px,2.3vw,28px);font-weight:600;letter-spacing:-.025em;text-align:center;color:#20352b;margin:0 0 7px;flex:0 0 auto}
.step-hint{text-align:center;color:#78857c;font-size:13px;margin:0 0 16px;flex:0 0 auto}
.choice-list{display:grid;gap:9px;width:min(100%,650px);margin:0 auto;flex:1;align-content:center;min-height:0}
.choice{display:flex;align-items:center;min-height:48px;padding:9px 18px;border:1px solid #e0e5df;background:#f7f8f5;border-radius:5px;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s;font-size:15px;color:#263a30}
.choice:hover{border-color:#b99a55;background:#fbfaf6}
.choice:has(input:checked){border-color:var(--eds-green);background:#eef3ee;box-shadow:inset 0 0 0 1px var(--eds-green)}
.choice input{appearance:none;width:17px;height:17px;border:1px solid #9aa89d;border-radius:50%;margin:0 13px 0 0;flex:0 0 auto;position:relative}
.choice input:checked{border-color:var(--eds-green)}
.choice input:checked:after{content:"";position:absolute;inset:4px;background:var(--eds-green);border-radius:50%}
.contact-fields{display:grid;gap:9px;width:min(100%,650px);margin:0 auto;flex:0 0 auto}
.contact-fields>input,.phone-field{width:100%;height:48px;border:1px solid #e0e5df;border-radius:5px;background:#fff;font:inherit;font-size:15px;color:#20352b;padding:0 16px}
.contact-fields input::placeholder{color:#a3ada5}
.phone-field{display:flex;align-items:center;padding:0 16px;gap:13px}
.phone-prefix{white-space:nowrap;color:#53645a;border-right:1px solid #dce3dc;padding-right:13px}
.phone-field input{min-width:0;flex:1;border:0;outline:0;font:inherit;background:transparent;color:#20352b}
.privacy-consent{display:flex;gap:10px;align-items:flex-start;width:min(100%,650px);margin:10px auto 0;font-size:11px;line-height:1.4;color:#68766d;flex:0 0 auto}
.privacy-consent input{margin-top:2px;accent-color:var(--eds-green)}
.privacy-consent a,.privacy-note a{color:var(--eds-green);text-decoration:underline;text-decoration-color:var(--eds-gold);text-underline-offset:3px}
.privacy-note{width:min(100%,650px);margin:7px auto 0;text-align:center;font-size:11px;color:#78857c;flex:0 0 auto}
.form-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:auto;padding-top:12px;flex:0 0 auto}
.next-button,.back-button{min-height:48px;padding:0 25px;border:1px solid var(--eds-green);border-radius:3px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.next-button{background:var(--eds-green);color:#fff}
.next-button:hover{background:#1b493b}
.next-button span{color:#d9bd79;margin-left:12px}
.back-button{background:#fff;color:var(--eds-green)}
.back-button:hover{background:#f2f5f0}
.form-error{text-align:center;color:#a33b32;font-size:12px;min-height:16px;margin:5px 0 0;flex:0 0 auto}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.success-state{text-align:center;padding:12px 10px 4px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
.success-state[hidden]{display:none}
.success-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#edf3ed;color:var(--eds-green);font-size:24px;flex:0 0 auto}
.success-state p{color:#68766d;max-width:470px;margin:9px auto 18px;font-size:14px}
.success-home{display:inline-flex;align-items:center;text-decoration:none}
.application-footnote{text-align:center;font-size:10px;letter-spacing:.08em;color:#87958b;margin:6px 0 0;flex:0 0 auto}
@media(max-height:720px){.application-header{height:54px;flex-basis:54px}.application-main{padding-top:4px;padding-bottom:4px}.application-intro{margin-bottom:5px}.application-kicker{font-size:9px;margin-bottom:2px}.application-intro p{font-size:12px}.application-card{padding:12px 28px 10px}.progress-track{margin-bottom:9px}.form-step h2,.success-state h2{font-size:22px}.step-hint{margin-bottom:9px;font-size:12px}.choice{min-height:42px;padding:7px 14px;font-size:14px}.choice-list{gap:7px}.contact-fields>input,.phone-field{height:42px}.privacy-consent{margin-top:7px;font-size:10px}.privacy-note{margin-top:4px;font-size:10px}.form-actions{padding-top:7px}.next-button,.back-button{min-height:42px}.application-footnote{font-size:9px;margin-top:3px}}
@media(max-width:640px){
 .application-header{height:56px;flex-basis:56px;padding:0 5vw}.application-header img{width:170px;max-height:42px}.application-home{font-size:10px}
 .application-main{padding:5px 10px 5px}.application-intro{margin-bottom:6px}.application-kicker{font-size:9px}.application-intro p{font-size:11px}
 .application-card{padding:13px 12px 10px}.progress-head{font-size:11px}.progress-track{margin-bottom:10px}
 .form-step h2,.success-state h2{font-size:20px}.step-hint{font-size:12px;margin-bottom:10px}.choice-list{gap:7px}.choice{min-height:44px;padding:8px 11px;font-size:13px}.choice input{margin-right:10px}
 .contact-fields{gap:7px}.contact-fields>input,.phone-field{height:43px;font-size:14px;padding-left:12px;padding-right:12px}.phone-field{gap:9px}.phone-prefix{padding-right:9px}.privacy-consent{font-size:10px;line-height:1.3;margin-top:7px}.privacy-note{font-size:10px;margin-top:5px}.form-actions{gap:8px;padding-top:8px}.next-button,.back-button{min-height:42px;padding:0 14px;font-size:12px}.application-footnote{font-size:9px}
}


/* Ensure hidden form elements stay hidden despite flex display rules. */
#application-form[hidden],
.progress-head[hidden],
.progress-track[hidden] {
  display: none !important;
}
