/* MD ENGINEERING V150 — responsive footer + accessibility + hero QA guard.
   Isolated namespace prevents regressions to the approved V149 design. */
:root{--md150-red:#bf092f;--md150-night:#0c1016;--md150-border:#303744}
.mdV150Skip{position:fixed;z-index:2147483647;left:16px;top:12px;padding:12px 18px;background:#fff;color:#111;font-weight:800;border:2px solid #be1232;border-radius:10px;transform:translateY(-180%)}
.mdV150Skip:focus{transform:translateY(0)}
footer.mdV150Footer,html[data-md-theme="light"] footer.mdV150Footer{background:var(--md150-night)!important;color:#e5e8ed!important;border-top:3px solid var(--md150-red)!important;box-shadow:none!important;padding:0!important;margin:0!important;text-align:left!important;font:inherit!important;position:relative;isolation:isolate}
footer.mdV150Footer *,footer.mdV150Footer *::before,footer.mdV150Footer *::after{box-sizing:border-box}
footer.mdV150Footer .mdV150FooterInner{width:min(1180px,calc(100% - 56px));max-width:1180px;margin:0 auto;padding:48px 0 31px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr) minmax(0,1fr);gap:clamp(26px,4vw,60px);align-items:start}
footer.mdV150Footer .mdV150BrandRow{display:flex;align-items:center;gap:16px;margin:0 0 17px}
footer.mdV150Footer .mdV150LogoShell{display:flex;justify-content:center;align-items:center;flex:none;width:94px;height:74px;padding:10px;background:#f8f8f7;border-radius:12px;border:1px solid #e0e2e4}
footer.mdV150Footer .mdV150LogoShell img{max-width:100%;max-height:100%;width:100%;height:auto;object-fit:contain;display:block}
footer.mdV150Footer .mdV150BrandName{font-size:15px;line-height:1.37;letter-spacing:.017em;font-weight:850;color:#fff;max-width:270px;margin:0}
footer.mdV150Footer .mdV150BrandDesc{font-size:14px;line-height:1.75;color:#b4becb;max-width:390px;margin:0 0 12px}
footer.mdV150Footer .mdV150UEN{margin:0;color:#919eaf;font-size:12px;line-height:1.6;letter-spacing:.02em}
footer.mdV150Footer .mdV150Heading{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#f6f7fa;margin:7px 0 18px;line-height:1.5}
footer.mdV150Footer .mdV150Links{display:grid;gap:4px;align-items:start}
footer.mdV150Footer .mdV150Links a{color:#c8d0da!important;text-decoration:none!important;font-size:14px;line-height:1.55;display:block;padding:6px 0;transition:color .18s ease;max-width:100%}
footer.mdV150Footer .mdV150ContactLine{font-size:14px;color:#b8c3d0;line-height:1.65;margin:0 0 12px;overflow-wrap:anywhere}
footer.mdV150Footer .mdV150ContactLine a{color:#dce4ee!important;text-decoration:none!important}
footer.mdV150Footer a:hover{color:#fff!important;text-decoration:underline!important;text-decoration-color:#f0274a!important;text-underline-offset:4px}
footer.mdV150Footer a:focus-visible{outline:3px solid #ff526b;outline-offset:3px;border-radius:3px}
footer.mdV150Footer .mdV150FooterCTA{display:inline-flex;align-items:center;justify-content:center;margin-top:7px;padding:12px 18px;border-radius:11px;min-height:44px;font-size:13px;font-weight:850;background:linear-gradient(135deg,#d41138,#a60629);color:#fff!important;text-decoration:none!important;box-shadow:0 8px 24px rgba(160,0,41,.17)}
footer.mdV150Footer .mdV150FooterCTA:hover{background:#e01842;color:#fff!important;text-decoration:none!important}
footer.mdV150Footer .mdV150FooterBottom{border-top:1px solid rgba(191,207,225,.16);width:min(1180px,calc(100% - 56px));margin:0 auto;display:flex;gap:10px 30px;align-items:center;justify-content:space-between;padding:19px 0 max(21px,env(safe-area-inset-bottom));flex-wrap:wrap}
footer.mdV150Footer .mdV150FooterBottom p{font-size:12px;line-height:1.5;color:#9ba8b9!important;margin:0;letter-spacing:0}
footer.mdV150Footer .mdV150FooterBottom a{color:#b6bfca!important;text-decoration:none!important}
/* Keep embedded poster images proportional; no replacement/crop/stretch of approved artwork. */
.heroPosterFrame > img.heroDesktopLandscape{image-rendering:auto}
.heroPosterFrame > img:not(.heroDesktopLandscape){image-rendering:auto}
/* Default focus and reduced-motion compliance; avoids obscured anchors under sticky header. */
#contact,#services,#projects,#specialist,#case-study,#about,#capacity,#completed-projects{scroll-margin-top:95px}
@media (max-width:980px){
 footer.mdV150Footer .mdV150FooterInner{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:26px 42px;padding:41px 0 29px}
 footer.mdV150Footer .mdV150FooterContact{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:36px;align-content:start}
 footer.mdV150Footer .mdV150FooterContact .mdV150Heading{grid-column:1 / -1}
 footer.mdV150Footer .mdV150FooterCTA{justify-self:start}
}
@media (max-width:620px){
 footer.mdV150Footer .mdV150FooterInner,footer.mdV150Footer .mdV150FooterBottom{width:min(100% - 36px,460px)}
 footer.mdV150Footer .mdV150FooterInner{display:grid;grid-template-columns:minmax(0,1fr);gap:25px;padding:35px 0 23px}
 footer.mdV150Footer .mdV150FooterContact{display:block;grid-column:auto}
 footer.mdV150Footer .mdV150BrandRow{gap:14px}
 footer.mdV150Footer .mdV150LogoShell{width:84px;height:68px}
 footer.mdV150Footer .mdV150BrandName{font-size:14px}
 footer.mdV150Footer .mdV150Heading{margin:0 0 8px}
 footer.mdV150Footer .mdV150Links{gap:0}
 footer.mdV150Footer .mdV150Links a{padding:8px 0;min-height:42px}
 footer.mdV150Footer .mdV150FooterBottom{padding:17px 0 max(25px,env(safe-area-inset-bottom));display:grid;gap:6px}
 footer.mdV150Footer .mdV150FooterCTA{width:100%;max-width:300px}
}
@media (prefers-reduced-motion:reduce){footer.mdV150Footer .mdV150Links a{transition:none!important}}
