/* Movezle immersive layer — scroll depth, cinematic hero, cursor light, network map. Additive. */
.mzi-orbs{position:fixed;inset:0;z-index:3;mix-blend-mode:screen;pointer-events:none;overflow:hidden}
.mzi-orbs i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.38;will-change:transform}
.mzi-orbs i:nth-child(1){width:46vw;height:46vw;left:-12vw;top:8vh;background:radial-gradient(circle,rgba(47,107,255,.42),transparent 66%)}
.mzi-orbs i:nth-child(2){width:38vw;height:38vw;right:-10vw;top:46vh;background:radial-gradient(circle,rgba(79,195,247,.3),transparent 66%)}
.mzi-orbs i:nth-child(3){width:30vw;height:30vw;left:30vw;bottom:-14vh;background:radial-gradient(circle,rgba(120,90,255,.22),transparent 66%)}
.mzi-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:2;background:radial-gradient(circle,rgba(110,165,255,.14),transparent 62%);mix-blend-mode:screen;will-change:transform;opacity:0;transition:opacity .4s}
.mzi-glow.on{opacity:1}
.mzi-s{will-change:transform}
/* hero depth */
.mzi-hero-bg{will-change:transform}
.mzi-hero-fg{will-change:transform,opacity}
/* intro curtain */
.mzi-intro{position:fixed;inset:0;z-index:200000;display:grid;place-items:center;background:radial-gradient(900px 500px at 50% 45%,#0c2250,#040a1c);transition:opacity .7s ease .15s,visibility .7s .15s}
.mzi-intro.out{opacity:0;visibility:hidden}
.mzi-intro .lg{display:flex;align-items:center;gap:14px;color:#fff;font:800 clamp(28px,5vw,46px)/1 Inter,Arial,sans-serif;letter-spacing:.02em;animation:mziLg .9s cubic-bezier(.2,.8,.2,1) both}
.mzi-intro img{width:clamp(44px,7vw,64px);height:auto;filter:drop-shadow(0 0 22px rgba(79,195,247,.6))}
.mzi-intro .ln{position:absolute;left:50%;top:calc(50% + 52px);width:min(260px,50vw);height:2px;transform:translateX(-50%);background:rgba(255,255,255,.12);overflow:hidden;border-radius:2px}
.mzi-intro .ln::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#4fc3f7,transparent);animation:mziLn 1s ease-in-out infinite}
@keyframes mziLg{from{opacity:0;transform:translateY(14px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes mziLn{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
/* chapter rail */
.mzi-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:9980;display:flex;flex-direction:column;gap:12px;padding:12px 8px;border-radius:999px;background:rgba(8,18,44,.55);backdrop-filter:blur(10px);border:1px solid rgba(140,175,255,.2)}
.mzi-rail a{position:relative;display:block;width:9px;height:9px;border-radius:50%;background:rgba(160,185,235,.35);transition:transform .3s,background .3s,box-shadow .3s}
.mzi-rail a.on{background:#4fc3f7;transform:scale(1.45);box-shadow:0 0 12px rgba(79,195,247,.9)}
.mzi-rail a span{position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;padding:5px 10px;border-radius:8px;background:rgba(8,18,44,.95);border:1px solid rgba(140,175,255,.3);color:#e8efff;font:600 12px Inter,Arial,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s}
.mzi-rail a:hover span,.mzi-rail a:focus-visible span{opacity:1}
@media(max-width:980px){.mzi-rail{display:none}}
/* network map */
.mzi-map{position:relative;padding:clamp(56px,7vw,100px) var(--mz-gut,24px);text-align:center;font-family:Inter,Arial,sans-serif;overflow:hidden}
.mzi-map .eye{display:block;color:#4fc3f7;font:600 12px/1 Inter,Arial,sans-serif;letter-spacing:.32em;text-transform:uppercase;margin-bottom:16px}
.mzi-map h2{margin:0 auto 12px;max-width:820px;color:#fff;font:800 clamp(28px,3.6vw,48px)/1.12 Inter,Arial,sans-serif}
.mzi-map h2 em{font-style:normal;color:#4d8dff}
.mzi-map p.sub{margin:0 auto 26px;max-width:640px;color:#a9b8d8;font-size:16px;line-height:1.6}
.mzi-stage{position:relative;max-width:760px;margin:0 auto;perspective:1100px}
.mzi-tilt{position:relative;aspect-ratio:1/1.02;transition:transform .25s ease-out;transform-style:preserve-3d;border-radius:28px;border:1px solid rgba(140,175,255,.22);background:radial-gradient(520px 360px at 50% 40%,rgba(47,107,255,.14),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 40px 80px -30px rgba(0,8,30,.9)}
.mzi-tilt canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.mzi-tip{position:absolute;pointer-events:none;padding:6px 11px;border-radius:9px;background:rgba(8,18,44,.95);border:1px solid rgba(140,175,255,.35);color:#fff;font:600 12px Inter,Arial,sans-serif;opacity:0;transform:translate(-50%,-130%);transition:opacity .15s;white-space:nowrap}
.mzi-note{margin-top:14px;color:#7f90b6;font-size:12px}
@media(prefers-reduced-motion:reduce){.mzi-intro{display:none}.mzi-orbs i{display:none}}
