@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-8ac0455e797f/geist-98bbbccb.woff2) format('woff2')}
@font-face{font-family:'Geist Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/geist-mono-00e989178794/geist-mono-013b2f2f.woff2) format('woff2')}
:root{--font-geist-sans:Geist;--font-geist-mono:'Geist Mono';--coral-readable:#b83b2e}
body{overflow-wrap:break-word}
.skip-link{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-180%);padding:12px 18px;background:#063d43;color:white;border-radius:8px;font-weight:750}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:none}
.button-coral,.mobile-quote-bar{background:var(--coral-readable)}
.button-coral:hover,.mobile-quote-bar:hover{background:#9e3025}
.hero h1 em{color:var(--coral-readable)}
.service-details{color:var(--coral-readable)!important}
.service-card>span,.area-card>span,.city-quick-facts small,.city-intro-grid aside>span,.city-needs-grid article>span,.neighborhood-list small{color:var(--coral-readable)}
.area-card:hover>span{color:#ffb4a9}
.climate-card{background:radial-gradient(circle at 70% 12%,#ffffff35,transparent 25%),#a93228}
.comparison:focus-within{outline:3px solid var(--ink);outline-offset:5px}
.image-note{font-size:.76rem;color:#43565a;line-height:1.5;margin:12px 8px 0}
.service-card h3 a,.city-service-list h3 a{font-size:inherit;font-weight:inherit;color:inherit;padding:0;margin:0}
.service-card h3 a:hover,.city-service-list h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.mobile-menu{display:none}
.nav-row{position:relative}
.breadcrumbs{padding-top:22px;padding-bottom:18px;color:#43565a;font-size:.86rem;line-height:1.5}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.breadcrumbs li{display:flex;align-items:center;gap:8px}
.breadcrumbs li+li:before{content:'/';color:#66767a}
.breadcrumbs a,.text-link,.policy-copy a,.directory-note a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.directory-hero{padding:64px 0 54px;background:linear-gradient(112deg,#fbfaf6,#eaf5f5)}
.narrow{max-width:980px}
.directory-hero h1{font-size:clamp(2.65rem,5.5vw,5.5rem);letter-spacing:-.06em;line-height:1.03;color:var(--ink-deep);max-width:1040px}
.directory-lede{margin-top:24px;max-width:800px;color:#43565a;line-height:1.75;font-size:1.1rem}
.directory-section{padding:74px 0;background:#fff}
.directory-note{margin-top:48px;max-width:940px;padding:30px;border:1px solid var(--line);border-radius:20px;background:var(--cream)}
.directory-note h2,.prose-grid h2,.policy-copy h2{font-size:clamp(1.55rem,2.8vw,2.2rem);line-height:1.15;letter-spacing:-.035em;color:var(--ink-deep);margin:0 0 18px}
.directory-note p,.prose-grid p,.policy-copy p{color:#43565a;line-height:1.8;margin:16px 0 0}
.prose-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px}
.prose-grid aside{padding:30px;background:var(--cream);border-radius:24px;align-self:start}
.service-directory .service-card{gap:0}
.service-directory .service-card h2{font-size:1.6rem;color:var(--ink-deep);letter-spacing:-.03em;margin:32px 0 16px;line-height:1.15}
.service-directory .service-card h2 a{margin:0;padding:0;font-weight:inherit}
.policy-copy h2{margin-top:42px}
.policy-copy h2:first-of-type{margin-top:28px}
.policy-copy a{overflow-wrap:anywhere}
.footer-brand>a{overflow-wrap:anywhere}
.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
.footer-grid h2 a{color:inherit}
@media(max-width:940px){
 .nav-row{gap:16px}
 .mobile-menu{display:block;order:1}
 .nav-cta{order:2}
 .mobile-menu summary{cursor:pointer;list-style:none;border:1px solid var(--ink);color:var(--ink);padding:11px 14px;border-radius:9px;font-weight:750;min-height:44px;display:flex;align-items:center;gap:9px}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu summary:after{content:'+';font-size:1.2rem;line-height:1}
 .mobile-menu[open] summary:after{content:'−'}
 .mobile-menu nav{position:absolute;left:0;right:0;top:calc(100% - 1px);padding:14px;background:#fff;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:0 18px 28px #032f3422;display:grid;z-index:25}
 .mobile-menu:not([open]) nav{display:none}
 .mobile-menu nav a{display:block;padding:14px 12px;font-weight:700;color:var(--ink);border-radius:7px}
 .mobile-menu nav a:hover,.mobile-menu nav a:focus-visible{background:#eaf5f5}
 .mobile-menu summary:focus-visible,.faq-list summary:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
 .prose-grid{grid-template-columns:1fr;gap:32px}
}
@media(min-width:941px){.mobile-menu[open]{display:none}}
@media(max-width:720px){
 .directory-hero{padding:42px 0}
 .directory-section{padding:48px 0}
 .directory-hero h1{font-size:clamp(2.5rem,11vw,4.1rem)}
 .directory-lede{font-size:1.02rem}
 .breadcrumbs{padding-top:18px;padding-bottom:16px;font-size:.8rem}
 .directory-note,.prose-grid aside{padding:24px}
 .nav-row{gap:12px}
 .mobile-menu summary{padding:10px 12px;font-size:.84rem}
 .footer-bottom{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
 .mobile-quote-bar{bottom:calc(14px + env(safe-area-inset-bottom))}
}
@media(max-width:520px){.brand-name{display:none}.brand{margin-right:auto}.nav-cta{padding-inline:14px}.mobile-menu summary{min-height:44px}}
