/* Service area pages: local intro, services, neighborhoods, questions and nearby areas. */
.area-breadcrumb { margin-bottom:44px; }
.area-breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; padding:0; list-style:none; color:var(--muted); font-size:12.5px; }
.area-breadcrumb li+li::before { content:"/"; margin-right:8px; color:#b5beba; }
.area-breadcrumb a:hover { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.area-breadcrumb [aria-current] { color:var(--ink); }
.area-hero-photo { aspect-ratio:4/3; }

.area-local { padding:112px 0 96px; }
.area-local-layout { display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:clamp(40px,6vw,96px); align-items:start; }
.area-local-copy h2 { max-width:560px; margin:0 0 26px; }
.area-local-copy p { max-width:580px; margin:0; font-size:16px; line-height:1.75; }
.area-local-copy p+p { margin-top:18px; }
.area-concerns { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.area-concerns li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:18px; padding:24px 24px 26px; border:1px solid #e3e8e5; border-radius:22px; background:#fff; }
.area-concern-icon { display:grid; place-items:center; width:44px; height:44px; border-radius:13px; background:#173342; color:#fff; }
.area-concern-icon .icon { width:21px; height:21px; }
.area-concerns h3 { margin:2px 0 8px; font-size:18px; font-weight:500; letter-spacing:-.025em; }
.area-concerns p { margin:0; font-size:14px; line-height:1.65; }

.area-services { padding:0 0 96px; }
.area-service-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin:0; padding:0; list-style:none; }
.area-service-list a { display:grid; align-content:start; gap:18px; height:100%; padding:20px 18px 22px; border:1px solid #e3e8e5; border-radius:18px; background:#fff; transition:border-color .2s,box-shadow .3s var(--ease),translate .3s var(--ease); }
.area-service-list a:hover { border-color:#c9d3ce; box-shadow:0 18px 34px -26px #1a2e2866; translate:0 -2px; }
.area-service-list a:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
.area-service-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:11px; background:#e8eeea; color:#173342; }
.area-service-icon .icon { width:19px; height:19px; }
.area-service-list strong { display:block; font-size:14.5px; font-weight:540; line-height:1.3; letter-spacing:-.015em; }
.area-service-list small { display:block; margin-top:4px; color:var(--muted); font-size:12.5px; line-height:1.45; }

.area-hoods { padding:0 0 24px; }
.area-hoods-card { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,7fr); gap:40px; align-items:center; padding:40px; border-radius:26px; background:#eef2f0; }
.area-hoods-copy h2 { margin:0 0 12px; font-size:clamp(24px,2.4vw,32px); }
.area-hoods-copy p { margin:0; font-size:14px; line-height:1.6; }
.area-hoods-copy a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.area-hood-list { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.area-hood-list li { display:inline-flex; align-items:center; gap:7px; padding:9px 15px 9px 11px; border-radius:999px; background:#fff; font-size:13.5px; }
.area-hood-list .icon { width:15px; height:15px; color:#173342; }

.area-galleries { padding:96px 0 0; }
.claim-stories+.area-galleries { padding-top:0; }
.area-galleries .work-projects { margin-top:0; }
.area-faq { padding-top:112px; }
.area-faq .faq-intro p a { color:var(--ink); text-decoration:underline; text-underline-offset:3px; }
.area-nearby { padding-top:0; }
.area-tiles-nearby { grid-template-columns:repeat(4,minmax(0,1fr)); }

.area-cta { padding:0 0 112px; }
.area-cta-card { display:flex; justify-content:space-between; align-items:center; gap:32px; padding:48px 52px; border-radius:28px; background:radial-gradient(90% 120% at 100% 0,#284b5b 0,#173342 55%,#122935 100%); color:#fff; }
.area-cta-card h2 { max-width:560px; margin:0 0 10px; color:#fff; font-size:clamp(26px,2.8vw,38px); }
.area-cta-card p { max-width:520px; margin:0; color:#ffffffb3; font-size:15px; line-height:1.6; }
.area-cta-actions { display:flex; flex-wrap:wrap; flex:none; align-items:center; gap:14px 24px; }
.area-cta-actions .button { background:#fff; border-color:#fff; color:var(--ink); }
.area-cta-actions .button:hover { background:#e8eeea; border-color:#e8eeea; }
.area-cta-actions>a:last-child { display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:14px; font-weight:500; }
.area-cta-actions>a:last-child .icon { width:18px; height:18px; color:#ffffff99; }
.area-cta-actions>a:last-child:hover { text-decoration:underline; text-underline-offset:4px; }

.town-local { margin-top:40px; border-top:1px solid var(--line); }
.town-local .area-local { padding-top:96px; }

@media (max-width:1100px) {
 .area-service-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .area-tiles-nearby { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
 .area-breadcrumb { margin-bottom:32px; }
 .area-local { padding:80px 0 72px; }
 .area-local-layout,.area-hoods-card { grid-template-columns:1fr; }
 .area-local-layout { gap:36px; }
 .area-hoods-card { gap:24px; padding:30px 26px; }
 .area-cta-card { display:grid; padding:36px 30px; }
 .area-galleries,.area-faq { padding-top:80px; }
 .area-services,.area-cta { padding-bottom:80px; }
}
@media (max-width:560px) {
 .area-service-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 .area-service-list a { gap:14px; padding:16px 14px 18px; border-radius:16px; }
 .area-concerns li { grid-template-columns:1fr; gap:16px; padding:22px 20px; }
 .area-hood-list li { padding:8px 13px 8px 10px; font-size:13px; }
 .area-hoods-card { padding:26px 20px; border-radius:22px; }
 .area-cta-card { padding:32px 22px; border-radius:24px; }
}
@media (prefers-reduced-motion:reduce) { .area-service-list a { transition:none; } }
