/* Accessible, static-first service-area and real-work pages. */
.local-section { padding-block:48px; }
.local-section h2 { font-size:clamp(1.35rem,2.5vw,1.85rem); margin-bottom:16px; line-height:1.3; }
.local-section p { line-height:1.8; margin-bottom:18px; color:var(--color-text-secondary); }
.local-section a:not(.btn), .local-breadcrumb a { color:var(--color-primary); text-underline-offset:3px; }
.local-section a:not(.btn):hover { text-decoration:underline; }
.local-hero { padding:56px 0; background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(16,185,129,.08)); border-bottom:1px solid var(--color-border); }
.local-hero h1 { font:700 clamp(1.8rem,4vw,3rem)/1.2 var(--font-heading); margin:14px 0 20px; }
.local-hero p { max-width:850px; line-height:1.75; margin-bottom:20px; }
.local-eyebrow { color:var(--color-primary); font-weight:600; }
.local-actions { display:flex; gap:12px; flex-wrap:wrap; margin:20px 0; }
.local-note,.source-note { font-size:.9rem; }
.local-breadcrumb { padding-top:24px; font-size:.9rem; }
.local-two-col { display:grid; grid-template-columns:1.15fr 1fr; gap:32px; align-items:start; }
.local-panel { border:1px solid var(--color-border); border-radius:16px; padding:28px; background:var(--color-bg-secondary); }
.local-panel ol { padding-left:22px; line-height:1.8; }
.local-panel li { margin-bottom:10px; }
.local-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.local-steps article { border-top:2px solid var(--color-primary); padding-top:20px; }
.local-steps h3 { font-size:1.12rem; margin-bottom:12px; }
.local-region-links { display:flex; flex-wrap:wrap; gap:10px; margin-block:20px; }
.local-region-links a { padding:8px 14px; border:1px solid var(--color-border); border-radius:24px; }
.district-card { margin:28px 0; padding:28px; border:1px solid var(--color-border); border-radius:18px; background:var(--color-bg-secondary); scroll-margin-top:110px; }
.local-count { color:var(--color-text-muted); display:inline-block; font-size:.85rem; font-weight:400; margin-left:8px; }
.district-more { display:inline-block; margin-top:16px; }
.neighborhood-list { list-style:none; padding:0; margin:20px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 24px; }
.neighborhood-list li { display:flex; flex-direction:column; gap:6px; padding:13px 0; border-bottom:1px solid var(--color-border); scroll-margin-top:120px; }
.neighborhood-list li:target { background:rgba(6,182,212,.13); outline:2px solid var(--color-primary); padding-inline:10px; border-radius:8px; }
.neighborhood-list li>a { font-size:.9rem; }
.neighborhood-list.compact li { padding:9px 0; }
.neighborhood-list.compact li>a { font-size:1rem; }
.region-search { margin:0 0 28px; padding:24px; border:1px solid var(--color-border); border-radius:14px; }
.region-search label { display:block; font-weight:600; margin-bottom:10px; }
.region-search input { width:100%; max-width:640px; padding:14px 16px; font:inherit; border:1px solid var(--color-border); border-radius:8px; background:var(--color-bg-primary); color:var(--color-text-primary); }
.region-search p { margin:12px 0 0; font-size:.92rem; }
.local-faq { border-bottom:1px solid var(--color-border); padding:18px 0; }
.local-faq summary { cursor:pointer; font-weight:600; line-height:1.5; }
.local-faq p { margin-top:14px; }
.work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0; }
.work-card { margin:0; border:1px solid var(--color-border); border-radius:14px; overflow:hidden; background:var(--color-bg-secondary); }
.work-card img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:contain; background:#eceae6; }
.work-card figcaption { padding:20px; }
.work-card h3 { font-size:1.04rem; line-height:1.5; margin-bottom:8px; }
.work-card p { font-size:.85rem; margin-bottom:12px; }
.local-footer-nav { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.local-mobile-menu { display:none; }
.sitemap-links { padding-left:20px; columns:2; column-gap:32px; }
.sitemap-links li { padding:8px 0; break-inside:avoid; }
[data-region-entry][hidden],[data-region-group][hidden],[data-no-results][hidden],[data-search-ui][hidden] { display:none!important; }
:where(a,button,input,summary):focus-visible { outline:3px solid var(--color-primary); outline-offset:4px; }
#whatsapp-float { font-size:26px; }
@media(max-width:1024px) {
  .local-mobile-menu { display:block; position:relative; margin-left:auto; }
  .local-mobile-menu summary { cursor:pointer; padding:10px 14px; border:1px solid var(--color-border); border-radius:8px; color:var(--color-text-primary); }
  .local-mobile-menu nav { position:absolute; top:calc(100% + 10px); right:0; width:min(280px,80vw); max-height:70vh; overflow:auto; display:flex; flex-direction:column; padding:12px; border:1px solid var(--color-border); border-radius:12px; background:var(--color-bg-primary); box-shadow:0 12px 32px rgba(0,0,0,.35); z-index:1100; }
  .local-mobile-menu nav a { padding:12px; color:var(--color-text-primary); }
  header .header-actions { display:none; }
  .header .nav { display:none; }
  .local-two-col { grid-template-columns:1fr; }
}
@media(max-width:680px) {
  .local-section { padding-block:32px; }
  .local-hero { padding-block:32px; }
  .local-steps,.work-grid { grid-template-columns:1fr; }
  .work-card { max-width:520px; }
  .neighborhood-list { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
  .district-card,.local-panel,.region-search { padding:20px; }
  .local-actions .btn { width:100%; white-space:normal; text-align:center; }
  .sitemap-links { columns:1; }
  header .logo-text { font-size:1rem; }
  header .header-main { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
