/* motion v2: original layer, brand colors via currentColor/inherit */
.m2-bar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:currentColor;color:var(--accent,var(--brand,var(--primary,#2563eb)));z-index:9999;pointer-events:none}
body.m2-ready{animation:m2Page .5s ease both}
@keyframes m2Page{from{opacity:0}to{opacity:1}}
.m2-rv{opacity:0;transform:translateY(34px) scale(.98);transition:opacity .8s ease var(--m2d,0s),transform .9s cubic-bezier(.16,1,.3,1) var(--m2d,0s)}
.m2-zoom{opacity:0;transform:scale(.92);transition:opacity .8s ease var(--m2d,0s),transform .9s cubic-bezier(.16,1,.3,1) var(--m2d,0s)}
.m2-in{opacity:1!important;transform:none!important}
.m2-hero-media{animation:m2Ken 18s ease-in-out infinite alternate;transform-origin:50% 40%}
@keyframes m2Ken{from{transform:scale(1)}to{transform:scale(1.08)}}
.m2-hero h1{background-size:200% 100%}
.btn,.button,button[type=submit]{position:relative;overflow:hidden}
.btn::after,.button::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s ease;pointer-events:none}
.btn:hover::after,.button:hover::after{transform:translateX(120%)}
.m2-tilt{transition:transform .25s ease,box-shadow .3s ease;will-change:transform}
.m2-marq{display:flex!important;flex-wrap:nowrap!important;width:max-content;animation:m2Marq 30s linear infinite}
.m2-marq-wrap{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.m2-marq-wrap:hover .m2-marq{animation-play-state:paused}
@keyframes m2Marq{to{transform:translateX(-50%)}}
@media (max-width:700px){.m2-rv{transform:translateY(20px)}.m2-hero-media{animation:none}}
@media (prefers-reduced-motion:reduce){.m2-rv,.m2-zoom{opacity:1!important;transform:none!important;transition:none!important}.m2-hero-media,.m2-marq,body.m2-ready{animation:none!important}.m2-bar{display:none}.btn::after,.button::after{display:none}}
