/* Preserve the site's blue-and-white identity and existing Divi breakpoints. */
.hlbs-hero {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #edf3f7;
}
.hlbs-hero-photo,
.hlbs-hero-video {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.hlbs-hero [hidden] { display: none !important; }
.hlbs-video-toggle {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 2;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid #2e638b;
  border-radius: 3px;
  background: #fff;
  color: #204d6f;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
  cursor: pointer;
}
.hlbs-video-toggle:hover { background: #edf3f7; }
#et_mobile_nav_menu .hlbs-menu-ready > .mobile_menu_bar { display: none !important; }
#et_mobile_nav_menu .hlbs-menu-toggle {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 88px;
  min-height: 44px;
  padding: 8px;
  border: 0;
  border-radius: 3px;
  background: #fff;
  color: #2e638b;
  font-family: inherit;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}
#et_mobile_nav_menu .hlbs-menu-toggle:hover { background: #edf3f7; }
.hlbs-menu-toggle svg { flex: 0 0 22px; }
#main-header .et_mobile_menu a { min-height: 44px; }
#page-container a:focus-visible,
#page-container button:focus-visible,
#page-container input:focus-visible,
#page-container select:focus-visible,
#page-container textarea:focus-visible {
  outline: 3px solid #204d6f !important;
  outline-offset: 3px;
}
.hlbs-video-toggle:focus-visible { outline-offset: 4px !important; }
.et_search_form_container:not(.et_pb_search_visible) { visibility: hidden; pointer-events: none; }
#et-main-area a[href^="mailto:"] { overflow-wrap: anywhere; }
@media (min-width: 981px) {
  .hlbs-hero { aspect-ratio: auto; height: clamp(320px, 40vw, 520px); }
}
@media (max-width: 980px) {
  #main-header .et_mobile_menu {
    max-height: calc(100dvh - 150px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
