.service-index-hero {
  padding-block: clamp(3rem, 6vw, 6rem);
  color: white;
  background: linear-gradient(120deg, #222, #41352a);
}

.service-index-eyebrow {
  margin: 0 0 .8rem;
  color: #b86200;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.service-index-hero .service-index-eyebrow {
  color: #ffb454;
}

.service-index-hero h1 {
  margin: 0 0 1.5rem;
  font-size: clamp(2.2rem, 4.3vw, 4.3rem);
  line-height: 1.12;
}

.service-index-hero p:not(.service-index-eyebrow) {
  max-width: 50rem;
  color: #ebebeb;
  line-height: 1.85;
}

.service-index-hero-actions,
.service-index-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.7rem;
}

.service-index-details,
.service-index-regions,
.service-index-faq {
  padding-block: var(--section-space);
  background: #fff;
}

.service-index-process,
.service-index-pricing {
  padding-block: var(--section-space);
  background: #faf9f7;
}

.service-index-details h2,
.service-index-process h2,
.service-index-regions h2,
.service-index-pricing h2,
.service-index-faq h2 {
  margin: 0 0 1.2rem;
  color: #292929;
  font-size: clamp(1.8rem, 3vw, 3rem);
  line-height: 1.2;
}

.service-index-heading {
  max-width: 52rem;
  margin-bottom: 2rem;
}

.service-index-heading > p:last-child,
.service-index-process p,
.service-index-regions p,
.service-index-pricing p {
  max-width: 59rem;
  color: #626262;
  line-height: 1.85;
}

.service-index-details-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
}

.service-index-details-grid article {
  min-width: 0;
  padding: clamp(1.3rem, 2.5vw, 2.2rem);
  border: 1px solid #eae5df;
  border-radius: var(--radius-lg);
  background: #faf9f7;
}

.service-index-details-grid h3,
.service-index-regions h3 {
  margin: 0 0 1rem;
  color: #292929;
  font-size: clamp(1.2rem, 1.7vw, 1.5rem);
}

.service-index-details-grid p {
  margin: 0 0 1rem;
  color: #626262;
  line-height: 1.85;
}

.service-index-details-grid p:last-child {
  margin-bottom: 0;
}

.service-index-regions h3 {
  margin-top: 2rem;
}

.service-index-region-link {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  min-height: 3rem;
  margin-top: 1rem;
  color: #a65300;
  font-weight: 800;
}

.service-index-region-link span {
  font-size: 1.4rem;
}

.service-index-faq details {
  max-width: 62rem;
  margin-top: .8rem;
  border: 1px solid #e9e4dc;
  border-radius: .8rem;
  background: #faf9f7;
}

.service-index-faq summary {
  padding: 1.25rem;
  cursor: pointer;
  font-weight: 750;
}

.service-index-faq details p {
  margin: 0;
  padding: 0 1.25rem 1.4rem;
  color: #626262;
  line-height: 1.8;
}

.service-index-contact {
  padding-block: var(--section-space);
  background: #292929;
  color: white;
}

.service-index-contact h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.9rem, 3.2vw, 3.2rem);
  line-height: 1.2;
}

.service-index-contact p {
  max-width: 50rem;
  color: #e5e5e5;
  line-height: 1.85;
}

@media (max-width: 750px) {
  .service-index-details-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .service-index-hero-actions,
  .service-index-contact-actions {
    flex-direction: column;
  }
}