/* Scoped homepage introduction showcase. */
.page-home .c-home-introduction {background:#f5f3ee; color:#142238; padding-block:100px; text-align:center;}
.page-home .c-home-introduction h2 {font-size:clamp(1.8rem,3vw,3rem); line-height:1.18; margin:0 auto 1.25rem;}
.page-home .c-home-introduction h2 span {color:#27689e;}
.page-home .c-home-introduction h2::after {content:""; display:block; width:3.25rem; height:4px; background:#f2b200; margin:1.25rem auto 0;}
.page-home .c-home-introduction .c-lead {max-width:54rem; margin:0 auto; color:#142238;}
.page-home .c-home-introduction__showcase {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:3.813248vw; row-gap:2rem; align-items:end; margin:2rem auto; width:100%; max-width:none;}
.page-home .c-home-introduction__item {min-width:0; margin:0;}
.page-home .c-home-introduction__item picture {display:block;}
.page-home .c-home-introduction__item img {display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain;}
.page-home .c-home-introduction__item figcaption {font-size:1.125rem; font-weight:650; line-height:1.4; margin-top:.5rem; color:#142238;}
.page-home .c-home-introduction__mobile-label {display:none;}
.page-home .c-home-introduction__cta {margin-top:1.5rem; gap:.75rem;}
@media (max-width:48rem) {
 .page-home .c-home-introduction {text-align:center;}
 .page-home .c-home-introduction h2 {text-align:center;}
 .page-home .c-home-introduction .c-lead {margin-inline:auto;}
 .page-home .c-home-introduction__showcase {grid-template-columns:minmax(0,1fr); max-width:32rem; margin:1.25rem auto 1.75rem;}
 .page-home .c-home-introduction__item--side {display:none;}
 .page-home .c-home-introduction__item figcaption {text-align:center;}
 .page-home .c-home-introduction__desktop-label {display:none;}
 .page-home .c-home-introduction__mobile-label {display:inline;}
 .page-home .c-home-introduction__cta {max-width:100%; white-space:normal;}
}

/* Distinguish featured work from the white introduction. */
.page-home .c-home-featured-work {background:var(--color-surface-soft);}

/* Use viewport width rather than the global fixed container limit. */
@media (min-width:48.001rem) {
 .page-home .c-home-introduction > .l-container {width:80vw; max-width:80vw; margin-inline:auto; padding-inline:0;}
}

/* Expectation cards retain the former section surface. */
.page-home .c-home-expect {background:#f5f3ee;}
.page-home .c-home-expect .c-card {background:var(--color-surface-soft);}
