:root{--header-height:10rem}
.brand-lockup{display:block;position:relative;width:21rem;aspect-ratio:879/211;overflow:hidden;background:#fff;flex:none}
.brand-lockup img{position:static!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;object-fit:contain!important}
.header .site-logo{width:21rem;max-width:21rem;flex-basis:21rem}
.header-toggles{display:flex!important;align-items:center;gap:2rem;margin-left:2.4rem}
.ty-footer-bottom>.brand-lockup,.ty-footer-bottom>a{margin-right:auto}
.ty-footer-bottom .brand-lockup{width:18rem}
.ty-footer-bottom .brand-lockup img{width:100%!important}
.footer-left .h3{font-size:clamp(3rem,3.4vw,4.6rem);line-height:1.15;font-weight:300}
.ty-linkrow{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2.4rem 0;font-size:2.4rem;border-bottom:1px solid #c1c1c1}
.ty-linkrow svg{flex:none}
.footer-right{flex-wrap:wrap;align-items:flex-start}
.px-footer-office{min-width:20rem;max-width:28rem}
.px-office-address{font-style:normal;font-size:1.6rem;line-height:1.7}
.px-office-map{display:inline-block;margin-top:1.6rem;font-size:1.5rem;text-decoration:underline;text-decoration-color:#d6a900;text-underline-offset:.4rem;line-height:1.5}
.px-office-panel{padding:2.8rem;background:#f5f5f5;border-left:.4rem solid #f7c400;margin-top:3.2rem}
.ty-body-grid>div>.px-office-panel h2{font-size:2.8rem;margin:0 0 1.6rem}
.px-office-panel .px-office-address{font-size:2rem}
@media(min-width:1080px){
 .header-navigation{display:flex;align-items:center;margin-left:auto;max-width:none}
 .header-navigation__main{padding:0}
 .header-toggles .toggle--navigation{display:none}
 .header__inner{gap:1.6rem}
 .header-toggles{margin-left:0}
}
@media(max-width:1079px){
 :root{--header-height:8rem}
 .header .site-logo{width:18rem;max-width:18rem;flex-basis:18rem}
 .header .brand-lockup{width:18rem}
 .header-toggles{gap:1.8rem;margin-left:auto}
}
@media(max-width:400px){.header .site-logo{flex-basis:16rem;max-width:16rem}.header .brand-lockup{width:16rem}.header-toggles{gap:1.6rem}}

.px-project-cover{aspect-ratio:8/5;background:#e9e6dc;display:flex;flex-direction:column;justify-content:space-between;padding:3.2rem;color:#282823;border-top:6px solid #f7c400}.px-project-cover span{font-size:1.6rem;letter-spacing:.1em}.px-project-cover strong{font-size:clamp(2.4rem,2.6vw,3.4rem);font-weight:400;line-height:1.12;max-width:22rem}.px-image-caption{margin:0 0 3rem}.ty-card img{object-fit:contain;background:#f1f1ef}.ty-detail-image{object-fit:contain;background:#f1f1ef}.home-hero__bg img{object-fit:cover;object-position:center}.ty-card-body h3{overflow-wrap:anywhere}
.ty-card img.px-photo{object-fit:cover}
.px-project-figure{margin-top:0;margin-bottom:0}
.px-photo-caption,.px-gallery-item figcaption{font-size:1.35rem;line-height:1.65;color:#5d5d58;padding-top:1.4rem;max-width:100rem}
.px-photo-caption a,.px-gallery-item figcaption a{text-decoration:underline;text-underline-offset:.25em}
.px-project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4rem}
.px-gallery-item{margin:0;min-width:0}
.px-gallery-item a{display:block}
.px-gallery-item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:#eaeae7}
.px-hero-photo-note{position:absolute;right:2.4rem;bottom:1.8rem;max-width:40rem;padding:.6rem 1rem;color:#fff;background:rgba(0,0,0,.62);font-size:1.15rem;line-height:1.4;border-radius:.2rem}
@media(max-width:640px){.px-project-gallery{grid-template-columns:1fr;gap:3rem}.px-photo-caption,.px-gallery-item figcaption{font-size:1.25rem}.px-hero-photo-note{top:calc(var(--header-height) + .6rem);bottom:auto;right:1rem;max-width:25rem;font-size:1rem}}

/* Show complete engineering renderings alongside the existing white hero card. */
.home-hero--renders{background:#f1f1ef;padding:calc(var(--header-height) + 8rem) 0 8rem}
.home-hero--renders .home-hero-box{width:40%;max-width:58rem}
.home-hero--renders .home-hero-box .btn-group{padding-right:0;padding-bottom:5.6rem}
.home-hero--renders .home-controls{bottom:2.8rem}
.home-hero--renders .home-hero__bg .media{transform:none;transition:opacity .7s ease;will-change:opacity}
.home-hero--renders .px-hero-render picture{position:absolute;left:max(2rem,calc((100vw - 160rem)/2));top:calc(var(--header-height) + 3rem);bottom:6rem;width:calc(56% - 4rem);display:block}
.home-hero--renders .px-hero-render img{width:100%;height:100%;object-fit:contain;object-position:center}
.home-hero--renders .px-hero-photo-note{left:max(2rem,calc((100vw - 160rem)/2));right:auto;bottom:2.4rem;top:auto;color:#555;background:rgba(255,255,255,.9)}
.px-render-expand{display:block;cursor:zoom-in}
.px-render-expand .ty-detail-image{height:auto;max-height:80rem}
.px-render-expand>span{display:block;padding-top:1.3rem;font-size:1.3rem;text-decoration:underline;text-underline-offset:.3em}
@media(max-width:1079px){
 .home-hero--renders{--render-height:clamp(26rem,48vw,44rem);padding:calc(var(--header-height) + var(--render-height)) 0 4rem}
 .home-hero--renders .home-hero-box{width:100%;max-width:none}
 .home-hero--renders .home-hero__bg{height:calc(var(--header-height) + var(--render-height))}
 .home-hero--renders .px-hero-render picture{left:2rem;top:calc(var(--header-height) + 1rem);bottom:3.5rem;width:calc(100% - 4rem)}
 .home-hero--renders .px-hero-photo-note{left:2rem;bottom:.6rem;max-width:calc(100% - 4rem);font-size:1.05rem}
}

/* Plain backgrounds replace the former decorative contour artwork. */
.home-hero--bim .btn-group{display:flex;flex-direction:column;align-items:flex-start;gap:1.8rem}
.px-home-project-link{font-size:1.5rem;line-height:1.5;text-decoration:underline;text-underline-offset:.3em}
.px-home-project-link:hover{text-decoration-color:#d6a900}
.footer,.profile-hero,.country-office-item-aside{background-image:none}

/* General BIM references: complete model views, separate from the project portfolio. */
.px-reference-label{display:block;padding:1rem 2.4rem;background:#f0eee7;color:#57574f;font-size:1.2rem;line-height:1.5}
.px-reference-intro{max-width:90rem;font-size:1.8rem;line-height:1.65;margin:0 0 3.5rem}
.px-digital-feature{border-bottom:1px solid #e7e7e0}
.px-digital-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:6rem;align-items:center}
.px-digital-grid>div,.px-digital-grid>figure{min-width:0}
.px-digital-grid>figure{margin:0}
.px-digital-grid h2{font-size:clamp(3rem,3.4vw,4.8rem);line-height:1.12;margin-bottom:2.5rem}
.px-digital-grid .ty-lead{margin-bottom:3rem}
.px-reference-expand{display:block;cursor:zoom-in}
.px-reference-expand img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.px-reference-expand>span{display:block;margin-top:1.4rem;font-size:1.3rem;text-decoration:underline;text-underline-offset:.3em}
@media(max-width:900px){.px-digital-grid{grid-template-columns:1fr;gap:3.5rem}.px-digital-grid>figure{max-width:76rem;width:100%}}
