/* Conservative shared accessibility and layout fixes. */
:focus-visible { outline:3px solid #1762a3 !important; outline-offset:4px; }
.skip-link { position:fixed;left:12px;top:-100px;z-index:9999;background:#fff;color:#111;padding:12px 18px;text-decoration:underline; }
.skip-link:focus { top:12px; }
main { display:block; }
[id] { scroll-margin-top:180px; }
button { font:inherit;cursor:pointer; }
.hamburger { min-width:44px;min-height:44px;justify-content:center;align-items:center; }
.nav-links .nav-cta { border:1px solid #ddd;min-height:44px;padding:10px 16px !important; }
.logo img { width:240px !important;height:74px !important;max-width:100% !important;object-fit:contain; }
.svc-icon i,.why-item i { color:#fff; }
footer,footer p,footer a,footer .info-item,footer .logo-sub,footer .footer-brand p,footer .footer-col ul li a,footer .info-item i,footer [style*="color:"] { color:#bdbdbd !important; }
footer a:hover { color:#fff !important;text-decoration:underline; }
footer h4,footer .logo-name { color:#fff !important; }
.why-item p { color:#bdbdbd; }
#why .section-header p,.why-card p { color:#595959; }
.page-hero .breadcrumb { color:#595959; }
.breadcrumb a,main p a { text-decoration:underline; }
#commitments .section-label,.commit-item p,.commit-item i,.area-box .info-item,.area-box em,.drop-off-badge p,footer .f-info-item { color:#bdbdbd !important; }
.local-guide { background:#f5f5f5;padding:48px 20px; }
.local-guide .container { max-width:1100px;margin:auto; }
.local-guide h2 { font-size:clamp(1.45rem,3vw,2rem);line-height:1.25;margin-bottom:18px;color:#111; }
.local-guide p { max-width:75ch;margin:12px 0;color:#444; }
.service-jumps { display:flex;gap:12px;flex-wrap:wrap;margin-top:22px; }
.service-jumps a { display:inline-block;background:#222;color:#fff;padding:12px 18px;border-radius:5px;text-decoration:underline; }
.svc-card { scroll-margin-top:180px; }
@media(max-width:768px) {
 nav { padding-left:16px;padding-right:16px;height:82px;gap:12px; }
 .logo { flex:1;min-width:0; }
 .logo img { width:210px !important;height:68px !important; }
 .nav-links { max-height:calc(100dvh - 170px);overflow-y:auto; }
 .svc-card { padding:24px 18px;gap:14px;min-width:0; }
 .svc-body { min-width:0; }
 .svc-body h2 { overflow-wrap:anywhere; }
 .hero-inner h1 { font-size:clamp(1.8rem,7vw,2.8rem); }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation:none !important;transition:none !important; } }
