.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.posting-quick-draft{flex:0 0 auto}
.alert-preferences{padding-top:clamp(2rem,5vw,4rem);padding-bottom:4rem}.alert-preferences>h1{margin:.35rem 0 .5rem}.alert-form{display:grid;gap:1rem;margin-top:1.75rem}.alert-section{padding:clamp(1.1rem,3vw,1.75rem);border:1px solid #d9e1ec;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgb(25 47 89/.06)}.alert-section h2{margin:0 0 .85rem;font-size:1.15rem}.alert-section h2 span{color:#667085;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.alert-section .radius-control label{color:var(--navy)}.alert-section .radius-control>div{color:var(--muted)}.alert-filter-group{margin:1.25rem 0;padding:0;border:0}.alert-filter-group legend{margin-bottom:.55rem;font-weight:700}.alert-privacy{margin-top:1rem;text-align:center}
.job-search-hero{background:linear-gradient(125deg,#14294f,#244f86);color:#fff}.job-search-hero .container{padding-block:44px}.job-eyebrow{display:block;margin-bottom:8px;color:#f4bb3f;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.job-search-hero h1{margin-bottom:7px;color:#fff;font-size:clamp(2rem,4vw,3.4rem)}.job-search-hero p{max-width:760px;color:#dce7f7;font-size:1.05rem}.location-search{margin-top:25px;padding:20px;display:grid;grid-template-columns:minmax(260px,1.3fr) minmax(220px,.7fr) auto;align-items:end;gap:18px;border:1px solid rgba(255,255,255,.2);border-radius:15px;background:rgba(255,255,255,.1);backdrop-filter:blur(8px)}.location-search label,.radius-control label{display:block;margin-bottom:6px;color:#fff;font-size:.78rem;font-weight:700}.location-combobox{display:flex}.location-combobox input{min-width:0;flex:1;padding:12px 14px;border:0;border-radius:8px 0 0 8px;font:inherit}.use-location{padding:0 13px;border:0;border-left:1px solid #ccd5e2;border-radius:0 8px 8px 0;background:#fff;color:#192f59;font-weight:700;cursor:pointer}.radius-control output{float:right;color:#f4bb3f}.radius-control input{width:100%;accent-color:#f4bb3f}.radius-control>div{display:flex;justify-content:space-between;color:#dce7f7;font-size:.68rem}.job-search-content{max-width:1400px}.job-filter-panel{margin-bottom:16px;padding:18px 20px;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.job-filter-primary{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr) auto;align-items:end;gap:18px}.job-filter-panel fieldset{min-width:0;margin:0;padding:0;border:0}.job-filter-panel legend,.job-filter-panel label>span,.more-filter-grid>div>label{display:block;margin-bottom:6px;color:var(--navy);font-size:.74rem;font-weight:700}.job-keyword input,.more-filter-grid select,.results-toolbar select{width:100%;min-height:43px;padding:9px 11px;border:1px solid #ccd1da;border-radius:7px;background:#fff;font:inherit}.filter-pills{display:flex;flex-wrap:wrap;gap:7px}.filter-pills label{margin:0}.filter-pills input{position:absolute;opacity:0;pointer-events:none}.filter-pills span{margin:0!important;padding:8px 11px;border:1px solid #ccd5e2;border-radius:99px;background:#fff;color:#34455f!important;font-size:.72rem!important;cursor:pointer}.filter-pills input:checked+span{border-color:#192f59;background:#192f59;color:#fff!important}.filter-pills input:focus-visible+span{outline:3px solid #0b61c9;outline-offset:2px}.more-filters{margin-top:15px;border-top:1px solid var(--border)}.more-filters summary{width:max-content;padding:13px 4px 0;color:var(--blue);font-weight:700;cursor:pointer}.more-filter-grid{padding-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.filter-checks{display:grid;gap:7px}.filter-checks label{display:flex;align-items:flex-start;gap:7px;font-size:.78rem}.more-filter-grid>div{display:grid;align-content:start;gap:13px}.active-filter-chips{margin:0 0 16px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.active-filter-chips>span{color:var(--muted);font-size:.72rem;font-weight:700}.active-filter-chips a{padding:6px 9px;border-radius:99px;background:#e6edf8;color:#19355f;font-size:.72rem;font-weight:600}.active-filter-chips .clear-filters{background:transparent;text-decoration:underline}.results-toolbar{margin-bottom:14px;display:flex;align-items:end;gap:18px}.results-toolbar>div:first-child{display:grid;margin-right:auto}.results-toolbar>div:first-child strong{color:var(--navy);font-size:1.1rem}.results-toolbar>div:first-child span{color:var(--muted);font-size:.74rem}.results-toolbar label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem;font-weight:700}.results-toolbar select{width:auto;min-height:38px}.view-switcher{display:flex;padding:3px;border-radius:8px;background:#e8edf4}.view-switcher button{padding:7px 10px;border:0;border-radius:6px;background:transparent;color:#43536b;font:600 .72rem Poppins,sans-serif;cursor:pointer}.view-switcher button[aria-pressed=true]{background:#fff;color:#192f59;box-shadow:0 1px 5px rgba(0,0,0,.12)}.job-results-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.8fr);gap:20px;align-items:start}.job-results-layout.view-list{grid-template-columns:1fr}.job-results-layout.view-list .job-map-panel{display:none}.job-results-layout.view-map{grid-template-columns:1fr}.job-results-layout.view-map .job-results-list{display:none}.job-result-cards{grid-template-columns:1fr}.job-result-cards .card{position:relative;padding:20px;border:1px solid var(--border);border-left:4px solid var(--navy);border-top:1px solid var(--border);border-radius:11px}.job-result-cards .card.map-selected{box-shadow:0 0 0 3px #f4bb3f}.job-card-location{margin-bottom:5px!important}.job-card-pay{margin:2px 0 7px;color:#1e6140;font-weight:700}.job-card-dates{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:.72rem}.subject-tag{background:#edf6f1;color:#235d41}.job-map-panel{position:sticky;top:20px;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:var(--shadow-lg)}.job-map{height:min(64vh,680px);min-height:480px}.map-help{margin:0;padding:12px 15px;color:var(--muted);font-size:.72rem}.map-job-popup{display:grid;gap:2px;min-width:190px}.map-job-popup a{color:#192f59;font-size:.9rem;font-weight:700}.map-job-popup strong{color:#31588f;font-size:.74rem}.map-job-popup span{color:#667085;font-size:.7rem}.search-center-pin span{width:26px;height:26px;display:block;border:4px solid #fff;border-radius:50% 50% 50% 0;background:#f4bb3f;box-shadow:0 2px 7px rgba(0,0,0,.35);transform:rotate(-45deg)}.job-alert-cta{text-align:center}.job-alert-cta a{font-weight:700}
.job-post-shell{max-width:1040px}.job-stepper{margin:20px 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);list-style:none;counter-reset:steps}.job-stepper li{position:relative;color:#748096;font-size:.68rem;font-weight:700;text-align:center}.job-stepper li::before{counter-increment:steps;content:counter(steps);width:30px;height:30px;margin:0 auto 5px;display:grid;place-items:center;border:2px solid #cad2df;border-radius:50%;background:#fff}.job-stepper li::after{position:absolute;z-index:-1;left:50%;right:-50%;top:14px;height:2px;background:#cad2df;content:''}.job-stepper li:last-child::after{display:none}.job-stepper li.is-active,.job-stepper li.is-complete{color:#192f59}.job-stepper li.is-active::before,.job-stepper li.is-complete::before{border-color:#192f59;background:#192f59;color:#fff}.job-step{padding:28px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.js .job-step{display:none}.js .job-step.is-active{display:block}.job-step>legend{padding:0 8px;color:#192f59;font-size:1.35rem;font-weight:700}.job-step-intro{color:var(--muted)}.job-step-actions{margin-top:22px;display:flex;justify-content:space-between;gap:12px}.posting-map{height:390px;margin-top:15px;border:1px solid var(--border);border-radius:10px}.location-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.location-type-grid label{margin:0}.location-type-grid input{position:absolute;opacity:0}.location-type-grid span{height:100%;padding:12px 8px;display:grid;place-items:center;border:1px solid #ccd5e2;border-radius:8px;text-align:center;cursor:pointer}.location-type-grid input:checked+span{border-color:#192f59;background:#e8eef8;color:#192f59;font-weight:700}.location-type-grid input:focus-visible+span{outline:3px solid #0b61c9}.posting-preview{padding:24px;border-left:5px solid #f4bb3f;border-radius:10px;background:#f6f8fb}.posting-preview h2{margin-bottom:5px}.posting-preview dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.posting-preview dl div{padding:10px;border-radius:7px;background:#fff}.posting-preview dt{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase}.posting-preview dd{margin:3px 0 0;color:#192f59;font-weight:600}
@media(max-width:1000px){.location-search{grid-template-columns:1fr 1fr}.location-search>.btn{grid-column:1/-1}.job-filter-primary{grid-template-columns:1fr}.more-filter-grid{grid-template-columns:repeat(2,1fr)}.job-results-layout{grid-template-columns:1fr}.job-map-panel{position:relative;top:auto}.job-map{height:500px}.location-type-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.job-search-hero .container{padding-block:30px}.location-search{grid-template-columns:1fr;padding:14px}.location-search>.btn{grid-column:auto}.location-combobox{display:grid}.location-combobox input,.use-location{min-height:44px;border-radius:7px}.use-location{margin-top:6px;border:0}.more-filter-grid{grid-template-columns:1fr}.results-toolbar{align-items:stretch;flex-wrap:wrap}.results-toolbar>div:first-child{width:100%}.results-toolbar label{flex:1}.results-toolbar select{width:100%}.job-map{height:390px;min-height:390px}.job-stepper{grid-template-columns:repeat(5,1fr)}.job-stepper li{font-size:0}.job-step{padding:20px 15px}.location-type-grid{grid-template-columns:1fr 1fr}.posting-preview dl{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.leaflet-fade-anim .leaflet-popup,.leaflet-zoom-anim .leaflet-zoom-animated{transition:none!important}}

/* Connected job-search workspace */
.job-search-hero{padding:0 0 34px;background:linear-gradient(135deg,#14294f,#274f82)}
.job-search-hero .container{padding-block:28px 0}.job-search-heading{margin-bottom:20px}.job-search-heading h1{margin:3px 0 4px;font-size:clamp(2rem,4vw,3.15rem)}.job-search-heading p{margin:0}
.search-explorer{overflow:hidden;display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);min-height:500px;border:1px solid rgba(255,255,255,.24);border-radius:20px;background:#fff;box-shadow:0 22px 55px rgb(3 20 48/.28)}
.location-search{margin:0;padding:25px;display:flex;align-items:stretch;flex-direction:column;gap:16px;border:0;border-radius:0;background:#fff;color:var(--navy);backdrop-filter:none}.location-search h2{display:inline;margin:0 0 0 7px;color:var(--navy);font-size:1.12rem}.location-search>div:first-child>p{margin:5px 0 0 32px;color:var(--muted);font-size:.78rem}
.location-step{width:25px;height:25px;display:inline-grid;place-items:center;border-radius:50%;background:#f4bb3f;color:#172c52;font-size:.72rem;font-weight:800;vertical-align:middle}
.location-mode-tabs{padding:4px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;border-radius:10px;background:#e9eef5}.location-mode-tabs button{min-height:41px;padding:7px;border:0;border-radius:7px;background:transparent;color:#485873;font:700 .73rem Poppins,sans-serif;cursor:pointer}.location-mode-tabs button[aria-pressed=true]{background:#fff;color:#192f59;box-shadow:0 2px 8px rgb(25 47 89/.14)}.location-mode-tabs button:focus-visible{outline:3px solid #0b61c9;outline-offset:1px}
.location-mode-panel{padding:14px;border:1px solid #dce3ed;border-radius:11px;background:#f7f9fc}.location-mode-panel label{margin:0 0 7px;color:var(--navy);font-size:.74rem;font-weight:700}.location-mode-panel input{width:100%;min-height:45px;padding:10px 12px;border:1px solid #bfc9d8;border-radius:8px;background:#fff;font:inherit}.location-mode-panel .location-action{width:100%}.zip-search-row{display:grid;grid-template-columns:1fr auto;gap:7px}.zip-search-row .btn{padding-inline:12px}.location-status{margin:7px 0 0;color:var(--muted);font-size:.7rem;line-height:1.45}
.selected-location{position:relative;padding:11px 34px 11px 12px;border-radius:9px;background:#eaf4ee;color:#244c37}.selected-location span{display:block;font-size:.63rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.selected-location strong{display:block;margin-top:2px;font-size:.76rem}.selected-location button{position:absolute;right:8px;top:50%;padding:4px;border:0;background:transparent;color:#31588f;font:700 .68rem Poppins,sans-serif;transform:translateY(-50%);cursor:pointer}
.location-search .radius-control{padding-top:2px}.location-search .radius-control label{display:inline;margin:0 0 0 7px;color:var(--navy);font-size:.78rem}.location-search .radius-control output{color:#b37800}.location-search .radius-control>div{color:var(--muted)}.search-area-button{width:100%;min-height:48px}.map-click-hint{margin:-5px 0 0!important;color:var(--muted)!important;font-size:.68rem!important;text-align:center}
.explorer-map-wrap{position:relative;min-width:0;border-left:1px solid #d6deea;background:#dfe8f1}.explorer-map-wrap .job-map{height:100%;min-height:500px}.map-key{position:absolute;z-index:500;left:13px;bottom:13px;padding:8px 10px;display:flex;align-items:center;gap:6px;border-radius:8px;background:rgba(255,255,255,.94);box-shadow:0 2px 9px rgba(0,0,0,.16);color:#3f4d62;font-size:.66rem;font-weight:600}.map-key-job,.map-key-center{width:12px;height:12px;display:inline-block;border:2px solid #fff;border-radius:50%;background:#192f59;box-shadow:0 1px 3px rgba(0,0,0,.25)}.map-key-center{margin-left:4px;background:#f4bb3f}
.job-search-content{max-width:1400px;padding-top:28px;padding-bottom:55px}.job-filter-panel{margin-bottom:24px;padding:20px 22px;border-radius:16px;box-shadow:0 8px 28px rgb(25 47 89/.08)}.filter-heading{margin-bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:20px}.filter-heading h2{display:inline;margin:0 0 0 7px;font-size:1.1rem}.filter-heading p{margin:3px 0 0 33px;color:var(--muted);font-size:.72rem}.filter-heading>a{color:#31588f;font-size:.72rem;font-weight:700;text-decoration:underline}
.filter-toolbar{display:grid;grid-template-columns:minmax(210px,1.5fr) repeat(5,minmax(118px,auto)) auto;align-items:end;gap:8px}.job-filter-panel .job-keyword>span{margin-bottom:5px}.job-keyword input{min-height:44px}.filter-menu{position:relative;min-width:0}.filter-menu summary{min-height:44px;padding:10px 30px 10px 11px;display:flex;align-items:center;gap:6px;border:1px solid #cbd4e1;border-radius:8px;background:#fff;color:#273c5e;font-size:.71rem;font-weight:700;list-style:none;cursor:pointer;white-space:nowrap}.filter-menu summary::-webkit-details-marker{display:none}.filter-menu summary::after{position:absolute;right:10px;content:'⌄';color:#607089}.filter-menu[open] summary{border-color:#31588f;box-shadow:0 0 0 2px rgb(49 88 143/.12)}.filter-menu summary span{min-width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#f4bb3f;color:#192f59;font-size:.62rem}.filter-menu-panel{position:absolute;z-index:900;top:calc(100% + 7px);left:0;width:240px;max-height:310px;padding:12px;overflow:auto;display:grid;gap:8px;border:1px solid #d3dce8;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgb(25 47 89/.2)}.filter-menu-panel label{display:flex;align-items:flex-start;gap:8px;color:#34445e;font-size:.74rem}.filter-menu-panel input{margin-top:3px}.filter-menu-wide .filter-menu-panel{right:0;left:auto;width:min(330px,80vw)}.select-panel label{display:grid;gap:5px;font-weight:700}.select-panel select{width:100%;min-height:42px;padding:8px;border:1px solid #cbd4e1;border-radius:7px;background:#fff;font:inherit}.apply-filter-button{min-height:44px;padding-inline:17px}.active-filter-chips{margin:16px 0 0;padding-top:14px;border-top:1px solid #e2e7ee}
.results-toolbar{margin:0 0 17px;padding:0 2px;align-items:center}.results-alert-link{padding:8px 11px;border-radius:8px;background:#e9f2ed;color:#236044;font-size:.72rem;font-weight:700}.job-result-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.job-result-cards .card{height:100%;padding:19px;border-radius:13px;box-shadow:0 5px 18px rgb(25 47 89/.06)}
@media(max-width:1180px){.filter-toolbar{grid-template-columns:minmax(220px,1fr) repeat(3,minmax(130px,1fr))}.apply-filter-button{grid-column:-2/-1}.filter-menu-wide{grid-column:auto}.job-result-cards{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.search-explorer{grid-template-columns:1fr}.explorer-map-wrap{border-top:1px solid #d6deea;border-left:0}.explorer-map-wrap .job-map{height:430px;min-height:430px}.filter-toolbar{grid-template-columns:1fr 1fr}.job-keyword{grid-column:1/-1}.apply-filter-button{grid-column:1/-1}.results-toolbar{align-items:stretch;flex-wrap:wrap}.results-toolbar>div:first-child{width:100%}.job-result-cards{grid-template-columns:1fr}}
@media(max-width:560px){.job-search-hero .container{padding-top:22px}.job-search-heading p{font-size:.9rem}.location-search{padding:18px 15px}.location-mode-tabs button{font-size:.66rem}.explorer-map-wrap .job-map{height:340px;min-height:340px}.filter-toolbar{grid-template-columns:1fr}.job-keyword{grid-column:auto}.filter-menu-panel,.filter-menu-wide .filter-menu-panel{position:relative;top:5px;right:auto;left:auto;width:100%;max-height:none;margin-bottom:6px;box-shadow:none}.apply-filter-button{grid-column:auto}.filter-heading{align-items:flex-start}.results-toolbar label{width:100%}.results-toolbar select{width:100%}.results-alert-link{text-align:center}.zip-search-row{grid-template-columns:1fr}.map-key{right:9px;left:9px;justify-content:center}}
.job-search-hero .location-search .location-intro{margin:5px 0 0 32px;color:#667085;font-size:.78rem}.job-search-hero .location-search .location-status{margin:7px 0 0;color:#667085;font-size:.7rem;line-height:1.45}

/* Job posting workflow */
.job-post-shell{max-width:1100px;padding-top:38px;padding-bottom:70px}.job-post-shell>header{position:relative;overflow:hidden;padding:25px 29px;border-radius:17px;background:linear-gradient(125deg,#192f59,#31588f);box-shadow:0 12px 32px rgb(25 47 89/.16)}.job-post-shell>header::after{position:absolute;right:-45px;top:-95px;width:240px;height:240px;border:38px solid rgb(244 187 63/.1);border-radius:50%;content:''}.job-post-shell>header>*{position:relative;z-index:1}.job-post-shell>header .job-eyebrow{color:#f4c65f}.job-post-shell>header h1{margin:3px 0 6px;color:#fff;font-size:clamp(1.8rem,4vw,2.45rem)}.job-post-shell>header p{max-width:760px;margin:0;color:#dce6f3;font-size:.84rem}
.job-stepper{position:relative;z-index:0;margin:20px 0 12px;padding:17px 20px 15px;border:1px solid #d9e1ec;border-radius:14px;background:#fff;box-shadow:0 6px 20px rgb(25 47 89/.055)}.job-stepper li{font-size:.7rem}.job-stepper li::before{width:32px;height:32px;margin-bottom:6px}.job-stepper li::after{top:15px}.posting-tools{margin:0 0 15px;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:flex-end;gap:14px;border:1px solid #dbe3ed;border-radius:11px;background:#f7f9fc}.posting-tools>span{margin-right:auto;color:#69768a;font-size:.69rem}.posting-tools .btn{padding:8px 14px;border-color:#c5d0df;background:#fff;font-size:.67rem}
.job-step{padding:27px 29px 24px;border:1px solid #d5deea;border-top:4px solid #31588f;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgb(25 47 89/.08)}.job-step>legend{padding:0 12px;color:#192f59;font-size:1.45rem}.job-step-intro{margin:1px 0 17px;color:#687589;font-size:.82rem;line-height:1.55}.job-step .form{padding:21px 0 0;border-top:1px solid #e2e7ee;border-radius:0;background:transparent;box-shadow:none}.job-post-form .form .row{margin-bottom:19px}.job-post-form .form .row:last-child{margin-bottom:0}.job-post-form .form .row.two{gap:20px}.job-post-form .row>label,.job-post-form .row.two>label{min-width:0;margin:0;display:grid;align-content:start;gap:7px;color:#263d63;font-size:.76rem;font-weight:700}.job-post-form .form input:not([type]),.job-post-form .form input[type=text],.job-post-form .form input[type=email],.job-post-form .form input[type=url],.job-post-form .form input[type=date],.job-post-form .form input[type=number],.job-post-form .form select{min-width:0;min-height:48px;padding:11px 13px;border:1px solid #bdc9d8;border-radius:8px;background:#fff;font-size:.86rem;font-weight:400}.job-post-form .form textarea{padding:12px 13px;border-color:#bdc9d8;border-radius:8px}.job-post-form .form input:hover,.job-post-form .form select:hover,.job-post-form .form textarea:hover{border-color:#8fa1ba}.job-post-form .form input:focus,.job-post-form .form select:focus,.job-post-form .form textarea:focus{border-color:#31588f;box-shadow:0 0 0 3px rgb(49 88 143/.13)}.job-post-form .form .hint{margin-top:6px;font-size:.69rem;line-height:1.5}
.job-step-actions{margin-top:24px;padding-top:18px;align-items:center;border-top:1px solid #e2e7ee}.job-step-actions .btn{min-height:44px;padding:10px 19px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.job-step-actions>div{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.location-type-grid{gap:9px}.location-type-grid span{min-height:48px;padding:10px;border-radius:8px;background:#f8fafc;color:#3f506b;font-size:.72rem}.location-type-grid input:checked+span{border-color:#31588f;background:#e8eef8;box-shadow:inset 0 0 0 1px #31588f}.posting-map{height:330px;margin-top:17px;border-color:#cbd5e2;border-radius:11px}.job-post-form .checkbox-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:9px}.job-post-form .checkbox-grid label{min-height:43px;margin:0;padding:9px 11px;display:flex;align-items:center;gap:8px;border:1px solid #d5dde8;border-radius:8px;background:#f8fafc;color:#394961;font-size:.74rem;cursor:pointer}.job-post-form .checkbox-grid label:has(input:checked){border-color:#31588f;background:#e9eff8;color:#192f59;font-weight:600}.job-post-form .checkbox-grid input{width:17px;height:17px;margin:0;accent-color:#31588f}.posting-editor{overflow:hidden;border:1px solid #bdc9d8;border-radius:9px;background:#fff;transition:border-color .16s,box-shadow .16s}.posting-editor:focus-within{border-color:#31588f;box-shadow:0 0 0 3px rgb(49 88 143/.13)}.posting-editor-toolbar{padding:7px;display:flex;align-items:center;flex-wrap:wrap;gap:5px;border-bottom:1px solid #dce3ec;background:#f6f8fb}.posting-editor-toolbar button{min-height:32px;padding:6px 9px;border:1px solid #d3dce8;border-radius:6px;background:#fff;color:#304667;font:600 .66rem Poppins,sans-serif;cursor:pointer}.posting-editor-toolbar button:hover,.posting-editor-toolbar button:focus-visible{border-color:#31588f;background:#eaf0f8}.posting-editor-surface{min-height:190px;padding:14px 15px;outline:0;color:#333;font-size:.86rem;font-weight:400;line-height:1.6}.posting-editor-surface:empty::before{color:#8a95a6;content:'Enter details applicants should know…';pointer-events:none}.posting-editor-surface p{margin:0 0 .9em}.posting-editor-surface ul,.posting-editor-surface ol{margin:.7em 0;padding-left:24px}.posting-preview{padding:23px 24px;border:1px solid #dae2ec;border-left:5px solid #f4bb3f;border-radius:11px;background:#f7f9fc}.posting-preview h2{margin-bottom:4px;font-size:1.5rem}.posting-preview>p{color:#52627a}.posting-preview dl{margin-bottom:0;gap:11px}.posting-preview dl div{padding:12px 13px;border:1px solid #e0e6ee;border-radius:8px}.posting-preview dd{font-size:.8rem}
@media(max-width:700px){.job-post-shell{padding-top:23px;padding-bottom:52px}.job-post-shell>header{padding:22px 20px}.job-stepper{margin-top:14px;padding:13px 7px 11px}.job-stepper li{font-size:.54rem;line-height:1.2}.job-stepper li::before{width:29px;height:29px}.posting-tools{align-items:flex-start;flex-direction:column;gap:8px}.posting-tools .btn{width:100%}.job-step{padding:22px 17px 18px}.job-step>legend{padding:0 7px;font-size:1.24rem}.job-step .form{padding-top:17px}.job-post-form .form .row.two{gap:16px}.job-step-actions{align-items:stretch;flex-direction:column-reverse}.job-step-actions .btn,.job-step-actions>a{width:100%}.job-step-actions>div{display:grid;grid-template-columns:1fr}.location-type-grid{grid-template-columns:1fr 1fr}.posting-map{height:290px}.posting-preview{padding:19px 17px}.posting-preview dl{grid-template-columns:1fr}.job-post-form .checkbox-grid{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.job-stepper li{font-size:0}.job-post-form .checkbox-grid{grid-template-columns:1fr}.location-type-grid{grid-template-columns:1fr}}

/* Compact, searchable town chooser */
.job-stepper-four{grid-template-columns:repeat(4,1fr)}
.job-stepper [data-go-step]{cursor:pointer;transition:color .16s}.job-stepper [data-go-step]::before{transition:border-color .16s,box-shadow .16s,color .16s,background .16s}.job-stepper [data-go-step]:hover{color:#192f59}.job-stepper [data-go-step]:hover::before{border-color:var(--gold,#f4bb3f);box-shadow:0 0 0 3px var(--gold,#f4bb3f)}.job-stepper [data-go-step]:focus-visible{outline:0}.job-stepper [data-go-step]:focus-visible::before{border-color:var(--gold,#f4bb3f);box-shadow:0 0 0 3px var(--gold,#f4bb3f);outline:2px solid var(--gold-dark,#956300);outline-offset:5px}
.posting-town-row{margin-right:0}.posting-town-field{width:min(100%,520px)}.posting-town-field>label{margin:0 0 7px;display:block;color:#263d63;font-size:.76rem;font-weight:700}.posting-town-combobox{position:relative}.job-post-form .form .posting-town-combobox>input[type=search]{width:100%;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #bdc9d8;border-radius:8px;background:#fff;font-size:.86rem;font-weight:400;appearance:none}.posting-town-results{position:absolute;z-index:30;top:calc(100% + 6px);left:0;width:100%;max-height:285px;overflow:auto;padding:5px;border:1px solid #c4cfdd;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgb(25 47 89/.18)}.posting-town-results [hidden]{display:none!important}.posting-town-results button{width:100%;min-height:43px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:7px;background:transparent;color:#263d63;font:inherit;text-align:left;cursor:pointer}.posting-town-results button:hover,.posting-town-results button:focus-visible{outline:0;background:#eaf0f8}.posting-town-results button strong{font-size:.76rem}.posting-town-results button span{color:#758197;font-size:.67rem;white-space:nowrap}.posting-town-empty{padding:15px;color:#758197;font-size:.74rem;text-align:center}
@media(max-width:700px){.posting-town-field{width:100%}.posting-town-results{max-height:240px}}
.expiration-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.expiration-options>label{margin:0;cursor:pointer}.expiration-options input{position:absolute;opacity:0}.expiration-options span{height:100%;min-height:88px;padding:14px 15px;display:flex;flex-direction:column;gap:5px;border:1px solid #cbd5e2;border-radius:10px;background:#f8fafc;color:#344763}.expiration-options strong{color:#21385f;font-size:.8rem}.expiration-options small{color:#6f7c8f;font-size:.68rem;font-weight:400;line-height:1.45}.expiration-options input:checked+span{border-color:#31588f;background:#eaf0f8;box-shadow:inset 0 0 0 1px #31588f}.expiration-options input:focus-visible+span{outline:3px solid rgb(49 88 143/.22);outline-offset:2px}.expiration-date-field{width:min(100%,520px)}
@media(max-width:700px){.expiration-options{grid-template-columns:1fr}.expiration-options span{min-height:0}.expiration-date-field{width:100%}}
.job-stepper li,.job-step>legend,.expiration-options strong,.job-step-actions .btn{text-transform:capitalize}.custom-date-control{position:relative;width:100%;display:grid;grid-template-columns:minmax(0,1fr) 48px}.custom-date-control input[type=date]{width:100%;padding-right:12px;border-radius:8px 0 0 8px!important;cursor:pointer}.custom-date-control input[type=date]::-webkit-calendar-picker-indicator,.custom-date-control input[type=date]::-webkit-inner-spin-button{display:none;-webkit-appearance:none}.calendar-toggle{min-height:48px;padding:0;display:grid;place-items:center;border:1px solid #bdc9d8;border-left:0;border-radius:0 8px 8px 0;background:#fff;color:#21385f;cursor:pointer}.calendar-toggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.calendar-toggle:hover,.calendar-toggle:focus-visible{z-index:1;border-color:#31588f;background:#edf2f8;outline:0;box-shadow:0 0 0 3px rgb(49 88 143/.12)}.custom-calendar{position:absolute;z-index:50;top:calc(100% + 7px);right:0;width:min(330px,100%);padding:13px;border:1px solid #c6d0de;border-radius:11px;background:#fff;box-shadow:0 16px 38px rgb(25 47 89/.2)}.custom-calendar-header{margin-bottom:10px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center}.custom-calendar-header strong{color:#172e55;font-size:.84rem;text-align:center}.calendar-month-button{width:36px;height:36px;padding:0;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#21385f;font:700 1.2rem/1 Poppins,sans-serif;cursor:pointer}.calendar-month-button:last-child{justify-self:end}.calendar-month-button:hover,.calendar-month-button:focus-visible{background:#eaf0f8;outline:0}.custom-calendar-weekdays,.custom-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.custom-calendar-weekdays{margin-bottom:4px}.custom-calendar-weekdays span{padding:4px 0;color:#768296;font-size:.65rem;font-weight:700;text-align:center}.custom-calendar-days button,.calendar-spacer{aspect-ratio:1;min-width:0}.custom-calendar-days button{padding:0;border:0;border-radius:50%;background:transparent;color:#263d63;font:500 .73rem Poppins,sans-serif;cursor:pointer}.custom-calendar-days button:hover,.custom-calendar-days button:focus-visible{background:#eaf0f8;outline:0}.custom-calendar-days button.is-today{box-shadow:inset 0 0 0 1px #9aaac0}.custom-calendar-days button.is-selected{background:#21385f;color:#fff;box-shadow:none}.custom-calendar-days button:disabled{color:#c0c7d1;cursor:not-allowed}

/* ---------- Public job listing: header + summary ---------- */
.job-topbar{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:10px 14px;margin-bottom:16px}
.job-back-link{font-size:.82rem;font-weight:600;white-space:nowrap}
.job-back-link span{display:inline-block;transition:transform .15s ease}
.job-back-link:hover span{transform:translateX(-3px)}

.job-header{position:relative;padding:26px 28px 25px;border-top:0;box-shadow:var(--shadow-lg)}
.job-header::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;border-radius:var(--radius) var(--radius) 0 0;background:linear-gradient(90deg,var(--navy),var(--blue) 58%,var(--green))}
.job-header.has-map{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:24px 28px}
.job-header-main{min-width:0;display:flex;flex-direction:column;gap:20px}

.job-identity h1{margin:0 0 5px;font-size:clamp(23px,2.3vw,30px);letter-spacing:-.01em}
.job-header .org{margin-bottom:7px;font-size:17px;font-weight:600}
.job-header .job-meta{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:3px 0;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.job-header .job-meta span{display:inline-flex;align-items:center}
.job-header .job-meta span+span::before{content:"";flex:none;width:4px;height:4px;margin:0 10px;border-radius:50%;background:#c3ccd9}
.job-header-contact{margin:17px 0 0}

.job-summary-label{display:block;margin-bottom:8px;color:#78859a;font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

.job-taxonomy{display:flex;flex-wrap:wrap;gap:18px 36px;padding-top:19px;border-top:1px solid #e5eaf1}
.job-taxonomy>div{flex:0 1 auto;min-width:0;max-width:100%}
.job-summary-chips{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px}
.job-summary-chips span{padding:6px 12px;border:1px solid #d3ddea;border-radius:99px;background:linear-gradient(#fbfcfe,#f1f5fb);color:#22406e;font-size:.72rem;font-weight:600;line-height:1.25}

.job-key-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:10px}
.job-key-facts>div{min-width:0;padding:11px 14px;border:1px solid #e1e8f1;border-radius:9px;background:#f7f9fc}
.job-key-facts .job-summary-label{margin-bottom:3px}
.job-key-facts strong{display:block;overflow-wrap:anywhere;color:#1c3557;font-size:.88rem;font-weight:600;line-height:1.35}
.job-key-facts .job-deadline{color:var(--warn)}

.job-additional-info{padding:13px 16px;border:1px solid #e1e8f1;border-left:3px solid var(--blue-light);border-radius:0 9px 9px 0;background:#f7f9fc}
.job-additional-info .job-summary-label{margin-bottom:4px}
.job-additional-info p{margin:0;color:#47566d;font-size:.78rem;line-height:1.6}

.job-location-card{overflow:hidden;min-height:252px;max-height:330px;display:grid;grid-template-rows:auto 1fr;border:1px solid #dbe3ee;border-radius:10px;background:#f7f9fc}
.job-location-card-heading{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #dce4ee;background:#fff}
.job-location-card-heading span{color:#78859a;font-size:.63rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.job-location-card-heading strong{overflow:hidden;color:#20385f;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}
.job-location-map{min-height:206px}
.job-location-map .leaflet-control-attribution{font-size:8px}
.job-location-map .leaflet-control-zoom a{width:25px;height:25px;line-height:25px;font-size:16px}

.job-apply-instructions{margin-bottom:18px}
.job-apply-instructions>:first-child{margin-top:0}
.job-apply-instructions>:last-child{margin-bottom:0}

@media(max-width:900px){
    .job-header.has-map{grid-template-columns:1fr}
    .job-location-card{min-height:230px}
    .job-location-map{min-height:184px}
}
@media(max-width:620px){
    .job-header{padding:22px 18px}
    .job-topbar{align-items:flex-start}
    .job-taxonomy>div{flex:1 1 100%}
    .job-key-facts{grid-template-columns:1fr}
    .job-summary-chips span{white-space:normal}
    .job-header-contact .btn{display:block;width:100%;text-align:center}
}

/* ---------- Grouped sub-sections inside the posting form ---------- */
.form-subsection{margin-bottom:19px;padding:16px 18px 18px;border:1px solid #e1e8f1;border-radius:12px;background:#f8fafd}
.form-subsection>h3{margin:0;color:#21385f;font-size:.85rem;font-weight:700;line-height:1.35}
.form-subsection-note{margin:4px 0 15px;color:#6d7b8f;font-size:.71rem;font-weight:400;line-height:1.55}
.form-subsection>.row:last-child{margin-bottom:0}
.form-subsection .expiration-options+.row{margin-top:16px;margin-bottom:0}
.form-subsection .expiration-options span{background:#fff}
.form-subsection .expiration-options input:checked+span{background:#eaf0f8}
.hint{display:block;font-weight:400}
@media(max-width:700px){.form-subsection{padding:14px 14px 16px}}
