/* Additions to design.css: nav dropdown, extra footer columns, homepage sections that existed before the redesign
   (estimator, reviews, guides, smart-home banner), and the re-theme of legacy content pages (.content-page). */

/* header */
.nav-dd{position:relative}.nav-dd-toggle{display:inline-flex;align-items:center;gap:4px}.nav-dd-menu{display:none;position:absolute;top:100%;left:-14px;min-width:240px;background:var(--cream);border:1px solid var(--line);border-radius:4px;box-shadow:0 18px 40px #0b222e22;padding:8px;z-index:50}.nav-dd:hover .nav-dd-menu,.nav-dd:focus-within .nav-dd-menu{display:block}.nav-dd-menu a{display:block;padding:10px 12px!important;font-size:12px;border-radius:3px}.nav-dd-menu a:hover{background:#e9ede5}
.header-phone{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:700;min-height:44px}.header-phone svg{color:var(--orange-dark)}
@media(max-width:1150px){.header-phone span{display:none}.header-phone{width:44px;justify-content:center}}
.mobile-nav .mm-sub{padding:10px 0 10px 18px;font-size:12px;color:var(--muted)}
.mobile-nav[hidden]{display:none!important}
/* mobile sticky call/estimate bar */
@media(max-width:700px){.mobile-contact{display:grid;grid-template-columns:auto 1fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -8px 24px #0b222e18}.mobile-contact a,.mobile-contact button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:54px;font-size:13px;font-weight:700;padding:0 20px}.mobile-contact button{background:var(--navy);color:#fff}body{padding-bottom:54px}}
/* footer with extra columns */
footer .footer-wide{grid-template-columns:1.2fr 1fr 1.3fr 1.1fr 1fr}.fc-areas{display:grid!important;grid-template-columns:1fr 1fr;gap:0 18px}footer .footer-wide>div{align-items:flex-start}
@media(max-width:1150px){footer .footer-wide{grid-template-columns:1fr 1fr 1fr!important;gap:36px!important}}
@media(max-width:700px){footer .footer-wide{grid-template-columns:1fr 1fr!important}.fc-areas{grid-template-columns:1fr}}
/* service grid with 6 cards that link to existing pages + smart-home banner */
.smart-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:20px 26px;border:1px solid var(--line);background:#ecefe9;border-radius:4px;font-size:13px}.smart-banner p{color:var(--ink);margin:0}.smart-banner a{font-weight:700;display:inline-flex;align-items:center;gap:10px;min-height:44px}
@media(max-width:700px){.smart-banner{flex-direction:column;align-items:flex-start}}
.finder-alt{display:inline-flex;align-items:center;min-height:44px;margin-left:22px;font-size:11px;font-weight:700;text-decoration:underline}
/* project grid: 6 photos */
.project-grid.six{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}
@media(max-width:700px){.project-grid.six{grid-template-columns:1fr 1fr;gap:16px}}
/* service area links */
.city-list>a{font-size:11px;background:#f8f8f3;padding:9px 14px;border:1px solid #d9ded3;border-radius:2px;min-height:44px;display:inline-flex;align-items:center}.city-list>a:hover{border-color:var(--orange-dark);color:var(--orange-dark)}
/* estimator */
.estimator{background:var(--cream)}.estimator-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:start}.estimator-copy h2{margin-bottom:18px}.estimator-copy>p{font-size:14px;max-width:420px}
.estimator-control{margin-top:30px}.estimator-control-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px}.estimator-control-row .val{font-size:22px;letter-spacing:-.03em}
.estimator-slider{width:100%;min-height:44px;accent-color:var(--navy)}.estimator-range-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.estimator-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.estimator-toggle-label{font-size:13px;font-weight:700}.estimator-toggle-sub{font-size:11px;color:var(--muted)}
.estimator-switch{position:relative;flex:0 0 52px;width:52px;height:30px;border-radius:30px;background:#b9c4bb;transition:background .2s}.estimator-switch::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;transition:transform .2s}.estimator-switch.on{background:var(--navy)}.estimator-switch.on::after{transform:translateX(22px)}
.estimator-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:30px;box-shadow:0 12px 28px #344e3910}.estimator-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--line)}.estimator-card-head h3{font-size:19px}.estimator-card-head .sub{font-size:11px;color:var(--muted);margin-top:4px}.size-tag{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dark);font-weight:800;text-align:right}.size-val{font-size:30px;font-weight:600;letter-spacing:-.04em;text-align:right}
.estimator-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:22px 0}.estimator-stat .label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.estimator-stat .value{font-size:26px;font-weight:600;letter-spacing:-.03em}.estimator-stat .sub{font-size:10px;color:var(--muted)}
.estimator-compare-head{display:flex;justify-content:space-between;gap:12px;font-size:11px;font-weight:700;margin-bottom:14px}.estimator-compare-head span:last-child{font-weight:400;color:var(--muted)}.estimator-bar-label{display:flex;justify-content:space-between;font-size:12px;margin:12px 0 6px}.estimator-bar-label .amt{font-weight:700}.estimator-bar-track{height:10px;background:#e4e8e2;border-radius:10px;overflow:hidden}.estimator-bar-fill{height:100%;border-radius:10px;transition:width .3s}.estimator-bar-fill.grid{background:#a9b6ad}.estimator-bar-fill.suntrify{background:var(--orange)}
.estimator-savings{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.estimator-savings .label{font-size:11px;color:var(--muted)}.estimator-savings .value{font-size:28px;font-weight:600;letter-spacing:-.03em}
.est-note{font-size:11px;line-height:1.7;margin-top:16px}.est-assume{font-size:11px;line-height:1.7;margin-top:10px;color:var(--muted)}.est-assume summary{padding:10px 0;font-size:11px;min-height:44px}
@media(max-width:900px){.estimator-grid{grid-template-columns:1fr;gap:40px}.estimator-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.estimator-card{padding:20px}.estimator-stats{grid-template-columns:1fr 1fr}.estimator-savings{flex-direction:column;align-items:flex-start}}
/* reviews + guides on the homepage */
.home-reviews{background:#ecefe9}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.review-card{background:var(--cream);padding:28px;border-radius:4px;border:1px solid var(--line)}.stars{color:var(--orange);letter-spacing:.15em;font-size:14px;margin-bottom:12px}.review-text{font-size:13px;line-height:1.85;color:var(--ink)}.reviewer{font-weight:700;font-size:12px;margin-top:16px}.reviewer-loc{font-size:11px;color:var(--muted)}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr}}
.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-left:1px solid var(--line);border-top:1px solid var(--line)}.g-card{display:block;padding:26px 26px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:44px}.g-card:hover{background:#ebece5}.g-tag{font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--orange-dark);margin-bottom:10px}.g-card h3{font-size:17px;margin-bottom:8px}.g-card p{font-size:12px;line-height:1.8}
@media(max-width:900px){.guide-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.guide-grid{grid-template-columns:1fr}}
.cta-more{font-size:11px!important}.cta-more a{text-decoration:underline;color:#f3a239}
.faq-list details>p a{text-decoration:underline}
.service-hero-copy .nav-note{font-size:11px}

/* ── legacy content pages (services, cities, guides) re-themed to the new palette ───────────── */
.content-page{--navy:#112c39;--navy-mid:#244c5c;--gold:#e78200;--gold-light:#f3b567;--white:#fff;--off-white:#f7f6f1;--gray-light:#ecefe9;--gray-mid:#8a9a96;--gray-dark:#15313e;--text:#15313e;--text-muted:#596a70;--border:#d9dedb;--radius:4px;--radius-sm:3px;font-family:Manrope,Arial,sans-serif;color:var(--text);background:var(--cream);line-height:1.7}
.content-page main{max-width:880px!important;padding:56px 0 80px!important;width:calc(100% - 48px)}
.content-page h1,.content-page h2,.content-page h3,.content-page .display{font-family:Manrope,Arial,sans-serif!important;letter-spacing:-.04em;font-weight:600;color:var(--ink)}
.content-page h1{font-size:clamp(2.2rem,4.6vw,3.6rem)!important;line-height:1.1}.content-page h2{font-size:clamp(1.6rem,2.8vw,2.2rem)!important;margin-top:56px}.content-page h3{font-size:1.2rem}
.content-page .eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:none;color:var(--orange-dark)}
.content-page .lede{font-size:17px;line-height:1.8;color:var(--muted)}
.content-page a:not(.btn-gold):not(.btn-ghost):not(.hub-card):not(.g-card){text-decoration:underline;text-underline-offset:3px}
.content-page .btn-gold,.content-page .iq-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 26px;border-radius:3px;background:var(--navy)!important;color:#fff!important;font-weight:700;font-size:13px;border:0;text-decoration:none;cursor:pointer}.content-page .btn-gold:hover,.content-page .iq-btn:hover{background:#244c5c!important}
.content-page .btn-ghost{display:inline-flex;align-items:center;min-height:52px;padding:14px 22px;border:1px solid #b7c3b8;border-radius:3px;color:var(--ink)!important;font-weight:700;font-size:13px;background:transparent}
.content-page .hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0}
.content-page .chips li{background:#e9ede5;border-radius:3px;font-weight:600;color:var(--ink)}
.content-page .crumbs a{min-height:44px;display:inline-flex;align-items:center}
.content-page .iq-card{background:#fff;border:1px solid var(--line);border-radius:5px;padding:32px;margin-top:56px}
.content-page .iq-form input:not([type=hidden]),.content-page .iq-form select,.content-page .iq-form textarea{min-height:46px;font-size:16px;border:1px solid #b7c3b8;border-radius:3px;background:#fff;padding:11px 12px;width:100%;font-family:inherit}
.content-page .hub-card,.content-page .g-card{border:1px solid var(--line);background:#fff;border-radius:4px;text-decoration:none}
.content-page .hub-card:hover{background:#ebece5}
.content-page .faq details{border-bottom:1px solid var(--line)}.content-page .faq summary{min-height:44px}
.content-page .cta-box{background:var(--navy);color:#fff;border-radius:5px}.content-page .cta-box h2,.content-page .cta-box h3,.content-page .cta-box p{color:#fff}
.content-page .quote-card{background:#ecefe9;border-left:4px solid var(--orange)}
.content-page .reveal{opacity:1!important;transform:none!important}
@media(max-width:700px){.content-page main{padding-top:36px!important}.content-page .iq-card{padding:22px}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* touch targets */
.estimator-switch{flex:0 0 72px;width:72px;height:44px;border-radius:44px}.estimator-switch::after{top:4px;left:4px;width:36px;height:36px}.estimator-switch.on::after{transform:translateX(28px)}
.footer-bottom a,footer .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center}
.content-page td a,.content-page th a{display:inline-block;padding:11px 0}
.content-page .factor-card .label a{display:inline-flex;align-items:center;min-height:44px}
.hero-call,.cta-actions>a{min-height:44px}
@media(max-width:900px){.nav-cta{min-height:44px}}
.service-card-top>span,.process-grid li>span,.point-number+*{color:inherit}.service-card-top>span{color:#50615e}
.content-page :is(.hub-tag,.tier,.g-tag,.factor-card .label){color:var(--orange-dark)!important}
.content-page .iq-fine,.content-page .iq-sub{color:#4a5a57!important}
/* health-check landing */
.hc-price{display:flex;flex-direction:column;gap:6px;margin:0 0 26px;padding:16px 18px;background:#e9ede5;border-left:4px solid var(--orange);border-radius:3px;max-width:520px}.hc-price strong{font-size:2rem;letter-spacing:-.04em;color:var(--ink);line-height:1}.hc-price span{font-size:13px;line-height:1.7}
/* newsletter signup */
.nl-form{display:flex;flex-direction:column;gap:14px;margin-top:8px;max-width:520px}.nl-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nl-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600}
.nl-form input:not([type=checkbox]){border:1px solid #b7c3b8;background:#fff;border-radius:3px;min-height:46px;padding:11px 12px;font-size:16px;width:100%}.nl-form .consent{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;font-size:12px;line-height:1.6}.nl-form .consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink)}
.nl-success{display:flex;gap:10px;align-items:flex-start;padding:14px;background:#e9ede5;border-radius:3px;font-size:13px;color:var(--ink)}.nl-success svg{color:#38684d}.nl-form .button{align-self:flex-start}
@media(max-width:560px){.nl-row{grid-template-columns:1fr}}
.nl-form [hidden]{display:none!important}
