/* ============================================================
   Job detail pages (/job/*) — dark hero + readable light body.
   Reuses the global --swatch--* tokens; layout only.
   ============================================================ */

/* ---- hero ---- */
.job_hero { position: relative; overflow: hidden; background-color: var(--swatch--colorp4, #002017); }
.job_hero_inner { display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem;
  padding-bottom: clamp(2.5rem, 5vw, 4rem); max-width: 60rem; }
.job_back { display: inline-flex; align-items: center; gap: 0.45rem; margin-bottom: 0.4rem;
  color: rgba(255, 255, 255, 0.7); font-size: 0.95rem; text-decoration: none; transition: color 0.2s ease; }
.job_back:hover { color: var(--swatch--colorp3, #d5fe70); }
.job_back svg { width: 16px; height: 16px; }
.job_eyebrow { display: inline-flex; align-items: center; gap: 0.5rem;
  color: var(--swatch--colorp3, #d5fe70); font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0.08em; text-transform: uppercase; }
.job_title { margin: 0; color: #fff; font-weight: 400; letter-spacing: -0.03em; line-height: 1.08;
  font-size: clamp(2.2rem, 1.5rem + 2.6vw, 3.4rem); max-width: 20ch; }
.job_meta { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; margin-top: 0.25rem;
  color: rgba(255, 255, 255, 0.78); font-size: 1rem; }
.job_meta span { display: inline-flex; align-items: center; gap: 0.55rem; }
.job_meta span::before { content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: var(--swatch--colorp3, #d5fe70); flex: 0 0 auto; }

/* ---- apply button (lime pill) ---- */
.job_apply { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 0.6rem;
  background: var(--swatch--colorp3, #d5fe70); color: #0a0a0a; font-weight: 600; font-size: 1rem;
  padding: 0.85rem 1.6rem; border-radius: 100px; text-decoration: none;
  transition: transform 0.15s ease, filter 0.2s ease; }
.job_apply:hover { transform: translateY(-1px); filter: brightness(1.05); }
.job_apply svg { width: 16px; height: 16px; }

/* ---- body ---- */
.job_body { background: #fff; }
/* top spacing only — the section's bottom .u-section-spacer already handles the bottom */
.job_wrap { max-width: 760px; margin: 0 auto; padding-top: clamp(3rem, 6vw, 5rem); }
.job_content > h2 { margin: 2.5rem 0 1rem; color: #0b1a14; font-weight: 500; letter-spacing: -0.02em;
  font-size: clamp(1.4rem, 1.2rem + 0.7vw, 1.8rem); }
.job_content > h2:first-child { margin-top: 0; }
.job_content p { margin: 0 0 1rem; color: #33403a; line-height: 1.7; font-size: 1.0625rem; }
.job_content ul { margin: 0 0 1.5rem; padding: 0; list-style: none;
  display: flex; flex-direction: column; gap: 0.7rem; }
.job_content li { position: relative; padding-left: 1.6rem; color: #33403a; line-height: 1.6; font-size: 1.0625rem; }
.job_content li::before { content: ""; position: absolute; left: 0.15rem; top: 0.62em;
  width: 7px; height: 7px; border-radius: 2px; background: var(--swatch--colorp1, #0a7d5c); }
.job_content li b, .job_content li strong { color: #0b1a14; font-weight: 600; }
.job_eeo { margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid #e6e6e6;
  color: #6b6b6b; font-style: italic; line-height: 1.6; }
.job_cta { margin-top: 2rem; }
