/* Services only: retain the approved global/home/project scale and imagery. */
.services-page {
  padding-block: clamp(3rem, 2rem + 2.5vw, 5rem);
}

.services-page__breadcrumb {
  margin-block-end: 1.5rem;
  font-size: var(--text-small);
}

.services-page__breadcrumb a,
.services-page__links a,
.service-detail a:not(.button) {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-block-size: var(--target-min);
}

.services-page__header {
  max-inline-size: 68rem;
  margin-block-end: clamp(1.75rem, 1rem + 2vw, 3rem);
}

.services-page h1 {
  margin-block-end: 1rem;
  font-size: clamp(2.5rem, 1.5rem + 3vw, 4.5rem);
  line-height: 1.12;
  hyphens: none;
}

.services-page__intro {
  max-inline-size: 62ch;
  margin: 0;
  font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
  line-height: 1.6;
}

.services-page__intro > :last-child {
  margin-block-end: 0;
}

.services-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-block-end: 1px solid var(--color-stone);
}

.services-list__link {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem;
  align-items: baseline;
  gap: clamp(0.75rem, 1.5vw, 1.5rem);
  min-block-size: var(--target-min);
  padding-block: clamp(1.125rem, 1rem + 0.5vw, 1.5rem);
  border-block-start: 1px solid var(--color-stone);
  color: var(--color-text);
  text-decoration: none;
}

.services-list__number,
.services-list__arrow {
  color: var(--color-deep-red);
}

.services-list__number {
  font-size: var(--text-label);
  font-variant-numeric: tabular-nums;
}

.services-list__copy {
  display: grid;
  gap: 0.5rem;
  min-inline-size: 0;
}

.services-list h2 {
  margin: 0;
  font-size: clamp(1.375rem, 1rem + 1.25vw, 2rem);
  font-weight: var(--weight-medium);
  line-height: 1.25;
  text-wrap: balance;
  hyphens: none;
}

.services-list p {
  margin: 0;
  max-inline-size: 52ch;
  font-size: var(--text-body);
  line-height: 1.5;
  color: var(--color-text-muted);
}

.services-list__link:hover h2 {
  color: var(--color-deep-red);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.services-list__arrow {
  justify-self: end;
}

.services-page__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 2rem;
  margin-block-start: 1.5rem;
}

.services-page__empty {
  padding-block: 1rem;
}

.service-detail {
  display: grid;
  gap: 2rem;
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--color-stone);
}

.service-detail > * {
  min-inline-size: 0;
}

.service-detail h2 {
  margin-block-end: 1rem;
  font-size: clamp(1.375rem, 1.1rem + 0.65vw, 1.75rem);
  line-height: 1.3;
}

.service-detail__scope {
  max-inline-size: 65ch;
}

.service-detail__scope p {
  margin-block-end: 1rem;
}

.service-detail__scope p:last-child {
  margin-block-end: 0;
}

.service-detail__next {
  display: grid;
  align-content: start;
  gap: 1.5rem;
}

.service-detail__next ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.service-detail__contact {
  padding-block-start: 1.5rem;
  border-block-start: 1px solid var(--color-stone);
}

.service-detail__contact p {
  margin-block-end: 1rem;
}

.services-page__image {
  max-inline-size: 36rem;
  margin-block: 0 2rem;
}

.services-page__photograph {
  inline-size: 100%;
  block-size: auto;
}

@media (min-width: 48rem) {
  .service-detail {
    grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr);
    gap: clamp(2rem, 4vw, 4rem);
  }
}

@media (min-width: 64rem) {
  .services-list__link {
    grid-template-columns: 2.5rem minmax(0, 1fr) 1.5rem;
  }

  .services-list__copy {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    align-items: baseline;
    gap: 2rem;
  }
}

.services-page .service-detail__next:only-child {
  grid-column: 1 / -1;
  max-inline-size: 36rem;
}
