/* Project-specific overrides layered on top of the original stylesheet.
   The original.css + Webflow stylesheet handle all theming/layout, so keep this
   minimal to avoid fighting them. */
.no-theme-transitions, .no-theme-transitions * { transition: none !important; }

/* Fullscreen menu: show only the label by default; slide the hover GIF in to
   the left of the item on hover. The original Webflow IX2 interaction that
   collapsed these doesn't run in the static export, so enforce it here. */
.nav-menu_link_wrapper { display: flex; align-items: center; }
.nav-menu_visual {
  width: 0 !important;
  margin-right: 0 !important;
  overflow: hidden;
  flex: 0 0 auto;
  transition: width .5s cubic-bezier(.62,.04,.3,1), margin-right .5s cubic-bezier(.62,.04,.3,1);
}
.nav-menu_link_wrapper:hover .nav-menu_visual.mw-has-gif {
  width: 6.5rem !important;
  margin-right: .6rem !important;
}
@media (max-width: 991px) {
  .nav-menu_link_wrapper:hover .nav-menu_visual.mw-has-gif { width: 5rem !important; }
}
@media (max-width: 767px) {
  .nav-menu_link_wrapper:hover .nav-menu_visual.mw-has-gif { width: 4rem !important; }
}

/* Home "Services" list: floating visual on hover. The original Webflow IX2
   interaction (sizing + opacity reveal + dimming the other lines) doesn't run
   in the static export, and Webflow's bg-video init leaves the wrapper at
   height:0 — so restore it here. Desktop only (mobile uses the scroll effect). */
@media (min-width: 768px) {
  .home_services_visual_wrapper {
    height: auto !important;
    transition: opacity .4s ease;
  }
  .home_services_visual_wrapper > .w-background-video,
  .home_services_visual_wrapper video {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  .home_services_list-item_wrapper { transition: opacity .3s ease; }
  /* dim every line while hovering the list, keep the hovered one lit */
  .home_services_list:hover .home_services_list-item_wrapper { opacity: .2 !important; }
  .home_services_list .home_services_list-item_wrapper:hover { opacity: 1 !important; }
  /* reveal the hovered line's visual */
  .home_services_list-item_wrapper:hover .home_services_visual_wrapper { opacity: 1 !important; }
}

/* Hero cursor-follow visual: the Webflow export ships .moving-visual_wrapper
   as display:none (its IX2 interaction used to reveal it). Re-enable it on
   hover-capable devices; clone-inline.js fades it in and makes it follow the
   cursor. Which of the two visuals shows (is-light / is-dark) is handled by
   the theme rules in original.css. */
@media (hover: hover) {
  .hero_component .moving-visual_wrapper { display: block; }
}
