/* Small, stable hover effects preserve the template's spacing and structure. */
.navbar-nav .nav-link{position:relative;transition:color 180ms ease,transform 180ms ease}
.navbar-nav .nav-link::after{content:"";position:absolute;left:50%;bottom:3px;width:calc(100% - 24px);height:2px;border-radius:4px;background:currentColor;transform:translateX(-50%) scaleX(0);transform-origin:center;opacity:0;transition:transform 200ms ease,opacity 200ms ease}
.navbar-nav .nav-link:focus-visible::after{transform:translateX(-50%) scaleX(1);opacity:1}
.site-footer li a,.footer-bottom-links a{display:inline-block;transition:color 180ms ease,transform 180ms ease}
.footer-social a,.footer-contact-bar .fa{transition:background 180ms ease,transform 180ms ease,color 180ms ease}
@media(hover:hover) and (pointer:fine){
 .navbar-nav .nav-link:hover{transform:translateY(-2px)}
 .navbar-nav .nav-link:hover::after{transform:translateX(-50%) scaleX(1);opacity:1}
 .site-footer li a:hover,.footer-bottom-links a:hover{transform:translateX(3px)}
 .footer-social a:hover{transform:translateY(-3px)}
 .footer-contact-bar>a:hover .fa{transform:scale(1.08);background:#4f46e54a}
}
@media(max-width:991px){.navbar-nav .nav-link::after{left:0;bottom:4px;width:30px;transform:scaleX(0);transform-origin:left}.navbar-nav .nav-link:focus-visible::after{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.navbar-nav .nav-link,.navbar-nav .nav-link::after,.site-footer li a,.footer-bottom-links a,.footer-social a,.footer-contact-bar .fa{transition:none!important;transform:none!important}.navbar-nav .nav-link::after{left:12px;width:calc(100% - 24px);transform:none!important;opacity:0}.navbar-nav .nav-link:hover::after,.navbar-nav .nav-link:focus-visible::after{opacity:1}}
