:root { color-scheme: light; --ink:#17221c; --muted:#68716b; --line:#dfe5e0; --paper:#f6f7f3; --accent:#175c3a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.6; }
a { color:inherit; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #6aa985; outline-offset:3px; }
.site-header { min-height:68px; padding:0 max(24px,calc((100% - 1120px)/2)); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; background:#fff; }
.site-header span { color:var(--muted); font-size:14px; }
.brand { font-weight:800; text-decoration:none; letter-spacing:-.03em; }
main { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:64px 0 96px; }
.hero { padding:11vh 0; max-width:760px; }
.hero h1,.page-heading h1,.detail-header h1 { line-height:1.14; letter-spacing:-.05em; margin:.2em 0; }
.hero h1 { font-size:clamp(44px,7vw,76px); }
.hero>p:not(.eyebrow) { color:var(--muted); font-size:19px; margin-bottom:36px; }
.eyebrow,.company { color:var(--accent); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.button,button { display:inline-block; border:0; border-radius:6px; background:var(--accent); color:#fff; padding:12px 20px; font-weight:700; text-decoration:none; cursor:pointer; }
.page-heading { margin-bottom:32px; }
.page-heading h1 { font-size:48px; }
.page-heading>p:last-child { color:var(--muted); }
.filters { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:12px; padding:20px; background:#fff; border:1px solid var(--line); border-radius:10px; margin-bottom:24px; }
.filters label { display:flex; flex-direction:column; gap:5px; color:var(--muted); font-size:12px; font-weight:700; }
.filters input,.filters select { width:100%; min-height:42px; border:1px solid var(--line); border-radius:5px; background:#fff; color:var(--ink); padding:8px 10px; font:inherit; }
.filters button { align-self:end; min-height:42px; }
.job-list { border-top:1px solid var(--ink); }
.job-card { display:grid; grid-template-columns:1fr auto; gap:24px; padding:28px 8px; border-bottom:1px solid var(--line); text-decoration:none; transition:background .15s; }
.job-card:hover { background:#fff; }
.job-card h2 { margin:3px 0; font-size:23px; letter-spacing:-.025em; }
.job-card h2,.job-card p,.detail h1,.facts dd,.preline,.siblings a { overflow-wrap:anywhere; }
.job-card p { margin:0; color:var(--muted); }
.job-card .company { color:var(--accent); }
.lifecycle-badge { display:inline-block; width:max-content; margin-top:10px; border-radius:999px; padding:4px 10px; background:#e7eee9; color:#305443; font-size:12px; font-weight:800; }
.lifecycle-active .lifecycle-badge,.lifecycle-badge.lifecycle-active { background:#dcefe4; color:#175c3a; }
.lifecycle-missing .lifecycle-badge,.lifecycle-badge.lifecycle-missing { background:#fff0c9; color:#765600; }
.lifecycle-closed .lifecycle-badge,.lifecycle-badge.lifecycle-closed { background:#e7e9e8; color:#4f5752; }
.lifecycle-historical-unknown .lifecycle-badge,.lifecycle-badge.lifecycle-historical-unknown { background:#ece8f3; color:#5c4b73; }
.tags { display:flex; flex-wrap:wrap; justify-content:flex-end; align-content:center; gap:7px; padding:0; list-style:none; }
.tags li { border:1px solid var(--line); border-radius:999px; background:#fff; padding:5px 10px; color:var(--muted); font-size:13px; }
.empty { padding:72px 10px; text-align:center; color:var(--muted); }
.pagination { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:36px; }
.pagination a { font-weight:700; }
.pagination span { color:var(--muted); }
.detail { max-width:850px; margin:0 auto; }
.back { display:inline-block; margin-bottom:30px; color:var(--muted); text-decoration:none; }
.detail-header { padding-bottom:38px; border-bottom:1px solid var(--ink); }
.detail-header h1 { font-size:clamp(38px,6vw,60px); }
.detail-header>p:not(.company) { color:var(--muted); font-size:18px; }
.detail-header .tags { justify-content:flex-start; margin-top:24px; }
.lifecycle-notice { margin-top:24px; border-left:3px solid var(--line); padding:4px 0 4px 14px; }
.lifecycle-notice p { margin:7px 0 0; color:var(--muted); font-size:14px; }
.lifecycle-notice .lifecycle-badge { margin-top:0; }
.facts { display:grid; grid-template-columns:repeat(2,1fr); margin:0 0 48px; }
.facts div { padding:22px 0; border-bottom:1px solid var(--line); }
.facts dt { color:var(--muted); font-size:13px; font-weight:700; }
.facts dd { margin:5px 0 0; }
.content-section { margin:48px 0; }
.content-section h2 { font-size:25px; letter-spacing:-.03em; }
.archive-section { margin:32px 0; }
.archive-section h3 { font-size:18px; }
.preline { white-space:pre-line; }
.siblings { padding-left:20px; }
.error-page { max-width:680px; padding:8vh 0; }
.error-page>p:not(.eyebrow) { color:var(--muted); margin-bottom:30px; }
@media (max-width:760px) { main{width:min(100% - 28px,1120px);padding-top:40px}.site-header span{display:none}.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.job-card{grid-template-columns:1fr}.job-card .tags{justify-content:flex-start}.facts{grid-template-columns:1fr}.hero h1{font-size:42px} }
