
/* ---------- Rebuild components (added Oct 2026) ---------- */
.hero .hero-sub{font-size:20px;line-height:1.5;color:#fff;max-width:560px;padding-bottom:6px}
.hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}
.hero .hero-btns .btn{margin:0}
.btn-ghost{background:transparent;color:#fff;border-color:#fff}
.btn-ghost:hover{background:#fff;color:#000}
.trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:26px;font-size:15px;font-weight:600;color:#fff}
.trust li{display:flex;align-items:center;gap:6px}
.trust li::before{content:"";width:7px;height:7px;background:var(--gold);border-radius:50%}
.trust li:first-child::before{display:none}
.trust a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.stars,.rstars{color:var(--gold);letter-spacing:2px}
.sec-sub{text-align:center;max-width:760px;margin:0 auto 34px;color:var(--muted)}
.wrap.narrow{max-width:860px}
.wrap.narrow p{color:#e6e6e6}
.split-top{align-items:start}
.small{font-size:13px;color:var(--muted)}
/* service cards */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc{background:#000;border-bottom:6px solid var(--gold);display:flex;flex-direction:column}
.svc img{width:100%;aspect-ratio:4/3;object-fit:cover}
.svc-body{padding:20px 18px 22px;display:flex;flex-direction:column;flex:1}
.svc h3{font-size:19px;line-height:1.3;font-weight:700;padding-bottom:10px}
.svc p{font-size:15px;line-height:1.6;color:#dcdcdc;flex:1}
.svc-link{display:inline-block;margin-top:14px;color:var(--gold);font-weight:700}
.svc-link:hover{text-decoration:underline}
/* project grid with captions */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.proj-grid figure{margin:0;background:#000}
.proj-grid a{display:block;overflow:hidden}
.proj-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}
.proj-grid a:hover img{transform:scale(1.04)}
.proj-grid figcaption{font-size:13px;font-weight:600;color:#dcdcdc;padding:10px 12px}
/* reviews */
.card .rstars{font-size:18px;margin-bottom:10px}
.who .name{padding-bottom:0}
.who .city{padding-bottom:0;color:var(--muted)}
/* process step headings */
h3.step-title{font-size:16px;color:#fff;line-height:1.3}
/* FAQ */
.faq{margin-top:20px}
.faq details{border-bottom:1px solid rgba(255,255,255,.15)}
.faq summary{cursor:pointer;list-style:none;padding:18px 36px 18px 0;font-size:18px;font-weight:600;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:28px;color:var(--gold);font-weight:400}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 0 18px}
.faq a{color:var(--gold);text-decoration:underline}
.pills.pills-4{grid-template-columns:repeat(4,1fr);max-width:760px}
@media (max-width:980px){
  .svc-grid{grid-template-columns:1fr 1fr}
  .proj-grid{grid-template-columns:1fr 1fr}
  .pills.pills-4{grid-template-columns:1fr 1fr}
}
@media (max-width:767px){
  .hero .hero-sub{font-size:17px}
  .hero-btns .btn{flex:1 1 100%}
  .svc-grid{grid-template-columns:1fr}
  .proj-grid{grid-template-columns:1fr 1fr;gap:10px}
  .proj-grid figcaption{font-size:12px;padding:8px}
  .faq summary{font-size:16px}
}
.map-wide{max-width:860px;margin:30px auto 0}
.map-wide iframe{width:100%;height:420px;border:0;display:block}
@media (max-width:767px){.map-wide iframe{height:320px}}
/* home page additions */
.eyebrow-l{font-weight:800;font-size:18px;color:var(--gold);padding-bottom:6px!important}
.reasons{list-style:none;margin-top:16px}
.reasons li{position:relative;padding-left:22px;margin-bottom:12px;line-height:1.55}
.reasons li::before{content:"";position:absolute;left:0;top:9px;width:9px;height:9px;background:var(--gold);border-radius:50%}
.rstars .dim{color:#555}
.county-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:10px}
.county-h{font-size:22px;font-weight:700;color:var(--gold);text-align:center;padding-bottom:16px}
.pills.pills-county{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:0}
.pill-home{background:#fff}
.pill-home span{font-weight:500;font-size:12px;display:block}
@media (max-width:980px){.county-grid{grid-template-columns:1fr}}
@media (max-width:767px){.pills.pills-county{grid-template-columns:repeat(2,1fr)}}
.pill.pill-home{flex-direction:column;gap:0}
/* service page additions */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.feat{background:#000;border-left:4px solid var(--gold);padding:22px 20px}
.feat h3{font-size:19px;font-weight:700;line-height:1.3;padding-bottom:8px}
.feat p{font-size:15px;line-height:1.6;color:#dcdcdc}
.proj-grid.proj-2{grid-template-columns:1fr 1fr;max-width:860px;margin:0 auto}
.card.card-wide{margin-top:20px}
.card.card-wide .quote{font-size:17px;line-height:1.7}
@media (max-width:980px){.feat-grid{grid-template-columns:1fr 1fr}}
@media (max-width:767px){.feat-grid{grid-template-columns:1fr}.proj-grid.proj-2{grid-template-columns:1fr}}
/* BBB accreditation seal */
.bbb-seal{display:inline-block;line-height:0}
.bbb-seal img{height:34px;width:auto;display:block}
.trust li.trust-bbb::before{display:none}
.trust li.trust-bbb{margin-left:4px}
.form-bbb{margin-top:16px}
.form-bbb .bbb-seal img{height:42px}
.foot-bbb{display:flex;justify-content:center;margin:6px 0 4px}
.foot-bbb .bbb-seal img{height:42px}
@media (max-width:767px){.trust li.trust-bbb{flex-basis:100%;margin:4px 0 0}}
.cards.cards-2{grid-template-columns:1fr 1fr;max-width:960px;margin-left:auto;margin-right:auto;gap:24px}
@media (max-width:980px){.cards.cards-2{grid-template-columns:1fr}}
.proj-grid:has(figure:nth-child(4):last-child){grid-template-columns:repeat(2,1fr);max-width:960px;margin:0 auto}
