
:root{--navy:#0b2b50;--navy2:#071c34;--gray:#69727b;--light:#f5f7f8;--line:#dde3e7;--gold:#d9a24b;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#25313b;line-height:1.6;background:#fff}a{text-decoration:none;color:inherit}img{display:block;width:100%;height:auto}.container{width:min(var(--max),92%);margin:auto}
.top{background:var(--navy2);color:#fff;font-size:13px;padding:7px 0}.top .container{display:flex;justify-content:space-between}.top a{font-weight:800}
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 4px 18px rgba(0,0,0,.04)}.nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo img{width:315px;max-width:38vw}nav{display:flex;align-items:center;gap:22px;font-size:13px;font-weight:800;color:#20354a}.phone{font-size:16px;font-weight:900;color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 18px;border-radius:5px;background:var(--navy);color:#fff;font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:.4px;border:2px solid var(--navy)}.btn.light{background:transparent;border-color:#fff}.btn.gold{background:var(--gold);border-color:var(--gold);color:#14202b}
.hero{min-height:610px;display:grid;align-items:center;color:#fff}.hero-inner{max-width:720px;padding:75px 0}.eyebrow{font-size:13px;text-transform:uppercase;font-weight:900;letter-spacing:2px;color:#f1c778}h1,h2,h3{line-height:1.08;margin-top:0;color:var(--navy)}.hero h1{font-size:clamp(42px,6vw,72px);color:#fff;text-transform:uppercase;letter-spacing:-1.5px;margin:12px 0 16px}.hero .sub{font-size:19px;max-width:640px;color:#f2f4f6}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.trustbar{background:var(--navy);color:#fff}.trustgrid{display:grid;grid-template-columns:repeat(4,1fr)}.trust{padding:20px 24px;border-right:1px solid rgba(255,255,255,.18);display:flex;gap:12px;align-items:flex-start}.trust:last-child{border:0}.trust b{display:block;text-transform:uppercase;font-size:13px}.trust span{font-size:12px;color:#dbe4ec}.ico{font-size:24px}
section{padding:78px 0}.head{text-align:center;max-width:780px;margin:0 auto 36px}.kicker{text-transform:uppercase;letter-spacing:3px;font-size:11px;font-weight:900;color:#677480}h2{font-size:clamp(30px,4vw,45px);text-transform:uppercase;letter-spacing:-.7px;margin:7px 0 12px}.head p{color:#63707b}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{border:1px solid var(--line);background:#fff;overflow:hidden;border-radius:8px;box-shadow:0 8px 22px rgba(11,43,80,.06)}.service-card .pic{height:190px;object-fit:cover}.service-card .body{padding:21px}.service-card h3{font-size:20px;text-transform:uppercase;margin-bottom:8px}.service-card p{font-size:14px;color:#65717b}.learn{color:var(--navy);font-weight:900;font-size:13px;text-transform:uppercase}
.split{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.split-img{height:470px;object-fit:cover;border-radius:8px}.soft{background:var(--light)}.checks{display:grid;gap:14px;margin:22px 0}.check{display:flex;gap:12px}.check b{color:var(--navy)}.tick{width:25px;height:25px;flex:0 0 25px;background:var(--navy);color:#fff;border-radius:50%;display:grid;place-items:center;font-size:13px}
.local{background:var(--navy2);color:#fff}.local h2,.local h3{color:#fff}.local p{color:#dbe3ea}.localbox{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.fact{border-left:3px solid var(--gold);padding-left:18px;margin:18px 0}
.area-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.area{border:1px solid var(--line);padding:18px 14px;border-radius:5px;font-weight:900;text-align:center;color:var(--navy);background:#fff}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{padding:25px;border:1px solid var(--line);border-radius:7px}.num{font-size:30px;color:var(--gold);font-weight:900}.step h3{text-transform:uppercase}
.faq{max-width:850px;margin:auto}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:900;color:var(--navy)}details p{color:#596773}
.quote{background:#eef2f4}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;background:#fff;padding:38px;border-radius:10px;box-shadow:0 15px 40px rgba(11,43,80,.1)}form{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{font-size:13px;font-weight:800}.field{display:flex;flex-direction:column;gap:5px}.full{grid-column:1/-1}input,select,textarea{padding:13px;border:1px solid #cdd5db;border-radius:5px;font:inherit}textarea{min-height:110px}
.pagehero{background:linear-gradient(90deg,rgba(4,18,32,.9),rgba(4,18,32,.5)),url("https://images.pexels.com/photos/33405139/pexels-photo-33405139.jpeg?cs=srgb&fm=jpg&v=approved-20260823") center/cover;color:#fff;padding:90px 0}.pagehero h1{color:#fff;font-size:clamp(38px,5vw,62px);text-transform:uppercase;max-width:850px}.pagehero p{max-width:700px;font-size:18px}.crumb{font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;color:#d8e0e6}
.copy{max-width:900px}.copy h2{margin-top:38px}.copy p,.copy li{color:#55636e}
footer{background:#06182b;color:#c9d2da;padding:48px 0 25px}footer h3{color:#fff;text-transform:uppercase}.footergrid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}footer a{display:block;margin:6px 0}.footlogo{filter:brightness(0) invert(1);width:330px;max-width:100%;margin-bottom:15px}.fine{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:30px;font-size:12px;color:#94a3af}.footer-services a{display:block}
.mobilebar{display:none}
@media(max-width:960px){nav{display:none}.logo img{max-width:none;width:285px}.trustgrid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.split,.localbox,.quote-grid{grid-template-columns:1fr}.area-grid{grid-template-columns:repeat(3,1fr)}.process{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{padding-bottom:66px}.top span{display:none}.top .container{justify-content:center}.nav{min-height:70px}.logo img{width:235px}.phone,.nav>.btn{display:none}.hero{min-height:590px;background-position:58% center}.hero-inner{padding:55px 0}.hero h1{font-size:42px}.hero .sub{font-size:16px}section{padding:58px 0}.trustgrid,.service-grid,.area-grid,.process,.footergrid{grid-template-columns:1fr}.trust{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}.split-img{height:330px}form{grid-template-columns:1fr}.full{grid-column:auto}.quote-grid{padding:24px}.mobilebar{position:fixed;z-index:80;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;background:#fff;border-top:1px solid var(--line)}.mobilebar a{padding:11px;text-align:center;font-weight:900;text-transform:uppercase;font-size:13px;border-radius:4px}.mobilebar .call{background:var(--navy);color:#fff}.mobilebar .estimate{background:var(--gold);color:#14202b}}

/* Exact approved uploaded logo */
.logo{display:flex;align-items:center;min-width:330px}
.logo img{width:420px!important;max-width:42vw!important;height:76px!important;object-fit:contain!important;object-position:left center!important}
.footlogo{width:420px!important;max-width:100%!important;height:auto!important;filter:none!important;background:#fff!important;padding:8px!important;border-radius:4px!important}
@media(max-width:620px){.logo{min-width:0}.logo img{width:250px!important;max-width:68vw!important;height:60px!important}}


/* ===== MOBILE RESPONSIVE FINAL ===== */
html{overflow-x:hidden}
body{overflow-x:hidden}
img{max-width:100%;height:auto}

@media (max-width: 820px){
  .container{width:min(100% - 32px,1180px)}
  .topbar{display:none}
  .nav{min-height:76px;gap:12px;flex-wrap:wrap;padding:8px 0}
  .logo{min-width:0!important;flex:1}
  .logo img{width:235px!important;max-width:70vw!important;height:58px!important}
  .navlinks{display:none}
  .navcta{padding:12px 14px;font-size:12px;white-space:nowrap}

  .hero{min-height:620px;background-position:center center}
  .hero .container{padding-top:92px;padding-bottom:72px}
  .hero h1{font-size:clamp(42px,12vw,64px);line-height:.95;max-width:100%}
  .hero p{font-size:17px;max-width:95%}
  .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(100%,360px)}
  .hero-actions .btn{text-align:center;width:100%}

  .trust .container{grid-template-columns:1fr 1fr}
  .trust-item{padding:18px 10px}

  .section{padding:62px 0}
  .section-title h2{font-size:clamp(34px,9vw,48px);line-height:1}
  .services-grid{grid-template-columns:1fr}
  .service-card .pic{height:230px}

  .split,.split.reverse{grid-template-columns:1fr;gap:30px}
  .split.reverse .split-media{order:0}
  .split.reverse .split-copy{order:1}
  .split-img{height:auto;max-height:420px;object-fit:cover}
  .split-copy h2{font-size:clamp(34px,9vw,48px);line-height:1}

  .dark-section .split{grid-template-columns:1fr}
  .dark-section .split-media{order:0}
  .dark-section .split-copy{order:1}

  .areas-grid{grid-template-columns:1fr}
  .cta-band .container{display:block;text-align:center}
  .cta-band .btn{margin-top:18px}

  footer .footer-grid{grid-template-columns:1fr;gap:28px}
  .footlogo{width:300px!important}

  .pagehero{min-height:420px;background-position:center}
  .pagehero .container{padding-top:82px;padding-bottom:58px}
  .pagehero h1{font-size:clamp(40px,11vw,60px);line-height:.98}
  .pagehero p{font-size:17px}

  .content-grid,.two-col{grid-template-columns:1fr!important}
  .form-grid{grid-template-columns:1fr!important}
}

@media (max-width: 520px){
  .container{width:min(100% - 24px,1180px)}
  .navcta{font-size:11px;padding:10px 11px}
  .logo img{width:205px!important;max-width:62vw!important;height:54px!important}
  .hero{min-height:590px}
  .hero .container{padding-top:76px}
  .hero h1{font-size:clamp(39px,12vw,54px)}
  .trust .container{grid-template-columns:1fr}
  .service-card .pic{height:210px}
  .section{padding:52px 0}
  .pagehero{min-height:390px}
}

.mobile-call-fixed{display:none}
@media(max-width:820px){
.mobile-call-fixed{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;text-align:center;padding:14px 18px;background:#0b1d33;color:#fff;text-decoration:none;font-weight:800;border-radius:8px;box-shadow:0 6px 22px rgba(0,0,0,.22)}
body{padding-bottom:72px}
}

/* Service-card image consistency + Concrete Repair artifact crop */
.service-card .pic{width:100%;height:190px;object-fit:cover;display:block}
.service-card img[src*="repair-approved-exact.jpg"]{transform:scale(1.08);transform-origin:center center}
@media(max-width:960px){.service-card .pic{height:230px}}
@media(max-width:520px){.service-card .pic{height:210px}}
