.careers {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
  min-height: 760px;
  background:
    radial-gradient(circle at 82% 16%, rgba(154,186,170,.2), transparent 34%),
    #07100d;
  color: #f4f7f5;
  overflow: hidden;
}

.careers-photo {
  position: relative;
  min-height: 760px;
  margin: 0;
  overflow: hidden;
}

.careers-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 46%, rgba(7,16,13,.9));
  pointer-events: none;
}

.careers-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.careers-photo figcaption {
  position: absolute;
  z-index: 1;
  left: clamp(24px,4vw,64px);
  right: clamp(24px,4vw,64px);
  bottom: 40px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
}

.careers-photo figcaption span {
  font: 600 clamp(24px,2.2vw,38px)/1.05 var(--display, Unbounded, sans-serif);
}

.careers-photo figcaption b {
  max-width: 220px;
  color: rgba(244,247,245,.72);
  font: 500 13px/1.45 var(--body, Onest, sans-serif);
  text-align: right;
}

.careers-copy {
  align-self: center;
  padding: clamp(56px,7vw,112px);
}

.careers-copy header { max-width: 760px; }
.careers-copy header > p:first-child {
  margin: 0 0 20px;
  color: #9abaaa;
  font: 650 13px/1.2 var(--body, Onest, sans-serif);
}

.careers-copy h2 {
  max-width: 820px;
  margin: 0;
  font: 560 clamp(44px,5vw,82px)/.98 var(--display, Unbounded, sans-serif);
  letter-spacing: -.055em;
}

.careers-copy header > p:last-child {
  max-width: 620px;
  margin: 26px 0 0;
  color: rgba(244,247,245,.7);
  font: 450 17px/1.6 var(--body, Onest, sans-serif);
}

.career-roles {
  margin-top: 48px;
  border-top: 1px solid rgba(154,186,170,.25);
}

.career-roles button {
  position: relative;
  width: 100%;
  min-height: 106px;
  display: grid;
  grid-template-columns: 96px minmax(180px,.85fr) minmax(240px,1.15fr);
  gap: 24px;
  align-items: center;
  padding: 22px 52px 22px 0;
  border: 0;
  border-bottom: 1px solid rgba(154,186,170,.25);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.career-roles button::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(154,186,170,.5);
  border-radius: 50%;
  color: #9abaaa;
  font-size: 24px;
  transform: translateY(-50%);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.career-roles button:hover::after,
.career-roles button:focus-visible::after {
  background: #9abaaa;
  color: #07100d;
  transform: translateY(-50%) rotate(90deg);
}

.career-roles button:focus-visible { outline: 2px solid #9abaaa; outline-offset: 4px; }
.career-roles span { color: #9abaaa; font: 650 12px/1.2 var(--body, Onest, sans-serif); }
.career-roles b { font: 590 18px/1.3 var(--display, Unbounded, sans-serif); }
.career-roles small { color: rgba(244,247,245,.62); font: 450 14px/1.5 var(--body, Onest, sans-serif); }

.careers-action {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  align-items: center;
  margin-top: 40px;
}

.careers-action p {
  max-width: 420px;
  margin: 0;
  color: rgba(244,247,245,.66);
  font: 450 14px/1.5 var(--body, Onest, sans-serif);
}

.careers-action button {
  min-height: 54px;
  padding: 0 25px;
  border: 1px solid #9abaaa;
  border-radius: 999px;
  background: #9abaaa;
  color: #07100d;
  font: 700 13px/1 var(--body, Onest, sans-serif);
  cursor: pointer;
}

.career-trap {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

.careers-form .form-section:first-of-type .form-section-grid { grid-template-columns: 1fr; }

@media (max-width: 980px) {
  .careers { grid-template-columns: 1fr; }
  .careers-photo { min-height: min(68svh,680px); }
  .careers-copy { padding: 72px 7vw 92px; }
}

@media (max-width: 640px) {
  .careers-photo { min-height: 54svh; }
  .careers-photo figcaption { bottom: 22px; align-items: start; flex-direction: column; gap: 6px; }
  .careers-photo figcaption b { max-width: none; text-align: left; }
  .careers-copy { padding: 54px 18px 76px; }
  .careers-copy h2 { font-size: clamp(38px,11vw,52px); }
  .careers-copy header > p:last-child { font-size: 15px; }
  .career-roles { margin-top: 34px; }
  .career-roles button {
    min-height: 126px;
    grid-template-columns: 1fr 42px;
    gap: 6px 14px;
    padding: 22px 0;
  }
  .career-roles button::after { position: static; grid-column: 2; grid-row: 1 / span 3; transform: none; }
  .career-roles button:hover::after,.career-roles button:focus-visible::after { transform: rotate(90deg); }
  .career-roles span,.career-roles b,.career-roles small { grid-column: 1; }
  .career-roles b { font-size: 16px; }
  .career-roles small { font-size: 13px; }
  .careers-action { align-items: stretch; flex-direction: column; }
  .careers-action button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .career-roles button::after { transition: none; }
}
