/* Careers surface — the landing page's vocabulary applied to recruitment.
   Same display/UI pairing, same hairline structure, same photographic navy bands.
   Nothing here invents a new motif; it reuses the marketing site's system. */

:root{--cr-gutter:clamp(24px,3vw,72px);--cr-display:"Source Serif 4",Georgia,serif;--cr-ui:Geist,Inter,-apple-system,system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--cr-ui);background:#fff;color:var(--slate-900);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em}
img{display:block}button{font-family:inherit}
a{color:var(--navy-700);text-decoration:none}a:hover{color:var(--navy-600)}

.cr-wrap{width:100%;max-width:1480px;margin:0 auto;padding:0 var(--cr-gutter)}
.cr-eyebrow{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--slate-500)}
.cr-eyebrow--light{color:rgba(255,255,255,.5)}
.cr-h1{font-family:var(--cr-display);font-size:clamp(44px,5.4vw,104px);font-weight:600;line-height:1.02;letter-spacing:-.028em;color:#fff}
.cr-h2{font-family:var(--cr-display);font-size:clamp(28px,3.1vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.022em;color:var(--slate-900);margin-top:18px}
.cr-h2--light{color:#fff}
.cr-h3{font-family:var(--cr-display);font-size:clamp(19px,1.4vw,26px);font-weight:600;letter-spacing:-.015em;color:var(--slate-900)}
.cr-p{font-size:clamp(16px,1.08vw,19px);line-height:1.76;color:var(--slate-600);max-width:44em;text-wrap:pretty}
.cr-p--light{color:rgba(255,255,255,.66)}
.cr-note{font-size:12.5px;line-height:1.66;color:var(--slate-500)}
.cr-num{font-variant-numeric:tabular-nums}

/* Rule — the signature centre-out load animation */
.cr-rule{width:100%;height:1px;background:rgba(255,255,255,.5);transform:scaleX(0);animation:aeq-scale-x 1s var(--ease-out) 1s both}
.cr-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.cr-reveal.is-in{opacity:1;transform:translateY(0)}

/* ══ Nav ══ */
.cr-nav{position:fixed;top:0;left:0;right:0;z-index:500;border-bottom:1px solid transparent;transition:background var(--dur-theme),border-color var(--dur-theme)}
.cr-nav.is-solid{background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom-color:var(--slate-200)}
.cr-nav__inner{width:100%;padding:38px var(--cr-gutter) 24px;display:flex;align-items:center;gap:0}
.cr-nav__logo{--aeq-logo-w:clamp(146px,10vw,186px);cursor:pointer}
.cr-nav__links{display:flex;gap:clamp(26px,2.4vw,44px);list-style:none;margin-left:auto;align-items:center}
.cr-nav__links button{background:none;border:none;font-size:clamp(14px,.95vw,16px);font-weight:500;color:rgba(255,255,255,.72);cursor:pointer;transition:color var(--dur-fast)}
.cr-nav__links button:hover{color:#fff}
.cr-nav__links button.is-on{color:#fff}
.cr-nav.is-solid .cr-nav__links button{color:var(--slate-600)}
.cr-nav.is-solid .cr-nav__links button:hover,.cr-nav.is-solid .cr-nav__links button.is-on{color:var(--navy-900)}
.cr-nav__cta{margin-left:clamp(26px,2.4vw,44px)}
.cr-navcta{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 8px 0 22px;border-radius:999px;border:1px solid rgba(255,255,255,.34);background:transparent;color:#fff;font-size:clamp(14px,.95vw,16px);font-weight:500;cursor:pointer;transition:background var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out)}
.cr-navcta__arrow{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.12);transition:background var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out)}
.cr-navcta:hover{background:#fff;color:var(--navy-900);border-color:#fff}
.cr-navcta:hover .cr-navcta__arrow{background:rgba(5,13,36,.1);transform:translateX(2px)}
.cr-nav.is-solid .cr-navcta{border-color:var(--slate-300);color:var(--navy-900)}
.cr-nav.is-solid .cr-navcta__arrow{background:rgba(5,13,36,.07)}
.cr-nav.is-solid .cr-navcta:hover{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}
.cr-nav.is-solid .cr-navcta:hover .cr-navcta__arrow{background:rgba(255,255,255,.16)}

/* ══ Hero ══ */
.cr-hero{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:clamp(560px,82vh,860px)}
.cr-hero--tall{min-height:100vh}
.cr-hero__bg{position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,6,18,.74) 0%,rgba(5,13,36,.62) 45%,rgba(5,13,36,.92) 100%),url('assets/images/aequitas-background.png') center/cover no-repeat,var(--navy-900);animation:cr-slowzoom 16s var(--ease-out) both}
@keyframes cr-slowzoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.cr-hero__inner{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;width:100%;max-width:1480px;margin:0 auto;padding:0 var(--cr-gutter)}
.cr-hero__inner>.cr-rule{margin-top:calc(var(--cr-navh, 86px) + 14px);flex:none}
.cr-hero__body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,5vw,104px) 0;max-width:min(80vw,1120px);animation:aeq-slide-in-up 1.1s var(--ease-out) .5s both}
.cr-hero__body .cr-eyebrow{margin-bottom:28px}
.cr-hero__lead{font-size:clamp(17px,1.15vw,21px);line-height:1.65;color:rgba(255,255,255,.7);max-width:36em;margin:clamp(28px,2.4vw,44px) 0 clamp(36px,3vw,52px);text-wrap:pretty}
.cr-hero__actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.cr-hero__figures{margin-top:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.16);animation:aeq-fade-in 1s var(--ease-out) 1.4s both}
.cr-hero__fig{padding:clamp(24px,2vw,34px) clamp(28px,3vw,52px) clamp(30px,2.6vw,46px);border-right:1px solid rgba(255,255,255,.16)}
.cr-hero__fig:first-child{padding-left:0}
.cr-hero__fig:last-child{border-right:none}
.cr-hero__fig p{font-size:clamp(14.5px,1vw,17px);line-height:1.55;color:rgba(255,255,255,.72);margin-top:12px;max-width:280px;text-wrap:pretty}
.cr-textlink{background:none;border:none;font-size:14.5px;color:rgba(255,255,255,.72);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color var(--dur-fast),border-color var(--dur-fast)}
.cr-textlink:hover{color:#fff;border-bottom-color:#fff}
.cr-textlink--dark{color:var(--slate-600);border-bottom-color:var(--slate-200)}
.cr-textlink--dark:hover{color:var(--slate-900);border-bottom-color:var(--slate-900)}

/* ══ Sections ══ */
.cr-sec{padding:clamp(84px,7.5vw,152px) 0}
.cr-sec--tint{background:var(--slate-50)}
.cr-sec--photo{background:linear-gradient(180deg,rgba(5,13,36,.92),rgba(5,13,36,.88)),url('assets/images/blue-background.png') center/cover no-repeat}
.cr-sechead{max-width:min(80vw,1080px);margin-bottom:clamp(44px,4vw,76px)}
/* An eyebrow with no heading under it sits closer to what follows. */
.cr-sechead--bare{margin-bottom:clamp(22px,2vw,34px)}
.cr-sechead--row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:none}

/* Opportunity list — the careers page's only content */
.cr-role{border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200);padding:clamp(34px,3vw,52px) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,4vw,80px);align-items:center;transition:background var(--dur-base)}
.cr-role>.aeq-pill{justify-self:start}
.cr-role__meta{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:16px}
.cr-role__meta span{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--slate-500)}
.cr-role h3{font-family:var(--cr-display);font-size:clamp(26px,2.4vw,44px);font-weight:600;letter-spacing:-.02em;line-height:1.1}
.cr-role p{font-size:clamp(15px,1.05vw,18px);line-height:1.7;color:var(--slate-600);margin-top:14px;max-width:42em}
.cr-empty{border-bottom:1px solid var(--slate-200);padding:clamp(26px,2.2vw,38px) 0}

/* Prose columns */
.cr-cols{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.9fr);gap:clamp(52px,5.5vw,108px);align-items:start}
.cr-cols__body p{font-size:clamp(16px,1.08vw,19px);line-height:1.78;color:var(--slate-600);margin-bottom:22px;max-width:46em;text-wrap:pretty}
.cr-cols__body p:last-child{margin-bottom:0}
.cr-facts{border-top:1px solid var(--slate-200)}
.cr-facts>div{padding:17px 0;border-bottom:1px solid var(--slate-200)}
.cr-facts dt{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--slate-500);margin-bottom:6px}
.cr-facts dd{font-size:15.5px;line-height:1.5;color:var(--slate-900)}

/* Responsibility list */
.cr-duties{list-style:none;border-top:1px solid var(--slate-200);margin-top:8px}
.cr-duties li{display:grid;grid-template-columns:44px 1fr;gap:clamp(18px,2vw,34px);padding:clamp(17px,1.4vw,23px) 0;border-bottom:1px solid var(--slate-200);align-items:baseline}
.cr-duties b{font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--navy-700);font-variant-numeric:tabular-nums}
.cr-duties span{font-size:clamp(15px,1.05vw,17.5px);line-height:1.62;color:var(--slate-900);max-width:46em}

/* Pipeline — six stages, expandable */
.cr-pipe{border-top:1px solid var(--slate-200)}
.cr-stage{border-bottom:1px solid var(--slate-200);padding:clamp(22px,1.9vw,32px) 0;cursor:pointer}
.cr-stage__head{display:grid;grid-template-columns:64px minmax(0,1fr) 20px;gap:clamp(20px,2.4vw,44px);align-items:baseline}
.cr-stage__idx{font-size:11.5px;font-weight:600;letter-spacing:.1em;color:var(--navy-700);font-variant-numeric:tabular-nums}
.cr-stage__t{font-family:var(--cr-display);font-size:clamp(21px,1.75vw,32px);font-weight:600;letter-spacing:-.018em;line-height:1.14}
.cr-stage__lede{font-size:clamp(14.5px,1vw,17px);line-height:1.62;color:var(--slate-500);margin-top:7px;max-width:52em}
.cr-stage.is-open .cr-stage__lede{color:var(--slate-600)}
.cr-stage .icon{color:var(--slate-400);transition:color var(--dur-fast)}
.cr-stage:hover .icon{color:var(--navy-700)}
.cr-stage__body{padding:20px 0 4px;margin-left:calc(64px + clamp(20px,2.4vw,44px));max-width:44em;animation:aeq-view-fade-in .4s var(--ease-expressive) both}
.cr-stage__body p{font-size:clamp(15px,1.05vw,17.5px);line-height:1.76;color:var(--slate-600);margin-bottom:14px}
.cr-stage__body p:last-child{margin-bottom:0}
.cr-stage__body ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:0 32px;margin-top:16px;border-top:1px solid var(--slate-200)}
.cr-stage__body li{font-size:14.5px;color:var(--slate-900);padding:11px 0;border-bottom:1px solid var(--slate-200)}
.cr-stage--light{border-bottom-color:rgba(255,255,255,.18)}
.cr-stage--light .cr-stage__t{color:#fff}
.cr-stage--light .cr-stage__lede{color:rgba(255,255,255,.5)}
.cr-stage--light.is-open .cr-stage__lede{color:rgba(255,255,255,.66)}
.cr-stage--light .cr-stage__idx{color:#93b4e8}
.cr-stage--light .icon{color:rgba(255,255,255,.4)}
.cr-stage--light:hover .icon{color:#fff}
.cr-stage--light .cr-stage__body p{color:rgba(255,255,255,.66)}
.cr-stage--light .cr-stage__body ul{border-top-color:rgba(255,255,255,.18)}
.cr-stage--light .cr-stage__body li{color:#fff;border-bottom-color:rgba(255,255,255,.18)}
.cr-pipe--light{border-top-color:rgba(255,255,255,.18)}

/* Qualities / offers grid — hairline cells, no cards */
.cr-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--slate-200)}
.cr-grid--3{grid-template-columns:repeat(3,1fr)}
.cr-cell{padding:clamp(28px,2.4vw,42px) clamp(26px,2.4vw,44px) clamp(30px,2.6vw,46px);border-left:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
.cr-cell:first-child,.cr-grid--4 .cr-cell:nth-child(4n+1),.cr-grid--3 .cr-cell:nth-child(3n+1){border-left:none;padding-left:0}
.cr-cell h3{font-family:var(--cr-display);font-size:clamp(18px,1.28vw,23px);font-weight:600;letter-spacing:-.012em;margin-bottom:11px}
.cr-cell p{font-size:clamp(13.5px,.95vw,15.5px);line-height:1.68;color:var(--slate-600);text-wrap:pretty}
.cr-grid--light{border-top-color:rgba(255,255,255,.18)}
.cr-grid--light .cr-cell{border-left-color:rgba(255,255,255,.18);border-bottom-color:rgba(255,255,255,.18);color:#fff}
.cr-grid--light .cr-cell p{color:rgba(255,255,255,.6)}
.cr-grid--light .cr-cell .icon{color:#93b4e8;margin-bottom:18px}

/* Cadence — daily / weekly / monthly */
.cr-cadence{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--slate-200)}
.cr-cadence>div{padding:clamp(26px,2.2vw,40px) clamp(26px,2.4vw,44px) clamp(28px,2.4vw,44px);border-left:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
.cr-cadence>div:first-child{border-left:none;padding-left:0}
.cr-cadence h3{font-family:var(--cr-display);font-size:clamp(20px,1.5vw,27px);font-weight:600;letter-spacing:-.015em}
.cr-cadence__when{display:block;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--navy-700);margin-bottom:12px}
.cr-cadence ul{list-style:none;margin-top:18px}
.cr-cadence li{font-size:14.5px;line-height:1.55;color:var(--slate-600);padding:9px 0;border-top:1px solid var(--slate-200)}

/* Allocation chain */
.cr-chain{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--slate-200);border-bottom:1px solid var(--slate-200)}
.cr-chain__n{padding:clamp(24px,2vw,34px) clamp(14px,1.2vw,22px) clamp(26px,2.2vw,38px);border-left:1px solid var(--slate-200);position:relative}
.cr-chain__n:first-child{border-left:none;padding-left:0}
.cr-chain__i{display:block;font-size:10.5px;font-weight:600;letter-spacing:.1em;color:var(--slate-400);font-variant-numeric:tabular-nums;margin-bottom:14px}
.cr-chain__t{font-family:var(--cr-display);font-size:clamp(15px,1.15vw,20px);font-weight:600;letter-spacing:-.012em;line-height:1.2}
.cr-chain__n--core .cr-chain__i{color:var(--navy-700)}
.cr-chain__bar{height:2px;background:var(--navy-900);margin-top:16px;transform-origin:left;animation:aeq-scale-x .7s var(--ease-out) both}

/* FAQ */
.cr-faq{border-top:1px solid var(--slate-200)}
.cr-faq__q{border-bottom:1px solid var(--slate-200)}
.cr-faq__q button{width:100%;background:none;border:none;text-align:left;padding:clamp(20px,1.7vw,28px) 0;display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:32px;align-items:center;cursor:pointer}
.cr-faq__q h3{font-family:var(--cr-display);font-size:clamp(17.5px,1.3vw,23px);font-weight:600;letter-spacing:-.014em;color:var(--slate-900)}
.cr-faq__q .icon{color:var(--slate-400);transition:color var(--dur-fast)}
.cr-faq__q button:hover .icon{color:var(--navy-700)}
.cr-faq__a{padding:0 0 clamp(22px,1.8vw,30px);max-width:44em;animation:aeq-view-fade-in .35s var(--ease-expressive) both}
.cr-faq__a p{font-size:clamp(15px,1.05vw,17px);line-height:1.76;color:var(--slate-600);margin-bottom:13px}
.cr-faq__a p:last-child{margin-bottom:0}
.cr-faq__pending{display:inline-block;margin-top:4px;padding:4px 11px;border-radius:999px;background:var(--slate-100);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-500)}

/* Closing CTA band */
.cr-cta{padding:clamp(72px,6.5vw,132px) 0;background:linear-gradient(180deg,rgba(5,13,36,.9),rgba(5,13,36,.94)),url('assets/images/blue-background.png') center/cover no-repeat;color:#fff}
.cr-cta__in{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(40px,5vw,96px);flex-wrap:wrap}
.cr-cta__in>.aeq-pill{flex:none}
.cr-cta p{font-size:clamp(15.5px,1.05vw,18px);line-height:1.7;color:rgba(255,255,255,.6);max-width:36em;margin-top:20px}

/* ══ Footer ══ */
.cr-footer{background:var(--navy-900);padding:60px 0 40px;color:#fff}
.cr-footer__top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:32px}
.cr-footer__logo{--aeq-logo-w:158px}
.cr-footer__top ul{display:flex;gap:30px;list-style:none;flex-wrap:wrap}
.cr-footer__top button,.cr-footer__top a{background:none;border:none;color:rgba(255,255,255,.66);font-size:13.5px;cursor:pointer;text-decoration:none;transition:color var(--dur-fast)}
.cr-footer__top button:hover,.cr-footer__top a:hover{color:#fff}
.cr-footer__legal{padding:32px 0;display:flex;flex-direction:column;gap:14px}
.cr-footer__legal p{font-size:11.5px;line-height:1.72;color:rgba(255,255,255,.4);max-width:96em}
.cr-footer__legal strong{color:rgba(255,255,255,.62)}
.cr-footer__base{display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:11.5px;color:rgba(255,255,255,.34)}

@media (max-width:1060px){
  .cr-nav__links{display:none}
  .cr-nav__cta{margin-left:auto}
  .cr-cols,.cr-hero__figures{grid-template-columns:1fr;gap:40px}
  .cr-hero__fig{border-right:none;border-bottom:1px solid rgba(255,255,255,.16);padding-left:0}
  .cr-grid,.cr-grid--3,.cr-cadence{grid-template-columns:1fr 1fr}
  .cr-chain{grid-template-columns:1fr 1fr 1fr}
  .cr-cell,.cr-cadence>div,.cr-chain__n{padding-left:0!important;padding-right:clamp(20px,3vw,32px)!important;border-left:none!important}
  .cr-role{grid-template-columns:1fr;gap:26px;align-items:start;justify-items:start}
  .cr-sechead--row,.cr-cta__in{flex-direction:column;align-items:flex-start}
  .cr-stage__body{margin-left:0}
  .cr-stage__head{grid-template-columns:44px minmax(0,1fr) 20px;gap:18px}
}
@media (max-width:640px){
  .cr-grid,.cr-grid--3,.cr-cadence,.cr-chain{grid-template-columns:1fr}
}

/* No current openings. Same hairline row as a live listing so the page keeps its
   shape, but single-column — there is no button, and a lone empty grid track
   would leave the text hanging short of the measure it was set for. */
.cr-role--closed{grid-template-columns:minmax(0,1fr)}
.cr-role--closed h3{color:var(--slate-500)}

/* The logo is a link now (always to the landing page), so it must not pick up
   link decoration or the visited colour. */
.aeq-logo{text-decoration:none;cursor:pointer}

/* A transparent bar over a photographic hero still has to stay readable while the
   hero's own headline scrolls up behind it — otherwise the logo and the H1 collide
   with nothing between them. A short top-down scrim separates them without making
   the bar solid: the photograph still reads through it, and it fades out the
   moment the nav goes white. */
.cr-nav::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height:calc(100% + 40px);
  background:linear-gradient(180deg,rgba(5,13,36,.78) 0%,rgba(5,13,36,.45) 52%,rgba(5,13,36,0) 100%);
  pointer-events:none;
  opacity:1;
  transition:opacity var(--dur-theme) var(--ease-out);
}
.cr-nav.is-solid::before{opacity:0}
.cr-nav__inner{position:relative;z-index:1}
