/* Recruitment-only layout; brand artwork and shared colors are unchanged. */
.recruit-page .recruit-reading{max-width:900px}
.recruit-jump{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0 0;font-size:15px;font-weight:700}
.recruit-jump a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #d7dfe0;border-radius:6px;background:#fffdf8;color:var(--blue);line-height:1.7;text-align:center}
.recruit-jump a:hover{background:#eaf3f6}
.recruit-message p{font-size:17px;line-height:2;margin:20px 0}
.recruit-message h2{margin-bottom:26px}
.recruit-source-list{margin-bottom:30px}
.recruit-detail{margin-top:32px;border:1px solid #dfd8ca;border-radius:8px;background:#fffdf8}
.recruit-detail summary{padding:18px 22px;font-weight:700;line-height:1.8;color:var(--blue);cursor:pointer;min-height:48px}
.recruit-detail summary:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.recruit-detail-body{padding:0 24px 24px}
.recruit-detail-body h3:first-child{margin-top:8px}
.recruit-status{background:#edf4f6;border-left:4px solid var(--blue);padding:18px 22px;margin-top:28px;overflow-wrap:anywhere}
.recruit-status a,.recruit-return{text-decoration:underline;text-underline-offset:3px}
.recruit-job{margin-top:40px;border:1px solid #e1d8ca;border-radius:10px;overflow:hidden;background:#fffdf8;scroll-margin-top:24px}
.recruit-job>h3{background:#eaf3f6;margin:0;padding:22px 26px;border-bottom:1px solid #d5e1e3;font-size:24px}
.recruit-terms{margin:0;padding:0 26px}
.recruit-terms>div{grid-template-columns:145px minmax(0,1fr);gap:24px;padding:20px 0}
.recruit-terms>div:last-child{border-bottom:0}
.recruit-terms dt{color:#24556c}
.recruit-terms dd{min-width:0;overflow-wrap:anywhere;line-height:1.9}
.recruit-terms dd p{margin:0}
.recruit-terms dd p+p{margin-top:8px}
.recruit-return{display:inline-block;min-height:44px;margin:0 26px 14px;padding:8px 0;color:var(--blue);font-size:14px}
.recruit-application-note{font-size:14px;line-height:1.9;margin-top:18px}
.recruit-page #requirements,.recruit-page #recruit-message{scroll-margin-top:24px}
@media(max-width:640px){
 .recruit-jump{flex-direction:column;gap:10px}
 .recruit-jump a{width:100%;font-size:15px}
 .recruit-message p{font-size:16px;line-height:1.95}
 .recruit-job{margin-top:28px}
 .recruit-job>h3{padding:18px;font-size:22px}
 .recruit-terms{padding:0 18px}
 .recruit-terms>div{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 0}
 .recruit-terms dt,.recruit-terms dd{font-size:16px}
 .recruit-status{padding:16px 18px;font-size:15px}
 .recruit-detail summary{padding:16px 18px;font-size:16px}
 .recruit-detail-body{padding:0 18px 18px}
 .recruit-return{margin-left:18px;margin-right:18px}
}

/* Scope heading and spacing overrides to recruitment, after the shared rules. */
@media(min-width:641px) and (max-width:950px){
 .recruit-page main h2{font-size:26px;line-height:1.6}
 .recruit-page main .section{padding-top:44px;padding-bottom:44px}
}
@media(max-width:640px){
 .recruit-page main h2{font-size:22px;line-height:1.6;margin-top:10px;margin-bottom:16px;max-width:100%;white-space:normal;word-break:normal;line-break:strict;overflow-wrap:anywhere}
 .recruit-page main h3{font-size:19px;line-height:1.6}
 .recruit-page .recruit-job>h3{font-size:20px}
 .recruit-page main .section{padding-top:28px;padding-bottom:28px}
 .recruit-page .recruit-message h2{margin-bottom:16px}
}

/* Data-driven vacancies: only active records are rendered. */
.recruit-page .recruit-job-list{display:grid;gap:24px;margin-top:24px;scroll-margin-top:24px;min-width:0}
.recruit-page .recruit-job-list:empty{display:none}
.recruit-page #recruit-load-status{scroll-margin-top:24px}
.recruit-page .recruit-job-list .recruit-job-card{margin-top:0;min-width:0}
.recruit-page .recruit-list-status{margin:20px 0;padding:16px 20px;border:1px solid #d5e1e3;border-radius:6px;background:#edf4f6;line-height:1.8;overflow-wrap:anywhere}
.recruit-page .recruit-load-error{border-color:var(--orange)}
.recruit-page .recruit-job-overview{padding:18px 26px;line-height:1.8;overflow-wrap:anywhere}
.recruit-page .recruit-job-overview p{margin:6px 0 0}
.recruit-page .recruit-job-badge{display:inline-block;background:var(--blue);color:#fff;padding:3px 12px;border-radius:4px;font-size:14px;font-weight:700}
.recruit-page .recruit-job-details{border-top:1px solid #d5e1e3}
.recruit-page .recruit-job-details>summary{padding:16px 26px;color:var(--blue);font-size:16px;font-weight:700;line-height:1.8;cursor:pointer;min-height:48px;overflow-wrap:anywhere}
.recruit-page .recruit-job-details>summary:focus-visible{outline:3px solid var(--orange);outline-offset:-3px}
.recruit-page .recruit-card-contact{display:flex;flex-wrap:wrap;gap:10px 24px;margin:0;padding:12px 26px 22px}
.recruit-page .recruit-card-contact a{display:flex;align-items:center;min-height:44px;font-size:15px;color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:640px){
 .recruit-page .recruit-job-list{gap:20px}
 .recruit-page .recruit-job-overview{padding:16px 18px;font-size:16px}
 .recruit-page .recruit-job-details>summary{padding:16px 18px}
 .recruit-page .recruit-card-contact{flex-direction:column;gap:8px;padding:12px 18px 18px}
 .recruit-page .recruit-list-status{font-size:16px;padding:14px 16px}
}
