.careers-page { max-width:1200px; padding:88px 32px 0; }
.careers-page em { font-family:"DM Serif Display",Georgia,serif; font-weight:400; font-style:italic; font-synthesis:none; color:#0a66c2; letter-spacing:-.025em; }
.careers-hero { display:grid; grid-template-columns:1fr; gap:28px; padding-bottom:64px; }
.careers-hero .page-kicker { margin-bottom:24px; }
.careers-hero h1 { margin:0; font-size:clamp(46px,5.2vw,68px); line-height:1.06; letter-spacing:-.05em; }
.careers-hero-aside { max-width:620px; }
.careers-hero-aside p { margin:0; font-size:17px; line-height:1.6; color:#5d6065; text-wrap:balance; }
.careers-page .page-button { min-height:48px; padding:12px 22px; border-radius:8px; font-size:14px; font-weight:500; text-align:center; transition:background .15s,border-color .15s; }
.careers-page .page-button:hover { background:#343434; }
.careers-jobs { padding-top:40px; border-top:1px solid #dcdee1; scroll-margin-top:24px; }
.careers-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; margin-bottom:28px; }
.careers-section-heading h2 { margin:0; font-size:28px; font-weight:600; line-height:1.2; letter-spacing:-.035em; }
.careers-section-heading p { margin:0; color:#70747a; font-size:13px; white-space:nowrap; }
.jobs-panels { display:grid; gap:12px; min-width:0; align-content:start; }
.job-item { border:1px solid #dfe2e6; border-radius:10px; background:rgba(255,255,255,.86); scroll-margin-top:calc(var(--site-header-offset) + 24px); transition:border-color .15s,background .15s; }
.job-item summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px 24px; padding:24px 28px; list-style:none; cursor:pointer; }
.job-item summary::-webkit-details-marker { display:none; }
.job-intro h3 { margin:0; font-size:20px; line-height:1.3; letter-spacing:-.025em; font-weight:600; }
.job-summary { display:none; }
.job-location { grid-column:1; grid-row:2; font-size:12px; color:#686e76; line-height:1.5; }
.job-disclosure { grid-column:2; grid-row:1 / span 2; color:#555e69; font-size:12px; font-weight:500; }
.job-item:hover { border-color:#abbfd4; }
.job-item.is-selected,.job-item[open] { border-color:#8bafd2; background:#f5f9fd; }
.job-item.is-selected h3,.job-item[open] h3 { color:#0a66c2; }
.job-item[open] .job-show { display:none; }
.job-content { padding:0 28px 28px; }
.job-detail-columns { display:grid; gap:22px; padding:20px 0; border-top:1px solid #e8eaed; }
.job-content h4 { margin:0 0 10px; font-size:14px; font-weight:600; }
.job-content ul { margin:0; padding-left:16px; list-style:disc; }
.job-content li { padding-left:2px; font-size:13px; line-height:1.65; color:#5d626a; }
.job-content li + li { margin-top:8px; }
.job-content li::marker { color:#969ca5; font-size:9px; }
.job-apply { display:flex; margin:0; }
.careers-page .job-apply .page-button { min-height:36px; padding:8px 16px; border-radius:6px; font-size:12px; line-height:18px; width:auto; }
.jobs-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.is-enhanced .job-item > .job-content { display:none; }
.jobs-workspace.has-selection { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.has-selection .job-item summary { padding:24px; }
.has-selection .job-disclosure { display:none; }
.has-selection .job-intro h3 { font-size:18px; }
.job-panel { position:relative; min-width:0; padding:28px; background:#fff; border:1px solid #dfe2e6; border-radius:12px; scroll-margin-top:calc(var(--site-header-offset) + 24px); }
.job-panel[hidden] { display:none; }
.job-panel h3 { margin:0; font-size:24px; line-height:1.2; letter-spacing:-.035em; font-weight:600; }
.job-panel-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:12px; }
.job-panel-header .job-apply { flex-shrink:0; }
.job-panel-location { margin:0; color:#0a66c2; font-size:12px; font-weight:500; }
.job-panel-description { margin:18px 0 20px; max-width:440px; color:#656a71; font-size:14px; line-height:1.65; }
.job-panel .job-content { padding:0; }
.job-panel .job-detail-columns { padding-bottom:0; }

.job-panel h3:focus { outline:none; }
.careers-environment { display:grid; grid-template-columns:1fr 1fr; gap:100px; margin-top:96px; padding:64px 0; border-top:1px solid #dcdee1; }
.careers-environment .page-kicker { margin-bottom:20px; }
.careers-environment h2 { margin:0; font-size:clamp(34px,3.6vw,44px); line-height:1.12; letter-spacing:-.04em; }
.careers-team { display:flex; align-items:center; gap:16px; width:fit-content; min-height:48px; margin-top:28px; font-size:13px; font-weight:500; }
.careers-team:hover { color:#0a66c2; }
.careers-portraits { display:flex; gap:6px; }
.careers-portraits > span { display:block; width:42px; height:42px; overflow:hidden; border-radius:50%; }
.careers-portraits img { width:100%; height:100%; display:block; object-fit:cover; }
.careers-portraits > span:first-child img { transform:scale(1.65); transform-origin:50% 40%; }
.careers-reasons article + article { margin-top:24px; padding-top:24px; border-top:1px solid #e1e2e4; }
.careers-reasons h3 { margin:0 0 8px; font-size:17px; font-weight:600; line-height:1.4; letter-spacing:-.02em; }
.careers-reasons p { margin:0; max-width:440px; font-size:14px; line-height:1.7; color:#656a71; }
.careers-spontaneous { display:flex; align-items:center; justify-content:space-between; gap:48px; padding:36px 40px; margin:0 0 80px; border:1px solid #e0e2e5; border-radius:14px; background:rgba(255,255,255,.5); }
.careers-spontaneous h2 { margin:0 0 10px; font-size:22px; line-height:1.3; font-weight:600; letter-spacing:-.025em; }
.careers-spontaneous p { max-width:570px; margin:0; font-size:14px; line-height:1.7; color:#656a71; }
.careers-spontaneous .page-button { flex-shrink:0; min-width:144px; background:transparent; border-color:#ccd0d5; }
.careers-spontaneous .page-button:hover { background:#fff; border-color:#8e959e; }
.careers-page a:focus-visible,.job-item summary:focus-visible { outline:2px solid #0a66c2; outline-offset:5px; border-radius:4px; }
.job-item summary:focus-visible { outline-offset:-3px; }
@media(max-width:1050px) {

 .jobs-workspace.has-selection { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:16px; }
 .job-panel { padding:24px; }
 .careers-section-heading h2 { font-size:26px; }
 .careers-environment { gap:56px; }
}
@media(max-width:800px) {
 .careers-page { padding-top:56px; }
 .careers-hero { gap:24px; padding-bottom:48px; }
 .careers-hero h1 { font-size:clamp(40px,7vw,56px); }
 .careers-hero-aside p { font-size:16px; }
 .careers-hero .page-kicker { margin-bottom:18px; }
 .careers-jobs { padding-top:32px; }
 .careers-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:24px; }
 .careers-section-heading p { margin:0; white-space:nowrap; }
 .careers-environment { grid-template-columns:1fr; gap:40px; margin-top:64px; padding:48px 0; }
 .careers-spontaneous { padding:28px; gap:24px; margin-bottom:56px; }
}
@media(max-width:760px) {
 .jobs-workspace.has-selection { grid-template-columns:minmax(0,1fr); }
 .job-panel { margin:4px 0 12px; }
 .has-selection .job-disclosure { display:block; }
}
@media(max-width:540px) {
 .careers-page { padding:44px 22px 0; }
 .careers-hero h1 { font-size:clamp(37px,9.3vw,48px); }
 .careers-hero-aside p { font-size:15px; }
 .careers-section-heading h2 { font-size:24px; }
 .careers-section-heading p { font-size:12px; }
 .job-item summary,.has-selection .job-item summary { padding:22px 20px; column-gap:16px; }
 .job-intro h3,.has-selection .job-intro h3 { font-size:18px; }
 .job-disclosure { font-size:11px; }
 .job-content { padding:0 20px 24px; }
 .job-panel { padding:24px 20px; }
 .job-panel h3 { font-size:22px; }
 .careers-environment h2 { font-size:36px; }
 .careers-spontaneous { flex-direction:column; align-items:flex-start; padding:24px; }
 .careers-spontaneous .page-button { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .careers-page .page-button { transition:none; } }
