*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--navy-900: #142c4d;--navy-800: #1a365d;--navy-700: #24507f;--blue-600: #2b6cb0;--blue-700: #235a94;--gold-400: #f4b942;--ink-900: #1a202c;--ink-700: #4a5568;--ink-500: #5b6b80;--line-200: #e2e8f0;--line-300: #cbd5e0;--bg-app: #f5f7fa;--bg-card: #ffffff;--radius-md: 8px;--radius-sm: 6px;--shadow-card: 0 4px 12px rgba(16, 42, 67, .08)}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-app);color:var(--ink-900);line-height:1.6;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:.75rem;z-index:100;background:var(--gold-400);color:var(--navy-900);font-weight:700;padding:.6rem 1rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);text-decoration:none;transition:top .15s}.skip-link:focus{top:0}:focus-visible{outline:3px solid var(--blue-600);outline-offset:2px}.site-nav :focus-visible,.site-footer :focus-visible{outline-color:var(--gold-400)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.site-nav{background:linear-gradient(120deg,var(--navy-700),var(--navy-900));color:#fff;padding:.75rem 1.5rem;display:flex;align-items:center;gap:2rem;flex-wrap:wrap}.site-nav__brand{font-size:1.3rem;font-weight:800;letter-spacing:-.02em;color:#fff;text-decoration:none;display:inline-flex;align-items:center;gap:.55rem}.site-nav__logo{color:#fff;flex:none}.site-nav__links{display:flex;gap:.5rem;list-style:none;margin-left:auto}.site-nav__links a{color:#bee3f8;text-decoration:none;padding:.35rem .75rem;border-radius:999px;font-weight:500}.site-nav__links a:hover{color:#fff;background:#ffffff1a}.site-nav__links a.active{color:#fff;background:#ffffff29;font-weight:600}.site-content{max-width:1200px;width:100%;margin:2rem auto;padding:0 1rem;min-height:55vh}.site-footer{text-align:center;padding:2.5rem 1.5rem;margin-top:2rem;border-top:1px solid var(--line-200);color:var(--ink-500);font-size:.875rem;display:flex;flex-direction:column;gap:.5rem}.site-footer a{color:var(--blue-600)}.site-footer__brand{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:700;color:var(--navy-800)}.site-footer__logo{color:var(--navy-800)}.site-footer__legal{font-size:.8rem;max-width:640px;margin:0 auto}.page-header{margin-bottom:2rem}.page-header h1{font-size:clamp(1.5rem,4vw,2.1rem);color:var(--navy-800);letter-spacing:-.02em;line-height:1.25}.page-header__sub{color:var(--ink-500);margin-top:.5rem;max-width:60ch}.job-list-layout{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start}@media (max-width: 800px){.job-list-layout{grid-template-columns:1fr;gap:1.25rem}}.job-filters{display:flex;flex-direction:column;gap:1rem;background:var(--bg-card);border:1px solid var(--line-200);border-radius:var(--radius-md);padding:1.25rem}@media (min-width: 801px){.job-filters{position:sticky;top:1rem}}.job-filters__heading{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-500)}.job-filters__group{display:flex;flex-direction:column;gap:.25rem;border:none}.job-filters__group label,.job-filters__group legend{font-weight:600;font-size:.875rem;color:var(--ink-700);margin-bottom:.1rem}.job-filters__group input,.job-filters__group select{padding:.5rem .6rem;border:1px solid var(--line-300);border-radius:var(--radius-sm);font-size:.9rem;background:#fff;width:100%}.job-filters__salary-inputs{display:flex;align-items:center;gap:.5rem;color:var(--ink-500)}.job-filters__salary-inputs input{flex:1;min-width:0}.job-filters__actions{display:flex;gap:.5rem;flex-wrap:wrap}.job-filters__actions button{padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid var(--line-300);background:#fff;color:var(--ink-700);cursor:pointer;font-size:.9rem;font-weight:500}.job-filters__actions button:hover:not(:disabled){background:var(--line-200)}.job-filters__actions button:disabled{opacity:.5;cursor:not-allowed}.job-list{list-style:none;display:flex;flex-direction:column;gap:1rem}.job-list__toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.job-list__count{color:var(--ink-500);font-size:.9rem}.job-list__sort{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-700)}.job-list__sort label{font-weight:600}.job-list__sort select{padding:.35rem .5rem;border:1px solid var(--line-300);border-radius:var(--radius-sm);font-size:.875rem;background:#fff}.job-list__empty{color:var(--ink-500);padding:3rem 1.5rem;text-align:center;background:var(--bg-card);border:1px dashed var(--line-300);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;gap:.5rem}.job-list__empty-title{font-weight:700;color:var(--ink-700);font-size:1.05rem}.job-list__empty .button{margin-top:.75rem}.job-card{background:var(--bg-card);border-radius:var(--radius-md);padding:1.25rem;border:1px solid var(--line-200);transition:box-shadow .15s,border-color .15s}.job-card:hover{box-shadow:var(--shadow-card);border-color:var(--line-300)}.job-card__title-link{text-decoration:none}.job-card__title-link:hover .job-card__title{text-decoration:underline}.job-card__title{font-size:1.1rem;color:var(--blue-600);line-height:1.35}.job-card__agency{color:var(--ink-700);font-size:.9rem;margin-top:.25rem}.job-card__meta{display:flex;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.job-card__meta span{font-size:.8rem;color:var(--ink-500);display:inline-flex;align-items:center;gap:.3rem}.job-card__meta svg{flex:none;opacity:.75}.job-detail-page{max-width:800px}.back-link{color:var(--blue-600);text-decoration:none;display:inline-block;margin-bottom:1.5rem}.back-link:hover{text-decoration:underline}.job-detail{background:var(--bg-card);border-radius:var(--radius-md);padding:2rem;border:1px solid var(--line-200)}.job-detail__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.job-detail__title{font-size:clamp(1.35rem,3.5vw,1.75rem);color:var(--navy-800);line-height:1.25}.job-detail__agency{color:var(--ink-700);font-size:1rem;margin-top:.5rem}.job-detail__meta{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.5rem;margin:1.5rem 0;padding:1rem 1.25rem;background:var(--bg-app);border-radius:var(--radius-sm)}.job-detail__meta dt{font-weight:600;color:var(--ink-700)}.job-detail__meta dd{color:var(--ink-900)}.job-detail__description{margin:1.5rem 0}.job-detail__description h2{font-size:1rem;margin-bottom:.5rem;color:var(--navy-800)}.job-detail__actions{margin-top:1.5rem}.job-detail__apply-btn{display:inline-block;background:var(--blue-600);color:#fff;padding:.75rem 1.5rem;border-radius:var(--radius-sm);text-decoration:none;font-weight:600}.job-detail__apply-btn:hover{background:var(--blue-700)}.job-detail__apply-note{color:var(--ink-500);font-size:.8rem;margin-top:.75rem}.button{display:inline-block;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;border:1px solid transparent}.button--primary{background:var(--blue-600);color:#fff}.button--primary:hover{background:var(--blue-700)}.button--secondary{background:#fff;color:var(--ink-700);border-color:var(--line-300)}.button--secondary:hover{background:var(--line-200)}.share-button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--line-300);border-radius:999px;background:#fff;color:var(--ink-700);font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap}.share-button:hover{background:var(--line-200)}.advertiser-page{max-width:640px}.advertiser-page h1{font-size:1.75rem;color:var(--navy-800);margin-bottom:.5rem}.advertiser-page__intro{color:var(--ink-500);margin-bottom:2rem}.advertiser-form{display:flex;flex-direction:column;gap:1.25rem;background:var(--bg-card);border:1px solid var(--line-200);border-radius:var(--radius-md);padding:1.5rem}.form-group{display:flex;flex-direction:column;gap:.25rem}.form-group label{font-weight:600;font-size:.9rem;color:var(--ink-700)}.form-group input,.form-group textarea,.form-group select{padding:.5rem .6rem;border:1px solid var(--line-300);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit}.form-group__hint{font-size:.78rem;color:var(--ink-500)}.advertiser-form__submit{background:var(--blue-600);color:#fff;padding:.75rem;border:none;border-radius:var(--radius-sm);font-size:1rem;cursor:pointer;font-weight:600}.advertiser-form__submit:hover:not(:disabled){background:var(--blue-700)}.advertiser-form__submit:disabled{opacity:.6;cursor:not-allowed}.submission-result{padding:1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.submission-result--success{background:#c6f6d5;color:#22543d}.submission-result--error{background:#fed7d7;color:#9b2c2c}.ad-banner{background:#fffbeb;border:1px solid #f6e05e;border-radius:var(--radius-sm);padding:1rem;font-size:.85rem}.ad-banner__label{font-size:.7rem;text-transform:uppercase;color:#b45309;display:block;margin-bottom:.25rem;letter-spacing:.05em}.ad-banner__link{text-decoration:none;color:inherit;display:block}.ad-banner__title{display:block;color:var(--blue-600);margin-bottom:.25rem}.ad-banner__body{color:var(--ink-700)}.ad-banner__sponsor{display:block;margin-top:.5rem;color:var(--ink-500);font-size:.75rem}.error-message{color:#9b2c2c;padding:1.25rem;background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.75rem;align-items:flex-start}.error-message a{color:#9b2c2c}.loading{padding:.5rem 0}.skeleton{background:linear-gradient(90deg,#e8edf3 25%,#f3f6fa,#e8edf3 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}.skeleton--header{height:4.5rem;max-width:560px;margin-bottom:1.5rem}.skeleton-list{display:flex;flex-direction:column;gap:1rem;max-width:880px}.skeleton--card{height:6.5rem}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.not-found{text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.not-found__logo{width:56px;height:56px;color:var(--navy-800);opacity:.9}.not-found__code{font-size:3.5rem;font-weight:800;color:var(--navy-800);line-height:1;letter-spacing:-.03em}.not-found h1{font-size:1.5rem;color:var(--ink-900)}.not-found__copy{color:var(--ink-500);max-width:46ch}.not-found__actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}
