/* ============================================================
   TTCC — CAREERS PAGE
   careers.html only: the title + 16:9 still, and the two-column
   intro under it. The shell (top bar, menu panel, search overlay,
   footer) comes from base.css + nav.css + footer.css, shared with
   the other pages.
   ============================================================ */
.careers {
  padding-top: calc(var(--topbar-h) + 90px);   /* clears the fixed top bar */
  padding-bottom: 0;
}

/* Same gutter as the top bar (96px, 20px under 1300px via --gutter). */
.careers__inner {
  max-width: 2000px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}

/* ----- Hero -----
   Title sits on the gutter line, so it lands at the same left offset
   as the About h1; the still runs the full inner width below it. */
.careers-hero {
  margin-bottom: 120px;
}

/* Matches .about-intro__title exactly. */
.careers-hero__title {
  font-size: 52px;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #000000;
}

.careers-hero__media {
  margin-top: 48px;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #ececec;          /* shows through until the image lands */
}

/* Square corners by design — no radius here or on the wrap. */
.careers-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* ----- Intro -----
   Same 1fr/1fr split as .about-intro: the body starts at the halfway
   line, and its own max-width caps the measure without pulling it off
   that line. */
.careers-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  margin-bottom: 120px;
}

.careers-intro__statement {
  max-width: 620px;
  font-size: 34px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #000000;
}

.careers-intro__body {
  max-width: 620px;
}

.careers-intro__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.55;
  color: #000000;
}

.careers-intro__text + .careers-intro__text {
  margin-top: 18px;
}

/* ----- Open positions -----
   Rule spans the full content width; the grid inside matches the intro.
   The section's own bottom margin is 0 — its padding carries the space
   down to the footer. */
.careers-jobs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  border-top: 1px solid #e6e6e6;
  padding-top: 90px;
  padding-bottom: 120px;
}

/* Matches .careers-intro__statement. */
.careers-jobs__title {
  font-size: 34px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: #000000;
}

.careers-jobs__list {
  max-width: 620px;
}

/* One anchor per row, so the whole row is the hit area. */
.careers-job {
  display: flex;
  align-items: baseline;
  gap: 24px;
  padding: 26px 0;
  border-bottom: 1px solid #e6e6e6;
  color: #000000;
}

/* No rule above the first row — the section border already sits there. */
.careers-job:first-child {
  padding-top: 0;
}

.careers-job__role {
  font-size: 17px;
  font-weight: 500;
  color: #000000;
}

.careers-job:hover .careers-job__role {
  text-decoration: underline;
}

.careers-job__arrow {
  font-weight: 400;
}

.careers-job__location {
  font-size: 15px;
  font-weight: 400;
  color: #8a8a8a;
}

/* Below 1300px the intro stacks, matching .about-intro. The gutter
   drops to 20px on its own (--gutter in base.css). */
@media (max-width: 1300px) {
  .careers-intro {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }
}

@media (max-width: 900px) {
  .careers-hero {
    margin-bottom: 80px;
  }

  .careers-hero__title {
    font-size: 40px;
  }

  .careers-hero__media {
    margin-top: 32px;
  }

  .careers-intro {
    margin-bottom: 80px;
  }

  .careers-intro__statement {
    font-size: 28px;
  }

  /* Columns stack here, not at 1300px — the list needs the width. */
  .careers-jobs {
    grid-template-columns: 1fr;
    row-gap: 32px;
    padding-top: 64px;
    padding-bottom: 80px;
  }

  .careers-jobs__title {
    font-size: 28px;
  }
}

@media (max-width: 700px) {
  .careers-hero__title {
    font-size: 32px;
  }

  .careers-intro__statement {
    font-size: 24px;
  }

  .careers-jobs__title {
    font-size: 24px;
  }

  .careers-job__role {
    font-size: 16px;
  }
}
