/* Approved design 05: local navigation after contact, scoped to canonical local pages. */
body.local-seo-page .local-area-overview { --area-ink:#08212c; --area-cyan:#00b6ec; --area-line:#cbdfe8; padding:80px 0; background:#fff; color:var(--area-ink); }
.local-area-overview > .container { width:calc(100% - 64px); max-width:1400px; margin:0 auto; padding:0; }
.local-area-card { overflow:hidden; border:1px solid var(--area-line); border-radius:5px; background:#fff; }
.local-area-toolbar { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:88px; padding:18px 28px; border-bottom:1px solid var(--area-line); }
.local-area-toolbar-title { display:flex; align-items:center; gap:18px; min-width:0; }
.local-area-pin { flex:0 0 32px; color:var(--area-cyan); }
body.local-seo-page .local-area-toolbar h2 { margin:0; color:var(--area-ink); font-size:27px !important; font-weight:700; line-height:1.25; letter-spacing:-.7px; text-align:left; overflow-wrap:anywhere; }
.local-area-all { display:inline-flex; flex:none; align-items:center; justify-content:center; min-height:50px; padding:12px 20px; color:#007b9f; background:#edf8fc; border:1px solid transparent; border-radius:3px; font-size:17px; font-weight:600; line-height:1.4; text-decoration:none; text-align:center; }
.local-area-all::before,.local-area-all::after { content:none !important; }
.local-area-all:hover { background:#dff3fb; border-color:#9ed7e8; }
.local-area-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
.local-area-illustration { display:flex; flex-direction:column; justify-content:space-between; min-width:0; min-height:510px; overflow:hidden; background:#022936; }
.local-area-place { padding:34px 34px 12px; }
body.local-seo-page .local-area-place > p { margin:0 0 10px; color:#e2eff4; font-size:20px; line-height:1.5; text-align:left; }
body.local-seo-page .local-area-place h3 { margin:0; color:#fff; font-size:clamp(32px,3.6vw,58px) !important; font-weight:700; line-height:1.1 !important; letter-spacing:-1.2px; text-align:left; overflow-wrap:anywhere; hyphens:auto; }
body.local-seo-page .local-area-place .local-area-parent-name { margin-top:12px; font-size:17px; }
.local-area-illustration > img { display:block; width:100%; height:auto; max-height:440px; object-fit:contain; object-position:center bottom; margin-top:14px; }
.local-area-directory { min-width:0; padding:34px 34px 28px; }
body.local-seo-page .local-area-directory > h3 { margin:0 0 24px; color:var(--area-ink); font-size:25px !important; font-weight:700; line-height:1.3; letter-spacing:-.5px; text-align:left; overflow-wrap:anywhere; }
.local-area-search { display:flex; align-items:center; gap:12px; min-height:56px; padding:0 16px; margin-bottom:22px; border:1px solid #b8d4e2; border-radius:4px; background:#fff; color:#31566a; }
.local-area-search > svg { flex:0 0 24px; }
.local-area-search:focus-within { outline:2px solid #007b9f; outline-offset:3px; }
.local-area-search-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.local-area-search input { display:block; min-width:0; width:100%; min-height:54px; margin:0; padding:12px 0; border:0; border-radius:0; outline:none; box-shadow:none; color:var(--area-ink); background:transparent; font-family:inherit; font-size:18px; line-height:1.5; }
.local-area-search input::placeholder { color:#698699; opacity:1; }
.local-area-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:34px; row-gap:0; padding:0; margin:0; list-style:none; }
.local-area-list > li { display:block; min-width:0; padding:0; margin:0; list-style:none; }
.local-area-list a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:12px 0; border-bottom:1px solid var(--area-line); color:var(--area-ink); font-size:17px; line-height:1.5; text-decoration:none; text-align:left; }
.local-area-list a > span { min-width:0; overflow-wrap:anywhere; }
.local-area-list a > svg,.local-area-expand > svg,.local-area-parent-link > svg { flex:0 0 24px; color:var(--area-cyan); transition:transform .15s ease; }
.local-area-list a:hover { color:#007b9f; }
.local-area-list a:hover > svg { transform:translateX(3px); }
.local-area-actions { display:flex; justify-content:flex-end; margin-top:24px; }
.local-area-expand,.local-area-parent-link { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; max-width:100%; padding:13px 22px; margin:0; border:1px solid var(--area-cyan); border-radius:3px; background:var(--area-cyan); color:#06232d; font-family:inherit; font-size:17px; font-weight:600; line-height:1.5; text-decoration:none; text-align:center; cursor:pointer; }
.local-area-expand > svg,.local-area-parent-link > svg { color:currentColor; }
.local-area-expand:hover,.local-area-parent-link:hover { background:#009bcc; border-color:#009bcc; color:#fff; }
body.local-seo-page .local-area-description,body.local-seo-page .local-area-empty,body.local-seo-page .local-area-status { margin:0 0 20px; color:#476575; font-size:17px; line-height:1.65; text-align:left; }
.local-area-description + .local-area-parent-link { margin-top:8px; }
.local-area-overview :is(a,button):focus-visible { outline:3px solid #007b9f; outline-offset:4px; }
.local-area-overview [hidden] { display:none !important; }
@media(max-width:1100px) {
 .local-area-layout { grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); }
 .local-area-directory { padding:28px; }
 .local-area-place { padding:28px 26px 12px; }
 body.local-seo-page .local-area-toolbar h2 { font-size:24px !important; }
 body.local-seo-page .local-area-directory > h3 { font-size:23px !important; }
 .local-area-list { column-gap:22px; }
}
@media(max-width:850px) {
 .local-area-layout { grid-template-columns:minmax(0,1fr); }
 .local-area-illustration { min-height:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; }
 .local-area-illustration > img { width:100%; max-height:240px; margin:0; }
 .local-area-place { padding:28px; }
 body.local-seo-page .local-area-place h3 { font-size:36px !important; }
}
@media(max-width:600px) {
 body.local-seo-page .local-area-overview { padding:48px 0; }
 .local-area-overview > .container { width:calc(100% - 32px); }
 .local-area-toolbar { flex-direction:column; align-items:stretch; gap:14px; padding:20px; }
 .local-area-toolbar-title { gap:12px; }
 body.local-seo-page .local-area-toolbar h2 { font-size:23px !important; letter-spacing:-.4px; }
 .local-area-pin { flex-basis:26px; width:26px; height:34px; }
 .local-area-all { align-self:flex-start; min-height:44px; padding:10px 15px; font-size:16px; }
 .local-area-illustration { display:flex; min-height:0; }
 .local-area-place { width:100%; padding:24px 22px 6px; }
 body.local-seo-page .local-area-place > p { font-size:17px; }
 body.local-seo-page .local-area-place h3 { font-size:38px !important; }
 .local-area-illustration > img { width:100%; max-height:235px; object-fit:contain; }
 .local-area-directory { padding:26px 22px; }
 body.local-seo-page .local-area-directory > h3 { font-size:22px !important; margin-bottom:20px; }
 .local-area-search { padding:0 12px; margin-bottom:14px; }
 .local-area-list { grid-template-columns:minmax(0,1fr); }
 .local-area-list a { min-height:52px; font-size:17px; }
 .local-area-expand,.local-area-parent-link { width:100%; gap:12px; padding:13px 15px; font-size:16px; }
 .local-area-actions { margin-top:22px; }
}
@media(prefers-reduced-motion:reduce) { .local-area-overview svg { transition:none; } }
