.service-hero {
  position: relative;
  display: flex;
  min-height: min(680px, calc(100svh - 88px));
  align-items: center;
  overflow: hidden;
  background: var(--navy);
}

.service-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}

.service-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(6 10 15 / 96%), rgb(7 12 18 / 80%) 42%, rgb(8 14 21 / 30%) 75%), linear-gradient(0deg, rgb(7 11 15 / 58%), transparent 35%);
}

.service-hero-content {
  position: relative;
  z-index: 1;
  width: min(850px, 82%);
  padding: 90px 0 112px max(9vw, calc((100vw - 1220px) / 2));
}

.service-hero-content h1 {
  margin: 0 0 18px;
  font-size: clamp(54px, 7vw, 91px);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0.99;
}

.service-hero-content h1 span {
  color: var(--gold-light);
  font-weight: 800;
}

.service-hero-content > p:not(.eyebrow) {
  max-width: 470px;
  margin-bottom: 26px;
  color: #c2c5c8;
  font-size: 15px;
}

.service-hero-footer {
  position: absolute;
  right: 5vw;
  bottom: 24px;
  left: 5vw;
  display: flex;
  justify-content: space-between;
  color: #c8c9c7;
  font-family: var(--font-display);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.prep-intro {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  align-items: center;
  gap: 9%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 115px 0 120px;
}

.prep-intro-aside {
  position: relative;
  padding: 38px 0 0 16px;
}

.prep-intro-aside .section-kicker {
  position: absolute;
  top: 0;
  left: 0;
}

.prep-intro-aside img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  filter: saturate(0.72);
}

.prep-image-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 10px 13px;
  background: var(--gold);
  color: var(--night);
  font-family: var(--font-display);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.prep-intro-copy .eyebrow,
.detail-copy .eyebrow,
.checklist-heading .eyebrow {
  margin-bottom: 14px;
}

.prep-intro-copy h2,
.detail-copy h2,
.checklist-heading h2,
.service-contact h2 {
  margin: 0 0 20px;
  font-size: clamp(34px, 3.7vw, 48px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.1;
}

.prep-intro-copy > p:not(.eyebrow),
.detail-copy > p:not(.eyebrow),
.checklist-heading > p:not(.eyebrow),
.service-contact > div:first-child > p:last-child {
  color: #b7bbc0;
  font-size: 13px;
}

.prep-highlight {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.prep-highlight-mark {
  display: grid;
  width: 34px;
  flex: 0 0 auto;
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid var(--gold-dark);
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 16px;
  font-weight: 700;
}

.prep-highlight p {
  margin: 0;
  color: var(--gold-light);
  font-size: 11px;
}

.detail-section {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 9%;
  padding: 92px max(9vw, calc((100vw - 1220px) / 2)) 100px;
  border-top: 1px solid rgb(255 255 255 / 8%);
  background: var(--navy);
}

.detail-copy .section-kicker {
  margin-bottom: 37px;
}

.detail-copy h2 span,
.checklist-heading h2 span {
  color: var(--gold-light);
  font-weight: 400;
}

.detail-copy > p:not(.eyebrow) {
  max-width: 470px;
  margin-bottom: 20px;
}

.detail-image {
  position: relative;
  min-height: 400px;
  background: var(--night);
}

.detail-image img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.75);
}

.detail-image-label {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 11px 14px;
  background: var(--gold);
  color: var(--night);
  font-family: var(--font-display);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: 0.1em;
}

.service-checklist {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 8%;
  padding: 105px max(8vw, calc((100vw - 1220px) / 2)) 115px;
}

.checklist-heading .section-kicker {
  margin-bottom: 38px;
}

.checklist-heading h2 {
  font-size: clamp(34px, 3.6vw, 46px);
}

.checklist-heading > p:not(.eyebrow) {
  max-width: 340px;
}

.checklist-groups {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}

.checklist-group h3 {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 12px;
  padding-bottom: 13px;
  border-bottom: 1px solid var(--gold-dark);
  color: var(--paper);
  font-size: 14px;
}

.checklist-group h3 span {
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 10px;
}

.checklist-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.checklist-group li {
  position: relative;
  padding: 9px 0 9px 20px;
  border-bottom: 1px solid rgb(255 255 255 / 7%);
  color: #bfc3c6;
  font-size: 11px;
  line-height: 1.5;
}

.checklist-group li::before {
  position: absolute;
  top: 9px;
  left: 0;
  color: var(--gold-light);
  content: "✓";
  font-size: 12px;
}

.service-contact {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px;
  padding: 69px max(9vw, calc((100vw - 1220px) / 2));
  background: #080b0f;
}

.service-contact .eyebrow {
  margin-bottom: 11px;
}

.service-contact h2 {
  margin-bottom: 10px;
  font-size: clamp(30px, 3.3vw, 41px);
}

.service-contact > div:first-child > p:last-child {
  margin: 0;
}

.service-contact-links {
  display: grid;
  min-width: 285px;
  border-top: 1px solid var(--line);
}

.service-contact-links > a {
  display: grid;
  gap: 5px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.service-contact-links > a > span {
  color: #989fa6;
  font-family: var(--font-display);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.13em;
}

.service-contact-links strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 13px;
}

@media (max-width: 1200px) {
  .prep-intro {
    max-width: 86%;
  }

  .detail-section {
    padding-right: 7vw;
    padding-left: 7vw;
  }

  .service-checklist {
    padding-right: 7vw;
    padding-left: 7vw;
  }

  .service-contact {
    padding-right: 7vw;
    padding-left: 7vw;
  }
}

@media (max-width: 820px) {
  .service-hero {
    min-height: 590px;
  }

  .service-hero-content {
    width: 90%;
    padding-left: 7vw;
  }

  .prep-intro {
    grid-template-columns: 0.8fr 1.2fr;
    gap: 7%;
    padding-top: 88px;
    padding-bottom: 90px;
  }

  .prep-intro-aside img {
    height: 380px;
  }

  .detail-section {
    gap: 6%;
    padding-top: 75px;
    padding-bottom: 80px;
  }

  .detail-image {
    min-height: 350px;
  }

  .service-checklist {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-top: 80px;
    padding-bottom: 85px;
  }

  .checklist-heading .section-kicker {
    margin-bottom: 25px;
  }

  .checklist-heading > p:not(.eyebrow) {
    max-width: 500px;
  }

  .service-contact {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}

@media (max-width: 600px) {
  .service-hero {
    min-height: 590px;
    align-items: flex-end;
  }

  .service-hero-image {
    object-position: 58% center;
  }

  .service-hero-shade {
    background: linear-gradient(0deg, rgb(6 10 15 / 96%) 1%, rgb(7 12 18 / 83%) 49%, rgb(8 14 21 / 25%) 100%);
  }

  .service-hero-content {
    width: 100%;
    padding: 0 22px 95px;
  }

  .service-hero-content h1 {
    font-size: clamp(49px, 13vw, 67px);
  }

  .service-hero-content > p:not(.eyebrow) {
    font-size: 13px;
  }

  .service-hero-footer {
    right: 20px;
    bottom: 19px;
    left: 20px;
    font-size: 7px;
  }

  .prep-intro {
    grid-template-columns: 1fr;
    gap: 28px;
    max-width: none;
    padding: 68px 22px 76px;
  }

  .prep-intro-aside {
    max-width: 390px;
    padding-top: 33px;
  }

  .prep-intro-aside img {
    height: 290px;
  }

  .prep-intro-copy h2,
  .detail-copy h2,
  .checklist-heading h2 {
    font-size: 34px;
  }

  .prep-intro-copy > p:not(.eyebrow),
  .detail-copy > p:not(.eyebrow),
  .checklist-heading > p:not(.eyebrow) {
    font-size: 12px;
  }

  .detail-section {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 66px 22px 73px;
  }

  .detail-copy .section-kicker {
    margin-bottom: 25px;
  }

  .detail-image {
    min-height: 300px;
  }

  .service-checklist {
    gap: 29px;
    padding: 69px 22px 75px;
  }

  .checklist-heading .section-kicker {
    margin-bottom: 22px;
  }

  .checklist-groups {
    grid-template-columns: 1fr;
    gap: 29px;
  }

  .checklist-group h3 {
    font-size: 13px;
  }

  .checklist-group li {
    font-size: 11px;
  }

  .service-contact {
    gap: 22px;
    padding: 53px 22px;
  }

  .service-contact h2 {
    font-size: 31px;
  }

  .service-contact-links {
    min-width: 0;
  }

  .service-contact-links strong {
    font-size: 12px;
  }
}
