:root{--bg:#f0f0f0;--card-bg:#fff;--card-shadow:0 1px 4px 0 #0000001a;--navy:#162e51;--blue:#005ea2;--blue-hover:#0050a0;--cyan:#00bde3;--red:#d83933;--red-hover:#b8281f;--gray:#5c5c5c;--gray-light:#d8d8d8;--green:#00a91c;--green-bg:#ecf3ec;--blue-bg:#e8f0f8;--orange:#ff8c00;--orange-bg:#fff3e0;--red-badge:#d83933;--red-badge-bg:#fce8e8;--border:#d8d8d8;--focus:#2491ff;--radius:4px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:#1b1b1b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Public Sans,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0;line-height:1.2}h1{color:var(--navy);font-size:40px;font-weight:700}h2{color:var(--navy);font-size:32px;font-weight:700}h3{color:var(--navy);font-size:20px;font-weight:700}h4{color:var(--navy);font-size:16px;font-weight:700}p{margin:0 0 12px}.skip-link{z-index:9999;background:var(--navy);color:#fff;border-radius:0 0 4px;padding:12px 20px;font-weight:700;text-decoration:none;position:absolute;top:0;left:-999px}.skip-link:focus{color:#fff;left:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.site-header{background:var(--navy);color:#fff;border-bottom:4px solid var(--cyan);padding:0}.header-bar{flex-wrap:wrap;align-items:center;gap:24px;max-width:1280px;margin:0 auto;padding:14px 24px;display:flex}.header-logo a{color:#fff;letter-spacing:-.5px;font-size:24px;font-weight:700;text-decoration:none}.header-logo .logo-cyan{color:var(--cyan)}.header-nav{gap:8px;margin-left:auto;display:flex}.header-nav a{color:#fff;border-radius:var(--radius);padding:8px 12px;font-size:15px;font-weight:600;text-decoration:none}.header-nav a:hover{background:#ffffff1f;text-decoration:none}.search-form{align-items:stretch;width:100%;max-width:800px;margin:0 auto;display:flex}.search-form .input-wrap{flex:1}.search-form input[type=text],.search-form input[type=search]{border:2px solid var(--blue);border-radius:var(--radius) 0 0 var(--radius);color:#1b1b1b;background:#fff;width:100%;padding:12px 16px;font-family:inherit;font-size:16px}.search-form .loc-input-wrap{flex:0 0 240px}.search-form .loc-input-wrap input{border-left:none;border-radius:0}.search-form button[type=submit]{background:var(--cyan);color:#000;border-radius:0 var(--radius) var(--radius) 0;cursor:pointer;border:none;align-items:center;gap:8px;padding:0 24px;font-family:inherit;font-size:16px;font-weight:700;display:flex}.search-form button[type=submit]:hover{background:#00a8cc}.header-search{padding:16px 24px}.header-search .search-form{max-width:100%;margin:0}main#main-content{max-width:1280px;margin:0 auto;padding:32px 24px}.home-hero{text-align:center;padding:48px 24px 32px}.home-hero h1{margin-bottom:12px;font-size:48px}.home-hero .tagline{color:var(--gray);margin-bottom:32px;font-size:20px;font-weight:400}.home-hero .search-form{max-width:700px;margin:0 auto 32px}.stats-row{flex-wrap:wrap;justify-content:center;gap:48px;padding:24px 0;display:flex}.stat-item{text-align:center}.stat-number{color:var(--navy);font-size:40px;font-weight:700}.stat-label{color:var(--gray);text-transform:uppercase;letter-spacing:.5px;font-size:14px}.filter-bar{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);background:#fff;margin-bottom:16px;overflow:visible}.filter-bar-inner{flex-wrap:wrap;align-items:stretch;gap:0;display:flex;position:relative}.filter-dropdown{border-right:1px solid var(--border);display:inline-block;position:relative}.filter-dropdown:last-child{border-right:none}.filter-dropdown>summary{cursor:pointer;color:var(--navy);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:12px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.filter-dropdown>summary::-webkit-details-marker{display:none}.filter-dropdown>summary:after{content:"▾";color:var(--gray);font-size:10px}.filter-dropdown[open]>summary{background:#f8f8f8}.filter-dropdown[open]>summary:after{content:"▴"}.filter-dropdown .filter-panel{border:1px solid var(--border);border-radius:var(--radius);z-index:100;background:#fff;min-width:240px;max-height:400px;padding:12px 16px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 8px #0000001f}.filter-panel legend{color:var(--navy);margin-bottom:8px;padding:0;font-size:13px;font-weight:700}.filter-panel label{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;padding:4px 0;font-size:14px;display:flex}.filter-panel label:hover{color:var(--blue)}.filter-panel input[type=checkbox],.filter-panel input[type=radio]{accent-color:var(--blue)}.mobile-filters-toggle{background:var(--navy);color:#fff;cursor:pointer;text-align:left;border:none;width:100%;padding:12px 16px;font-family:inherit;font-size:15px;font-weight:700;display:none}.mobile-filters-toggle:hover{background:#11244a}.results-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.results-count{color:#1b1b1b;font-size:16px}.results-count .num{font-weight:700}.sort-control{align-items:center;gap:8px;font-size:14px;display:flex}.sort-control label{color:#1b1b1b;font-weight:600}.sort-control select{border:1px solid var(--blue);color:var(--blue);border-radius:var(--radius);cursor:pointer;background:#fff;padding:6px 8px;font-family:inherit;font-weight:600}.jobs-list{margin:0;padding:0;list-style:none}.job-card{background:var(--card-bg);box-shadow:var(--card-shadow);border-radius:var(--radius);margin-bottom:16px;padding:24px}.job-card:hover{box-shadow:0 2px 8px #00000026}.job-card-title{margin-bottom:8px}.job-card-title a{color:var(--blue);font-size:22px;font-weight:700;line-height:1.3;text-decoration:none}.job-card-title a:hover{text-decoration:underline}.job-card .agency{color:#1b1b1b;margin-bottom:2px;font-size:16px;font-weight:700}.job-card .dept{color:var(--gray);margin-bottom:8px;font-size:14px}.job-card .location{color:#1b1b1b;margin-bottom:8px;font-size:16px}.job-card .meta-line{color:var(--gray);margin-bottom:12px;font-size:14px}.job-card .badges{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.badge{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.badge-public{background:var(--green-bg);color:#007a16;border:1px solid var(--green)}.badge-fed{background:var(--blue-bg);color:#004078;border:1px solid var(--blue)}.badge-milspouse{background:var(--orange-bg);color:#8a5200;border:1px solid var(--orange)}.badge-vet{background:var(--red-badge-bg);color:#8a1f1a;border:1px solid var(--red-badge)}.badge-student{color:#333;background:#f0f0f8;border:1px solid #999}.badge-other{color:#333;background:#f0f0f0;border:1px solid #999}.job-card .salary{color:#1b1b1b;margin-bottom:4px;font-size:15px;font-weight:600}.job-card .schedule{color:var(--gray);font-size:14px}.pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;padding:32px 0 16px;display:flex}.pagination a,.pagination span{border-radius:var(--radius);min-width:40px;height:40px;color:var(--blue);justify-content:center;align-items:center;padding:0 8px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.pagination a:hover{text-decoration:underline}.pagination .current{background:var(--navy);color:#fff;font-weight:700}.pagination .ellipsis{color:var(--gray);background:0 0;border:none}.back-link{color:var(--blue);margin-bottom:16px;font-size:14px;display:inline-block}.detail-hero{background:var(--navy);color:#fff;border-radius:0;margin:-32px -24px 0;padding:40px 24px}.detail-hero-inner{max-width:1280px;margin:0 auto}.detail-hero h1{color:#fff;margin-bottom:8px;font-size:36px}.detail-hero .hero-dept{color:#c4d6e8;margin-bottom:8px;font-size:18px}.detail-hero .hero-subagency{color:#a0b8cc;margin-bottom:16px;font-size:16px}.detail-hero .hero-location{color:#c4d6e8;margin-bottom:24px;font-size:16px}.detail-hero .hero-actions{flex-wrap:wrap;gap:12px;display:flex}.detail-hero .btn-apply{background:var(--red);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;padding:16px 24px;font-family:inherit;font-size:18px;font-weight:700;text-decoration:none;display:inline-block}.detail-hero .btn-apply:hover{background:var(--red-hover);text-decoration:none}.detail-hero .btn-secondary{color:#fff;border-radius:var(--radius);cursor:pointer;background:#ffffff26;border:1px solid #ffffff4d;align-items:center;gap:6px;padding:14px 20px;font-family:inherit;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.detail-hero .btn-secondary:hover{background:#ffffff40;text-decoration:none}.section-nav{border-bottom:2px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;box-shadow:var(--card-shadow);background:#fff;flex-wrap:wrap;gap:0;margin:32px 0 24px;display:flex}.section-nav a{color:var(--blue);border-bottom:3px solid #0000;padding:14px 20px;font-size:15px;font-weight:600;text-decoration:none}.section-nav a:hover{border-bottom-color:var(--cyan);background:#f8f8f8;text-decoration:none}.detail-content{box-shadow:var(--card-shadow);border-radius:0 0 var(--radius) var(--radius);background:#fff;margin-bottom:16px;padding:32px}.detail-section{margin-bottom:32px}.detail-section h2{border-bottom:2px solid var(--border);margin-bottom:16px;padding-bottom:8px;font-size:24px}.detail-section h3{margin:16px 0 8px;font-size:18px}.detail-section ul{padding-left:20px}.detail-section li{margin-bottom:8px}.detail-section .info-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.detail-section .info-grid>div{border-bottom:1px solid var(--gray-light);padding-bottom:12px}.detail-section .info-label{color:var(--gray);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:13px}.detail-section .info-value{color:#1b1b1b;font-size:16px}.site-footer{background:var(--navy);color:#c4d6e8;border-top:4px solid var(--cyan);margin-top:48px;padding:32px 24px 16px}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:32px;max-width:1280px;margin:0 auto;display:flex}.footer-links{flex-wrap:wrap;gap:24px;display:flex}.footer-links a{color:#c4d6e8;font-size:14px;text-decoration:none}.footer-links a:hover{color:#fff;text-decoration:underline}.footer-copy{color:#8aa0b8;margin-top:16px;font-size:13px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.no-results{text-align:center;border-radius:var(--radius);box-shadow:var(--card-shadow);background:#fff;padding:64px 24px}.no-results h2{margin-bottom:16px}.no-results p{color:var(--gray)}.page-container{max-width:1280px;margin:0 auto;padding:24px}@media (max-width:768px){h1{font-size:32px}h2{font-size:24px}.home-hero h1{font-size:36px}.header-bar{gap:12px;padding:10px 16px}.header-nav{flex-wrap:wrap;margin-left:0}.header-nav a{padding:6px 8px;font-size:14px}.main#main-content{padding:16px}.search-form{flex-wrap:wrap}.search-form .loc-input-wrap{flex:100%}.search-form .loc-input-wrap input{border-radius:var(--radius) var(--radius) 0 0;border-left:2px solid var(--blue)}.search-form button[type=submit]{border-radius:0 0 var(--radius) var(--radius);width:100%;padding:14px}.search-form .input-wrap input{border-radius:0}.mobile-filters-toggle{display:block}.filter-bar-inner{flex-direction:column;display:none}.filter-bar.open .filter-bar-inner{display:flex}.filter-dropdown{border-right:none;border-bottom:1px solid var(--border);width:100%}.filter-dropdown .filter-panel{box-shadow:none;border:1px solid var(--border);border-radius:0;max-height:none;position:static}.stats-row{gap:24px}.stat-number{font-size:28px}.detail-hero{margin:-16px -16px 0;padding:32px 16px}.detail-hero h1{font-size:24px}.detail-hero .btn-apply{padding:14px 20px;font-size:16px}.detail-content{padding:16px}.detail-section .info-grid{grid-template-columns:1fr}.section-nav{flex-wrap:nowrap;overflow-x:auto}.section-nav a{white-space:nowrap}.job-card{padding:16px}.job-card-title a{font-size:18px}.footer-inner{flex-direction:column}}@media (max-width:480px){.home-hero{padding:24px 16px}.home-hero h1{font-size:28px}.home-hero .tagline{font-size:16px}.pagination a,.pagination span{min-width:36px;height:36px;font-size:14px}}
