:root {
  --motion-fast: 220ms;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
}

/* O Elementor revela este bloco via JavaScript. Na cópia estática ele já inicia visível. */
.elementor-element-6370688 {
  visibility: visible !important;
}

.elementor-element-1ab0b680 {
  overflow: hidden;
}

/* Substitui somente a fonte interna dos ícones do menu móvel. */
.elementor-menu-toggle__icon--open,
.elementor-menu-toggle__icon--close {
  position: relative;
  width: 1em;
  height: 1em;
  font-family: inherit !important;
}

.elementor-menu-toggle__icon--open::before {
  content: "";
  position: absolute;
  inset: 20% 8%;
  background:
    linear-gradient(currentColor, currentColor) 0 0 / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 50% / 100% 2px no-repeat,
    linear-gradient(currentColor, currentColor) 0 100% / 100% 2px no-repeat;
}

.elementor-menu-toggle__icon--close::before,
.elementor-menu-toggle__icon--close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 8%;
  width: 84%;
  height: 2px;
  background: currentColor;
}

.elementor-menu-toggle__icon--close::before {
  transform: rotate(45deg);
}

.elementor-menu-toggle__icon--close::after {
  transform: rotate(-45deg);
}

.elementor-menu-toggle,
.elementor-nav-menu--dropdown {
  transition:
    opacity var(--motion-fast) ease,
    transform var(--motion-fast) ease,
    max-height var(--motion-fast) ease,
    visibility var(--motion-fast) ease;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .elementor-menu-toggle,
  .elementor-nav-menu--dropdown,
  .elementor-animation-float {
    animation: none !important;
    transition-duration: 1ms !important;
    transform: none !important;
  }
}
