/* The original exported styles define the visual design. These rules replace
   layout/state classes normally applied by the WordPress runtime. */
html { scroll-behavior: smooth; }
header.elementor-location-header { position: sticky; top: 0; z-index: 1000; }
.elementor-nav-menu .sub-menu { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; z-index: 1001; }
.elementor-nav-menu li { position: relative; }
.elementor-nav-menu li:hover > .sub-menu,
.elementor-nav-menu li:focus-within > .sub-menu,
.elementor-nav-menu li.submenu-open > .sub-menu { display: block; }
.elementor-menu-toggle + .elementor-nav-menu__container { display: none; }
.elementor-menu-toggle.elementor-active + .elementor-nav-menu__container { display: block; max-height: 80vh; overflow: auto; transform: none; }
.elementor-nav-menu--dropdown .sub-menu { position: static; }
.e-contact-buttons__content-wrapper.hidden { display: none; }
.e-contact-buttons__content-wrapper.chat-open { display: block; opacity: 1; visibility: visible; transform: none; }
.e-contact-buttons__content-wrapper.chat-open .e-contact-buttons__content { opacity: 1; transform: none; }
.e-contact-buttons__chat-button { opacity: 1 !important; transform: none; }
.elementor-widget-video iframe { width: 100%; height: 100%; border: 0; }
.swiper { overflow: hidden; }
.swiper-slide { height: auto; }
.swiper-pagination-bullet { cursor: pointer; }
.form-status:empty { display:none; }
.form-status { margin: 12px 0 0; font-size: 15px; }

@media (max-width:767px) {
  .elementor-menu-toggle + .elementor-nav-menu__container { position: absolute; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

.elementor-nav-menu--dropdown .elementor-item.elementor-item-active:not(:hover) { background-color: transparent; }

.elementor-element-99ee5cc .headline-letter { font-style: normal; }
.elementor-element-99ee5cc .headline-ripple .headline-letter {
  animation: headline-accent 240ms ease-out both, headline-reset 240ms ease-out forwards;
  animation-delay: calc(var(--letter-index) * 55ms),
    calc(450ms + var(--letter-index) * 55ms);
}
@keyframes headline-accent {
  from { color: #000; }
  to { color: var(--e-global-color-accent); }
}
@keyframes headline-reset {
  from { color: var(--e-global-color-accent); }
  to { color: #000; }
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-99ee5cc .headline-ripple .headline-letter {
    animation: none;
    color: #000;
  }
}
