/* Small independent interaction layer. Original site styles are preserved. */
[hidden] { display: none !important; }
html { scroll-padding-top: 6rem; }
.local-mobile-menu { padding: 1rem 1.5rem; border-top: 1px solid var(--brand-silver-soft); background: var(--brand-paper); }
.local-mobile-link { display: block; padding: .8rem 0; font-family: var(--font-display); font-size: 1rem; color: var(--brand-ink); }
.local-mobile-link[aria-current="page"] { color: var(--brand-teal-deep); font-weight: 600; }
@media (min-width:768px) { .local-mobile-menu { display:none !important; } }
[data-service-tab] { background:var(--secondary);color:var(--brand-ink);border-color:var(--border);box-shadow:none; }
[data-service-tab][aria-selected="true"] { background:var(--brand-teal);color:var(--primary-foreground);border-color:var(--brand-teal);box-shadow:0 4px 6px #0000001a; }
[data-blog-filter] { background:var(--brand-paper); color:var(--brand-ink);border:1px solid var(--brand-silver-soft);box-shadow:none; }
[data-blog-filter][aria-current="true"] { background:var(--brand-teal);color:var(--primary-foreground);border-color:var(--brand-teal); }
[data-blog-filter] span { background:var(--brand-silver-soft);color:var(--brand-ink); }
[data-blog-filter][aria-current="true"] span { background:#ffffff26;color:inherit; }
.local-dialog { margin:auto; width:min(42rem,calc(100vw - 2rem)); max-height:85dvh; overflow-y:auto; padding:2rem; border:1px solid var(--brand-teal); border-radius:.75rem; background:var(--brand-paper);color:var(--brand-ink); box-shadow:0 24px 80px #0005; }
.local-dialog::backdrop { background:#071c24aa; backdrop-filter:blur(3px); }
.local-dialog h2 { font-family:var(--font-display);font-size:2rem;line-height:1.2;margin:.5rem 0 1rem; }
.local-close { display:block;margin-left:auto;padding:.5rem 1rem;border:1px solid var(--brand-silver-soft);border-radius:.3rem;cursor:pointer; }
.local-eyebrow { font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;font-size:.875rem;color:var(--brand-teal-deep); }
.local-review { margin:1.5rem 0;padding:0 0 1.5rem;border-bottom:1px solid var(--brand-silver-soft); }
.local-review figcaption { font-weight:600; }
.local-review blockquote { margin:.75rem 0 0;line-height:1.65; }
.local-rating { color:var(--brand-teal-deep);letter-spacing:.15em; }
.local-text-link,.local-enquiry-fallback a { color:var(--brand-teal-deep);text-decoration:underline;text-underline-offset:3px; }
.local-form-status { margin-top:1rem;padding:1rem;border-left:3px solid var(--brand-teal);background:var(--brand-teal-subtle); }
.local-enquiry-fallback { margin-top:1rem;line-height:1.6; }
.local-enquiry-fallback label { display:block;margin-top:1rem;font-weight:600; }
.local-enquiry-fallback textarea { width:100%;margin:.5rem 0;padding:.75rem;border:1px solid var(--brand-silver-soft);background:white;resize:vertical; }
.local-enquiry-fallback button { padding:.6rem 1rem;border:1px solid var(--brand-teal);border-radius:.3rem;cursor:pointer; }
:focus-visible { outline:3px solid var(--brand-teal-deep);outline-offset:4px; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important;transition:none !important;scroll-behavior:auto !important; } }
