:root{--bg:#f6f7f9;--surface:#fff;--text:#1a1d24;--muted:#58606e;--border:#dfe3ea;--ink:var(--ink-l,#1d4ed8);--err:#b42318;--errbg:#fef3f2;--okbg:#ecfdf3;--ok:#067647;--shadow:0 1px 2px rgba(16,24,40,.06),0 4px 14px rgba(16,24,40,.05);color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0e1116;--surface:#171b22;--text:#eceff4;--muted:#a3adbd;--border:#2b323d;--ink:var(--ink-d,#8ab4ff);--err:#ff9b92;--errbg:#3a1714;--okbg:#0f2d1d;--ok:#6ee7a0;--shadow:none}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}
main,.site-head,.site-foot{width:100%;box-sizing:border-box}main{flex:1 0 auto}   /* the footer stays at the bottom of the window on short pages */
a{color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
h1,h2,h3{line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.4rem)}h2{font-size:1.3rem}h3{font-size:1.1rem}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
.narrow{max-width:640px}.center{text-align:center;padding-top:64px;padding-bottom:64px}
.skip{position:absolute;left:-999px;top:0;background:var(--surface);padding:8px 12px;z-index:10}.skip:focus{left:8px;top:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site-head{background:var(--surface);border-bottom:1px solid var(--border)}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;font-size:1.1rem;min-width:0}
.brand img{height:40px;width:auto;max-width:140px;object-fit:contain;border-radius:6px}
.brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.signin{font-size:.85rem;color:var(--muted);white-space:nowrap}
.hero{background:var(--accent);color:var(--on-accent);padding:40px 0}
.hero h1{margin-bottom:.3em;overflow-wrap:anywhere}.hero p{margin:.3em 0;max-width:60ch}.hero .tagline{font-size:1.15rem;font-weight:600}
.btn{display:inline-block;background:var(--accent);color:var(--on-accent);border:2px solid var(--accent);border-radius:8px;padding:10px 18px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;text-align:center;transition:filter .15s}
.btn:hover{filter:brightness(1.08)}.btn:disabled{opacity:.6;cursor:wait}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--border)}.btn.small{padding:4px 12px;font-size:.88rem}.btn.block{display:block;width:100%}
.filters{display:grid;grid-template-columns:2fr 1.2fr 1.2fr 1fr auto;gap:12px;align-items:end;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin:-24px 0 24px;position:relative;box-shadow:var(--shadow)}
.f label,.fld label{display:block;font-size:.85rem;font-weight:600;margin-bottom:4px}
input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 11px;min-height:42px}
input[type=file]{padding:7px}
.f-btn{display:flex;gap:10px;align-items:center}.clear{font-size:.9rem}
.count{font-size:1.05rem;color:var(--muted);font-weight:600}
.jobs{list-style:none;padding:0;margin:0 0 48px;display:grid;gap:14px}
.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;box-shadow:var(--shadow)}
.job-card h3{margin-bottom:.2em;overflow-wrap:anywhere}.job-card h3 a{text-decoration:none;color:var(--text)}.job-card h3 a:hover{color:var(--ink);text-decoration:underline}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:.2em 0;color:var(--muted);font-size:.92rem}
.dot{opacity:.6}
.chip{border:1px solid var(--border);border-radius:99px;padding:1px 10px;font-size:.8rem;font-weight:600;color:var(--text)}
.chip.remote{background:var(--okbg);color:var(--ok);border-color:transparent}
.excerpt{margin:.6em 0;color:var(--text);overflow-wrap:anywhere}
.job-card .foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:.4em 0 0;font-size:.88rem;color:var(--muted)}
.more{font-weight:600}
.empty{text-align:center;padding:40px 20px;margin-bottom:48px}
.job-wrap{padding-top:20px;padding-bottom:56px}
.crumbs{margin-bottom:12px;font-size:.92rem}
.job-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}
@media (min-width:900px){.job-grid{grid-template-columns:minmax(0,1fr) 400px}.apply{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}}
.job-main h1{overflow-wrap:anywhere}.posted{color:var(--muted);font-size:.9rem;margin:.2em 0}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}.share-l{font-size:.88rem;color:var(--muted)}
.desc{margin:18px 0;overflow-wrap:anywhere}.desc ul{padding-left:1.3em}.desc li{margin:.25em 0}
.about{margin-top:24px;overflow-wrap:anywhere}
.fld{margin-bottom:12px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:480px){.row2{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.hero{padding:28px 0}}
@media (min-width:481px) and (max-width:820px){.filters{grid-template-columns:1fr 1fr}.f-q,.f-btn{grid-column:1/-1}}
.req{color:var(--err)}.opt,.hint{color:var(--muted);font-weight:400;font-size:.82rem}.hint{margin:4px 0 0}.priv{margin-top:12px}
.msg{color:var(--err);font-size:.85rem;margin:4px 0 0}
.fld.bad input,.fld.bad textarea{border-color:var(--err)}
.banner{border-radius:8px;padding:10px 12px;margin-bottom:12px;font-size:.92rem}.banner.err{background:var(--errbg);color:var(--err)}
.err{color:var(--err)}
.ok{background:var(--okbg);color:var(--text);border-radius:10px;padding:12px}.ok h2{color:var(--ok)}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.site-foot{margin-top:auto;border-top:1px solid var(--border);background:var(--surface);padding:20px 0;color:var(--muted);font-size:.9rem}.site-foot p{margin:.2em 0}.small{font-size:.8rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.autofill{margin-top:8px}.autofill .hint{margin:6px 0 0}
.fld input.filled{border-color:var(--ok);box-shadow:0 0 0 2px var(--okbg)}

/* public pages: one control height (44 px), the same radius, a custom chevron on selects, one focus style */
input,select,textarea{border-radius:10px;min-height:44px;padding:10px 12px;line-height:20px}
textarea{min-height:96px}
select{-webkit-appearance:none;appearance:none;padding-right:36px;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%2358606E' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px}
@media (prefers-color-scheme:dark){select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23A3ADBD' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}}
input[type=file]{padding:9px 12px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;line-height:1.2}
.btn.small{min-height:36px}
.filters .f-btn .btn{min-height:44px}
a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent;border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 28%,transparent)}
input:disabled,select:disabled,textarea:disabled{opacity:.7;cursor:not-allowed}
