/* Scoped additions use the existing AKDH typography, spacing and image treatment. */
.home-corporate-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:48px; }
.home-corporate-gallery .specialty-project { margin:0; min-width:0; }
.home-corporate-gallery .specialty-project picture { display:block; width:100%; height:100%; }
.home-corporate-gallery .specialty-project figcaption strong { font-size:clamp(20px,2vw,28px); }
.specialty-gallery .specialty-project picture { display:block; width:100%; height:100%; }
#specialty-business .specialty-project:last-child:nth-child(even) { grid-column:auto; }
.google-rating-summary { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:32px 0; margin-bottom:56px; border-top:3px solid #fff; border-bottom:1px solid rgba(255,255,255,.55); }
.google-rating-summary .google-rating-value { display:flex; align-items:baseline; gap:10px; margin:0; color:#fff; line-height:1; white-space:nowrap; }
.google-rating-value strong { font-size:clamp(54px,6vw,80px); letter-spacing:-.06em; font-weight:600; }
.google-rating-value span { font-size:20px; color:#fff; }
.google-rating-copy { flex:1; }
.google-rating-copy strong,.google-rating-copy small { display:block; }
.google-rating-copy strong { font-size:20px; font-weight:600; }
.google-rating-copy small { margin-top:8px; color:#fff; font-size:13px; line-height:1.5; }
.google-rating-summary .text-link { flex-shrink:0; }
.asmg-case .project-title-grid>div,.asmg-case .project-story-grid>div,.asmg-case .project-capability-grid>div { min-width:0; }
.asmg-case .project-title-grid h1 { font-size:clamp(40px,5.4vw,82px); line-height:1.03; max-width:none; }
.asmg-case .project-gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.asmg-case .asmg-feature-list h3:not(:first-child) { margin-top:32px; }
.asmg-case .asmg-feature-list p { margin-bottom:24px; }
.asmg-case .project-showcase-gallery .project-performance-note { margin-top:24px; }
.asmg-case .project-gallery-image { aspect-ratio:3/2; }
.asmg-case .project-gallery-image img { width:100%; height:100%; object-fit:contain; }
.asmg-case .project-gallery-card a { display:block; }
.asmg-case .project-gallery-card a:focus-visible { outline:3px solid #4050ff; outline-offset:-3px; }
.asmg-case .project-story-grid h2,.asmg-case .project-capability-grid h2 { font-size:clamp(32px,4vw,60px); line-height:1.1; }
/* The homepage contact actions share a frame; the trailing icons clarify each route. */
#contact .contact-copy { min-width:0; }
#contact .contact-actions { display:flex; flex-direction:row; flex-wrap:wrap; align-items:stretch; gap:14px; }
#contact .contact-action { flex:1 1 230px; display:flex; justify-content:space-between; gap:18px; min-width:0; min-height:58px; padding:16px 20px; border-width:2px; font-size:15px; line-height:1.35; text-align:left; }
#contact .contact-action-icon { display:block; flex:0 0 22px; width:22px; height:22px; }
#contact .contact-action.button-dark:hover { background:#3546e8; border-color:#3546e8; color:#fff; }
#contact .contact-action.button-outline:hover { background:#f0f2ff; border-color:#3546e8; color:#000; }
#contact .contact-action:focus-visible { outline:3px solid #3546e8; outline-offset:5px; }
@media(prefers-reduced-motion:reduce) { #contact .contact-action { transition:none; } }
@media(max-width:900px) {
 .asmg-case .project-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .home-corporate-gallery { grid-template-columns:1fr; margin-top:32px; }
 .google-rating-summary { flex-wrap:wrap; gap:20px; margin-bottom:36px; }
 .google-rating-summary .text-link { margin-left:0; }
 .google-rating-copy { min-width:170px; }
 .asmg-case .project-gallery-grid { grid-template-columns:1fr; }
}
