.area-list a{background:#fff;border:1px solid #c9dff1;border-radius:999px;padding:13px 20px;font-weight:800;color:var(--ink);text-decoration:none}
.area-list a:hover,.area-list a:focus-visible{background:var(--teal);color:#fff}
section[id]{scroll-margin-top:120px}
.city-hero{background:var(--sand);padding:28px 0 64px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.9rem;margin-bottom:30px}
.city-intro{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.city-intro h1{font-size:clamp(2.5rem,5vw,4.4rem);margin:16px 0 24px}
.city-intro p{font-size:1.1rem;margin:0 0 24px}
.city-intro figure{margin:0;min-width:0}
.city-intro img{width:100%;height:auto;border-radius:22px;border:1px solid var(--line)}
.city-intro figcaption{font-size:.9rem;margin-top:10px;color:#395554}
.city-planning{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.city-planning p{margin:20px 0 0}.city-planning ul{margin:0;padding:24px 24px 24px 44px;background:var(--mint);border-radius:20px}
.city-planning li+li{margin-top:16px}
.city-faq{background:var(--sand)}
.faq-list{max-width:850px;margin-top:30px}
.faq-list details{border-bottom:1px solid #b8ced6;padding:20px 0}
.faq-list summary{cursor:pointer;font-size:1.1rem;font-weight:750;line-height:1.5}
.faq-list p{margin:15px 0 4px;max-width:75ch}
.city-page .card{min-height:0}.city-page .card p{font-size:1rem}
.city-page .eyebrow{font-size:.875rem}.city-page .form-note{font-size:.875rem}
.city-page .quote-copy h2{font-size:clamp(2rem,3.4vw,3rem)}
.city-page .topbar .container{justify-content:space-between}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
@media(max-width:900px){.city-intro,.city-planning{grid-template-columns:1fr;gap:28px}.city-intro figure{max-width:650px}.city-intro h1{max-width:700px}}
@media(max-width:620px){.city-hero{padding:24px 0 48px}.city-intro h1{font-size:2.65rem}.city-page .hero-actions .btn{padding:12px 20px}.breadcrumbs{margin-bottom:24px}}

/* SEO content pages */
.nav-call{min-height:44px;padding:0 18px}
.section-action{display:flex;justify-content:center;margin-top:34px}
.text-link{display:inline-block;margin-top:auto;color:var(--teal);font-weight:800;text-decoration-thickness:2px;text-underline-offset:4px}
.area-note{text-align:center;margin:24px 0 0;color:#45646c}
.content-section{padding:70px 0}
.content-section:nth-of-type(even){background:#f3fafc}
.narrow{max-width:850px}
.narrow h2{font-size:clamp(2rem,3.5vw,3rem);margin-bottom:18px}
.narrow p{font-size:1.08rem;color:#45646c;margin:0}
.related{background:var(--sand)}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.related-card{background:#fff;border:1px solid #c9dff1;border-radius:16px;padding:20px;font-weight:800;text-decoration:none}
.related-card:hover,.related-card:focus-visible{background:var(--teal);color:#fff}
.cta-band{background:var(--teal);color:#fff}
.cta-band .container{display:flex;align-items:center;justify-content:space-between;gap:40px}
.cta-band .eyebrow,.cta-band p{color:#fff}
.cta-band h2{margin:10px 0}
.cta-band p{max-width:650px;margin:0}
.cta-band .hero-actions{flex-shrink:0}
.cta-band .btn{background:#fff;color:var(--teal)}
.cta-band .btn.secondary{background:transparent;color:#fff;border-color:#fff}
.service-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.service-detail{border:1px solid var(--line);border-radius:22px;padding:28px;background:#fff;display:flex;flex-direction:column;min-height:260px;box-shadow:0 8px 26px rgba(16,45,45,.05)}
.service-detail h2{font-size:1.55rem;margin-bottom:15px}
.service-detail p{color:#58706f;margin:0 0 18px}
.split-content{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:start}
.split-content p{font-size:1.06rem;color:#58706f}
.info-panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px}
.info-panel h2{font-size:1.55rem;margin-bottom:14px}
.info-panel ul{padding-left:22px;margin:0}
.info-panel li+li{margin-top:10px}
.area-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.area-card{border:1px solid var(--line);border-radius:20px;padding:26px;background:#fff}
.area-card h2{font-size:1.55rem;margin-bottom:12px}
.area-card p{margin:0;color:#58706f}
.availability-box{margin-top:34px;padding:34px;border-radius:24px;background:var(--mint);text-align:center}
.availability-box h2{font-size:2rem;margin-bottom:12px}
.availability-box p{max-width:700px;margin:0 auto 20px}
.contact-hero{background:linear-gradient(130deg,#e8faf9,#e8f2ff);padding:50px 0 72px}
.contact-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:16px 0 20px;max-width:850px}
.contact-hero p{max-width:750px;font-size:1.1rem;margin:0 0 26px}
.contact-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:24px;align-items:start}
.contact-panel{background:var(--blue);color:#fff;border-radius:26px;padding:36px}
.contact-panel h2{font-size:1.55rem;margin:0 0 12px}
.contact-panel h2:not(:first-child){margin-top:30px}
.contact-panel p,.contact-panel a{color:#fff;overflow-wrap:anywhere}
.contact-big{font-size:1.35rem;font-weight:900}
.quote-form{padding:34px;border:1px solid var(--line);border-radius:26px;background:#f3fafc;box-shadow:var(--shadow)}
.three-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.three-columns p{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;margin:0}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li+li{margin-top:8px}
footer h2{font-family:inherit;font-size:1.05rem;margin:0 0 12px;color:#fff}
.footer-subhead{margin-top:28px}
footer .footer-grid{grid-template-columns:1.1fr 1fr .9fr}
@media(max-width:900px){
  .related-grid,.area-card-grid,.three-columns{grid-template-columns:1fr 1fr}
  .service-detail-grid,.split-content,.contact-layout{grid-template-columns:1fr}
  .cta-band .container{display:block}.cta-band .hero-actions{margin-top:24px}
}
@media(max-width:620px){
  .related-grid,.area-card-grid,.three-columns{grid-template-columns:1fr}
  .service-detail-grid{grid-template-columns:1fr}
  .content-section{padding:54px 0}
  .cta-band .hero-actions .btn{width:100%}
  .quote-form{padding:24px}
}
