/* V23: non-destructive mobile usability and accessibility refinements. */
@media (max-width: 860px) {
  html { overflow-x: clip; }
  body { overflow-wrap: break-word; }
  img, video, iframe, svg { max-width: 100%; }
  .site-nav a { min-height: 44px; }
  .home-service-card, .v21-trust { min-width: 0; }
}
@media (max-width: 600px) {
  input:not([type="checkbox"]):not([type="radio"]), select, textarea { max-width: 100%; min-width: 0; font-size: 16px; }
  .home-service-card .service-photo img { width: 100%; height: clamp(190px, 58vw, 260px); object-fit: cover; }
  .home-service-card .service-content h2, .home-service-card .service-content h3 { overflow-wrap: anywhere; }
  .v21-mobile-action { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
  .v21-mobile-action a { text-align: center; gap: 12px; }
  body:has(input:focus, textarea:focus, select:focus) .v21-mobile-action { display: none; }
}
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #efad42; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
