/* ── Careers index: light-mode re-skin ───────────────────────── */
  .careers-page {
    background: var(--paper);
    color: var(--ink);
  }
  .careers-page .container {
    max-width: 1120px;
    margin: 0 auto;
    padding-left: 32px;
    padding-right: 32px;
  }

  /* 1. Hero */
  .careers-hero {
    padding: 64px 0 48px;
  }
  .careers-hero .container {
    max-width: 820px;
  }
  .careers-hero-eyebrow {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-cobalt-400);
    text-align: center;
    margin: 0 0 14px;
  }
  .careers-hero-headline {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 52px;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--ink);
    text-align: center;
    text-wrap: balance;
    margin: 0;
  }
  .careers-hero-subheadline {
    margin: 20px auto 0;
    max-width: 580px;
    font-size: 18.5px;
    line-height: 1.58;
    color: var(--ink-2);
    text-align: center;
  }
  .careers-hero-subheadline a {
    color: var(--color-cobalt-400);
    text-decoration: none;
    font-weight: 500;
  }
  .careers-hero-subheadline a:hover { color: var(--color-cobalt-500); }
  /* Hero image lives in its own full-width section outside the narrow text container */
  .careers-hero-image-section {
    padding: 0 32px 72px;
  }
  .careers-hero-image-wrap {
    max-width: 1120px;
    margin: 0 auto;
    width: 100%;
  }
  .careers-hero-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 7;
    object-fit: cover;
    border-radius: var(--radius-lg);
    border: 1px solid var(--paper-line);
  }

  /* 2. Mission */
  .careers-mission {
    padding: 56px 0 72px;
  }
  .careers-mission .container {
    max-width: 820px;
    text-align: center;
  }
  .careers-mission-heading {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.025em;
    color: var(--ink);
    margin: 0 0 18px;
  }
  .careers-mission-body {
    font-size: 17px;
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0 auto 16px;
    max-width: 700px;
  }
  .careers-mission-body:last-child { margin-bottom: 0; }

  /* 3. Leadership */
  .careers-leadership {
    padding: 56px 0;
  }
  .careers-leadership-label {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-align: center;
    margin: 0 0 32px;
  }
  .careers-leadership-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    max-width: 760px;
    margin: 0 auto;
  }
  .careers-leadership-card {
    flex: 1 1 320px;
    max-width: 360px;
    background: #fff;
    border: 1px solid var(--paper-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-control);
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 18px;
  }
  .careers-leadership-photo-wrap {
    flex: 0 0 auto;
  }
  .careers-leadership-photo {
    width: 84px;
    height: 84px;
    border-radius: var(--radius-lg);
    object-fit: cover;
    object-position: center 28%;   /* anchor on the face, not the vertical center */
    border: 1px solid var(--paper-line);
  }
  .careers-leadership-name {
    font-family: var(--font-display);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: 0 0 2px;
  }
  .careers-leadership-title {
    font-size: 14px;
    color: var(--ink-3);
    margin: 0 0 10px;
  }
  .careers-leadership-linkedin {
    display: inline-flex;
    color: var(--color-cobalt-400);
  }
  .careers-leadership-linkedin:hover { color: var(--color-cobalt-500); }

  /* 4. Video */
  .careers-video {
    padding: 24px 0 56px;
  }
  .careers-video .container {
    max-width: 900px;
  }
  .careers-video-caption {
    font-size: 14.5px;
    color: var(--ink-3);
    text-align: center;
    margin: 0 0 16px;
  }
  .careers-video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid var(--paper-line);
    box-shadow: var(--shadow-control);
  }
  .careers-video-wrapper iframe,
  .careers-video-wrapper video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
  }

  /* 5. Galleries */
  .careers-gallery {
    padding: 0 0 56px;
  }
  .careers-gallery-heading {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 26px;
    letter-spacing: -0.02em;
    color: var(--ink);
    text-align: center;
    margin: 0 0 24px;
  }
  .careers-gallery-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto;
  }
  .careers-gallery-img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--radius-lg);
    border: 1px solid var(--paper-line);
  }

  /* 5c. Meet our Dooers */
  .careers-dooers {
    background: var(--paper-2);
    border-top: 1px solid var(--paper-line);
    border-bottom: 1px solid var(--paper-line);
    padding: 72px 0;
  }
  .careers-dooers-heading {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-align: center;
    margin: 0 0 14px;
  }
  .careers-dooers-intro {
    font-size: 17px;
    line-height: 1.58;
    color: var(--ink-2);
    text-align: center;
    max-width: 600px;
    margin: 0 auto 36px;
  }
  .careers-dooers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    max-width: 1120px;
    margin: 0 auto;
  }
  .careers-dooer-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--paper-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-control);
    overflow: hidden;
    text-decoration: none;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
  }
  .careers-dooer-card:hover {
    box-shadow: var(--shadow-surface);
    transform: translateY(-2px);
  }
  .careers-dooer-photo-wrap {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
  }
  .careers-dooer-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 28%;   /* keep faces consistently framed across the row */
  }
  .careers-dooer-info {
    padding: 22px 24px 24px;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
  .careers-dooer-headline {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: 0 0 12px;
  }
  .careers-dooer-quote {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--ink-2);
    margin: 0 0 18px;
  }
  .careers-dooer-byline {
    display: flex;
    flex-direction: column;
    margin-top: auto;
  }
  .careers-dooer-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--ink);
  }
  .careers-dooer-title {
    font-size: 13px;
    color: var(--ink-3);
  }
  .careers-dooer-readmore {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 14px;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-cobalt-400);
  }
  .careers-dooer-card:hover .careers-dooer-readmore { color: var(--color-cobalt-500); }

  /* 5b. Rundogs teaser */
  .careers-rundogs-teaser {
    padding: 32px 0;
  }
  .careers-rundogs-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 760px;
    margin: 0 auto;
    padding: 18px 26px;
    background: #fff;
    border: 1px solid var(--paper-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-control);
    text-decoration: none;
    color: var(--ink);
    font-size: 15px;
    font-weight: 500;
    transition: background 0.15s ease;
  }
  .careers-rundogs-link:hover { background: var(--paper-2); }
  .careers-rundogs-arrow { color: var(--color-cobalt-400); font-weight: 600; }

  /* 6. Benefits */
  .careers-benefits {
    padding: 56px 0;
  }
  .careers-benefits .container {
    max-width: 900px;
  }
  .careers-benefits-heading {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.025em;
    color: var(--ink);
    text-align: center;
    margin: 0 0 32px;
  }
  .careers-benefits-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .careers-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #fff;
    border: 1px solid var(--paper-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-control);
    padding: 18px 20px;
  }
  .careers-benefit-check {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: var(--radius-pill);
    background: var(--color-cobalt-400);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
  }
  .careers-benefit-text {
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--ink-2);
  }

  /* 8. Open Positions */
  .careers-positions {
    background: var(--paper-2);
    border-top: 1px solid var(--paper-line);
    padding: 72px 0 84px;
  }
  .careers-positions .container {
    max-width: 900px;
  }
  .careers-positions-heading {
    font-family: var(--font-display);
    font-weight: 800;
    font-size: 32px;
    letter-spacing: -0.025em;
    color: var(--ink);
    margin: 0 0 28px;
  }
  .careers-dept-group {
    margin-bottom: 36px;
  }
  .careers-dept-group:last-child { margin-bottom: 0; }
  .careers-dept-title {
    font-family: var(--font-mono);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-3);
    margin: 0 0 12px;
  }
  .careers-list-card {
    background: #fff;
    border: 1px solid var(--paper-line);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-control);
    overflow: hidden;
  }
  .career-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 22px 26px;
    border-bottom: 1px solid var(--paper-line);
  }
  .career-row:last-child { border-bottom: 0; }
  .career-row-main {
    flex: 1 1 auto;
    min-width: 0;
  }
  .career-row-title {
    display: block;
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: var(--ink);
    text-decoration: none;
  }
  .career-row-title:hover { color: var(--color-cobalt-400); }
  .career-row-meta {
    font-size: 13.5px;
    color: var(--ink-3);
    margin-top: 3px;
  }
  .career-row-meta-sep { padding: 0 6px; }
  .career-row-apply {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    /* Reset the legacy main.css .career-row-apply pill (cobalt bg + padding),
       which the scoped color override alone left as cobalt-on-cobalt. */
    background: none;
    padding: 0;
    border-radius: 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-cobalt-400);
    text-decoration: none;
    white-space: nowrap;
  }
  .career-row-apply:hover { color: var(--color-cobalt-500); }

  /* 8b. No roles / footnote */
  .careers-no-roles {
    padding: 36px;
    text-align: center;
  }
  .careers-no-roles-text {
    font-size: 15px;
    color: var(--ink-2);
    margin: 0;
  }
  .careers-positions-footnote {
    font-size: 14.5px;
    color: var(--ink-2);
    margin: 24px 0 0;
    text-align: center;
  }
  .careers-positions-email {
    color: var(--color-cobalt-400);
    text-decoration: none;
    font-weight: 500;
  }
  .careers-positions-email:hover { color: var(--color-cobalt-500); }

  /* ── Responsive ──────────────────────────────────────────────── */
  @media (max-width: 960px) {
    .careers-hero-headline { font-size: 38px; }
    .careers-dooers-grid { grid-template-columns: 1fr; }
    .careers-gallery-grid { grid-template-columns: 1fr; }
    .careers-benefits-grid { grid-template-columns: 1fr; }
  }
  /* 1b. Internship program banner */
  .careers-intern-banner { margin: 8px 0 48px; }
  .careers-intern-banner a {
    display: flex;
    align-items: center;
    gap: 18px;
    background: var(--paper-2);
    border: 1px solid var(--paper-line);
    border-left: 3px solid var(--color-cobalt-400);
    border-radius: var(--radius-md);
    padding: 20px 26px;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
  }
  .careers-intern-banner a:hover {
    border-color: var(--color-cobalt-400);
    box-shadow: var(--shadow-control);
  }
  .careers-intern-banner .intern-eyebrow {
    font-family: var(--font-mono);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-cobalt-400);
    flex: none;
  }
  .careers-intern-banner .intern-text { color: var(--ink); font-weight: 500; flex: 1; }
  .careers-intern-banner .intern-cta { color: var(--color-cobalt-400); font-weight: 600; white-space: nowrap; }
  @media (max-width: 640px) {
    .careers-intern-banner a { flex-wrap: wrap; gap: 8px; }
  }

  @media (max-width: 600px) {
    .careers-page .container { padding-left: 20px; padding-right: 20px; }
    .careers-hero-headline { font-size: 32px; }
    .careers-hero-image-section { padding-left: 20px; padding-right: 20px; }
    .careers-leadership-card { flex-direction: column; text-align: center; }
    .career-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  }
