.careers-page{--careers-rule:#cbd3c3;--careers-muted:#5f6e62;--careers-soft:#eaf0e2}
.careers-page .careers-mast{position:relative;isolation:isolate;overflow:hidden;padding:76px 8% 66px;background:var(--careers-soft);border-bottom:1px solid var(--careers-rule)}
.careers-mast:after{position:absolute;z-index:0;content:"";width:34vw;height:34vw;min-width:290px;min-height:290px;right:-8vw;top:-19vw;border:1px solid #bdcbb1;border-radius:50%;box-shadow:0 0 0 34px #dfe8d6,0 0 0 68px #e5ecde;pointer-events:none}
.careers-mast .eyebrow,.careers-roles .eyebrow,.careers-context .eyebrow,.careers-contact .eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:23px}
.careers-mast .eyebrow{position:relative;z-index:1}
.careers-page .careers-mast h1{position:relative;z-index:1;max-width:800px;font-size:clamp(62px,8.4vw,112px);letter-spacing:-.055em;line-height:.99;margin:0 0 28px}
.careers-page .careers-mast h1 em{color:#657b54}
.careers-lede{position:relative;z-index:1;max-width:700px;margin:0;font-size:19px;line-height:1.65;color:#4f6253}
.careers-jump{position:relative;z-index:1;display:inline-flex;align-items:center;gap:35px;margin-top:33px;padding:14px 0;border-bottom:1px solid #7b8f6b;font-size:14px;font-weight:600}
.careers-jump span{font-size:18px;color:#647d4e}
.mast-index{position:absolute;z-index:1;right:8%;bottom:66px;font:500 10px/1.7 'DM Sans',sans-serif;letter-spacing:1.8px;color:#687a63;text-align:right}
.careers-context{display:grid;grid-template-columns:.7fr 1.3fr;gap:8%;padding:82px 10% 90px;border-bottom:1px solid var(--careers-rule)}
.context-label{display:flex;justify-content:space-between;align-items:flex-start}
.context-label .eyebrow{color:#596c58}
.context-label>span{font:11px 'DM Sans',sans-serif;color:#758271}
.context-copy{max-width:740px}
.context-copy h2,.roles-intro h2,.careers-contact h2{font-size:clamp(34px,4.2vw,55px);font-weight:500;line-height:1.08;letter-spacing:-.045em;margin:0 0 26px}
.context-copy h2 em,.roles-intro h2 em,.careers-contact h2 em{color:#667d55}
.context-copy p,.roles-intro>p{font-size:16px;line-height:1.8;color:var(--careers-muted);max-width:690px}
.context-link{display:inline-flex;align-items:center;gap:32px;margin-top:10px;padding:12px 0;border-bottom:1px solid #89997e;font-size:13px;font-weight:600}
.careers-roles{padding:78px 8% 90px;background:#f1f3ec}
.roles-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:8%;height:auto;padding:0 0 42px;background:transparent;z-index:auto;border-bottom:1px solid var(--careers-rule)}
.roles-intro .eyebrow{margin-bottom:18px}
.roles-intro h2{margin-bottom:0}
.roles-intro>p{margin:0 0 5px;max-width:430px;font-size:15px}
.career-role{display:grid;grid-template-columns:55px minmax(0,1fr);gap:25px;padding:39px 0 41px;border-bottom:1px solid var(--careers-rule);scroll-margin-top:35px}
.role-rail{display:flex;flex-direction:column;align-items:center;gap:20px}
.role-number{font:12px 'DM Sans',sans-serif;color:#6c7b66;letter-spacing:.06em}
.role-marker{width:1px;flex:1;background:#cad4c2}
.career-role:last-child .role-marker{display:none}
.role-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:25px;padding-bottom:26px;border-bottom:1px solid #d9dfd3}
.role-function{font:600 10px 'DM Sans',sans-serif;letter-spacing:1.5px;color:#63735d;margin:0 0 12px}
.role-heading h3{font:500 clamp(24px,3vw,35px)/1.2 'Manrope',sans-serif;letter-spacing:-.035em;margin:0;max-width:760px}
.role-heading h3 span{color:#647565}
.location-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:34px;padding:7px 11px;border:1px solid #bdcbb3;background:#e7eddf;font:600 11px 'DM Sans',sans-serif;letter-spacing:.01em;color:#43563f;white-space:nowrap}
.role-description{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;padding-top:24px}
.role-description section{min-width:0}
.role-description h4{font:600 13px 'DM Sans',sans-serif;margin:0 0 13px}
.role-description p,.role-description li{font:400 13px/1.75 'DM Sans',sans-serif;color:#5e6d60}
.role-description p{margin:0}
.role-description ul{margin:0;padding-left:17px}
.role-description li{padding-left:2px;margin:0 0 8px}
.role-description li::marker{color:#82956c}
.role-apply{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:44px;margin-top:25px;padding:11px 15px;background:#142820;color:#f6f7f2;font:600 12px 'DM Sans',sans-serif}
.role-apply span{color:#d5f69a;font-size:15px}
.role-apply:hover{background:#294334}
.careers-contact{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;padding:75px 10%;background:#d5f69a}
.careers-contact .eyebrow{color:#526743}
.careers-contact h2{margin:0}
.careers-contact h2 em{color:#526743}
.careers-contact-copy>p:first-child{max-width:500px;color:#43583e;font-size:15px;line-height:1.75}
.careers-contact-link{display:inline-flex;align-items:center;gap:22px;min-height:44px;padding:8px 0;border-bottom:1px solid #81985d;font-size:16px;font-weight:600}
.careers-contact-link span{font-size:16px}
.careers-contact-note{margin:15px 0 0!important;color:#56694b;font-size:12px!important;line-height:1.6!important}
.careers-page a:focus-visible,.careers-page button:focus-visible,.careers-page summary:focus-visible{outline:3px solid #668640;outline-offset:5px}
@media(max-width:900px){
  .careers-page .careers-mast{padding:60px 6%}
  .careers-mast:after{right:-20vw;top:-16vw}
  .mast-index{right:6%;bottom:60px}
  .careers-context{padding:64px 7%;grid-template-columns:.55fr 1.45fr;gap:6%}
  .careers-roles{padding:62px 6% 70px}
  .role-description{grid-template-columns:1fr 1fr;gap:25px 34px}
  .role-description section:first-child{grid-column:1/-1}
  .careers-contact{padding:62px 7%}
}
@media(max-width:600px){
  .careers-page .careers-mast{padding:43px 6% 40px}
  .careers-page .careers-mast h1{font-size:clamp(55px,16vw,78px);margin-bottom:20px}
  .careers-page .careers-mast .eyebrow{font-size:9px;letter-spacing:1.35px;margin-bottom:18px}
  .careers-lede{font-size:16px;line-height:1.7;max-width:500px}
  .careers-jump{margin-top:25px}
  .careers-mast:after{display:none}
  .mast-index{display:none}
  .careers-context{display:block;padding:48px 6% 54px}
  .context-label{margin-bottom:24px}
  .context-copy h2,.roles-intro h2,.careers-contact h2{font-size:35px}
  .context-copy p{font-size:15px;line-height:1.75}
  .careers-roles{padding:49px 6% 52px}
  .roles-intro{display:block;padding-bottom:27px}
  .roles-intro h2{margin-bottom:18px}
  .roles-intro>p{font-size:14px;line-height:1.7}
  .career-role{grid-template-columns:24px minmax(0,1fr);gap:13px;padding:29px 0 31px}
  .role-rail{gap:14px}
  .role-heading{display:block;padding-bottom:19px}
  .role-heading h3{font-size:25px;line-height:1.22}
  .role-heading h3 span{display:block;margin-top:3px;font-size:.78em;line-height:1.35}
  .location-badge{margin-top:15px;min-height:32px}
  .role-description{display:block;padding-top:19px}
  .role-description section+section{margin-top:21px}
  .role-description p,.role-description li{font-size:13px;line-height:1.72}
  .role-apply{margin-top:22px}
  .careers-contact{display:block;padding:49px 6%}
  .careers-contact h2{margin-bottom:23px}
}
@media(max-width:360px){
  .careers-page .careers-mast{padding-inline:5%}
  .careers-page .careers-mast h1{font-size:55px}
  .careers-lede{font-size:15px}
  .careers-roles{padding-inline:5%}
  .career-role{grid-template-columns:19px minmax(0,1fr);gap:10px}
  .role-heading h3{font-size:23px}
  .location-badge{font-size:10px;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){
  .careers-page *, .careers-page *::before, .careers-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}