/* Local homepage concept. Everything here is scoped to the preview shell. */
.home-preview{--home-soft:#eaf0e3;--home-pine:#173f35;--home-sage:#788b68}
.home-preview .container{width:min(1160px,calc(100% - 80px))}
.home-preview main h1,.home-preview main h2,.home-preview main h3{font-family:var(--serif);font-weight:450}
.home-preview main h2{font-size:clamp(34px,3.7vw,47px);line-height:1.12;letter-spacing:-1.6px}
.home-preview main h3{letter-spacing:-.7px}
.home-preview .header-inner{border-bottom:1px solid #dce0d5}
.home-preview .home-intro{padding-top:72px;padding-bottom:0;scroll-margin-top:25px}
.home-intro-top{display:grid;grid-template-columns:1.17fr 1fr;gap:50px;align-items:center;margin-bottom:40px}
.home-preview .home-headline h1{font-size:clamp(42px,4.7vw,62px);line-height:1.1;letter-spacing:-2.6px}
.home-headline em{font-style:normal;color:var(--home-sage)}
.home-search-copy>p{font-size:16px;line-height:1.65;color:#566a5e;margin-bottom:23px}
.home-search{position:relative;z-index:3}
.home-search>label{font-size:12px;font-weight:650;display:block;margin-bottom:8px}
.home-search-row{display:flex;padding:5px;background:var(--white);border:1px solid #bdc9b4;border-radius:8px;gap:4px;box-shadow:0 3px 10px #173f3504}
.home-search-row:focus-within{border-color:#59734e;box-shadow:0 0 0 3px #dce6d3}
.home-location-wrap{display:flex;align-items:center;position:relative;flex:1;min-width:0}
.home-location-wrap>svg{width:19px;height:19px;flex-shrink:0;margin-left:10px;color:#78886c}
.home-location-wrap input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);padding:13px 10px;font-size:14px;outline-offset:-2px}
.home-location-wrap input::placeholder{color:#7f8b78;opacity:1}
.home-search-row .button{padding:11px 17px;white-space:nowrap;font-size:12px}
.home-search-under{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:11px;flex-wrap:wrap}
.home-search-under>span{font-size:10px;color:#70816d}
.home-search-under>a{font-size:11px;font-weight:600;text-underline-offset:4px}
.home-city-options{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fffefb;border:1px solid #c5d0bc;box-shadow:0 12px 30px #173f3515;border-radius:8px;list-style:none;margin:0;padding:6px;max-height:290px;overflow-y:auto}
.home-city-options li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 13px;font-size:13px;cursor:pointer;border-radius:5px;line-height:1.5}
.home-city-options li small{color:#75856b;font-size:10px;white-space:nowrap}
.home-city-options li:hover,.home-city-options li[aria-selected=true]{background:#eaf0e2}
.home-search-status{font-size:11px;color:#65745d;margin:9px 0 0}
.home-search-status.is-error{color:#925d35}
.home-panorama{margin:0;position:relative;overflow:hidden;border-radius:11px;background:#e7ddc7;isolation:isolate}
.home-panorama>img{width:100%;height:286px;object-fit:cover;object-position:center 48%;transition:transform 1s ease}
.home-panorama:hover>img{transform:scale(1.012)}
.home-panorama figcaption{position:absolute;bottom:22px;left:25px;background:#fffdf5ef;border:1px solid #fffdf59e;border-radius:6px;display:flex;align-items:center;gap:12px;padding:13px 19px;font-family:var(--serif);font-size:18px;line-height:1.4;color:var(--home-pine);box-shadow:0 3px 12px #173f3505}
.home-panorama figcaption img{width:27px;height:auto;opacity:.85}
.home-foundation{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0 24px;font-size:11px;border-bottom:1px solid #dce0d5}
.home-foundation strong{font-weight:650;color:var(--ink)}
.home-foundation p>span{margin:0 10px;color:#acb7a2}
.home-foundation p:last-child{color:#758469}
.home-section{padding-block:80px}
.home-kicker{font-size:9px;line-height:1.5;letter-spacing:1.6px;font-weight:700;color:#6b805f;display:block}
.home-situations{background:linear-gradient(180deg,var(--paper) 0%,#edf1e6 22%,#edf1e6 100%);border-bottom:1px solid #dce4d3}
.home-situations-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.home-section-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:350px;margin-top:22px}
.home-roof-sketch{width:260px;margin-top:30px;color:#879a7a}
.home-roof-sketch svg{display:block;width:100%;height:auto}
.home-roof-sketch>span{display:block;margin-top:12px;font-size:10px;color:#718668}
.home-roof-trace{stroke:#315a43;stroke-width:2;stroke-dasharray:25 100;animation:home-roof-light 8s ease-in-out infinite}
@keyframes home-roof-light{0%,15%{stroke-dashoffset:25;opacity:0}25%{opacity:1}75%{opacity:1}90%,100%{stroke-dashoffset:-100;opacity:0}}
.home-situation-panel{background:#fffefb;border:1px solid #d4decb;border-radius:11px;padding:10px}
.home-situation-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:#edf1e7;border-radius:6px;padding:5px}
.home-situation-tabs button{background:transparent;border:0;padding:12px 8px;font-size:11px;line-height:1.5;border-radius:4px;color:#607453}
.home-situation-tabs button[aria-selected=true]{background:var(--home-pine);color:#fffdf5;box-shadow:0 2px 5px #173f3510}
.home-situation-tabs button:hover:not([aria-selected=true]){background:#e0e9d7}
.home-situation-content{padding:29px 23px 16px;min-height:392px}
.home-preview .home-situation-content h3{font-size:29px;line-height:1.18;margin:10px 0 15px}
.home-situation-content>p:not(.home-situation-foot){font-size:13px;line-height:1.8}
.home-situation-content ol{list-style:none;padding:0;margin:23px 0;display:grid;gap:13px}
.home-situation-content li{display:flex;align-items:baseline;gap:13px;font-size:12px;line-height:1.6}
.home-situation-content li>span{font-size:10px;color:#8d9d81;font-variant-numeric:tabular-nums}
.home-situation-content .button{min-height:43px;font-size:12px;padding:10px 15px}
.home-situation-foot{font-size:10px;margin-top:18px;line-height:1.8}
.home-situation-foot a{margin-left:3px;text-decoration-color:#a6b09e}
.home-quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:98px;align-items:center}
.home-quote-art{padding:32px 30px 24px;border-radius:12px;background:#eeeadd;position:relative;isolation:isolate;background-image:radial-gradient(ellipse at 5% 5%,#f3efe3 0%,transparent 75%)}
.home-quote-art:before{content:'';position:absolute;width:65%;height:70%;bottom:0;right:0;background:url('/city-redesign/brand/accent-outline-pine.svg') center/contain no-repeat;opacity:.055;z-index:-1}
.home-quote-paper{background:#fffef8;padding:25px 22px 20px;border:1px solid #dfdfce;border-radius:5px;box-shadow:4px 6px 0 #d7d7c754,0 10px 30px #5d655712;transform:rotate(-1.3deg)}
.home-quote-paper-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.home-quote-paper-top img{width:30px;height:auto}
.home-quote-paper-top>span{font-size:8px;letter-spacing:1.6px;color:#869175;font-weight:650}
.home-preview .home-quote-paper h3{font-size:27px}
.home-example-label{font-size:10px;color:#85907a;margin:6px 0 21px}
.home-quote-rows{border-top:1px solid #dbe0d0;display:grid}
.home-quote-rows button{display:flex;align-items:center;gap:13px;background:none;border:0;border-bottom:1px solid #e4e6db;border-radius:0;padding:17px 8px;text-align:left;transition:background .2s;min-width:0}
.home-quote-rows button[aria-selected=true]{background:#e9efdf;box-shadow:inset 3px 0 #6e8860}
.home-quote-rows button:hover{background:#f0f3e9}
.home-quote-number{font-size:10px;color:#8a9b7c;align-self:flex-start;margin-top:3px}
.home-quote-rows strong{font-size:12px;font-weight:600;display:block}
.home-quote-rows small{display:block;font-size:10px;color:#758468;margin-top:5px}
.home-quote-rows svg{width:19px;height:19px;margin-left:auto;color:#75915e;flex-shrink:0;opacity:0;transition:opacity .2s}
.home-quote-rows [aria-selected=true] svg{opacity:1}
.home-quote-paper-bottom{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-top:24px}
.home-quote-paper-bottom>span{font-size:9px;color:#859175}
.home-quote-paper-bottom svg{width:54px;height:24px;color:#abb492}
.home-quote-caption{text-align:center;font-size:10px;margin-top:23px;color:#7f876f}
.home-quote-lead{font-size:14px;line-height:1.8;margin:20px 0 25px}
.home-quote-answer{border-top:1px solid #d9dfd1;padding-top:23px;min-height:270px}
.home-preview .home-quote-answer h3{font-size:24px;margin:11px 0}
.home-quote-answer>p{font-size:13px;line-height:1.8}
.home-quote-answer blockquote{margin:20px 0 23px;padding:15px 18px;background:#edf0e6;border-radius:6px;font-size:13px;line-height:1.65;color:#355444}
.home-quote-answer blockquote>span{display:block;font-size:8px;letter-spacing:1.4px;font-weight:650;color:#7e8d6d;margin-bottom:6px}
.home-text-link{font-size:12px;font-weight:600;line-height:1.7;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#9da991}
.home-text-link:hover{text-decoration-color:var(--ink)}
.home-locations{background:#eef0e7;border-block:1px solid #dfe3d5}
.home-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:34px}
.home-section-heading>p{font-size:14px;max-width:375px;line-height:1.8}
.home-city-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.home-city-grid>a{position:relative;background:#fafbf6;border:1px solid #d0dbc6;border-radius:8px;padding:24px 26px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.home-city-grid>a:hover{background:#fffefb;border-color:#809573;transform:translateY(-2px)}
.home-preview .home-city-grid h3{font-size:31px;margin:12px 0 8px}
.home-city-count{font-size:11px;color:#758568;display:block}
.home-city-open{display:inline-block;font-size:11px;font-weight:550;border-bottom:1px solid #b6c2a9;margin-top:20px;padding-bottom:2px}
.home-states{margin-top:24px;border-block:1px solid #cfd8c4;padding:0}
.home-states>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:22px 0;font-size:14px;font-weight:600}
.home-states>summary::-webkit-details-marker{display:none}
.home-states-hint{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:400;color:#748468}
.home-states-hint svg{width:18px;height:18px;transition:transform .2s}
.home-states[open] .home-states-hint svg{transform:rotate(180deg)}
.home-states nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 25px;padding:0 0 23px}
.home-states nav a{display:block;font-size:12px;min-height:35px;padding:7px 0;text-decoration:none}
.home-states nav a:hover{text-decoration:underline}
.home-guide-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:30px}
.home-guide-feature{border:1px solid #dbdfd3;border-radius:10px;overflow:hidden;background:#fffef9;text-decoration:none}
.home-guide-image{overflow:hidden;height:207px;background:#e5dfd0}
.home-guide-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .6s}
.home-guide-feature:hover img{transform:scale(1.025)}
.home-guide-feature>div:last-child{padding:26px 28px}
.home-preview .home-guide-feature h3{font-size:31px;margin:12px 0}
.home-guide-feature p{font-size:13px;margin-bottom:19px;max-width:390px}
.home-guide-side{display:grid;grid-template-rows:1fr 1fr}
.home-guide-side>a{text-decoration:none;padding:21px 8px 25px;border-bottom:1px solid #d8dfd0;display:flex;flex-direction:column;align-items:flex-start}
.home-guide-side>a:first-child{padding-top:5px}
.home-guide-side>a:last-child{padding-top:26px}
.home-preview .home-guide-side h3{font-size:29px;margin:12px 0}
.home-guide-side p{font-size:13px;max-width:380px;margin-bottom:15px}
.home-guide-side .home-text-link{margin-top:auto}
.home-guide-side a:hover .home-text-link{text-decoration-color:var(--ink)}
.home-faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-block:12px 70px}
.home-faq>div>p:not(.eyebrow){font-size:13px;margin-top:18px;max-width:260px}
.home-faq .faq-rows summary{font-size:13px}
.home-close{padding:32px 0 65px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #dce0d4}
.home-preview .home-close h2{font-size:35px;line-height:1.18}
.home-close p{font-size:13px;margin-top:14px}
.home-close .button{flex-shrink:0}
.home-preview .footer-disclosure{display:block;max-width:none}
.home-preview .footer-disclosure p{max-width:none;margin-top:12px}
@media(min-width:1440px){.home-intro-top{gap:65px}.home-preview .home-headline h1{font-size:62px}}
@media(max-width:1050px){.home-preview .container{width:calc(100% - 64px)}.home-intro-top{grid-template-columns:1fr 1fr;gap:30px}.home-preview .home-headline h1{font-size:48px;letter-spacing:-2px}.home-search-copy>p{font-size:14px}.home-search-row .button{padding-inline:12px}.home-location-wrap input{font-size:13px}.home-situations-layout{gap:40px;grid-template-columns:.85fr 1.15fr}.home-quote-layout{gap:45px}.home-quote-art{padding-inline:22px}.home-faq{gap:45px}.home-preview .home-city-grid h3{font-size:28px}}
@media(max-width:800px){.home-preview .home-intro{padding-top:43px}.home-intro-top{grid-template-columns:1fr;gap:28px;margin-bottom:28px}.home-preview .home-headline h1{font-size:55px;letter-spacing:-2px}.home-search-copy{max-width:600px}.home-search-copy>p{font-size:15px;margin-bottom:20px}.home-search-copy>p br{display:none}.home-search-row .button{padding-inline:20px}.home-location-wrap input{font-size:16px}.home-search-under{justify-content:flex-start;gap:25px}.home-panorama>img{height:235px}.home-foundation{align-items:flex-start;gap:12px;font-size:10px}.home-foundation p:last-child{max-width:170px;text-align:right}.home-section{padding-block:55px}.home-situations-layout{grid-template-columns:1fr;gap:27px}.home-section-intro{position:relative;min-height:165px;padding-right:215px}.home-preview .home-section-intro h2{font-size:36px}.home-roof-sketch{position:absolute;width:190px;right:0;bottom:8px;margin:0}.home-roof-sketch span{font-size:9px;max-width:175px}.home-situation-content{min-height:350px;padding-inline:24px}.home-quote-layout{gap:30px}.home-quote-art{padding:25px 17px 19px}.home-quote-paper{padding:20px 14px}.home-quote-paper-top{margin-bottom:18px}.home-quote-paper-top>span{font-size:7px}.home-preview .home-quote-paper h3{font-size:24px}.home-quote-rows button{gap:8px;padding:16px 7px}.home-quote-rows small{font-size:9px}.home-quote-rows svg{display:none}.home-quote-paper-bottom>span{font-size:8px}.home-quote-paper-bottom svg{width:35px}.home-preview .home-quote-explanation h2{font-size:33px}.home-quote-lead{font-size:12px}.home-preview .home-quote-answer h3{font-size:23px}.home-quote-answer>p{font-size:12px}.home-quote-answer blockquote{padding:12px;font-size:12px}.home-section-heading>p{max-width:260px;font-size:12px}.home-city-grid{gap:12px}.home-city-grid>a{padding:21px 18px}.home-preview .home-city-grid h3{font-size:24px}.home-kicker{font-size:8px}.home-city-count,.home-city-open{font-size:10px}.home-guide-grid{gap:22px}.home-guide-feature>div:last-child{padding:22px}.home-preview .home-guide-feature h3,.home-preview .home-guide-side h3{font-size:25px}.home-faq{gap:32px;grid-template-columns:.8fr 1.2fr}.home-preview .home-faq h2{font-size:33px}}
@media(max-width:600px){.home-preview .container{width:calc(100% - 40px)}.home-preview .home-intro{padding-top:32px}.home-preview .home-headline h1{font-size:clamp(34px,8.8vw,48px);letter-spacing:-1.65px;line-height:1.12}.home-intro-top{gap:24px}.home-search-copy>p{font-size:14px;max-width:350px;margin-bottom:20px}.home-search>label{font-size:11px}.home-search-row{padding:4px}.home-location-wrap>svg{width:17px;height:17px;margin-left:7px}.home-location-wrap input{font-size:16px;padding:12px 8px;letter-spacing:-.3px}.home-search-row .button{font-size:11px;padding:12px 13px;min-height:45px}.home-search-under{justify-content:space-between;gap:9px;margin-top:12px;align-items:flex-start}.home-search-under>span{font-size:9px;max-width:175px;line-height:1.6}.home-search-under>a{font-size:10px;white-space:nowrap}.home-panorama>img{height:218px;object-position:54% center}.home-panorama{border-radius:8px}.home-panorama figcaption{bottom:13px;left:13px;right:13px;gap:9px;padding:11px 12px;font-size:15px;justify-content:center}.home-panorama figcaption img{width:22px}.home-foundation{padding:17px 0 20px;flex-direction:column;gap:5px;font-size:10px}.home-foundation p:last-child{max-width:none;text-align:left;font-size:10px}.home-section{padding-block:44px}.home-section-intro{padding:0;min-height:0}.home-preview main h2{font-size:35px;letter-spacing:-1.3px}.home-preview .home-section-intro h2{font-size:35px}.home-section-intro>p:not(.eyebrow){font-size:13px;margin-top:15px;padding-right:120px;min-height:72px}.home-roof-sketch{width:130px;bottom:0;right:0}.home-roof-sketch span{display:none}.home-situation-panel{padding:7px}.home-situation-tabs{gap:3px;padding:4px}.home-situation-tabs button{font-size:10px;padding:10px 6px;line-height:1.45}.home-situation-content{padding:23px 15px 17px;min-height:410px}.home-preview .home-situation-content h3{font-size:27px;margin-bottom:14px}.home-situation-content>p:not(.home-situation-foot){font-size:12px}.home-situation-content li{font-size:12px;gap:10px}.home-situation-content ol{gap:15px}.home-situation-content .button{font-size:11px;padding-inline:13px}.home-situation-foot{font-size:10px;margin-top:17px}.home-situation-foot a{display:block;margin-left:0}.home-quote-layout{grid-template-columns:1fr;gap:30px}.home-quote-art{padding:28px 27px 20px;max-width:450px;width:100%;margin-inline:auto}.home-quote-paper{padding:23px 19px}.home-quote-paper-top>span{font-size:8px}.home-preview .home-quote-paper h3{font-size:27px}.home-quote-rows button{padding:17px 8px;gap:12px}.home-quote-rows svg{display:block}.home-quote-rows small{font-size:10px}.home-quote-paper-bottom>span{font-size:9px}.home-quote-paper-bottom svg{width:47px}.home-quote-explanation{display:contents}.home-quote-explanation>.eyebrow{grid-row:1;margin-bottom:-16px}.home-quote-explanation>h2{grid-row:2}.home-quote-explanation>.home-quote-lead{grid-row:3;margin:0;font-size:13px}.home-quote-art{grid-row:4}.home-quote-answer{min-height:0;padding-top:20px}.home-quote-answer blockquote{margin-bottom:0;padding:16px;font-size:13px}.home-quote-explanation>.home-text-link{margin-top:-10px;font-size:11px}.home-section-heading{display:block;margin-bottom:27px}.home-section-heading>p{margin-top:19px;max-width:350px;font-size:13px}.home-section-heading>.home-text-link{display:inline-block;margin-top:18px;font-size:11px}.home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-city-grid>a{padding:19px 15px}.home-preview .home-city-grid h3{font-size:25px;margin-top:10px;line-height:1.12}.home-city-grid .home-kicker{font-size:7px;letter-spacing:1.2px}.home-city-count{font-size:9px;line-height:1.5}.home-city-open{font-size:9px;line-height:1.6;margin-top:16px}.home-states{margin-top:20px}.home-states>summary{font-size:12px;padding:20px 0}.home-states-hint{font-size:10px;gap:7px}.home-states nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.home-states nav a{font-size:12px;padding-block:10px;min-height:40px}.home-guide-grid{grid-template-columns:1fr;gap:24px}.home-guide-image{height:200px}.home-guide-feature>div:last-child{padding:24px}.home-preview .home-guide-feature h3{font-size:30px}.home-guide-side{gap:0}.home-guide-side>a{padding:22px 2px}.home-guide-side>a:first-child{padding-top:0}.home-preview .home-guide-side h3{font-size:27px}.home-guide-side p{font-size:13px}.home-faq{display:block;padding-top:5px;padding-bottom:42px}.home-faq>div:first-child{margin-bottom:24px}.home-preview .home-faq h2{font-size:34px}.home-faq>div>p:not(.eyebrow){max-width:none;font-size:12px}.home-faq .faq-rows summary{font-size:12px;padding-block:19px}.home-close{display:block;padding:29px 0 43px}.home-preview .home-close h2{font-size:31px}.home-close p{font-size:12px;max-width:310px}.home-close .button{margin-top:24px;font-size:12px}}
@media(max-width:359px){.home-preview .container{width:calc(100% - 32px)}.home-preview .home-headline h1{font-size:33px;letter-spacing:-1.6px}.home-search-row .button{padding-inline:10px;font-size:10px}.home-location-wrap input{padding-left:6px;font-size:14px}.home-search-under>span{max-width:154px;font-size:8px}.home-search-under>a{font-size:9px}.home-panorama figcaption{font-size:13px}.home-preview main h2,.home-preview .home-section-intro h2{font-size:31px}.home-situation-content{padding-inline:12px}.home-situation-tabs button{font-size:9px}.home-quote-art{padding-inline:19px}.home-preview .home-quote-paper h3{font-size:24px}.home-preview .home-city-grid h3{font-size:23px}.home-city-grid>a{padding-inline:12px}.home-states-hint{font-size:0}.home-states-hint svg{font-size:initial}}
@media(max-width:600px){
 .home-location-wrap input{font-size:16px}
 .home-quote-art{padding:23px 22px 18px}
 .home-quote-paper{padding:20px 17px 16px}
 .home-quote-paper-top{margin-bottom:16px}
 .home-preview .home-quote-paper h3{font-size:23px}
 .home-example-label{margin-bottom:15px}
 .home-quote-rows button{padding-block:13px}
 .home-quote-paper-bottom{margin-top:17px}
 .home-quote-caption{margin-top:17px}
}
@media(prefers-reduced-motion:reduce){.home-preview *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-preview .home-roof-trace{stroke-dasharray:none;opacity:.7}.home-preview .home-panorama:hover>img,.home-preview .home-city-grid>a:hover,.home-preview .home-guide-feature:hover img{transform:none}}
/* Homepage v2: search first, a small neighborhood vignette, then real companies. */
.home-preview .home-intro{padding-top:50px}
.home-intro-top{display:block;text-align:center;margin-bottom:0}
.home-preview .home-headline h1{font-size:clamp(43px,5.4vw,68px);line-height:1.06;letter-spacing:-2.6px}
.home-search-copy{max-width:650px;margin:21px auto 0}
.home-search-copy>p{font-size:15px;line-height:1.7;margin-bottom:25px}
.home-search{max-width:590px;margin:auto;text-align:left}
.home-search>label{font-size:11px;color:#5e735e;font-weight:500}
.home-search-row{box-shadow:0 5px 18px #173f3506}
.home-search-row .button{font-size:13px;padding:13px 23px}
.home-location-wrap input{font-size:15px;padding:15px 12px}
.home-search-under{justify-content:center;margin-top:17px;gap:19px}
.home-search-under>a{font-size:12px;font-weight:550}
.home-search-under>span{color:#a3ad98}
.home-browse-note{font-size:10px;color:#788675;margin-top:12px}
.home-panorama{max-width:780px;margin:12px auto 0;background:transparent;border-radius:0;overflow:visible}
.home-panorama>img{height:auto;width:100%;display:block;mix-blend-mode:multiply;mask-image:linear-gradient(to bottom,transparent,#000 10%,#000 85%,transparent);object-fit:contain;transform:none}
.home-panorama:hover>img{transform:none}
.home-foundation{padding:15px 0;font-size:11px}
.home-directory{padding-top:50px;padding-bottom:55px;scroll-margin-top:32px}
.home-directory-head{display:flex;justify-content:space-between;align-items:end;gap:25px}
.home-preview .home-directory-head h2{font-size:36px;line-height:1.14;max-width:640px;letter-spacing:-1px}
.home-directory-head .eyebrow{font-size:9px;margin-bottom:14px}
.home-directory-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.home-directory-controls>.home-text-link{font-size:11px;white-space:nowrap}
.home-state-picker{position:relative;z-index:4;min-width:158px}
.home-state-picker summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 15px;border:1px solid #bdc9b4;border-radius:6px;background:#fffef9;font-size:12px;list-style:none;cursor:pointer}
.home-state-picker summary::-webkit-details-marker{display:none}
.home-state-picker summary svg{width:16px;height:16px;flex-shrink:0}
.home-state-picker[open] summary svg{transform:rotate(180deg)}
.home-state-picker>div{position:absolute;right:0;top:calc(100% + 7px);width:300px;max-height:315px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:3px;border:1px solid #cbd4c2;border-radius:8px;background:#fffefb;box-shadow:0 12px 30px #173f3514;padding:7px}
.home-state-picker button{border:0;background:transparent;text-align:left;padding:11px 10px;border-radius:4px;font-size:12px;color:var(--ink)}
.home-state-picker button:hover,.home-state-picker button[aria-pressed=true]{background:#e6eddc}
.home-directory-context{font-size:12px;margin:17px 0 23px;line-height:1.7;color:#6d7e69}
.home-results-meta{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#76846d;margin-bottom:12px}
.home-contractor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;transition:opacity .15s}
.home-contractor-grid[aria-busy=true]{opacity:.5}
.home-contractor{background:#fffefb;border:1px solid #d4ddca;border-radius:8px;padding:21px 20px 0;min-width:0;transition:border-color .2s,box-shadow .2s,transform .2s}
.home-contractor:hover{border-color:#9aaa8a;box-shadow:0 6px 15px #173f3507;transform:translateY(-2px)}
.home-contractor-top{display:flex;align-items:center;gap:13px;min-height:62px}
.home-company-logo{width:55px;height:55px;flex:0 0 55px;background:#f0f3e9;border:1px solid #e4e8da;border-radius:6px;position:relative;display:grid;place-items:center;overflow:hidden}
.home-company-logo span{font-family:var(--serif);font-size:18px;color:#829074}
.home-company-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:white;padding:4px}
.home-preview .home-contractor h3{font-family:var(--sans);font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.2px;margin:0 0 5px}
.home-contractor h3 a{text-decoration:none;color:var(--ink)}
.home-contractor h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.home-contractor-top p{font-size:11px;color:#72816a}
.home-company-rating{display:flex;align-items:center;gap:7px;margin:18px 0 16px;font-size:12px;line-height:1.4}
.home-company-rating svg{width:13px;height:13px;fill:#ac8548}
.home-company-rating strong{font-size:13px;font-weight:600}
.home-company-rating span{color:#6b7b64;font-size:11px}
.home-company-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-top:1px solid #e7eadd}
.home-company-bottom>span{font-size:10px;color:#7f8b75}
.home-company-bottom>a{font-size:11px;font-weight:550;text-underline-offset:4px}
.home-directory-bottom{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:22px;flex-wrap:wrap}
.home-directory-bottom .button{font-size:12px;min-height:44px;padding:11px 25px}
.home-directory-bottom .home-text-link{font-size:12px}
.home-results-status{font-size:11px;color:#667b5a;margin-top:12px;line-height:1.6}
.home-results-status:empty{display:none}
.home-directory-disclosure{text-align:center;max-width:700px;margin:18px auto 0;font-size:10px;line-height:1.7;color:#7a8672}
.home-empty{padding:30px;background:#edf1e7;border-radius:8px}
.home-empty p{font-size:13px;margin-top:10px;line-height:1.7}
.home-all-cities{margin-top:0;border-top:0}
.home-all-cities nav{max-height:360px;overflow:auto}
.home-preview [hidden]{display:none!important}
@media(max-width:1050px){.home-directory-controls{gap:12px}.home-contractor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.home-preview .home-intro{padding-top:42px}.home-panorama{max-width:650px}.home-directory-head{align-items:start;flex-direction:column;gap:22px}.home-directory-controls{width:100%;justify-content:space-between}.home-state-picker{min-width:185px}.home-state-picker>div{left:0;right:auto}.home-preview .home-directory-head h2{font-size:34px}.home-directory-context{margin-top:16px}}
@media(max-width:600px){.home-preview .home-intro{padding-top:35px}.home-preview .home-headline h1{font-size:45px;letter-spacing:-1.8px}.home-search-copy{margin-top:18px}.home-search-copy>p{font-size:13px;max-width:340px;margin:0 auto 24px}.home-search-copy>p br{display:none}.home-search-row{display:flex;flex-direction:row}.home-search-row .button{padding:12px 15px;font-size:12px;width:auto}.home-location-wrap input{font-size:16px;padding:12px 8px}.home-location-wrap>svg{width:16px;margin-left:7px}.home-search-under{gap:13px;margin-top:16px}.home-search-under>a{font-size:11px}.home-browse-note{font-size:9px}.home-panorama{margin:15px -8px 0}.home-panorama>img{height:auto;max-height:none}.home-foundation{justify-content:center;padding:13px 0;font-size:10px}.home-foundation p:last-child{display:none}.home-directory{padding-top:34px;padding-bottom:40px}.home-preview .home-directory-head h2{font-size:31px}.home-results-meta{flex-direction:column;gap:5px;font-size:10px}.home-contractor-grid{grid-template-columns:1fr;gap:10px}.home-contractor{padding:17px 17px 0}.home-contractor-top{min-height:50px}.home-company-rating{margin:13px 0}.home-company-bottom{padding:12px 0}.home-directory-disclosure{font-size:10px}.home-directory-bottom{gap:17px}.home-city-options li{padding:12px 9px}.home-city-options li small{font-size:9px}.home-state-picker{min-width:170px}.home-state-picker>div{width:min(300px,calc(100vw - 40px))}}
@media(prefers-reduced-motion:reduce){.home-contractor{transition:none}.home-contractor:hover{transform:none}}
@media(min-width:801px){.home-preview .home-headline h1{font-size:62px;line-height:1.12}.home-headline h1 br{display:none}.home-headline em{white-space:nowrap}.home-preview .home-intro{padding-top:43px}.home-panorama{max-width:690px}}
.home-search-copy>.home-browse-note{font-size:10px;margin:12px 0 0;color:#788675;line-height:1.6}
.home-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* September 22: quieter hero, blended illustration and consistent directory browsing. */
.home-preview .home-panorama{-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 82%,transparent);mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 15%,#000 82%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.home-preview .home-panorama>img{mask-image:none;-webkit-mask-image:none;mix-blend-mode:multiply}
.home-search-row{position:relative;align-items:center}
.home-preview .home-location-wrap input:focus,.home-preview .home-location-wrap input:focus-visible{outline:none;box-shadow:none;border:0;border-radius:0}
.home-preview .home-search-row:focus-within{outline:none;border-color:#779363;box-shadow:0 0 0 2px #dbe5d2}
.home-detect-location{display:grid;place-items:center;width:37px;height:38px;flex:0 0 37px;background:transparent;border:0;border-left:1px solid #e3e7dc;border-radius:0;color:#6e8464;cursor:pointer;margin-right:4px}
.home-detect-location svg{width:19px;height:19px}
.home-detect-location:hover{color:#173f35;background:#eef2e7;border-radius:4px}
.home-detect-location[aria-busy=true] svg{animation:home-location-pulse 1.2s ease infinite}
.home-detect-location:focus-visible{outline:2px solid #6d865b;outline-offset:0}
.home-zip-feedback{font-size:11px;line-height:1.6;margin:8px 2px 0;color:#6f8062}
.home-zip-feedback.is-confirmed{color:#315c42}
.home-zip-feedback.is-confirmed:before{content:'✓';margin-right:7px;font-size:12px}
.home-trust-strip{list-style:none;display:flex;align-items:center;justify-content:center;gap:17px;padding:0;margin:15px 0 0;color:#6b7f61;font-size:10px;line-height:1.5}
.home-trust-strip li{display:flex;align-items:center;gap:4px;white-space:nowrap}
.home-trust-strip li+li{border-left:1px solid #d9dfd0;padding-left:17px}
.home-trust-strip svg{width:15px;height:15px;color:#547249}
.home-city-options{top:91px}
.home-preview .home-state-picker summary{min-height:44px;box-sizing:border-box;line-height:1.5;padding:11px 14px}
.home-preview .home-state-picker summary:focus-visible{outline:2px solid #708a5e;outline-offset:3px}
.home-preview .home-state-picker>div{padding:6px;gap:2px;border-radius:7px;scrollbar-width:thin;scrollbar-color:#aab99b #f5f6ee}
.home-preview .home-state-picker button{font-size:12px;padding:10px;line-height:1.5}
.home-preview .home-states nav{gap:5px 20px;padding-bottom:23px}
.home-preview .home-states nav a{line-height:1.6;padding-block:6px}
.home-preview .home-all-cities nav{scrollbar-width:thin;scrollbar-color:#9fb38e transparent;scrollbar-gutter:stable;overscroll-behavior:contain;padding-right:12px}
.home-all-cities nav::-webkit-scrollbar,.home-state-picker>div::-webkit-scrollbar{width:5px}
.home-all-cities nav::-webkit-scrollbar-track,.home-state-picker>div::-webkit-scrollbar-track{background:transparent}
.home-all-cities nav::-webkit-scrollbar-thumb,.home-state-picker>div::-webkit-scrollbar-thumb{background:#a5b895;border-radius:5px}
.home-preview .footer-states nav{gap:6px 20px}
.home-preview .home-quote-extra{font-size:11px;line-height:1.7;color:#75846d;margin-top:15px;max-width:370px}
@keyframes home-location-pulse{50%{opacity:.35}}
@media(max-width:600px){.home-trust-strip{font-size:9px;gap:9px}.home-trust-strip li+li{padding-left:9px}.home-trust-strip svg{width:13px;height:13px}.home-detect-location{width:30px;flex-basis:30px;height:35px;margin-right:1px}.home-detect-location svg{width:18px;height:18px}.home-search-row .button{padding-inline:12px}.home-preview .home-location-wrap input{padding-left:7px;padding-right:0}.home-preview .home-location-wrap>svg{display:none}.home-zip-feedback{font-size:10px}.home-city-options{top:87px}.home-foundation p>span{margin-inline:7px}}
@media(prefers-reduced-motion:reduce){.home-detect-location[aria-busy=true] svg{animation:none}}

/* Homepage refinement: a larger neighborhood and one location-led directory. */
.home-preview .home-panorama{max-width:950px;margin-top:22px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 87%,transparent);mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 87%,transparent)}
.home-preview .home-zip-feedback{font-size:12px;font-weight:600;line-height:1.65}
.home-directory-head>.home-text-link{white-space:nowrap;font-size:12px}
.home-preview .home-directory-context{font-size:12px;line-height:1.75;margin:16px 0 0;max-width:610px}
.home-preview .home-results-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 15px;color:#61775e;font-size:12px;line-height:1.5}
.home-preview .home-results-meta[hidden],.home-preview .home-contractor-grid[hidden],.home-preview .home-location-prompt[hidden]{display:none!important}
.home-location-prompt{display:flex;align-items:center;gap:22px;margin-top:25px;padding:25px 28px;background:#edf0e6;border:1px solid #d8dfcf;border-radius:7px}
.home-location-prompt>svg{flex-shrink:0;width:40px;height:40px;color:#6c835e}
.home-preview .home-location-prompt h3{font-size:24px;line-height:1.2;margin:0 0 7px;letter-spacing:-.4px}
.home-location-prompt p{font-size:12px;line-height:1.6;margin:0;color:#63785f}
.home-location-prompt>.home-text-link{margin-left:auto;white-space:nowrap}
.home-sort-picker{position:relative;z-index:5;flex-shrink:0;color:#173f35}
.home-sort-picker>summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:40px;font-size:12px;font-weight:550;padding:5px 0 5px 10px;border:0;border-radius:4px;background:transparent}
.home-sort-picker>summary::-webkit-details-marker{display:none}
.home-sort-picker>summary>svg{width:17px;height:17px;color:#6c835e}
.home-sort-picker>summary>.home-sort-chevron{width:14px;height:14px;margin-left:2px}
.home-sort-picker[open] .home-sort-chevron{transform:rotate(180deg)}
.home-sort-picker summary:focus-visible{outline:2px solid #7e986b;outline-offset:3px}
.home-sort-options{position:absolute;right:0;top:calc(100% + 5px);width:250px;max-width:calc(100vw - 40px);padding:6px;border:1px solid #cbd5c2;border-radius:7px;background:#fffef9;box-shadow:0 10px 28px #173f3517}
.home-sort-options button{position:relative;display:block;text-align:left;width:100%;border:0;background:transparent;color:#173f35;border-radius:4px;padding:12px 30px 12px 12px;cursor:pointer}
.home-sort-options button>span{display:block;font-size:12px;font-weight:600;line-height:1.5}
.home-sort-options button>small{display:block;font-size:10px;line-height:1.6;color:#74826b;margin-top:1px}
.home-sort-options button:hover,.home-sort-options button[aria-pressed=true]{background:#eaf0e1}
.home-sort-options button[aria-pressed=true]:after{content:'✓';position:absolute;right:12px;top:14px;font-size:13px;color:#587946}
.home-sort-options button:focus-visible{outline:2px solid #7e986b;outline-offset:-2px}
.home-preview .home-directory-bottom:has(>button[hidden]):has(>a[hidden]){display:none}
@media(max-width:900px){.home-preview .home-panorama{width:calc(100% + 80px);max-width:none;margin-left:-40px;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 87%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 87%,transparent);-webkit-mask-composite:source-over;mask-composite:add}.home-preview .home-panorama>img{width:110%;max-width:none;margin-left:-5%}}
@media(max-width:600px){.home-preview .home-panorama{width:calc(100% + 40px);margin-left:-20px;margin-top:24px}.home-preview .home-panorama>img{width:118%;margin-left:-9%;height:auto;object-fit:contain}.home-preview .home-zip-feedback{font-size:11px;font-weight:600}.home-directory-head{align-items:flex-start;gap:14px}.home-directory-head>.home-text-link{font-size:11px;margin-top:5px}.home-preview .home-results-meta{margin:18px 0 12px;font-size:11px}.home-sort-picker>summary{font-size:11px;gap:5px}.home-sort-picker>summary>svg{width:15px;height:15px}.home-sort-picker>summary>.home-sort-chevron{width:12px}.home-preview .home-directory-context{font-size:11px;line-height:1.7;margin-top:12px}.home-location-prompt{display:grid;grid-template-columns:30px 1fr;padding:22px 18px;gap:12px 15px;margin-top:23px}.home-location-prompt>svg{width:30px;height:34px;align-self:start}.home-preview .home-location-prompt h3{font-size:22px}.home-location-prompt p{font-size:12px}.home-location-prompt>.home-text-link{grid-column:2;margin-left:0;justify-self:start;font-size:12px}.home-preview .home-directory-head:has(>#home-change-location:not([hidden])){display:block}.home-directory-head>#home-change-location:not([hidden]){display:inline-block;margin-top:14px}}
@media(max-width:359px){.home-preview .home-panorama{width:calc(100% + 32px);margin-left:-16px}.home-preview .home-results-meta{font-size:10px}.home-sort-picker>summary{font-size:10px}}
.home-preview .home-results-meta{flex-direction:row;text-align:left}
@media(min-width:601px) and (max-width:900px){.home-preview .home-panorama{width:calc(100% + 64px);margin-left:-32px}}

/* Final small-type and intermediate-screen refinements. */
.home-preview .home-panorama>img{max-height:none}
.home-preview .home-trust-strip{width:fit-content;max-width:100%;padding:8px 12px;background:none;border:0;border-radius:0;color:#536d49;font-weight:550;gap:12px}
.home-preview .home-trust-strip li+li{padding-left:12px;border-color:#ccd7c2}
.home-preview .home-trust-strip svg{stroke-width:1.6}
.home-preview .home-quote-caption{color:#425f40;font-size:12px;line-height:1.7;margin:19px 0 0;padding:12px 8px 0;border-top:1px solid #cbd6bf}
.home-quote-caption strong{font-weight:600}
#home-results-title:focus{outline:none}
@media(max-width:600px){.home-preview .home-trust-strip{padding:7px 9px;gap:9px;font-size:9px}.home-preview .home-trust-strip li+li{padding-left:9px}.home-preview .home-quote-caption{font-size:12px;margin-top:17px}}
@media(max-width:359px){.home-preview .home-trust-strip{padding-inline:7px;gap:6px}.home-preview .home-trust-strip li+li{padding-left:6px}}
.home-preview .home-trust-strip{margin-inline:auto}

.home-preview .home-situation-foot>strong{font-weight:600;color:#536b51}
