:root{--gold:#dbbd21;--gold2:#dfc51b;--black:#000;--dark:#2a2a2a;--navy:#142d4c;--grey:#b3aaa3;--light:#f3f3f3;--txt:#424242}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,sans-serif;color:var(--txt);line-height:1.6}
h1,h2,h3,h4{font-family:Montserrat,sans-serif;color:#000;line-height:1.2}a{color:inherit}
.wrap{max-width:1200px;margin:auto;padding:0 20px}

.topbar{background:var(--dark);color:#ddd;font-size:13px;text-align:center;padding:6px}.topbar a{color:var(--gold);text-decoration:none}
.site-header{background:#000;position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.4)}
.hdr{display:flex;align-items:center;gap:20px;padding:12px 20px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.brand b{display:block;font-family:Montserrat;font-size:20px;color:var(--gold)}.brand small{color:#ccc}
.logo{height:48px;width:auto;display:block}.flogo{height:64px;width:auto}@media(max-width:600px){.logo{height:38px}.brand b{font-size:16px}.brand small{font-size:12px}}
.mainnav{display:flex;gap:14px;white-space:nowrap;margin-left:auto}.mainnav>a,.dd>a{color:#fff;text-decoration:none;font-weight:500;font-size:15px}.mainnav a:hover{color:var(--gold)}
.dd{position:relative}.ddm{display:none;position:absolute;top:100%;left:0;background:#111;min-width:280px;padding:10px 0;border-top:3px solid var(--gold)}
.dd:hover .ddm{display:block}.ddm a{display:block;padding:6px 16px;color:#eee;text-decoration:none;font-size:14px}
.hdr-cta{display:flex;gap:8px}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:28px;margin-left:auto}
.btn{display:inline-block;border-radius:50px;padding:10px 34px;font-weight:700;font-family:Montserrat;text-decoration:none;font-size:17px;cursor:pointer;transition:.4s}
.btn.sm{padding:7px 18px;font-size:14px;white-space:nowrap}
.btn_one{background:#fff;border:2px solid var(--gold2);color:#000}.btn_one:hover{background:var(--gold);color:#fff;border-color:#fff}
.btn_two{background:var(--gold);border:2px solid var(--grey);color:#000}.btn_two:hover{background:#000;color:var(--grey)}
.hero{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)),repeating-linear-gradient(45deg,#3a3a3a 0 20px,#333 20px 40px);color:#fff;text-align:center;padding:90px 0 70px}
.hero.big{min-height:620px;display:flex;align-items:center;padding:120px 0}
.hero h1{color:#fff;font-size:clamp(30px,5vw,56px);font-weight:800;margin:0 0 14px}.hero p{font-size:19px;max-width:760px;margin:0 auto 26px}
.hero_btn_group{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.phnote{display:block;margin-top:24px;font-size:12px;color:#bbb}
.trust{background:var(--gold)}.tgrid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;padding:22px;color:#000}.tgrid b{display:block;font-family:Montserrat;font-size:22px}
.sec{padding:70px 0}.sec.alt{background:var(--light)}.ttl{text-align:center;font-size:34px;margin:0 0 10px}.ttl.l{text-align:left;font-size:28px}
.ttl:after{content:"";display:block;width:70px;height:4px;background:var(--gold);margin:12px auto 0}.ttl.l:after{margin-left:0}
.lead{text-align:center;margin-bottom:36px}.c{text-align:center;margin-top:30px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.cards.three{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 4px 18px rgba(0,0,0,.08);text-decoration:none;border-bottom:4px solid var(--gold);transition:.3s}.card:hover{transform:translateY(-4px)}
.card h3{margin:12px 0 6px;font-size:19px}.more{color:#6b5b00;font-weight:600}
.ph{background:repeating-linear-gradient(45deg,#e6e6e6 0 14px,#dcdcdc 14px 28px);border:2px dashed #999;display:flex;align-items:center;justify-content:center;text-align:center;min-height:260px;color:#555;font-weight:600;font-size:13px;border-radius:8px;margin-bottom:18px}.ph.sm{min-height:140px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.checks{list-style:none;padding:0}.checks li{padding:6px 0 6px 30px;position:relative}.checks li:before{content:"✔";position:absolute;left:0;color:var(--gold);font-weight:900}
.steps li{margin-bottom:12px}
.qform{background:#000;color:#fff;padding:28px;border-radius:12px;border-top:6px solid var(--gold)}.qform h3{color:var(--gold);margin-top:0;font-size:24px}
.qform input,.qform select,.qform textarea{width:100%;padding:12px;margin-bottom:12px;border-radius:6px;border:1px solid #555;font:inherit}
.qform .row{display:flex;gap:12px}.qform button{width:100%}.fine{font-size:12px;color:#888}.ok{color:var(--gold)}
.rv .stars{color:var(--gold);font-size:20px}
details{background:var(--light);padding:14px;margin-bottom:10px;border-radius:6px}summary{font-weight:600;cursor:pointer}
.timeline .tl{display:flex;gap:20px;margin-bottom:26px}.tl span{flex:0 0 54px;height:54px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;font:800 22px Montserrat;color:#000}.tl h3{margin:4px 0}
.areas{columns:2;list-style:square}
.cta-band{background:var(--gold);padding:44px 0}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.cta-band h2{margin:0}.cta-band p{margin:4px 0 0;color:#000}.cta-btns{display:flex;gap:12px;flex-wrap:wrap}
.cta-band .btn_two{background:#000;color:var(--gold)}
.site-footer{background:#000;color:#ccc;padding:50px 0 0}.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.site-footer h4{color:var(--gold)}.site-footer a{display:block;color:#ccc;text-decoration:none;padding:3px 0}.site-footer a:hover{color:var(--gold)}
.copy{text-align:center;border-top:1px solid #333;margin-top:30px;padding:16px;font-size:13px}
.float-cta{display:none}
@media(max-width:1250px){.mainnav{display:none}.menu-toggle{display:block}.hdr{flex-wrap:wrap}.nav-open .mainnav{display:flex;flex-direction:column;width:100%;order:5}.ddm{position:static}}
@media(max-width:760px){.hdr-cta{display:none}.split,.fgrid{grid-template-columns:1fr}.tgrid{grid-template-columns:1fr 1fr}.qform .row{flex-direction:column;gap:0}
.float-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--gold);color:#000;text-align:center;padding:14px;font:700 17px Montserrat;text-decoration:none;z-index:60}body{padding-bottom:50px}}
.cards.four{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.why .card{border-bottom:0;border-top:5px solid var(--gold)}
.s2f{display:flex;align-items:stretch;gap:14px;justify-content:center}.s2f>div{flex:1;background:#000;color:#fff;border-radius:12px;padding:26px;text-align:center}.s2f h3{color:var(--gold);margin:10px 0 6px}
.s2f span{display:inline-flex;width:50px;height:50px;border-radius:50%;background:var(--gold);color:#000;font:800 22px Montserrat;align-items:center;justify-content:center}.s2f i{align-self:center;font:800 34px Montserrat;color:var(--gold);font-style:normal}
@media(max-width:760px){.s2f{flex-direction:column}.s2f i{transform:rotate(90deg)}}
.hero{background-size:cover!important;background-position:center!important}
.imgbox{border-radius:8px;overflow:hidden;margin-bottom:18px;height:300px;background:#ddd}.imgbox.sm{height:160px}.imgbox img{width:100%;height:100%;object-fit:cover;display:block}

/* brand lockup */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand .lockup{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.brand .lockup b{font-family:Montserrat,sans-serif;font-weight:800;font-size:22px;letter-spacing:1px;color:#fff}
.brand .lockup small{font-family:Montserrat,sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.6px;color:var(--gold,#dbbd21);margin-top:3px}
@media(max-width:820px){.brand .lockup b{font-size:19px}.brand .lockup small{font-size:11px}}
/* ---- Mobile image fixes (Oct 27 2026) ---- */
img,svg,video{max-width:100%;height:auto}
.imgbox img{height:100%}
:where(.gal){display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
:where(.gal) figure{margin:0;min-width:0}
:where(.gal) img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;display:block}
:where(.gal) figcaption{font-size:14px;color:#555;margin-top:6px}
figure[style*="flex:1 1 360px"]{min-width:0}
html,body{overflow-x:hidden}
@media(max-width:760px){
 .hero{padding:56px 0 44px}
 .hero.big{min-height:0;padding:72px 0 56px}
 .hero p{font-size:17px}
 .imgbox{height:auto;aspect-ratio:4/3}
 .imgbox.sm{height:auto;aspect-ratio:16/9}
 .imgbox img{object-position:center 40%}
 figure[style*="flex:1 1 360px"]{flex-basis:100%!important}
 .gal{grid-template-columns:1fr!important}
 .lp-hero{background-position:center 35%!important}
}
/* logo lockup */
.brand{flex-shrink:0}.brand .lockup b{display:none}.brand .lockup small{display:block;color:var(--gold);font-family:Montserrat;font-weight:600;font-size:13px;line-height:1.15;border-left:1px solid #555;padding-left:10px;max-width:110px}
.logo{height:42px}
@media(max-width:600px){.logo{height:34px}.brand .lockup small{font-size:11px;max-width:96px}}
.brand .lockup{display:block;white-space:normal;flex-shrink:0}.brand .lockup small{white-space:normal;width:100px}
.mainnav{gap:12px}
@media(min-width:601px){.brand .lockup small{width:100px;max-width:100px}}

main p a[href^="tel:"],main li a[href^="tel:"]{text-decoration:underline}
/* What to Expect card (free-inspection) */
.split-expect{align-items:stretch}
.expect-card{background:#fff;border:1px solid #e6e6e6;border-top:4px solid var(--gold);border-radius:8px;padding:28px 28px 24px;box-shadow:0 4px 18px rgba(0,0,0,.06);display:flex;flex-direction:column;height:100%;box-sizing:border-box;font-family:Poppins,sans-serif}
.expect-card .ttl{margin-bottom:18px}
.ec-checks,.ec-contact{list-style:none;margin:0;padding:0}
.ec-checks li{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;line-height:1.45;color:var(--txt)}
.ec-checks svg{flex:0 0 22px;width:22px;height:22px;fill:var(--gold);margin-top:1px}
.ec-div{border:0;border-top:1px solid #e3e3e3;margin:10px 0 20px}
.ec-contact li{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px}
.ec-ic{flex:0 0 36px;width:36px;height:36px;border-radius:50%;background:#000;display:flex;align-items:center;justify-content:center}
.ec-ic svg{width:18px;height:18px;fill:var(--gold)}
.ec-contact b{display:block;font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:#000;margin-bottom:2px}
.ec-contact a{color:#000;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px;word-break:break-word}
.ec-call{background:var(--gold);color:#000;border:2px solid var(--gold);align-self:flex-start}
.ec-call:hover{background:#000;color:var(--gold)}
.ec-note{margin:14px 0 0;font-size:13px;color:#6b6b6b}
@media (max-width:800px){.expect-card{padding:22px 18px 20px}.ec-call{display:block;width:100%;text-align:center;box-sizing:border-box;align-self:stretch;margin-top:8px}}
.expect-card>div:last-child{margin-top:auto;padding-top:18px}
.ec-checks li{margin-bottom:16px}
@media (max-width:800px){.expect-card>div:last-child{margin-top:0}}
.g-reviews-card{display:flex;align-items:center;gap:22px;max-width:820px;margin:10px auto 0;background:#fff;border:1px solid #e6e6e6;border-top:4px solid var(--gold);border-radius:8px;padding:26px 28px;box-shadow:0 4px 18px rgba(0,0,0,.06);font-family:Poppins,sans-serif}
.g-reviews-card h3{margin:0 0 6px;font-family:Montserrat,sans-serif}.g-reviews-card p{margin:0;color:#444}
.g-reviews-card .g-ic{flex:0 0 56px;height:56px;border-radius:50%;background:#000;color:var(--gold);font:700 26px Montserrat,sans-serif;display:flex;align-items:center;justify-content:center}
.g-reviews-card .btn{margin-left:auto;white-space:nowrap}
@media (max-width:800px){.g-reviews-card{flex-direction:column;text-align:center}.g-reviews-card .btn{margin:6px 0 0;width:100%;box-sizing:border-box;text-align:center}}
.g-reviews{max-width:1100px;margin:0 auto;text-align:center;font-family:Poppins,sans-serif}
.g-badge{display:inline-flex;align-items:center;gap:12px;background:#000;color:#fff;border-radius:40px;padding:10px 22px 10px 10px;font-size:16px}
.g-badge b{color:var(--gold);font-family:Montserrat,sans-serif}
.g-badge .g-ic{width:36px;height:36px;border-radius:50%;background:var(--gold);color:#000;font:700 18px Montserrat,sans-serif;display:flex;align-items:center;justify-content:center}
.g-note{color:#6b6b6b;font-size:14px;margin:10px 0 26px}
.gq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;text-align:left}
.gq{margin:0;background:#fff;border:1px solid #e6e6e6;border-top:4px solid var(--gold);border-radius:8px;padding:22px 24px;box-shadow:0 4px 18px rgba(0,0,0,.06);display:flex;flex-direction:column}
.gq-stars{color:var(--gold);letter-spacing:2px;font-size:18px}
.gq blockquote{margin:10px 0 14px;font-size:15px;line-height:1.6;color:#222}
.gq figcaption{margin-top:auto;font-size:14px;color:#555}.gq figcaption b{color:#000}
.g-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}
@media (max-width:800px){.gq-grid{grid-template-columns:1fr}.g-btns .btn{width:100%;box-sizing:border-box;text-align:center}.g-badge{font-size:14px}}
.ca-top{background:#000;color:#fff;font:600 12px/1 Montserrat,sans-serif;letter-spacing:.04em;text-align:center;padding:7px 0}
.ca-top .wrap{display:flex;align-items:center;justify-content:center;gap:7px}
.leaf{display:inline-block;vertical-align:-2px;flex:0 0 auto}
.ca-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.55);border:1px solid var(--gold);color:#fff;border-radius:30px;padding:6px 14px;font:600 13px Montserrat,sans-serif;margin:4px 0 16px}
.ca-trust{display:flex;flex-direction:column;align-items:center;gap:6px}.ca-trust .leaf{width:22px;height:22px}
.ca-span{display:inline-flex;align-items:center;gap:6px}
.ca-foot{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:#fff;margin:6px 0}
.lp-foot .ca-foot{margin:0 0 6px}
.ec-note{display:flex;align-items:center;gap:7px}
@media (max-width:800px){.ca-top{display:none}}
/* GG Group parent links */
.gg-parent{text-align:center;margin:0;padding:14px 16px 18px;font-size:14px}.gg-parent a,.site-footer .gg-parent a,.lp-foot .gg-parent a{display:inline;color:var(--gold);text-decoration:underline;font-weight:600}
.topbar .gg-top a{color:#ddd;text-decoration:underline}.topbar .gg-top a:hover{color:var(--gold)}
@media(max-width:600px){.topbar .gg-top{display:none}}
.gg-family{text-align:center}.gg-family p{max-width:760px;margin:0 auto 18px}
.topbar .env{vertical-align:-2px;margin-right:4px}.hero-email{margin:18px 0 0;font-size:15px;color:#ddd}.hero-email a{color:var(--gold);font-weight:600}.lp-contact{display:flex;gap:10px;flex-wrap:wrap}.lp-mail{display:inline-flex;align-items:center;gap:6px;margin-left:8px}.lp-hdr .wrap>a+a{margin-left:8px}
@media(max-width:600px){.topbar .tb-addr{display:none}.topbar .env{width:16px;height:16px;margin:0}.lp-mail .num{display:none}}
.quote-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:16px}.quote-btns .btn_q,.quote-bar .btn_q{flex:1 1 0;min-width:180px;max-width:280px;text-align:center;background:var(--gold);color:#000;border:2px solid var(--gold);font-weight:700}.cta-band .quote-btns{justify-content:flex-start;width:100%}.cta-band .quote-btns .btn_q{background:#111;color:#fff;border-color:#111}.foot-q{padding:16px}
.quote-bar{display:none}
@media(max-width:800px){.quote-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;gap:6px;padding:6px;background:#111}.quote-bar .btn_q{min-width:0;max-width:none;padding:12px 6px;font-size:14px;margin:0}body{padding-bottom:64px!important}.lp-mobilecall{margin-bottom:60px}}
.hero-3 .btn_q{background:var(--gold);color:#000;border:2px solid var(--gold);font-weight:700;text-align:center}
@media(max-width:600px){.hero-3{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero .hero_btn_group.hero-3 a.btn{width:100%!important;margin:0!important;padding:13px 4px!important;font-size:14px!important;white-space:nowrap!important;display:flex;align-items:center;justify-content:center}.x{;font-size:14px;white-space:nowrap;display:flex;align-items:center;justify-content:center}.hero-3 .hero-call{grid-column:1/-1}.hero.big .hero-email{margin-top:12px}}
.hero-2{display:flex;gap:14px;flex-wrap:wrap}.hero-2 .btn{min-width:220px;text-align:center;font-weight:700}
@media(max-width:600px){.hero .hero_btn_group.hero-2{display:grid;grid-template-columns:1fr;gap:10px}.hero .hero_btn_group.hero-2 a.btn{width:100%!important;margin:0!important;min-width:0}.hero.big .hero-email{margin-top:12px}}
/* CTA cleanup v20261027m: 2 buttons + small email line */
.cta-email{margin:12px 0 0;font-size:15px}
.cta-text{margin:6px 0 0;font-size:14px;color:#ccc}
.cta-text a{color:var(--gold)}
.cta-band .cta-stack{display:flex;flex-direction:column;align-items:flex-start}
.cta-band .cta-email,.cta-band .cta-text{color:#000}
.cta-band .cta-email a,.cta-band .cta-text a{color:#000;font-weight:700;text-decoration:underline}
.foot-quote{padding:14px 16px;margin:0;font-size:14px;text-align:center}
.foot-quote a{color:var(--gold);font-weight:600}
.lp-cta{margin-top:18px}
.quote-bar .bar-call{background:#fff;color:#000;border-color:#fff}
.lp-mobilecall{display:none!important}
/* AI renderings */
.rend{position:relative;display:block;border-radius:10px;overflow:hidden}
.rend img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.imgbox .rend,.imgbox .rend img{height:100%}
.rend-list{margin:6px 0 0;padding-left:18px}
.rend-list li{margin:2px 0}
.rendfig{max-width:760px}
.site-footer h2.fh{font-size:1rem;color:var(--gold);margin:1.33em 0}
.see-also{margin-top:14px}.see-also a{color:#9a7400;text-decoration:underline;font-weight:600}
