.application-page{background:#fafbf7;min-height:100vh}
.application-page [hidden]{display:none!important}
.application-page .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.apply-nav{max-width:1280px;margin:0 auto;padding:27px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.apply-nav>a:last-child{font-size:13px;font-weight:500}
.apply-nav>a:last-child span{margin-left:10px}
.application-shell{max-width:1280px;padding:20px 48px 70px;margin:0 auto;display:grid;grid-template-columns:380px minmax(0,1fr);gap:56px;align-items:start}
.application-aside{padding:14px 0;position:sticky;top:25px}
.apply-back{font-size:12px;color:var(--muted);display:inline-block;margin-bottom:42px}
.apply-kicker{font-size:12px;font-weight:600;color:#59673e;margin-bottom:14px}
.application-aside h1{font-size:43px;line-height:1.2;letter-spacing:-.035em;font-weight:600;color:var(--olive);text-wrap:balance}
.application-aside h1 em{font-weight:400}
.apply-intro{font-size:14px;line-height:1.85;color:var(--muted);max-width:33ch;margin-top:22px}
.apply-steps{list-style:none;display:grid;gap:25px;margin:39px 0 40px}
.apply-steps li{display:flex;align-items:center;gap:15px;color:#666d5b;font-size:13px;font-weight:500}
.apply-steps li>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #cfd4c5;border-radius:50%;font-size:12px;flex:none}
.apply-steps small{display:block;font-size:11px;font-weight:400;color:#68725a;margin-top:3px}
.apply-steps li[aria-current]{color:var(--olive)}
.apply-steps li[aria-current]>span{background:var(--olive);color:#fff;border-color:var(--olive);box-shadow:0 0 0 5px #e9eddc}
.apply-steps li.complete>span{background:#e9eddc;border-color:#e9eddc;color:var(--olive)}
.apply-person{display:flex;gap:12px;align-items:center;padding-top:23px;border-top:1px solid #dde2d4;max-width:315px}
.apply-person img{width:46px;height:46px;object-fit:cover;object-position:center 15%;border-radius:50%;background:#e8eddf}
.apply-person strong{font-size:12px;font-weight:600;display:block}.apply-person span{font-size:10px;color:var(--muted)}
.apply-help{font-size:11px;color:var(--muted);margin-top:21px}.apply-help a{text-decoration:underline;text-underline-offset:3px}
.application-panel{background:#fff;border:1px solid #e1e5d9;border-radius:20px;padding:34px 38px 26px;box-shadow:0 16px 55px -38px #39472033;min-width:0}
.apply-progress{display:flex;justify-content:space-between;gap:15px;padding-bottom:24px;margin-bottom:27px;border-bottom:1px solid #e9ece4;font-size:11px;color:var(--muted)}
.apply-progress span:first-child{font-weight:600;color:var(--olive);white-space:nowrap}.apply-progress span:last-child{text-align:right}
.apply-step h2,.application-success h2{font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.025em;color:var(--olive)}
.apply-step h2:focus,.application-success h2:focus{outline:none}
.apply-step h2{scroll-margin-top:24px}
.step-intro{font-size:13px;line-height:1.8;color:var(--muted);margin:12px 0 27px;max-width:52ch}
.program-options{border:0;display:grid;gap:11px}
.program-option{position:relative;display:flex;align-items:center;gap:12px;border:1px solid #dce1d3;border-radius:12px;padding:19px 17px;cursor:pointer;transition:border-color .18s,background .18s}
.program-option:hover{border-color:#8c986f}
.program-option:has(input:checked){background:#f1f4e9;border-color:#536732;box-shadow:inset 0 0 0 1px #536732}
.program-option input{accent-color:var(--olive);width:17px;height:17px;flex:none}
.program-option-copy{flex:1;min-width:0}.program-option-copy strong{display:block;font-size:13px;font-weight:600}.program-option-copy>span{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:5px}
.program-fee{font-size:11px;font-weight:600;white-space:nowrap;align-self:flex-start;margin-top:1px;color:var(--olive)}
.program-details{margin:25px 0 22px;font-size:12px;line-height:1.9;color:#59614d}
.program-details strong{font-weight:600;color:var(--olive)}.program-details p+p{margin-top:10px}.program-details details{margin-top:10px}.program-details summary{cursor:pointer;font-weight:500;color:var(--olive)}.program-details ul{padding-left:20px;margin-top:10px}
.apply-field{margin:23px 0}.apply-field label{display:block;font-size:12px;font-weight:500;margin-bottom:9px;color:#28351d}
.required{color:#864822;margin-left:3px}.optional{font-size:10px;color:#66705b;font-weight:400;margin-left:7px}
.apply-field input,.apply-field select,.apply-field textarea{display:block;width:100%;border:1px solid #cbd3bf;border-radius:9px;background:#fff;padding:13px 14px;font:400 14px/1.5 'Poppins',system-ui,sans-serif;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.apply-field input::placeholder,.apply-field textarea::placeholder{color:#69735e}.apply-field textarea{resize:vertical;min-height:128px}.apply-field select{padding-right:34px}
.apply-field input:focus,.apply-field select:focus,.apply-field textarea:focus{outline:2px solid #849662;outline-offset:2px;border-color:var(--olive)}
.apply-field [aria-invalid=true]{border-color:#a53829;background:#fffafa}.field-hint{font-size:11px;line-height:1.8;color:#647055;margin-top:8px}
.payment-note{margin-top:28px;padding:20px;background:#faf6ec;border:1px solid #e6ddc5;border-radius:12px;font-size:12px;line-height:1.85;color:#5e533c}.payment-note strong{color:#443d2c}.payment-note .payment-number{display:block;font-size:21px;font-weight:600;letter-spacing:.03em;margin:6px 0;color:var(--olive)}
.apply-actions{display:flex;justify-content:flex-end;gap:15px;align-items:center;margin-top:31px;padding-top:24px;border-top:1px solid #e9ece4}
.apply-actions .btn{font-size:12px;padding:16px 23px;min-height:47px}.apply-actions .btn span{margin-left:8px}.apply-prev{margin-right:auto;background:none;border:0;color:var(--olive);font:500 12px 'Poppins',sans-serif;cursor:pointer;padding:12px 5px}.apply-actions button:disabled{opacity:.6;cursor:wait}
.apply-footnote{text-align:center;font-size:10px;color:#647055;line-height:1.7;margin-top:20px}
.apply-error{background:#fff1ed;border:1px solid #e4b9af;border-radius:9px;padding:13px 15px;color:#8b2d20;font-size:12px;line-height:1.7;margin-top:22px}
.review-section{padding:19px 0;border-bottom:1px solid #e9ece4}.review-section:first-child{padding-top:0}.review-section h3{font-size:12px;font-weight:600;color:var(--olive);display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.review-section button{font:400 11px 'Poppins',sans-serif;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:var(--olive);cursor:pointer;padding:5px}
.review-row{display:grid;grid-template-columns:40% minmax(0,1fr);gap:16px;font-size:11px;margin:12px 0;line-height:1.75}.review-row dt{color:#646d59}.review-row dd{margin:0;color:#28351d;overflow-wrap:anywhere;white-space:pre-wrap}
.apply-consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:1.85;margin:26px 0 13px;color:#3b4630;cursor:pointer}.apply-consent input{width:18px;height:18px;flex:none;margin-top:3px;accent-color:var(--olive)}
.apply-footer{display:flex;justify-content:space-between;gap:18px;padding:25px 48px;border-top:1px solid #e0e5d6;max-width:1184px;margin:0 auto;color:#66705b;font-size:10px}
.application-success{padding:34px 0 24px}.success-mark{display:grid;place-items:center;background:#e9f0dd;border-radius:50%;width:65px;height:65px;font-size:28px;color:var(--olive);margin-bottom:30px}.application-success>p{font-size:13px;line-height:1.9;margin-top:21px;color:var(--muted)}.application-success .success-reference{background:#f2f5eb;border-radius:9px;padding:14px;font-weight:500;color:var(--olive);overflow-wrap:anywhere}.application-success .btn{font-size:12px;margin-top:25px}
.apply-notice{padding:20px;border:1px solid #e6ddc5;background:#faf6ec;border-radius:9px;margin-bottom:20px;font-size:13px}.apply-notice a{text-decoration:underline}
@media(max-width:1050px){.application-shell{grid-template-columns:290px minmax(0,1fr);gap:30px;padding:15px 30px 60px}.apply-nav{padding:25px 30px}.application-aside h1{font-size:35px}.application-panel{padding:29px 25px}.program-option{flex-wrap:wrap}.program-option-copy{flex-basis:calc(100% - 40px)}.program-fee{margin-left:29px}.apply-footer{padding:25px 30px}}
@media(max-width:760px){.application-shell{grid-template-columns:1fr;gap:25px;max-width:640px;padding:7px 20px 45px}.apply-nav{padding:20px;max-width:640px}.apply-nav>a:last-child{font-size:11px}.application-aside{position:static;padding:5px 0}.apply-back{margin-bottom:23px;font-size:11px}.application-aside h1{font-size:35px;max-width:420px}.application-aside h1 br{display:none}.apply-intro{font-size:12px;max-width:45ch;margin-top:13px}.apply-person,.apply-help{display:none}.apply-steps{display:flex;gap:0;margin:25px 0 0;justify-content:space-between}.apply-steps li{display:block;font-size:10px;flex:1}.apply-steps li>span{margin-bottom:9px;width:27px;height:27px;font-size:10px}.apply-steps small{display:none}.apply-steps li>div{max-width:75px;line-height:1.5}.apply-kicker{margin-bottom:10px}.application-panel{padding:25px 22px 22px;border-radius:16px}.apply-step h2{font-size:25px}.program-option{flex-wrap:nowrap;padding:16px 13px}.program-option-copy{flex-basis:auto}.program-fee{margin-left:0;font-size:10px}.apply-footer{padding:22px 20px;font-size:9px}.apply-footer span:last-child{max-width:145px;text-align:right}.review-row{grid-template-columns:1fr;gap:3px}.apply-progress{margin-bottom:23px;padding-bottom:20px}}
@media(max-width:400px){.program-option{flex-wrap:wrap}.program-option-copy{flex-basis:calc(100% - 40px)}.program-fee{margin-left:29px}.application-panel{padding:23px 17px}.application-aside h1{font-size:32px}.apply-progress{font-size:10px}.apply-nav .brand-name{font-size:16px}.apply-nav .brand-mark{width:35px;height:35px;font-size:15px}}
@media(prefers-reduced-motion:reduce){.application-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
