/* NJS launch fixes — loaded after the main stylesheet */
[hidden]{display:none!important}

/* 1. Phone menu button: show a clear "Menu" label instead of an empty gold square */
@media (max-width:520px){
  .search-menu summary{width:auto;height:auto;overflow:visible;font-size:0;color:#10263a;padding:.7rem .85rem;line-height:1}
  .search-menu summary:after{content:"\2630  Menu";font-size:.85rem;font-weight:800;color:#10263a;margin:0;white-space:pre}
  .search-menu[open] summary:after{content:"\00D7  Close"}
  .search-menu>div{width:min(320px,calc(100vw - 1.5rem))}
}

/* 2. "Explore more resources" tiles on the shorter homepage */
.njs-explore{padding:3.5rem clamp(1.1rem,6vw,6rem);background:#f4f8f9}
.njs-explore h2{font-size:clamp(1.8rem,3.2vw,2.8rem);margin:.4rem 0 1.4rem}
.njs-explore>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
.njs-explore a{display:block;padding:1rem 1.1rem;background:#fff;color:var(--navy,#10263a);text-decoration:none;border-left:6px solid var(--teal,#087a74);box-shadow:0 8px 22px #0726381a}
.njs-explore a:nth-child(3n+2){border-color:var(--gold,#d5a43b)}
.njs-explore a:nth-child(3n){border-color:#7659a6}
.njs-explore a:hover,.njs-explore a:focus{background:#eef6f6}
.njs-explore b{display:block;font:700 1.08rem Georgia,serif}
.njs-explore span{display:block;font-size:.78rem;color:var(--muted,#55636d);margin-top:.25rem}

/* 3. New section pages */
.njs-page-hero{scroll-margin-top:1rem}
.njs-back{padding:2rem clamp(1.1rem,6vw,6rem);margin:0}
.njs-back a{font-weight:800}
.industry-panel[hidden]{display:none}

/* County map selection (replaces the old script-generated style) */
.county-map-scroll path.njs-selected{stroke:#14394d;stroke-width:3;fill:#fff1a3}

/* Shorter state list on phones: two columns */
@media (max-width:520px){
  .states-wrap .state-grid:not(:last-of-type){grid-template-columns:1fr 1fr;gap:.45rem}
  .states-wrap .state-grid:not(:last-of-type) a{font-size:.8rem;padding-left:.5rem;padding-right:.5rem}
}

/* Keep gateway buttons to their natural width */
.opportunity-gateways a{width:fit-content;max-width:100%}

/* Quick-link buttons under the header: always visible on inner pages, and on the homepage when the top bar folds away */
.njs-quicklinks{display:flex;flex-wrap:wrap;gap:.45rem;padding:.7rem clamp(1rem,5vw,5rem);background:#f2f7f8;border-bottom:1px solid #dbe6e8}
.njs-quicklinks a{display:inline-flex;align-items:center;gap:.35rem;padding:.48rem .8rem;background:#fff;border:1px solid #cddcdf;border-radius:999px;color:var(--navy,#10263a);font-weight:700;font-size:.8rem;line-height:1.2;text-decoration:none}
.njs-quicklinks a:hover,.njs-quicklinks a:focus-visible{background:#e6f2f1;border-color:var(--teal,#087a74)}
.njs-quicklinks a.salary-nav{background:#fff2cf;border:1px solid var(--gold,#d5a43b);color:#76520d}
.njs-quicklinks a.salary-nav span{display:grid;place-items:center;width:1.2rem;height:1.2rem;border-radius:50%;background:#e5f4e9;color:#25743c;font:900 .75rem Arial,sans-serif;box-shadow:0 0 0 1px #b9dbc3}
@media (min-width:1101px){.njs-quicklinks-home{display:none}}

/* Picture banner on the Job Search and Relocation pages */
.njs-banner{margin:0;background:#0d2b43}
.njs-banner img{display:block;width:100%;max-width:100%;height:clamp(200px,32vw,380px);object-fit:cover;object-position:center 35%}

/* "More NJS help" links on each Choose-your-starting-point tile (inside NJS, so no ↗) */
.niche-audience-grid article>.njs-tile-more{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem;padding-top:.8rem;border-top:1px dashed rgba(255,255,255,.35)}
.njs-tile-more span{flex-basis:100%;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f3c252}
.niche-audience-grid .njs-tile-more a{background:#fff;border-color:#fff;color:#102b40}
.niche-audience-grid .njs-tile-more a:hover,.niche-audience-grid .njs-tile-more a:focus-visible{background:#f3c252;border-color:#f3c252}

/* Apprenticeships: highlighted in the top bar and the button row (a national workforce priority) */
.header nav .njs-appr-nav{padding:.45rem .7rem;background:#e3f3f1;color:#0b5f5a;border-bottom:3px solid var(--teal,#087a74);font-weight:800;align-self:center}
.njs-quicklinks a.njs-appr-nav{background:#087a74;border-color:#087a74;color:#fff}
.njs-quicklinks a.njs-appr-nav:hover,.njs-quicklinks a.njs-appr-nav:focus-visible{background:#0b5f5a;border-color:#0b5f5a}

/* Training section: path to the apprenticeship page */
.njs-training-appr{margin:1rem 0 0}

/* Full-width picture that keeps its own lettering visible (no cropping) */
.njs-banner-full{margin:0;background:#0d4a63}
.njs-banner-full img{display:block;width:100%;max-width:100%;height:auto}

/* ---------- Search NJS ---------- */
.njs-search-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.62rem .85rem;background:#10263a;color:#fff;font-weight:800;font-size:.8rem;text-decoration:none;border-bottom:3px solid #f3c252;white-space:nowrap}
.njs-search-btn:hover,.njs-search-btn:focus-visible{background:#1c3d57}
.header .gold-btn{margin-left:0}
.header>.njs-search-btn{margin-left:auto}
@media (max-width:520px){.njs-quicklinks-home~* .njs-search-btn,.header .njs-search-btn{padding:.6rem}.header .njs-search-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.njs-quicklinks a.njs-search-nav{background:#10263a;border-color:#10263a;color:#fff}
.njs-quicklinks a.njs-search-nav svg{flex:none}
.njs-quicklinks a.njs-search-nav:hover,.njs-quicklinks a.njs-search-nav:focus-visible{background:#1c3d57}

/* Homepage search box */
.njs-home-search{max-width:760px;margin:1rem auto 1.6rem;padding:1rem 1.1rem;background:#fff;border:1px solid #cfdde0;border-top:5px solid #10263a;text-align:left}
.njs-home-search label{display:block;font-weight:800;color:#10263a;margin-bottom:.5rem}
.njs-home-search label small{font-weight:600;color:#55636d}
.njs-home-search div,.njs-search-page form>div{display:flex;gap:.5rem;flex-wrap:wrap}
.njs-home-search input,.njs-search-page input,.njs-jobs-box input{flex:1 1 220px;min-width:0;padding:.75rem .85rem;font:inherit;font-size:1rem;border:2px solid #90b8b5;background:#fff;color:#10263a}
.njs-home-search button,.njs-search-page form>div>button{padding:.75rem 1.1rem;background:#10263a;color:#fff;border:0;font-weight:800;cursor:pointer}
.njs-home-search p{margin:.6rem 0 0;font-size:.82rem;color:#55636d}

/* Search page */
.njs-search-page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2rem;align-items:start;padding:2.5rem clamp(1rem,5vw,5rem) 3rem;background:#f4f8f9}
.njs-search-main{min-width:0}
.njs-search-page h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:.3rem 0 .6rem;color:#10263a}
.njs-search-lead{max-width:62ch;color:#3d4f5c}
.njs-search-page form>label{display:block;font-weight:800;color:#10263a;margin:1rem 0 .45rem}
#njs-search-status{margin:.9rem 0;color:#3d4f5c;font-weight:700}
.njs-sr-group{margin:0 0 1.6rem}
.njs-sr-group h2{font-family:Georgia,serif;font-size:1.35rem;color:#10263a;margin:0 0 .3rem;display:flex;align-items:center;gap:.5rem}
.njs-sr-group h2 span{font:800 .72rem Arial,sans-serif;background:#e3f3f1;color:#0b5f5a;padding:.15rem .5rem;border-radius:999px}
.njs-sr-note{margin:0 0 .5rem;font-size:.8rem;color:#55636d}
.njs-sr-group ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.njs-sr-group li>a,.njs-sr-res{display:block;padding:.75rem .9rem;background:#fff;border:1px solid #d6e2e5;border-left:5px solid #087a74;color:#10263a;text-decoration:none}
.njs-sr-group li>a:hover,.njs-sr-group li>a:focus-visible{background:#eef6f6}
.njs-sr-group li b{display:block;font-size:.95rem}
.njs-sr-group li span{display:block;font-size:.8rem;color:#55636d;margin-top:.15rem}
.njs-sr-group li em{display:block;font-style:normal;font-size:.75rem;font-weight:800;color:#087a74;margin-top:.25rem}
.njs-sr-res{border-left-color:#d5a43b}
.njs-sr-res>a{color:#10263a;text-decoration:none}
.njs-sr-res span a{color:#0b5f5a}
.njs-sr-more{margin-top:.5rem;padding:.5rem .9rem;background:#fff;border:1px solid #10263a;color:#10263a;font-weight:800;cursor:pointer}
.njs-jobs-box{position:sticky;top:1rem;padding:1.3rem;background:#fff2cf;border:1px solid #d5a43b;border-top:6px solid #d5a43b;color:#3b2a06}
.njs-jobs-box .eyebrow{color:#805d13;margin:0}
.njs-jobs-box h2{font-family:Georgia,serif;font-size:1.45rem;margin:.3rem 0 .5rem;color:#10263a}
.njs-jobs-box p{font-size:.85rem}
.njs-jobs-box label{display:block;font-weight:800;font-size:.8rem;margin:.7rem 0 .3rem;color:#10263a}
.njs-jobs-box input{width:100%;box-sizing:border-box;border-color:#d5a43b}
.njs-jobs-box button{width:100%;margin-top:.8rem;padding:.75rem;background:#10263a;color:#fff;border:0;font-weight:800;cursor:pointer}
.njs-jobs-more{line-height:1.8;margin-bottom:0}
.njs-jobs-more a{color:#10263a;font-weight:800}
@media (max-width:860px){.njs-search-page{grid-template-columns:1fr}.njs-jobs-box{position:static}}
.njs-search-lead a{color:#0b5f5a;font-weight:800;text-decoration:underline}
/* Keep the homepage top bar from crowding: icon-only search button on mid-size screens, none on phones (the button row has it) */
@media (max-width:1400px){.header .njs-search-btn{padding:.62rem}.header .njs-search-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (max-width:1100px){.header .njs-search-btn{display:none}}
