/* Readable results: compare the job first, expand supporting information as needed. */
:root{--ink:#23323d;--sub:#62717c;--line:#dde4e8;--paper:#f5f7f8;--green:#148874;--green-dark:#086d5c}
body{background:var(--paper);color:var(--ink)}
.container{width:min(1240px,calc(100% - 64px))}
.results,.jc-facility,.jc-position,.jc-provenance>*{min-width:0}
.hero.search-hero{background:#fff;border-color:var(--line);border-radius:12px;margin-bottom:28px;padding:24px!important}
.hero.search-hero h1{font-size:29px;margin-bottom:6px;line-height:1.5}
.hero.search-hero .hero-copy{font-size:14px;line-height:1.8}
.search-bar{margin-top:18px;padding:0;border:0;box-shadow:none;border-radius:0;gap:12px}
.search-bar input,.search-bar select{background:#fff;border-color:#c5d1d8}
.quick-searches{margin-top:14px;gap:7px}
.quick-searches button{font-size:13px;min-height:32px;background:#f7f9fa;border-color:#e0e6e9}
.jobs-layout{grid-template-columns:248px minmax(0,1fr);gap:28px}
.search-panel{border-radius:10px;padding:20px 16px}
.results-head{margin-bottom:16px;align-items:center}
.results-head h2{font-size:24px;margin:0}
.section-kicker{display:none}
.count{margin-top:6px}
.count strong{font-size:27px;color:#263c47}
.count-detail{font-size:13px;color:var(--sub)}
.save-search:disabled{opacity:.4}
.results-toolbar{padding:12px 0;margin-bottom:16px;border-color:#dbe3e7}
.view-switch{border-color:#d3dee3}
.view-switch button{font-size:14px;min-height:42px}
.sort-field{font-size:13px}
.sort-field select{font-size:14px;min-height:42px}
.notice{background:#edf2f5;border:0;color:#52636d;font-size:13px;padding:11px 14px;margin-bottom:20px;line-height:1.8}
.notice summary .icon{width:16px;height:16px;margin-top:3px;flex-shrink:0}
.notice p{font-size:13px}
.list-heading{margin-bottom:12px;font-size:15px}
.list-heading p{font-size:13px}
.list{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}
.card.job-card{padding:24px;background:white;border:1px solid #d8e1e6;border-radius:10px;box-shadow:0 2px 4px #152f3f03;overflow-wrap:break-word}
.card.job-card:hover{border-color:#acbfc8;box-shadow:0 3px 10px #152f3f07}
.jc-card-head{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start;margin:0 0 8px}
.jc-card-head .facility-icon{display:none}
.jc-facility{grid-column:1;grid-row:1}
.jc-eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.jc-facility .facility-kind{display:inline;margin:0;color:#637781;font-size:13px;line-height:1.5}
.jc-eyebrow .badge{font-size:12px;line-height:1.5;border-radius:4px;padding:3px 7px;font-weight:600;white-space:nowrap}
.jc-eyebrow .b-ok{background:#e9f5ef;color:#147351}
.jc-eyebrow .b-maybe{background:#fff3dc;color:#8a5c10}
.card .jc-facility h3{font-size:22px;line-height:1.55;font-weight:750;color:#223544;margin:0;letter-spacing:.01em;overflow-wrap:anywhere}
.jc-card-head .card-actions{grid-column:2;grid-row:1;display:flex;align-items:flex-start;justify-content:flex-end;gap:0;margin:0;max-width:none}
.card .save-job{width:44px;height:44px;padding:10px;border:1px solid #d9e3e8;border-radius:8px;color:#72818b;background:#fff;flex-shrink:0}
.card .save-job .icon{width:21px;height:21px}
.card .save-job:hover,.card .save-job[aria-pressed=true]{background:#e9f6f1;color:#08745e;border-color:#91cabc}
.jc-position{background:none;border:0;border-radius:0;padding:0;margin:0 0 12px}
.jc-position .job-title{color:#425564;font-size:16px;font-weight:500;line-height:1.7;margin:0}
.jc-position .card-long-text>summary,.jc-position .card-long-text>p{color:#425564;font-size:16px;line-height:1.7}
.jc-position .jc-section-label{display:none}
.jc-tags{gap:6px;margin:0 0 12px}
.card .tag{font-size:12px;line-height:1.7;padding:2px 8px;background:#f2f4f6;color:#4b626f;border:0;border-radius:4px}
.job-conditions{background:none;border:0;border-radius:0;padding:0;margin:14px 0 16px}
.job-conditions .salary-label{display:inline;color:#586c79;font-size:13px;line-height:1.7;margin:0}
.job-conditions .salary-main{display:block;font-size:23px!important;font-weight:750;line-height:1.5;letter-spacing:.01em;color:#183c4d;margin-top:2px;overflow-wrap:anywhere}
.job-conditions .salary-main.unknown{font-size:14px!important;font-weight:500;color:#62717c}
.job-conditions .condition-inline{display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0 0}
.job-conditions .condition-inline,.job-conditions .condition-inline strong{font-size:14px;color:#435969;line-height:1.7}
.jc-facts{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0 0 14px;padding:0}
.jc-fact{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;border:0;padding:0;align-items:start}
.jc-fact dt{font-size:13px;color:#71808b;line-height:1.8;margin:0;white-space:nowrap;font-weight:500}
.jc-fact dd{font-size:14px;line-height:1.8;color:#344e5e;margin:0;overflow-wrap:anywhere}
.jc-fact .address{font-size:14px;line-height:1.8;gap:0;color:#344e5e}
.jc-fact .address>.icon{display:none}
.jc-fact .dist{font-size:13px;line-height:1.7;margin:4px 0 0;color:#148370}
.jc-location-note{border-left:3px solid #d5e3e8;padding-left:10px;font-size:13px;line-height:1.8;color:#5f7481;margin:10px 0}
.card .job-deadline{font-size:13px;line-height:1.7;color:#6b7565;margin:7px 0}
.jc-extra{margin:12px 0 0;border-top:1px solid #e7ecef;padding-top:3px}
.jc-extra>summary{font-size:13px;line-height:1.6;min-height:42px;display:list-item;align-content:center;font-weight:500;color:#527080;padding-block:11px;cursor:pointer}
.jc-extra[open]>summary{margin-bottom:8px}
.jc-extra>p,.jc-extra .condition-source,.jc-extra .condition-source a,.jc-extra .job-number,.jc-extra .job-qualifier,.jc-extra .home{font-size:13px;line-height:1.8}
.jc-extra .condition-source,.jc-extra .jc-requirements{margin:10px 0}
.jc-extra .home{display:inline-flex;gap:5px;align-items:center;margin:8px 0}
.jc-extra .condition-source .icon,.jc-extra .home .icon{width:13px;height:13px}
.jc-extra .evidence{margin:10px 0 14px}
.jc-actions{padding-top:0;margin-top:12px;border:0}
.jc-apply-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.jc-secondary-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.card .compare-job,.card .card-map-button{font-size:13px;line-height:1.5;min-height:40px;border:1px solid #dce4e8;border-radius:6px;padding:9px 12px;color:#5c7481;background:white;display:inline-flex;align-items:center;gap:5px;margin:0}
.card .compare-job:hover,.card .card-map-button:hover{border-color:#98c4ba;background:#f3faf7;color:#08745e}
.card .compare-job[aria-pressed=true]{background:#e9f6f1;border-color:#9dcbbb;color:#08745e}
.card .card-map-button .icon{width:15px;height:15px}
.card .go{display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:650;min-height:46px;padding:12px 18px;gap:8px;color:white;background:#148874;border:1px solid #148874;border-radius:7px;flex:0 1 auto;width:auto;margin:0;line-height:1.6;text-align:center}
.card .go:hover{background:#086d5c;border-color:#086d5c;color:white}
.card .go .icon{width:16px;height:16px;flex-shrink:0}
.jc-provenance{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;border-top:1px solid #e7ecef;margin-top:16px;padding-top:11px;color:#76838b}
.jc-provenance .job-source,.jc-provenance .card-meta,.jc-provenance time,.jc-provenance span{font-size:12px;line-height:1.8;color:#76838b;margin:0}
.jc-provenance .card-meta{display:inline-flex;gap:0;align-items:baseline}
.jc-provenance .card-meta>span{display:inline;overflow-wrap:anywhere}
.jc-provenance .icon{display:none}
.map-panel{border-color:#d6e1e7}
.map-head h3{font-size:19px}
.map-head p,.map-caption{font-size:13px}
.hero-title-tail{display:inline-block;white-space:nowrap}
@media(min-width:901px){
 .search-panel{position:sticky;top:16px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior-y:contain}
 .filter-close,.filter-apply,.mobile-filter-bar{display:none}
}
@media(max-width:1100px) and (min-width:901px){
 .container{width:calc(100% - 40px)}
 .jobs-layout{grid-template-columns:224px minmax(0,1fr);gap:22px}
 .card.job-card{padding:22px}
 .jc-apply-row{align-items:stretch}
 .card .go{flex:1 0 100%;order:-1}
}
@media(max-width:900px){
 body{padding-bottom:86px}
 .container{width:calc(100% - 40px)}
 .nav{gap:16px;flex-wrap:wrap}
 .nav-links{gap:14px}
 .nav-links .desktop-nav-link{display:none}
 .jobs-layout{display:block}
 .search-panel{position:static;max-height:none;overflow:visible}
 .filters-ready .search-panel{display:none}
 .filters-open{overflow:hidden}
 .filters-open .filter-backdrop{display:block;position:fixed;inset:0;background:#172f3e73;z-index:1200}
 .filters-open .search-panel{display:block;position:fixed;inset:12px 12px 0 auto;width:min(480px,calc(100% - 24px));height:calc(100vh - 12px);height:calc(100dvh - 12px);max-height:none;z-index:1300;overflow-y:auto;overscroll-behavior:contain;border-radius:12px 12px 0 0;padding:20px 20px 0;margin:0;scrollbar-width:thin}
 .filters-open .panel-head{position:sticky;top:-20px;z-index:2;background:#fff;margin:0 -20px 18px;padding:12px 20px;border-bottom:1px solid var(--line)}
 .filter-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:transparent;color:#426773;padding:8px}
 .filter-close .icon{width:20px;height:20px}
 .filter-apply{display:block;position:sticky;bottom:0;margin:18px -20px 0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:white;border-top:1px solid var(--line);z-index:2}
 .filter-apply .primary{width:100%;justify-content:center;min-height:48px;font-size:15px}
 .search-panel input[type=search],.search-panel select{font-size:16px;min-height:46px}
 .search-panel .field label{font-size:14px}
 .mobile-filter-bar{display:block;position:fixed;z-index:950;left:0;right:0;bottom:0;background:#fffffff5;border-top:1px solid #d9e3e8;padding:10px 20px calc(10px + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}
 .mobile-filter-bar button{display:flex;align-items:center;justify-content:center;gap:9px;width:min(860px,100%);margin:auto;min-height:48px;border:0;border-radius:7px;background:#148874;color:white;font-size:15px;padding:10px 14px}
 .mobile-filter-bar .icon{width:18px;height:18px}
 .mobile-filter-bar b{display:inline-flex;align-items:center;justify-content:center;min-width:22px;background:#ffffff26;border-radius:10px;font-size:13px;padding:0 5px}
 .mobile-filter-bar #mobile-result-count{margin-left:auto;font-size:13px;opacity:.9}
 .filters-open .mobile-filter-bar{display:none}
 .results-head{align-items:flex-start;gap:16px}
 .results-head h2{font-size:23px}
 .results-toolbar{align-items:center;gap:10px;flex-wrap:wrap}
 .result-tools{gap:8px}
 .sort-field{width:auto;margin-left:auto;justify-content:flex-end}
 .sort-field select{width:195px;max-width:100%}
 .job-compare-bar{bottom:calc(78px + env(safe-area-inset-bottom))}
 .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
 .job-compare-selected .toast{bottom:calc(165px + env(safe-area-inset-bottom))}
}
@media(max-width:620px){
 .container{width:calc(100% - 32px)}
 .owner-preview-strip{font-size:12px;padding-block:5px}
 .nav{padding-block:16px;gap:14px}
 .brand-name{font-size:24px}
 .brand-caption{font-size:13px}
 .nav-links{width:100%;justify-content:space-between;gap:10px}
 .owner-preview-link,.saved-nav{font-size:13px}
 .hero.search-hero{padding:20px 16px!important;margin-top:0;margin-bottom:24px;border-radius:10px}
 .hero-eyebrow{font-size:12px;margin-bottom:7px}
 .hero.search-hero h1{font-size:25px;line-height:1.6;margin-bottom:8px}
 .hero.search-hero .hero-copy{font-size:13px;line-height:1.85}
 .search-bar{margin-top:16px;grid-template-columns:minmax(0,1fr) 130px;gap:10px;padding:0}
 .search-main-field{grid-column:1/-1}
 .search-bar label{font-size:13px;margin-bottom:6px}
 .search-bar input,.search-bar select{font-size:16px;min-height:46px}
 .search-submit{font-size:14px;min-height:46px;padding:10px 12px}
 .quick-searches{gap:6px;margin-top:14px}
 .quick-searches>span{font-size:12px;flex-basis:100%;margin:0 0 2px}
 .quick-searches button{font-size:12px;padding:4px 9px;min-height:32px}
 .results-head h2{font-size:22px}
 .count strong{font-size:27px}
 .count-detail{font-size:12px;line-height:1.8;margin-top:2px}
 .save-search{font-size:12px;max-width:92px;min-height:44px}
 .results-toolbar{padding:10px 0;margin-bottom:14px}
 .result-tools{width:100%;justify-content:space-between}
 .view-switch button{font-size:13px;padding:8px 10px;min-height:40px}
 .near-button{font-size:13px;min-height:40px;padding:8px 10px}
 .sort-field{width:100%;font-size:12px}
 .sort-field select{font-size:13px;min-height:40px}
 .notice{font-size:12px;padding:11px 12px;margin-bottom:17px}
 .notice p{font-size:13px}
 .list-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 12px;font-size:15px;margin-bottom:12px}
 .list-heading p{font-size:12px;margin:0}
 .list{gap:14px}
 .card.job-card{padding:18px 16px;border-radius:9px}
 .jc-card-head{grid-template-columns:minmax(0,1fr) 40px;gap:10px;margin-bottom:7px}
 .jc-eyebrow{margin-bottom:7px;gap:7px}
 .jc-facility .facility-kind{font-size:12px}
 .jc-eyebrow .badge{font-size:12px}
 .card .jc-facility h3{font-size:19px;line-height:1.6;letter-spacing:0}
 .card .save-job{width:40px;height:40px;min-width:40px;min-height:40px;padding:8px}
 .jc-position{margin-bottom:10px}
 .jc-position .job-title,.jc-position .card-long-text>summary,.jc-position .card-long-text>p{font-size:14px;line-height:1.8}
 .jc-tags{margin-bottom:10px;gap:5px}
 .card .tag{font-size:12px;padding:2px 7px}
 .job-conditions{margin:12px 0 14px}
 .job-conditions .salary-main{font-size:22px!important;line-height:1.6}
 .job-conditions .salary-label{font-size:12px}
 .job-conditions .condition-inline,.job-conditions .condition-inline strong{font-size:13px}
 .jc-facts{gap:9px;margin-bottom:12px}
 .jc-fact{grid-template-columns:60px minmax(0,1fr);gap:10px}
 .jc-fact dt{font-size:12px;white-space:nowrap;line-height:1.9}
 .jc-fact dd,.jc-fact .address{font-size:14px;line-height:1.7}
 .card .job-deadline,.jc-location-note{font-size:12px;line-height:1.8}
 .jc-extra{margin-top:10px}
 .jc-extra>summary{font-size:12px;min-height:40px}
 .jc-actions{margin-top:10px}
 .jc-apply-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
 .card .go{order:-1;flex:auto;width:100%;font-size:14px;min-height:46px;padding:11px 10px}
 .jc-secondary-actions{justify-content:flex-end;gap:8px}
 .card .compare-job,.card .card-map-button{font-size:12px;min-height:36px;padding:8px 11px}
 .jc-provenance{margin-top:12px;padding-top:10px;gap:3px 12px}
 .jc-provenance .job-source,.jc-provenance .card-meta,.jc-provenance time,.jc-provenance span{font-size:12px;line-height:1.9}
 .mobile-filter-bar{padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
 .support-intro{margin-top:30px}
}
@media(max-width:370px){
 .search-bar{grid-template-columns:minmax(0,1fr) 112px}
 .search-submit{font-size:13px;padding-inline:8px}
 .card.job-card{padding:17px 14px}
 .jc-fact{grid-template-columns:56px minmax(0,1fr);gap:8px}
 .jc-provenance{display:block}
 .jc-provenance .card-meta{display:block;margin-top:2px}
}
