
/* ---- motion v2: live background, cursor follower, 3D shapes, split headings ---- */
#mo-bg{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;display:block}
.band,.mo-tech{background:rgba(8,27,40,.55)!important;backdrop-filter:blur(2px)}
.ai{background:linear-gradient(180deg,rgba(8,27,40,.55),rgba(6,20,31,0))!important}
.foot{background:rgba(6,20,31,.75)}

/* cursor follower (desktop only, added by JS) */
.mo-cur{position:fixed;left:0;top:0;z-index:10000;pointer-events:none;will-change:transform}
.mo-dot{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#FBE87E;box-shadow:0 0 12px rgba(251,232,126,.8)}
.mo-ring{width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:1.5px solid rgba(251,232,126,.75);display:flex;align-items:center;justify-content:center;font:700 11px/1 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:transparent;transition:width .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),margin .4s cubic-bezier(.16,1,.3,1),background-color .3s,border-color .3s,color .2s,opacity .3s}
.mo-ring.link{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(251,232,126,.12);border-color:rgba(251,232,126,.9)}
.mo-ring.view{width:92px;height:92px;margin:-46px 0 0 -46px;background:#FBE87E;border-color:#FBE87E;color:#06141F}
.mo-ring.down{width:30px;height:30px;margin:-15px 0 0 -15px}
.mo-cur.off{opacity:0}
html.mo-cursor,html.mo-cursor *{cursor:none!important}
html.mo-cursor input,html.mo-cursor textarea,html.mo-cursor select{cursor:text!important}

/* 3D hero stack */
#collage{transform-style:preserve-3d;will-change:transform}
#collage .l1{translate:0 0 0}
#collage .l2{translate:0 0 90px}
#collage .l3{translate:0 0 150px}
#collage .layer:last-child{translate:0 0 220px}
#collage .shot{box-shadow:0 50px 100px rgba(0,0,0,.6),0 0 0 1px rgba(251,232,126,.08)}

/* floating 3D shapes */
.mo-deco{position:absolute;pointer-events:none;z-index:0}
.mo-cube{width:var(--s,70px);height:var(--s,70px);transform-style:preserve-3d;animation:mo-spin var(--t,16s) linear infinite}
.mo-cube i{position:absolute;inset:0;border:1.5px solid rgba(251,232,126,.55);background:rgba(251,232,126,.05);box-shadow:inset 0 0 20px rgba(251,232,126,.12)}
.mo-cube i:nth-child(1){transform:translateZ(calc(var(--s,70px)/2))}
.mo-cube i:nth-child(2){transform:rotateY(180deg) translateZ(calc(var(--s,70px)/2))}
.mo-cube i:nth-child(3){transform:rotateY(90deg) translateZ(calc(var(--s,70px)/2))}
.mo-cube i:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--s,70px)/2))}
.mo-cube i:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--s,70px)/2))}
.mo-cube i:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--s,70px)/2))}
.mo-cube.teal i{border-color:rgba(84,197,248,.5);background:rgba(84,197,248,.05);box-shadow:inset 0 0 20px rgba(84,197,248,.12)}
@keyframes mo-spin{from{transform:rotateX(-20deg) rotateY(0deg) rotateZ(10deg)}to{transform:rotateX(-20deg) rotateY(360deg) rotateZ(10deg)}}
.mo-ringd{width:var(--s,160px);height:var(--s,160px);border-radius:50%;border:2px solid rgba(251,232,126,.35);transform-style:preserve-3d;animation:mo-tilt var(--t,12s) ease-in-out infinite;box-shadow:0 0 40px rgba(251,232,126,.12),inset 0 0 40px rgba(251,232,126,.08)}
.mo-ringd:after{content:"";position:absolute;inset:18%;border-radius:50%;border:1.5px dashed rgba(255,255,255,.18)}
@keyframes mo-tilt{0%,100%{transform:rotateX(68deg) rotateZ(0deg)}50%{transform:rotateX(58deg) rotateZ(180deg)}}
.mo-sec{position:relative}
.mo-sec>.wrap{position:relative;z-index:1}

/* split heading reveal */
.mo-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.06em;margin-bottom:-.06em}
.mo-w>span{display:inline-block;translate:0 105%;rotate:z 6deg;transition:translate 1s cubic-bezier(.16,1,.3,1) var(--wd,0ms),rotate 1s cubic-bezier(.16,1,.3,1) var(--wd,0ms)}
.mo-split.on .mo-w>span{translate:0 0;rotate:z 0deg}

@media (max-width:980px){.mo-deco{display:none}}
@media (prefers-reduced-motion: reduce){.mo-cube,.mo-ringd{animation:none}.mo-w>span{translate:none!important;rotate:none!important}}
