/* Modal wrapper */
.apply-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:1rem}
.apply-modal.open{display:flex}
.apply-modal__backdrop{position:absolute;inset:0;z-index:1;background:rgba(10,10,10,0.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.apply-modal__dialog{position:relative;z-index:2;display:flex;flex-direction:column;width:100%;max-width:720px;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);background:#fff;border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,0.35);animation:applyModalIn .22s ease-out;overflow:hidden}
.apply-modal__close{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,0.9);color:#111;font-size:26px;line-height:1;cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;font-family:'Nunito',sans-serif;transition:background .15s;box-shadow:0 1px 4px rgba(0,0,0,0.08)}
.apply-modal__close:hover{background:#fff}
.apply-modal__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:-1px}
body.apply-modal-open{overflow:hidden}
body.apply-modal-open .nav{display:none!important}
@keyframes applyModalIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Scoped styles for multi-step apply form (.apply-form) */
.apply-form, .apply-form *{box-sizing:border-box}
.apply-form{font-family:'Nunito',sans-serif;color:#111;background:#fff;width:100%;flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2rem 1.5rem 1.5rem;border-radius:16px;text-align:left}
@media(max-width:500px){.apply-form{padding:1.5rem 1rem 1rem}}

.apply-form .prog-bar{display:flex;align-items:center;gap:0;margin-bottom:1.75rem}
.apply-form .prog-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;position:relative}
.apply-form .prog-step:not(:last-child)::after{content:'';position:absolute;top:14px;left:calc(50% + 14px);right:calc(-50% + 14px);height:1px;background:#e0e0d8}
.apply-form .prog-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;transition:all .2s;border:1.5px solid #ccc;background:#fff;color:#555;position:relative;z-index:1}
.apply-form .prog-dot.done{background:#0F6E56;border-color:#0F6E56;color:#E1F5EE}
.apply-form .prog-dot.active{background:#fff;border-color:#0F6E56;color:#0F6E56}
.apply-form .prog-label{font-size:11px;color:#999;text-align:center;white-space:nowrap}
.apply-form .prog-label.active{color:#111;font-weight:500}

.apply-form .step-panel{display:none}
.apply-form .step-panel.visible{display:block}

.apply-form .step-header{margin-bottom:1.25rem}
.apply-form .step-header h2{font-size:20px;font-weight:500;color:#111;margin-bottom:6px}
.apply-form .step-header p{font-size:14px;color:#555;line-height:1.6}

.apply-form .field{margin-bottom:1rem}
.apply-form .field > label{display:block;font-size:13px;font-weight:500;color:#111;margin-bottom:6px}
.apply-form .field label .req{color:#D85A30}
.apply-form .field input:not([type=radio]):not([type=checkbox]),
.apply-form .field select,
.apply-form .field textarea{width:100%;padding:10px 12px;border:0.5px solid #ccc;border-radius:8px;font-size:14px;font-family:'Nunito',sans-serif;background:#fff;color:#111;outline:none;transition:border .15s}
.apply-form .field input:not([type=radio]):not([type=checkbox]):focus,
.apply-form .field select:focus,
.apply-form .field textarea:focus{border-color:#0F6E56;box-shadow:0 0 0 3px rgba(15,110,86,0.1)}
.apply-form .field textarea{resize:vertical;min-height:96px;line-height:1.6}
.apply-form .field .hint{font-size:12px;color:#999;margin-top:4px}
.apply-form .field .err{font-size:12px;color:#993C1D;margin-top:4px;display:none}
.apply-form .field.invalid .err{display:block}
.apply-form .field.invalid input:not([type=radio]):not([type=checkbox]),
.apply-form .field.invalid select,
.apply-form .field.invalid textarea{border-color:#D85A30}

.apply-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:500px){.apply-form .field-row{grid-template-columns:1fr}}

.apply-form .radio-group{display:flex;flex-direction:column;gap:6px}
.apply-form .radio-opt{display:flex;align-items:center;gap:10px;padding:8px 12px;border:0.5px solid #e0e0d8;border-radius:8px;cursor:pointer;transition:border .15s;margin:0}
.apply-form .radio-opt:hover{border-color:#ccc}
.apply-form .radio-opt input[type=radio]{margin:0;accent-color:#0F6E56;flex-shrink:0}
.apply-form .radio-opt > div{flex:1;min-width:0}
.apply-form .radio-opt.selected{border-color:#0F6E56;background:#E1F5EE}
.apply-form .radio-opt-label{font-size:13px;font-weight:500;color:#111;line-height:1.3}
.apply-form .radio-opt-desc{font-size:11.5px;color:#666;margin-top:1px;line-height:1.3}

.apply-form .tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.apply-form .tag{padding:6px 12px;border:0.5px solid #ccc;border-radius:20px;font-size:13px;cursor:pointer;color:#555;background:#fff;transition:all .15s;user-select:none}
.apply-form .tag:hover{border-color:#0F6E56;color:#0F6E56}
.apply-form .tag.sel{border-color:#0F6E56;background:#E1F5EE;color:#0F6E56;font-weight:500}

.apply-form .char-count{font-size:12px;color:#999;text-align:right;margin-top:4px}
.apply-form .char-warn{color:#BA7517}

.apply-form .form-nav{display:flex;align-items:center;justify-content:space-between;margin-top:1.5rem;padding-top:1rem;border-top:0.5px solid #e0e0d8}
.apply-form .btn-back{padding:9px 20px;border:0.5px solid #ccc;border-radius:8px;font-size:14px;background:transparent;color:#555;cursor:pointer;font-family:'Nunito',sans-serif}
.apply-form .btn-back:hover{background:#f7f7f5}
.apply-form .btn-next{position:relative;z-index:1;padding:9px 24px;border:none;border-radius:8px;font-size:14px;font-weight:500;background:#0F6E56;color:#E1F5EE;cursor:pointer;font-family:'Nunito',sans-serif;transition:background .15s}
.apply-form .btn-next:hover{background:#085041}
.apply-form .btn-next:disabled{opacity:.45;cursor:not-allowed}

.apply-form .section-sep{font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.06em;margin:1.5rem 0 1rem;padding-bottom:6px;border-bottom:0.5px solid #e0e0d8}
.apply-form .confirm-card{background:#f7f7f5;border:0.5px solid #e0e0d8;border-radius:12px;padding:1.25rem;margin-bottom:1rem}
.apply-form .confirm-row{display:flex;gap:12px;padding:6px 0;border-bottom:0.5px solid #e0e0d8;font-size:13px}
.apply-form .confirm-row:last-child{border-bottom:none}
.apply-form .confirm-key{color:#555;min-width:140px;flex-shrink:0}
.apply-form .confirm-val{color:#111;font-weight:500}

.apply-form .gdpr-notice{font-size:12px;color:#999;line-height:1.6;padding:1rem;background:#f7f7f5;border-radius:8px;margin-top:1.5rem}
.apply-form .turnstile-wrap{margin-top:1rem}
.apply-form .turnstile-wrap .turnstile-container{min-height:65px}
.apply-form .submit-error{margin-top:8px;font-size:12px;line-height:1.5;color:#993C1D}

.apply-form .success-box{text-align:center;padding:3rem 1rem}
.apply-form .success-icon{width:56px;height:56px;border-radius:50%;background:#E1F5EE;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:24px}
.apply-form .success-box h2{font-size:22px;font-weight:500;color:#111;margin-bottom:.75rem}
.apply-form .success-box p{font-size:15px;color:#555;line-height:1.7;max-width:440px;margin:0 auto}
.apply-form .success-box .next-steps{margin-top:2rem;text-align:left;background:#f7f7f5;border-radius:12px;padding:1.25rem}
.apply-form .step-item{display:flex;gap:12px;align-items:flex-start;padding:8px 0;border-bottom:0.5px solid #e0e0d8;font-size:13px}
.apply-form .step-item:last-child{border-bottom:none}
.apply-form .step-num{width:22px;height:22px;border-radius:50%;background:#e0e0d8;color:#555;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;flex-shrink:0;margin-top:1px}
.apply-form .step-txt{color:#555;line-height:1.6}
