
:root{--navy:#10263d;--blue:#1f3b57;--gold:#d9a441;--light:#f4f7fa;--cream:#f7f3ed;--text:#172033;--muted:#667085}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6;background:white}
img{max-width:100%;display:block}
.hero{min-height:720px;background-size:cover;background-position:center;display:flex;flex-direction:column;color:white}
nav{display:flex;justify-content:space-between;align-items:center;padding:24px;max-width:1180px;width:100%;margin:0 auto}
.brand{font-size:22px;font-weight:800}
.call{color:white;text-decoration:none;border:1px solid rgba(255,255,255,.55);padding:10px 16px;border-radius:999px;font-weight:700}
.hero-inner{max-width:1050px;margin:auto;padding:40px 24px 90px}
.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--gold);font-size:14px}
.eyebrow.blue{color:var(--blue)}
h1{font-size:clamp(42px,7vw,82px);line-height:.98;margin:16px 0;max-width:980px}
.hero p{font-size:22px;max-width:780px;color:#eef3f8}
.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.primary,.secondary{display:inline-block;text-decoration:none;padding:15px 22px;border-radius:10px;font-weight:800;margin:6px 8px 6px 0}
.primary{background:var(--gold);color:#111}
.secondary{background:white;color:var(--blue);border:1px solid #d8e2ef}
main{max-width:1180px;margin:0 auto;padding:0 24px}
section{padding:64px 0;border-bottom:1px solid #e6e8eb}
.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
h2{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:0 0 18px}
.lead{font-size:18px;color:var(--muted);max-width:780px}
.services,.featured{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.services article{background:var(--light);padding:24px;border-radius:16px}
h3{margin:0 0 8px;font-size:22px}
.project-card{background:var(--cream);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(16,38,61,.08)}
.project-card img{height:250px;width:100%;object-fit:cover}
.project-card div{padding:22px}
.gallery-group{margin-top:50px}
.gallery-group p{color:var(--muted);margin-top:0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.gallery img{width:100%;height:270px;object-fit:cover;border-radius:14px;background:#eee}
.areas,.contact{text-align:center}
.areas p{font-size:22px;font-weight:700;color:var(--blue)}
.contact{background:var(--navy);color:white;margin:40px -24px 0;padding:64px 24px;border-radius:24px 24px 0 0}
.contact p{max-width:720px;margin-left:auto;margin-right:auto}
.small{font-size:14px;color:#d5dde7;margin-top:20px}
footer{background:#081827;color:white;text-align:center;padding:28px 20px}
@media(max-width:850px){
  nav{align-items:flex-start;gap:12px;flex-direction:column}
  .hero{min-height:620px}
  .intro,.services,.featured,.gallery{grid-template-columns:1fr}
  .gallery img{height:300px}
}

.nav-links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.nav-links a{color:white;text-decoration:none;font-weight:700}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.quick-links div{background:var(--light);padding:30px;border-radius:18px}
.page-header{background:var(--navy);color:white}
.page-header nav{padding:24px}
.page-title{max-width:1050px;margin:0 auto;padding:70px 24px 90px}
.page-title h1{font-size:clamp(40px,6vw,72px);line-height:1;margin:14px 0}
.page-title p{font-size:20px;max-width:760px;color:#eef3f8}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.reviews-grid article{background:var(--light);padding:26px;border-radius:18px}
.stars{color:var(--gold);font-size:24px;font-weight:900;margin-bottom:12px}
.contact-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
.contact-panel > div,.contact-panel form{background:var(--light);padding:28px;border-radius:18px}
.contact-panel a{color:var(--blue);font-weight:800}
form{display:grid;gap:16px}
label{font-weight:800}
input,select,textarea{width:100%;margin-top:6px;padding:13px;border:1px solid #ccd6e0;border-radius:10px;font:inherit}
button.primary{border:0;cursor:pointer;font:inherit}
@media(max-width:850px){
  .nav-links{align-items:flex-start;flex-direction:column;gap:10px}
  .quick-links,.reviews-grid,.contact-panel{grid-template-columns:1fr}
}

.brand{display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;object-fit:contain;background:white;border-radius:10px;padding:4px}
.brand span{display:inline-block}
.footer-logo{width:82px;height:82px;object-fit:contain;background:white;border-radius:12px;padding:6px;margin:0 auto 12px}
.before-after-labels{display:flex;gap:12px;margin:16px 0 8px;flex-wrap:wrap}
.before-after-labels span{background:var(--blue);color:white;padding:8px 14px;border-radius:999px;font-weight:800;font-size:14px}

.footer-link{color:white;font-weight:800}
.review-cta,.facebook-section{background:var(--light);border-radius:18px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.facebook-section{text-align:center;display:block}
.facebook-section p{max-width:720px;margin:0 auto 20px}

.footer-link{color:white;font-weight:800}
.review-cta,.facebook-section{background:var(--light);border-radius:18px;padding:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.facebook-section{text-align:center;display:block}
.facebook-section p{max-width:780px;margin:0 auto 20px}
.real-reviews article small{display:block;margin-top:10px;color:#5d6a78;font-weight:700}
.mini-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}
.mini-reviews article{background:white;border-radius:16px;padding:22px;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.08)}
@media(max-width:850px){.mini-reviews{grid-template-columns:1fr}}

.contact-panel .secondary{display:inline-block;text-align:center}

/* V2 upgrades */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;background:#10263d;color:#fff;position:sticky;top:0;z-index:20}
.brand-link{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:900}
.brand-link img{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:10px;padding:4px}
.main-nav{display:flex;gap:14px;flex-wrap:wrap}
.main-nav a{color:#fff;text-decoration:none;font-weight:800}
.v2-hero{min-height:520px;background-size:cover;background-position:center;display:flex;align-items:center;color:white}
.v2-hero>div{max-width:1100px;margin:auto;padding:50px 24px}
.v2-hero h1{font-size:clamp(40px,7vw,76px);line-height:1;margin:12px 0}
.v2-hero p{font-size:21px;max-width:780px}
.v2-main{max-width:1120px;margin:auto;padding:30px 22px}
.v2-main section{padding:46px 0}
.lead{font-size:19px;color:#526070;max-width:850px}
.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.trust-strip div{background:#f4f7fa;border-radius:14px;padding:16px;text-align:center;font-weight:900}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-cards a{display:block;background:#f7f3ed;border-radius:18px;overflow:hidden;text-decoration:none;color:#172033;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.service-cards img{width:100%;height:230px;object-fit:cover}
.service-cards h3,.service-cards p{padding:0 20px}.service-cards p{padding-bottom:20px}
.before-after{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.before-after img,.gallery img{width:100%;border-radius:16px;object-fit:cover;max-height:420px}
.review-banner,.cta-box,.contact-clean,.email-panel{background:#f4f7fa;border-radius:20px;padding:28px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.faq details{background:#f4f7fa;margin:12px 0;padding:18px;border-radius:14px}
.faq summary{font-weight:900;cursor:pointer}
.contact-clean{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.v2-footer{background:#081827;color:white;text-align:center;padding:34px 20px;margin-top:40px}
.v2-footer img{width:82px;height:82px;object-fit:contain;background:white;border-radius:12px;padding:6px;margin:0 auto 12px}
.v2-footer a{color:white;font-weight:800}
@media(max-width:850px){
  .topbar{align-items:flex-start;flex-direction:column}
  .trust-strip,.service-cards,.before-after,.gallery,.contact-clean{grid-template-columns:1fr}
}
