/* EasyBiz motion kit — attribute-driven motion for our sites (no dependencies). See README.md */
:root{--mk-ease:cubic-bezier(.2,.7,.2,1);--mk-dur:.9s;--mk-ink:#0b0d12;--mk-paper:#f4f2ee;--mk-accent:#2b6cff}

/* intro: counter preloader + curtain */
.mk-intro{position:fixed;inset:0;z-index:9999;background:var(--mk-ink);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,4vw,48px);transition:transform 1s var(--mk-ease)}
.mk-intro.done{transform:translateY(-100%)}
.mk-intro .mk-i-top{display:flex;justify-content:space-between;font:500 12px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
.mk-intro .mk-i-word{font-weight:900;font-size:clamp(56px,15vw,260px);line-height:.85;letter-spacing:-.04em;overflow:hidden}
.mk-intro .mk-i-word span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--mk-ease)}
.mk-intro.go .mk-i-word span{transform:none}
.mk-intro .mk-i-bot{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.mk-intro .mk-i-num{font:700 clamp(40px,8vw,120px)/1 ui-monospace,Menlo,monospace;letter-spacing:-.04em}
.mk-intro .mk-i-bar{flex:1;height:2px;background:rgba(255,255,255,.15);position:relative;align-self:center}
.mk-intro .mk-i-bar i{position:absolute;inset:0;width:0;background:#fff;transition:width .2s linear}
.mk-intro .mk-i-skip{background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:8px 14px;font-size:12px;cursor:pointer}
html.mk-lock,html.mk-lock body{overflow:hidden}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}

/* split headline: words rise through a mask */
[data-split] .mk-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
[data-split] .mk-w>span{display:inline-block;transform:translateY(110%);transition:transform var(--mk-dur) var(--mk-ease);transition-delay:calc(var(--i,0) * 70ms)}
[data-split].mk-in .mk-w>span{transform:none}

/* reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(40px);transition:opacity var(--mk-dur) var(--mk-ease),transform var(--mk-dur) var(--mk-ease),clip-path 1.2s var(--mk-ease);transition-delay:var(--mk-delay,0s)}
[data-reveal="fade"]{transform:none}
[data-reveal="zoom"]{transform:scale(.94)}
[data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(18% 0 18% 0 round 6px)}
[data-reveal="clip"] img,[data-reveal="clip"] video{transform:scale(1.15);transition:transform 1.4s var(--mk-ease)}
[data-reveal].mk-in{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 0)}
[data-reveal="clip"].mk-in img,[data-reveal="clip"].mk-in video{transform:none}

/* paragraph fill: words go from faint to solid as you scroll */
[data-fill] .mk-f{opacity:.18;transition:opacity .3s linear}
[data-fill] .mk-f.on{opacity:1}

/* marquee */
[data-marquee]{overflow:hidden;white-space:nowrap;display:flex;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
[data-marquee] .mk-mq{display:flex;flex:0 0 auto;gap:var(--mk-gap,48px);padding-right:var(--mk-gap,48px);animation:mk-mq var(--mk-speed,28s) linear infinite}
[data-marquee]:hover .mk-mq{animation-play-state:paused}
@keyframes mk-mq{to{transform:translateX(-100%)}}

/* magnetic + cursor */
[data-magnetic]{transition:transform .35s var(--mk-ease);will-change:transform}
.mk-cursor{position:fixed;left:0;top:0;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;mix-blend-mode:difference;pointer-events:none;z-index:9998;transition:width .25s var(--mk-ease),height .25s var(--mk-ease),margin .25s var(--mk-ease)}
.mk-cursor.big{width:56px;height:56px;margin:-28px 0 0 -28px}
@media (hover:none),(pointer:coarse){.mk-cursor{display:none}}

/* respect reduced motion: show everything immediately */
@media (prefers-reduced-motion:reduce){
  .mk-intro{display:none}
  [data-split] .mk-w>span,[data-reveal],[data-reveal] img,[data-reveal] video{transform:none!important;opacity:1!important;clip-path:none!important;transition:none!important}
  [data-fill] .mk-f{opacity:1}
  [data-marquee] .mk-mq{animation:none}
}
