/* Careers uses the marketing site's type, grid and four-tone palette.
   Use complete frames or edge-to-edge section rules. Within content,
   separate sections with spacing instead of floating horizontal rules. */
.careers-page{--careers-orange:#C74D18;}
.careers-skip{position:absolute;top:12px;left:var(--pad);z-index:10;
  padding:12px 18px;background:var(--paper);transform:translateY(-180%);}
.careers-skip:focus{transform:translateY(0);}
.careers-mast-copy{display:flex;flex-direction:column;justify-content:flex-end;}
.careers-mast-title{font-family:var(--font-display);font-size:30px;line-height:36px;
  font-weight:300;letter-spacing:var(--disp-tracking-md);}
.careers-label{font-size:10px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;}

.careers-hero{padding:48px 0;background-color:var(--paper);
  background-image:var(--grid);background-size:var(--grid-size);}
.careers-hero .grid{row-gap:0;}
.careers-hiring{grid-column:1/-1;display:flex;align-items:center;gap:10px;margin-bottom:36px;}
.careers-hiring span{width:8px;height:8px;flex:none;background:var(--rd-mid);
  animation:careers-hiring-blink 1s steps(1,end) infinite;}
@keyframes careers-hiring-blink{0%,100%{opacity:1;}50%{opacity:0;}}
.careers-hero h1{grid-column:1/-1;font-size:clamp(42px,5.5vw,80px);
  font-weight:200;line-height:1.15;letter-spacing:-.055em;}

.careers-about{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);
  padding:64px var(--pad);background-color:var(--paper);
  background-image:var(--grid);background-size:var(--grid-size);}
.careers-about-visual{grid-column:1/5;position:relative;isolation:isolate;}
.careers-about h2{font-family:var(--font-body);font-size:16px;font-weight:400;line-height:1.75;letter-spacing:normal;margin-bottom:20px;}
.careers-about-logo{position:absolute;z-index:-1;pointer-events:none;left:48px;top:50%;
  width:clamp(150px,16vw,220px);aspect-ratio:37/40;transform:translateY(-50%);
  background-image:radial-gradient(circle,var(--fill) 1.2px,transparent 1.4px);background-size:var(--grid-size);
  background-position:var(--logo-grid-x,0px) var(--logo-grid-y,0px);
  -webkit-mask:url('/assets/brand/yarrow_mark.svg') center/contain no-repeat;
  mask:url('/assets/brand/yarrow_mark.svg') center/contain no-repeat;}
.careers-about-logo.has-canvas{background-image:none;}
.careers-about-logo canvas{position:absolute;inset:0;display:block;width:100%;height:100%;}
.careers-about-copy{grid-column:5/13;min-width:0;}
.careers-about-copy p{font-size:16px;font-weight:300;line-height:1.75;opacity:.7;}
.careers-about-copy p + p{margin-top:20px;}

.careers-positions{padding:64px var(--pad) 72px;scroll-margin-top:24px;}
.careers-positions-head{padding-bottom:32px;}
.careers-positions-head h2{font-size:28px;font-weight:300;}
.careers-count{display:inline-block;margin-left:18px;font-size:12px;letter-spacing:0;vertical-align:top;}
.job{border:1px solid var(--rule);background:var(--paper);scroll-margin-top:24px;}
.job + .job{margin-top:20px;}
.job-summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--gut);align-items:center;padding:32px;cursor:pointer;list-style:none;}
.job[open] .job-summary{border-bottom:1px solid var(--rule);}
.job-summary::-webkit-details-marker{display:none;}
.job-index{grid-column:1/3;font-size:11px;letter-spacing:.07em;text-transform:uppercase;align-self:start;padding-top:8px;}
.job-heading{grid-column:3/9;min-width:0;}
.job-title{display:block;font-family:var(--font-display);font-size:clamp(23px,2.4vw,34px);
  line-height:1.25;font-weight:300;letter-spacing:-.04em;}
.job-specialism{display:block;margin-top:10px;font-size:14px;font-weight:300;}
.job-meta{grid-column:9/12;display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.6;}
.job-meta .mono{font-size:11px;letter-spacing:.035em;text-transform:uppercase;}
.job-location{display:flex;align-items:flex-start;gap:8px;}
.job-location svg{width:16px;height:16px;flex:none;margin-top:3px;}
.job-toggle{grid-column:12;justify-self:end;width:44px;height:44px;position:relative;
  border:1px solid var(--rule);transition:background-color .15s,color .15s;}
.job-toggle::before,.job-toggle::after{content:"";position:absolute;background:currentColor;
  width:14px;height:1px;top:21px;left:14px;}
.job-toggle::after{transform:rotate(90deg);}
.job[open] .job-toggle::after{transform:rotate(0);}
.job-summary:hover .job-toggle,.job-summary:focus-visible .job-toggle{background:var(--careers-orange);color:#fff;border-color:var(--careers-orange);}
.job-summary:focus-visible{outline-offset:6px;}
.job-body{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gut);padding:32px 32px 40px;}
.job-aside{grid-column:1/4;min-width:0;}
.job-aside-inner{position:sticky;top:30px;}
.job-aside .careers-label{font-size:11px;opacity:.7;}
.job-facts{margin-top:24px;}
.job-facts div + div{margin-top:20px;}
.job-facts dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;opacity:.7;}
.job-facts dd{margin:6px 0 0;font-size:15px;line-height:1.6;font-weight:500;}
.job-note{font-size:14px;line-height:1.7;margin:24px 0;max-width:29ch;}
.careers-button{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 20px;min-height:48px;border:0;border-radius:0;background:var(--careers-orange);color:#fff;cursor:pointer;text-align:left;
  font-family:var(--font-body);font-size:14px;font-weight:400;line-height:1.5;text-decoration:none;}
.careers-button:hover{background:#B64212;color:#fff;}
.careers-button:focus-visible{outline:2px solid var(--text);outline-offset:4px;}
.job-aside .careers-button{display:flex;}
.job-actions{display:grid;gap:12px;}
.job-action-icon{width:18px;height:18px;flex:none;}
.job-email span{user-select:text;}
.job-copy-status{min-height:18px;font-size:12px;line-height:1.5;}
.job-content{grid-column:5/13;min-width:0;max-width:78ch;}
.job-content p{font-size:16px;font-weight:300;line-height:1.75;}
.job-content .job-deck{font-size:clamp(20px,2vw,26px);line-height:1.55;font-weight:300;margin-bottom:36px;max-width:42ch;}
.job-section{margin-top:40px;}
.job-section-label{font-size:12px;letter-spacing:.08em;line-height:1.5;text-transform:uppercase;
  margin-bottom:20px;}
.job-list{list-style:none;padding:0;margin:0;}
.job-list li{display:flex;align-items:baseline;gap:18px;margin:0 0 22px;}
.job-list li::before{content:"·";flex:none;width:12px;}
.job-list strong{font-weight:500;font-size:16px;line-height:1.7;}
.job-list p{margin-top:6px;}
.job-list-numbered{counter-reset:responsibility;}
.job-list-numbered li{counter-increment:responsibility;}
.job-list-numbered li::before{content:counter(responsibility,decimal-leading-zero);
  font-family:var(--font-mono);font-size:11px;width:20px;}
.job-list-extra{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}
.job-list-extra li::before{content:"+";font-family:var(--font-mono);font-size:12px;}
.job-offer{margin-top:28px;padding:24px;border:1px solid var(--rule);background:var(--paper);}
.job-offer .job-section-label{padding:0;border:0;margin-bottom:16px;}
.job-content .job-disclaimer{margin-top:24px;font-size:12px;line-height:1.7;}

@media(max-width:1100px){
  .careers-hero h1{font-size:clamp(40px,5.3vw,62px);}
  .job-summary{column-gap:16px;}
  .job-heading{grid-column:3/8;}
  .job-meta{grid-column:8/12;}
  .job-title{font-size:26px;}
  .job-aside{grid-column:1/5;}
}
@media(max-width:900px){
  .careers-page .mast{--mast-top:24px;--mast-bot:24px;}
  .careers-mast-copy{flex-direction:row;align-items:center;justify-content:flex-start;}
  .careers-page .mast-side{margin-top:20px;padding-top:0;gap:18px;border-top:0;}
  .careers-page .mast-foot{display:none;}
  .careers-mast-title{font-size:22px;line-height:28px;}
  .careers-hero{padding:36px 0;}
  .careers-hiring{margin-bottom:28px;}
  .careers-hero h1{font-size:clamp(40px,7.5vw,64px);}
  .careers-about{display:block;position:relative;isolation:isolate;padding:42px var(--pad);}
  .careers-about-visual{position:absolute;inset:24px var(--pad);z-index:-1;overflow:hidden;pointer-events:none;}
  .careers-about-logo{left:50%;width:clamp(220px,70vw,420px);transform:translate(-50%,-50%);opacity:.22;}
  .careers-positions{padding-top:42px;padding-bottom:50px;}
  .careers-positions-head{padding-bottom:26px;}
  .careers-positions-head h2{font-size:26px;}
  .job-summary{grid-template-columns:minmax(0,1fr) 44px;gap:14px 20px;padding:24px 20px;}
  .job-index{grid-column:1;grid-row:1;padding:0;}
  .job-heading{grid-column:1;grid-row:2;}
  .job-title{font-size:clamp(23px,3.5vw,30px);}
  .job-specialism{margin-top:8px;}
  .job-meta{grid-column:1;grid-row:3;gap:4px;margin-top:2px;}
  .job-toggle{grid-column:2;grid-row:2;align-self:start;}
  .job-body{grid-template-columns:minmax(0,1fr);padding:24px 20px 32px;gap:32px;}
  .job-aside,.job-content{grid-column:1;max-width:none;}
  .job-aside-inner{position:static;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
  .job-aside .careers-label,.job-facts,.job-note{grid-column:1/-1;}
  .job-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px;margin:0;}
  .job-facts div + div{margin:0;}
  .job-note{margin:0;max-width:none;}
  .job-actions{grid-column:1/-1;width:100%;max-width:360px;}
  .job-content .job-deck{font-size:22px;}
}
@media(max-width:480px){
  .careers-hiring{font-size:8px;letter-spacing:.08em;}
  .careers-hero h1{font-size:clamp(32px,9.5vw,45px);}
  .job-aside-inner{grid-template-columns:minmax(0,1fr);}
  .job-list-extra{grid-template-columns:1fr;}
  .job-offer{padding:20px;}
  .job-title{font-size:23px;}
}
@media(prefers-reduced-motion:reduce){
  html:has(.careers-page){scroll-behavior:auto;}
  .careers-hiring span{animation:none;}
  .job-toggle{transition:none;}
}
