/* Requested enhancements are isolated here; existing design styles stay unchanged. */
:root{--action-black:#080a0d}
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
body>*,main,main>section,.site-header,.site-footer{max-width:100%}
main>section{overflow-x:clip}
img,video,svg{max-width:100%}

/* Consistent black call-to-action buttons. Navigation, media and icon controls are excluded. */
.company-profile-button,.project-view-all-button,.project-detail-button,.project-enquiry-button,.project-dialog-enquiry,.contact-form button,.project-enquiry-form>button,.document-list a b,.empty-state a,.hero .round-button{background:var(--action-black)!important;border-color:var(--action-black)!important;color:#fff!important}
.project-filter-row button{background:var(--action-black)!important;border-color:var(--action-black)!important;color:#fff!important}
.project-filter-row button:hover,.project-filter-row button.active{background:#292d32!important;border-color:#292d32!important;color:#fff!important}
.company-profile-button:hover,.project-view-all-button:hover,.project-detail-button:hover,.project-enquiry-button:hover,.project-dialog-enquiry:hover,.contact-form button:hover,.project-enquiry-form>button:hover{background:#292d32!important;border-color:#292d32!important;color:#fff!important}

/* Section-level perspective movement for a subtle 3D scrolling experience. */
main>section.scroll-depth-section{--depth-y:0px;--depth-rx:0deg;position:relative;max-width:100%;overflow-x:clip;transform:perspective(1400px) translate3d(0,var(--depth-y),0) rotateX(var(--depth-rx));transform-origin:50% 20%;will-change:transform;transition:transform .18s linear}
.project-showcase-card,.news-card,.sector-card,.community-card{transform-style:preserve-3d;backface-visibility:hidden}

/* iOS/Safari project dialog stacking fix: image and text use separate document-flow blocks. */
@media(max-width:640px){
 .project-detail-dialog{width:calc(100% - 20px)!important;max-height:calc(100dvh - 20px)!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch;background:#fff!important}
 .project-detail-dialog .project-dialog-layout{display:block!important;max-height:none!important;overflow:visible!important}
 .project-detail-dialog .project-dialog-layout>figure{position:relative!important;z-index:1!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/10!important;margin:0!important;overflow:hidden!important;background:#e9edf3!important;isolation:isolate}
 .project-detail-dialog .project-dialog-layout>figure img{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
 .project-detail-dialog .project-dialog-content{position:relative!important;z-index:2!important;display:block!important;overflow:visible!important;padding:27px 20px 32px!important;background:#fff!important;transform:translateZ(0)}
 .project-dialog-close{position:fixed!important;top:max(16px,env(safe-area-inset-top))!important;right:18px!important}
}

@media(max-width:767px),(prefers-reduced-motion:reduce){main>section.scroll-depth-section{transform:none!important;transition:none!important;will-change:auto}}
