/* Layout for service, industry, and regional pages. */
.service-expansion-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: center;
  gap: clamp(28px, 4vw, 68px);
}

.service-expansion-split > * {
  min-width: 0;
}

.service-expansion-copy .section-title {
  max-width: 20ch;
}

.service-expansion-copy p {
  max-width: 52ch;
  margin: 18px 0 0;
  color: var(--home-muted, #a8b3c4);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.75;
}

.service-expansion-copy .button {
  margin-top: 24px;
}

.service-expansion-visual {
  min-width: 0;
  width: 100%;
  margin: 0;
}

.service-expansion-visual img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: clamp(12px, 1.4vw, 20px);
}

.service-expansion-visual figcaption {
  max-width: 65ch;
  margin-top: 12px;
  color: var(--home-muted, #a8b3c4);
  font-size: 14px;
  line-height: 1.6;
}

.service-expansion-visual--regional {
  max-width: 600px;
  justify-self: end;
}

.pricing-comparison-wrap {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--home-border, #3d526d);
  border-radius: 12px;
}

.pricing-comparison {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  line-height: 1.7;
}

.pricing-comparison th,
.pricing-comparison td {
  padding: 20px 24px;
  vertical-align: top;
  border-bottom: 1px solid var(--home-border, #3d526d);
}

.pricing-comparison th { color: var(--home-text, #edf3fa); }
.pricing-comparison td { color: var(--home-muted, #a8b3c4); }
.pricing-comparison thead { background: var(--home-panel, #152438); }
.pricing-comparison tbody th { width: 25%; }
.pricing-comparison tr:last-child > * { border-bottom: 0; }

@media (max-width: 650px) {
  .pricing-comparison thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
  }
  .pricing-comparison, .pricing-comparison tbody, .pricing-comparison tr,
  .pricing-comparison th, .pricing-comparison td { display: block; width: auto; }
  .pricing-comparison tbody th { width: auto; background: var(--home-panel, #152438); }
  .pricing-comparison tbody td { padding-top: 12px; border: 0; }
  .pricing-comparison td::before {
    content: attr(data-label);
    display: block;
    color: var(--home-text, #edf3fa);
    font-weight: 600;
  }
  .pricing-comparison tr + tr { border-top: 1px solid var(--home-border, #3d526d); }
}

@media (max-width: 800px) {
  .service-expansion-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .service-expansion-copy .section-title {
    max-width: 24ch;
  }

  .service-expansion-visual {
    max-width: 640px;
  }

  .service-expansion-visual--regional {
    max-width: 600px;
    justify-self: start;
  }
}
