:root{--brand:#0e7c86;--accent:#f2545b;--ink:#1f2937;--muted:#6b7280;--bg:#f6f8fa;--card:#fff;--radius:12px;--shadow:0 1px 3px #00000014;--line:#dce3e8;--link:#096570;--danger:#a82430;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:var(--link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit}button,summary,a,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--brand);outline-offset:4px}h1,h2,h3{letter-spacing:-.025em;line-height:1.2}h1{margin:.35em 0 .65em;font-size:clamp(1.9rem,5vw,2.8rem)}h2{margin:0 0 1rem;font-size:1.5rem}h3{font-size:1.15rem}p{margin:.75rem 0 1.25rem}main{max-width:1040px;min-height:65vh;margin:0 auto;padding:2.5rem 1.25rem 3rem}section+section{margin-top:2rem}.m,.muted{color:#596473;font-size:.94rem}.skip-link{z-index:100;background:#fff;padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:.5rem}.site-header{z-index:20;border-bottom:1px solid var(--line);box-shadow:var(--shadow);background:#fff;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1040px;min-height:76px;margin:auto;padding:.65rem 1.25rem;display:flex}.wordmark{letter-spacing:-.045em;color:var(--brand);font-size:1.25rem;font-weight:800;text-decoration:none}.wordmark span{color:var(--ink)}nav{align-items:center;gap:.75rem;display:flex}nav>a,nav summary,.mobile-menu>summary{min-height:44px;color:var(--ink);cursor:pointer;align-items:center;padding:.6rem .7rem;font-weight:600;text-decoration:none;display:flex}nav details{position:relative}nav details summary:after{content:"⌄";margin-left:.5rem}.island-menu{border:1px solid var(--line);border-radius:var(--radius);min-width:210px;box-shadow:var(--shadow);background:#fff;padding:.5rem;position:absolute;top:100%;left:0}.island-menu a{min-height:44px;padding:.65rem;display:block}.mobile-menu{display:none}summary{cursor:pointer}.hero{border-radius:var(--radius);background:linear-gradient(120deg,#e2f3f3,#f6f8fa);border:1px solid #d3e9e9;margin-bottom:2rem;padding:2rem}.hero .intro{max-width:760px;font-size:1.1rem}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--link);font-size:.78rem;font-weight:750}.badge,.chip{color:#334155;background:#edf3f5;border-radius:999px;align-items:center;min-height:28px;padding:.2rem .65rem;font-size:.8rem;font-weight:550;text-decoration:none;display:inline-flex}.badge{background:var(--brand);color:#fff;margin-left:.5rem}.new{color:#166534;letter-spacing:.05em;background:#dcf5e5;font-size:.7rem;font-weight:800}.chips{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.chips a{min-height:44px}.urgent{color:var(--danger);background:#fff0f1}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.job-list{gap:1rem;display:grid}.job-card{gap:1rem;padding:1.4rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.job-card:hover{border-color:var(--brand);box-shadow:0 3px 12px #0e7c861a}.avatar{width:48px;height:48px;color:var(--link);background:#e2f2f2;border-radius:50%;flex:none;place-items:center;font-weight:750;display:grid}.job-content{flex:1;min-width:0}.job-title{margin:0;font-size:1.05rem;line-height:1.4}.job-link{color:var(--ink);min-height:44px;padding:5px 0;text-decoration:none;display:inline-block}.job-link:after{content:"";border-radius:var(--radius);position:absolute;inset:0}.job-link:focus-visible{outline:0}.job-card:has(.job-link:focus-visible){outline:3px solid var(--brand);outline-offset:3px}.employer-link{z-index:1;align-items:center;min-height:44px;padding-bottom:.35rem;display:inline-flex;position:relative}.job-card .new{margin-left:.5rem}.job-card .chip{pointer-events:none}.filters{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:.75rem;margin:1.5rem 0;display:grid}.field{gap:.35rem;min-width:0;display:grid}label{font-size:.85rem;font-weight:650}input,select{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #aebbc5;border-radius:8px;padding:.65rem .75rem}.button,button{background:var(--brand);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;min-height:46px;padding:.65rem 1.15rem;font-weight:700;line-height:1.4;text-decoration:none;display:inline-flex}.button:hover,button:hover{filter:brightness(.92)}.button.coral{background:var(--accent);color:#321014}.secondary{color:var(--link);border:1px solid var(--line);background:#edf3f5}.results-bar{justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 .75rem;display:flex}.results-bar a{align-items:center;min-height:44px;display:flex}.category-row{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.category-row a{min-height:44px}.alert-card{background:#eaf5f5;border-color:#bcdede;margin-top:2rem}.alert-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.alert-form button{align-self:end}.consent{color:#495969;margin:.75rem 0 0;font-size:.85rem}.honeypot{display:none}.empty{text-align:center;padding:2rem}.empty .alert-card{text-align:left}.detail-grid{grid-template-columns:minmax(0,1fr) 290px;gap:2rem;margin-top:2rem;display:grid}.sidebar{flex-direction:column;align-self:start;gap:1rem;display:flex}.sidebar .button,.sidebar button{width:100%}.sidebar p{margin:.5rem 0}.notice{border-radius:var(--radius);background:#fff8e4;border:1px solid #ead9a1;margin-bottom:1.5rem;padding:1rem 1.2rem;font-size:.92rem}.desc{overflow-wrap:anywhere}.desc p{white-space:normal;line-height:1.75}.desc h3{margin-top:1.75rem}.desc ul{padding-left:1.3rem}.desc li{margin:.5rem 0}.desc dl{background:var(--bg);border-radius:8px;grid-template-columns:minmax(100px,1fr) 2fr;gap:.5rem 1rem;padding:1rem;display:grid}.desc dt{font-weight:700}.desc dd{margin:0}.desc details{margin-top:1rem}.desc summary{min-height:44px;color:var(--link);padding:.6rem 0;font-weight:700}.preview p:last-child{margin-bottom:0}.share-status{font-size:.85rem}.share-fallback{margin-top:.75rem}.narrow{max-width:680px;margin:auto}.directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.directory a{align-items:center;gap:1rem;min-height:70px;text-decoration:none;display:flex}.site-footer{border-top:1px solid var(--line);background:#fff}.footer-inner{color:#596473;max-width:1040px;margin:auto;padding:2rem 1.25rem;font-size:.9rem}.footer-links{flex-wrap:wrap;gap:.3rem 1.2rem;display:flex}.footer-links a{align-items:center;min-height:44px;display:flex}.footer-inner p{max-width:700px}.related{margin-top:2.5rem}@media (width<=850px){.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters .search-field{grid-column:1/-1}.filters button{width:100%}.detail-grid{grid-template-columns:minmax(0,1fr) 260px;gap:1.25rem}}@media (width<=650px){.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu[open] nav{border-bottom:1px solid var(--line);box-shadow:var(--shadow);background:#fff;flex-direction:column;align-items:stretch;padding:1rem;display:flex;position:absolute;top:100%;left:0;right:0}.mobile-menu nav .island-menu{box-shadow:none;border:0;position:static}.header-inner{min-height:66px}main{padding:1.5rem 1rem 2rem}.hero{padding:1.25rem}.hero h1{font-size:2rem}.job-card{gap:.75rem;padding:1rem}.avatar{width:40px;height:40px;font-size:.85rem}.job-title{font-size:1.05rem}.card{padding:1.25rem}.detail-grid{flex-direction:column;display:flex}.sidebar{order:-1;grid-template-columns:1fr;width:100%;display:grid}.alert-form,.directory{grid-template-columns:1fr}.filters{gap:.75rem}.filters button{grid-column:1/-1}.desc dl{grid-template-columns:1fr}.desc dd{margin-bottom:.65rem}.chips{gap:.35rem}}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.desc br{content:"";margin-bottom:.35rem;display:block}.job-card .new{position:absolute;top:1.4rem;right:1.4rem}.job-title:has(.new){padding-right:3.5rem}@media (width<=650px){.job-card .new{top:1rem;right:1rem}}.compact-header h1{margin:0 0 .75rem;font-size:clamp(1.5rem,4vw,2rem)}.compact-header .filters{margin:.75rem 0 0}.compact-header+.results-bar{margin-top:.5rem}
