:root{font-family:"Segoe UI",Tahoma,sans-serif;color:#19382e;background:#f7faf8;font-size:16px;line-height:1.5}
*{box-sizing:border-box}
body{margin:0}
.masthead{display:flex;align-items:center;justify-content:space-between;padding:20px max(24px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid #dce6df;color:#526b61}
.wordmark{font:700 30px Georgia,serif;color:#19382e;text-decoration:none}
main{max-width:1120px;margin:auto;padding:36px 24px 70px}
h1{font-size:30px;line-height:1.2;font-weight:650;margin:0 0 28px}
h2{font-size:21px;font-weight:650}
form{display:grid;grid-template-columns:minmax(240px,1fr) 180px 190px auto;gap:18px;align-items:end;padding-bottom:28px;border-bottom:2px solid #19382e}
label{display:grid;gap:7px;font-size:14px;font-weight:600}
input,select,button{font:inherit;border-radius:5px}
input,select{width:100%;padding:11px 12px;border:1px solid #8ea397;background:#fff;color:#19382e;min-height:46px}
button{border:1px solid #197052;padding:11px 20px;background:#197052;color:#fff;cursor:pointer;min-height:46px}
button.secondary{background:#fff;color:#19382e;border-color:#8ea397}
button:disabled{opacity:.6;cursor:wait}
:focus-visible{outline:3px solid #1d7a59;outline-offset:3px}
.filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:18px;grid-column:1/-1;align-items:end}
.results-header{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:16px 0}
#status{color:#526b61}
#error{padding:14px;border-left:4px solid #a1352d;background:#fff3ef;color:#812921}
.job{padding:22px 0;border-bottom:1px solid #dce6df}
.job h3{margin:0 0 8px;font:600 23px/1.35 Georgia,Tahoma,serif}
.job p{margin:5px 0;color:#526b61}
.job button{margin-top:12px;padding:7px 14px;min-height:38px}
#load-more{margin-top:28px}
#job-detail{margin-top:36px;padding:24px;background:#fff;border:1px solid #8ea397}
.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}
#detail-meta{color:#526b61}
#description{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.7;max-width:80ch}
[hidden]{display:none!important}
@media(max-width:900px){form{grid-template-columns:1fr 1fr}.keyword{grid-column:1/-1}.filters{grid-template-columns:1fr 1fr}.filters button{grid-column:1/-1}.results-header{display:block}}
@media(max-width:520px){main{padding:26px 18px}form,.filters{grid-template-columns:1fr}.keyword,.filters,.filters button{grid-column:auto}.detail-heading{align-items:start;flex-direction:column}.masthead{padding:16px 18px}h1{font-size:26px}}
