/* V4 — restore the familiar navigation and simplify the interactions. */
.brand,.footer-brand .brand{display:inline-flex;align-items:center;gap:10px;width:auto;max-width:none;flex-shrink:0;height:auto;overflow:visible}.brand img.brand-symbol{width:43px;height:auto;max-width:none}.brand img.brand-wordmark{width:168px;height:auto;max-width:none}.header-inner{height:92px;gap:24px}.site-header .desktop-nav{margin-left:auto;gap:23px;align-items:center}.site-header .desktop-nav a{font-size:12px;white-space:nowrap}.header-quote{white-space:nowrap;font-size:11px;padding-inline:18px}.menu-toggle{display:none;width:42px;height:42px;padding:9px;border:0;background:transparent;color:var(--ink);flex-shrink:0;cursor:pointer}.menu-toggle svg{display:block;width:24px;height:24px}.menu-toggle:focus-visible,.menu-close:focus-visible{outline:2px solid #557348;outline-offset:3px}.menu-is-open{overflow:hidden}.site-menu{padding:0;margin:0 auto 0 0;width:min(390px,92vw);max-width:none;height:100dvh;max-height:none;position:fixed;inset:0;border:0;background:var(--white);color:var(--ink);box-shadow:10px 0 50px #173f3510;overscroll-behavior:contain}.site-menu[open]{animation:drawer-in .24s ease-out}.site-menu::backdrop{background:#173f3540;backdrop-filter:blur(2px)}.drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid #dce1d4}.drawer-header .brand{gap:8px}.drawer-header .brand-symbol{width:33px}.drawer-header .brand-wordmark{width:168px}.menu-close{border:0;background:transparent;display:grid;place-items:center;padding:8px;color:#6c7b62;cursor:pointer;width:34px;height:34px;flex-shrink:0}.menu-close .icon{width:18px;height:18px}.drawer-body{padding:25px 24px 40px}.drawer-group h2{font:600 9px var(--sans);letter-spacing:1.7px;text-transform:uppercase;color:#74816d;margin:0 0 15px}.drawer-group{display:grid;gap:4px}.drawer-group+.drawer-group{border-top:1px solid #dce1d4;margin-top:24px;padding-top:26px}.drawer-group>a{display:flex;align-items:flex-start;gap:14px;padding:13px 8px;margin-inline:-8px;border-radius:6px;text-decoration:none}.drawer-group>a:hover,.drawer-group>a:focus-visible{background:#eef2e8}.drawer-group .icon{width:19px;height:19px;flex-shrink:0;color:#7c8c73;margin-top:1px}.drawer-group strong{font-size:14px;font-weight:600;display:block;line-height:1.4}.drawer-group small{font-size:11px;color:#76816e;display:block;margin-top:6px;line-height:1.5}@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.hero{padding-top:43px}
/* Hint only: no controls competing with the page sections. */
.section-nav-shell{display:block;padding-bottom:0}.section-nav nav{padding-inline:0;scrollbar-width:none}.section-nav nav::-webkit-scrollbar{display:none}.section-nav-hint{display:none}.section-nav-hint[hidden]{display:none!important}.section-nav a:focus-visible{outline-offset:-3px}
/* Keep the original line drawing, with an automatic roof-line highlight. */
.options-layout{grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}.decision-panel{padding:22px 30px 30px;border-color:#d0dbc6;box-shadow:none;background:#fafbf6}.choice-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;border:0;background:#eaf0e2;padding:5px;border-radius:8px;margin:0 0 29px}.choice-tabs button,.choice-tabs button[aria-selected=true]{border:0;border-radius:5px;padding:11px 7px;min-height:42px;font-size:11px;line-height:1.35;white-space:normal;background:transparent;font-weight:500;color:#526849}.choice-tabs button[aria-selected=true]{background:#234c3d;color:#fffdf6;box-shadow:0 2px 4px #173f3510;font-weight:600}.choice-tabs button:hover:not([aria-selected=true]){background:#dfe8d4}.choice-tabs button:focus-visible{outline:2px solid #78966b;outline-offset:2px}#decision-content h3{font-size:29px;line-height:1.2;margin-bottom:15px}#decision-content>p{font-size:13px;line-height:1.85;max-width:48ch}.step-list{margin:25px 0;gap:21px}.step-list li{gap:14px}.step-list .step-num{background:transparent;border-color:#c7d4bc}.step-list p{font-size:12px;line-height:1.65;margin-top:4px}.decision-link{padding-top:19px}.house-scene{width:250px;margin-top:22px}.simple-roof{width:245px}.simple-roof svg{width:245px;height:147px}.simple-roof .roof-stroke,.simple-roof.is-animating .roof-stroke{animation:none;stroke:#7c9270;stroke-dasharray:none;stroke-dashoffset:0}.simple-roof .roof-trace{stroke:#294f3d;stroke-dasharray:18 100;stroke-dashoffset:18;opacity:0}.simple-roof.is-animating .roof-trace{animation:roof-trace 9s ease-in-out infinite}.simple-roof span{margin-top:8px;font-size:10px}.house-ground{opacity:.2}@keyframes roof-trace{0%,12%{stroke-dashoffset:18;opacity:0}20%{opacity:.7}70%{stroke-dashoffset:-100;opacity:.7}78%,100%{stroke-dashoffset:-100;opacity:0}}
/* Notice colors follow the kind of weather; text wraps only when needed. */
.alert-note{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px 18px;padding:12px 15px;border:1px solid transparent;border-radius:6px;min-height:46px}.alert-note>strong{font-size:12px;display:flex;align-items:center;gap:9px;line-height:1.45}.alert-note>strong .icon{width:20px;height:20px;stroke:currentColor}.alert-note>span{font-size:10px;line-height:1.5;padding:0;margin:0;display:block;white-space:normal}.alert-heat{background:#eee1c6;border-color:#e5d4ae;color:#735428}.alert-air{background:#e0ebea;border-color:#cbdfdc;color:#355e5a}.alert-other{background:#e2e8dd;border-color:#d1dacb;color:#426045}.alert-note:hover{text-decoration:none;filter:brightness(.98)}
/* Solar is now part of replacement planning, directly beneath the cost section. */
#cost>.solar-note{background:#f0f2e8;border:1px solid #d8dfce;border-radius:9px;margin-top:30px;padding:0 23px}.solar-note summary{padding:21px 0;gap:17px}.solar-note summary strong{font-size:15px}.solar-note summary>span>span{font-size:12px;line-height:1.6;color:#6d7d61}.solar-sun{color:#938359}.solar-answers{padding:6px 0 24px 48px;gap:24px}.solar-answers h3{font-size:23px;line-height:1.3}.solar-answers p{font-size:12px;line-height:1.8}.solar-next{padding-top:15px;border-top:1px solid #d7dfcd}
/* An editorial shelf for useful, newly published reading. */
.latest-reading{padding:28px;border:1px solid #e0e3d6;background:#f1f2e9;border-radius:10px;margin-top:32px}.latest-heading{margin-bottom:22px;align-items:flex-end}.latest-heading h3{font-size:29px;letter-spacing:-.6px;line-height:1.2}.latest-heading .eyebrow{font-size:8px;letter-spacing:1.6px}.latest-heading>a{font-size:11px;margin:0;padding-bottom:3px}.latest-articles{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:auto auto;gap:0 28px}.fresh-article{padding:14px 0;grid-template-columns:78px 1fr;gap:17px;align-items:center}.fresh-article img{width:78px;height:69px;border-radius:5px}.fresh-article h4{font-size:13px;line-height:1.55;font-weight:550}.fresh-article time{font-size:9px;color:#66785a;margin-bottom:6px}.fresh-article:first-child{grid-row:1/3;grid-template-columns:145px 1fr;gap:20px;padding:0;border-right:1px solid #d9dfcf;padding-right:28px}.fresh-article:first-child img{width:145px;height:166px}.fresh-article:first-child h4{font-family:var(--serif);font-size:24px;font-weight:450;line-height:1.23;letter-spacing:-.3px}.fresh-article:nth-child(2){padding-top:0;border-bottom:1px solid #d9dfcf}.fresh-article:last-child{padding-bottom:0}.fresh-article:hover img{transform:none;filter:brightness(1.04)}.fresh-article:hover h4{text-decoration-color:#a4b297}.local-questions{margin-top:48px}
@media(max-width:1100px){.site-header .desktop-nav,.header-inner>.header-quote{display:none}.menu-toggle{display:block;margin-left:auto}.header-inner{height:82px}.options-layout{gap:30px;grid-template-columns:.8fr 1.2fr}.decision-panel{padding:20px 24px 27px}.choice-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-tabs button{font-size:12px}.latest-articles{gap:0 22px}.fresh-article:first-child{grid-template-columns:110px 1fr;gap:16px;padding-right:22px}.fresh-article:first-child img{width:110px;height:145px}.fresh-article:first-child h4{font-size:23px}}
@media(max-width:800px){.latest-articles{grid-template-columns:1fr;gap:0}.fresh-article:first-child{grid-row:auto;border-right:0;border-bottom:1px solid #d9dfcf;padding:0 0 20px;grid-template-columns:112px 1fr}.fresh-article:first-child img{width:112px;height:100px}.fresh-article:first-child h4{font-size:25px;max-width:23ch}.fresh-article:nth-child(2){padding-top:18px}.fresh-article{grid-template-columns:78px 1fr;padding-block:18px}.latest-reading{padding:25px}.options-layout{gap:30px}}
@media(max-width:700px){.header-inner{height:76px;gap:15px}.brand,.footer-brand .brand{gap:8px;max-width:calc(100% - 40px)}.brand img.brand-symbol{width:39px}.brand img.brand-wordmark{width:156px}.hero{padding-top:35px}.section-nav-shell{display:block;padding-bottom:0}.section-nav-hint{display:flex;justify-content:flex-end;align-items:center;padding-top:8px;font-size:9px}.section-nav-hint>span:last-child{display:flex;gap:5px;align-items:center;font-size:9px}.section-nav-hint>span:last-child>span{font-size:13px;line-height:1}.section-nav nav{display:flex;gap:27px;overflow-x:auto;justify-content:flex-start;scroll-padding-inline:3px}.section-nav nav a{padding-block:13px 14px}.section-nav nav a span{font-size:11px}.options-layout{display:block}.section-intro{padding-bottom:0;margin-bottom:26px;min-height:0}.section-intro>p:not(.eyebrow){max-width:none}.house-scene{height:102px;margin-top:14px;width:170px}.simple-roof{width:170px;height:102px;position:relative;inset:auto;margin:0}.simple-roof svg{width:170px;height:102px}.simple-roof span{display:none}.decision-panel{padding:20px 23px 26px}.choice-tabs{padding:5px;gap:5px;margin-bottom:26px}.choice-tabs button{padding:12px 8px;font-size:12px;min-height:43px}#decision-content h3{font-size:28px;line-height:1.2}#decision-content>p{font-size:12px;line-height:1.85}.step-list{gap:20px;margin-block:24px}.step-list strong{font-size:12px}.step-list p{font-size:12px}.alert-note{display:flex;padding:11px 13px;gap:4px 16px}.alert-note>span{padding:0;margin:0;font-size:10px}.alert-note>strong{gap:8px}.latest-heading{align-items:flex-end;gap:15px;margin-bottom:22px}.latest-heading h3{font-size:27px;max-width:230px}.latest-heading>a{font-size:10px;margin:0;white-space:normal;min-width:60px;text-align:right;line-height:1.7}.latest-reading{padding:23px;margin-top:27px}.fresh-article:first-child{grid-template-columns:96px 1fr;gap:17px}.fresh-article:first-child img{width:96px;height:107px}.fresh-article:first-child h4{font-size:23px}.fresh-article h4{font-size:13px}.fresh-article time{font-size:10px}.fresh-article:last-child{padding-bottom:0}#cost>.solar-note{padding-inline:18px;margin-top:27px}.solar-note summary{gap:12px;padding-block:18px}.solar-note summary strong{font-size:14px}.solar-note summary>span>span{font-size:11px}.solar-answers{padding:6px 0 22px;grid-template-columns:1fr;gap:23px}.solar-next{padding-top:16px}.local-questions{margin-top:34px}.footer-brand .brand{max-width:none}.drawer-header .brand-symbol{width:32px}.drawer-header .brand-wordmark{width:158px}}
@media(max-width:430px){.alert-note>span{flex-basis:100%;padding-left:28px}.latest-reading{padding:20px}.latest-heading h3{font-size:25px}.fresh-article:first-child{grid-template-columns:87px 1fr;gap:15px}.fresh-article:first-child img{width:87px;height:105px}.fresh-article:first-child h4{font-size:22px}.fresh-article{gap:15px}.decision-panel{padding:19px 20px 25px}}
@media(max-width:370px){.brand img.brand-wordmark{width:140px}.brand img.brand-symbol{width:36px}.drawer-header{padding:20px 17px}.drawer-header .brand-wordmark{width:143px}.drawer-header .brand-symbol{width:30px}.drawer-body{padding-inline:20px}.decision-panel{padding:16px 17px 23px}.choice-tabs button{font-size:11px}.latest-heading h3{font-size:23px}.latest-heading>a{font-size:9px}.fresh-article:first-child{grid-template-columns:75px 1fr}.fresh-article:first-child img{width:75px;height:96px}.fresh-article:first-child h4{font-size:21px}.fresh-article{grid-template-columns:64px 1fr}.fresh-article img{width:64px;height:68px}}
@media(prefers-reduced-motion:reduce){.simple-roof.is-animating .roof-trace{animation:none;opacity:0}.site-menu[open]{animation:none}}

.site-menu{border-radius:0}.previous-page{font-size:12px;white-space:nowrap}

/* A quiet, dated local notice; no placeholder or evergreen promotion. */
.local-notice{background:#e8e9df;border-bottom:1px solid #dcdfd3;color:#3f594b}
.local-notice[hidden],.forecast-summary[hidden]{display:none}
.local-notice-inner{display:flex;align-items:center;gap:10px;min-height:36px;padding-block:8px;text-decoration:none;font-size:11px;line-height:1.5}
.local-notice-inner>.icon{width:16px;height:16px;flex-shrink:0;color:#6b8065}
.local-notice-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 13px}
.local-notice-copy strong{font-weight:550}
.local-notice .notice-mobile{display:none}
.local-notice-copy>span{font-size:10px;color:#65765e}
.local-notice-cta{margin-left:auto;font-size:10px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.local-notice-inner:hover .local-notice-cta{text-decoration-thickness:2px}
.local-notice-inner:focus-visible{outline:2px solid #557348;outline-offset:-3px}
.forecast-summary{margin:0 0 20px;padding:0 0 18px;border-bottom:1px solid #d3ddc9}
.forecast-summary h4{font-family:var(--sans);font-size:13px;font-weight:600;line-height:1.5;margin:0 0 7px}
.forecast-summary p{font-size:12px;line-height:1.85;color:#536b58;margin:0;max-width:85ch}
@media(max-width:700px){
 .local-notice-inner{gap:8px;align-items:center;min-height:34px;padding-block:6px;font-size:11px;white-space:nowrap}
 .local-notice-inner>.icon{width:14px;height:14px}
 .local-notice-copy{display:block;flex:1;min-width:0}
 .local-notice .notice-desktop,.local-notice .local-notice-date{display:none}
 .local-notice .notice-mobile{display:block}
 .local-notice-copy .notice-mobile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .local-notice-cta{flex-shrink:0;font-size:10px;white-space:nowrap;max-width:none;line-height:1.5}
 .forecast-summary{margin-bottom:18px;padding-bottom:16px}
 .forecast-summary p{font-size:12px;line-height:1.8}
}

/* Keep the cards focused on identity, reviews, location and contact. */
.contractor-card .company-address{margin-bottom:15px}
.footer-disclosure{display:grid;grid-template-columns:1fr;gap:13px;max-width:none;font-size:11px;line-height:1.8;margin-top:24px}
.footer-disclosure p{margin:0}
.footer-disclosure strong{display:block;font-size:11px;font-weight:550;color:#546c4d;margin-bottom:5px}
@media(max-width:700px){.footer-disclosure{grid-template-columns:1fr;gap:13px;font-size:10px;margin-top:23px}.footer-disclosure strong{font-size:10px}.section-nav-hint>span:first-child{font-weight:400}}

/* Quiet local wayfinding, with generous link targets on narrow screens. */
.nearby{display:block;margin-block:28px 48px;padding-top:26px;border-top:1px solid var(--line)}
.nearby-intro{display:flex;align-items:flex-start;gap:12px;margin-bottom:17px}.nearby-intro>.icon{width:24px;height:24px;color:#6d8358;flex-shrink:0;margin-top:2px}.nearby-intro h2{font-family:var(--serif);font-size:23px;letter-spacing:-.4px;margin:0 0 5px}.nearby-intro p{font-size:12px;margin:0}
.nearby nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.nearby nav a{padding:14px 17px;border:1px solid #dce2d3;border-radius:8px;background:#f1f3e9;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}.nearby nav a span{font-weight:400;color:#60725d}.nearby nav a:hover,.nearby nav a:focus-visible{background:#e7edde;border-color:#869b73}.partial-note{background:#f0f3e9;border:1px solid #dce3d2;padding:12px 14px;border-radius:6px}.partial-note strong{display:block;margin-bottom:3px}.chart-col:nth-last-child(2) .chart-bar{background:#bacbab}.chart-col:last-child .chart-bar{background:#54734b}
@media(max-width:760px){.nearby nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nearby-intro h2{font-size:22px}.nearby nav a{font-size:11px;padding:13px}.results-line{gap:16px}.results-line>#result-count{max-width:65%}.local-filter{flex-shrink:0;max-width:45%}.directory-count{display:none}.section-top>div:first-child{min-width:0}.partial-note p{font-size:11px}}

.chart-col.partial .chart-bar{background:repeating-linear-gradient(135deg,#809974,#809974 3px,#d8e2cd 3px,#d8e2cd 6px);border:1px solid #8ba37d}.partial-note{align-items:flex-start}.partial-note .hatch-key{margin-top:3px}

/* Successive air-quality bulletins share a heading, with each notice retained. */
.alert-group{border:1px solid #bfd5d7;border-radius:6px;background:#e0eded;color:#315f5e;margin-bottom:12px}
.alert-group summary.alert-note{margin:0;border:0;background:transparent;cursor:pointer;list-style:none}
.alert-group summary::-webkit-details-marker{display:none}
.alert-group summary>span{display:flex;align-items:center;gap:8px}
.alert-group summary>span .icon{width:13px;height:13px;flex:none}
.alert-group[open] summary>span .icon{transform:rotate(180deg)}
.alert-group-details{padding:0 18px 17px;font-size:12px;line-height:1.65}
.alert-group-details p{border-top:1px solid #c3d7d7;padding-top:12px;margin:0 0 10px}
.alert-group-details p strong,.alert-group-details p span{display:block}
.alert-group-details a{text-underline-offset:4px}
/* Long city names must fit the local-office filter on narrow screens. */
@media(max-width:620px){.local-filter{white-space:normal;line-height:1.4}.local-filter input{flex-shrink:0}}

/* Shared source block: deliberate rows, no orphan separators. */
.pricing-sources {display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line,#d5ddcf);margin-top:18px}
.assumptions .pricing-sources > span {font-size:11px;color:var(--muted,#637267)}
.assumptions .pricing-sources a {display:block;width:fit-content;margin:0;line-height:1.5;text-underline-offset:4px}

.forecast-intro .forecast-reference{font-size:10px;line-height:1.65;margin-top:16px;color:#627260;max-width:28em}

/* Shared footer rhythm: natural wrapping, compact links and full-width notes. */
.full-footer .footer-brand>p{line-height:1.15}
.full-footer .footer-top nav{gap:10px}
.full-footer .footer-states nav{row-gap:8px}
