/* Consistent motion across company, service, editorial and product pages. */
.nlc-reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:3px;z-index:2000;pointer-events:none;background:linear-gradient(90deg,#a89568,#77b7c4);transform:scaleX(0);transform-origin:left center}
.site-header{transition:box-shadow .3s ease,background-color .3s ease}.site-header.nlc-header-scrolled{box-shadow:0 6px 24px #081c2518}
@media(prefers-reduced-motion:no-preference){
 .text-link,.ph-company-link,.ph-scroll,.nav-group summary{transition:color .25s ease,border-color .25s ease}
 .btn,.contact-link,.mobile-contact a,.header-cart,.card-motion-toggle{transition:transform .22s ease,background-color .25s ease,box-shadow .25s ease}
 :is(.btn,.contact-link,.mobile-contact a,.header-cart,.card-motion-toggle):active{transform:scale(.975)}
 :is(.btn,.contact-link):focus-visible{transform:translateY(-2px);box-shadow:0 7px 18px #0c202b1c}
 .product-card,.ej-card,.ej-portal,.brand-site,.choice-paths>article{transition:box-shadow .3s ease,border-color .3s ease,background-color .3s ease}
 .product-card figure,.ej-card>a,.photo-frame,.banner-media{overflow:hidden}
 .product-card figure img,.ej-card-photo,.photo-frame img{transition:transform .7s cubic-bezier(.2,.65,.25,1)}
 .product-card:focus-within figure img{transform:scale(1.025)}
 .mobile-nav.open{animation:nlc-menu-in .3s cubic-bezier(.2,.65,.25,1) both;transform-origin:top center}
 .faq details[open]>:not(summary),.ej-archive[open]>:not(summary){animation:nlc-detail-in .32s ease both}
 .text-link{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-position:left bottom;background-repeat:no-repeat;transition:background-size .3s ease,color .25s ease}
 .text-link:focus-visible{background-size:100% 1px}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 :is(.btn,.contact-link):hover{transform:translateY(-2px);box-shadow:0 8px 20px #0c202b20}
 :is(.product-card,.ej-card,.ej-portal,.brand-site,.choice-paths>article):hover{box-shadow:0 12px 32px #0c202b12}
 .product-card:hover figure img,.ej-card:hover .ej-card-photo,.photo-frame:hover img{transform:scale(1.025)}
 .text-link:hover{background-size:100% 1px}
}
@keyframes nlc-menu-in{from{opacity:.35;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes nlc-detail-in{from{opacity:.3;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}.nlc-reading-progress{display:none}.js-motion .reveal{opacity:1!important;transform:none!important;transition:none!important}html{scroll-behavior:auto!important}}
@media print{.nlc-reading-progress{display:none}.js-motion .reveal{opacity:1!important;transform:none!important}}
