/* Runtime compatibility only; the original theme owns all visual design. */
.services .item_img { position: relative; }
.services a.service-card-link { position: absolute; inset: 0; z-index: 5; display: block; border: 0; background: transparent; }
.services a.service-card-link:focus-visible { outline: 3px solid #016995; outline-offset: -3px; }
/* Reserve the hero's existing final height before its native controller loads.
   Aspect ratio uses the element width, including on browsers with scrollbars. */
.swiper-container[data-height="32.13541666666667%"][data-min-height="420px"] {
  height: auto;
  aspect-ratio: 1920 / 617;
  min-height: 420px;
}
.swiper-container [role="button"] { cursor: pointer; }
.swiper-container .swiper-slide[aria-hidden="true"] { pointer-events: none; }
.owl-carousel .owl-stage { display: flex; }
.owl-carousel .owl-item { flex: 0 0 auto; }
/* Intrinsic 40px portraits originally occupied 42px including their 1px border.
   Keep that content size when HTML width/height now reserve their image space. */
.owl-item_content .item_img img[width][height] { box-sizing: content-box; }
.owl-dots[hidden] { display: none; }
.mfp-wrap .mfp-img { object-fit: contain; }
.btn.order-cta { max-width: 100%; white-space: normal; }
@media (min-width: 768px) {
  .t3-megamenu .mega:focus-within > .mega-dropdown-menu { display: block; }
}
@media (max-width: 767px) {
  .t3-navbar-collapse.in { overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .swiper-wrapper, .owl-stage { transition-duration: 0ms !important; }
  [data-caption-animate] { animation-duration: 0ms !important; }
}
