/* Shared page containers and row/grid arrangements. */

.research-page .research-main{max-width:1600px;margin:0 auto;padding:42px 6.5% 90px}

.research-row{display:grid;gap:clamp(18px,2.2vw,38px);padding:0 0 54px;margin:0 0 54px;border-bottom:1px solid #3d4953;align-items:start}

.research-row.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}

.research-row.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}

.research-row.columns-1{grid-template-columns:minmax(0,1fr)}

.research-row.columns-3 .research-card>img{aspect-ratio:2.1/1}

.research-row.columns-1 .research-card{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(25px,4vw,70px);align-items:center}

.research-row.columns-1 .research-card>img{aspect-ratio:2.5/1}

.research-row.columns-3 .research-card h2{font-size:clamp(17px,1.3vw,22px)}

@media (max-width:850px) {
.research-page .research-main{padding:35px 6% 65px}
.research-row{padding-bottom:38px;margin-bottom:38px}
.research-row.columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.research-row.columns-1 .research-card{grid-template-columns:1fr}
}

@media (max-width:580px) {
.research-row.columns-2,.research-row.columns-3{grid-template-columns:1fr}
.research-card>img,.research-row.columns-3 .research-card>img{aspect-ratio:2.3/1}
.research-row{gap:34px}
}

.product-main{max-width:1600px;margin:0 auto;padding:42px 6.5% 92px}

.product-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);border-top:1px solid #3d4953;padding:40px 0 62px}

.product-row-feature{grid-template-columns:1fr;border-bottom:1px solid #3d4953;padding-bottom:60px}

@media (max-width:850px) {
.product-main{padding:35px 6% 65px}
.product-row{gap:24px;padding:30px 0 45px}
}

@media (max-width:600px) {
.product-row{grid-template-columns:1fr;gap:48px}
}

.product-row:not(.product-row-feature) .product-copy{display:flex;flex-direction:column;flex:1}

.product-row:not(.product-row-feature) .product-facts{margin-top:auto}

.product-row:not(.product-row-feature) .product-description{margin-bottom:25px}

.cap-main{max-width:1600px;margin:0 auto;padding:44px 6.5% 100px}

.competency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(35px,5vw,100px)}

.statement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}

@media (max-width:750px) {
.cap-main{padding:30px 6% 65px}
.competency-grid,.statement-grid{grid-template-columns:1fr}
}

.facilities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,3vw,60px)}

.contracting-section dl.contracting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(25px,3vw,60px);margin:0}

.contracting-grid>div{border-top:1px solid #39444d;padding-top:25px}

.contracting-grid dt{margin-bottom:20px}

.contracting-grid dd{font-size:clamp(17px,1.5vw,24px);overflow-wrap:anywhere}

@media (max-width:750px) {
.facilities-grid,.contracting-section dl.contracting-grid{grid-template-columns:1fr}
}

@media (min-width:1000px) {
.competency-grid{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(24px,3.5vw,65px)}
}


/* Consistent container geometry for all medium-banner pages. */
.research-main, .product-main, .cap-main { max-width: 1600px; margin: 0 auto; padding: 42px 6.5% 90px; }
@media (max-width: 850px) { .research-main, .product-main, .cap-main { padding: 35px 6% 65px; } }

