/* Local SEO: clear content hierarchy and internal area navigation. */
.local-seo-section { background: #f6f8f9; }
.local-advice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:24px 0; }
.local-advice-card { background:#fff; border:1px solid #dae3e6; border-radius:10px; padding:22px; }
.local-advice-card h3 { margin:0 0 12px; font-size:1.15rem; line-height:1.25; }
.local-advice-card p { margin:0; line-height:1.65; }
.local-postcode-note { border-left:4px solid #a7bac0; background:#fff; padding:20px 24px; margin-top:21px; border-radius:0 9px 9px 0; }
.local-postcode-note h3 { margin:0 0 8px; }
.local-postcode-note p { max-width:900px; margin:0 0 12px; }
.local-postcode-note .text-link { display:inline-block; font-weight:700; }
.local-neighbour-section { border-top:1px solid #dce4e6; }
.local-neighbour-section h2, .service-local-section h2 { margin-top:0; }
.local-neighbour-section p,.service-local-section p { max-width:810px; }
.area-link-list { list-style:none; padding:0; margin:18px 0 22px; display:flex; flex-wrap:wrap; gap:10px; }
.area-link-list li { margin:0; }
.area-link-list a { display:inline-block; padding:9px 14px; border:1px solid #c9d5d9; background:#fff; border-radius:9px; text-decoration:none; color:#1b3036; font-weight:600; }
.area-link-list a:hover,.area-link-list a:focus-visible { background:#e9f2f4; border-color:#667f87; text-decoration:underline; }
.hub-guidance-section { background:#f6f8f9; }
.hub-guidance-section p { max-width:870px; }
.hub-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-left:24px; margin:22px 0 4px; }
.hub-steps li { padding-left:4px; }
.location-hub .location-tile p { margin:0 0 15px; font-size:.95rem; }
.location-hub .location-tile span { margin-top:auto; font-weight:700; }
.homepage-area-links { margin-top:25px; }
.homepage-area-links h3 { margin:0 0 8px; }
.homepage-area-links .area-link-list a { font-size:.88rem; padding:7px 10px; }
.service-local-section { background:#f6f8f9; }
@media (max-width:900px) { .local-advice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hub-steps { grid-template-columns:1fr; gap:12px; } }
@media (max-width:650px) { .local-advice-grid { grid-template-columns:1fr; } .local-advice-card { padding:18px; } .local-postcode-note { padding:17px 18px; } .area-link-list { gap:8px; } .area-link-list a { font-size:.9rem; padding:8px 11px; } }
