/* Shared accessibility, contact and responsive improvements. */
img { height: auto; }
.content-addition h2 { font-size:clamp(1.4rem,2.5vw,1.9rem); margin-bottom:1rem; color:var(--primary-dark); }
.content-addition p { max-width:75ch; margin-bottom:1rem; }
.content-addition a:not(.btn) { color:#0756b5; text-decoration:underline; text-underline-offset:.18em; }
.content-addition .btn-primary { color:white; }
.additional-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.additional-service-grid article { padding:1.3rem; }
.additional-service-grid h3 { margin-bottom:.6rem; }
.footer-links a { overflow-wrap:anywhere; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:.45rem; }
.whatsapp-contact { position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); z-index:10000; display:flex; align-items:center; gap:.5rem; padding:12px 16px; border-radius:999px; background:#116b39; color:white; font-size:15px; font-weight:750; box-shadow:0 4px 18px #0003; }
.whatsapp-contact:hover { background:#0b512b; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #d28a00; outline-offset:4px; }
.site-skip-link { position:fixed; top:-100px; left:1rem; z-index:100001; background:white; color:#063273; padding:.75rem 1rem; }
.site-skip-link:focus { top:1rem; }
.nav-row > *, .grid-2 > *, .service-panel > *, .footer-grid > * { min-width:0; }
.nav ul.dropdown-menu { max-height:min(75vh,650px); overflow-y:auto; }
.dropdown-menu a { white-space:normal; }
.nav-dropdown-link { display:flex; align-items:center; }
.nav-dropdown-link > a { flex:1; }
.submenu-toggle { background:transparent; border:0; color:var(--primary-dark); min-height:44px; min-width:44px; cursor:pointer; font-size:1rem; }
.submenu-toggle[aria-expanded="true"] { background:#e9f1ff; border-radius:8px; }
@media(min-width:961px) and (max-width:1250px) {
 .nav > ul { gap:.15rem; } .nav a { padding:.55rem .4rem; font-size:.9rem; }
 .brand { min-width:215px; } .brand .name strong { font-size:.95rem; } .nav-row { gap:.5rem; }
 .nav-cta .btn { padding:.7rem .85rem; font-size:.9rem; }
}
@media(max-width:960px) {
 .site-header { position:relative; }
 .additional-service-grid { grid-template-columns:1fr; }
 .nav-row { align-items:center; }
 .nav-toggle { margin-left:auto; flex-shrink:0; }
 .nav-cta { order:3; } .nav { order:4; }
 .nav-dropdown-link > a { width:auto; }
}
@media(max-width:600px) {
 .brand { flex:1; } .brand .name span { font-size:.73rem; }
 .brand img { height:38px; width:38px; object-fit:contain; flex-shrink:0; }
 .nav-row { gap:.6rem; } .top-bar .row { gap:.25rem; }
 .top-bar { font-size:.75rem; }
 .whatsapp-contact { padding:12px; } .whatsapp-contact span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .site-footer { padding-bottom:5.5rem; }
 .service-actions { flex-wrap:wrap; }
 .footer-hours { max-width:24rem; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

@media(min-width:961px) { .nav ul.dropdown-menu.open { opacity:1; transform:none; visibility:visible; pointer-events:auto; transition:none; } }
