:root{--navy:#00315B;--blue:#0A447A;--y:#FE7A0E;--ink:#1d2433;--mut:#5b6475;--bg:#f5f7fb}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);line-height:1.6}
a{color:var(--blue)}.wrap{max-width:1140px;margin:0 auto;padding:0 20px}h1,h2,h3{line-height:1.2}h2{font-size:1.7rem;margin:2.2rem 0 1rem}
.topbar{background:var(--navy);color:#cfd8e6;font-size:.85rem}.topbar .wrap{display:flex;justify-content:space-between;gap:10px;padding:6px 20px;flex-wrap:wrap}.topbar a{color:var(--y);font-weight:700;text-decoration:none}
header{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 10px #0001}.hd{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:800;font-size:1.25rem}.brand img{height:50px;width:auto}
nav{display:flex;align-items:center;gap:18px}nav a{text-decoration:none;color:var(--ink);font-weight:600}.burger{display:none;font-size:1.8rem;cursor:pointer}
.btn{display:inline-block;background:var(--y);color:#fff!important;font-weight:800;padding:14px 22px;border-radius:10px;text-decoration:none;border:2px solid var(--y)}
.btn.sm{padding:8px 14px}.btn.ghost{background:transparent;color:#fff!important;border-color:#fff}.btns{display:flex;gap:12px;flex-wrap:wrap;margin:1.2rem 0}
.hero,.phero{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;padding:64px 0}.hero h1{font-size:clamp(2rem,5vw,3.2rem);max-width:800px;margin:.3rem 0}
.phero h1{font-size:clamp(1.8rem,4vw,2.6rem)}.eyebrow{color:var(--y);font-weight:700;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em}.lead{font-size:1.15rem;max-width:720px;opacity:.95}
.badges{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}.badges li{background:#ffffff1a;padding:6px 12px;border-radius:999px;font-size:.9rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.card{background:#fff;border:1px solid #e3e8f0;border-radius:14px;padding:22px;text-decoration:none;color:var(--ink);transition:.2s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #00315B22}.card h3{margin:.4rem 0;color:var(--navy)}.card p{color:var(--mut);margin:.3rem 0}.more{color:var(--blue);font-weight:700}
.ic{font-size:2rem}.ic.big{font-size:3rem}.alt{background:var(--bg);padding:10px 0 40px;margin-top:40px}.two{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.checks{list-style:none;padding:0}.checks li{padding:8px 0 8px 32px;position:relative}.checks li:before{content:"✔";position:absolute;left:0;color:#1a9e55;font-weight:900}
.chips{display:flex;flex-wrap:wrap;gap:10px}.chips a{background:#fff;border:1px solid #d5dce8;padding:10px 16px;border-radius:999px;text-decoration:none;font-weight:600}
.muted{color:var(--mut)}.pg{padding:30px 20px 50px}.post{max-width:760px;padding:40px 20px}
.ctaband{background:var(--y);color:#fff;text-align:center;padding:40px 0;margin-top:50px}.ctaband h2{margin:0}.ctaband .btns{justify-content:center}.ctaband .btn{background:var(--navy);color:#fff!important;border-color:var(--navy)}.ctaband .btn.ghost{background:transparent;color:#fff!important;border-color:#fff}
footer{background:var(--navy);color:#cfd8e6;padding:40px 0 20px;font-size:.92rem}footer a{color:#fff}.fg{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.copy{text-align:center;opacity:.7;margin-top:30px}
.fab{display:none}
@media(max-width:820px){.burger{display:block}nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:10px 0}#nt:checked~nav{display:flex}
.two,.fg{grid-template-columns:1fr}.hero{padding:44px 0}.fab{display:block;position:fixed;bottom:16px;right:16px;background:#1a9e55;color:#fff;padding:14px 18px;border-radius:999px;font-weight:800;text-decoration:none;box-shadow:0 6px 18px #0004;z-index:20}}
.seg{font-weight:700;letter-spacing:.12em;margin:.2rem 0;opacity:.9}.eyebrow{font-size:1rem}.hero{border-bottom:6px solid var(--y)}.tagl{text-align:center;color:var(--y);font-weight:700;letter-spacing:.06em;margin-top:24px}.card h3{border-left:4px solid var(--y);padding-left:10px}.checks li:before{color:var(--y)}
@media(max-width:820px){.brand img{height:40px}.fab{background:var(--y)}}
.fab.hide{display:none!important}

.lhero{color:#fff;padding:60px 0 50px}.lhero h1{font-size:clamp(2rem,4.6vw,3rem);max-width:820px;margin:.3rem 0}
.v-ev{background:linear-gradient(120deg,#00315B 55%,#0A447A)}.v-panel{background:repeating-linear-gradient(135deg,#00315B 0 40px,#003a6b 40px 80px);border-bottom:6px solid var(--y)}
.v-emerg{background:linear-gradient(135deg,#7a1f00,#FE7A0E)}.v-emerg .btn{background:#fff;color:#00315B!important;border-color:#fff}
.v-light{background:radial-gradient(circle at 80% 20%,#FE7A0E55,transparent 40%),#00315B}.v-gen{background:linear-gradient(180deg,#00243f,#00315B);border-top:6px solid var(--y)}
.v-rewire{background:linear-gradient(90deg,#00315B,#1b4a78)}.v-hoa{background:linear-gradient(135deg,#0A447A,#00315B);border-bottom:6px solid var(--y)}.v-remodel{background:linear-gradient(135deg,#00315B 60%,#FE7A0E 60%)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.steps li{background:var(--bg);border-radius:14px;padding:22px;border-top:4px solid var(--y)}.steps .n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--navy);color:#fff;font-weight:800}.steps h3{margin:.6rem 0 .3rem;color:var(--navy)}.steps p{margin:0;color:var(--mut)}
.faq details{border:1px solid #e3e8f0;border-radius:12px;padding:14px 18px;margin:10px 0;background:#fff}.faq summary{font-weight:700;cursor:pointer;color:var(--navy)}.faq p{margin:.6rem 0 0;color:var(--mut)}
.callbox{background:var(--navy);color:#fff;border-radius:16px;padding:26px;align-self:start}.callbox h3{margin-top:0}.callbox .muted{color:#cfd8e6}.dark{color:var(--ink)}
.fg{grid-template-columns:repeat(5,1fr)}@media(max-width:820px){.fg{grid-template-columns:1fr}}

.rbadges{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0 24px}.rbadge{display:flex;flex-direction:column;background:var(--navy);color:#fff;text-decoration:none;border-radius:14px;padding:16px 22px;min-width:200px;border-bottom:4px solid var(--y)}.rbadge .big{font-size:1.4rem;font-weight:800}.rbadge small{color:#cfd8e6}
.stars{color:var(--y);letter-spacing:2px;font-size:1.1rem}.rgrid{columns:3 300px;column-gap:18px}.rcard{break-inside:avoid;background:#fff;border:1px solid #e3e8f0;border-radius:14px;padding:18px;margin:0 0 18px}
.rtop{display:flex;justify-content:space-between;gap:8px;align-items:center}.src{font-size:.75rem;font-weight:800;padding:3px 8px;border-radius:6px;color:#fff}.s-yelp{background:#d32323}.s-thumbtack{background:#009fd9}
.rcard blockquote{margin:.6rem 0;white-space:pre-line;color:var(--ink)}.rcard figcaption{color:var(--mut);font-size:.85rem}

.he{display:inline-block;background:var(--y);color:#fff;font-weight:800;padding:2px 10px;border-radius:999px;margin-right:8px;font-size:.85rem}
.hebadge{margin:0 0 .4rem}.hebadge .he{font-size:1rem;padding:6px 14px;background:#fff;color:var(--navy)}.ctaband .he{background:var(--navy)}
.center{text-align:center}.revbtns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin:20px 0}.revbtn{color:#fff;text-decoration:none;font-weight:800;padding:16px 28px;border-radius:12px;font-size:1.15rem}.s-google{background:#4285F4}

.cimg{width:calc(100% + 44px);margin:-22px -22px 10px;height:170px;object-fit:cover;border-radius:14px 14px 0 0;display:block}
.pstrip,.ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.ggrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.pstrip figure,.ggrid figure{margin:0;background:#fff;border:1px solid #e3e8f0;border-radius:12px;overflow:hidden}.pstrip img,.ggrid img{width:100%;height:220px;object-fit:cover;display:block;transition:.2s}.ggrid img{height:240px}
.pstrip a:hover img,.ggrid a:hover img{transform:scale(1.03)}.pstrip figcaption,.ggrid figcaption{padding:10px 12px;font-size:.9rem;color:var(--mut)}.gnav{margin:24px 0 0}
.lbox{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:100}.lbox.on{display:flex}
.lbox figure{margin:0;max-width:92vw;text-align:center}.lbox img{max-width:92vw;max-height:80vh;border-radius:8px}.lbox figcaption{color:#fff;margin-top:10px}
.lbox button{position:absolute;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer;padding:10px 18px}.lbx{top:6px;right:10px}.lbp{left:6px;top:45%}.lbn{right:6px;top:45%}
@media(max-width:820px){.pstrip{grid-template-columns:repeat(2,1fr)}.pstrip img{height:150px}.ggrid{grid-template-columns:repeat(2,1fr)}.ggrid img{height:170px}}
@media(min-width:821px){nav{gap:13px;font-size:.92rem}.brand img{height:44px}.hd{flex-wrap:nowrap}}
.has-img{background:linear-gradient(90deg,#00315Bf2 0%,#00315Bd9 45%,#00315B55 100%),var(--hero) center 35%/cover no-repeat!important}@media(max-width:820px){.has-img{background:linear-gradient(#00315Be6,#00315Bcc),var(--hero) center/cover no-repeat!important}}
.trust{background:#fff4ea;border-bottom:1px solid #ffd9b8}.trust a{display:block;padding:12px 0;font-weight:800;color:var(--navy);text-decoration:none;text-align:center}.trust a:hover{color:var(--y)}.chip{background:#fff;border:1px solid #d5dce8;padding:8px 14px;border-radius:999px;font-weight:600;font-size:.92rem}.small{font-size:.85rem}.permits{scroll-margin-top:90px}
.pbox{background:var(--bg);border-left:5px solid var(--y);border-radius:12px;padding:6px 24px 14px}.ptrust{margin-top:30px}
.pfig{margin:24px 0}.pfig img{width:100%;max-height:560px;object-fit:cover;border-radius:12px}.pfig figcaption{color:var(--mut);font-size:.9rem;margin-top:6px}.postcta{background:var(--navy);color:#fff;border-radius:14px;padding:22px;margin:28px 0}.postcta .btn{margin:6px 6px 0 0}.ghost2{background:transparent!important;border-color:#fff!important}
.ba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px}.ba{margin:0;background:#fff;border:1px solid #e3e8f0;border-radius:14px;padding:10px}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ba-side{position:relative}.ba-side img{width:100%;height:320px;object-fit:cover;border-radius:10px;display:block}
.ba-tag{position:absolute;left:8px;top:8px;background:var(--navy);color:#fff;font-weight:800;font-size:.8rem;padding:4px 10px;border-radius:999px}.ba-tag.after{background:var(--y)}.ba figcaption{padding:8px 4px 2px;color:var(--mut);font-weight:600}
@media(max-width:820px){.ba-grid{grid-template-columns:1fr}.ba-side img{height:230px}}
