/* Responsive corrections; keep existing colours, content and interactions. */
img { height:auto; }

.navbar-brand img,.footer-brand img { object-fit:contain; height:auto; }
main, main section, .container-xxl { min-width:0; }
main :is(.about-layout,.lifecycle-layout,.contact-form-shell,.inner-split,.inner-service-layout,.inner-contact-panel) > * { min-width:0; }
main :is(h1,h2,h3,p,a,button,label), .site-footer { overflow-wrap:break-word; }
.inner-breadcrumb { flex-wrap:wrap; }
.inner-breadcrumb i { flex-shrink:0; }
.inner-enquiry :is(input,select,textarea) { min-width:0; max-width:100%; }
/* Photo frames scale with their column instead of keeping a desktop height. */
#services .mc-solution-photo { height:auto; aspect-ratio:auto; flex:none; }
#services .mc-solution-photo img { display:block; width:100%; height:auto; object-fit:contain; }
#services .mc-solution-body { margin-top:0; }
#services .mc-solution-card:hover .mc-solution-photo img { transform:none; }
.about-main-image { height:auto; aspect-ratio:1.3; }
.about-detail-image { height:auto; aspect-ratio:1.25; }
.inner-page .inner-photo img { display:block; width:100%; height:auto; aspect-ratio:auto; object-fit:contain; }
.inner-page .inner-service-photo { display:block; width:100%; height:auto; min-height:0; max-height:none; aspect-ratio:auto; object-fit:contain; }
/* Preserve complete gallery photographs, including portrait images. */
.inner-gallery .inner-gallery-item img { display:block; height:auto; min-height:0; max-height:none; }
.inner-lightbox figure img { object-fit:contain; }
@media (min-width:1200px) {
 #home .mc-hero-inner { padding-top:140px; padding-bottom:80px; }
 #home .mc-hero-statistics { width:43%; right:34px; }
 .reference-header .dropdown-menu { max-width:calc(100vw - 32px); }
 .reference-header .navbar-nav:last-of-type .dropdown-menu { left:auto; right:0; }
}
@media (min-width:1600px) {
 #home .mc-hero-inner { padding-inline:48px; }
 #home .mc-hero-statistics { right:48px; }
}
@media (min-width:768px) and (max-width:1199px) {
 .about-layout { gap:32px; }

}
@media (max-width:991px) {
 .lifecycle-layout { grid-template-columns:minmax(0,1fr); }
 .lifecycle-image { min-height:0; height:auto; aspect-ratio:16 / 10; }
 .inner-service-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px) {
 .reference-header .main-nav { gap:10px; flex-wrap:nowrap; }
 .reference-header .navbar-brand { min-width:0; margin-right:0; }
 .mobile-header-enquiry { flex-shrink:0; }

 #projects .mc-project-description { min-width:0; }
 .about-gallery { padding-right:24px; }
 .about-main-image { height:auto; aspect-ratio:1.2; }
 .about-detail-image { height:auto; aspect-ratio:1.2; }
 .lifecycle-image { min-height:0; height:auto; aspect-ratio:4 / 3; }
 .lifecycle-image figcaption { left:12px; right:12px; bottom:12px; padding:12px; gap:10px; }
 .lifecycle-image figcaption strong { font-size:17px; }
 .lifecycle-button { gap:14px; padding:16px; }
 .inner-page .inner-photo img { height:auto; aspect-ratio:auto; border-bottom-right-radius:60px; }
 .inner-page .inner-service-photo { height:auto; aspect-ratio:auto; }
 .inner-contact-panel,.inner-form-fields { grid-template-columns:minmax(0,1fr); }
 .inner-enquiry :is(input,select,textarea) { font-size:16px; }
 .inner-step > div { min-width:0; }
 .inner-cta .btn,.inner-actions .btn { max-width:100%; white-space:normal; }
 .footer-bottom { gap:12px; flex-wrap:wrap; }
}
@media (max-width:359px) {
 .reference-header .navbar-brand img { width:130px; }
 .mobile-header-enquiry { padding-inline:8px; font-size:12px; }
 #home .mc-hero-inner { padding-inline:16px; }
 #home .mc-hero-points { flex-wrap:wrap; }
 #home .mc-hero-statistics dl > div { padding-inline:6px; }
 .inner-card,.inner-step { padding:20px; }
 .inner-step { flex-direction:column; }
 #faq .mc-faq-summary { gap:8px; }
}

@media (max-width:767px) {
 #services .mc-solution-badge { left:auto; right:8px; top:8px; width:30px; height:30px; font-size:13px; border-radius:6px; }
 #services .mc-solution-badge::after { width:14px; margin-top:2px; }
}
