/* Service portfolio grids only. Content and placement: company project.json. */
.service-case-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    margin: 32px 0 0;
    padding: 0;
}
.service-case-grid--two { max-width: 900px; margin-left: auto; margin-right: auto; }
.service-case-grid > .service-case-card { min-width: 0; margin: 0; padding: 0; }
.service-case-grid > .service-case-card[hidden] { display: none !important; }
.service-case-grid .service-case-image {
    display: block;
    aspect-ratio: 436 / 346;
    overflow: hidden;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    background: #fff;
}
.service-case-grid .service-case-image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.service-case-grid .service-case-caption { padding-top: 20px; }
.service-case-grid h3 { font-size: 21px; font-weight: 600; line-height: 1.45; margin: 0 0 7px; overflow-wrap: anywhere; }
.service-case-grid h3 a { color: #202124; text-decoration: none; }
.service-case-grid .service-case-industry { color: #777; font-size: 14px; line-height: 1.6; margin: 0 0 10px; }
.service-case-grid .service-case-description { color: #666; font-size: 16px; line-height: 1.75; margin: 0; word-break: keep-all; overflow-wrap: anywhere; }
.service-case-grid a:focus-visible { outline: 3px solid #0045c8; outline-offset: 4px; }
.service-case-grid h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.service-case-heading { max-width: 900px; margin: 0 auto; text-align: center; }
.service-case-heading p { word-break: keep-all; overflow-wrap: anywhere; }
.service-portfolio-section { background: #fff; }
.service-portfolio-section .service-case-grid { margin-top: 36px; }
.service-case-grid--institutions h3 { font-size: 18px; }
.service-case-grid--institutions .service-case-description { font-size: 15px; }
.service-portfolio-dark .service-case-grid h3 a { color: #fff; }
.service-portfolio-dark .service-case-grid .service-case-industry,
.service-portfolio-dark .service-case-grid .service-case-description { color: rgba(255,255,255,.8); }
.service-related-cases { display: flex; flex-wrap: wrap; column-gap: 24px; row-gap: 14px; margin-top: 30px; }
.service-related-cases a { line-height: 1.7; }
@media (min-width: 768px) {
    .service-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 24px; }
}
@media (min-width: 992px) {
    .service-case-grid--three,
    .service-case-grid--institutions { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 28px; }
    .service-case-grid--two { column-gap: 28px; }
}
@media (min-width: 1200px) {
    .service-case-grid--institutions { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 24px; }
}
