/* Town landing pages. Scoped to .loc-site; no changes to existing site pages. */
.loc-site{--loc-deep:#122f29;--loc-ink:#163c33;--loc-lime:#c5d35c;--loc-teal:#00b6a5;--loc-soft:#f3f8f4;--loc-line:#dce9e1;color:var(--loc-ink);}
.loc-site .svc-section-label{display:block;color:#008a78;font-weight:850;letter-spacing:.12em;font-size:11px;margin:0 0 18px}
.loc-site em{font-style:normal;color:#078d7d}
.loc-site h2{font-size:clamp(28px,3.6vw,48px);line-height:1.15;margin:0 0 22px;letter-spacing:-.045em}
.loc-site p{line-height:1.75}
.loc-hero{background:radial-gradient(ellipse at 73% 25%,#2b5a4c 0%,transparent 58%),linear-gradient(120deg,#112d28,#163e36);color:white;position:relative;overflow:hidden}
.loc-hero:after{content:"";position:absolute;bottom:0;inset-inline:0;height:4px;background:linear-gradient(90deg,var(--loc-teal),var(--loc-lime),var(--loc-teal))}
.loc-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;padding-top:40px;padding-bottom:74px}
.loc-hero .svc-crumbs{margin:0 0 62px}.loc-hero .svc-crumbs a{color:#d6eee3}.loc-hero .svc-crumbs li{color:#daeee1}
.loc-overline{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:850;letter-spacing:.15em;color:#c7efda;margin:0 0 21px}.loc-overline span{display:block;width:23px;height:3px;background:var(--loc-lime)}
.loc-hero h1{font-size:clamp(39px,5.35vw,75px);line-height:1.1;color:white;max-width:760px;margin:0 0 24px;letter-spacing:-.052em}.loc-hero h1 span{color:var(--loc-lime)}
.loc-hero__lead{font-size:15px;max-width:650px;color:#dbece3;line-height:1.86!important;margin:0 0 28px}
.loc-hero__actions{display:flex;gap:12px;flex-wrap:wrap}.loc-hero__origin{border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin:32px 0 0;font-size:11px;color:#d0e4d9}
.loc-hero__aside{min-width:0;position:relative;display:flex;flex-direction:column;gap:0;border:1px solid rgba(255,255,255,.13);border-radius:22px;overflow:hidden;box-shadow:0 18px 70px #001e1830;background:#14392f}
.loc-hero__photo{display:block;aspect-ratio:16/11;width:100%;height:auto;object-fit:cover;min-height:250px;max-height:360px}
.loc-hero__design{position:relative;min-height:320px;background:linear-gradient(135deg,#1b5041,#226456);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden}
.loc-hero__rings{position:absolute;width:430px;height:430px;border:1px solid #bde6c628;border-radius:50%;box-shadow:0 0 0 60px #bde6c616,0 0 0 120px #bde6c60e;top:50%;left:50%;transform:translate(-50%,-50%)}
.loc-hero__mark{position:relative;font-size:90px;font-weight:950;letter-spacing:-.12em;line-height:1;color:var(--loc-lime)}.loc-hero__mark span{color:var(--loc-teal)}
.loc-hero__design p{position:relative;font-size:clamp(23px,3vw,37px);color:white;font-weight:800;letter-spacing:-.03em;margin:15px 0 4px;text-align:center;padding:0 16px}
.loc-hero__design small{position:relative;font-weight:750;letter-spacing:.2em;font-size:10px;color:#d5ede0}
.loc-hero__coverage{display:grid;grid-template-columns:1fr 1fr;padding:23px 26px;gap:12px;background:#103328}.loc-hero__coverage>span{grid-column:1/-1;font-size:9px;letter-spacing:.13em;color:#c7e4d7;font-weight:850}.loc-hero__coverage>div{display:flex;align-items:center;gap:11px}.loc-hero__coverage b{font-size:36px;line-height:1;color:var(--loc-lime)}.loc-hero__coverage b small{font-size:13px}.loc-hero__coverage p{margin:0;color:#e1efe8;font-size:11px;line-height:1.4}
.loc-overview{padding:92px 0;background:white}.loc-overview__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(40px,7vw,130px);align-items:center}.loc-overview__copy p{color:#567367;font-size:14px;line-height:1.9}.loc-overview__copy p:first-of-type{margin:0 0 18px}.loc-overview__copy>p:not(.svc-section-label){margin:0 0 18px}
.loc-overview__box{background:#eaf7ee;border:1px solid #d3eada;padding:36px;border-radius:20px}.loc-overview__icon{font-size:42px;color:#098d79}.loc-overview__box h3{font-size:25px;line-height:1.2;margin:17px 0}.loc-overview__box p{font-size:13px;color:#4d6e60}.loc-overview__box a{display:inline-flex;background:#173e34;padding:14px 19px;border-radius:8px;color:white;font-size:12px;font-weight:850;margin:12px 0 18px}.loc-overview__box a:hover{background:#0e5546}.loc-overview__box small{display:block;color:#5b7568;font-size:11px;line-height:1.7}
.loc-coverage{padding:90px 0;background:#f3f8f5}.loc-heading{max-width:760px;margin:0 0 32px}.loc-heading>p{color:#607d70;font-size:14px;line-height:1.75}.loc-coverage__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.loc-coverage__card{background:white;border:1px solid #dce9e1;border-radius:17px;padding:32px 35px;box-shadow:0 12px 34px #294b3310}.loc-coverage__top{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:.08em;color:#537267;font-weight:850}.loc-icon{display:grid;place-items:center;background:#e3f3e4;border-radius:11px;width:42px;height:42px;font-size:26px;color:#009383}.loc-coverage__card h3{font-size:26px;margin:23px 0 13px}.loc-coverage__card h3 strong{color:#008775}.loc-coverage__card p{font-size:13px;color:#5a776b;margin:0 0 19px}.loc-coverage__card a{color:#087e6f;font-size:12px;font-weight:850}.loc-coverage__fine{font-size:11px;color:#6b8073;margin:20px 0 0}
.loc-services{padding:94px 0;background:#fff}.loc-services__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.loc-services__cards .svc-card__media{height:170px}.loc-services__bottom{text-align:center;margin-top:33px}.loc-services__bottom a{color:#067a6b;font-size:13px;font-weight:850;text-decoration:underline;text-underline-offset:4px}
.loc-process{padding:83px 0;background:#133930;color:#fff}.loc-process h2{color:#fff}.loc-process .svc-section-label{color:#c5d35c}.loc-process__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.loc-process__grid article{padding:25px 26px;border:1px solid #ffffff27;border-radius:14px;background:#ffffff07}.loc-process__grid b{color:#c5d35c;font-size:32px}.loc-process__grid h3{font-size:19px;margin:20px 0 10px;color:#fff}.loc-process__grid p{font-size:12px;color:#cfe1d9;margin:0;line-height:1.7}
.loc-faq{padding:90px 0;background:#f3f8f5}.loc-faq__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,6vw,100px)}.loc-faq__grid>div:first-child p{font-size:13px;color:#668073}.loc-faq__grid>div:first-child a{font-size:13px;color:#087e6d;font-weight:850}.loc-faq__items details{border-bottom:1px solid #d8e9df;background:#fff}.loc-faq__items details:first-child{border-radius:13px 13px 0 0}.loc-faq__items details:last-child{border-radius:0 0 13px 13px}.loc-faq__items summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:21px 25px;font-weight:800;font-size:13px}.loc-faq__items summary::-webkit-details-marker{display:none}.loc-faq__items summary span{font-size:26px;color:#0a9886;font-weight:400}.loc-faq__items details[open] summary span{transform:rotate(45deg)}.loc-faq__items details p{font-size:12px;color:#597668;padding:0 25px 24px;margin:0}
.loc-related{padding:64px 0 78px}.loc-related .loc-heading{margin-bottom:27px}.loc-related__links{display:flex;gap:10px;flex-wrap:wrap}.loc-related__links a{display:inline-flex;gap:16px;align-items:center;background:#eff7f1;border:1px solid #dce8db;padding:12px 15px;border-radius:8px;color:#315c4c;font-size:12px;font-weight:800}.loc-related__links a:hover{background:#d9f0dc;border-color:#a6d7b5}.loc-related__links .loc-related__all{background:#173e35;color:white}
.loc-cta{padding:70px 0;background:#11372e;color:white}.loc-cta__grid{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}.loc-cta h2{color:white;max-width:660px}.loc-cta h2 em{color:#c5d35c}.loc-cta p{font-size:13px;color:#cfe4d8}.loc-cta__grid>div:last-child{display:flex;flex-direction:column;gap:12px}
/* Make every town on the parent coverage page genuinely clickable. */
.area-finder__towns li{padding:0!important;overflow:hidden}
.area-finder__towns li>a{display:inline-flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;color:#245b4c;text-decoration:none;font-weight:800;font-size:11.5px;transition:background .18s ease,color .18s ease}
.area-finder__towns li>a:after{content:"↗";font-size:12px;opacity:.64}
.area-finder__towns li>a:hover{background:#e0f4e7;color:#006b5f}
.area-finder__towns li:has(a:hover){border-color:#65b99b;background:#e0f4e7}
@media(max-width:920px){.loc-hero__grid{grid-template-columns:1fr;padding-bottom:48px}.loc-hero .svc-crumbs{margin-bottom:42px}.loc-hero__aside{max-width:720px;width:100%;margin:auto}.loc-hero__design{min-height:235px}.loc-overview__grid,.loc-faq__grid{grid-template-columns:1fr;gap:22px}.loc-coverage__grid{grid-template-columns:1fr}.loc-services__cards{grid-template-columns:repeat(2,minmax(0,1fr))}.loc-cta__grid{grid-template-columns:1fr}}
@media(max-width:600px){.loc-hero h1{font-size:clamp(38px,9vw,52px)}.loc-hero__grid{padding-top:26px}.loc-hero__actions{flex-direction:column}.loc-hero__actions .svc-btn{width:100%}.loc-hero__design{min-height:210px}.loc-hero__mark{font-size:64px}.loc-hero__coverage{padding:20px 14px;gap:8px}.loc-hero__coverage b{font-size:29px}.loc-hero__coverage p{font-size:10px}.loc-overview,.loc-coverage,.loc-services,.loc-faq{padding:64px 0}.loc-overview__box,.loc-coverage__card{padding:25px 22px}.loc-services__cards{grid-template-columns:1fr}.loc-services__cards .svc-card__media{height:195px}.loc-process{padding:65px 0}.loc-process__grid{grid-template-columns:1fr}.loc-process__grid article{padding:23px}.loc-faq__items summary{padding:18px;font-size:12px}.loc-faq__items details p{padding:0 18px 22px}.loc-cta__grid>div:last-child .svc-btn{width:100%}.loc-related{padding:58px 0}.loc-related__links a{width:100%;justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.loc-site *, .area-finder__towns li>a{transition:none!important}}
