/* ══════════════════════════════════════════════════════════════════════════
   css/careers.css — /careers  (prefix fw-cr)

   A candidate's page, in the order they think: who we are, with a "now
   hiring" strip over the team photograph; the open roles as ruled rows
   (department disc, title with a New or Urgent tag, place, team, type,
   level, then salary and closing on the right) under department and place
   chips; why people work here beside a lab photograph; how hiring works in
   four numbered steps across a line; an open application beside the
   questions.

   House rules kept: bright grounds with soft brand light; no max-width;
   colour only from :root; no boxed cards, structure from space and fade
   rules; photographs square-cornered, no shadow; icon discs, pills and
   buttons stay round; 28px / 14px gutters; each band about 55vh, sizes in
   vh, released at 1024px and below. Each opening is careers-detail.php with
   its own sheet (css/careers-detail.css, prefix fw-cj).
   ══════════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════
   00 · TOKENS & PRIMITIVES
   ══════════════════════════════════════════════════════════════ */

.fw-cr-page{
	--pad:28px;
	--ink:var(--dk-d);
	--line:color-mix(in srgb, var(--dk) 9%, transparent);
	--fade-x:linear-gradient(90deg, transparent, var(--line) 10%, var(--line) 90%, transparent);
	--fade-y:linear-gradient(180deg, transparent, var(--line) 14%, var(--line) 86%, transparent);
	--sec:clamp(30px, 5.2vh, 62px);
	--gap:clamp(22px, 3.2vw, 64px);
	--ease:cubic-bezier(.22,1,.36,1);
	--ease-soft:cubic-bezier(.16,1,.3,1);
	--ac:var(--pk);--ac-dd:var(--pk-dd);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l);--ac-t:var(--pk-t);
	background:var(--wh);
	-webkit-text-size-adjust:100%
}
.fw-cr-ac--pk{--ac:var(--pk);--ac-dd:var(--pk-dd);--ac-ink:var(--pk-ink);--ac-l:var(--pk-l);--ac-t:var(--pk-t)}
.fw-cr-ac--bl{--ac:var(--bl);--ac-dd:var(--bl-dd);--ac-ink:var(--bl-ink);--ac-l:var(--bl-l);--ac-t:var(--bl-t)}
.fw-cr-ac--mt{--ac:var(--mt);--ac-dd:var(--mt-dd);--ac-ink:var(--mt-ink);--ac-l:var(--mt-l);--ac-t:var(--mt-t)}
.fw-cr-ac--pu{--ac:var(--pu);--ac-dd:var(--pu-dd);--ac-ink:var(--pu-ink);--ac-l:var(--pu-l);--ac-t:var(--pu-t)}
.fw-cr-ac--co{--ac:var(--co);--ac-dd:var(--co-dd);--ac-ink:var(--co-ink);--ac-l:var(--co-l);--ac-t:var(--co-t)}

.fw-cr{display:block;position:relative}
.fw-cr-page em{font-family:var(--ff)}
.fw-cr .fw-ico{stroke-width:1.6}
.fw-cr-inner{position:relative;z-index:1;width:100%;padding-inline:var(--pad)}

.fw-cr-eyebrow{margin:0;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--pk-ink)}
.fw-cr-h1{margin:10px 0 0;font-family:var(--ff);font-size:clamp(28px, 5vh, 54px);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.fw-cr-h2{margin:0;font-family:var(--ff);font-size:clamp(24px, 3.9vh, 40px);font-weight:600;line-height:1.12;letter-spacing:-.03em;color:var(--ink);text-wrap:balance}
.fw-cr-h3{margin:0;font-family:var(--ff);font-size:clamp(19px, 2.8vh, 25px);font-weight:600;line-height:1.2;letter-spacing:-.02em;color:var(--ink)}
.fw-cr-lead{margin:0;font-size:clamp(15px, 2vh, 17.5px);font-weight:400;line-height:1.6;color:var(--g6);text-wrap:pretty}

.fw-cr-btn{
	display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:clamp(46px, 5.8vh, 54px);padding:0 26px;border:0;border-radius:100px;cursor:pointer;
	font-family:var(--ff);font-size:15px;font-weight:600;white-space:nowrap;color:var(--wh);background:linear-gradient(100deg, var(--pk), var(--pk-d) 45%, var(--pk-dd));box-shadow:var(--pk-glow);
	transition:box-shadow .3s, transform .25s var(--ease)
}
.fw-cr-btn i{font-size:14px;transition:transform .3s var(--ease)}
.fw-cr-btn:hover{color:var(--wh);box-shadow:var(--pk-glow-lg);transform:translateY(-1px)}
.fw-cr-btn--ghost{color:var(--ink);background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--line)}
.fw-cr-btn--ghost:hover{color:var(--bl-ink);background:var(--bl-wash);box-shadow:inset 0 0 0 1.5px var(--bl-ring)}
.fw-cr-act{display:flex;flex-wrap:wrap;gap:12px 14px;margin-top:clamp(18px, 3vh, 30px)}

.fw-cr-disc{display:grid;place-items:center;flex:0 0 auto;width:clamp(42px, 5.6vh, 50px);height:clamp(42px, 5.6vh, 50px);border-radius:50%;font-size:clamp(19px, 2.5vh, 22px);color:var(--ac-ink);background:var(--ac-l)}

.fw-cr img.lazy{opacity:0;transition:opacity .6s var(--ease-soft)}
.fw-cr img.lazy-loaded,
.fw-cr img.lazy-error{opacity:1}

.fw-cr-anim [data-cr-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease-soft), transform .8s var(--ease-soft)}
.fw-cr-anim [data-cr-reveal].is-in{opacity:1;transform:none}

/* ══════════════════════════════════════════════════════════════
   01 · WHO WE ARE, AND WHO IS HIRING
   ══════════════════════════════════════════════════════════════ */

.fw-cr-hero{
	--hh:clamp(250px, 42vh, 460px);
	position:relative;display:grid;grid-template-columns:minmax(0, 1fr) auto;column-gap:var(--gap);align-items:center;
	padding:clamp(12px, 2vh, 24px) var(--pad) clamp(28px, 4.6vh, 56px) 0;
	background:
		radial-gradient(55% 80% at 88% 15%, color-mix(in srgb, var(--pk) 10%, transparent), transparent 70%),
		radial-gradient(45% 70% at 6% 100%, color-mix(in srgb, var(--mt) 9%, transparent), transparent 70%),
		var(--wh)
}
.fw-cr-crumb{margin-bottom:clamp(12px, 2.4vh, 24px)}
.fw-cr-hero .fw-cr-lead{margin-top:clamp(12px, 2vh, 18px)}
.fw-cr-hero__fig{position:relative;margin:0;height:var(--hh);aspect-ratio:1600 / 893;background:var(--g1)}
.fw-cr-hero__fig img{display:block;width:100%;height:100%;object-fit:contain}

/* Now hiring: a white strip over the photograph's foot, three roles. */
.fw-cr-now{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:stretch;border-radius:18px;background:var(--wh);overflow:hidden}
.fw-cr-now__head{display:flex;align-items:center;gap:8px;padding:0 16px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;color:var(--wh);background:linear-gradient(135deg, var(--pk), var(--pk-dd))}
.fw-cr-now__head i{width:8px;height:8px;border-radius:50%;background:var(--wh);animation:fw-cr-pulse 1.8s ease-in-out infinite}
@keyframes fw-cr-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.fw-cr-now a{position:relative;display:flex;flex:1 1 0;flex-direction:column;justify-content:center;min-width:0;padding:9px 14px;transition:background .25s}
.fw-cr-now a + a::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:1px;background:var(--fade-y)}
.fw-cr-now a b{font-size:13px;font-weight:600;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-cr-now a span{font-size:11.5px;color:var(--g6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-cr-now a:hover{background:var(--pk-t)}

.fw-cr-facts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0, 1fr);width:fit-content;margin:clamp(20px, 3.4vh, 34px) 0 0;padding:0;list-style:none}
.fw-cr-facts li{position:relative;display:grid;grid-template-columns:auto minmax(0, 1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;padding:0 clamp(16px, 1.8vw, 28px)}
.fw-cr-facts li:first-child{padding-left:0}
.fw-cr-facts li + li::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:1px;background:var(--fade-y)}
.fw-cr-facts .fw-cr-disc{grid-row:1 / span 2}
.fw-cr-facts b{align-self:end;font-family:var(--ff);font-size:clamp(24px, 3.8vh, 36px);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--ac-ink);font-variant-numeric:tabular-nums}
.fw-cr-facts__label{align-self:start;margin-top:5px;font-size:13px;font-weight:500;line-height:1.3;color:var(--g6);white-space:nowrap}

/* ══════════════════════════════════════════════════════════════
   02 · OPEN ROLES
   ══════════════════════════════════════════════════════════════ */

.fw-cr-roles{position:relative;padding:var(--sec) 0;background:linear-gradient(180deg, color-mix(in srgb, var(--bl) 5%, var(--wh)), var(--wh) 40%)}
.fw-cr-roles .fw-cr-lead{margin-top:8px}
.fw-cr-filters{display:flex;flex-direction:column;gap:10px;margin-top:clamp(16px, 2.6vh, 24px)}
.fw-cr-chips{display:flex;flex-wrap:wrap;gap:8px}
.fw-cr-chips button{
	display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border:0;border-radius:100px;cursor:pointer;
	font-family:var(--ff);font-size:13.5px;font-weight:600;color:var(--ink);background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--line);transition:background .25s, color .25s, box-shadow .25s
}
.fw-cr-chips button span{display:grid;place-items:center;min-width:22px;height:22px;margin-right:-8px;padding:0 6px;border-radius:100px;font-size:11.5px;color:var(--g6);background:var(--g1)}
.fw-cr-chips button img{display:block;width:18px;aspect-ratio:4 / 3;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.fw-cr-chips button:hover{color:var(--ac-ink);background:var(--ac-t)}
.fw-cr-chips button.is-on{color:var(--wh);background:var(--ink);box-shadow:none}
.fw-cr-chips button.is-on span{color:var(--ink);background:var(--wh)}
.fw-cr-chips--place button{min-height:34px;font-size:13px}

.fw-cr-list{margin:clamp(14px, 2.4vh, 22px) 0 0;padding:0;list-style:none}
.fw-cr-list li{position:relative}
.fw-cr-list li::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fade-x)}
.fw-cr-list li[hidden]{display:none}
.fw-cr-job{display:grid;grid-template-columns:auto minmax(0, 1fr) auto 36px;column-gap:clamp(14px, 1.6vw, 24px);align-items:center;padding:clamp(12px, 1.9vh, 16px) 0;color:inherit;transition:background .3s}
.fw-cr-job:hover{background:linear-gradient(90deg, transparent, var(--ac-t) 18%, var(--ac-t) 82%, transparent)}
.fw-cr-job__main{display:flex;flex-direction:column;min-width:0}
.fw-cr-job__title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fw-cr-job__title b{font-family:var(--ff);font-size:clamp(16px, 2.3vh, 19px);font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ink);transition:color .3s}
.fw-cr-tag{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--mt-ink);background:var(--mt-l)}
.fw-cr-tag--urgent{color:var(--wh);background:var(--co-ink)}
.fw-cr-job__meta{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:5px;font-size:13px;color:var(--g6)}
.fw-cr-job__meta > span{display:inline-flex;align-items:center;gap:6px}
.fw-cr-job__meta > span + span::before{content:'';width:4px;height:4px;margin-right:10px;border-radius:50%;background:var(--g3)}
.fw-cr-job__meta img{display:block;width:17px;aspect-ratio:4 / 3;object-fit:cover;box-shadow:0 0 0 1px var(--line)}
.fw-cr-job__meta i{color:var(--g5)}
.fw-cr-job__side{display:flex;flex-direction:column;align-items:flex-end;text-align:right}
.fw-cr-job__side b{font-family:var(--ff);font-size:14px;font-weight:600;color:var(--mt-ink);white-space:nowrap}
.fw-cr-job__side small{margin-top:3px;font-size:12.5px;color:var(--g6);white-space:nowrap}
.fw-cr-job__go{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;font-size:14px;color:var(--ac-ink);background:var(--ac-l);transition:transform .3s var(--ease), background .3s, color .3s}
.fw-cr-job:hover .fw-cr-job__title b{color:var(--ac-ink)}
.fw-cr-job:hover .fw-cr-job__go{color:var(--wh);background:var(--ac-ink);transform:translateX(3px)}
.fw-cr-none{margin:18px 0 0;font-size:14.5px;color:var(--g6)}
.fw-cr-none a{color:var(--pk-ink);font-weight:600}
.fw-cr-more{margin-top:clamp(16px, 2.6vh, 24px)}
.fw-cr-more[hidden]{display:none}

.fw-cr-search{position:relative;display:flex;align-items:center}
.fw-cr-search i{position:absolute;left:18px;font-size:16px;color:var(--g5);pointer-events:none}
.fw-cr-search input{width:clamp(280px, 38vw, 560px);min-height:48px;padding:0 20px 0 46px;border:0;border-radius:100px;font-family:var(--ff);font-size:15px;color:var(--ink);background:var(--wh);box-shadow:inset 0 0 0 1.5px var(--line);outline:0;transition:box-shadow .25s}
.fw-cr-search input:focus{box-shadow:inset 0 0 0 2px var(--pk-edge), var(--pk-focus)}
.fw-cr-search input::placeholder{color:var(--g5)}
.fw-cr-job__ago{color:var(--g5)}

/* ══════════════════════════════════════════════════════════════
   02b · TEAMS YOU CAN JOIN — six tiles, each opens its roles
   ══════════════════════════════════════════════════════════════ */

.fw-cr-teams{position:relative;padding:var(--sec) 0}
.fw-cr-teams__top{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--gap);align-items:end}
.fw-cr-teams__grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:0 clamp(20px, 2.6vw, 44px);margin:clamp(14px, 2.4vh, 22px) 0 0;padding:0;list-style:none}
.fw-cr-teams__grid li{position:relative}
.fw-cr-teams__grid li::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fade-x)}
.fw-cr-team{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:14px;align-items:start;width:100%;padding:clamp(14px, 2.2vh, 20px) 0;border:0;text-align:left;font:inherit;color:inherit;background:none;cursor:pointer}
.fw-cr-team__say{display:flex;flex-direction:column;min-width:0}
.fw-cr-team__say b{font-family:var(--ff);font-size:clamp(16px, 2.3vh, 18.5px);font-weight:600;line-height:1.25;color:var(--ink);transition:color .3s}
.fw-cr-team__say > span{margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--g6);text-wrap:pretty}
.fw-cr-team__say em{display:inline-flex;align-items:center;gap:7px;margin-top:8px;font-style:normal;font-size:13px;font-weight:600;color:var(--ac-ink)}
.fw-cr-team__say em i{font-size:12px;transition:transform .3s var(--ease)}
.fw-cr-team:hover b{color:var(--ac-ink)}
.fw-cr-team:hover em i{transform:translateX(3px)}
a.fw-cr-team .fw-cr-team__say em{color:var(--g5)}

/* ══════════════════════════════════════════════════════════════
   03 · WHY WORK WITH US
   ══════════════════════════════════════════════════════════════ */

.fw-cr-why{position:relative;padding:var(--sec) 0;background:linear-gradient(120deg, color-mix(in srgb, var(--pk) 6%, var(--wh)), var(--wh) 50%, color-mix(in srgb, var(--bl) 6%, var(--wh)))}
.fw-cr-why__grid{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:var(--gap);align-items:center}
.fw-cr-why__fig{margin:0;height:clamp(230px, 40vh, 420px);aspect-ratio:1600 / 1073;background:var(--g1)}
.fw-cr-why__fig img{display:block;width:100%;height:100%;object-fit:contain}
.fw-cr-why__list{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:0 clamp(20px, 2.6vw, 44px);margin:clamp(14px, 2.4vh, 24px) 0 0;padding:0;list-style:none}
.fw-cr-why__list li{position:relative;display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:14px;align-items:start;padding:clamp(12px, 2vh, 20px) 0}
.fw-cr-why__list li:nth-child(n+3)::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade-x)}
.fw-cr-why__list .fw-cr-disc{grid-row:span 2}
.fw-cr-why__list b{font-family:var(--ff);font-size:clamp(15.5px, 2.2vh, 18px);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ink)}
.fw-cr-why__list span:not(.fw-cr-disc){margin-top:4px;font-size:14px;line-height:1.55;color:var(--g6);text-wrap:pretty}

/* ══════════════════════════════════════════════════════════════
   03b · WHAT EVERYONE GETS — eight perks, four across
   ══════════════════════════════════════════════════════════════ */

.fw-cr-perks{position:relative;padding:var(--sec) 0}
.fw-cr-perks__grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(20px, 3.4vh, 34px) clamp(20px, 2.6vw, 44px);margin:clamp(18px, 3vh, 30px) 0 0;padding:0;list-style:none}
.fw-cr-perks__grid li{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-left:18px}
.fw-cr-perks__grid li::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;border-radius:3px;background:linear-gradient(180deg, var(--ac), transparent)}
.fw-cr-perks__ico{display:grid;place-items:center;font-size:26px;color:var(--ac-ink)}
.fw-cr-perks__grid b{margin-top:10px;font-family:var(--ff);font-size:clamp(15.5px, 2.2vh, 17.5px);font-weight:600;line-height:1.25;color:var(--ink)}
.fw-cr-perks__grid span:not(.fw-cr-perks__ico){margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--g6);text-wrap:pretty}

/* ══════════════════════════════════════════════════════════════
   03c · GROW WITH US — a rising ladder
   ══════════════════════════════════════════════════════════════ */

.fw-cr-grow{position:relative;padding:var(--sec) 0;background:linear-gradient(115deg, color-mix(in srgb, var(--mt) 7%, var(--wh)), var(--wh) 55%, color-mix(in srgb, var(--pu) 6%, var(--wh)))}
.fw-cr-grow__grid{display:grid;grid-template-columns:minmax(0, .8fr) minmax(0, 2fr);column-gap:var(--gap);align-items:center}
.fw-cr-grow__grid .fw-cr-lead{margin-top:10px}
/* Each step sits a little higher than the one before it. */
.fw-cr-ladder{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));column-gap:clamp(14px, 1.8vw, 28px);align-items:end;margin:0;padding:0;list-style:none}
.fw-cr-ladder li{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(14px, 2.2vh, 20px) 0 0;border-top:3px solid var(--pk-l)}
.fw-cr-ladder li:nth-child(2){margin-bottom:clamp(14px, 2.6vh, 26px);border-top-color:var(--bl-l)}
.fw-cr-ladder li:nth-child(3){margin-bottom:clamp(28px, 5.2vh, 52px);border-top-color:var(--mt-l)}
.fw-cr-ladder li:nth-child(4){margin-bottom:clamp(42px, 7.8vh, 78px);border-top-color:var(--pu-l)}
.fw-cr-ladder__ico{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;font-size:20px;color:var(--pk-ink);background:var(--pk-l)}
.fw-cr-ladder li:nth-child(2) .fw-cr-ladder__ico{color:var(--bl-ink);background:var(--bl-l)}
.fw-cr-ladder li:nth-child(3) .fw-cr-ladder__ico{color:var(--mt-ink);background:var(--mt-l)}
.fw-cr-ladder li:nth-child(4) .fw-cr-ladder__ico{color:var(--pu-ink);background:var(--pu-l)}
.fw-cr-ladder small{margin-top:12px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g5)}
.fw-cr-ladder b{margin-top:2px;font-family:var(--ff);font-size:clamp(18px, 2.7vh, 22px);font-weight:600;color:var(--ink)}
.fw-cr-ladder span:not(.fw-cr-ladder__ico){margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--g6);text-wrap:pretty}

/* ══════════════════════════════════════════════════════════════
   03d · WHERE YOU COULD WORK — countries as flag rows
   ══════════════════════════════════════════════════════════════ */

.fw-cr-where{position:relative;padding:var(--sec) 0}
.fw-cr-where__grid{display:grid;grid-template-columns:repeat(5, minmax(0, 1fr));gap:0 clamp(18px, 2vw, 34px);margin:clamp(14px, 2.4vh, 22px) 0 0;padding:0;list-style:none}
.fw-cr-where__grid li{position:relative}
.fw-cr-where__grid li::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fade-x)}
.fw-cr-place{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;column-gap:12px;align-items:center;width:100%;padding:clamp(11px, 1.8vh, 15px) 0;border:0;text-align:left;font:inherit;color:inherit;background:none;cursor:pointer}
.fw-cr-place img{display:block;width:30px;aspect-ratio:4 / 3;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px var(--line)}
.fw-cr-place > span{display:flex;flex-direction:column;min-width:0}
.fw-cr-place b{font-size:14.5px;font-weight:600;line-height:1.3;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}
.fw-cr-place small{font-size:12px;color:var(--g6)}
.fw-cr-place em{padding:3px 9px;border-radius:100px;font-style:normal;font-size:11.5px;font-weight:700;color:var(--wh);background:var(--pk-ink)}
.fw-cr-place:hover b{color:var(--pk-ink)}

/* ══════════════════════════════════════════════════════════════
   04 · HOW HIRING WORKS — four steps across a line
   ══════════════════════════════════════════════════════════════ */

.fw-cr-steps{position:relative;padding:var(--sec) 0}
.fw-cr-steps__row{position:relative;display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));column-gap:clamp(20px, 2.6vw, 44px);margin:clamp(20px, 3.4vh, 34px) 0 0;padding:0;list-style:none}
.fw-cr-steps__row::before{content:'';position:absolute;left:24px;right:12%;top:24px;height:2px;background:linear-gradient(90deg, var(--pk), var(--bl), var(--mt), var(--pu));opacity:.3}
.fw-cr-steps__row li{position:relative;display:flex;flex-direction:column;align-items:flex-start}
.fw-cr-steps__n{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-family:var(--ff);font-size:18px;font-weight:700;color:var(--wh);background:var(--pk-ink)}
.fw-cr-steps__row li:nth-child(2) .fw-cr-steps__n{background:var(--bl-ink)}
.fw-cr-steps__row li:nth-child(3) .fw-cr-steps__n{background:var(--mt-ink)}
.fw-cr-steps__row li:nth-child(4) .fw-cr-steps__n{background:var(--pu-ink)}
.fw-cr-steps__row h3{margin:clamp(12px, 2vh, 18px) 0 0;font-family:var(--ff);font-size:clamp(16.5px, 2.4vh, 20px);font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--ink)}
.fw-cr-steps__row p{margin:6px 0 0;font-size:14.5px;line-height:1.6;color:var(--g6);text-wrap:pretty}

/* ══════════════════════════════════════════════════════════════
   05 · AN OPEN APPLICATION, AND YOUR QUESTIONS
   ══════════════════════════════════════════════════════════════ */

.fw-cr-end{position:relative;padding:var(--sec) 0;background:linear-gradient(180deg, var(--wh), color-mix(in srgb, var(--pk) 5%, var(--wh)));scroll-margin-top:110px}
.fw-cr-end__grid{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0, 1.3fr);column-gap:var(--gap);align-items:start}
.fw-cr-open{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding-right:var(--gap)}
.fw-cr-open::after{content:'';position:absolute;right:0;top:0;bottom:0;width:1px;background:var(--fade-y)}
.fw-cr-open__fig{margin:0 0 clamp(10px, 1.6vh, 14px);height:clamp(150px, 19vh, 220px);aspect-ratio:1600 / 1073;background:var(--g1)}
.fw-cr-open__fig img{display:block;width:100%;height:100%;object-fit:contain}
.fw-cr-open > p{margin:6px 0 14px;font-size:14.5px;line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-cr-open .fw-cr-open__addr{margin:12px 0 0;font-size:13px}
.fw-cr-open__addr span{font-weight:600;color:var(--ink)}
.fw-cr-qs{margin-top:clamp(12px, 2vh, 20px)}
.fw-cr-q{position:relative;padding:clamp(8px, 1.4vh, 13px) 0}
.fw-cr-q::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--fade-x)}
.fw-cr-q summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;font-family:var(--ff);font-size:clamp(15px, 2.1vh, 17px);font-weight:600;line-height:1.35;color:var(--ink)}
.fw-cr-q summary::-webkit-details-marker{display:none}
.fw-cr-q summary i{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;font-size:13px;color:var(--pk-ink);background:var(--pk-l);transition:transform .35s var(--ease)}
.fw-cr-q[open] summary i{transform:rotate(45deg)}
.fw-cr-q summary:hover{color:var(--pk-ink)}
.fw-cr-q p{margin:8px 44px 2px 0;font-size:14.5px;line-height:1.6;color:var(--g6);text-wrap:pretty}
.fw-cr-q p a{color:var(--pk-ink);font-weight:600}

/* ══════════════════════════════════════════════════════════════
   06 · SMALLER SCREENS — the bands are released and stacked
   ══════════════════════════════════════════════════════════════ */

@media (max-width: 1024px){
	.fw-cr-hero{--hh:clamp(220px, 34vw, 360px)}
	.fw-cr-why__fig{height:clamp(200px, 26vw, 300px)}
	.fw-cr-end__grid{grid-template-columns:minmax(0, 1fr);row-gap:28px}
	.fw-cr-open{padding-right:0}
	.fw-cr-open::after{display:none}
	.fw-cr-steps__row{grid-template-columns:repeat(2, minmax(0, 1fr));row-gap:26px}
	.fw-cr-steps__row::before{display:none}
	.fw-cr-teams__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
	.fw-cr-perks__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
	.fw-cr-grow__grid{grid-template-columns:minmax(0, 1fr);row-gap:24px}
	.fw-cr-where__grid{grid-template-columns:repeat(3, minmax(0, 1fr))}
}

@media (max-width: 768px){
	.fw-cr-page{--pad:14px;--gap:18px}
	.fw-cr-h1{font-size:clamp(27px, 7.6vw, 36px)}
	.fw-cr-h2{font-size:clamp(22px, 6.4vw, 30px)}

	.fw-cr-hero{grid-template-columns:minmax(0, 1fr);row-gap:22px;padding:10px var(--pad) 28px 0}
	.fw-cr-hero__fig{height:auto;width:calc(100% - var(--pad));margin-left:var(--pad)}
	/* The strip sits under the photograph on a phone, one role per row. */
	.fw-cr-now{position:static;flex-direction:column;margin-top:10px;border-radius:14px;box-shadow:inset 0 0 0 1.5px var(--line)}
	.fw-cr-now__head{padding:9px 14px}
	.fw-cr-now a + a::before{left:14px;right:14px;top:0;bottom:auto;width:auto;height:1px;background:var(--fade-x)}
	.fw-cr-act .fw-cr-btn{flex:1 1 auto}
	.fw-cr-facts{width:100%}
	.fw-cr-facts li{grid-template-columns:minmax(0, 1fr);grid-template-rows:auto auto auto;row-gap:6px;padding:0 12px}
	.fw-cr-facts .fw-cr-disc{grid-row:auto;width:40px;height:40px;font-size:18px}
	.fw-cr-facts__label{margin-top:0;font-size:12px;white-space:normal}

	/* Chips become one swipe row each, like an app's filter bar. */
	.fw-cr-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:calc(var(--pad) * -1);padding-right:var(--pad)}
	.fw-cr-chips::-webkit-scrollbar{display:none}
	.fw-cr-chips button{flex:0 0 auto}

	/* A role row on a phone: disc, then title and meta, salary under them. */
	.fw-cr-job{grid-template-columns:auto minmax(0, 1fr) 30px;row-gap:8px;align-items:start}
	.fw-cr-job .fw-cr-disc{width:40px;height:40px;font-size:18px}
	.fw-cr-job__side{grid-column:2;grid-row:2;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px;text-align:left}
	.fw-cr-job__side small{margin-top:0}
	.fw-cr-job__go{grid-column:3;grid-row:1;width:30px;height:30px;font-size:12px}
	.fw-cr-job__meta > span + span::before{display:none}
	.fw-cr-job__meta{gap:3px 14px}

	.fw-cr-why__grid{grid-template-columns:minmax(0, 1fr);row-gap:20px}
	.fw-cr-why__fig{height:auto;width:100%}
	.fw-cr-why__list{grid-template-columns:minmax(0, 1fr)}
	.fw-cr-why__list li:nth-child(n+2)::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:var(--fade-x)}
	.fw-cr-steps__row{grid-template-columns:minmax(0, 1fr)}
	.fw-cr-open__fig{height:auto;width:100%}
	.fw-cr-open .fw-cr-btn{width:100%}
	.fw-cr-search,.fw-cr-search input{width:100%}
	.fw-cr-teams__top{grid-template-columns:minmax(0, 1fr);row-gap:8px}
	.fw-cr-teams__grid{grid-template-columns:minmax(0, 1fr)}
	.fw-cr-perks__grid{row-gap:22px}
	/* The ladder climbs downwards on a phone: one step per row. */
	.fw-cr-ladder{grid-template-columns:minmax(0, 1fr);row-gap:16px}
	.fw-cr-ladder li:nth-child(n){margin-bottom:0}
	.fw-cr-ladder li{display:grid;grid-template-columns:auto minmax(0, 1fr);column-gap:14px;padding-top:14px}
	.fw-cr-ladder__ico{grid-row:span 3}
	.fw-cr-ladder small{margin-top:0}
	.fw-cr-where__grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

@media (prefers-reduced-motion: reduce){
	.fw-cr-anim [data-cr-reveal]{opacity:1;transform:none;transition:none}
	.fw-cr-now__head i{animation:none}
}
