/* v2: the hero photo moves behind its stationary contrast overlay and controls. */
body.hann-motion-enabled .hann-motion-backdrop{position:absolute;inset:0;z-index:0;pointer-events:none;transform-origin:50% 50%;}
body.hann-motion-enabled .hann-motion-has-backdrop>.elementor-background-overlay{z-index:1;}
body.hann-motion-enabled .hann-motion-has-backdrop>.elementor-container{position:relative;z-index:2;}
/* The engineering accent is decorative; all words and links stay visible. */
body.hann-motion-enabled main :is(.hann-v2-hero,.hann-inner-hero)::after {
  content:""; position:absolute; pointer-events:none; left:48px; bottom:0;
  width:300px; max-width:34%; height:4px; background:#ff8755;
  transform-origin:left center; z-index:3;
}
@media (prefers-reduced-motion:no-preference) {
  body.hann-motion-enabled main .hann-motion-hero::after {
    animation:hann-rule-draw 1200ms cubic-bezier(.22,.65,.25,1) 100ms both;
  }
  body.hann-motion-enabled .hann-nav :is(.hann-top-links>li>a,.hann-services-toggle,.hann-mega-links li>a) {
    transition:background-color 180ms ease-out,color 180ms ease-out;
  }
  @media (min-width:1025px) {
    body.hann-motion-enabled .hann-mega-panel:not([hidden]) {animation:hann-menu-shadow 180ms ease-out;}
  }
  body.hann-motion-enabled :is(.hann-hero-primary,.hann-v2-cta) .elementor-button,
  body.hann-motion-enabled .hann-nav-cta {
    transition:background-color 180ms ease-out,color 180ms ease-out,box-shadow 220ms ease-out;
  }
  body.hann-motion-enabled .elementor-button .elementor-button-icon,
  body.hann-motion-enabled .hann-mega-links img,
  body.hann-motion-enabled .hann-capability-icon img {
    transition:transform 360ms cubic-bezier(.22,.65,.25,1);
  }
  @media (hover:hover) and (pointer:fine) {
    body.hann-motion-enabled :is(.hann-hero-primary,.hann-v2-cta) .elementor-button:hover,
    body.hann-motion-enabled .hann-nav-cta:hover {box-shadow:0 5px 15px #102a401a;}
    body.hann-motion-enabled .elementor-button:hover .elementor-button-icon {transform:translateX(5px);}
    body.hann-motion-enabled .hann-mega-links a:hover img {transform:translateX(4px);}
    body.hann-motion-enabled .hann-capability-card:hover .hann-capability-icon img {transform:translateY(-6px) scale(1.04);}
  }
}
@keyframes hann-rule-draw {from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes hann-menu-shadow {from{box-shadow:0 8px 18px #102a4012}to{box-shadow:0 22px 44px #102a4024}}
@media (prefers-reduced-motion:reduce) {
  body.hann-motion-enabled *,body.hann-motion-enabled *::before,body.hann-motion-enabled *::after {
    animation:none!important; transition:none!important; scroll-behavior:auto!important;
  }
}
@media (max-width:767px) {
  body.hann-motion-enabled main :is(.hann-v2-hero,.hann-inner-hero)::after {left:28px;width:180px;}
}
@media print {
  body.hann-motion-enabled *,body.hann-motion-enabled *::before,body.hann-motion-enabled *::after {animation:none!important;transition:none!important;}
  body.hann-motion-enabled main :is(.hann-v2-hero,.hann-inner-hero)::after {display:none;}
}
