/* mrdnej.com motion layer: shared by About, Blog, AI, Logistics and project pages.
   Easing per Emil Kowalski: ease-out for entrances, short UI transitions, no ease-in. */
:root{--m-ease:cubic-bezier(.23,1,.32,1);--m-spring:cubic-bezier(.34,1.56,.64,1)}
.m-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:100;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#1f6fff,#69b1ff 60%,#f0b35a);pointer-events:none}
.m-hero .m-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.m-hero .m-w>span{display:inline-block;transform:translateY(105%);opacity:0;transition:transform .9s var(--m-ease),opacity .9s var(--m-ease)}
.m-hero.m-in .m-w>span{transform:none;opacity:1}
.m-fade{opacity:0;transform:translateY(14px);transition:opacity .8s var(--m-ease),transform .8s var(--m-ease)}
.m-in .m-fade,.m-fade.m-in{opacity:1;transform:none}
.m-bg{animation:m-kb 26s var(--m-ease) infinite alternate}
@keyframes m-kb{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-2%,-1.5%,0)}}
.m-sweep{position:absolute;inset:0;pointer-events:none;z-index:0;background:linear-gradient(105deg,transparent 35%,rgba(105,177,255,.10) 48%,rgba(240,179,90,.08) 52%,transparent 65%);background-size:250% 100%;animation:m-sweep 9s linear infinite}
@keyframes m-sweep{from{background-position:120% 0}to{background-position:-120% 0}}
.m-item{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .75s var(--m-ease),transform .75s var(--m-ease);transition-delay:var(--m-d,0ms)}
.m-item.m-in{opacity:1;transform:none}
.m-h2{position:relative}
.m-h2::after{content:"";display:block;height:3px;width:56px;margin-top:10px;border-radius:3px;background:linear-gradient(90deg,#1f6fff,#f0b35a);transform:scaleX(0);transform-origin:0 50%;transition:transform .9s var(--m-ease) .15s}
.m-h2.m-in::after{transform:scaleX(1)}
.m-spot{position:relative;isolation:isolate}
.m-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s var(--m-ease);
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(105,177,255,.16),transparent 45%)}
.m-spot:hover::before{opacity:1}
.m-tilt{transition:transform .5s var(--m-ease),box-shadow .5s var(--m-ease),border-color .3s var(--m-ease);will-change:transform}
.m-tilt.m-hov{box-shadow:0 26px 50px -30px rgba(31,111,255,.65)}
.m-float{animation:m-float 6s ease-in-out infinite}
@keyframes m-float{50%{transform:translateY(-8px)}}
.m-wave > li{--w:0;transition:opacity .75s var(--m-ease),transform .45s var(--m-ease);transition-delay:var(--m-d,0ms)}
.m-wave > li > div{transition:transform .45s var(--m-ease);transform:translateX(calc(var(--w) * 16px))}
.m-wave > li > div b{color:color-mix(in srgb,#fff calc(var(--w) * 100%),#dfe9fb)}
.m-wave > li::before{transition:transform .45s var(--m-ease),box-shadow .45s var(--m-ease),background-color .3s;transform:scale(calc(1 + var(--w) * .9));box-shadow:0 0 0 calc(var(--w) * 7px) rgba(105,177,255,.18),0 0 calc(var(--w) * 18px) rgba(105,177,255,.55)}
.m-wave > li b{transition:color .3s var(--m-ease)}
.m-wave > li time{transition:transform .45s var(--m-ease),color .3s;display:inline-block;transform:translateX(calc(var(--w) * -4px))}
@media (prefers-reduced-motion:reduce){
  .m-hero .m-w>span,.m-fade,.m-item{opacity:1!important;transform:none!important;transition:none!important}
  .m-bg,.m-sweep,.m-float{animation:none!important}.m-h2::after{transform:scaleX(1);transition:none}.m-progress{display:none}
}
