/* Keep the existing design while removing its runtime dependencies. */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 100px; }
.elementor-invisible { visibility: visible; }
.elementor-location-header { position: sticky; top: 0; z-index: 100; }
.static-mobile-menu { display: none; position: relative; }
.static-mobile-menu summary { list-style: none; width: fit-content; margin-left: auto; }
.static-mobile-menu summary::-webkit-details-marker { display: none; }
.static-mobile-menu summary:focus-visible, a:focus-visible { outline: 2px solid #397f92; outline-offset: 4px; }
.static-mobile-menu[open] .elementor-menu-toggle__icon--open { display: none; }
.static-mobile-menu[open] .elementor-menu-toggle__icon--close { display: inline-block; }
/* The disclosure supplies visibility; override Elementor's JS-driven collapse. */
.elementor-widget-nav-menu .static-mobile-menu[open] > .static-mobile-links.elementor-nav-menu__container { max-height: none; transform: none; }
.static-mobile-menu .static-mobile-links { right: 0; top: calc(100% + 3px); }
/* Match the header column's inset while stretching the menu to the screen edges. */
.elementor-location-header .static-mobile-links { width: 100vw; right: -50px; }
.elementor .elementor-column.static-contact-details { width: 100%; max-width: 780px; margin-inline: auto; }
.elementor .elementor-widget .elementor-icon-list-text > a,
.elementor .elementor-widget .elementor-icon-box-description > a { color: inherit; display: inline; }
@media (max-width: 1024px) { .elementor-nav-menu--dropdown-tablet .static-mobile-menu { display: block; } }
@media (max-width: 767px) {
  .elementor-nav-menu--dropdown-mobile .static-mobile-menu { display: block; }
  .elementor-location-header .static-mobile-links { right: -30px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
