/* Modern compatibility layer: additive styles, preserving legacy theme classes. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { max-width: 100%; overflow-x: clip; }
img, video, iframe, embed, object { max-width: 100%; }
img { height: auto; }
input, select, textarea, button { max-width: 100%; font: inherit; }
textarea { width: 100%; }
button, input[type="button"], input[type="submit"] { cursor: pointer; }
:focus-visible { outline: 3px solid #1b75bc; outline-offset: 2px; }
.wp-caption, .gallery, .alignwide, .alignfull { max-width: 100%; }
.alignleft { float: left; margin: 0 1.25rem 1rem 0; }
.alignright { float: right; margin: 0 0 1rem 1.25rem; }
.aligncenter { display: block; margin-inline: auto; }
.wp-block-image img { height: auto; }
@media (max-width: 767px) {
  .container { width: 100%; max-width: 100%; padding-inline: 15px; }
  .row { margin-inline: -10px; }
  [class*="col-"] { min-width: 0; }
  .sitelogo img { width: auto; max-width: 100%; }
  .banner, .banner-mobile { background-size: cover; background-position: center; }
  span.banner-text-one-span { font-size: clamp(1.6rem, 7vw, 2.6rem); }
  span.banner-text-two-span { font-size: clamp(1rem, 4vw, 1.5rem); }
  .home-phone-number span, .home-phone-contact-text { font-size: clamp(1.25rem, 5vw, 2rem); }
  table { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
