/* =========================
   Careers listings layout
   Responsive, Uncode-friendly
   ========================= */

/* Keep content readable, but do not hard-lock the page */
.careers-listings {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}

/* Desktop and larger */
.careers-listings .career-job {
  display: grid;

  /* Left column grows, right column fits the fixed-width button */
  grid-template-columns: minmax(0, 1fr) auto;

  /* Spacing tuned to match your screenshot */
  column-gap: clamp(28px, 5vw, 110px);
  row-gap: 18px;

  /* Key change: body stays in left column, never under the button */
  grid-template-areas:
    "heading apply"
    "body    apply";

  padding: clamp(18px, 3vw, 34px) 0;
}

.career-job__heading {
  grid-area: heading;
}

.career-job__apply-wrap {
  grid-area: apply;
  align-self: start;
  justify-self: end;
}

.career-job__body {
  grid-area: body;

  /* Keep readable line length like the design */
  max-width: 62ch;

  /* Visual breathing room between subhead and body */
  margin-top: 22px;
}

/* If the Uncode column is narrower, let body use full width */
@media (max-width: 991px) {
  .career-job__body {
    max-width: 100%;
  }

  /* Slightly reduce the right rail gap as space tightens */
  .careers-listings .career-job {
    column-gap: clamp(20px, 4vw, 60px);
  }
}

/* Mobile: button goes below body */
@media (max-width: 767px) {
  .careers-listings .career-job {
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "body"
      "apply";
    row-gap: 16px;
  }

  .career-job__apply-wrap {
    justify-self: start;
    margin-top: 10px;
  }

  .career-job__body {
    margin-top: 16px;
  }
}

/* =========================
   Typography
   ========================= */

.career-job__title {
  font-family: "GothamHTF", sans-serif;
  font-weight: 900;
  font-size: 24px;
  line-height: 30px;
  color: #211F21;
  margin: 0;
}

.career-job__subheading {
  font-family: "Geometos", sans-serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px;
  color: #1CA5A1;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 12px;
  margin-bottom: 0;
}

/* Keep the content block from inheriting odd spacing */
.career-job__body p:first-child {
  margin-top: 0;
}

.career-job__body p:last-child {
  margin-bottom: 0;
}

/* Empty-state message */
.career-empty {
  margin: 0;
  padding: 0;
}