:root{--bk:#1A1A1A;--ch:#2D2D2D;--dg:#3A3A3A;--mg:#4A4A4A;--cg:#8C8C8C;--lg:#D5D5D5;--ow:#F2F2F2;--wh:#FFFFFF;--am:#0C4B96;--amh:#094080;--rd:#CC3333;--rdh:#AA2222;--gn:#25D366;--gnh:#1DA851;--fh:'Barlow Condensed',sans-serif;--fb:'Inter',system-ui,sans-serif;--mw:1200px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body.bkc-concrete{font-family:var(--fb);font-size:16px;line-height:1.65;color:var(--mg);background:var(--ow);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:var(--am);text-decoration:none;transition:color .2s}a:hover{color:var(--amh)}
h1,h2,h3,h4{font-family:var(--fh);font-weight:700;line-height:1.12;color:var(--bk);letter-spacing:.02em}
h1{font-size:44px;text-transform:uppercase}h2{font-size:36px;text-transform:uppercase}h3{font-size:22px}h4{font-size:18px}
p{margin-bottom:1em}.container{max-width:var(--mw);margin:0 auto;padding:0 24px}.sect{padding:80px 0}.text-center{text-align:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;font-family:var(--fh);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:1px;border:none;border-radius:0;cursor:pointer;transition:all .25s;text-decoration:none;line-height:1}
.btn-am{background:var(--am);color:var(--wh)}.btn-am:hover{background:var(--amh);color:var(--wh)}
.btn-rd{background:var(--rd);color:var(--wh)}.btn-rd:hover{background:var(--rdh);color:var(--wh)}
.btn-gn{background:var(--gn);color:var(--wh)}.btn-gn:hover{background:var(--gnh);color:var(--wh)}
.btn-dk{background:var(--bk);color:var(--wh)}.btn-dk:hover{background:#000;color:var(--wh)}
.btn-outline{background:transparent;color:var(--am);border:2px solid var(--am)}.btn-outline:hover{background:var(--am);color:var(--bk)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.topbar{background:#111;padding:8px 0;font-size:13px;color:var(--cg);border-bottom:1px solid #222}.topbar .container{display:flex;justify-content:space-between;align-items:center}.topbar a{color:var(--lg)}.topbar a:hover{color:var(--am)}
.site-header{background:var(--ch);position:sticky;top:0;z-index:999;transition:all .3s;border-bottom:1px solid var(--dg)}.site-header.scrolled{background:rgba(45,45,45,.97);box-shadow:0 4px 20px rgba(0,0,0,.3);backdrop-filter:blur(8px)}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}
.site-logo{font-family:var(--fh);font-size:22px;font-weight:800;color:var(--wh);text-decoration:none;letter-spacing:.04em}.site-logo span{color:var(--am)}
.main-nav{display:flex;align-items:center;gap:28px}.main-nav a{color:#aaa;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.main-nav a:hover,.main-nav a.current{color:var(--wh)}
.nav-dropdown{position:relative}.nav-dropdown>a::after{content:' ▾';font-size:10px}.nav-dropdown-menu{display:none;position:absolute;top:100%;left:-12px;background:var(--ch);border:1px solid var(--dg);min-width:220px;padding:8px 0;margin-top:14px;z-index:100}.nav-dropdown:hover .nav-dropdown-menu{display:block}.nav-dropdown-menu a{display:block;padding:8px 20px;font-size:13px;color:#bbb}.nav-dropdown-menu a:hover{background:var(--dg);color:var(--am)}
.header-cta .btn{padding:10px 22px;font-size:13px}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--wh);margin:5px 0;transition:all .3s}
.hero{min-height:85vh;display:flex;align-items:center;background-size:cover;background-position:center;position:relative;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,18,15,.88),rgba(30,28,24,.55));z-index:1}.hero .container{position:relative;z-index:2}.hero h1{color:var(--wh);font-size:48px;max-width:680px;margin-bottom:20px}.hero p{color:#b0b0b0;font-size:17px;max-width:540px;margin-bottom:28px;line-height:1.7}.hero-mini{min-height:45vh}.hero-mini h1{font-size:40px}
.usp-bar{background:var(--am);padding:36px 0}.usp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}.usp-icon{font-size:28px;margin-bottom:6px}.usp-title{font-family:var(--fh);font-size:16px;font-weight:700;color:var(--wh);text-transform:uppercase}.usp-text{font-size:13px;color:rgba(255,255,255,.7);margin-top:4px}
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}
.card{background:var(--ch);overflow:hidden;transition:transform .3s,box-shadow .3s;text-decoration:none;display:block;width:100%;min-width:0}.card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.3)}.card-img{height:200px;min-height:200px;background-size:cover;background-position:center;background-color:var(--dg);display:block;width:100%;position:relative;overflow:hidden}.card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.4))}.card-body{padding:22px}.card-body h3{font-size:17px;color:var(--wh);margin-bottom:8px;text-transform:uppercase}.card-body p{font-size:14px;color:var(--cg);line-height:1.55;margin-bottom:12px}.card-link{color:var(--am);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.card-link::after{content:' →';transition:transform .2s;display:inline-block}.card:hover .card-link::after{transform:translateX(4px)}
.trust{padding:64px 0;position:relative;background:var(--bk)}.trust::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(255,255,255,.008) 10px,rgba(255,255,255,.008) 20px)}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;position:relative;z-index:1}.trust-num{font-family:var(--fh);font-size:50px;font-weight:800;color:var(--am);line-height:1}.trust-label{font-size:12px;color:var(--cg);text-transform:uppercase;letter-spacing:1.5px;margin-top:8px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}.project-card{background:var(--ch);overflow:hidden;transition:transform .3s;display:block;width:100%}.project-card:hover{transform:translateY(-3px)}.project-card img,.project-card-img{width:100%;height:220px;object-fit:cover;background:var(--dg);display:block}.project-card-body{padding:18px}.project-card-body h3{font-size:15px;color:var(--wh);text-transform:uppercase;margin-bottom:4px}.project-card-meta{font-size:12px;color:var(--am);margin-bottom:8px}.project-card-desc{font-size:13px;color:var(--cg);line-height:1.5}.project-card-specs{font-size:11px;color:var(--cg);margin-top:8px;padding-top:8px;border-top:1px solid var(--dg)}
.about-split{display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center}.about-img{height:420px;background:var(--dg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:var(--cg);font-size:14px}.about-content h2{margin-bottom:16px}.about-content p{color:#555;font-size:15px;line-height:1.7}.about-content ul{list-style:none;margin:16px 0 24px}.about-content ul li{padding:6px 0 6px 24px;position:relative;color:#555;font-size:15px}.about-content ul li::before{content:'✓';position:absolute;left:0;color:var(--am);font-weight:700}
.cta-section{background:var(--am);padding:64px 0;text-align:center}.cta-section h2{color:var(--wh);margin-bottom:12px}.cta-section p{color:rgba(255,255,255,.8);font-size:17px;margin-bottom:28px}.cta-section .btn-row{justify-content:center}
.sect-dark{background:var(--bk);color:var(--lg)}.sect-dark h1,.sect-dark h2,.sect-dark h3,.sect-dark h4{color:var(--wh)}.sect-dark p{color:var(--cg)}.sect-charcoal{background:var(--ch);color:var(--lg)}.sect-charcoal h1,.sect-charcoal h2,.sect-charcoal h3,.sect-charcoal h4{color:var(--wh)}.sect-charcoal p{color:var(--cg)}.sect-light{background:var(--ow)}.sect-white{background:var(--wh)}.sub{color:var(--cg);font-size:17px;margin-bottom:32px}
.specs-list{list-style:none;margin:0;padding:0}.specs-list li{padding:10px 0 10px 32px;position:relative;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08)}.specs-list li::before{content:'▸';position:absolute;left:0;color:var(--am);font-weight:700;font-size:18px}
.faq-item{border-bottom:1px solid var(--lg)}.sect-dark .faq-item{border-bottom-color:var(--dg)}.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-family:var(--fh);font-size:18px;font-weight:600;transition:color .2s}.faq-q:hover{color:var(--am)}.faq-q::after{content:'+';font-size:24px;font-weight:300;transition:transform .3s}.faq-item.active .faq-q::after{transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s}.faq-item.active .faq-a{max-height:500px;padding-bottom:20px}.faq-a p{font-size:15px;line-height:1.7}
.quote-form{background:var(--ch);padding:40px}.quote-form h3{font-family:var(--fh);font-size:26px;font-weight:700;color:var(--wh);text-transform:uppercase;margin-bottom:24px}.quote-form label{display:block;font-size:12px;font-weight:600;color:var(--cg);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.quote-form input[type="text"],.quote-form input[type="email"],.quote-form input[type="tel"],.quote-form input[type="number"],.quote-form select,.quote-form textarea{width:100%;padding:12px 14px;font-family:var(--fb);font-size:14px;color:var(--wh);background:var(--dg);border:1px solid var(--mg);border-radius:0;margin-bottom:14px;transition:border-color .2s}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:none;border-color:var(--am)}.quote-form textarea{min-height:100px;resize:vertical}.quote-form select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238C8C8C' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gdpr-row{display:flex;align-items:flex-start;gap:10px;margin:14px 0 20px}.gdpr-row label{font-size:12px;color:var(--cg);text-transform:none;letter-spacing:0;margin-bottom:0}.gdpr-row a{color:var(--am)}.form-submit{width:100%;padding:16px;font-family:var(--fh);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:var(--am);color:var(--bk);border:none;cursor:pointer;transition:all .25s}.form-submit:hover{background:var(--amh)}.form-submit:disabled{opacity:.6;cursor:not-allowed}.form-message{padding:12px 16px;margin-top:14px;font-size:14px;display:none}.form-message.success{display:block;background:rgba(46,204,113,.12);border-left:3px solid #2ecc71;color:#2ecc71}.form-message.error{display:block;background:rgba(231,76,60,.12);border-left:3px solid #e74c3c;color:#e74c3c}.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}
.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:0}.contact-map{background:var(--dg);min-height:400px}.contact-map iframe{width:100%;height:100%;border:0;filter:grayscale(.8) contrast(1.1)}.contact-info{padding:40px;background:var(--ch)}.contact-info h3{color:var(--wh);font-size:20px;margin-bottom:16px}.contact-info p{color:var(--cg);font-size:14px;line-height:1.8}.contact-info a{color:var(--am)}
.site-footer{background:#111;padding:56px 0 0;color:var(--cg)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}.site-footer h4{font-family:var(--fh);font-size:13px;font-weight:700;color:var(--wh);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.site-footer p,.site-footer li{font-size:13px;line-height:1.8}.site-footer ul{list-style:none}.site-footer a{color:var(--cg)}.site-footer a:hover{color:var(--am)}.footer-bottom{border-top:1px solid #222;padding:18px 0;margin-top:40px;font-size:12px;color:#555;display:flex;justify-content:space-between}.footer-bottom a{color:#666}
.wa-float{position:fixed;bottom:24px;right:24px;z-index:9999;width:60px;height:60px;background:var(--gn);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(37,211,102,.35);transition:all .3s;text-decoration:none}.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 24px rgba(37,211,102,.45);background:var(--gnh)}.wa-float svg{width:30px;height:30px;fill:var(--wh)}
.contact-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:9998;background:var(--ch);border-top:2px solid var(--am)}.contact-bar-inner{display:flex}.contact-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 8px;font-family:var(--fh);font-size:13px;font-weight:700;text-transform:uppercase;color:var(--wh);text-decoration:none;text-align:center}.contact-bar .bar-phone{background:var(--rd)}.contact-bar .bar-wa{background:var(--gn)}.contact-bar .bar-quote{background:var(--am);color:var(--wh)}
.legal-content{max-width:800px;margin:0 auto}.legal-content h2{font-size:22px;margin-top:32px;margin-bottom:12px}.legal-content p{font-size:15px;line-height:1.75;color:#555}
/* GRID FIX: kill stray p/br */
.cards-grid>p,.cards-grid>br,.project-grid>p,.project-grid>br,.usp-grid>p,.usp-grid>br,.trust-grid>p,.trust-grid>br,.about-split>p,.about-split>br,.contact-split>p,.contact-split>br,.footer-grid>p,.footer-grid>br,.btn-row>p,.btn-row>br,.form-row>p,.form-row>br{display:none!important;margin:0!important;padding:0!important;height:0!important;font-size:0!important;line-height:0!important}
@media(max-width:1024px){h1,.hero h1{font-size:34px}h2{font-size:28px}.cards-grid{grid-template-columns:repeat(2,1fr)}.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){h1,.hero h1{font-size:28px}h2{font-size:24px}.hero{min-height:70vh}.hero-mini{min-height:35vh}.sect{padding:48px 0}.usp-grid,.cards-grid,.project-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr 1fr}.trust-num{font-size:36px}.about-split,.contact-split{grid-template-columns:1fr}.about-img{height:260px}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.form-row{grid-template-columns:1fr}.quote-form{padding:24px}.btn-row{flex-direction:column}.btn{width:100%;justify-content:center}.main-nav{display:none;position:fixed;inset:0;background:rgba(26,26,26,.98);flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:1000}.main-nav.open{display:flex}.main-nav a{font-size:20px;color:var(--wh)}.nav-dropdown-menu{display:none!important}.nav-toggle{display:block}.header-cta{display:none}.contact-bar{display:block}.wa-float{bottom:80px}}
@media print{.wa-float,.contact-bar,.topbar,.site-header{display:none!important}}
