.custom-logo-link img{width:204px;height:auto}.bs-page-content{padding-top:70px;padding-bottom:90px;min-height:50vh}.bs-page-content h1{font-size:clamp(36px,5vw,56px)}.bs-page-content a{color:#805d0e}.project-card{display:block;text-decoration:none}.bs-no-photo{height:100%;display:grid;place-items:center;background:#252e30;color:#f0bd31;font-size:20px;font-weight:800}.bs-project-single{padding:48px 0 95px}.bs-back{display:inline-block;color:#805d0e;font-size:14px;font-weight:800;text-decoration:none;margin-bottom:25px}.bs-project-heading h1{font-size:clamp(36px,5vw,58px);margin:10px 0}.bs-project-category{font-size:13px;color:#617071}.bs-project-featured{background:#e7eae6;border-radius:8px;overflow:hidden}.bs-project-featured .bs-lightbox-item{width:100%;border:0;background:transparent;display:block}.bs-project-featured img{width:100%;max-height:600px;object-fit:contain}.bs-project-description{max-width:800px;margin:35px 0;font-size:17px;line-height:1.8}.bs-project-gallery h2,.bs-project-video h2{font-size:30px;margin:38px 0 20px}.bs-project-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.bs-lightbox-item{background:white;border:1px solid #e1e5e1;padding:0;text-align:inherit}.bs-lightbox-item img{width:100%;height:260px;object-fit:cover}.bs-lightbox-item span{display:block;padding:9px 12px;font-size:14px;color:#52605e}.bs-project-video iframe,.bs-project-video video{max-width:100%;width:min(100%,780px);aspect-ratio:16/9;height:auto}.bs-project-video a{color:#805d0e}.project-dialog .dialog-content{min-width:230px}.elementor .bs-el-hero{background:#151d20;color:white;padding:65px max(20px,calc((100vw - 1180px)/2));}.elementor .bs-el-hero>.e-con-inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:24px}.elementor .bs-el-hero-copy{width:100%}.elementor .bs-el-hero-copy .elementor-widget-heading:first-child h3{color:#f0bd31;font-size:14px}.elementor .bs-el-hero-copy h1{color:#fff;font-size:clamp(44px,5.6vw,72px);line-height:1.1}.elementor .bs-el-hero-copy p{color:#d9e0df;font-size:19px}.elementor .bs-el-hero-copy .elementor-widget-button{display:inline-flex;margin-inline-end:10px}.elementor .bs-el-hero-copy .elementor-button{background:#f0bd31;color:#151d20;font-weight:800;border-radius:7px;padding:16px 22px}.elementor .bs-el-hero-copy .elementor-widget-button:last-child .elementor-button{background:transparent;color:white;border:1px solid #6d7977}.elementor .bs-el-hero-picture{background:radial-gradient(circle at center,#38423d 0,#26302e 59%,transparent 60%);height:550px;width:100%;overflow:hidden;display:flex;justify-content:center;align-items:end}.elementor .bs-el-hero-picture .elementor-widget-image,.elementor .bs-el-hero-picture .elementor-widget-container{height:100%;width:100%}.elementor .bs-el-hero-picture img{height:100%;width:100%;object-fit:contain;object-position:center bottom}.elementor .bs-el-trust{background:#f0bd31;padding:18px max(20px,calc((100vw - 1180px)/2));}.elementor .bs-el-trust>.e-con-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.elementor .bs-el-trust h3{font-size:16px;color:#151d20;margin:0}.elementor .bs-el-section{padding:85px max(20px,calc((100vw - 1180px)/2));}.elementor .bs-el-section h2{font-size:clamp(32px,4vw,48px);font-weight:800;color:#151d20}.elementor .bs-el-section p{font-size:17px;color:#617071}.elementor .bs-el-services,.elementor .bs-el-projects,.elementor .bs-el-reviews,.elementor .bs-el-contact{display:block}.elementor .bs-el-service-grid>.e-con-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.elementor .bs-el-service-card{width:100%;border:1px solid #e4e6e2;border-top:4px solid #f0bd31;padding:21px;min-height:190px}.elementor .bs-el-service-card h3{font-size:19px;color:#151d20}.elementor .bs-el-service-card p{font-size:14px}.elementor .bs-el-projects,.elementor .bs-el-reviews{background:#f6f6f2}.elementor .bs-el-about>.e-con-inner{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.elementor .bs-el-about-picture{width:100%;height:480px;background:#f0bd31;display:grid;place-items:end center;overflow:hidden}.elementor .bs-el-about-picture .elementor-widget-image,.elementor .bs-el-about-picture .elementor-widget-container{height:100%;width:100%}.elementor .bs-el-about-picture img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.elementor .bs-el-review-grid>.e-con-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.elementor .bs-el-review-card{width:100%;padding:25px;background:white;min-height:180px;border:1px solid #e4e6e2}.elementor .bs-el-review-card:first-child{background:#151d20}.elementor .bs-el-review-card:first-child h3,.elementor .bs-el-review-card:first-child p{color:white}.elementor .bs-el-contact{background:#151d20}.elementor .bs-el-contact h2{color:white}.elementor .bs-el-contact p{color:#d9e0df}.elementor .bs-el-contact .elementor-widget-button{display:inline-flex;margin-inline-end:10px}.elementor .bs-el-contact .elementor-button{background:#f0bd31;color:#151d20;font-weight:800;padding:15px 22px}.elementor .bs-el-contact .elementor-widget-button:last-child .elementor-button{background:white}
@media(max-width:800px){.custom-logo-link img{width:175px}.bs-project-photos{grid-template-columns:repeat(2,1fr)}.bs-lightbox-item img{height:190px}.elementor .bs-el-hero>.e-con-inner,.elementor .bs-el-about>.e-con-inner{grid-template-columns:1fr}.elementor .bs-el-hero{padding:45px 20px 0}.elementor .bs-el-hero-picture{height:410px}.elementor .bs-el-trust>.e-con-inner{grid-template-columns:1fr}.elementor .bs-el-service-grid>.e-con-inner{grid-template-columns:repeat(2,1fr)}.elementor .bs-el-review-grid>.e-con-inner{grid-template-columns:1fr}.elementor .bs-el-section{padding:65px 20px}.elementor .bs-el-about-picture{height:390px}}
@media(max-width:480px){.bs-project-photos{grid-template-columns:repeat(2,1fr);gap:8px}.bs-lightbox-item img{height:150px}.elementor .bs-el-hero-picture{height:360px}.elementor .bs-el-service-card{padding:14px}.elementor .bs-el-hero-copy .elementor-widget-button,.elementor .bs-el-contact .elementor-widget-button{display:block;margin:0 0 10px}}

.bs-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bs-reviews-grid .review{background:#fff;border:1px solid #e4e6e2;border-top:3px solid #f0bd31}.bs-reviews-grid .review strong{display:block;font-size:14px;margin-top:auto}.bs-reviews-grid .review small{display:block;color:#617071;margin-top:8px}.bs-review-form-wrap{margin-top:34px;padding:30px;background:#fff;border:1px solid #e4e6e2;border-radius:8px}.bs-review-form-wrap h3{font-size:25px;margin-bottom:18px}.bs-review-form{display:grid;grid-template-columns:1fr 180px;gap:15px}.bs-review-form label{display:block;font-size:14px;font-weight:700}.bs-review-form input:not([type=checkbox]),.bs-review-form textarea,.bs-review-form select{width:100%;padding:12px;border:1px solid #aebbb7;border-radius:5px;font:inherit;background:#fff;color:#151d20}.bs-review-message,.bs-review-consent{grid-column:1/-1}.bs-review-form .bs-review-consent{display:flex;align-items:flex-start;gap:9px;font-weight:400}.bs-review-consent input{margin-top:6px}.bs-review-consent a{color:#725006;text-decoration:underline}.bs-review-trap{position:absolute;left:-9999px;opacity:0;pointer-events:none}.bs-review-form button{justify-self:start}.bs-review-notice{padding:12px;background:#fff4cc;border-left:4px solid #f0bd31}.elementor .bs-el-reviews .bs-reviews-grid p{color:#151d20}.elementor .bs-el-reviews .bs-review-form-wrap{max-width:900px;margin-inline:auto}@media(max-width:800px){.bs-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.bs-reviews-grid,.bs-review-form{grid-template-columns:1fr}.bs-review-form-wrap{padding:19px}}

/* Service photography and a project photo gallery editable through WordPress. */
.service{padding:0;overflow:hidden;display:flex;flex-direction:column}.service-photo{height:205px;overflow:hidden;background:#e4e5e0}.service-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.service-copy{padding:20px 22px 24px}.service-copy h3{margin-top:12px}.bs-work-photos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}.bs-work-photo{display:block;position:relative;overflow:hidden;border-radius:6px;background:#151d20;min-height:180px;color:white;text-decoration:none}.bs-work-photo img{width:100%;height:210px;object-fit:cover;transition:transform .2s}.bs-work-photo:hover img{transform:scale(1.04)}.bs-work-photo span{display:block;padding:10px 11px;font-size:13px;font-weight:700;line-height:1.35}.projects-more{display:flex;justify-content:center;margin-top:28px}.project-more-button{background:#151d20;border:1px solid #151d20;color:#fff}.project-more-button:hover{background:#f0bd31;color:#151d20}.elementor .bs-el-service-card{padding:0;overflow:hidden}.elementor .bs-el-service-card>.e-con-inner{display:flex;flex-direction:column}.elementor .bs-el-service-card .elementor-widget-image{width:100%}.elementor .bs-el-service-card .elementor-widget-image img{width:100%;height:190px;object-fit:cover;object-position:center 25%}.elementor .bs-el-service-card .elementor-widget-heading,.elementor .bs-el-service-card .elementor-widget-text-editor{margin:0 20px}.elementor .bs-el-service-card .elementor-widget-heading{margin-top:17px}.elementor .bs-el-service-card .elementor-widget-text-editor{margin-bottom:20px}.elementor .bs-el-projects .elementor-widget-button{display:flex;justify-content:center;margin-top:26px}.elementor .bs-el-projects .elementor-button{background:#151d20;color:white;border-radius:6px;padding:14px 24px;font-weight:800}@media(max-width:800px){.bs-work-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.service-photo{height:160px}.service-copy{padding:15px}.service{min-height:0}}@media(max-width:480px){.bs-work-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.bs-work-photo img{height:145px}.service-photo{height:130px}.service-copy{padding:13px}.service-copy h3{margin-top:6px}.elementor .bs-el-service-card .elementor-widget-image img{height:135px}}

/* Contractor and Chinese trade team; images are marked as illustrative. */
.team-portrait,.elementor .bs-el-team-picture{background:#e7e5dd}.team-portrait img,.elementor .bs-el-team-picture img{width:100%;height:100%;object-fit:contain;object-position:center}.photo-note{position:absolute;inset-inline-end:12px;bottom:11px;background:rgba(21,29,32,.92);color:#fff;padding:6px 9px;border-radius:3px;font-size:11px;line-height:1.3;max-width:90%}.illustration-note{color:#627070;font-size:12px;margin:14px 0 0}.elementor .bs-el-team-picture{height:auto;min-height:340px;display:flex;flex-direction:column;align-items:stretch}.elementor .bs-el-team-picture img{height:auto;max-height:420px;object-fit:contain}.elementor .bs-el-team-picture p{font-size:12px;color:#52605e;margin:5px 11px 9px}.bs-reviews-grid .review-topic{display:inline-block;font-size:13px;font-weight:800;color:#8b6a10;border-bottom:2px solid #f0bd31;margin-bottom:12px;padding-bottom:3px}.bs-reviews-grid .review p{line-height:1.7}@media(max-width:800px){.team-portrait{height:auto;aspect-ratio:4/3}.team-portrait img{height:100%}}

.elementor .bs-el-team-picture .elementor-widget-image,.elementor .bs-el-team-picture .elementor-widget-container{height:auto;width:100%}.elementor .bs-el-team-picture .elementor-widget-text-editor{width:100%}@media(max-width:800px){.elementor .bs-el-team-picture{min-height:0}}
/* The global layout is built from Elementor Free pages; menu items stay in WordPress menus. */
.bs-layout-header .bs-el-header{background:#151d20;color:#fff;min-height:82px;padding:0 max(20px,calc((100vw - 1180px)/2))}
.bs-layout-header .bs-el-header>.e-con-inner{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:1180px;margin:auto}
.bs-layout-header .bs-el-header-logo{width:auto;flex:0 0 auto}
.bs-layout-header .bs-el-header-logo img{width:204px;height:auto}
.bs-layout-header .bs-el-header-nav{width:auto;flex:1;min-width:0}
.bs-layout-header .bs-header-navigation{display:flex;justify-content:flex-end;align-items:center}
.bs-layout-header .navlinks .bs-menu-list{display:flex;align-items:center;list-style:none;gap:5px;margin:0;padding:0}
.bs-layout-header .navlinks li{list-style:none;margin:0}
.bs-layout-footer .bs-el-footer{padding:42px max(20px,calc((100vw - 1180px)/2)) 26px;background:#0c1114;color:#d5d9d7}
.bs-layout-footer .bs-el-footer>.e-con-inner{max-width:1180px;width:100%;margin:auto;display:grid;grid-template-columns:1fr 2fr;align-items:start;gap:20px 36px}
.bs-layout-footer .bs-el-footer-brand img{width:195px}
.bs-layout-footer .bs-el-footer-brand p,.bs-layout-footer .bs-el-footer p{color:#abb6b2;font-size:14px}
.bs-layout-footer .bs-el-footer-links>.e-con-inner{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 16px}
.bs-layout-footer .bs-el-footer-links .elementor-widget-button{width:auto}
.bs-layout-footer .bs-el-footer-links .elementor-button{padding:5px;background:none;color:#d5d9d7;font-size:14px}
.bs-layout-footer .bs-el-footer-links .elementor-button:hover{color:#f0bd31}
.bs-layout-footer .languages{justify-content:flex-end}
@media(max-width:800px){
 .bs-layout-header .bs-el-header{min-height:68px;padding:0 16px}
 .bs-layout-header .bs-el-header-logo img{width:175px}
 .bs-layout-header .navlinks .bs-menu-list{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .bs-layout-header .bs-header-navigation{justify-content:flex-end}
 .bs-layout-header .nav-menu{top:68px}
 .bs-layout-footer .bs-el-footer>.e-con-inner{grid-template-columns:1fr}
 .bs-layout-footer .languages{justify-content:flex-start}
}
