/* Static behavior only. Page geometry and visual styling come from the original Divi CSS. */
html { scroll-padding-top: 115px; }
.et-l--header { position: sticky; top: 0; z-index: 9999; }
.et-l--header .et_pb_menu__logo img { width: 205px !important; max-width: 205px !important; height: auto !important; }
/* Keep the original symbol-and-heading footer layout, even when an older
   stylesheet was cached by a browser after a previous ZIP extraction. */
.et-l--footer .et_pb_image_0_tb_footer .et_pb_image_wrap {
  display: inline-block !important;
  width: auto !important;
  max-width: 64px !important;
  padding: 0 !important;
  background: transparent !important;
}
.et-l--footer .et_pb_image_0_tb_footer,
.et-l--footer .et_pb_image_0_tb_footer img {
  width: 100% !important;
  max-width: 64px !important;
  height: auto !important;
}
.et-l--footer .et_pb_heading_0_tb_footer { display: block !important; }
.et-l--header .et_mobile_nav_menu .et_mobile_menu {
  display: none;
  max-height: calc(100dvh - 110px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.et-l--header .et_mobile_nav_menu .mobile_nav.is-open .et_mobile_menu { display: block !important; }
.et-l--header .et_mobile_menu .sub-menu { display: block !important; position: static !important; visibility: visible !important; opacity: 1 !important; }
@media (max-width: 980px) {
  html { scroll-padding-top: 85px; }
  .et-l--header .et_pb_menu__logo img { width: 180px !important; max-width: 180px !important; }
}

/* Contact submission feedback, within the original English form layout. */
#send-message .form-trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
#send-message .form-status { margin: 18px 0 0; font-size: 15px; font-weight: 600; line-height: 1.55; }
#send-message .form-status:empty { display: none; }
#send-message .form-status.is-success { color: #256642; }
#send-message .form-status.is-error { color: #a2322f; }
#send-message button[type="submit"]:disabled { opacity: .65; cursor: wait; }
