/* Leave the two explicitly approved home sections and their children alone.
   Never reset all transforms: menus and galleries rely on them for layout. */
body *:not([data-alf-motion-allowed], [data-alf-motion-allowed] *),
body *:not([data-alf-motion-allowed], [data-alf-motion-allowed] *)::before,
body *:not([data-alf-motion-allowed], [data-alf-motion-allowed] *)::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

body [data-alf-motion-static],
body .elementor-invisible:not([data-alf-motion-allowed], [data-alf-motion-allowed] *) {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
}

body [class*="elementor-animation-"]:not([data-alf-motion-allowed], [data-alf-motion-allowed] *) {
  transform: none !important;
}

/* The global link-hover font rules changed the icons' em-based dimensions.
   Keep identical metrics at rest, on hover and on keyboard focus. */
body .elementor-icon.elementor-social-icon,
body .elementor-icon.elementor-social-icon:hover,
body .elementor-icon.elementor-social-icon:focus {
  font-size: var(--icon-size, 25px) !important;
  line-height: var(--icon-size, 25px) !important;
  font-family: inherit !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

body .elementor-social-icon i,
body .elementor-social-icon svg,
body .social-list,
body .social-list .social-icon,
body .social-list .social-icon a {
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

/* Explicit rollover exception for the three image-backed home feature cards.
   Restore only their dark overlay, not the widgets' entrance animations. */
body :is(.elementor-element-7ca9fed4, .elementor-element-28b86207, .elementor-element-2ed1bdac) .jkit-icon-box-wrapper::before {
  transition: left .6s ease, right .6s ease, opacity .6s ease !important;
}
