/* ==========================================================================
   CAREERS — the values strip is the page's one pinned moment; everything
   else stays quiet and readable.
   ========================================================================== */

/* --- 01 · HERO ------------------------------------------------------------ */

.chero {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}
.chero__plate { position: absolute; inset: 0; }
.chero .plate__tint { position: absolute; inset: 0; background: rgba(10,10,10,0.6); }

.chero__inner {
  position: relative;
  z-index: 2;
  padding-top: calc(var(--nav-h) + 80px);
  padding-bottom: clamp(70px, 10vh, 130px);
}
.chero__headline { margin-top: clamp(24px, 3vw, 40px); max-width: min(14ch, 100%); }
.chero__sub { margin-top: clamp(26px, 3vw, 42px); max-width: min(46ch, 100%); }

.chero__cue {
  position: absolute;
  left: var(--gutter);
  bottom: 0;
  width: 1px; height: 70px;
  overflow: hidden;
}
.chero__cue span {
  display: block; width: 1px; height: 100%;
  background: var(--accent);
  animation: cue-c 4s var(--ease) infinite;
}
@keyframes cue-c {
  0%   { transform: translateY(-100%); }
  100% { transform: translateY(100%); }
}
@media (prefers-reduced-motion: reduce) { .chero__cue span { animation: none; } }


/* --- 02 · WHY ------------------------------------------------------------- */

.cwhy__grid { row-gap: 56px; align-items: center; }
.cwhy__text .index { margin-bottom: 12px; }
.cwhy__title { margin: 18px 0 clamp(34px, 4vw, 54px); font-size: var(--fs-h2); max-width: min(18ch, 100%); }


/* --- 03 · LIFE ------------------------------------------------------------ */

.life__head { align-items: end; row-gap: 24px; margin-bottom: clamp(50px, 7vw, 100px); }
.life__head .index { margin-bottom: 8px; }

.life__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 56px);
}
.life__item .plate { margin-bottom: 26px; }
.life__item h3 { margin-bottom: 12px; font-size: clamp(20px, 1.7vw, 27px); }
.life__item p { font-size: var(--fs-small); }

@media (max-width: 860px) { .life__list { grid-template-columns: 1fr; } }


/* --- 04 · VALUES — the horizontal strip ----------------------------------- */

.values { padding-block: 0; }

.values__pin {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(40px, 6vh, 80px);
  padding-block: clamp(80px, 10vh, 150px);
}
.values__head .index { margin-bottom: 12px; }
.values__title { max-width: min(14ch, 100%); }

.values__viewport { overflow: hidden; }

.values__track {
  display: flex;
  gap: clamp(30px, 4vw, 80px);
  padding-inline: var(--gutter);
  width: max-content;
  will-change: transform;
}

.value {
  flex: 0 0 auto;
  width: clamp(240px, 23vw, 330px);
  padding-top: clamp(20px, 2.4vw, 32px);
  border-top: 1px solid var(--rule-strong);
}
.value__no {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(28px, 2.8vw, 46px);
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--accent);
  margin-bottom: 18px;
}
.value h3 { margin-bottom: 12px; font-size: clamp(19px, 1.6vw, 26px); }
.value p { font-size: var(--fs-small); }

@media (max-width: 860px) {
  .values__pin { min-height: 0; display: block; padding-block: var(--sp-band); }
  .values__viewport { overflow: visible; margin-top: 44px; }
  .values__track {
    width: auto;
    flex-direction: column;
    padding-inline: 0;
    gap: 34px;
    transform: none !important;
  }
  .value { width: 100%; }
}


/* --- 05 · DISCIPLINES ----------------------------------------------------- */

.disciplines__head { align-items: end; row-gap: 24px; margin-bottom: clamp(50px, 7vw, 100px); }
.disciplines__head .index { margin-bottom: 8px; }

.disciplines__list {
  columns: 2;
  column-gap: clamp(40px, 7vw, 120px);
  border-top: 1px solid var(--rule);
}
.disciplines__list li {
  break-inside: avoid;
  padding-block: clamp(14px, 1.6vw, 22px);
  border-bottom: 1px solid var(--rule);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(17px, 1.5vw, 24px);
  letter-spacing: -0.02em;
}
@media (max-width: 720px) { .disciplines__list { columns: 1; } }

.disciplines__close { margin-top: clamp(50px, 6vw, 90px); max-width: min(26ch, 100%); }


/* --- 06 · WHAT YOU GET ---------------------------------------------------- */

.get__head { align-items: end; row-gap: 24px; margin-bottom: clamp(50px, 7vw, 100px); }
.get__head .index { margin-bottom: 8px; }

.get__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(30px, 4vw, 80px);
}
.get__row { padding-block: clamp(24px, 2.8vw, 40px); border-top: 1px solid var(--rule); }
.get__row h3 { margin-bottom: 12px; font-size: clamp(18px, 1.5vw, 24px); }
.get__row p { font-size: var(--fs-small); }

@media (max-width: 960px) { .get__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .get__list { grid-template-columns: 1fr; } }


/* --- 07 · OPEN POSITIONS -------------------------------------------------- */

.roles__head { align-items: end; row-gap: 24px; margin-bottom: clamp(50px, 7vw, 100px); }
.roles__head .index { margin-bottom: 8px; }

.roles__list { border-top: 1px solid var(--rule); }

.role {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(180px, 3fr) auto;
  gap: clamp(16px, 3vw, 48px);
  align-items: center;
  padding-block: clamp(26px, 3vw, 44px);
  border-bottom: 1px solid var(--rule);
  transition: opacity var(--t) var(--ease);
}
.role h3 { margin-bottom: 8px; font-size: clamp(20px, 1.8vw, 29px); }
.role p { font-size: var(--fs-small); }

@media (hover: hover) {
  .roles__list:hover .role { opacity: 0.45; }
  .roles__list .role:hover { opacity: 1; }
}

@media (max-width: 860px) {
  .role { grid-template-columns: 1fr; row-gap: 14px; align-items: start; }
  .role__cta { justify-self: start; }
}

.roles__empty { margin-top: clamp(34px, 4vw, 54px); font-size: var(--fs-small); }


/* --- 08 · DIDN'T FIND YOUR ROLE ------------------------------------------- */

.nofit__inner {
  padding-block: var(--sp-band);
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
.nofit__title { max-width: min(20ch, 100%); }
.nofit__body { margin-top: clamp(24px, 3vw, 38px); }
.nofit__cta { margin-top: clamp(32px, 4vw, 50px); }


/* --- 09 · APPLICATION FORM ------------------------------------------------ */

.apply__grid { row-gap: 56px; }
.apply__aside .index { margin-bottom: 12px; }
.apply__title { margin: 18px 0 24px; font-size: var(--fs-h3); max-width: min(16ch, 100%); }
.apply__note { font-size: var(--fs-small); max-width: min(32ch, 100%); }


/* ==========================================================================
   PERSONALITY — PEOPLE, NOT POSITIONS
   The statement leads and the label follows it to the right — the reverse
   of every product page in the house.
   ========================================================================== */

[data-page="careers"] .sec-head {
  align-items: baseline;
  margin-bottom: clamp(56px, 7.5vw, 120px);
}
[data-page="careers"] .sec-head > .col-3 { grid-column: 9 / span 4; order: 2; text-align: right; }
[data-page="careers"] .sec-head > .col-8 { grid-column: 1 / span 7; order: 1; }
[data-page="careers"] .sec-head h2 {
  font-size: clamp(28px, 3.8vw, 58px);
  letter-spacing: -0.032em;
  max-width: min(16ch, 100%);
}

@media (max-width: 860px) {
  [data-page="careers"] .sec-head > .col-3 { grid-column: 1 / -1; order: 1; text-align: left; }
  [data-page="careers"] .sec-head > .col-8 { grid-column: 1 / -1; order: 2; }
}

/* people — interiors and daylight */
[data-page="careers"] .plate { background-image: url("../assets/fields/aperture.svg"); }
[data-page="careers"] .chero__plate { background-image: url("../assets/fields/light-fall.svg"); }

/* This heading is 76 characters held in an 18ch column, which stacked it four
   lines deep at every width. The measure is widened and balanced so it reads
   in two — the type scale is untouched. */
.cwhy__title {
  max-width: min(34ch, 100%);
  text-wrap: balance;
}
@media (max-width: 860px) { .cwhy__title { max-width: 100%; } }
