:root{
  --navy:#111b63;
  --blue:#1f64ad;
  --green:#2e8f10;
  --mint:#e9fff4;
  --gold:#f5b83d;
  --ink:#14213d;
  --muted:#667085;
  --cloud:#f6f8fb;
  --card:#ffffff;
  --line:#dfe6ee;
  --shadow:0 18px 48px rgba(17,27,99,.14);
  --radius:8px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1160px,92%);margin:auto}
.topbar{background:var(--navy);color:#fff;font-size:.92rem;padding:.55rem 0}
.topbar a{color:#fff;font-weight:800}
.topbar-inner,.topbar .container,.nav-inner,.nav .container{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.nav{position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid var(--line)}
.logo{font-weight:900;font-size:1.25rem;padding:.9rem 0;color:var(--navy)}
.logo span{color:var(--green)}
.brand-logo{width:250px;max-width:46vw}
.brand-logo img{width:100%;height:auto}
.menu{display:flex;gap:1.05rem;align-items:center;flex-wrap:wrap}
.menu a{font-weight:800;font-size:.95rem;color:#344054}
.menu a:hover{color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.88rem 1.18rem;min-height:44px;font-weight:900;border:0;background:var(--green);color:white;box-shadow:0 10px 24px rgba(46,143,16,.22)}
.btn:hover{transform:translateY(-1px)}
.btn.secondary{background:var(--navy);box-shadow:0 10px 24px rgba(17,27,99,.22)}
.btn.outline{background:#fff;color:var(--navy);border:2px solid var(--navy);box-shadow:none}
.btn-small{padding:.65rem .95rem;min-height:38px}
.actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.45rem}
.home-hero{position:relative;overflow:hidden;background:linear-gradient(110deg,#f7fbff 0%,#f7fbff 49%,#eafff3 49%,#eafff3 100%);padding:4.8rem 0 3.2rem}
.home-hero:before{content:"";position:absolute;inset:auto 0 0 0;height:9px;background:linear-gradient(90deg,var(--navy),var(--green),var(--gold))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(320px,.72fr);gap:3rem;align-items:center}
.eyebrow,.kicker{display:inline-flex;align-items:center;gap:.4rem;margin:0 0 .75rem;color:var(--green);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.hero-copy h1{font-size:clamp(2.4rem,5vw,5.2rem);line-height:1.02;margin:.2rem 0 1rem;letter-spacing:0;color:var(--navy);max-width:850px}
.hero-copy p{font-size:1.2rem;max-width:700px;color:#344054}
.hero-visual{position:relative;min-height:410px;display:grid;place-items:center}
.hero-visual:before{content:"";position:absolute;width:min(92%,430px);aspect-ratio:1;border-radius:50%;background:linear-gradient(145deg,#102577,#07195c);border:1px solid rgba(255,255,255,.35);box-shadow:var(--shadow)}
.profile-img{position:relative;width:min(86%,380px);border-radius:var(--radius);box-shadow:0 24px 48px rgba(17,27,99,.22)}
.trust-strip{padding:0;background:#fff}
.strip-grid{transform:translateY(-22px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);box-shadow:var(--shadow)}
.strip-grid div{background:white;padding:1.1rem 1.2rem}
.strip-grid strong{display:block;color:var(--navy);font-size:1.05rem}
.strip-grid span{display:block;color:var(--muted);font-size:.94rem;margin-top:.2rem}
section{padding:4rem 0}
.section-head{margin-bottom:1.4rem}
.section-head .section-title{max-width:760px}
.section-title{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.08;letter-spacing:0;margin:0 0 .7rem;color:var(--navy)}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.service-card,.card,.choice{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.45rem;box-shadow:0 8px 26px rgba(20,33,61,.07)}
.service-card{min-height:360px;display:flex;flex-direction:column;justify-content:space-between}
.service-card span{font-weight:900;color:var(--green);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em}
.service-card h3,.card h3{font-size:1.75rem;line-height:1.1;margin:.5rem 0;color:var(--navy)}
.service-card p,.card p{color:var(--muted)}
.residential-card{border-top:6px solid var(--green)}
.commercial-card{border-top:6px solid var(--blue)}
.check-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.45rem}
.check-list li{position:relative;padding-left:1.45rem;color:#344054}
.check-list li:before{content:"";position:absolute;left:0;top:.45rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--green)}
.text-link{font-weight:900;color:var(--navy);display:inline-flex;margin-top:1rem}
.text-link:after{content:" ->";color:var(--green)}
.light{background:var(--cloud)}
.process-grid{display:grid;grid-template-columns:1fr .92fr;gap:2rem;align-items:start}
.process-grid p{color:var(--muted);font-size:1.05rem}
.steps{display:grid;gap:.8rem}
.steps div{display:grid;grid-template-columns:54px 1fr;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);padding:1rem;border-radius:var(--radius)}
.steps strong{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--mint);color:var(--green)}
.steps span{font-weight:800;color:#344054}
.two{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center}
.two p{color:var(--muted)}
.video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:#09113f}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.reviews-section{background:#fff;padding-top:2rem}
.review-summary{margin-bottom:1rem}
.google-review-card{display:grid;gap:.15rem;align-items:center;justify-items:start;width:min(100%,520px);padding:1rem 1.15rem;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:var(--radius);background:#fff;box-shadow:0 8px 26px rgba(20,33,61,.07)}
.google-review-card .stars{color:var(--gold);font-size:1.25rem;letter-spacing:.08em;line-height:1}
.google-review-card strong{color:var(--navy);font-size:1.15rem}
.google-review-card span:last-child{color:var(--muted);font-weight:800;font-size:.92rem}
.review-frame{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 8px 26px rgba(20,33,61,.07);background:#fff}
.review-frame iframe{border:none;height:500px;border-radius:0}
.hero{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;padding:4.2rem 0 3.6rem}
.hero h1{font-size:clamp(2.1rem,5vw,4.4rem);line-height:1.05;margin:.4rem 0 1rem;letter-spacing:0}
.hero p{font-size:1.16rem;max-width:780px;color:#edf7ff}
.badge{display:inline-block;padding:.35rem .75rem;border-radius:999px;background:rgba(255,255,255,.15);font-weight:800}
.split,.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.split{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:2rem}
.choice h2{margin:.2rem 0;color:var(--navy)}
.list{display:grid;gap:.5rem;padding:0;margin:1rem 0;list-style:none}
.list li{padding:.7rem .85rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.breadcrumb{font-size:.9rem;color:rgba(255,255,255,.78);margin-bottom:1rem}
iframe{max-width:100%;border-radius:var(--radius);background:white}
.footer{background:#101828;color:white;padding:3rem 0 1.5rem;margin-top:2rem}
.footer a{color:#eafff3}
.footer p{color:#d0d5dd}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}
.footer-logo{width:240px;max-width:100%;filter:brightness(0) invert(1);margin-bottom:1rem}
.social-links{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.social-link{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--navy);font-weight:900;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.social-link span{line-height:1;text-transform:uppercase}
.social-link.facebook{background:#1877f2;color:#fff}
.social-link.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af,#515bd4);color:#fff}
.social-link.linkedin{background:#0a66c2;color:#fff;font-size:.84rem}
.social-link.yelp{background:#d32323;color:#fff}
.social-link:hover{transform:translateY(-1px)}
.copyright{border-top:1px solid rgba(255,255,255,.15);padding-top:1rem;margin-top:1.5rem;font-size:.92rem}
.not-found{min-height:100vh;display:grid;place-content:center;gap:1rem;text-align:center;padding:2rem;background:var(--cloud)}
.not-found img{width:260px;margin:auto}
.not-found h1{margin:0;color:var(--navy);font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}
.not-found p{margin:0;color:var(--muted)}
.not-found a{font-weight:900;color:var(--green)}
@media(max-width:920px){
  .hero-grid,.service-grid,.process-grid,.two,.footer-grid{grid-template-columns:1fr}
  .home-hero{padding:3.2rem 0 2.8rem}
  .hero-visual{min-height:320px}
  .profile-img{width:min(76%,320px)}
  .strip-grid,.grid,.split{grid-template-columns:1fr}
  .strip-grid{transform:none;margin-top:0}
}
@media(max-width:760px){
  .menu{display:none}
  .topbar-inner,.topbar .container{display:block;text-align:center}
  .brand-logo{width:210px;max-width:70vw}
  .nav-inner,.nav .container{justify-content:center}
  .hero-copy h1{font-size:2.35rem}
  .hero-copy p{font-size:1.05rem}
  .hero-grid{gap:1.6rem}
  .hero-visual{min-height:270px}
  .hero-visual:before{width:min(78%,300px)}
  .profile-img{width:min(70%,280px)}
  .actions{display:grid}
  .btn{width:100%;padding:.85rem 1rem}
  section{padding:3rem 0}
  .service-card{min-height:auto}
}
