/* ============================================================
   /jobs — Driver Dispatch page
   Self-contained; relies on base.css tokens + style.min.css
   (legal-header, legal-footer, .btn). Nothing here touches index.
   ============================================================ */

.jobs-body { background: var(--color-bg); color: var(--color-text); }

.jobs-main { padding-top: 0; }

.jobs-container {
  width: 100%;
  max-width: var(--content-wide);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

.jobs-nav { display: none; gap: var(--space-5); }
.jobs-nav a { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-text-muted); }
.jobs-nav a:hover { color: var(--color-primary); }
@media (min-width: 900px) { .jobs-nav { display: flex; } }

.jobs-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0 0 var(--space-3);
}

.jobs-main h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2.4rem, 6vw, 4.4rem);
  line-height: 0.98;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0 0 var(--space-5);
  color: var(--color-text);
}
.jobs-main h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(1.7rem, 3.6vw, 2.6rem);
  line-height: 1.05;
  margin: 0 0 var(--space-4);
  color: var(--color-text);
}
.jobs-main h3 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-lg);
  line-height: 1.15;
  margin: 0 0 var(--space-2);
  color: var(--color-text);
}
.jobs-lede {
  font-size: clamp(1.02rem, 1.4vw, 1.18rem);
  line-height: 1.65;
  color: var(--color-text-muted);
  max-width: 62ch;
  margin: 0 0 var(--space-6);
}
.jobs-main p { line-height: 1.65; }
.jobs-main a:not(.btn) { color: var(--color-primary); }
.jobs-main a:not(.btn):hover { color: var(--color-primary-hover); }

/* ---------- Hero ---------- */
.jobs-hero {
  position: relative;
  padding: calc(var(--space-20) + 48px) 0 var(--space-16);
  overflow: hidden;
  isolation: isolate;
}
.jobs-hero__bg, .jobs-closer__bg { position: absolute; inset: 0; z-index: -2; }
.jobs-hero__bg img, .jobs-closer__bg img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(0.85); }
.jobs-hero__scrim {
  position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgb(10 10 10 / 0.72) 0%, rgb(10 10 10 / 0.86) 55%, var(--color-bg) 100%),
    radial-gradient(60% 50% at 20% 30%, rgb(245 166 35 / 0.14), transparent 70%);
}
.jobs-hero__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-10);
  align-items: start;
}
@media (min-width: 980px) {
  .jobs-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr); gap: var(--space-12); }
  .jobs-form-card { position: sticky; top: 96px; }
}
.jobs-proof { list-style: none; padding: 0; margin: 0 0 var(--space-6); display: grid; gap: var(--space-3); }
.jobs-proof li {
  position: relative;
  padding-left: var(--space-6);
  color: var(--color-text-muted);
  line-height: 1.55;
}
.jobs-proof li::before {
  content: "";
  position: absolute; left: 0; top: 0.55em;
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--color-primary);
  box-shadow: var(--shadow-glow-amber);
}
.jobs-proof strong { color: var(--color-text); }
.jobs-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-6) 0; }
.jobs-disclosure {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  line-height: 1.6;
  color: var(--color-text-faint);
  max-width: 60ch;
  border-left: 2px solid var(--color-divider);
  padding-left: var(--space-4);
  margin: 0;
}

/* ---------- Form card ---------- */
.jobs-form-card {
  background: rgb(19 17 16 / 0.92);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-xl);
  padding: var(--space-6);
  box-shadow: var(--shadow-lg);
  backdrop-filter: blur(6px);
}
.jobs-form-card__eyebrow {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--color-primary); margin: 0 0 var(--space-2);
}
.jobs-form-card__title { font-size: var(--text-xl) !important; margin-bottom: var(--space-2) !important; }
.jobs-form-card__copy { color: var(--color-text-muted); font-size: var(--text-sm); margin: 0 0 var(--space-5); }

.jobs-form { display: grid; gap: var(--space-4); }
.jobs-form__row { display: grid; gap: var(--space-4); }
@media (min-width: 560px) { .jobs-form__row--2 { grid-template-columns: 1fr 1fr; } }

.jobs-field { display: grid; gap: var(--space-1); }
.jobs-field > span, .jobs-fieldset legend {
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--color-text-muted);
}
.jobs-field em, .jobs-fieldset legend em { font-style: normal; text-transform: none; letter-spacing: 0; color: var(--color-text-faint); }
.jobs-field input, .jobs-field select, .jobs-field textarea {
  width: 100%;
  font: inherit;
  font-size: var(--text-base);
  color: var(--color-text);
  background: var(--color-surface-2);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.7rem 0.85rem;
  transition: border-color 160ms var(--ease-out), box-shadow 160ms var(--ease-out);
}
.jobs-field select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);
  background-position: calc(100% - 18px) 55%, calc(100% - 13px) 55%;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  padding-right: 2.2rem;
}
.jobs-field textarea { resize: vertical; min-height: 84px; }
.jobs-field input:focus, .jobs-field select:focus, .jobs-field textarea:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgb(245 166 35 / 0.18);
}
.jobs-field input[aria-invalid="true"], .jobs-field select[aria-invalid="true"] { border-color: var(--color-secondary); }

.jobs-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--space-2); }
.jobs-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.jobs-chip { position: relative; }
.jobs-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.jobs-chip span {
  display: inline-block;
  font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.06em;
  color: var(--color-text-muted);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-full);
  padding: 0.4rem 0.8rem;
  transition: all 140ms var(--ease-out);
}
.jobs-chip input:checked + span { color: var(--color-text-inverse); background: var(--color-primary); border-color: var(--color-primary); }
.jobs-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgb(245 166 35 / 0.3); }

.jobs-haul { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.jobs-haul__option { position: relative; display: block; }
.jobs-haul__option input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; cursor: pointer; }
.jobs-haul__option span {
  display: grid; gap: 2px;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 0.6rem 0.75rem;
  background: var(--color-surface-2);
  transition: all 140ms var(--ease-out);
  min-height: 100%;
}
.jobs-haul__option strong { font-family: var(--font-display); font-size: var(--text-base); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-text); }
.jobs-haul__option small { font-size: var(--text-xs); color: var(--color-text-faint); line-height: 1.35; }
.jobs-haul__option input:checked + span { border-color: var(--color-primary); background: var(--color-primary-highlight); box-shadow: inset 0 0 0 1px var(--color-primary); }
.jobs-haul__option input:focus-visible + span { box-shadow: 0 0 0 3px rgb(245 166 35 / 0.3); }

.jobs-consent { display: grid; grid-template-columns: auto 1fr; gap: var(--space-3); align-items: start; font-size: var(--text-xs); color: var(--color-text-muted); line-height: 1.55; }
.jobs-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--color-primary); }
.jobs-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.jobs-submit { width: 100%; justify-content: center; }
.jobs-submit[disabled] { opacity: 0.6; cursor: wait; }
.jobs-form__message { font-size: var(--text-sm); color: var(--color-secondary-hover); margin: 0; }
.jobs-form__message[data-tone="ok"] { color: var(--color-green-hover); }

.jobs-form__success, .jobs-form__fallback { display: grid; gap: var(--space-3); }
.jobs-form__success p, .jobs-form__fallback p { color: var(--color-text-muted); margin: 0; }
.jobs-form__copyblock {
  font-family: var(--font-mono); font-size: var(--text-xs); line-height: 1.5;
  color: var(--color-text-muted); background: var(--color-surface-2);
  border: 1px dashed var(--color-border); border-radius: var(--radius-md);
  padding: var(--space-3); white-space: pre-wrap; word-break: break-word; margin: 0;
}

/* ---------- Sections ---------- */
.jobs-section { padding: var(--space-16) 0; }
.jobs-section--alt { background: var(--color-surface); border-top: 1px solid var(--color-divider); border-bottom: 1px solid var(--color-divider); }
.jobs-two { display: grid; gap: var(--space-8); }
@media (min-width: 900px) { .jobs-two { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: var(--space-12); } }

.jobs-steps { display: grid; gap: var(--space-5); margin-top: var(--space-8); }
@media (min-width: 760px) { .jobs-steps { grid-template-columns: repeat(3, 1fr); } }
.jobs-step { border-top: 2px solid var(--color-primary); padding-top: var(--space-4); }
.jobs-step__num { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.2em; color: var(--color-primary); display: block; margin-bottom: var(--space-2); }
.jobs-step p { color: var(--color-text-muted); margin: 0; }

.jobs-cards { display: grid; gap: var(--space-4); }
@media (min-width: 640px) { .jobs-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .jobs-cards--4 { grid-template-columns: repeat(4, 1fr); } }
.jobs-card {
  background: var(--color-surface-2);
  border: 1px solid var(--color-divider);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
}
.jobs-card p { color: var(--color-text-muted); margin: 0; font-size: var(--text-sm); }
.jobs-card strong { color: var(--color-text); }

.jobs-stats { display: grid; gap: var(--space-4); margin: var(--space-8) 0 var(--space-3); }
@media (min-width: 640px) { .jobs-stats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .jobs-stats { grid-template-columns: repeat(4, 1fr); } }
.jobs-stat { border-left: 3px solid var(--color-primary); padding: var(--space-2) 0 var(--space-2) var(--space-4); }
.jobs-stat__value { display: block; font-family: var(--font-display); font-weight: 700; font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1; color: var(--color-text); }
.jobs-stat__label { display: block; margin-top: var(--space-2); font-size: var(--text-xs); line-height: 1.45; color: var(--color-text-muted); }
.jobs-source { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--color-text-faint); margin: 0 0 var(--space-8); }
.jobs-note { color: var(--color-text-muted); max-width: 70ch; margin: var(--space-6) 0 0; }

.jobs-table-wrap { overflow-x: auto; margin-top: var(--space-6); border: 1px solid var(--color-divider); border-radius: var(--radius-lg); }
.jobs-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: var(--text-sm); }
.jobs-table th, .jobs-table td { text-align: left; vertical-align: top; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--color-divider); }
.jobs-table thead th { font-family: var(--font-display); font-size: var(--text-base); letter-spacing: 0.04em; text-transform: uppercase; color: var(--color-primary); background: var(--color-surface-2); }
.jobs-table tbody th { font-family: var(--font-mono); font-size: var(--text-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; }
.jobs-table td { color: var(--color-text-muted); line-height: 1.5; }
.jobs-table tbody tr:last-child th, .jobs-table tbody tr:last-child td { border-bottom: 0; }

.jobs-faq { display: grid; gap: var(--space-2); }
.jobs-faq__item { border: 1px solid var(--color-divider); border-radius: var(--radius-md); background: var(--color-surface-2); }
.jobs-faq__item summary {
  cursor: pointer; list-style: none;
  font-family: var(--font-display); font-size: var(--text-base); letter-spacing: 0.02em;
  padding: var(--space-4) var(--space-5); color: var(--color-text);
  display: flex; justify-content: space-between; gap: var(--space-4); align-items: center;
}
.jobs-faq__item summary::-webkit-details-marker { display: none; }
.jobs-faq__item summary::after { content: "+"; font-family: var(--font-mono); color: var(--color-primary); flex: none; }
.jobs-faq__item[open] summary::after { content: "–"; }
.jobs-faq__item p { color: var(--color-text-muted); margin: 0; padding: 0 var(--space-5) var(--space-5); font-size: var(--text-sm); }

/* ---------- Closer ---------- */
.jobs-closer { position: relative; padding: var(--space-20) 0; overflow: hidden; isolation: isolate; text-align: center; }
.jobs-closer__content { display: grid; justify-items: center; }
.jobs-closer .jobs-lede { text-align: center; }
.jobs-closer .jobs-hero__actions { justify-content: center; }

@media (prefers-reduced-motion: reduce) { .jobs-main * { transition: none !important; } }
