.illustrated-intro{display:grid;align-items:center;gap:30px}
.illustrated-intro .intro-copy{min-width:0}
.illustrated-intro .contact-opening{display:block;margin-top:32px}
.illustrated-intro .contact-opening p{font-size:clamp(21px,2vw,27px)}
.illustrated-intro .contact-address{display:inline-block;margin-top:28px;font-size:clamp(18px,5vw,27px);white-space:nowrap;letter-spacing:-.03em}
.page-illustration{margin:0;min-width:0;width:100%;justify-self:center;max-width:620px}
.page-illustration img{display:block;width:100%;height:auto;object-fit:contain}
.careers-page{--display:'Kumbh Sans',sans-serif;--ink:#002fa7;--muted:#405984;--wash:#f4f7ff}
.careers-page .page{width:100%;max-width:1280px;margin:auto;padding:70px var(--gutter) 110px}
.careers-page .page .eyebrow{font:18px/1.4 'Hanken Grotesk',sans-serif;text-transform:none;letter-spacing:0;margin-bottom:28px;color:var(--blue)}
.careers-page .page h1{font-family:var(--display);font-size:clamp(46px,6vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1.09;max-width:18ch;margin:0}
.careers-page .page .lede{font-size:clamp(21px,2.3vw,28px);line-height:1.5;max-width:36ch;margin:30px 0}
.career-hero{display:grid;align-items:center;gap:32px;margin-bottom:48px}
.careers-page .career-hero h1{font-size:clamp(46px,4.9vw,70px);max-width:17ch;text-wrap:balance}
.careers-page .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:32px 0 0;padding:30px 0;border-block:1px solid #c5d1ef;color:var(--blue)}
.careers-page .facts>div{min-width:0}
.careers-page .facts dt{font-size:17px;line-height:1.4;margin:0 0 10px;color:var(--muted)}
.careers-page .facts dd{font-size:22px;line-height:1.4;letter-spacing:-.02em;margin:0;max-width:24ch}
.careers-page .role-grid{display:grid;grid-template-columns:1fr;gap:0;margin-top:36px}
.careers-page .career-roles{padding:72px 0 0;scroll-margin-top:0}
.roles-intro{display:grid;gap:24px}
.careers-page .roles-intro h2{font:500 clamp(32px,3.4vw,46px)/1.15 var(--display);letter-spacing:-.04em;max-width:20ch;margin:0}
.careers-page .roles-intro p{font-size:22px;line-height:1.5;max-width:46ch}
.careers-page .career-find{margin-top:4px}
.careers-page .recruitment-availability{font-size:18px;line-height:1.5;margin:0 0 24px}
.careers-page .role-card{display:grid;gap:18px;padding:38px 0;border:0;border-top:1px solid #c5d1ef;background:none}
.careers-page .role-heading,.careers-page .role-summary{display:flex;flex-direction:column;align-items:flex-start;gap:24px;min-width:0}
.careers-page .role-card .eyebrow{margin:0;font-size:17px}
.careers-page .role-card h2{font:500 clamp(28px,3.2vw,42px)/1.15 var(--display);letter-spacing:-.035em;max-width:24ch}
.careers-page .role-card p{font-size:20px;line-height:1.5;max-width:45ch;color:var(--blue)}
.careers-page .role-card .role-cta{font-size:19px;min-height:56px;margin-top:6px;justify-self:start;align-self:start;padding:14px 26px;text-decoration:none}
.careers-page .prose{max-width:1050px}
.careers-page .prose p{font-size:21px;line-height:1.65;max-width:54ch;margin:24px 0}
.careers-page .prose h2{font:500 clamp(30px,3.8vw,46px)/1.18 var(--display);letter-spacing:-.035em;margin-top:58px;max-width:27ch;text-wrap:balance}
.careers-page .primary{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 26px;border:1px solid var(--blue);border-radius:999px;background:var(--blue);color:#fff;font-size:19px;font-weight:500;line-height:1.4;text-decoration:none;transition:background 180ms,color 180ms}
@media(hover:hover){.careers-page .primary:hover{background:#fff;color:var(--blue)}}
.careers-page .primary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}
.careers-page .role-apply-top{margin:0 0 30px}
.career-back{display:inline-flex;align-items:center;min-height:48px;margin-bottom:28px;font-size:18px;text-underline-offset:6px}
.careers-page .application-shell{padding-top:46px}
.careers-page[data-page=application] .page h1{font-size:clamp(39px,4.6vw,64px)}
.careers-page .application-aside{top:108px}
.careers-page .application-main h1{font:500 clamp(30px,3.5vw,44px)/1.16 var(--display);letter-spacing:-.045em}
.careers-page .application-main h2{font-family:var(--display)}
.careers-page .application-main p{line-height:1.6}
.careers-page .local-banner{margin:24px auto 0;padding:12px 20px;max-width:1000px;background:#f4f7ff;color:var(--blue);font-size:15px;line-height:1.5;border-radius:12px}
.careers-page .screen-nav{border:0}
.careers-page .screen-body{font-size:20px}
.careers-page .start-panel{border:0;padding:24px 0}
.careers-page .start-panel h2{font-size:28px}
.careers-page .start-panel label{font-size:17px}
.careers-page .check-label{gap:14px}
.careers-page .privacy-tools{font-size:15px}
.careers-page .application-main .primary{margin-top:10px}
.careers-page .garden-footer{margin-top:40px}
@media(min-width:760px){
 .illustrated-intro{grid-template-columns:1.05fr 1fr;gap:5%;padding-block:70px 100px}
 .illustrated-intro h1{font-size:clamp(60px,8vw,122px)}
 .illustrated-intro .contact-address{font-size:clamp(19px,2.3vw,29px)}
 .career-hero{grid-template-columns:1.15fr 1fr;gap:6%}
 .career-hero .page-illustration{padding-top:25px}
 .roles-intro{grid-template-columns:1fr 1fr;column-gap:10%;align-items:start}
 .careers-page .role-card{grid-template-columns:1fr 1fr;column-gap:10%;padding-block:46px}
 .careers-page .role-card{align-items:start}
}
@media(max-width:759px){
 .illustrated-intro{padding-top:50px;padding-bottom:65px;gap:44px}
 .page-illustration{max-width:420px}
 .careers-page .page{padding-top:48px;padding-bottom:64px}
 .careers-page .page h1{font-size:clamp(43px,9vw,62px)}
 .career-hero{margin-bottom:32px;gap:22px}
 .careers-page .facts{grid-template-columns:1fr;gap:22px;margin:24px 0 0;padding:26px 0}
 .careers-page .facts>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px}
 .careers-page .facts dt{font-size:16px;margin:2px 0 0}
 .careers-page .facts dd{font-size:19px;max-width:none}
 .careers-page .career-roles{padding:44px 0 0;scroll-margin-top:0}
 .careers-page .roles-intro p{font-size:20px}
 .careers-page .role-grid{margin-top:28px}
 .careers-page .role-card{padding-block:30px;gap:16px}
 .careers-page .role-heading,.careers-page .role-summary{gap:16px}
 .careers-page .role-card h2{margin:0}
 .careers-page .role-card p{font-size:20px;margin:0}
 .careers-page .role-card .role-cta{margin-top:4px}
 .careers-page .career-find{margin-top:0}
 .careers-page .recruitment-availability{font-size:17px;margin-bottom:20px}
 .careers-page .prose p{font-size:20px}
 .careers-page .local-banner{margin:18px 18px 0;font-size:14px;text-align:left}
 .careers-page .application-shell{padding-top:26px}
 .careers-page .screen-body{font-size:18px}
}

@media(max-width:359px){.careers-page .facts>div{grid-template-columns:1fr;gap:6px}.careers-page .facts dt{margin:0}}

/* Public role reading stays centred without altering the application controls. */
@media(max-width:800px){
 .careers-page .page,.illustrated-intro{text-align:center}
 .illustrated-intro :is(h1,.contact-opening p),.careers-page .page :is(h1,h2,.lede,.roles-intro p,.facts dd,.prose p){margin-inline:auto}
 .careers-page .role-heading,.careers-page .role-summary{align-items:center}
 .careers-page .role-card .role-cta{align-self:center;justify-self:center}
 .careers-page .facts>div{display:block}
 .careers-page .facts dt{margin-bottom:8px}
 .careers-page .prose{margin-inline:auto}
 .careers-page .prose ul{padding-left:0;list-style-position:inside}
}
