.jobs-main { clear:both; background:#fff; color:#223e59; font-family:Arial,sans-serif; }
.jobs-main * { box-sizing:border-box; }
.jobs-container { width:min(1160px,calc(100% - 40px)); margin:auto; }
.jobs-intro { display:grid; grid-template-columns:1.5fr 1fr; align-items:center; gap:60px; padding:40px 0; }
.jobs-eyebrow { display:block; font-size:10px; font-weight:700; letter-spacing:1.5px; color:#65809b; margin-bottom:14px; }
.jobs-main h1 { font-size:clamp(30px,3.5vw,43px); line-height:1.2; letter-spacing:-1px; color:#123b83; margin:0 0 20px; }
.jobs-main h2 { font-size:28px; color:#183e6c; line-height:1.25; margin:0 0 18px; }
.jobs-main h3 { font-size:19px; color:#22466f; line-height:1.35; margin:16px 0 13px; }
.jobs-main p { font-size:14px; line-height:1.8; color:#60758a; margin:0; }
.jobs-main a { color:#123b83; text-decoration:none; }
.jobs-main a:hover { text-decoration:underline; }
.jobs-main .jobs-button { display:inline-block; background:#123b83; color:white; padding:12px 20px; border-radius:6px; font-size:13px; font-weight:700; margin-top:22px; }
.jobs-intro img { width:100%; max-width:350px; height:auto; border-radius:10px; justify-self:end; }
.jobs-roles { padding:20px 0 40px; border-top:1px solid #e3eaf1; }
.jobs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:25px; }
.job-card { border:1px solid #dfe7ef; border-top:3px solid #e5b454; border-radius:9px; padding:24px; display:flex; flex-direction:column; }
.job-tag { font-size:10px; letter-spacing:1px; color:#6c8298; font-weight:700; }
.job-card ul { padding-left:17px; margin:15px 0 20px; color:#5d7389; font-size:13px; line-height:1.7; }
.job-card li { margin-bottom:7px; }
.job-card>a { margin-top:auto; font-size:12px; font-weight:700; }
.job-help { background:#edf3f9; padding:26px; border-radius:9px; }
.job-help h3 { font-size:24px; }
.job-help p+p { margin-top:14px; }
.jobs-apply { padding:30px 0 45px; border-top:1px solid #e3eaf1; scroll-margin-top:20px; }
.jobs-apply-intro { max-width:800px; }
.jobs-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:25px; }
.jobs-contact { border:1px solid #dfe7ef; border-radius:9px; padding:25px; scroll-margin-top:20px; }
.jobs-contact h3 { margin-top:0; padding-bottom:18px; border-bottom:1px solid #e3eaf1; }
.jobs-contact dl { margin:0; }
.jobs-contact dl>div { display:grid; grid-template-columns:1fr 1.2fr; gap:15px; padding:12px 0; border-bottom:1px solid #edf1f5; }
.jobs-contact dl>div:last-child { border:0; }
.jobs-contact dt { font-size:13px; color:#5c7289; }
.jobs-contact dd { margin:0; display:flex; flex-wrap:wrap; gap:4px 16px; }
.jobs-contact dd a { font-size:14px; font-weight:700; white-space:nowrap; }
.jobs-main .jobs-location-note { font-size:12px; margin-top:18px; }
.jobs-main :focus-visible { outline:3px solid #d79b30; outline-offset:4px; }
@media(max-width:950px) { .jobs-grid { grid-template-columns:repeat(2,1fr); } .jobs-intro { gap:30px; } }
@media(max-width:650px) { .jobs-intro,.jobs-grid,.jobs-contact-grid { grid-template-columns:1fr; } .jobs-intro { padding:28px 0; } .jobs-intro img { justify-self:start; max-width:290px; } .jobs-main h2 { font-size:25px; } .job-card,.jobs-contact { padding:22px; } .jobs-contact dl>div { grid-template-columns:1fr 1.2fr; gap:10px; } }

.job-card .job-locations { margin-top:12px; font-size:13px; color:#345879; }
.job-banner { display:block; width:calc(100% + 48px); max-width:none; height:112px; object-fit:cover; margin:-24px -24px 20px; border-radius:6px 6px 0 0; }
@media(max-width:650px) { .job-banner { width:calc(100% + 44px); margin:-22px -22px 20px; } }
#banner_wrapper .jobs-team-banner { display:block; width:100%; height:min(200px, 24vh); max-height:24vh; object-fit:cover; object-position:center 45%; }
@media(max-width:650px) { #banner_wrapper .jobs-team-banner { height:200px; object-fit:cover; } }
.jobs-bottom-team { margin:0 auto; padding:15px 0 0; text-align:center; }
.jobs-bottom-team img { display:block; width:100%; max-width:1050px; height:auto; margin:0 auto; }
