
/* Site-wide responsive and accessibility refinements */
html { scroll-behavior: smooth; }
body { max-width: 100%; overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
@media (max-width: 767px) {
  .container { width: 100%; max-width: 100%; padding-left: 15px; padding-right: 15px; }
  h1 { font-size: clamp(28px, 7vw, 40px); line-height: 1.2; overflow-wrap: anywhere; }
  h2 { font-size: clamp(23px, 5.8vw, 32px); line-height: 1.25; overflow-wrap: anywhere; }
  h3 { font-size: clamp(19px, 4.8vw, 26px); line-height: 1.3; }
  p { overflow-wrap: break-word; }
  .row { margin-left: -10px; margin-right: -10px; }
  [class*="col-"] { padding-left: 10px; padding-right: 10px; }
  .header-output, header, nav, .main-menu { max-width: 100%; }
  .btn, button, input[type="submit"] { max-width: 100%; white-space: normal; }
  input, select, textarea { max-width: 100%; }
  .table-responsive { overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
.visually-hidden-seo { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
