/* Locality layouts: all selectors are confined to authored GEO blocks. */
.geo-content{--geo-dark:#123d2b;--geo-green:#237a43;--geo-pale:#f0f7ee;--geo-line:#cfddcd;color:var(--geo-dark);overflow-wrap:break-word}
.geo-content :is(.geo-hero,.geo-direct-answers,.geo-intro,.geo-feature,.geo-coverage,.geo-faq,.geo-related,.geo-final-cta){width:min(1240px,calc(100% - 64px));margin-inline:auto;box-sizing:border-box}
.geo-content .geo-breadcrumb{width:min(1240px,calc(100% - 64px));margin:22px auto;font-size:14px}
.geo-content .geo-breadcrumb p{margin:0}
.geo-content :is(h1,h2,h3){overflow-wrap:normal;text-wrap:balance}
.geo-content h2{font-size:clamp(30px,3vw,44px);line-height:1.12;margin:0 0 22px}
.geo-content p{font-size:18px;line-height:1.65;margin:0 0 20px}
.geo-content .geo-hero{margin-top:32px;margin-bottom:58px;gap:28px}
.geo-content .geo-hero h1{font-size:clamp(40px,4.3vw,62px);line-height:1.03;margin:0 0 22px;letter-spacing:-.035em}
.geo-content .geo-hero-copy{min-width:0;align-self:center}
.geo-content .geo-hero-copy>p:first-of-type{font-size:18px;line-height:1.6;max-width:60ch}
.geo-content .geo-hero-copy>p:nth-of-type(n+2){font-size:15px;line-height:1.45;margin:10px 0;padding-left:14px;border-left:3px solid #a8d532}
.geo-content .geo-hero-copy>.wp-block-buttons{margin-top:24px}
.geo-content .geo-hero-calculator{min-width:0;align-self:start}
.geo-content .geo-hero-calculator .toms-estimator{width:100%;max-width:none;margin:0;box-sizing:border-box;color:var(--geo-dark)}
.geo-content .geo-hero-calculator .toms-estimator :is(h2,h3){font-size:clamp(24px,2.25vw,30px);line-height:1.15;letter-spacing:-.02em}
.geo-content .geo-hero-calculator .toms-estimator p{font-size:14px;line-height:1.5}
.geo-content .geo-hero-calculator :is(input,select,button){min-height:48px}
.geo-content .geo-hero-calculator .toms-estimator__result{min-height:108px}
.geo-content .geo-hero-image{margin:0;min-width:0;overflow:hidden}
.geo-content .geo-hero-image img{display:block;width:100%;height:100%;object-fit:cover}
/* A: a calm text-led column, a shallow photograph, and a full-height calculator. */
.geo-content .geo-hero-a{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:auto 210px;column-gap:5%;row-gap:24px}
.geo-content .geo-hero-a>.geo-hero-row{display:contents}
.geo-content .geo-hero-a .geo-hero-copy{grid-column:1;grid-row:1}
.geo-content .geo-hero-a .geo-hero-calculator{grid-column:2;grid-row:1/3}
.geo-content .geo-hero-a>.geo-hero-image{grid-column:1;grid-row:2;height:210px}
/* B: a photographic full-width band, with an opaque calculator alongside copy. */
.geo-content .geo-hero-b{width:100%;position:relative;isolation:isolate;padding:44px 0;margin-top:24px;background:var(--geo-dark);color:white}
.geo-content .geo-hero-b>.geo-hero-image{position:absolute;inset:0;z-index:-2;height:100%;width:100%}
.geo-content .geo-hero-b:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,39,25,.95),rgba(13,46,31,.83) 48%,rgba(13,46,31,.53))}
.geo-content .geo-hero-b>.geo-hero-row{width:min(1240px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1.05fr 1fr;gap:5%;align-items:center}
.geo-content .geo-hero-b .geo-hero-copy>p{color:#f1f7ed}
/* C: three unequal columns keep the photograph, copy and compact estimate visible. */
.geo-content .geo-hero-c{display:grid;grid-template-columns:.66fr .95fr 1.15fr;gap:28px;align-items:stretch}
.geo-content .geo-hero-c>.geo-hero-asymmetric{display:contents}
.geo-content .geo-hero-c>.geo-hero-image{min-height:400px;max-height:680px}
.geo-content .geo-hero-c h1{font-size:clamp(38px,3.6vw,52px)}
.geo-content .geo-hero-c .geo-hero-copy>p:first-of-type{font-size:17px}
.geo-content .geo-hero-c .geo-hero-copy>p:nth-of-type(n+2){font-size:14px}
.geo-content .geo-direct-answers{display:grid;grid-template-columns:1fr 1fr;gap:7%;padding:24px 0 48px;border-bottom:1px solid var(--geo-line)}
.geo-content .geo-direct-answer h2{font-family:'Segoe UI',Arial,sans-serif;text-transform:none;font-size:27px;line-height:1.25;font-weight:650;letter-spacing:-.025em}
.geo-content .geo-direct-answer p{font-size:17px;color:#42594b}
.geo-content .geo-intro{max-width:1000px;margin-block:45px}
.geo-content .geo-intro p{font-size:20px}
.geo-content .geo-feature{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%;margin-block:62px}
.geo-content .geo-feature-copy{min-width:0}
.geo-content .geo-feature p{color:#42594b}
.geo-content .geo-feature>.wp-block-image{margin:0;overflow:hidden;aspect-ratio:4/3}
.geo-content .geo-feature>.wp-block-image img{display:block;width:100%;height:100%;object-fit:cover}
.geo-content>.wp-block-table{width:min(1240px,calc(100% - 64px));margin:54px auto;overflow-x:auto;background:var(--geo-pale);box-sizing:border-box;scrollbar-width:thin;border:1px solid var(--geo-line)}
.geo-content>.wp-block-table table{min-width:680px;width:100%;margin:0;border-collapse:collapse;table-layout:fixed}
.geo-content>.wp-block-table :is(th,td){padding:17px 20px;text-align:left;vertical-align:top;font-size:16px;line-height:1.6;border:1px solid var(--geo-line);overflow-wrap:anywhere}
.geo-content>.wp-block-table th{background:var(--geo-dark);color:#fff;font-weight:650}
.geo-content>.wp-block-table th:first-child{width:22%}
.geo-content>.wp-block-table figcaption{font-size:17px;font-weight:650;line-height:1.5;color:var(--geo-dark);padding:16px 20px;margin:0;text-align:left}
.geo-content :is(.geo-coverage,.geo-faq,.geo-related){margin-block:58px}
.geo-content .geo-coverage{padding:32px 36px;background:var(--geo-green);color:#fff}
.geo-content .geo-coverage p{max-width:90ch;margin-bottom:0}
.geo-content .geo-faq .wp-block-details{border-top:1px solid var(--geo-line);padding:22px 0}
.geo-content .geo-faq .wp-block-details:last-child{border-bottom:1px solid var(--geo-line)}
.geo-content .geo-faq summary{font-size:20px;line-height:1.45;padding-right:35px}
.geo-content .geo-faq .wp-block-details p{margin:20px 0 0;max-width:90ch}
.geo-content .geo-related p{max-width:85ch}
.geo-content .geo-related a{color:var(--geo-green);text-decoration:underline;text-underline-offset:3px}
.geo-content .geo-final-cta{width:100%;margin-bottom:0;padding:45px max(32px,calc((100% - 1240px)/2));background:var(--geo-dark);color:#fff}
.geo-content .geo-final-cta h2{font-size:clamp(35px,4vw,52px)}
.geo-content :is(a,summary,input,select,button):focus-visible{outline:3px solid #83ad17;outline-offset:4px}
@media(max-width:1100px) and (min-width:761px){
 .geo-content .geo-hero-c{grid-template-columns:.95fr 1fr;gap:24px}
 .geo-content .geo-hero-c .geo-hero-copy{grid-column:1;grid-row:1}
 .geo-content .geo-hero-c .geo-hero-calculator{grid-column:2;grid-row:1/3}
 .geo-content .geo-hero-c>.geo-hero-image{grid-column:1;grid-row:2;min-height:0;height:210px}
 .geo-content .geo-hero h1{font-size:44px}
}
@media(max-width:760px){
 .geo-content :is(.geo-hero,.geo-direct-answers,.geo-intro,.geo-feature,.geo-coverage,.geo-faq,.geo-related),.geo-content>.wp-block-table,.geo-content .geo-breadcrumb{width:calc(100% - 36px)}
 .geo-content .geo-breadcrumb{margin-block:18px;font-size:13px}
 .geo-content .geo-hero{display:flex;flex-direction:column;gap:24px;margin-top:22px;margin-bottom:38px}
 .geo-content :is(.geo-hero-row,.geo-hero-asymmetric){display:contents}
 .geo-content .geo-hero-copy{order:1;width:100%}
 .geo-content .geo-hero-calculator{order:2;width:100%}
 .geo-content .geo-hero-image{order:3;width:100%;height:210px;min-height:0;max-height:none}
 .geo-content .geo-hero-a>.geo-hero-image,.geo-content .geo-hero-c>.geo-hero-image{height:210px;min-height:0}
 .geo-content .geo-hero h1{font-size:clamp(37px,9.6vw,52px);margin-bottom:20px}
 .geo-content .geo-hero-copy>p:first-of-type{font-size:17px}
 .geo-content .geo-hero-copy>p:nth-of-type(n+2){font-size:14px;margin-block:9px}
 .geo-content .geo-hero-copy>.wp-block-buttons{margin-top:21px}
 .geo-content .geo-hero-calculator .toms-estimator{padding:22px 18px}
 .geo-content .geo-hero-calculator .toms-estimator :is(h2,h3){font-size:27px}
 .geo-content .geo-hero-b{width:100%;padding:30px 18px}
 .geo-content .geo-hero-b>.geo-hero-row{display:contents}
 .geo-content .geo-hero-b>.geo-hero-image{position:absolute;inset:0;height:100%;min-height:0;width:100%;order:0}
 .geo-content .geo-hero-b:after{background:rgba(8,39,25,.87)}
 .geo-content .geo-direct-answers{grid-template-columns:1fr;gap:25px;padding:12px 0 30px}
 .geo-content .geo-direct-answer h2{font-size:25px}
 .geo-content .geo-direct-answer p{font-size:17px}
 .geo-content .geo-intro{margin-block:32px}
 .geo-content .geo-intro p{font-size:18px}
 .geo-content .geo-feature{display:flex;flex-direction:column;gap:24px;margin-block:42px;align-items:stretch}
 .geo-content .geo-feature-copy{order:1}
 .geo-content .geo-feature>.wp-block-image{order:2;width:100%;aspect-ratio:16/10}
 .geo-content h2{font-size:33px;line-height:1.15}
 .geo-content p{font-size:17px}
 .geo-content>.wp-block-table{margin-block:38px}
 .geo-content>.wp-block-table :is(th,td){padding:14px 16px;font-size:15px}
 .geo-content>.wp-block-table figcaption{font-size:16px;padding:14px 16px}
 .geo-content :is(.geo-coverage,.geo-faq,.geo-related){margin-block:40px}
 .geo-content .geo-coverage{padding:27px 22px}
 .geo-content .geo-faq summary{font-size:18px}
 .geo-content .geo-final-cta{padding:35px 18px}
 .geo-content .geo-final-cta h2{font-size:38px}
}
@media(prefers-reduced-motion:reduce){.geo-content *{scroll-behavior:auto!important}}
.geo-content .geo-key-points ul{columns:2;column-gap:42px;padding-left:24px;margin:28px 0}.geo-content .geo-key-points li{break-inside:avoid;padding:0 0 16px 5px;font-size:18px;line-height:1.6}.geo-content .geo-key-points li::marker{color:#237a43}@media(max-width:700px){.geo-content .geo-key-points ul{columns:1}.geo-content .geo-key-points li{font-size:17px}}
.geo-content .geo-local-resources{width:min(1240px,calc(100% - 64px));margin:45px auto;padding:25px;background:#F0F7EE;box-sizing:border-box}.geo-content .geo-local-resources h2{font-family:"Segoe UI",Arial,sans-serif;font-size:24px;text-transform:none;letter-spacing:0}.geo-content .geo-local-resources p{font-size:17px;margin:10px 0}.geo-content .geo-local-resources a{color:#237A43;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.geo-content .geo-local-resources{width:calc(100% - 36px);padding:22px}}
.geo-content .geo-nearby{width:min(1240px,calc(100% - 64px));margin:45px auto;padding-top:25px;border-top:1px solid #cfddcd}.geo-content .geo-nearby p{display:inline-block;margin:0 24px 12px 0}.geo-content .geo-nearby a{color:#237A43;text-decoration:underline;text-underline-offset:3px}@media(max-width:760px){.geo-content .geo-nearby{width:calc(100% - 36px)}}
