/* About, team, service overview and engineering discipline pages. */
.page-intro{padding-block:65px 55px}
.page-intro h1{font-size:clamp(42px,5.1vw,72px);text-transform:none;letter-spacing:-1.5px;line-height:1.12;max-width:1000px}
.page-lead{font-size:25px;line-height:1.55;color:var(--muted);margin-top:25px;max-width:880px}
.company-split{padding-block:55px 85px;display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center}
.company-split h2,.company-section>h2,.company-section-heading h2{font-size:42px;letter-spacing:-.7px;line-height:1.22;margin-bottom:24px}
.company-split p:not(.eyebrow){font-size:18px;line-height:1.8;color:var(--muted)}
.company-split .text-link{margin-top:25px}
.company-office img{width:100%;height:auto;object-fit:contain}
.company-office figcaption{font-size:14px;margin-top:13px}
.company-stats-band{background:var(--blue);color:white}
.company-stats{padding-block:45px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-block:0}
.company-stats>div{display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:flex-end;border-left:1px solid #ffffff50;padding-left:25px}
.company-stats>div:first-child{border:0;padding-left:0}
.company-stats dt{font-size:16px;line-height:1.5;margin-top:10px}
.company-stats dd{font-size:52px;line-height:1.1;font-weight:300;margin:0}
.company-section{padding-block:80px}
.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:40px}
.approach-grid>div{border-top:1px solid var(--line);padding-top:25px}
.approach-grid h3{font-size:26px;line-height:1.3;margin-bottom:17px;color:var(--blue)}
.approach-grid p{font-size:18px;color:var(--muted);line-height:1.8}
.company-pale{background:var(--pale)}
.company-pale .company-split{padding-block:75px}
.market-list h3{font-size:27px;margin-bottom:22px;color:var(--blue)}
.market-list ul{padding-left:22px;margin:0;line-height:1.75;font-size:18px}
.market-list li{margin-bottom:9px}
.company-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}
.company-section-heading h2{margin-bottom:0;max-width:650px}
.company-section-heading>p{font-size:18px;color:var(--muted);max-width:420px}
.company-section-heading>.text-link{flex-shrink:0}
.team-section{padding-top:15px}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 35px}
.team-card{scroll-margin-top:125px}
.team-card>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 35%;background:var(--pale)}
.team-card-copy{padding-top:23px}
.team-card h3{font-size:26px;line-height:1.3}
.team-card .team-role{font-size:16px;color:var(--blue);line-height:1.5;margin-block:10px 17px}
.team-card-copy>p:last-child{font-size:17px;line-height:1.8;color:var(--muted)}
.team-card-copy>p:not(.team-role){font-size:17px;line-height:1.8;color:var(--muted)}
.team-card h3 a:hover,.team-card h3 a:focus-visible{color:var(--blue);text-decoration:underline;text-underline-offset:5px}
.team-resume-link{margin-top:20px}
.team-careers h2{margin-bottom:0}
.services-overview{padding-bottom:85px}
.service-overview-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding-block:45px;border-top:1px solid var(--line);scroll-margin-top:125px}
.service-overview-row:nth-child(even) .service-overview-photo{order:2}
.service-overview-photo{display:block;overflow:hidden}
.service-overview-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;transition:transform .3s}
.service-overview-photo:hover img{transform:scale(1.025)}
.service-overview-row h2{font-size:38px;line-height:1.2;margin-bottom:20px}
.service-overview-row h2 a:hover{color:var(--blue);text-decoration:underline;text-underline-offset:6px}
.service-overview-row p:not(.eyebrow){font-size:19px;line-height:1.75;color:var(--muted)}
.service-overview-row .text-link{margin-top:24px}
.discipline-photo{width:100%;height:auto;max-height:550px;object-fit:contain}
.discipline-intro{align-items:start;padding-top:25px}
.capabilities{display:grid;grid-template-columns:.8fr 1.5fr;gap:60px}
.capabilities ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;column-gap:35px;margin:0;padding:0;align-content:start}
.capabilities li{padding:15px 0;border-bottom:1px solid var(--line);font-size:18px;line-height:1.5}
.discipline-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:35px}
.discipline-gallery img{width:100%;height:auto}
.discipline-gallery a{display:block}
.discipline-gallery a:hover{outline:2px solid var(--blue);outline-offset:5px}
.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}
.related-project img{width:100%;height:auto;aspect-ratio:1.7;object-fit:cover}
.related-project h3{font-size:26px;line-height:1.3;margin-top:20px}
.related-project:hover h3{color:var(--blue)}
@media(max-width:1100px){
 .company-split{gap:35px}.company-split h2,.company-section>h2,.company-section-heading h2{font-size:36px}
 .company-stats{gap:20px}.company-stats dd{font-size:44px}.company-stats>div{padding-left:20px}
 .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 30px}
 .company-section-heading{gap:30px}.service-overview-row{gap:35px}.service-overview-row h2{font-size:34px}
 .capabilities{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
 .company-split{grid-template-columns:1fr;gap:32px;padding-block:30px 60px}
 .company-office{max-width:650px}.company-stats{grid-template-columns:1fr 1fr;row-gap:32px}
 .company-stats>div:nth-child(3){padding-left:0;border:0}.company-section{padding-block:60px}
 .approach-grid{grid-template-columns:1fr;gap:25px}.company-section-heading{display:block}
 .company-section-heading>p,.company-section-heading>.text-link{margin-top:22px;max-width:none}
 .service-overview-row{grid-template-columns:1fr;gap:28px}.service-overview-row:nth-child(even) .service-overview-photo{order:0}
 .discipline-photo{max-width:600px}.discipline-gallery{grid-template-columns:1fr;gap:20px;max-width:650px}
 .related-grid{gap:25px}.related-project h3{font-size:24px}
}
@media(max-width:560px){
 .page-intro{padding-block:45px 35px}.page-intro h1{font-size:40px;letter-spacing:-1px;overflow-wrap:normal}
 .page-lead{font-size:21px;margin-top:22px}.page-lead br{display:none}
 .company-split h2,.company-section>h2,.company-section-heading h2{font-size:32px}
 .company-stats dd{font-size:38px}.company-stats dt{font-size:15px}
 .company-stats{gap:26px 15px;padding-block:35px}.company-stats>div{padding-left:15px}
 .company-pale .company-split{padding-block:55px}.team-grid{grid-template-columns:1fr;gap:40px}
 .team-section{padding-top:10px}.team-card-copy>p:last-child{font-size:18px}
 .team-card-copy>p:not(.team-role){font-size:18px}
 .service-overview-row{padding-block:32px}.service-overview-row h2{font-size:32px}
 .services-overview{padding-bottom:45px}.capabilities ul{grid-template-columns:1fr}
 .related-grid{grid-template-columns:1fr;gap:32px}.company-section-heading{margin-bottom:30px}
}
@media(prefers-reduced-motion:reduce){.service-overview-photo:hover img{transform:none}}
@media print{.team-card,.service-overview-row,.company-stats{break-inside:avoid}.company-section{padding-block:30px}}
