:root { --orange: #e9782f; --orange-light: #f0843d; }

.hero {
  background: radial-gradient(circle at 82% 28%, rgba(233,120,47,.25), transparent 28%), linear-gradient(135deg,#071d35 0%,#0b3159 64%,#102b47 100%);
  color: #fff;
  grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr);
}
.hero::before { border-color: rgba(255,255,255,.035); }
.hero h1 { color: #fff; }
.hero h1 span { color: #ef833d; }
.hero-lede { color: #d7e0e8; max-width: 760px; }
.explore-link { display:inline-flex; align-items:center; gap:18px; margin-top:25px; color:#fff; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-weight:800; font-size:.78rem; }
.explore-link i { width:44px; height:44px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; font-style:normal; color:#ef833d; }
.hero-facts { align-self:end; border-left:4px solid var(--orange); padding-left:30px; max-width:500px; }
.hero-facts p { color:#c9d5df; margin:0; padding:20px 0; border-top:1px solid rgba(255,255,255,.16); font-size:.94rem; }
.hero-facts p:first-child { border-top:0; }
.hero-facts strong { display:block; color:#fff; font:600 1.25rem "Oswald"; text-transform:uppercase; margin-bottom:5px; }
.numbers { background:#051629; }
.numbers strong { color:#ef833d; }
.intro { padding-top:125px; padding-bottom:85px; }
.intro > p:last-child { max-width:720px; }

.jobs { padding:0 0 80px; display:block; }
.job-card,
.job-card.reverse { display:flex; flex-direction:column; min-height:0; border:0; border-radius:0; background:transparent; overflow:visible; box-shadow:none; margin:0 0 110px; }
.job-card .job-image,
.job-card.reverse .job-image { order:0; width:100%; height:clamp(540px,62vw,820px); min-height:0; overflow:hidden; }
.job-image img { object-position:center center; }
.job-card:nth-child(2) .job-image img { object-position:center 42%; }
.job-card:nth-child(3) .job-image img { object-position:center 54%; }
.job-image::after { background:linear-gradient(to top,rgba(7,29,53,.28),transparent 42%); }
.job-image span { left:max(4vw,28px); bottom:24px; font-size:clamp(5rem,10vw,9rem); color:rgba(255,255,255,.92); }
.job-card:nth-child(2) .job-image span {
  left:auto;
  right:max(4vw,28px);
  top:32px;
  bottom:auto;
}
.job-card .job-content,
.job-card.reverse .job-content { order:1; position:relative; z-index:3; width:min(760px,72vw); margin:-175px 6vw 0 auto; padding:clamp(38px,5vw,68px); display:block; background:var(--orange); color:#071d35; border-radius:2px; box-shadow:0 30px 70px rgba(7,29,53,.22); }
.job-card.reverse .job-content { margin-left:6vw; margin-right:auto; background:var(--orange-light); }
.job-content::before { content:""; position:absolute; top:0; right:0; width:110px; height:9px; background:#071d35; }
.job-card.reverse .job-content::before { right:auto; left:0; }
.job-content .job-label { color:#071d35; letter-spacing:.17em; }
.job-content h3 { font-size:clamp(2.8rem,5vw,5.4rem); margin-bottom:24px; color:#071d35; }
.job-content .job-summary { font-size:1.05rem; line-height:1.7; color:#142c42; margin-bottom:25px; }
.job-content dl { margin-top:12px; }
.job-content dl div { border-top:1px solid rgba(7,29,53,.24); grid-template-columns:150px 1fr; padding:17px 0; }
.job-content dt { color:#071d35; }
.job-content dd { color:#18344c; }
.job-content .training { border-left-color:#071d35; color:#071d35!important; margin-top:20px; }
.travel-banner { margin-top:15px; background:#071d35; }
.travel-banner .eyebrow { color:#ef833d; }

@media (max-width:900px) {
  .hero { grid-template-columns:1fr; }
  .hero-facts { align-self:auto; max-width:720px; }
  .job-card .job-image,
  .job-card.reverse .job-image { height:62vw; min-height:430px; }
  .job-card .job-content,
  .job-card.reverse .job-content { width:min(86vw,720px); margin:-95px auto 0; }
  .job-card.reverse .job-content { margin-left:auto; margin-right:auto; }
}

@media (max-width:580px) {
  .hero { padding-top:70px; }
  .hero-facts { padding-left:20px; }
  .intro { padding-top:85px; padding-bottom:55px; }
  .job-card,
  .job-card.reverse { margin-bottom:70px; }
  .job-card .job-image,
  .job-card.reverse .job-image { height:65vw; min-height:290px; }
  .job-image span { font-size:4.5rem; }
  .job-card .job-content,
  .job-card.reverse .job-content { width:calc(100% - 28px); margin:-34px auto 0; padding:34px 24px; border-radius:0; }
  .job-content h3 { font-size:2.65rem; }
  .job-content .job-summary { font-size:.95rem; }
  .job-content dl div { grid-template-columns:1fr; gap:5px; }
}
