/* REV12 service taxonomy, compact galleries and office addresses. */
.footer .footer-grid>div:first-child{display:grid;grid-template-columns:120px minmax(0,1fr);gap:16px;align-items:center}
.footer .office-address{display:block;font-size:12px;line-height:1.6}
.footer .office-address+ .office-address{margin-top:12px}
.footer .office-address strong{display:block;color:#fff;margin-bottom:3px;font-weight:700}
.thumbnail-pair-v12{display:grid!important;grid-template-columns:1fr 1fr;gap:4px;width:100%;height:100%;background:white}
.project-photo .thumbnail-pair-v12 img{display:block!important;position:static!important;width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;transform:none!important;min-width:0}
.service-gallery-v12{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;width:100%;margin:16px 0}
.service-gallery-v12 figure,.case-gallery-v12 figure{margin:0;min-width:0;overflow:hidden}
.service-gallery-v12 img{width:100%;height:245px;object-fit:cover;display:block}
.service-gallery-v12 figure:first-child img{object-fit:contain}
.case-gallery-v12{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:8px;margin:16px 0 22px}
.case-gallery-v12 img{width:100%;height:clamp(230px,27vw,380px);object-fit:cover;display:block}
.services-grid .card-copy h3{font-size:clamp(19px,1.75vw,28px);line-height:1.14}
.solution-card h2{font-size:clamp(21px,1.6vw,28px);line-height:1.18}
@media(max-width:1100px){.service-gallery-v12{grid-template-columns:repeat(3,minmax(0,1fr))}.footer .footer-grid>div:first-child{grid-template-columns:90px minmax(0,1fr)}}
@media(max-width:650px){.service-gallery-v12,.case-gallery-v12{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery-v12 img,.case-gallery-v12 img{height:220px}.footer .footer-grid>div:first-child{grid-template-columns:84px minmax(0,1fr)}.case-gallery-v12[style="--cols:3"] figure:last-child{grid-column:1/-1}.services-grid .card-copy h3{font-size:24px}}
