/* Jobs family: opportunity cards + readable detail column. Tokens come from shell.css. */
main#container.jobs-modern {width:min(60rem,100%) !important; max-width:60rem !important; min-width:0 !important; margin-inline:auto; padding:0 var(--space-3) var(--space-6); overflow-wrap:anywhere;}
.jobs-modern .archive-breadcrumbs {max-width:none !important; margin:var(--space-3) 0 0 !important; padding:0 !important; font-size:0.875rem !important; color:var(--muted);}
.jobs-modern .archive-breadcrumbs a {min-height:44px; color:var(--cyan-ink);}
.jobs-modern #page-top.text-only-hero {position:static; height:auto !important; min-height:0 !important; overflow:visible; background:none; width:auto !important; margin:0;}
.jobs-modern #page-top-inner {width:auto !important; max-width:none; padding:var(--space-5) 0 var(--space-4); margin:0;}
.jobs-modern #page-top-left {width:auto; float:none; display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2) var(--space-3);}
.recruitment-page.jobs-modern #page-top h1,.recruitment-page.jobs-modern #page-top h1.image-transcription {margin:0; padding:0; font-size:clamp(1.9rem,4.4vw,3.2rem); line-height:1.3; font-weight:700; color:var(--coral-ink);}
.jobs-modern .label_2 {display:inline-flex; align-items:center; margin:0; padding:4px var(--space-3); border-radius:999px; background:var(--cyan-wash); color:var(--cyan-ink); font-size:0.875rem; font-weight:500; line-height:1.6;}
.jobs-modern #page-top-left .label_2 {align-self:flex-end; margin-bottom:var(--space-1);}
.jobs-modern .clear {display:none;}

/* List */
.jobs-modern #jobs {max-width:none; margin:0; padding:0;}
.jobs-modern #jobs .left.job-grid {display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,17.5rem),1fr)); gap:var(--space-4); align-items:stretch;}
.job-card {display:flex; flex-direction:column; gap:var(--space-3); min-width:0; padding:var(--space-4); background:var(--white); border:1px solid var(--line); border-radius:12px; transition:border-color 180ms var(--ease-out);}
.job-card:hover,.job-card:focus-within {border-color:var(--coral);}
.jobs-modern #jobs .title {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2) var(--space-3); padding:0; border:0; min-height:3.5rem;}
.jobs-modern #jobs .label_1 {margin:0; font-size:1.5rem; line-height:1.4; font-weight:700; color:var(--cyan-ink);}
.jobs-modern #jobs .brief {flex:1; text-wrap:pretty; font-size:1.0625rem; padding:0; line-height:1.8; color:var(--ink);}
.jobs-modern #jobs .brief .row {max-width:36em;}
.jobs-modern .more {display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-2);}
.jobs-modern .more a {display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:var(--space-2) var(--space-3); border:1px solid var(--cyan-ink); border-radius:12px; font-weight:700; line-height:1.5; text-decoration:none; background:var(--white); color:var(--cyan-ink); transition:background-color 180ms var(--ease-out),color 180ms var(--ease-out);}
.jobs-modern .more .link_1 {background:var(--white); color:var(--cyan-ink);}
.jobs-modern .more .link_2 {background:var(--cyan-ink); color:var(--white);}
.jobs-modern .more a:hover {background:var(--coral-ink); border-color:var(--coral-ink); color:var(--white); text-decoration:underline;}
.jobs-modern #jobs .more a {flex:1 1 auto;}

/* Detail: one readable column */
main#container.jobs-detail {width:min(46rem,100%) !important; max-width:46rem !important;}
.jobs-detail #job_detail {max-width:none; margin:0; padding:0;}
.jobs-detail #job_detail .inner {border:0; padding:0;}
.jobs-detail #job_detail .content {padding:0; display:block;}
.jobs-detail #job_detail .left {width:auto; float:none;}
.jobs-detail #job_detail h2 {margin:var(--space-6) 0 var(--space-3); font-size:clamp(1.4rem,2.8vw,2.1rem); line-height:1.4; color:var(--coral-ink);}
.jobs-detail #job_detail h2:first-child {margin-top:0;}
.jobs-detail #job_detail ul,.jobs-detail .job-list {list-style:disc; margin:0; padding-left:var(--space-4); max-width:36em;}
.jobs-detail #job_detail li {padding-left:var(--space-1); margin-bottom:var(--space-2); line-height:1.8;}
.jobs-detail #job_detail li::marker {color:var(--cyan);}
.jobs-detail #job_detail p {max-width:36em;}
.jobs-detail #job_detail .more {margin-top:var(--space-6); padding-top:var(--space-4); border-top:1px solid var(--line);}
.jobs-detail #job_detail .more a {padding-inline:var(--space-5);}
.jobs-modern .demo-note {white-space:normal;}
@media (max-width:480px) {
  .jobs-modern {padding-inline:var(--space-3);}
  .job-card {padding:var(--space-3);}
}
.jobs-detail .job-dash {display:none;}
