*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',system-ui,sans-serif;color:#20262e;line-height:1.6;background:#fff}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
h1{font-size:clamp(1.9rem,4.5vw,3.2rem);font-weight:800;line-height:1.15}
h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin-bottom:.75em;color:var(--primary)}
section{padding:64px 0}
.btn{display:inline-block;padding:14px 28px;border-radius:8px;font-weight:600;text-decoration:none;border:0;font-size:1rem;cursor:pointer}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{filter:brightness(1.1)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.site-header{position:sticky;top:0;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.08);z-index:50}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px}
.logo{font-weight:800;font-size:1.15rem;color:var(--primary)}
.phone-cta{background:var(--primary);color:#fff;padding:9px 16px;border-radius:8px;text-decoration:none;font-weight:600;white-space:nowrap}
.hero{background-size:cover;background-position:center;color:#fff;padding:110px 0}
.hero-short{padding:70px 0;background:var(--primary)}
.subhead{font-size:1.15rem;max-width:640px;margin:18px 0 26px;opacity:.95}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}
.trust-strip{display:flex;gap:10px 26px;flex-wrap:wrap;list-style:none;font-size:.95rem;opacity:.92}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.card{background:#f7f9fb;border-radius:12px;padding:26px;border:1px solid #e8edf2}
.card .icon{font-size:1.8rem;margin-bottom:10px}
.card h3{color:var(--primary);margin-bottom:6px}
.storm{background:var(--primary);color:#fff;text-align:center}
.storm h2{color:#fff}
.storm p{max-width:680px;margin:0 auto 24px}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ba-pair img{width:100%;border-radius:10px;display:block;aspect-ratio:4/3;object-fit:cover}
.ba .tag{display:inline-block;background:#5b6672;color:#fff;font-size:.8rem;padding:3px 10px;border-radius:5px;margin-bottom:8px}
.ba .tag-after{background:var(--accent)}
.ba figcaption{margin-top:10px;color:#5b6672;font-size:.95rem}
.review .stars{color:#f5a623;margin-bottom:8px;letter-spacing:2px}
.review footer{margin-top:10px;font-weight:600;color:var(--primary)}
.area-list{font-size:1.05rem;color:#3c4650}
.financing{margin-top:16px;background:#fff6ef;border:1px solid #f5cdb2;border-radius:10px;padding:14px 18px;display:inline-block}
.faq details{border-bottom:1px solid #e8edf2;padding:14px 0}
.faq summary{font-weight:600;cursor:pointer;color:var(--primary)}
.faq details p{padding-top:8px;color:#3c4650}
.quote{background:#f2f5f8}
.quote form{max-width:560px;display:flex;flex-direction:column;gap:12px;margin-top:10px}
.quote input,.quote select,.quote textarea{padding:13px;border:1px solid #ccd4dc;border-radius:8px;font:inherit;width:100%}
.quote .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-note{font-size:.88rem;color:#5b6672}
.site-footer{background:#141c26;color:#c4ccd6;padding:44px 0 0;font-size:.95rem}
.site-footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
.site-footer a{color:#e2e8f0}
.footer-links{display:flex;flex-direction:column;gap:8px}
.credit{text-align:center;padding:22px 0;margin-top:30px;border-top:1px solid #2a3542;font-size:.85rem}
.sticky-call{display:none}
@media(max-width:640px){
  .quote .row{grid-template-columns:1fr}
  .ba-pair{grid-template-columns:1fr}
  .sticky-call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--accent);color:#fff;text-align:center;padding:15px;font-weight:700;text-decoration:none;z-index:60}
  body{padding-bottom:54px}
}
