/* Opt-in business compositions. Contact, document pages and shared chrome
   do not load this stylesheet or use these variants. */
.interior-page .depth-layout.balance-list,
.interior-page .process-layout.balance-process,
.interior-page .process-layout.balance-research {
  display: block;
}

.interior-page :is(.balance-list, .balance-process, .balance-research) .section-intro {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: clamp(32px, 5vw, 80px);
  margin: 0 0 40px;
}

.interior-page :is(.balance-list, .balance-process, .balance-research) .section-intro p {
  margin-top: 0;
}

.interior-page .balance-list .depth-grid {
  display: block;
}

.interior-page .balance-list .depth-grid article {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: 16px clamp(32px, 5vw, 80px);
  padding-block: 26px;
  border-top: 1px solid var(--page-line);
}

.interior-page .balance-list .depth-grid h3 {
  margin-bottom: 0;
}

.interior-page .balance-process aside {
  margin-bottom: 40px;
}

.interior-page .balance-process aside .section-intro {
  margin-bottom: 0;
}

.interior-page .balance-process aside > .text-link {
  margin-top: 20px;
}

.interior-page .balance-process .step-list .detail-row {
  border-top: 1px solid var(--page-line);
  padding-block: 28px;
}

.interior-page .balance-process .step-list .detail-row > div {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
  gap: 16px clamp(32px, 5vw, 80px);
  min-width: 0;
}

.interior-page .balance-process .step-list h3 {
  margin-bottom: 0;
}

/* Imagery leads into a balanced industry register, rather than attempting
   to match the height of an eight-item column. */
.interior-page .depth-layout.balance-feature {
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
  gap: 40px clamp(32px, 5vw, 80px);
}

.interior-page .balance-feature .section-intro {
  display: block;
  align-self: center;
  margin: 0;
}

.interior-page .balance-feature .section-intro p {
  margin-top: 24px;
}

.interior-page .balance-feature .depth-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0 clamp(32px, 5vw, 80px);
}

.interior-page .balance-feature .depth-grid article {
  border-top: 1px solid var(--page-line);
  padding-block: 26px;
}

.interior-page .balance-image {
  min-width: 0;
  margin: 0;
}

.interior-page .balance-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.page-about .balance-image img {
  aspect-ratio: 16 / 10;
}

.interior-page .balance-aside .balance-image {
  margin-top: 32px;
}

@media (min-width: 761px) and (max-width: 960px) {
  .interior-page .balance-aside .section-intro {
    display: block;
  }
  .interior-page .balance-aside .section-intro p {
    margin-top: 24px;
  }
  .interior-page .depth-layout.balance-aside {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 32px;
  }
  .interior-page .balance-aside .depth-grid {
    display: block;
  }
  .interior-page .balance-aside .depth-grid article:first-child {
    padding-top: 0;
    border-top: 0;
  }
}

@media (max-width: 760px) {
  .interior-page :is(.balance-list, .balance-process, .balance-research) .section-intro,
  .interior-page .balance-list .depth-grid article,
  .interior-page .balance-process .step-list .detail-row > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  .interior-page :is(.balance-list, .balance-process, .balance-research) .section-intro,
  .interior-page .balance-process aside {
    margin-bottom: 32px;
  }
  .interior-page .balance-process aside .section-intro {
    margin-bottom: 0;
  }
  .interior-page .depth-layout.balance-feature {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  .interior-page .balance-feature .section-intro {
    margin-bottom: 0;
  }
  .interior-page .balance-feature .section-intro p {
    margin-top: 18px;
  }
  .interior-page .balance-feature .depth-grid {
    display: block;
  }
  .interior-page .balance-image img {
    max-height: 60svh;
  }
}
