@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3,h4{margin:0 0 1rem;font-weight:600;line-height:1.2}p{margin:0 0 1rem}ul,ol{margin:0 0 1rem;padding-left:2rem}a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}img{max-width:100%;height:auto}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}[hidden]{display:none!important}:root{--primary-color: #0049b7;--gray-200: #e5e7eb;--gray-700: #374151;--link-color: #0066cc;--focus-ring-color: rgba(0, 73, 183, .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.5;color:#444;background-color:#fff}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}a{color:#0049b7;text-decoration:none}a:hover{text-decoration:underline}input:focus,button:focus,select:focus,textarea:focus{outline:none}img{vertical-align:middle;max-width:100%;height:auto}table{border-collapse:collapse;width:100%}th,td{padding:.5rem;text-align:left;border-bottom:1px solid #dee2e6}th{font-weight:600;background-color:#0049b71a}ul,ol{padding-left:1.5rem;margin-bottom:1rem}li{margin-bottom:.25rem}form{margin-bottom:1.5rem}label{display:block;margin-bottom:.25rem;font-weight:500}input,textarea,select{width:100%;padding:.5rem;border:1px solid #dee2e6;border-radius:.375rem;font-size:1rem}input:focus,textarea:focus,select:focus{border-color:#0049b7;outline:none;box-shadow:0 0 0 2px #0049b733}button{display:inline-block;padding:.5rem 1rem;background-color:#0049b7;color:#fff;border:none;border-radius:.375rem;cursor:pointer;text-decoration:none;font-size:1rem}button:hover{background-color:#003584;text-decoration:none}button:disabled{opacity:.6;cursor:not-allowed}.visually-hidden{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}.container{max-width:1140px;margin:0 auto;padding:0 1rem}@media (max-width: 768px){.container{padding:0 .5rem}}body{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding-top:1rem}header{background-color:#fff}header.site-header{border-bottom:1px solid #dee2e6}nav{display:flex;align-items:center;justify-content:space-between;padding:1rem;max-width:1140px;margin:0 auto}@media (max-width: 768px){nav{padding:1rem .5rem;flex-wrap:wrap}}nav .logo{font-size:1.25rem;font-weight:700;color:#0049b7;text-decoration:none}nav .logo:hover{text-decoration:none}nav .mobile-toggle{display:none;background:none;border:1px solid #dee2e6;padding:.25rem .5rem;border-radius:.375rem;cursor:pointer;color:#4b5563;font-size:1.125rem}nav .mobile-toggle:hover{color:#1f2937;border-color:#9ca3af}@media (max-width: 768px){nav .mobile-toggle{display:block}}nav .nav-menu{display:flex;list-style:none;margin:0;padding:0;gap:1rem}@media (max-width: 768px){nav .nav-menu{display:none;flex-direction:column;width:100%;padding:1rem 0;gap:0;border-top:1px solid #dee2e6;margin-top:1rem}nav .nav-menu.show{display:flex}nav .nav-menu>li{margin-bottom:.5rem}}nav .nav-menu li{margin:0;position:relative}nav .nav-menu a{padding:.5rem;border-radius:.375rem;transition:background-color .2s;display:block}nav .nav-menu a:hover{background-color:#0049b71a;text-decoration:none}footer{padding:2rem 0;margin-top:auto;width:100%}footer.site-footer{background-color:#f3f4f6;border-top:1px solid #dee2e6}footer .footer-content{max-width:1140px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;gap:1.5rem}@media (max-width: 768px){footer .footer-content{flex-direction:column;text-align:center;gap:1rem}}footer section:first-child{color:#4b5563;font-size:.875rem}footer section:first-child p{margin:0}footer section nav{display:flex;gap:1rem;padding:0}@media (max-width: 768px){footer section nav{flex-wrap:wrap;justify-content:center;gap:.5rem}}footer section nav a{font-size:.875rem;color:#4b5563;padding:0}footer section nav a:hover{color:#0049b7;background:none}section,article{margin-bottom:2rem}.breadcrumbs{margin:.25rem 0 1rem;padding:0;font-size:.875rem}.breadcrumbs ol,.breadcrumbs ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.breadcrumbs li{display:flex;align-items:center}.breadcrumbs li:not(:last-child):after{content:"›";margin-left:.25rem;color:#6b7280}.breadcrumbs a{color:#06c;text-decoration:underline}.breadcrumbs a:hover{color:#049}.breadcrumbs span{color:#4b5563}.hero{margin-bottom:2rem}.hero header{margin-bottom:1.5rem}.hero header h1{margin-bottom:1rem}.hero header p{font-size:1.125rem;color:#4b5563;margin-bottom:0}.search-form .search-inputs{display:flex;gap:1rem;width:100%}@media (max-width: 768px){.search-form .search-inputs{flex-direction:column;gap:.5rem}}.search-form .input-wrapper{flex:1;position:relative}.search-form .input-wrapper input{width:100%;padding:1rem;border:2px solid #dee2e6;border-radius:.375rem;background:#fff;font-size:1.125rem;transition:border-color .2s,box-shadow .2s;outline:none}.search-form .input-wrapper input:focus{border-color:#0049b7;box-shadow:0 0 0 3px #0049b71a}.search-form .input-wrapper input::placeholder{color:#6b7280}.search-form .input-wrapper .dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 4px 8px #00000026;z-index:1000;max-height:200px;overflow-y:auto;margin-top:2px;list-style:none;padding:0}.search-form .input-wrapper .dropdown-menu.invisible{display:none}.search-form .input-wrapper .dropdown-menu li{margin:0;border-bottom:1px solid #e5e7eb}.search-form .input-wrapper .dropdown-menu li:last-child{border-bottom:none}.search-form .input-wrapper .dropdown-menu li:hover{background-color:#f3f4f6}.search-form .input-wrapper .dropdown-menu li h2.dropdown-header{margin:0;padding:.25rem 1rem;font-size:.875rem;font-weight:600;color:#4b5563;background-color:#f9fafb;border-bottom:1px solid #e5e7eb;text-transform:uppercase;letter-spacing:.5px}.search-form .input-wrapper .dropdown-menu li h2.dropdown-header:hover{background-color:#f9fafb}.search-form .input-wrapper .dropdown-menu li a{display:block;padding:.5rem 1rem;color:#374151;text-decoration:none;cursor:pointer;transition:background-color .2s}.search-form .input-wrapper .dropdown-menu li a:hover{background-color:#f3f4f6;color:#111827}.search-form .input-wrapper .dropdown-menu li a:focus{outline:none;background-color:#0049b7;color:#fff}.search-form .input-wrapper .dropdown-menu li span,.search-form .input-wrapper .dropdown-menu li div{display:block;padding:.5rem 1rem;color:#374151;cursor:pointer;transition:background-color .2s}.search-form .input-wrapper .dropdown-menu li span:hover,.search-form .input-wrapper .dropdown-menu li div:hover{background-color:#f3f4f6;color:#111827}.search-form .input-wrapper .dropdown-menu li:empty{display:none}.search-form .input-wrapper .dropdown-menu::-webkit-scrollbar{width:6px}.search-form .input-wrapper .dropdown-menu::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.search-form .input-wrapper .dropdown-menu::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.search-form .input-wrapper .dropdown-menu::-webkit-scrollbar-thumb:hover{background:#6b7280}.search-form button{padding:1rem 2rem;background:#0049b7;color:#fff;border:2px solid #0049b7;border-radius:.375rem;font-weight:600;font-size:1.125rem;cursor:pointer;transition:all .2s;min-width:120px;flex-shrink:0}.search-form button:hover{background:#003584;border-color:#003584}.search-form button:focus{outline:none;box-shadow:0 0 0 3px #0049b733}@media (max-width: 768px){.search-form button{width:100%;padding:1rem}}.listings{margin-bottom:2rem}.listings>header{margin-bottom:1.5rem;padding-bottom:1rem}.listings>header h2{margin:0}.listings>header h2 a{color:#06c;text-decoration:underline}.listings>header h2 a:hover{color:#049}.listings article{display:flex;gap:1rem;padding:1.5rem 0}@media (max-width: 768px){.listings article{flex-direction:column-reverse;gap:.5rem}}.listings article>div{flex:1}.listings article>div header{margin-bottom:.5rem}.listings article>div header h3{margin:0 0 .25rem}.listings article>div header h3 a{color:#06c;text-decoration:underline}.listings article>div header h3 a:hover{color:#049}.listings article>div header .meta{margin-bottom:.25rem;color:#374151}.listings article>div header .meta .location{color:#4b5563}.listings article>div header .salary{font-weight:600;color:#0049b7;font-size:1.125rem}.listings article>div .tags{display:flex;gap:.25rem;margin-bottom:.5rem;flex-wrap:wrap}.listings article>div .tags time,.listings article>div .tags span{display:inline-block;background:#e5e7eb;color:#374151;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem}.listings article>div .tags .featured{background:#0049b7;color:#fff}.listings article>div .description{color:#374151;line-height:1.5}.listings article figure{flex-shrink:0;width:80px;height:80px;margin:0}@media (max-width: 768px){.listings article figure{width:60px;height:60px;align-self:flex-start}}.listings article figure img{width:100%;height:100%;object-fit:contain;border-radius:.375rem;border:1px solid #dee2e6}.browse{margin-bottom:2rem}.browse header{margin-bottom:1.5rem;padding-bottom:0}.browse header h2{margin:0}.browse header h2 a{color:#06c;text-decoration:underline}.browse header h2 a:hover{color:#049}.browse ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.5rem;list-style:none;padding:0;margin:0}@media (max-width: 768px){.browse ul{grid-template-columns:1fr}}.browse ul li{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid #dee2e6;line-height:1}.browse ul li a{color:#06c;text-decoration:underline;display:flex;align-items:center;gap:.25rem;margin:0;line-height:1}.browse ul li a:hover{color:#049}.browse ul li a img{flex-shrink:0;display:block}.browse ul li span{background:#0049b7;color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:600}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:none;align-items:center;justify-content:center;z-index:1050}.modal.show{display:flex}.modal .modal-dialog{background:#fff;border-radius:.375rem;max-width:500px;width:90%;max-height:90vh;overflow:auto}.modal .modal-dialog header,.modal .modal-dialog .modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6}.modal .modal-dialog header h2,.modal .modal-dialog header h3,.modal .modal-dialog header h4,.modal .modal-dialog .modal-header h2,.modal .modal-dialog .modal-header h3,.modal .modal-dialog .modal-header h4{margin:0}.modal .modal-dialog header .modal-close,.modal .modal-dialog .modal-header .modal-close{background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280}.modal .modal-dialog header .modal-close:hover,.modal .modal-dialog .modal-header .modal-close:hover{color:#374151}.modal .modal-dialog .modal-body,.modal .modal-dialog main{padding:1rem}.modal .modal-dialog footer,.modal .modal-dialog .modal-footer{display:flex;gap:.5rem;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6}.modal .modal-dialog footer form,.modal .modal-dialog .modal-footer form{display:flex!important;gap:.5rem;width:100%}.modal .modal-dialog footer form button,.modal .modal-dialog .modal-footer form button{padding:.5rem 1rem;border-radius:.375rem;font-weight:600;cursor:pointer;transition:background-color .2s;border:none}.modal .modal-dialog footer form button[type=submit],.modal .modal-dialog .modal-footer form button[type=submit]{background:#dc3545;color:#fff}.modal .modal-dialog footer form button[type=submit]:hover,.modal .modal-dialog .modal-footer form button[type=submit]:hover{background:#bd2130}.modal .modal-dialog footer form button[type=button],.modal .modal-dialog .modal-footer form button[type=button]{background:#6b7280;color:#fff}.modal .modal-dialog footer form button[type=button]:hover,.modal .modal-dialog .modal-footer form button[type=button]:hover{background:#545964}.dropdown{position:relative;display:inline-block}.dropdown .dropdown-toggle{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer}.dropdown .dropdown-toggle:after{content:"▼";font-size:.8em;transition:transform .2s}.dropdown .dropdown-toggle[aria-expanded=true]:after{transform:rotate(180deg)}.dropdown .dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border:1px solid #dee2e6;border-radius:.375rem;box-shadow:0 2px 8px #00000026;min-width:160px;z-index:1000;display:none;list-style:none;padding:.25rem 0;margin:0}.dropdown .dropdown-menu.show{display:block}.dropdown .dropdown-menu li{margin:0}.dropdown .dropdown-menu a,.dropdown .dropdown-menu button{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;color:#444;text-decoration:none;border-radius:0}.dropdown .dropdown-menu a:hover,.dropdown .dropdown-menu button:hover{background-color:#f3f4f6}.pagination{display:flex;list-style:none;padding:0;margin:1.5rem 0;justify-content:center;gap:.25rem}.pagination li{margin:0}.pagination a,.pagination span{display:block;padding:.5rem 1rem;border:1px solid #dee2e6;border-radius:.375rem;text-decoration:none}.pagination a:hover,.pagination span:hover{background-color:#f3f4f6}.pagination .active span{background-color:#0049b7;color:#fff;border-color:#0049b7}.pagination .disabled span{color:#9ca3af;cursor:not-allowed}.pagination .disabled span:hover{background-color:transparent}article:not(.job-detail):not(.listings article){width:100%;max-width:none;margin-bottom:2rem}article:not(.job-detail):not(.listings article) header{margin-bottom:1.5rem;padding-bottom:1rem}article:not(.job-detail):not(.listings article) header h1{margin-bottom:1rem;color:#111827}article:not(.job-detail):not(.listings article) header p{color:#4b5563;font-style:italic}article:not(.job-detail):not(.listings article) section{margin-bottom:2rem}article:not(.job-detail):not(.listings article) section h2{margin-top:2rem;margin-bottom:1rem;color:#1f2937;padding-bottom:.25rem}article:not(.job-detail):not(.listings article) section h3{margin-top:1.5rem;margin-bottom:1rem;color:#374151}article:not(.job-detail):not(.listings article) section p{margin-bottom:1rem;line-height:1.6}article:not(.job-detail):not(.listings article) section ul,article:not(.job-detail):not(.listings article) section ol{margin-bottom:1rem;padding-left:2rem}article:not(.job-detail):not(.listings article) section ul li,article:not(.job-detail):not(.listings article) section ol li{margin-bottom:.25rem;line-height:1.6}.btn{display:inline-block;padding:1rem 1.5rem;border-radius:.375rem;text-decoration:none;font-weight:600;border:none;cursor:pointer;transition:all .2s;font-size:1rem;line-height:1.5;text-align:center;vertical-align:middle;-webkit-user-select:none;user-select:none}.btn:hover{text-decoration:none}.btn:focus{outline:none;box-shadow:0 0 0 3px #0049b733}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:#0049b7;color:#fff;border:1px solid #0049b7}.btn.primary:hover{background:#003584;border-color:#003584;color:#fff}.btn.primary:focus{box-shadow:0 0 0 3px #0049b733}.btn.success{background:#28a745;color:#fff;border:1px solid #28a745}.btn.success:hover{background:#1e7e34;border-color:#1e7e34;color:#fff}.btn.success:focus{box-shadow:0 0 0 3px #28a74533}.btn.danger{background:#dc3545;color:#fff;border:1px solid #dc3545}.btn.danger:hover{background:#bd2130;border-color:#bd2130;color:#fff}.btn.danger:focus{box-shadow:0 0 0 3px #dc354533}.btn.secondary{background:#4b5563;color:#fff;border:1px solid #4b5563}.btn.secondary:hover{background:#353c46;border-color:#353c46;color:#fff}.btn.secondary:focus{box-shadow:0 0 0 3px #4b556333}.btn.small{padding:.5rem 1rem;font-size:.875rem}.btn.large{padding:1.5rem 2rem;font-size:1.125rem}.alert{position:relative;padding:1rem 1.5rem;margin-bottom:1rem;border-radius:.375rem;border:1px solid transparent;font-size:1rem;line-height:1.5;transition:opacity .3s ease,transform .3s ease}.alert .alert-close{position:absolute;top:0;right:0;padding:1rem;background:transparent;border:none;font-size:1.125rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s}.alert .alert-close:hover{opacity:1}.alert .alert-close:focus{outline:none;opacity:1}.alert.success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert.success .alert-close{color:#155724}.alert.error{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert.error .alert-close{color:#721c24}.alert.warning{color:#856404;background-color:#fff3cd;border-color:#ffeaa7}.alert.warning .alert-close{color:#856404}.alert.info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert.info .alert-close{color:#0c5460}.contact-form{max-width:600px;margin-bottom:2rem}.contact-form form .form-group{margin-bottom:1.5rem}.contact-form form .form-group label{display:block;font-weight:600;margin-bottom:.25rem;color:#374151}.contact-form form .form-group input,.contact-form form .form-group textarea{width:100%;padding:1rem;border:2px solid #dee2e6;border-radius:.375rem;font-family:inherit;font-size:1rem;line-height:1.5;outline:none;transition:border-color .2s,box-shadow .2s}.contact-form form .form-group input:focus,.contact-form form .form-group textarea:focus{border-color:#0049b7;box-shadow:0 0 0 3px #0049b71a}.contact-form form .form-group input::placeholder,.contact-form form .form-group textarea::placeholder{color:#6b7280}.contact-form form .form-group textarea{min-height:150px;resize:vertical}.contact-form form .form-group.has-error input,.contact-form form .form-group.has-error textarea{border-color:#dc3545}.contact-form form .form-group.hidden{display:none}.contact-form form .form-group .error-message{display:block;margin-top:.25rem;color:#dc3545;font-size:.875rem}.contact-form form .actions{margin-top:1.5rem}.job-detail{margin-bottom:2rem}.job-detail>header{margin-bottom:1.5rem;padding-bottom:1rem}.job-detail>header h1{margin:0 0 .5rem;word-break:break-word}.job-detail>header .company{display:flex;justify-content:space-between;align-items:center}.job-detail>header .company h2{margin:0;font-size:1.25rem;color:#374151}.job-detail>header .company .bookmark a{display:inline-block;padding:.25rem}.job-detail>header .company .bookmark a img{display:block}.job-detail .job-content{display:flex;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.job-detail .job-content{flex-direction:column;gap:1rem}}.job-detail .job-content .job-info{flex:1}.job-detail .job-content .job-info .info-item{display:flex;gap:.5rem;margin-bottom:.5rem}.job-detail .job-content .job-info .info-item strong{min-width:100px;color:#4b5563}.job-detail .job-content .job-info .info-item .salary{font-weight:600;color:#0049b7;font-size:1.125rem}.job-detail .job-content .job-info .info-item time{color:#374151}.job-detail .job-content .job-info .tags{margin-top:1rem}.job-detail .job-content .job-info .tags .featured{display:inline-block;background:#0049b7;color:#fff;padding:.25rem .5rem;border-radius:.375rem;font-size:.875rem;font-weight:600}.job-detail .job-content .company-logo{flex-shrink:0;width:100px;height:100px;margin:0}@media (max-width: 768px){.job-detail .job-content .company-logo{width:80px;height:80px;align-self:flex-start}}.job-detail .job-content .company-logo img{width:100%;height:100%;object-fit:contain;border-radius:.375rem;border:1px solid #dee2e6}.job-detail .job-description{margin-bottom:2rem;padding:1.5rem;background:#f9fafb;border-radius:.375rem;line-height:1.6;word-break:break-word}.job-detail .job-description h1,.job-detail .job-description h2,.job-detail .job-description h3,.job-detail .job-description h4{margin-top:1.5rem;margin-bottom:1rem}.job-detail .job-description h1:first-child,.job-detail .job-description h2:first-child,.job-detail .job-description h3:first-child,.job-detail .job-description h4:first-child{margin-top:0}.job-detail .job-description p{margin-bottom:1rem}.job-detail .job-description p:last-child{margin-bottom:0}.job-detail .job-description ul,.job-detail .job-description ol{margin-bottom:1rem;padding-left:1.5rem}.job-detail .job-application{margin-bottom:2rem}.job-detail .job-application>header{margin-bottom:1rem}.job-detail .job-application>header h3{margin:0;color:#1f2937}.job-detail .job-application .contact-info{margin-bottom:1.5rem;padding:1rem;background:#f9fafb;border-radius:.375rem}.job-detail .job-application .contact-info p{margin:0 0 .5rem}.job-detail .job-application .contact-info p:last-child{margin-bottom:0}.job-detail .job-application .contact-info a{color:#0049b7;text-decoration:underline}.job-detail .job-application .contact-info a:hover{color:#003584}.job-detail .job-application .application-form{margin-bottom:1.5rem}.job-detail .job-application .application-form .form-group{margin-bottom:1rem}.job-detail .job-application .application-form .form-group label{display:block;font-weight:600;margin-bottom:.25rem;color:#374151}.job-detail .job-application .application-form .form-group span{display:block;padding:.5rem;background:#f3f4f6;border-radius:.375rem;color:#374151}.job-detail .job-application .application-form .form-group textarea{width:100%;min-height:150px;padding:1rem;border:2px solid #dee2e6;border-radius:.375rem;font-family:inherit;font-size:1rem;line-height:1.5;outline:none;resize:vertical}.job-detail .job-application .application-form .form-group textarea:focus{border-color:#0049b7;box-shadow:0 0 0 3px #0049b71a}.job-detail .job-application .application-form .form-group textarea::placeholder{color:#6b7280}.job-detail .job-application .application-form .form-group.has-error textarea{border-color:#dc3545}.job-detail .job-application .application-form .form-group .error-message{display:block;margin-top:.25rem;color:#dc3545;font-size:.875rem}.job-detail .job-application .actions{margin-top:1rem}.job-detail .related-content{border-top:1px solid #dee2e6;padding-top:1.5rem}.job-detail .related-content .more-jobs p{margin:0;color:#374151}.job-detail .related-content .more-jobs p a{color:#0049b7;text-decoration:underline}.job-detail .related-content .more-jobs p a:hover{color:#003584}.ad{margin:1.5rem 0;text-align:center}.ad img{max-width:100%;height:auto}
