.town-hero{background:linear-gradient(112deg,var(--cream) 0 56%,var(--aqua) 56%)}
.town-hero .hero-grid{min-height:610px}
.town-hero h1{font-size:clamp(3rem,5vw,4.85rem)}
.town-hero h1 em{color:var(--coral);font-style:normal}
.town-hero .hero-image>img{border-radius:28px 28px 46% 28px;object-position:center 35%}
.town-chips{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 0;padding:0;list-style:none}
.town-chips li{padding:7px 12px;border:1px solid #c8e0df;border-radius:999px;background:rgba(255,255,255,.75);color:var(--navy);font-size:.82rem;font-weight:700}
.town-intro{background:#fff}
.town-split{display:grid;grid-template-columns:1.05fr .95fr;gap:78px;align-items:center}
.town-copy h2,.town-feature h2,.town-pricing h2{margin:0 0 18px;color:var(--navy);font:700 clamp(2.25rem,4vw,3.6rem)/1.08 var(--serif);letter-spacing:-.03em}
.town-copy>p,.town-feature-copy>p,.town-pricing p{color:var(--muted);font-size:18px}
.town-image{overflow:hidden;border-radius:28px;box-shadow:var(--shadow);background:var(--aqua)}
.town-image img{width:100%;height:520px;object-fit:cover}
.town-image figcaption{padding:13px 18px;color:var(--muted);font-size:.8rem;background:#fff}
.local-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:38px}
.local-card{padding:25px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(19,63,87,.07)}
.local-card span{display:grid;place-items:center;width:38px;height:38px;margin-bottom:14px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:800}
.local-card h3{margin:0 0 8px;color:var(--navy);font:700 1.25rem var(--serif)}
.local-card p{margin:0;color:var(--muted);font-size:16px}
.town-feature{background:var(--cream)}
.town-feature-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:78px;align-items:center}
.town-feature img{width:100%;height:540px;object-fit:cover;border-radius:46% 24px 46% 24px;box-shadow:var(--shadow)}
.town-list{list-style:none;padding:0;margin:25px 0}
.town-list li{position:relative;padding:15px 0 15px 42px;border-top:1px solid #eadfc8;color:var(--muted);font-size:17px}
.town-list li:before{content:'✓';position:absolute;left:0;top:14px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--aqua2);color:var(--navy);font-weight:900}
.town-list b{color:var(--navy)}
.town-services .service-grid{grid-template-columns:repeat(4,1fr)}
.town-services .service-card img{height:190px}
.town-services .service-card div{padding:22px}
.town-proof{background:var(--navy);color:#fff}
.town-proof .section-head h2{color:#fff}
.town-proof .section-head>p{color:#cce0e7}
.town-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.town-proof article{padding:28px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.07)}
.town-proof h3{margin:0 0 8px;color:#fff;font:700 1.3rem var(--serif)}
.town-proof p{margin:0;color:#cce0e7;font-size:17px}
.town-pricing{background:var(--aqua)}
.town-pricing-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}
.price-box{padding:34px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.price-box strong{display:block;margin-bottom:9px;color:var(--navy);font:700 1.65rem var(--serif)}
.price-box p{font-size:16px}
.nearby-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}
.nearby-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0;list-style:none}
.nearby-list a{display:block;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:700}
.nearby-list a:hover{border-color:var(--coral);color:var(--coral)}
.town-note{margin-top:16px;color:var(--muted);font-size:16px}
.town-note a{color:var(--blue);font-weight:700}
@media(max-width:1100px){.town-services .service-grid{grid-template-columns:repeat(2,1fr)}.local-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.town-split,.town-feature-grid,.town-pricing-grid,.nearby-grid{grid-template-columns:1fr;gap:38px}.town-feature-grid .town-feature-copy{order:-1}.town-image img,.town-feature img{height:430px}.town-proof-grid{grid-template-columns:1fr}.town-hero{background:linear-gradient(var(--cream) 0 58%,var(--aqua) 58%)}}
@media(max-width:600px){.local-grid,.town-services .service-grid,.nearby-list{grid-template-columns:1fr}.town-image img,.town-feature img{height:360px}.town-chips{margin-bottom:8px}}
