*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#171717;background:#f6f5f0}a{color:inherit}.menuBtn{display:none}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 6vw;background:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #eee}.logo{font-weight:900;font-size:24px;color:#c92127;text-decoration:none;line-height:.8}.logo span{display:block;font-size:10px;letter-spacing:1.4px;color:#222;margin-top:8px}nav{display:flex;gap:25px}nav a{text-decoration:none;font-weight:700;font-size:14px}.call,.primary{display:inline-block;background:#c92127;color:#fff;text-decoration:none;padding:14px 22px;font-weight:800;border-radius:6px}.hero{height:78vh;min-height:600px;position:relative;overflow:hidden}.slides,.slide,.shade{position:absolute;inset:0}.slide{background-size:cover;background-position:center;opacity:0;transition:opacity .7s}.slide.active{opacity:1}.shade{background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.22))}.heroText{position:absolute;left:8vw;top:50%;transform:translateY(-50%);max-width:760px;color:#fff;z-index:2}.badge,small{font-size:12px;font-weight:900;letter-spacing:2px;color:#c92127}.hero h1{font-size:clamp(48px,6vw,86px);line-height:.96;margin:18px 0}.hero h1 em{color:#f1c34b;font-style:normal}.hero p{font-size:19px;line-height:1.6;max-width:620px}.actions{display:flex;gap:12px;margin-top:30px}.secondary{border:1px solid #fff;color:#fff;text-decoration:none;padding:14px 22px;font-weight:800;border-radius:6px}.sliderArrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:52px;height:72px;border:1px solid #ffffff55;background:#0000002f;backdrop-filter:blur(5px);color:#fff;font-size:42px;cursor:pointer;border-radius:8px;transition:.2s}.sliderArrow:hover{background:#00000075}.sliderArrow.prev{left:22px}.sliderArrow.next{right:22px}.intro{text-align:center;padding:95px 20px 45px}.intro h2,.gallery h2,.contact h2,.services h2,.sectionHead h2,.aboutSplit h2{font-size:clamp(34px,5vw,60px);margin:14px 0}.intro p,.gallery>p{color:#666}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:25px 6vw 100px}.cards article{background:#fff;padding:34px 28px;min-height:245px;border:1px solid #e7e5df;border-radius:10px;transition:.2s}.cards article:hover{transform:translateY(-5px);box-shadow:0 14px 35px #00000010}.cardIcon{font-size:30px}.cards h3{font-size:22px;margin-top:28px}.cards p,.services p{color:#666;line-height:1.65}.services{padding:100px 7vw;background:#181818;color:#fff}.services .sectionHead{max-width:800px}.services .sectionHead p{color:#bbb;max-width:680px}.serviceGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:45px 0 35px}.serviceGrid article{border:1px solid #343434;border-radius:10px;padding:28px;min-height:220px;background:#202020}.serviceGrid span{color:#e9bd42;font-weight:900}.serviceGrid h3{font-size:21px;margin-top:30px}.serviceGrid p{color:#bbb}.gallery{padding:100px 6vw}.gallery>div{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:35px}.gallery img{width:100%;height:430px;object-fit:cover;border-radius:8px;cursor:zoom-in}.contact{padding:90px 7vw;background:#e9bd42;display:grid;grid-template-columns:1.5fr 1fr;gap:50px}.contact small{color:#222}.contact>div>p{line-height:1.6}.contactbox{background:#fff;padding:28px 38px;border-radius:10px}.contactbox p{padding:14px 0;border-bottom:1px solid #eee;line-height:1.5}.contactbox a{color:#c92127;font-weight:800;text-decoration:none}.mapSection{padding:90px 6vw;background:#fff}.mapPlaceholder{height:480px;background:#ecebe6;border-radius:12px;display:grid;place-items:center;text-align:center;overflow:hidden}.mapPlaceholder>div{max-width:500px;padding:30px;color:#666}.mapPlaceholder iframe{width:100%;height:100%;border:0}.aboutHero{padding:120px 8vw;background:#181818;color:#fff}.aboutHero h1{font-size:clamp(48px,7vw,90px);line-height:.98;margin:18px 0}.aboutHero p{max-width:800px;font-size:19px;line-height:1.75;color:#ccc}.aboutSplit{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#fff}.aboutSplit img{width:100%;height:650px;object-fit:cover}.aboutSplit>div{padding:8vw}.aboutSplit p{line-height:1.8;color:#666;margin-bottom:30px}footer{background:#111;color:#fff;padding:42px 6vw;display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center}footer div:first-child{display:flex;flex-direction:column;gap:7px}footer div:first-child b{font-size:24px;color:#e22b31}.footerLinks{display:flex;gap:22px}.footerLinks a{text-decoration:none;color:#ccc;font-size:14px}footer small{color:#888;letter-spacing:0}.wa{position:fixed;right:22px;bottom:22px;background:#20a85a;color:#fff;padding:15px 18px;border-radius:50px;text-decoration:none;font-weight:800;z-index:60}.lightbox{position:fixed;inset:0;background:#000000e8;z-index:100;display:none;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.lightbox button{position:absolute;right:25px;top:20px;background:none;border:0;color:#fff;font-size:48px;cursor:pointer}@media(max-width:850px){header{height:68px;padding:0 16px}.menuBtn{display:block;position:absolute;right:112px;border:0;background:none;font-size:25px}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:20px;box-shadow:0 12px 20px #0002;flex-direction:column}nav.open{display:flex}.call{padding:11px 12px;font-size:12px}.hero{height:75vh;min-height:560px}.heroText{left:55px;right:55px}.hero h1{font-size:43px}.hero p{font-size:16px}.sliderArrow{width:38px;height:58px;font-size:30px}.sliderArrow.prev{left:8px}.sliderArrow.next{right:8px}.actions{flex-wrap:wrap}.cards,.serviceGrid{grid-template-columns:1fr;margin-left:18px;margin-right:18px}.services{padding:70px 5px}.services>.sectionHead,.services>.primary{margin-left:18px;margin-right:18px}.gallery{padding:70px 18px}.gallery>div{grid-template-columns:1fr}.gallery img{height:330px}.contact{grid-template-columns:1fr;padding:70px 22px}.contact h2{font-size:40px}.mapSection{padding:70px 18px}.mapPlaceholder{height:380px}.aboutHero{padding:90px 24px}.aboutHero h1{font-size:48px}.aboutSplit{grid-template-columns:1fr}.aboutSplit img{height:400px}.aboutSplit>div{padding:70px 24px}footer{grid-template-columns:1fr;gap:22px}.footerLinks{flex-wrap:wrap}}

.logoImage img{display:block;width:155px;max-height:72px;object-fit:contain}.logoImage{padding:4px 0}@media(max-width:700px){.logoImage img{width:115px;max-height:58px}}

/* V8 transparent logo */
.logoImage img{background:transparent!important;border-radius:0!important;object-fit:contain!important}.footerBrand img{background:transparent!important;border-radius:0!important;object-fit:contain!important;width:190px;max-height:120px}.footerBrand{background:transparent!important}

/* V9 footer responsive polish */
footer{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;padding:48px 20px 42px!important;gap:22px!important}
.footerBrand{align-items:center!important;justify-content:center!important;width:100%!important;text-align:center!important;gap:14px!important}
.footerBrand img{display:block!important;width:min(260px,72vw)!important;height:auto!important;max-height:none!important;margin:0 auto!important;background:transparent!important;border-radius:0!important;object-fit:contain!important}
.footerBrand span{display:block!important;text-align:center!important;font-size:16px!important;line-height:1.5!important}
.footerLinks{justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;gap:14px 28px!important}
footer>small{display:block!important;width:100%!important;text-align:center!important;color:#8f8f8f!important}
@media(max-width:850px){footer{padding:42px 18px 92px!important;gap:20px!important}.footerBrand img{width:min(230px,68vw)!important}.footerBrand span{font-size:15px!important}.footerLinks{gap:12px 24px!important}.footerLinks a{font-size:15px!important}}
@media(max-width:380px){.footerBrand img{width:min(205px,72vw)!important}.footerBrand span{font-size:14px!important}.footerLinks{gap:10px 18px!important}}

/* V11 */
.pageHeader .logoImage img{display:block;width:155px;height:72px;object-fit:contain}
.pageHero{padding:90px 7vw;background:#171717;color:#fff}
.pageHero h1{font-size:clamp(42px,6vw,76px);line-height:1;margin:14px 0 18px}
.pageHero p{max-width:780px;color:#ccc;font-size:18px;line-height:1.7}
.contentSection{padding:80px 7vw;background:#fff}
.contentSection.alt{background:#f6f5f0}
.contentGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.infoCard{background:#fff;border:1px solid #e4e1d9;border-radius:14px;padding:28px;box-shadow:0 8px 30px #00000008}
.alt .infoCard{background:#fff}
.infoCard h3{font-size:22px;margin:14px 0 10px}.infoCard p{color:#666;line-height:1.7;margin:0}
.serviceBanner{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;background:#181818;color:#fff}
.serviceBanner img{width:100%;height:520px;object-fit:cover}
.serviceBanner>div{padding:7vw}.serviceBanner p{color:#ccc;line-height:1.75}
.gallery{overflow:hidden}.galleryGrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
.galleryGrid img{display:block;width:100%;height:430px;object-fit:cover;border-radius:10px;cursor:zoom-in}
.lightbox{touch-action:pan-y}.lightbox img{user-select:none;-webkit-user-drag:none}
.lightbox .lbPrev,.lightbox .lbNext{display:grid;place-items:center;z-index:3}
.footerBrand{align-items:center!important;text-align:center!important}
footer{justify-items:center!important;text-align:center!important}
@media(max-width:850px){
 .pageHeader .logoImage img{width:108px;height:60px}
 .pageHero{padding:70px 22px}.contentSection{padding:62px 20px}
 .contentGrid{grid-template-columns:1fr}.serviceBanner{grid-template-columns:1fr}
 .serviceBanner img{height:340px}.serviceBanner>div{padding:60px 22px}
 .galleryGrid{grid-template-columns:1fr!important}.galleryGrid img{height:300px}
 .lightbox{padding:68px 52px 35px}.lightbox .lbPrev,.lightbox .lbNext{width:42px;height:62px;font-size:44px}
 .lightbox .lbPrev{left:5px}.lightbox .lbNext{right:5px}.lightbox .lbClose{right:12px;top:10px}
}

/* V12 mobile header/footer fixes */
html,body{min-height:100%;margin:0;padding:0}
body{overflow-x:hidden}
.pageHeader{position:sticky!important;top:0!important;z-index:9999!important;width:100%;background:#fff}
footer{margin-bottom:0!important;padding-bottom:max(42px,env(safe-area-inset-bottom))!important}
footer + *{margin-top:0}
body:after{display:none!important;content:none!important}
@media(max-width:850px){
 .pageHeader{height:84px!important;min-height:84px!important;padding:8px 16px!important;display:flex!important;align-items:center!important}
 .pageHeader .logoImage{display:flex!important;align-items:center!important;height:68px!important}
 .pageHeader .logoImage img{width:112px!important;height:64px!important;object-fit:contain!important}
 .pageHeader .call{margin-left:auto!important}
 .pageHeader .menuBtn{order:2!important}
 .pageHeader .call{order:3!important}
 footer{min-height:0!important;height:auto!important;margin:0!important}
}

/* V14 - navbar follows viewport while scrolling */
.pageHeader{
 position:fixed!important;
 top:0!important;
 left:0!important;
 right:0!important;
 width:100%!important;
 z-index:99999!important;
 background:#fff!important;
 box-shadow:0 2px 14px rgba(0,0,0,.08)!important;
}
body{padding-top:88px!important}
@media(max-width:850px){
 .pageHeader{position:fixed!important;top:0!important;left:0!important;right:0!important}
 body{padding-top:84px!important}
}

/* V15 definitive fixed navbar */
header.pageHeader{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:2147483000!important;background:#fff!important;margin:0!important;transform:none!important}
body{padding-top:82px!important}
@media(max-width:850px){body{padding-top:84px!important}header.pageHeader{height:84px!important;min-height:84px!important}}



.blogHero{padding:110px 7vw 70px;background:#181818;color:#fff}.blogHero h1{font-size:clamp(44px,6vw,76px);margin:12px 0}.blogHero p{max-width:760px;color:#ccc;font-size:18px;line-height:1.7}.blogGrid{padding:70px 6vw 100px;display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.blogCard{background:#fff;border:1px solid #e7e5df;border-radius:12px;padding:30px;text-decoration:none}.blogCard small{color:#c92127}.blogCard h2{font-size:28px;line-height:1.2;margin:12px 0}.blogCard p{color:#666;line-height:1.7}.article{max-width:900px;margin:0 auto;padding:80px 24px 110px}.article h1{font-size:clamp(38px,6vw,64px);line-height:1.08}.article h2{font-size:30px;margin-top:42px}.article p,.article li{font-size:18px;line-height:1.8;color:#444}.article .lead{font-size:21px;color:#555}.article a{color:#c92127}.crumb{font-size:14px;margin-bottom:28px}.related{margin-top:55px;padding:28px;background:#fff;border-radius:12px}.related a{font-weight:800}.blogDate{color:#777;font-size:14px}@media(max-width:850px){.blogGrid{grid-template-columns:1fr;padding:45px 18px 70px}.blogHero{padding:85px 22px 55px}.article{padding:55px 20px 80px}}

