/* Local identity, service discovery, and a clear path to contact. */
[hidden]{display:none!important}
.header-actions{gap:25px}.header-desktop-link{font-size:13px;color:var(--teal)}
.header-contact{min-height:43px;font-size:10px;padding:12px 18px;letter-spacing:1px}
.hero{padding-top:55px;padding-bottom:65px}.hero-location{display:inline-block;color:var(--teal);padding-bottom:5px;border-bottom:1px solid #114f5530}
.section{padding-block:80px}.reviews-section{margin-top:0;padding-block:72px}.comparison-section{border-top:1px solid var(--line);padding-block:72px}.gallery-section{padding-block:72px}
.local-teaser{background:var(--cream);padding-block:43px}
.local-teaser-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.local-teaser .eyebrow{margin-bottom:15px}.local-teaser h2{font-size:37px;letter-spacing:-1.3px}
.local-teaser-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.55;max-width:500px}
.local-teaser-grid>div>.local-villages{font-size:12px;margin:14px 0 20px;color:var(--teal);line-height:1.9}
.other-services{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.other-services>summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 35px 23px 0;list-style:none;color:var(--teal);position:relative;cursor:pointer;font-size:19px;line-height:1.35}
summary::-webkit-details-marker{display:none}.other-services>summary>span{font-size:12px;color:var(--muted)}
.other-services>summary:after,.customer-faq summary:after{content:'+';position:absolute;right:0;font-size:23px;font-weight:300}
.other-services[open]>summary:after,.customer-faq details[open]>summary:after{content:'−'}
.other-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 55px;padding:20px 0 35px}
.other-service-grid h3{font-size:26px}.other-service-grid p{font-size:15px;line-height:1.6;margin:13px 0 19px}.other-service-grid .text-link{font-size:12px}
.local-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;padding-block:55px 75px;align-items:center}
.local-hero h1{font-size:clamp(60px,5.6vw,84px);letter-spacing:-3.5px;line-height:1.06}
.local-hero .local-intro{font-size:22px;line-height:1.45;color:var(--teal);margin:28px 0 14px;max-width:460px}
.local-hero>div>p:not(.eyebrow):not(.local-intro){font-size:17px;max-width:420px}
.local-hero .hero-buttons{align-items:center;gap:22px;margin-top:29px}.local-hero .hero-buttons>.button{font-size:11px;padding-inline:20px;letter-spacing:1px}
.local-map{min-width:0}.local-map iframe{display:block;width:100%;height:450px;border:1px solid var(--line);background:var(--cream)}
.local-map figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:var(--teal);font-size:12px}.local-map figcaption>a{border-bottom:1px solid #114f5550}
.neighborhood-section{padding-block:70px;border-top:1px solid var(--line)}
.neighborhood-intro{max-width:330px;font-size:17px}.neighborhood-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.featured-neighborhood{background:var(--cream);padding:35px}.featured-neighborhood .eyebrow{margin-bottom:17px}.featured-neighborhood h3{font-size:42px;color:var(--teal)}.featured-neighborhood p:not(.eyebrow){font-size:17px;margin:18px 0 25px;line-height:1.6}
.neighbor-villages{padding-top:10px}.neighbor-villages .eyebrow{margin-bottom:17px}.neighbor-villages ul{padding:0;margin:0;list-style:none}.neighbor-villages a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;color:var(--teal);font-size:19px}.neighbor-villages .small{margin-top:20px}
.coverage-note{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-top:1px solid var(--line);margin-top:40px;padding-top:28px}.coverage-note h3{font-size:25px;color:var(--teal);margin-bottom:12px}.coverage-note p{font-size:14px;line-height:1.6}.coverage-distance{display:block;color:var(--gold);font-size:13px;margin-bottom:12px}
.getting-started{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:85px}
.getting-started .eyebrow{margin-bottom:20px}.start-intro{font-size:17px;max-width:420px;margin-top:23px}
.start-steps{margin:30px 0 0;padding:0;list-style:none}.start-steps li{display:flex;gap:22px;align-items:start;border-top:1px solid var(--line);padding:20px 0}
.start-steps li>span{font-size:13px;color:var(--gold);padding-top:5px}.start-steps h3{font-size:22px}.start-steps p{font-size:14px;line-height:1.5;margin-top:10px;max-width:350px}
.customer-faq{padding-top:4px}.customer-faq details{border-top:1px solid var(--line)}.customer-faq details:last-child{border-bottom:1px solid var(--line)}
.customer-faq summary{position:relative;cursor:pointer;color:var(--teal);font-size:19px;line-height:1.4;padding:22px 30px 22px 0;list-style:none}
.customer-faq p{font-size:15px;line-height:1.65;padding-bottom:23px;overflow-wrap:anywhere}.customer-faq p>a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.field select{width:100%;height:46px;background:transparent;border:0;border-bottom:1px solid #999f99;color:var(--ink);border-radius:0;font:300 16px var(--font);padding-inline:0}
.routine-fieldset{margin-bottom:26px}.quote-form:has(.routine-fieldset[hidden])>button[type=submit]{margin-top:28px}
.contact-direct-note{font-size:13px;color:var(--teal);max-width:350px}
.email-draft{margin-top:30px;padding:26px;background:white;border:1px solid var(--line)}
.email-draft .eyebrow{margin-bottom:13px}.email-draft h3{font-size:29px;color:var(--teal)}.email-draft>p:not(.eyebrow){font-size:14px;line-height:1.6;margin-top:15px}
.email-draft dl{font-size:12px;margin:20px 0}.email-draft dl>div{display:grid;grid-template-columns:55px 1fr;gap:10px;margin-top:8px}.email-draft dt{color:var(--muted)}.email-draft dd{margin:0;color:var(--teal);overflow-wrap:anywhere}
.email-draft>label{display:block;color:var(--teal);font-size:12px;margin-bottom:9px}.draft-message{width:100%;min-height:230px;resize:vertical;border:1px solid var(--line);background:#fafaf8;color:var(--ink);font:300 13px/1.55 var(--font);padding:13px;border-radius:0}
.draft-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.draft-actions>.button{width:auto;flex:1;white-space:nowrap;padding-inline:13px;font-size:10px;letter-spacing:.7px;justify-content:center;gap:8px}
.copy-status{font-size:12px!important}.mobile-contact{display:none}
@media(max-width:1050px){.header-actions{gap:18px}.local-teaser-grid,.local-hero,.neighborhood-grid,.coverage-note,.getting-started{gap:45px}.local-hero h1{font-size:64px}.local-map iframe{height:420px}}
@media(max-width:900px){.header-desktop-link{display:none}.other-services>summary>span{display:none}}
@media(max-width:760px){
  body{padding-bottom:80px}.header-contact{display:none}.hero{padding-top:32px;padding-bottom:55px}.section{padding-block:60px}.gallery-section,.reviews-section,.comparison-section{padding-block:58px}
  .local-teaser{padding-block:35px}.local-teaser-grid{grid-template-columns:1fr;gap:20px}.local-teaser h2{font-size:33px}.local-teaser-grid>div>p:not(.eyebrow){font-size:16px}.local-teaser-grid>div>.local-villages{font-size:11px;margin-block:13px 18px}
  .other-services>summary{font-size:17px;padding-block:20px}.other-service-grid{grid-template-columns:1fr;gap:28px}.other-service-grid h3{font-size:24px}
  .local-hero{grid-template-columns:1fr;gap:35px;padding-block:35px 55px}.local-hero h1{font-size:clamp(45px,12.2vw,72px);letter-spacing:-2.5px}.local-hero .local-intro{font-size:20px;margin-top:22px}.local-hero .hero-buttons{gap:18px}.local-map iframe{height:340px}.local-map figcaption{font-size:11px;gap:12px}
  .neighborhood-section{padding-block:55px}.neighborhood-intro{margin-top:22px}.neighborhood-grid,.coverage-note{grid-template-columns:1fr;gap:30px}.featured-neighborhood{padding:26px}.featured-neighborhood h3{font-size:37px}.featured-neighborhood p:not(.eyebrow){font-size:16px}.coverage-note{gap:25px;margin-top:30px}
  .getting-started{grid-template-columns:1fr;gap:30px;padding-block:60px}.start-steps h3{font-size:21px}.customer-faq summary{font-size:18px;padding-block:19px}
  .email-draft{padding:20px}.draft-actions{flex-direction:column}.draft-actions>.button{flex:auto;width:100%}.email-draft dl>div{grid-template-columns:44px 1fr}
  .mobile-contact{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;background:#fffffffa;border-top:1px solid var(--line);padding:10px 22px calc(10px + env(safe-area-inset-bottom));gap:12px}
  .mobile-contact a{display:flex;justify-content:space-between;align-items:center;flex:1;min-height:44px;padding:10px 15px;border:1px solid var(--teal);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--teal);font-weight:400}
  .mobile-contact a:last-child{background:var(--teal);color:white}.mobile-contact a>span{margin-left:8px}
  body:has(.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus) .mobile-contact{display:none}
}
