:root {
    --jv-bg: #050609;
    --jv-bg-2: #090b10;
    --jv-ink: #f4f7fb;
    --jv-muted: #9aa6b6;
    --jv-soft: rgba(255, 255, 255, .075);
    --jv-line: rgba(226, 235, 247, .14);
    --jv-line-strong: rgba(226, 235, 247, .24);
    --jv-card: rgba(9, 12, 18, .72);
    --jv-primary: #e8edf5;
    --jv-cyan: #69c7f0;
    --jv-gold: #c99a55;
    --jv-red: #d75b5b;
    --jv-green: #56c49b;
    --jv-radius: 8px;
    --jv-shadow: 0 28px 80px rgba(0, 0, 0, .42);
    --jv-ease: cubic-bezier(.16, 1, .3, 1);
    --el-color-primary: #e8edf5;
    --el-border-radius-base: 8px;
    --el-font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

/* Performance scheduling without layout containment or viewport clipping. */
body.jvue-effects-booting .jvue-home *,
body.jvue-page-paused .jvue-home * {
    animation-play-state: paused !important;
}

body.jvue-effects-booting .jvue-depth-particles,
body.jvue-effects-booting .jvue-webgl-stage,
body.jvue-page-paused .jvue-depth-particles,
body.jvue-page-paused .jvue-webgl-stage {
    opacity: 0 !important;
}

body.jvue-effects-live .jvue-depth-particles,
body.jvue-effects-live .jvue-webgl-stage {
    transition: opacity .72s var(--jv-ease);
}

body.jvue-effects-booting .jvue-live-backdrop,
body.jvue-effects-booting .jvue-motion-field,
body.jvue-effects-booting .jvue-energy-field,
body.jvue-effects-booting .jvue-scroll-sculpture,
body.jvue-effects-booting .jvue-stage-scenes,
body.jvue-effects-booting .jvue-stage-director,
body.jvue-effects-booting .jvue-scene-magnet,
body.jvue-page-paused .jvue-live-backdrop,
body.jvue-page-paused .jvue-motion-field,
body.jvue-page-paused .jvue-energy-field,
body.jvue-page-paused .jvue-scroll-sculpture,
body.jvue-page-paused .jvue-stage-scenes,
body.jvue-page-paused .jvue-stage-director,
body.jvue-page-paused .jvue-scene-magnet {
    opacity: 0 !important;
    animation: none !important;
    transition: opacity .56s var(--jv-ease) !important;
}

/* Keep the cinematic atmosphere without projecting fragment panels over content. */
.jvue-stage-projector,
.jvue-scroll-sculpture,
.jvue-scrollworld,
.jvue-energy-field,
.jvue-kinetic-cursor-field,
.jvue-anime-transition-field,
.jvue-work-cinema-field,
.jvue-scroll-director-field,
.jvue-at-scroll-stage,
.jvue-at-work-reel,
.jvue-stage-tableau,
.jvue-stage-director,
.jvue-scene-magnet,
.jvue-stage-cuts,
.jvue-stage-frames,
.jvue-stage-shards,
.jvue-stage-index,
.jvue-stage-storywall,
.jvue-stage-gallery,
.jvue-stage-workstrip,
.jvue-stage-chapter,
.jvue-stage-poster,
.jvue-stage-reel,
.jvue-stage-anime,
.jvue-stage-lens,
.jvue-stage-echo,
.jvue-stage-wipe,
.jvue-stage-workcuts,
.jvue-stage-cut,
.jvue-stage-wake,
.jvue-stage-pixels,
.jvue-stage-runners,
.jvue-stage-meter {
    display: none !important;
}

.jvue-webgl-stage {
    contain: strict;
}

.jvue-depth-particles,
.jvue-live-backdrop,
.jvue-chapter-particles,
.jvue-motion-field,
.jvue-stage-radials,
.jvue-stage-portals,
.jvue-stage-scenes,
.jvue-stage-morph,
.jvue-stage-fluid,
.jvue-stage-streams,
.jvue-stage-flowfield,
.jvue-stage-kinetic,
.jvue-motion-bands,
.jvue-stage-orbit-field,
.jvue-stage-storywall,
.jvue-stage-gallery,
.jvue-stage-workstrip,
.jvue-stage-chapter,
.jvue-stage-poster,
.jvue-stage-reel {
    contain: paint;
}

.jvue-unified-stage {
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity .72s var(--jv-ease);
    contain: strict;
}

.jvue-home.is-unified-stage .jvue-unified-stage {
    opacity: 1;
}

.jvue-home.is-unified-stage .jvue-webgl-stage,
.jvue-home.is-unified-stage .jvue-depth-particles,
.jvue-home.is-unified-stage .jvue-live-backdrop,
.jvue-home.is-unified-stage .jvue-chapter-particles,
.jvue-home.is-unified-stage .jvue-stage-projector,
.jvue-home.is-unified-stage .jvue-motion-field,
.jvue-home.is-unified-stage .jvue-energy-field,
.jvue-home.is-unified-stage .jvue-scroll-sculpture,
.jvue-home.is-unified-stage .jvue-motion-bands,
.jvue-home.is-unified-stage .jvue-stage-scenes,
.jvue-home.is-unified-stage .jvue-stage-director,
.jvue-home.is-unified-stage .jvue-scene-magnet,
.jvue-home.is-unified-stage .jvue-stage-tableau,
.jvue-home.is-unified-stage .jvue-stage-cuts,
.jvue-home.is-unified-stage .jvue-stage-flowfield,
.jvue-home.is-unified-stage .jvue-stage-kinetic,
.jvue-home.is-unified-stage .jvue-anime-transition-field,
.jvue-home.is-unified-stage .jvue-scroll-director-field,
.jvue-home.is-unified-stage .jvue-stage-flash,
.jvue-home.is-unified-stage .jvue-stage-hotspot,
.jvue-home.is-unified-stage .jvue-stage-orbit-field,
.jvue-home.is-unified-stage .jvue-stage-storywall,
.jvue-home.is-unified-stage .jvue-stage-gallery,
.jvue-home.is-unified-stage .jvue-stage-workstrip,
.jvue-home.is-unified-stage .jvue-stage-chapter,
.jvue-home.is-unified-stage .jvue-stage-poster,
.jvue-home.is-unified-stage .jvue-stage-reel,
.jvue-home.is-unified-stage .jvue-stage-anime,
.jvue-home.is-unified-stage .jvue-stage-lens,
.jvue-home.is-unified-stage .jvue-stage-echo,
.jvue-home.is-unified-stage .jvue-stage-wipe,
.jvue-home.is-unified-stage .jvue-stage-workcuts,
.jvue-home.is-unified-stage .jvue-stage-cut,
.jvue-home.is-unified-stage .jvue-stage-wake,
.jvue-home.is-unified-stage .jvue-stage-pixels,
.jvue-home.is-unified-stage .jvue-stage-runners,
.jvue-home.is-unified-stage .jvue-stage-meter {
    display: none !important;
}

.jvue-home.is-unified-stage > main,
.jvue-home.is-unified-stage > footer {
    position: relative;
    z-index: 2;
}

/* The unified canvas owns ambient motion; keep legacy layers as static fallback only. */
.jvue-home.is-unified-stage::before,
.jvue-home.is-unified-stage::after,
.jvue-home.is-unified-stage .jvue-webgl-stage,
.jvue-home.is-unified-stage .jvue-webgl-stage::before,
.jvue-home.is-unified-stage .jvue-webgl-stage::after,
.jvue-home.is-unified-stage .jvue-hero-grain,
.jvue-home.is-unified-stage .jvue-immersive-hero::after {
    animation: none !important;
    will-change: auto !important;
}

body.jvue-perf-balanced .jvue-depth-particles,
body.jvue-perf-compact .jvue-depth-particles {
    will-change: auto !important;
}

body.jvue-perf-balanced .jvue-home:not(.is-scroll-active):not(.is-scene-switching):not(.is-work-transitioning) .jvue-webgl-stage *,
body.jvue-perf-balanced .jvue-home:not(.is-scroll-active):not(.is-scene-switching):not(.is-work-transitioning) .jvue-webgl-stage *::before,
body.jvue-perf-balanced .jvue-home:not(.is-scroll-active):not(.is-scene-switching):not(.is-work-transitioning) .jvue-webgl-stage *::after,
body.jvue-perf-compact .jvue-webgl-stage *,
body.jvue-perf-compact .jvue-webgl-stage *::before,
body.jvue-perf-compact .jvue-webgl-stage *::after {
    animation-play-state: paused !important;
}

.jvue-home.is-scroll-active .jvue-atmosphere,
.jvue-home.is-scroll-active .jvue-grid,
.jvue-home.is-scroll-active .jvue-hero-grain,
.jvue-home.is-scroll-active .jvue-live-backdrop,
.jvue-home.is-scroll-active .jvue-motion-field,
.jvue-home.is-scroll-active .jvue-depth-particles {
    animation-play-state: paused !important;
}

/* Decorative scans stay still until the user engages with their component. */
.jvue-work-panel::after,
.jvue-project-preview::before,
.jvue-project-preview::after,
.jvue-project-preview i,
.jvue-market-card::after,
.jvue-product-card::after,
.jvue-news-grid article::after {
    animation-play-state: paused !important;
    will-change: auto !important;
}

@media (hover: hover) and (pointer: fine) {
    .jvue-work-panel:hover::after,
    .jvue-work-panel:focus-within::after,
    .jvue-work-panel:hover .jvue-project-preview::before,
    .jvue-work-panel:hover .jvue-project-preview::after,
    .jvue-work-panel:hover .jvue-project-preview i,
    .jvue-work-panel:focus-within .jvue-project-preview::before,
    .jvue-work-panel:focus-within .jvue-project-preview::after,
    .jvue-work-panel:focus-within .jvue-project-preview i,
    .jvue-market-card:hover::after,
    .jvue-market-card:focus-within::after,
    .jvue-market-card.is-pointer-hot::after,
    .jvue-product-card:hover::after,
    .jvue-product-card:focus-within::after,
    .jvue-product-card.is-pointer-hot::after,
    .jvue-news-grid article:hover::after,
    .jvue-news-grid article:focus-within::after,
    .jvue-news-grid article.is-pointer-hot::after {
        animation-play-state: running !important;
    }
}

.jvue-home.is-scroll-active .jvue-work-panel::after,
.jvue-home.is-scroll-active .jvue-project-preview::before,
.jvue-home.is-scroll-active .jvue-project-preview::after,
.jvue-home.is-scroll-active .jvue-project-preview i,
.jvue-home.is-scroll-active .jvue-market-card::after,
.jvue-home.is-scroll-active .jvue-product-card::after,
.jvue-home.is-scroll-active .jvue-news-grid article::after,
body.jvue-perf-compact .jvue-work-panel::after,
body.jvue-perf-compact .jvue-project-preview::before,
body.jvue-perf-compact .jvue-project-preview::after,
body.jvue-perf-compact .jvue-project-preview i,
body.jvue-perf-compact .jvue-market-card::after,
body.jvue-perf-compact .jvue-product-card::after,
body.jvue-perf-compact .jvue-news-grid article::after {
    animation-play-state: paused !important;
}

@media (max-width: 900px), (prefers-reduced-transparency: reduce) {
    body.jvue-perf-compact .jvue-depth-particles {
        opacity: .26 !important;
        filter: saturate(1.02) contrast(1.04) !important;
    }

    body.jvue-perf-compact .jvue-live-backdrop::after,
    body.jvue-perf-compact .jvue-live-backdrop em,
    body.jvue-perf-compact .jvue-stage-fluid::before,
    body.jvue-perf-compact .jvue-stage-fluid::after {
        filter: blur(6px) !important;
    }

    body.jvue-perf-compact .jvue-stage-streams i:nth-of-type(n + 5),
    body.jvue-perf-compact .jvue-stage-streams b:nth-of-type(n + 4),
    body.jvue-perf-compact .jvue-stage-flowfield i:nth-of-type(n + 5),
    body.jvue-perf-compact .jvue-stage-flowfield b:nth-of-type(n + 4),
    body.jvue-perf-compact .jvue-stage-kinetic i:nth-of-type(n + 4),
    body.jvue-perf-compact .jvue-stage-kinetic b:nth-of-type(n + 4) {
        display: none !important;
    }

    body.jvue-perf-compact .jvue-feature-card,
    body.jvue-perf-compact .jvue-market-card,
    body.jvue-perf-compact .jvue-product-card,
    body.jvue-perf-compact .jvue-work-panel,
    body.jvue-perf-compact .jvue-news-grid article,
    body.jvue-perf-compact .jvue-header {
        -webkit-backdrop-filter: none !important;
        backdrop-filter: none !important;
    }
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    background: var(--jv-bg);
}

body.platform-pro-vue-element {
    margin: 0;
    min-width: 320px;
    color: var(--jv-ink);
    background: var(--jv-bg);
    font-family: var(--el-font-family);
}

body.jvue-mobile-shell {
    min-width: 0;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

body.platform-pro-vue-element a {
    color: inherit;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}

.jvue-shell {
    min-height: 100vh;
    background:
        radial-gradient(circle at 12% 16%, rgba(105, 199, 240, .16), transparent 28%),
        radial-gradient(circle at 84% 18%, rgba(201, 154, 85, .13), transparent 26%),
        linear-gradient(180deg, #050609 0, #080b10 54%, #06070a 100%);
}

.jvue-container {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}

.jvue-home {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    --fx-a: rgba(105, 199, 240, .16);
    --fx-b: rgba(201, 154, 85, .12);
    --fx-c: rgba(255, 255, 255, .055);
    --fx-vignette: rgba(0, 0, 0, .82);
    --fx-scroll: 0;
    --fx-progress: 0;
    --fx-depth: 0;
    --fx-velocity: 0;
    --fx-direction: 1;
    --fx-motion-energy: 0;
    --fx-inertia-x: 0px;
    --fx-inertia-y: 0px;
    --fx-counter-y: 0px;
    --fx-inertia-tilt: 0deg;
    --fx-scroll-blur: 0px;
    --fx-stage-x: 0px;
    --fx-stage-y: 0px;
    --fx-mask-x: 0px;
    --fx-mask-y: 0px;
    --stage-cursor-x: 0px;
    --stage-cursor-y: 0px;
    --stage-cursor-tilt: 0deg;
    --stage-camera-scale: 1;
    --stage-scroll-x: 0px;
    --stage-scroll-y: 0px;
    --stage-scroll-tilt: 0deg;
    --stage-scroll-scale: 1;
    --webgl-shock-opacity: 0;
    --webgl-shock-x: 0px;
    --webgl-shock-y: 0px;
    --webgl-shock-wipe-x: 0px;
    --webgl-shock-wipe-y: 0px;
    --webgl-shock-angle: 0deg;
    --webgl-shock-scale: 1;
    --webgl-shock-stretch: 1;
    --webgl-shock-blur: 0px;
    --webgl-shock-scan: 0px;
    --stage-aperture-x: 50%;
    --stage-aperture-y: 45%;
    --stage-vignette: .72;
    --scroll-aperture-x: 50%;
    --scroll-aperture-y: 48%;
    --scroll-aperture-radius: 30%;
    --scroll-aperture-edge: 74%;
    --scroll-aperture-glow: .04;
    --scroll-aperture-blue: .05;
    --scroll-aperture-dark: .2;
    --chapter-field-opacity: .28;
    --chapter-field-x: 0px;
    --chapter-field-y: 0px;
    --chapter-field-tilt: 0deg;
    --chapter-field-scale: 1;
    --chapter-field-blur: 0px;
    --chapter-field-density: .36;
    --chapter-field-scan: 0px;
    --chapter-field-speed: 13.4s;
    --projector-opacity: .2;
    --projector-x: 0px;
    --projector-y: 0px;
    --projector-tilt: 0deg;
    --projector-scale: 1;
    --projector-blur: 0px;
    --projector-scan: 0px;
    --projector-speed: 12.8s;
    --projector-depth: .24;
    --projector-brightness: 1.04;
    --fx-canvas-x: 0px;
    --fx-canvas-y: 0px;
    --fx-content-x: 0px;
    --fx-content-y: 0px;
    --fx-stage-scale: 1;
    --fx-canvas-scale: 1;
    --fx-burst: 0;
    --fx-pixel-opacity: .075;
    --fx-pixel-scale: 1;
    --fx-burst-x: 0px;
    --fx-burst-y: 0px;
    --fx-pixel-size: 30px;
    --fx-scale: 1;
    --fx-grid-opacity: .24;
    --fx-bg-x: 0px;
    --fx-bg-y: 0px;
    --fx-sweep-x: 0px;
    --fx-sweep-soft: 0px;
    --fx-portal-x: 0px;
    --fx-portal-y: 0px;
    --fx-portal-tilt: 0deg;
    --fx-wake-opacity: .22;
    --fx-wake-x: 0px;
    --fx-grid-x: 0px;
    --fx-grid-y: 0px;
    --fx-grid2-x: 0px;
    --fx-grid2-y: 0px;
    --fx-diagonal-x: 0px;
    --fx-shift-x: 0px;
    --fx-shift-y: 0px;
    --fx-angle: 0deg;
    --fx-orbit-angle: 0deg;
    --fx-orbit-x: 0px;
    --fx-orbit-y: 0px;
    --fx-cut-angle: -12deg;
    --fx-cut-x: 0vw;
    --fx-cut-y: 0vh;
    --workcut-idle-opacity: .16;
    --workcut-drift-x: 0px;
    --workcut-drift-y: 0px;
    --workcut-tilt: 0deg;
    --workcut-scale: 1;
    --workcut-scan: 0px;
    --workcut-speed: 9.6s;
    --workcut-node-opacity: .18;
    --workcut-panel-opacity: .08;
    --anime-cut-opacity: .16;
    --anime-cut-angle: -12deg;
    --anime-cut-x: 0px;
    --anime-cut-y: 0px;
    --anime-cut-scale: 1;
    --anime-cut-speed: 9.4s;
    --anime-cut-flash: .08;
    --anime-cut-scan: 0px;
    --anime-cut-depth: .12;
    --active-slice-opacity: 0;
    --active-slice-band-opacity: .12;
    --active-slice-x: 0px;
    --active-slice-y: 0px;
    --active-slice-angle: 0deg;
    --active-slice-scale: 1;
    --active-slice-blur: 0px;
    --active-slice-scan: 0px;
    --active-slice-scan-reverse: 0px;
    --active-slice-depth: .08;
    --at-stage-opacity: .62;
    --at-stage-energy: .18;
    --at-stage-x: 0px;
    --at-stage-y: 0px;
    --at-stage-tilt: 0deg;
    --at-stage-scale: 1;
    --at-stage-scan: 0px;
    --at-stage-scan-reverse: 0px;
    --at-stage-depth-z: -220px;
    --at-stage-tunnel-opacity: .18;
    --at-stage-slice-opacity: .08;
    --at-stage-field-opacity: .16;
    --at-stage-node-opacity: .42;
    --at-stage-rail-speed: 6.8s;
    --at-stage-node-speed: 3.8s;
    --at-stage-panel-speed: 8.8s;
    --at-stage-signal-speed: 9.4s;
    --at-stage-focus-x: 52%;
    --at-stage-focus-y: 50%;
    --at-work-opacity: .28;
    --at-work-x: 0px;
    --at-work-y: 0px;
    --at-work-tilt: 0deg;
    --at-work-scale: 1;
    --at-work-scan: 0px;
    --at-work-depth: 0px;
    --at-work-edge-opacity: .16;
    --at-work-panel-opacity: .18;
    --at-work-speed: 9s;
    --scroll-director-opacity: .34;
    --scroll-director-visual-opacity: .34;
    --scroll-director-x: 0px;
    --scroll-director-y: 0px;
    --scroll-director-angle: 0deg;
    --scroll-director-scale: 1;
    --scroll-director-depth: .16;
    --scroll-director-depth-z: 28.8px;
    --scroll-director-scan: 0px;
    --scroll-director-scan-reverse: 0px;
    --scroll-director-speed: 9.8s;
    --cursor-director-opacity: 0;
    --cursor-director-x: 0px;
    --cursor-director-y: 0px;
    --cursor-director-tilt: 0deg;
    --cursor-director-scale: 1;
    --cursor-director-angle: 0rad;
    --cursor-director-scan: 0px;
    --cinema-opacity: .34;
    --cinema-x: 0px;
    --cinema-y: 0px;
    --cinema-tilt: 0deg;
    --cinema-scale: 1;
    --cinema-scan: 0px;
    --cinema-depth: .18;
    --cinema-speed: 10s;
    --cinema-wipe-opacity: .18;
    --cinema-wipe-x: 0px;
    --cinema-wipe-y: 0px;
    --cinema-wipe-angle: -14deg;
    --cinema-wipe-scale: 1;
    --cinema-focus-opacity: .20;
    --cinema-focus-scale: 1;
    --cinema-card-glow: .14;
    --cinema-node-boost: .10;
    --cinema-ambient-x: 0px;
    --cinema-ambient-y: 0px;
    --cinema-ambient-tilt: 0deg;
    --cinema-ambient-scale: 1;
    --cinema-ambient-scan: 0px;
    --cinema-ambient-wipe-x: 0px;
    --cinema-ambient-wipe-y: 0px;
    --cinema-ambient-wipe-angle: 0deg;
    --cinema-ambient-focus-scale: 1;
    --ambient-flow-x: 0px;
    --ambient-flow-y: 0px;
    --ambient-flow-scan: 0px;
    --ambient-flow-angle: 0deg;
    --ambient-field-scale: 1;
    --ambient-flow-opacity: .18;
    --ambient-grid-opacity: .1;
    --ambient-depth-boost: .04;
    --fx-stream-x: 0px;
    --fx-stream-y: 0px;
    --fx-stream-tilt: 0deg;
    --fx-stream-scale: 1;
    --fx-stream-opacity-boost: 0;
    --fx-stream-blur: 0px;
    --fx-morph-x: 0px;
    --fx-morph-y: 0px;
    --fx-morph-tilt: 0deg;
    --fx-morph-scale: 1;
    --fx-morph-opacity-boost: 0;
    --fx-morph-0: 1;
    --fx-morph-1: 0;
    --fx-morph-2: 0;
    --fx-morph-3: 0;
    --fx-morph-4: 0;
    --fx-morph-5: 0;
    --fx-fluid-x: 0px;
    --fx-fluid-y: 0px;
    --fx-fluid-angle: 0deg;
    --fx-fluid-scale: 1;
    --fx-fluid-opacity-boost: 0;
    --ambient-stage-x: 0px;
    --ambient-stage-y: 0px;
    --ambient-shift-x: 0px;
    --ambient-shift-y: 0px;
    --ambient-mask-x: 0px;
    --ambient-mask-y: 0px;
    --ambient-sweep-x: 0px;
    --ambient-sweep-y: 0px;
    --ambient-grid-x: 0px;
    --ambient-grid-y: 0px;
    --ambient-band-x: 0px;
    --ambient-band-y: 0px;
    --ambient-stream-x: 0px;
    --ambient-stream-y: 0px;
    --ambient-fluid-x: 0px;
    --ambient-fluid-y: 0px;
    --ambient-morph-x: 0px;
    --ambient-morph-y: 0px;
    --ambient-orbit-x: 0px;
    --ambient-orbit-y: 0px;
    --ambient-wake-x: 0px;
    --ambient-angle: 0deg;
    --ambient-orbit-angle: 0deg;
    --ambient-pulse: .08;
    --ambient-scan-opacity: .06;
    --ambient-fluid-opacity: .08;
    --ambient-node-opacity: .06;
    --flow-angle: -8deg;
    --flow-opacity: .26;
    --flow-opacity-boost: .02;
    --flow-node-opacity: .2;
    --flow-plane-opacity: .12;
    --flow-drift-x: 0px;
    --flow-drift-y: 0px;
    --flow-scale: 1;
    --flow-twist: 0deg;
    --flow-speed: 8.6s;
    --kinetic-x: 0px;
    --kinetic-y: 0px;
    --kinetic-tilt: 0deg;
    --kinetic-scale: 1;
    --kinetic-speed: 12.8s;
    --kinetic-dust-speed: 15.8s;
    --kinetic-opacity: .32;
    --kinetic-opacity-boost: .04;
    --kinetic-node-opacity: .28;
    --kinetic-panel-opacity: .13;
    --reel-current: 0;
    --reel-progress: 0;
    --reel-drift-x: 0px;
    --reel-drift-y: 0px;
    --reel-tilt: 0deg;
    --reel-scale: 1;
    --reel-pulse: 0;
    --stage-frame-opacity: .22;
    --stage-frame-x: 0px;
    --stage-frame-y: 0px;
    --stage-frame-angle: 0deg;
    --stage-frame-scale: 1;
    --stage-frame-scan: 0px;
    --dom-shard-opacity: .28;
    --dom-shard-x: 0px;
    --dom-shard-y: 0px;
    --dom-shard-angle: 0deg;
    --dom-shard-scale: 1;
    --stage-index-opacity: .2;
    --stage-index-x: 0px;
    --stage-index-y: 0px;
    --stage-index-tilt: 0deg;
    --stage-index-scale: 1;
    --stage-index-scan: 0px;
    --stage-flash-opacity: 0;
    --stage-flash-x: 0px;
    --stage-flash-y: 0px;
    --stage-flash-angle: 0deg;
    --stage-flash-scale: 1;
    --stage-flash-invert: 0;
    --stage-flash-scan: 0px;
    --scene-impact: 0;
    --scene-impact-x: 0px;
    --scene-impact-y: 0px;
    --scene-impact-angle: 0deg;
    --scene-wipe-x: 0px;
    --scene-wipe-y: 0px;
    --scene-wipe-angle: 0deg;
    --scene-impact-scale: 1;
    --scene-impact-blur: 0px;
    --scene-impact-scan: 0px;
    --scene-impact-scan-reverse: 0px;
    --scene-impact-flash-opacity: 0;
    --scene-impact-wipe-opacity: .12;
    --scene-impact-depth-opacity: 0;
    --scene-impact-depth: 0;
    --scene-impact-speed: .76s;
    --scene-fracture-opacity: 0;
    --scene-fracture-line-opacity: 0;
    --scene-fracture-grid-opacity: 0;
    --scene-fracture-grain-opacity: 0;
    --scene-fracture-x: 0px;
    --scene-fracture-y: 0px;
    --scene-fracture-panel-x: 0px;
    --scene-fracture-line-x: 0px;
    --scene-fracture-counter-x: 0px;
    --scene-fracture-counter-y: 0px;
    --scene-fracture-angle: 0deg;
    --scene-fracture-counter-angle: 0deg;
    --scene-fracture-scale: 1;
    --scene-fracture-grain-scale: 1;
    --scene-fracture-scan: 0px;
    --scene-fracture-scan-reverse: 0px;
    --scene-fracture-speed: .76s;
    --tableau-opacity: .32;
    --tableau-active-opacity: .54;
    --tableau-stage-scale: 1;
    --tableau-node-scale: 1;
    --tableau-pulse-opacity: .16;
    --tableau-scan-x: 0px;
    --tableau-scan-y: 0px;
    --tableau-scan-reverse: 0px;
    --tableau-drift-x: 0px;
    --tableau-drift-y: 0px;
    --tableau-stage-speed: 9.2s;
    --webgl-opacity: .96;
    --webgl-brightness: 1.04;
    --webgl-contrast: 1.08;
    --webgl-saturate: 1.12;
    --webgl-glow-opacity: .12;
    --stage-story-opacity: .22;
    --stage-story-x: 0px;
    --stage-story-y: 0px;
    --stage-story-tilt: 0deg;
    --stage-story-scale: 1;
    --stage-story-scan: 0px;
    --stage-story-ambient-x: 0px;
    --stage-story-ambient-y: 0px;
    --stage-story-ambient-tilt: 0deg;
    --stage-story-ambient-scale: 1;
    --stage-story-ambient-scan: 0px;
    --stage-story-focus-x: 0px;
    --stage-story-focus-y: 0px;
    --stage-story-focus-tilt: 0deg;
    --stage-story-focus-scale: 1;
    --stage-story-focus-opacity: 0;
    --stage-story-focus-scan: 0px;
    --motion-field-opacity: .38;
    --motion-field-x: 0px;
    --motion-field-y: 0px;
    --motion-field-tilt: 0deg;
    --motion-field-scale: 1;
    --motion-field-scan: 0px;
    --motion-field-depth: 0;
    --motion-field-ambient-x: 0px;
    --motion-field-ambient-y: 0px;
    --motion-field-ambient-tilt: 0deg;
    --motion-field-ambient-scale: 1;
    --motion-field-ambient-scan: 0px;
    --motion-field-ambient-opacity: .06;
    --live-bg-x: 0px;
    --live-bg-y: 0px;
    --live-bg-scan: 0px;
    --live-bg-scan-fast: 0px;
    --live-bg-scan-soft: 0px;
    --live-bg-scan-reverse: 0px;
    --live-bg-orbit-x: 0px;
    --live-bg-orbit-y: 0px;
    --live-bg-orbit-soft-x: 0px;
    --live-bg-orbit-soft-y: 0px;
    --live-bg-tilt: 0deg;
    --live-bg-scale: 1;
    --live-scroll-x: 0px;
    --live-scroll-y: 0px;
    --live-scroll-scan: 0px;
    --live-scroll-scan-fast: 0px;
    --live-scroll-scan-soft: 0px;
    --live-scroll-scan-reverse: 0px;
    --live-scroll-tilt: 0deg;
    --live-scroll-scale: 1;
    --live-scroll-scrub: 0;
    --live-scroll-pulse: .18;
    --live-scroll-opacity: 0;
    --live-scroll-halo-x: 0px;
    --live-scroll-halo-y: 0px;
    --live-scroll-halo-alpha: .16;
    --live-scroll-blue-alpha: .12;
    --live-scroll-gold-alpha: .1;
    --live-bg-opacity: .48;
    --live-bg-veil: .22;
    --live-bg-veil-boost: .08;
    --live-bg-veil-low: .13;
    --live-bg-veil-soft: .1;
    --live-bg-line-opacity: .3;
    --live-bg-line-high: .4;
    --live-bg-line-mid: .26;
    --live-bg-line-low: .18;
    --live-bg-node-opacity: .32;
    --live-bg-node-high: .44;
    --live-bg-node-mid: .3;
    --live-bg-node-low: .22;
    --live-bg-plane-opacity: .12;
    --live-bg-plane-depth-opacity: .07;
    --live-bg-plane-high: .17;
    --live-bg-plane-mid: .12;
    --live-bg-plane-low: .07;
    --live-bg-speed: 7.4s;
    --live-bg-packet-speed: 8.6s;
    --live-bg-matrix-speed: 11.8s;
    --live-scene-x: 0px;
    --live-scene-y: 0px;
    --live-scene-tilt: 0deg;
    --live-scene-depth: .16;
    --live-scene-boost: .08;
    --sculpture-opacity: .36;
    --sculpture-x: 0px;
    --sculpture-y: 0px;
    --sculpture-tilt: 0deg;
    --sculpture-scale: 1;
    --sculpture-scan: 0px;
    --sculpture-depth: 0;
    --sculpture-ambient-x: 0px;
    --sculpture-ambient-y: 0px;
    --sculpture-ambient-tilt: 0deg;
    --sculpture-ambient-scale: 1;
    --sculpture-ambient-scan: 0px;
    --sculpture-cursor-x: 0px;
    --sculpture-cursor-y: 0px;
    --sculpture-cursor-tilt: 0deg;
    --sculpture-cursor-scale: 1;
    --sculpture-cursor-opacity: 0;
    --sculpture-cursor-angle: 0rad;
    --sculpture-cursor-tail: 28px;
    --stage-story-speed: 8.2s;
    --stage-gallery-opacity: .24;
    --stage-gallery-x: 0px;
    --stage-gallery-y: 0px;
    --stage-gallery-tilt: 0deg;
    --stage-gallery-scale: 1;
    --stage-gallery-scan: 0px;
    --stage-gallery-ambient-x: 0px;
    --stage-gallery-ambient-y: 0px;
    --stage-gallery-ambient-tilt: 0deg;
    --stage-gallery-ambient-scale: 1;
    --stage-gallery-ambient-scan: 0px;
    --stage-workstrip-opacity: .24;
    --stage-workstrip-x: 0px;
    --stage-workstrip-y: 0px;
    --stage-workstrip-tilt: 0deg;
    --stage-workstrip-scale: 1;
    --stage-workstrip-scan: 0px;
    --stage-workstrip-ambient-x: 0px;
    --stage-workstrip-ambient-y: 0px;
    --stage-workstrip-ambient-tilt: 0deg;
    --stage-workstrip-ambient-scale: 1;
    --stage-workstrip-ambient-scan: 0px;
    --stage-chapter-opacity: .12;
    --stage-chapter-x: 0px;
    --stage-chapter-y: 0px;
    --stage-chapter-tilt: 0deg;
    --stage-chapter-scale: 1;
    --stage-chapter-scan: 0px;
    --stage-chapter-ambient-x: 0px;
    --stage-chapter-ambient-y: 0px;
    --stage-chapter-ambient-tilt: 0deg;
    --stage-chapter-ambient-scale: 1;
    --stage-chapter-ambient-scan: 0px;
    --stage-poster-opacity: .16;
    --stage-poster-x: 0px;
    --stage-poster-y: 0px;
    --stage-poster-tilt: 0deg;
    --stage-poster-scale: 1;
    --stage-poster-scan: 0px;
    --stage-poster-ambient-x: 0px;
    --stage-poster-ambient-y: 0px;
    --stage-poster-ambient-tilt: 0deg;
    --stage-poster-ambient-scale: 1;
    --stage-poster-ambient-scan: 0px;
    --stage-poster-focus-x: 0px;
    --stage-poster-focus-y: 0px;
    --stage-poster-focus-tilt: 0deg;
    --stage-poster-focus-scale: 1;
    --stage-poster-focus-opacity: 0;
    --stage-poster-focus-scan: 0px;
    --stage-poster-focus-aperture-x: 50%;
    --stage-poster-focus-aperture-y: 45%;
    --stage-field-opacity: .24;
    --stage-field-node-opacity: .26;
    --stage-field-x: 0px;
    --stage-field-y: 0px;
    --stage-field-tilt: 0deg;
    --stage-field-scale: 1;
    --stage-field-scan: 0px;
    --stage-field-speed: 9.6s;
    --energy-field-opacity: .46;
    --energy-field-x: 0px;
    --energy-field-y: 0px;
    --energy-field-tilt: 0deg;
    --energy-field-scale: 1;
    --energy-field-scan: 0px;
    --energy-field-ambient-x: 0px;
    --energy-field-ambient-y: 0px;
    --energy-field-ambient-tilt: 0deg;
    --energy-field-ambient-scale: 1;
    --energy-field-ambient-scan: 0px;
    --energy-field-speed: 9.2s;
    --energy-line-opacity: .28;
    --energy-node-opacity: .38;
    --energy-plane-opacity: .16;
    --energy-core-opacity: .24;
    --energy-axis-angle: -12deg;
    --stage-field-focus-x: 0px;
    --stage-field-focus-y: 0px;
    --stage-field-focus-tilt: 0deg;
    --stage-field-focus-opacity: 0;
    --component-hot: 0;
    --component-stage-x: 0px;
    --component-stage-y: 0px;
    --component-stage-angle: 0deg;
    --component-stage-scale: 1;
    --component-shard-x: 0px;
    --component-shard-y: 0px;
    --component-index-boost: 0;
    --component-halo-opacity: 0;
    --component-hotspot-opacity: 0;
    --component-flash-scan: 0px;
    --component-aperture-x: 50%;
    --component-aperture-y: 45%;
    --wipe-shift-x: 0px;
    --wipe-shift-y: 0px;
    --fx-director-0: 1;
    --fx-director-1: 0;
    --fx-director-2: 0;
    --fx-director-3: 0;
    --fx-director-4: 0;
    --fx-director-5: 0;
    --director-x: 0px;
    --director-y: 0px;
    --director-drift-x: 0px;
    --director-drift-y: 0px;
    --director-line-x: 0px;
    --director-line-y: 0px;
    --ambient-world-x: 0px;
    --ambient-world-y: 0px;
    --ambient-world-tilt: 0deg;
    --ambient-parallax-scan: 0px;
    --ambient-grid-half-x: 0px;
    --ambient-parallax-y: 0px;
    --ambient-core-angle: 0deg;
    --cursor-field-opacity: 0;
    --cursor-field-scale: 1;
    --cursor-field-energy: 0;
    --cursor-field-angle: 0rad;
    --cursor-field-pull-x: 0px;
    --cursor-field-pull-y: 0px;
    --cursor-field-tail: 34px;
    --cursor-field-line-opacity: .34;
    --cursor-field-dot-opacity: .22;
    --cursor-field-ring-opacity: .18;
    --cursor-field-rail-opacity: .08;
    --cursor-field-rail-scale: .76;
    --scroll-director-visual-opacity: .34;
    --cursor-director-opacity: 0;
    --cursor-director-x: 0px;
    --cursor-director-y: 0px;
    --cursor-director-tilt: 0deg;
    --cursor-director-scale: 1;
    --cursor-director-angle: 0rad;
    --cursor-director-scan: 0px;
    --director-tilt: 0deg;
    --director-zoom: 1;
    --director-depth: .16;
    --director-opacity-boost: .06;
    --director-node-spread: 1;
    --director-scene-progress: 0;
    --director-pulse: .18;
    --band-angle: -10deg;
    --band-opacity: .34;
    --scan-opacity: .38;
    --stream-angle: -8deg;
    --stream-opacity: .44;
    --stream-node-opacity: .38;
    --stream-speed: 9.4s;
    --morph-angle: -8deg;
    --morph-opacity: .34;
    --morph-node-opacity: .32;
    --fluid-opacity: .34;
    --fluid-node-opacity: .34;
    --stage-skew: -9deg;
    --runner-angle: -5deg;
    --stage-depth-opacity: .28;
    --stage-radial-opacity: .42;
    --portal-opacity: .28;
    --portal-x: 62%;
    --portal-y: 50%;
    --portal-width: min(56vw, 760px);
    --portal-height: min(58vh, 480px);
    --portal-skew: -8deg;
    --runner-opacity: .52;
    --cursor-unit-x: 0;
    --cursor-unit-y: 0;
    --cursor-x: 50vw;
    --cursor-y: 50vh;
    --cursor-parallax-x: 0px;
    --cursor-parallax-y: 0px;
    --lens-opacity: 0;
    --lens-angle: 0rad;
    --lens-scale: 1;
    --lens-tail: 34px;
    --lens-pull: -9.52px;
    --lens-shift-x: 0px;
    --lens-shift-y: 0px;
    --echo-opacity: 0;
    --echo-cursor-opacity: 0;
    --echo-burst-opacity: 0;
    --echo-cursor-x: 0px;
    --echo-cursor-y: 0px;
    --echo-scroll-x: 0px;
    --echo-scroll-y: 0px;
    --echo-angle: 0deg;
    --echo-scale: 1;
    --work-direction: 1;
    --work-index: 0;
    --work-enter-x: 28px;
    --work-leave-x: -34px;
    --work-title-enter-x: 22px;
    --work-title-leave-x: -18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .03), transparent 16%),
        #050609;
}

.jvue-home.is-scroll-active {
    --band-opacity: .48;
    --scan-opacity: .5;
    --stage-depth-opacity: .4;
    --stage-radial-opacity: .52;
    --portal-opacity: .38;
    --stream-opacity: .66;
    --stream-node-opacity: .56;
    --morph-opacity: .52;
    --morph-node-opacity: .48;
    --fluid-opacity: .54;
    --fluid-node-opacity: .5;
    --flow-opacity: .38;
    --flow-node-opacity: .34;
    --flow-plane-opacity: .18;
    --kinetic-opacity: .42;
    --kinetic-node-opacity: .42;
    --kinetic-panel-opacity: .2;
    --runner-opacity: .72;
    --live-bg-opacity: .58;
    --live-bg-veil: .26;
    --live-bg-line-opacity: .42;
    --live-bg-node-opacity: .42;
    --live-bg-plane-opacity: .16;
    --live-bg-plane-depth-opacity: .09;
    --live-bg-speed: 5.6s;
    --live-bg-packet-speed: 6.4s;
    --live-bg-matrix-speed: 8.8s;
}

.jvue-home.is-fx-1 {
    --fx-a: rgba(108, 218, 255, .18);
    --fx-b: rgba(86, 196, 155, .13);
    --fx-c: rgba(178, 230, 255, .07);
    --band-angle: -4deg;
    --band-opacity: .4;
    --scan-opacity: .42;
    --stream-angle: -4deg;
    --stream-opacity: .52;
    --stream-node-opacity: .46;
    --stream-speed: 8.8s;
    --flow-angle: -2deg;
    --flow-opacity: .3;
    --flow-node-opacity: .24;
    --flow-plane-opacity: .14;
    --flow-speed: 8s;
    --morph-angle: -3deg;
    --morph-opacity: .42;
    --morph-node-opacity: .38;
    --fluid-opacity: .42;
    --fluid-node-opacity: .38;
    --stage-skew: -3deg;
    --runner-angle: -2deg;
    --stage-depth-opacity: .36;
    --stage-radial-opacity: .46;
    --portal-opacity: .36;
    --portal-x: 58%;
    --portal-y: 45%;
    --portal-width: min(62vw, 860px);
    --portal-height: min(52vh, 430px);
    --portal-skew: -3deg;
    --runner-opacity: .62;
}

.jvue-home.is-fx-2 {
    --fx-a: rgba(201, 154, 85, .17);
    --fx-b: rgba(105, 199, 240, .12);
    --fx-c: rgba(255, 238, 198, .06);
    --band-angle: 6deg;
    --band-opacity: .44;
    --scan-opacity: .36;
    --stream-angle: 6deg;
    --stream-opacity: .62;
    --stream-node-opacity: .52;
    --stream-speed: 7.8s;
    --flow-angle: 7deg;
    --flow-opacity: .36;
    --flow-node-opacity: .3;
    --flow-plane-opacity: .22;
    --flow-speed: 7.4s;
    --morph-angle: 7deg;
    --morph-opacity: .52;
    --morph-node-opacity: .46;
    --fluid-opacity: .5;
    --fluid-node-opacity: .44;
    --stage-skew: 8deg;
    --runner-angle: 4deg;
    --stage-depth-opacity: .4;
    --stage-radial-opacity: .5;
    --portal-opacity: .44;
    --portal-x: 50%;
    --portal-y: 51%;
    --portal-width: min(70vw, 980px);
    --portal-height: min(54vh, 460px);
    --portal-skew: 7deg;
    --runner-opacity: .7;
}

.jvue-home.is-fx-3 {
    --fx-a: rgba(105, 199, 240, .16);
    --fx-b: rgba(215, 91, 91, .1);
    --fx-c: rgba(232, 237, 245, .07);
    --band-angle: -16deg;
    --band-opacity: .42;
    --scan-opacity: .46;
    --stream-angle: -14deg;
    --stream-opacity: .58;
    --stream-node-opacity: .5;
    --stream-speed: 8.2s;
    --flow-angle: -16deg;
    --flow-opacity: .34;
    --flow-node-opacity: .28;
    --flow-plane-opacity: .16;
    --flow-speed: 7.8s;
    --morph-angle: -15deg;
    --morph-opacity: .5;
    --morph-node-opacity: .42;
    --fluid-opacity: .48;
    --fluid-node-opacity: .42;
    --stage-skew: -18deg;
    --runner-angle: -9deg;
    --stage-depth-opacity: .38;
    --stage-radial-opacity: .48;
    --portal-opacity: .4;
    --portal-x: 38%;
    --portal-y: 55%;
    --portal-width: min(64vw, 900px);
    --portal-height: min(62vh, 520px);
    --portal-skew: -15deg;
    --runner-opacity: .68;
}

.jvue-home.is-fx-4 {
    --fx-a: rgba(145, 172, 255, .14);
    --fx-b: rgba(105, 199, 240, .12);
    --fx-c: rgba(255, 255, 255, .06);
    --band-angle: -2deg;
    --band-opacity: .32;
    --scan-opacity: .4;
    --stream-angle: -2deg;
    --stream-opacity: .48;
    --stream-node-opacity: .42;
    --stream-speed: 10.2s;
    --flow-angle: 1deg;
    --flow-opacity: .27;
    --flow-node-opacity: .22;
    --flow-plane-opacity: .13;
    --flow-speed: 9.6s;
    --morph-angle: 2deg;
    --morph-opacity: .38;
    --morph-node-opacity: .34;
    --fluid-opacity: .4;
    --fluid-node-opacity: .36;
    --stage-skew: 2deg;
    --runner-angle: 1deg;
    --stage-depth-opacity: .3;
    --stage-radial-opacity: .4;
    --portal-opacity: .32;
    --portal-x: 68%;
    --portal-y: 42%;
    --portal-width: min(54vw, 720px);
    --portal-height: min(50vh, 420px);
    --portal-skew: 2deg;
    --runner-opacity: .52;
}

.jvue-home.is-fx-5 {
    --fx-a: rgba(232, 237, 245, .12);
    --fx-b: rgba(201, 154, 85, .15);
    --fx-c: rgba(255, 255, 255, .075);
    --band-angle: 11deg;
    --band-opacity: .3;
    --scan-opacity: .32;
    --stream-angle: 10deg;
    --stream-opacity: .42;
    --stream-node-opacity: .36;
    --stream-speed: 11s;
    --flow-angle: 12deg;
    --flow-opacity: .24;
    --flow-node-opacity: .2;
    --flow-plane-opacity: .16;
    --flow-speed: 10.4s;
    --morph-angle: 11deg;
    --morph-opacity: .36;
    --morph-node-opacity: .32;
    --fluid-opacity: .38;
    --fluid-node-opacity: .34;
    --stage-skew: 12deg;
    --runner-angle: 6deg;
    --stage-depth-opacity: .26;
    --stage-radial-opacity: .34;
    --portal-opacity: .26;
    --portal-x: 50%;
    --portal-y: 48%;
    --portal-width: min(58vw, 780px);
    --portal-height: min(46vh, 380px);
    --portal-skew: 12deg;
    --runner-opacity: .46;
}

.jvue-home::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(72deg, transparent 0 18%, rgba(105, 199, 240, .075) 31%, rgba(247, 249, 255, .12) 44%, rgba(201, 154, 85, .06) 53%, transparent 68%),
        linear-gradient(112deg, transparent 0 34%, rgba(105, 199, 240, .095) 42%, rgba(247, 249, 255, .074) 48%, rgba(201, 154, 85, .052) 54%, transparent 66%),
        radial-gradient(ellipse at calc(50% + var(--fx-shift-x) + var(--ambient-flow-x)) calc(28% + var(--fx-shift-y) + var(--ambient-flow-y)), var(--fx-c), transparent 31%),
        radial-gradient(ellipse at calc(16% + var(--fx-shift-x) - var(--ambient-flow-y)) calc(72% + var(--ambient-flow-y)), var(--fx-a), transparent 38%),
        radial-gradient(ellipse at calc(86% - var(--fx-shift-x) + var(--ambient-flow-x)) calc(22% - var(--ambient-flow-y)), var(--fx-b), transparent 34%),
        radial-gradient(circle at 50% 50%, transparent 0, rgba(0, 0, 0, .32) 46%, var(--fx-vignette) 100%);
    background-size: 240% 100%, 260% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
    background-position:
        calc(var(--ambient-flow-scan) - 42vw) 0,
        calc(var(--fx-sweep-x) + var(--ambient-flow-scan)) 0,
        0 0,
        0 0,
        0 0,
        0 0;
    transform:
        translate3d(calc(var(--fx-bg-x) + var(--cursor-parallax-x) + var(--ambient-flow-x)), calc(var(--fx-bg-y) + var(--cursor-parallax-y) + var(--ambient-flow-y)), 0)
        rotate(var(--ambient-flow-angle))
        scale(var(--fx-scale))
        scale(var(--ambient-field-scale));
    transition: background .55s var(--jv-ease), transform .2s linear;
    animation: jvueAtmosphereDrift 10.5s ease-in-out infinite alternate;
    filter: saturate(1.08) contrast(1.08);
    will-change: transform, background;
}

.jvue-home::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: min(.7, calc(var(--fx-grid-opacity) + var(--ambient-grid-opacity) + .08));
    background-image:
        linear-gradient(118deg, transparent 0, rgba(105, 199, 240, .08) 44%, transparent 50%),
        linear-gradient(rgba(255, 255, 255, .052) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .036) 1px, transparent 1px),
        repeating-linear-gradient(115deg, transparent 0, transparent 56px, rgba(201, 154, 85, .035) 57px, transparent 58px);
    background-size: 220% 100%, 72px 72px, 72px 72px, 180px 180px;
    background-position:
        calc(var(--fx-sweep-x) + var(--ambient-flow-scan)) 0,
        calc(var(--fx-grid-x) + var(--ambient-grid-x) + var(--ambient-flow-scan)) calc(var(--fx-grid-y) + var(--ambient-grid-y)),
        calc(var(--fx-grid2-x) - var(--ambient-flow-scan)) calc(var(--fx-grid2-y) + var(--ambient-flow-y)),
        calc(var(--fx-diagonal-x) + var(--ambient-flow-scan)) 0;
    transform:
        translate3d(var(--ambient-flow-x), var(--ambient-flow-y), 0)
        rotate(var(--ambient-flow-angle))
        scale(var(--ambient-field-scale));
    mask-image: radial-gradient(circle at 50% 38%, #000 0, transparent 68%);
    animation: jvueGridDrift 15s linear infinite;
    will-change: background-position, opacity, transform;
}

.jvue-loader {
    position: fixed;
    inset: 0;
    z-index: 999;
    display: grid;
    place-items: center;
    background: rgba(2, 3, 6, .96);
    backdrop-filter: blur(18px);
}

.jvue-loader-panel {
    width: 260px;
    min-height: 132px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    border-radius: var(--wc-poster-radius, 8px);
    color: var(--jv-ink);
    background: rgba(8, 12, 18, .86);
    border: 1px solid var(--jv-line);
    box-shadow: var(--jv-shadow);
}

.jvue-loader-panel strong {
    width: 100%;
    text-align: center;
    font-size: 15px;
}

.jvue-loader-panel em {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--jv-cyan);
    animation: jvueDot .9s infinite ease-in-out alternate;
}

.jvue-loader-panel em:nth-child(4) {
    animation-delay: .14s;
    background: var(--jv-gold);
}

.jvue-loader-panel em:nth-child(5) {
    animation-delay: .28s;
    background: var(--jv-green);
}

.jvue-brand-mark {
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    color: #050609;
    font-weight: 900;
    background: linear-gradient(135deg, #f7f8fb, #9fdcff 58%, #c99a55);
    box-shadow: 0 0 26px rgba(105, 199, 240, .24);
}

.jvue-header {
    position: fixed;
    top: 18px;
    left: 0;
    right: 0;
    z-index: 120;
    width: min(1240px, calc(100% - 48px));
    min-height: 64px;
    margin: 0 auto;
    padding: 0 14px 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(232, 237, 247, .14);
    border-radius: 8px;
    background: rgba(4, 6, 10, .92);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
    transform: translateY(-16px);
    opacity: 0;
    animation: jvueDrop .7s .18s var(--jv-ease) forwards;
    transition:
        top .28s var(--jv-ease),
        opacity .22s ease,
        transform .42s var(--jv-ease),
        background .24s var(--jv-ease),
        border-color .24s var(--jv-ease);
}

.jvue-header > * {
    position: relative;
    z-index: 2;
    opacity: 1 !important;
    transform: translateZ(0);
}

.jvue-brand,
.jvue-nav,
.jvue-header-actions {
    color: rgba(247, 249, 255, .96);
    text-shadow: 0 0 18px rgba(0, 0, 0, .78);
    isolation: isolate;
}

.jvue-header.is-compact {
    top: 10px;
    background: rgba(4, 6, 10, .92);
    border-color: rgba(232, 237, 247, .22);
}

.jvue-header.is-hidden {
    animation: none;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(0, -126px, 0) scale(.985);
}

.jvue-header.is-revealing {
    animation: jvueHeaderReveal .56s var(--jv-ease) both;
}

.jvue-header.is-compact:not(.is-hidden):not(.is-revealing) {
    animation: none;
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.jvue-home.is-ready .jvue-header:not(.is-hidden),
body.vue-home-ready .jvue-header:not(.is-hidden) {
    animation: none !important;
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
}

.jvue-brand {
    min-width: 158px;
    max-width: 260px;
    flex: 0 1 260px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-weight: 900;
    padding: 2px 4px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.jvue-brand b {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: rgba(247, 249, 255, .98);
}

.jvue-brand img {
    max-width: 150px;
    max-height: 36px;
    object-fit: contain;
}

.jvue-nav {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 4px;
    padding: 4px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .025);
}

.jvue-nav a,
.jvue-header-jumps a {
    height: 34px;
    max-width: 104px;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    border-radius: 8px;
    color: rgba(229, 236, 247, .68);
    text-shadow: 0 0 14px rgba(0, 0, 0, .66);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color .2s var(--jv-ease), background .2s var(--jv-ease);
}

.jvue-nav a:hover,
.jvue-nav a.active,
.jvue-header-jumps a:hover {
    color: #fff;
    background: rgba(255, 255, 255, .08);
}

.jvue-header-jumps {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(232, 237, 247, .1);
    border-radius: 8px;
    background: rgba(255, 255, 255, .035);
}

.jvue-header-jumps a {
    height: 30px;
    max-width: 92px;
    padding: 0 9px;
    color: rgba(247, 249, 255, .92);
    -webkit-text-fill-color: rgba(247, 249, 255, .92);
    font-size: 13px;
    font-weight: 800;
    background: rgba(255, 255, 255, .055);
    text-shadow: 0 0 16px rgba(0, 0, 0, .74);
}

.jvue-header-actions {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 2px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
}

.jvue-header .el-button,
.jvue-hero-actions .el-button,
.jvue-cta .el-button {
    border-radius: 999px;
    font-weight: 800;
}

.jvue-header .el-button--primary,
.jvue-hero-actions .el-button--primary,
.jvue-cta .el-button--primary {
    color: #07090d;
    border-color: transparent;
    background: linear-gradient(135deg, #f7f9ff, #9fdcff 58%, #c99a55);
    box-shadow: 0 16px 38px rgba(105, 199, 240, .2);
}

.jvue-native-btn {
    min-width: 104px;
    height: 40px;
    padding: 0 18px;
    border: 1px solid rgba(232, 237, 247, .18);
    border-radius: 999px;
    color: rgba(239, 245, 255, .9);
    background: rgba(255, 255, 255, .04);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
    transition: transform .2s var(--jv-ease), border-color .2s var(--jv-ease), box-shadow .2s var(--jv-ease), background .2s var(--jv-ease);
}

.jvue-native-btn.is-large {
    min-width: 126px;
    height: 46px;
    font-size: 15px;
}

.jvue-native-btn.is-primary {
    color: #07090d;
    border-color: transparent;
    background: linear-gradient(135deg, #f7f9ff, #9fdcff 58%, #c99a55);
    box-shadow: 0 16px 38px rgba(105, 199, 240, .2);
}

.jvue-native-btn:hover {
    transform: translateY(-2px);
    border-color: rgba(105, 199, 240, .42);
    box-shadow: 0 14px 32px rgba(105, 199, 240, .16);
}

.jvue-native-search {
    display: block;
    min-width: 0;
}

.jvue-native-search input {
    width: 100%;
    height: 42px;
    padding: 0 14px;
    border: 1px solid rgba(232, 237, 247, .12);
    border-radius: 8px;
    outline: 0;
    color: #fff;
    background: rgba(255, 255, 255, .06);
    font: inherit;
    box-shadow: inset 0 0 0 1px rgba(232, 237, 247, .04);
}

.jvue-native-search input::placeholder {
    color: rgba(224, 232, 244, .48);
}

.jvue-native-search input:focus {
    border-color: rgba(105, 199, 240, .48);
    box-shadow: 0 0 0 3px rgba(105, 199, 240, .12);
}

.jvue-native-empty {
    padding: 36px 18px;
    color: rgba(224, 232, 244, .54);
    text-align: center;
}

.jvue-native-empty.is-compact {
    padding: 22px 12px;
}

.jvue-ghost {
    color: rgba(239, 245, 255, .9) !important;
    border-color: rgba(232, 237, 247, .18) !important;
    background: rgba(255, 255, 255, .04) !important;
}

.jvue-hero {
    position: relative;
    z-index: 1;
    min-height: 100vh;
    padding: 142px 0 96px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.jvue-webgl-stage {
    position: fixed;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: var(--webgl-opacity);
    background:
        linear-gradient(116deg, transparent 0, rgba(247, 249, 255, .032) 42%, transparent 50%),
        radial-gradient(ellipse at calc(18% + var(--fx-shift-x) + var(--ambient-shift-x)) calc(24% + var(--fx-shift-y) + var(--ambient-shift-y)), var(--fx-a), transparent 32%),
        radial-gradient(ellipse at calc(82% - var(--fx-shift-x) - var(--ambient-shift-x)) calc(66% - var(--fx-shift-y) - var(--ambient-shift-y)), var(--fx-b), transparent 36%),
        linear-gradient(180deg, rgba(2, 3, 7, .48), rgba(2, 3, 7, .8));
    background-size: 180% 100%, 100% 100%, 100% 100%, 100% 100%;
    background-position: calc(var(--fx-sweep-x) + var(--cursor-parallax-x) + var(--ambient-sweep-x)) var(--ambient-sweep-y), 0 0, 0 0, 0 0;
    transform:
        translate3d(calc(var(--fx-stage-x) + var(--ambient-stage-x) + var(--stage-cursor-x) + var(--stage-scroll-x) + var(--component-stage-x) + var(--webgl-shock-x)), calc(var(--fx-stage-y) + var(--ambient-stage-y) + var(--stage-cursor-y) + var(--stage-scroll-y) + var(--component-stage-y) + var(--webgl-shock-y)), 0)
        rotate(var(--stage-scroll-tilt))
        rotate(var(--stage-cursor-tilt))
        rotate(var(--webgl-shock-angle))
        rotate(var(--component-stage-angle))
        scale(var(--fx-stage-scale))
        scale(var(--stage-scroll-scale))
        scale(var(--stage-camera-scale))
        scale(var(--webgl-shock-scale))
        scale(var(--component-stage-scale));
    transition: background .55s var(--jv-ease), opacity .28s var(--jv-ease), background-position .18s linear, transform .16s linear;
    animation: jvueStageBreathe 10.8s ease-in-out infinite alternate;
    will-change: background-position, opacity, transform;
}

.jvue-webgl-stage[data-target-scene-mode="0"] {
    --fx-a: rgba(105, 199, 240, .18);
    --fx-b: rgba(201, 154, 85, .13);
    --fx-c: rgba(255, 255, 255, .06);
}

.jvue-webgl-stage[data-target-scene-mode="1"] {
    --fx-a: rgba(82, 218, 255, .18);
    --fx-b: rgba(86, 196, 155, .12);
    --fx-c: rgba(180, 245, 255, .07);
}

.jvue-webgl-stage[data-target-scene-mode="2"] {
    --fx-a: rgba(201, 154, 85, .18);
    --fx-b: rgba(105, 199, 240, .13);
    --fx-c: rgba(255, 232, 184, .07);
}

.jvue-webgl-stage[data-target-scene-mode="3"] {
    --fx-a: rgba(105, 199, 240, .17);
    --fx-b: rgba(215, 91, 91, .11);
    --fx-c: rgba(235, 244, 255, .065);
}

.jvue-webgl-stage[data-target-scene-mode="4"] {
    --fx-a: rgba(120, 132, 255, .16);
    --fx-b: rgba(72, 210, 255, .12);
    --fx-c: rgba(220, 228, 255, .065);
}

.jvue-webgl-stage[data-target-scene-mode="5"] {
    --fx-a: rgba(232, 237, 245, .14);
    --fx-b: rgba(201, 154, 85, .15);
    --fx-c: rgba(255, 249, 230, .07);
}

.jvue-webgl-stage[data-target-scene-switching="1"]::after {
    opacity: min(.88, calc(var(--scan-opacity) + var(--ambient-scan-opacity) + var(--webgl-glow-opacity) + .12));
    animation-duration: 5.8s;
}

.jvue-webgl-stage::before,
.jvue-webgl-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
}

.jvue-webgl-stage::before {
    background:
        radial-gradient(circle at var(--component-aperture-x) var(--component-aperture-y), rgba(247, 249, 255, var(--component-halo-opacity)) 0, rgba(105, 199, 240, var(--component-halo-opacity)) 11%, transparent 31%),
        radial-gradient(ellipse at var(--scroll-aperture-x) var(--scroll-aperture-y), rgba(247, 249, 255, var(--scroll-aperture-glow)) 0, rgba(105, 199, 240, var(--scroll-aperture-blue)) 13%, transparent var(--scroll-aperture-radius), rgba(0, 0, 0, var(--scroll-aperture-dark)) var(--scroll-aperture-edge), rgba(0, 0, 0, var(--stage-vignette)) 100%),
        radial-gradient(circle at var(--stage-aperture-x) var(--stage-aperture-y), transparent 0, rgba(0, 0, 0, .12) 34%, rgba(0, 0, 0, var(--stage-vignette)) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, .72), transparent 20%, transparent 78%, rgba(0, 0, 0, .72));
    transform: translate3d(calc(var(--fx-bg-x) + var(--cursor-parallax-x) + var(--fx-mask-x) + var(--ambient-mask-x)), calc(var(--cursor-parallax-y) + var(--fx-mask-y) + var(--ambient-mask-y)), 0);
    animation: jvueAperturePulse 7.6s ease-in-out infinite alternate;
    transition: transform .28s linear;
    will-change: transform, opacity, filter;
}

.jvue-home.is-component-hot .jvue-webgl-stage {
    opacity: .99;
    filter: saturate(1.06) contrast(1.05);
}

.jvue-home.is-scroll-active .jvue-webgl-stage::before,
.jvue-home.is-scene-switching .jvue-webgl-stage::before,
.jvue-home.is-work-transitioning .jvue-webgl-stage::before {
    animation-duration: 4.8s;
}

.jvue-webgl-stage::after {
    opacity: min(.98, calc(var(--scan-opacity) + var(--ambient-scan-opacity) + var(--webgl-glow-opacity) + var(--webgl-shock-opacity) + .12));
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .025) 0, rgba(255, 255, 255, .025) 1px, transparent 1px, transparent 5px),
        linear-gradient(102deg, transparent 0 34%, rgba(247, 249, 255, .13) 45%, rgba(105, 199, 240, .09) 50%, rgba(201, 154, 85, .045) 56%, transparent 68%),
        linear-gradient(104deg, transparent 0 24%, rgba(105, 199, 240, .026) 34%, rgba(105, 199, 240, .09) 44%, rgba(247, 249, 255, .14) 50%, rgba(201, 154, 85, .06) 58%, rgba(105, 199, 240, .018) 68%, transparent 78%),
        linear-gradient(115deg, transparent 0, rgba(255, 255, 255, .07) 42%, transparent 48%),
        repeating-linear-gradient(90deg, transparent 0, transparent 94px, rgba(105, 199, 240, .038) 95px, transparent 96px);
    background-size: 100% 5px, 210% 100%, 260% 100%, 240% 100%, 220px 100%;
    background-position:
        0 calc(var(--fx-grid-y) + var(--ambient-grid-y)),
        var(--webgl-shock-scan) 0,
        calc(var(--fx-sweep-x) + var(--cursor-parallax-x) + var(--ambient-sweep-x) - 38vw) var(--ambient-sweep-y),
        calc(var(--fx-sweep-x) + var(--cursor-parallax-x) + var(--ambient-sweep-x) + 22vw) var(--ambient-sweep-y),
        calc(var(--fx-grid-x) + var(--ambient-grid-x)) 0;
    transform:
        translate3d(var(--webgl-shock-wipe-x), var(--webgl-shock-wipe-y), 0)
        rotate(var(--webgl-shock-angle))
        scaleX(var(--webgl-shock-stretch));
    transform-origin: center;
    mix-blend-mode: screen;
    mask-image: radial-gradient(ellipse at 54% 52%, #000 0, rgba(0, 0, 0, .72) 58%, rgba(0, 0, 0, .28) 76%, transparent 92%);
    animation: jvueScanDrift 5.8s linear infinite;
    will-change: background-position, opacity, transform;
}

.jvue-home.is-scroll-active .jvue-webgl-stage::after,
.jvue-home.is-scene-switching .jvue-webgl-stage::after,
.jvue-home.is-work-transitioning .jvue-webgl-stage::after {
    opacity: min(.96, calc(var(--scan-opacity) + var(--ambient-scan-opacity) + var(--webgl-glow-opacity) + .18));
    animation-duration: 4.4s;
}

.jvue-live-backdrop {
    position: absolute;
    inset: -18%;
    z-index: 0;
    display: block;
    pointer-events: none;
    overflow: hidden;
    opacity: min(.98, calc(var(--live-bg-opacity) + var(--live-scene-boost) + var(--live-scroll-opacity) + var(--ambient-flow-opacity) + .06));
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--live-bg-x) + var(--live-scene-x) + var(--live-scroll-x) + var(--cursor-parallax-x)), calc(var(--live-bg-y) + var(--live-scene-y) + var(--live-scroll-y) + var(--cursor-parallax-y)), 0)
        rotate(calc(var(--live-bg-tilt) + var(--live-scroll-tilt)))
        rotate(var(--live-scene-tilt))
        scale(var(--live-bg-scale))
        scale(var(--live-scroll-scale));
    transform-origin: 50% 52%;
    filter: saturate(1.28) contrast(1.22) brightness(1.08);
    mask-image:
        radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .92) 42%, rgba(0, 0, 0, .52) 72%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
    transition: opacity .24s linear, filter .24s linear;
    will-change: transform, opacity, filter;
}

.jvue-live-backdrop::before,
.jvue-live-backdrop::after,
.jvue-live-backdrop i,
.jvue-live-backdrop b,
.jvue-live-backdrop em,
.jvue-live-backdrop span {
    position: absolute;
    display: block;
    pointer-events: none;
    transition:
        left .72s var(--jv-ease),
        top .72s var(--jv-ease),
        width .72s var(--jv-ease),
        height .72s var(--jv-ease),
        opacity .42s linear,
        filter .42s linear;
}

.jvue-live-backdrop::before,
.jvue-live-backdrop::after {
    content: "";
    inset: -18% -16%;
    border-radius: 50%;
    -webkit-mask-image: radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .88) 46%, rgba(0, 0, 0, .28) 76%, transparent 94%);
    mask-image: radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .88) 46%, rgba(0, 0, 0, .28) 76%, transparent 94%);
}

.jvue-live-backdrop::before {
    inset: -22% -18%;
    opacity: min(.62, calc(var(--live-bg-plane-opacity) + var(--live-bg-plane-depth-opacity) + var(--ambient-depth-boost)));
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .13) 44%, rgba(247, 249, 255, .18) 50%, rgba(201, 154, 85, .12) 57%, transparent 78%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .08) 0, rgba(105, 199, 240, .08) 1px, transparent 1px, transparent 72px),
        repeating-linear-gradient(0deg, rgba(247, 249, 255, .052) 0, rgba(247, 249, 255, .052) 1px, transparent 1px, transparent 64px);
    background-size: 720px 140%, 100% 100%, 100% 100%;
    background-position:
        calc(var(--live-bg-scan) + var(--live-scroll-scan) + var(--motion-field-scan)) 0,
        calc(var(--fx-grid-x) + var(--ambient-grid-x)) 0,
        0 calc(var(--fx-grid-y) + var(--ambient-grid-y));
    transform: rotateX(63deg) rotateZ(-8deg) translate3d(0, 3vh, -280px) scale(1.04);
    animation: jvueLivePlaneDrift var(--live-bg-matrix-speed) linear infinite;
}

.jvue-live-backdrop::after {
    inset: -18% -14%;
    opacity: min(.74, calc(var(--live-bg-veil) + var(--live-bg-veil-boost) + var(--ambient-depth-boost)));
    background:
        radial-gradient(ellipse at calc(42% + var(--live-bg-orbit-x) + var(--live-scroll-halo-x)) calc(46% + var(--live-bg-orbit-y) + var(--live-scroll-halo-y)), rgba(247, 249, 255, var(--live-scroll-halo-alpha)), transparent 18%),
        radial-gradient(ellipse at 62% 52%, rgba(105, 199, 240, var(--live-scroll-blue-alpha)), transparent 34%),
        conic-gradient(from calc(var(--fx-angle) + var(--live-bg-tilt) + var(--live-scroll-tilt)), transparent 0 18%, rgba(105, 199, 240, var(--live-scroll-blue-alpha)) 26%, transparent 34% 58%, rgba(201, 154, 85, var(--live-scroll-gold-alpha)) 66%, transparent 78% 100%);
    filter: blur(18px);
    transform:
        translate3d(var(--live-bg-orbit-soft-x), var(--live-bg-orbit-soft-y), -120px)
        rotate(var(--fx-orbit-angle))
        scale(var(--live-bg-scale))
        scale(var(--live-scroll-scale));
    animation: jvueLiveVeilDrift var(--live-bg-matrix-speed) ease-in-out infinite;
}

.jvue-live-backdrop em {
    left: var(--live-veil-x, 50%);
    top: var(--live-veil-y, 50%);
    width: var(--live-veil-w, 42vw);
    height: var(--live-veil-h, 30vh);
    opacity: var(--live-veil-o, var(--live-bg-veil));
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .18), rgba(105, 199, 240, .07) 32%, transparent 68%),
        radial-gradient(ellipse at 62% 44%, rgba(201, 154, 85, .12), transparent 54%);
    filter: blur(var(--live-veil-blur, 18px));
    transform:
        translate3d(-50%, -50%, var(--live-veil-z, -240px))
        rotate(var(--live-veil-r, -8deg))
        scale(var(--live-veil-scale, 1));
    animation: jvueLiveVeilFloat var(--live-bg-matrix-speed) ease-in-out infinite;
    animation-delay: var(--live-veil-delay, 0s);
}

.jvue-live-backdrop i {
    left: var(--live-line-x, 50%);
    top: var(--live-line-y, 50%);
    width: var(--live-line-w, 82vw);
    height: var(--live-line-h, 1px);
    opacity: var(--live-line-o, var(--live-bg-line-opacity));
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .62), rgba(247, 249, 255, .8), rgba(201, 154, 85, .38), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .26) 24px, transparent 28px);
    background-position: calc(var(--live-bg-scan) + var(--live-scroll-scan) + var(--motion-field-scan)) 0, 0 0;
    box-shadow:
        0 0 18px rgba(105, 199, 240, .18),
        0 0 34px rgba(201, 154, 85, .08);
    transform:
        translate3d(-50%, -50%, var(--live-line-z, -180px))
        rotateX(var(--live-line-rx, 61deg))
        rotateZ(var(--live-line-r, -10deg))
        scaleX(var(--live-line-scale, .72));
    animation: jvueLiveRailSweep var(--live-bg-speed) ease-in-out infinite;
    animation-delay: var(--live-line-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-live-backdrop b {
    left: var(--live-card-x, 50%);
    top: var(--live-card-y, 50%);
    width: var(--live-card-w, clamp(120px, 12vw, 240px));
    height: var(--live-card-h, clamp(46px, 5vw, 92px));
    opacity: var(--live-card-o, var(--live-bg-plane-opacity));
    border: 1px solid rgba(226, 238, 255, .14);
    border-radius: 8px;
    background:
        linear-gradient(118deg, rgba(247, 249, 255, .06), rgba(105, 199, 240, .04) 48%, rgba(4, 7, 12, .1) 72%, rgba(201, 154, 85, .04)),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .12), transparent),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .05) 0, rgba(105, 199, 240, .05) 1px, transparent 1px, transparent 28px);
    background-size: 100% 100%, 220px 100%, 100% 100%;
    background-position: 0 0, calc(var(--live-bg-scan-fast) + var(--live-scroll-scan-fast)) 0, 0 0;
    box-shadow:
        0 12px 32px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .1),
        0 0 22px rgba(105, 199, 240, .06);
    transform:
        translate3d(-50%, -50%, var(--live-card-z, -300px))
        rotateX(var(--live-card-rx, 58deg))
        rotateY(var(--live-card-ry, 0deg))
        rotateZ(var(--live-card-rz, -8deg))
        scale(var(--live-card-scale, .86));
    animation: jvueLivePacketFloat var(--live-bg-packet-speed) ease-in-out infinite;
    animation-delay: var(--live-card-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-live-backdrop span {
    left: var(--live-node-x, 50%);
    top: var(--live-node-y, 50%);
    width: var(--live-node-w, 18vw);
    aspect-ratio: 1.8;
    opacity: var(--live-node-o, var(--live-bg-node-opacity));
    background-image:
        radial-gradient(circle, rgba(247, 249, 255, .52) 0 1px, transparent 1.6px),
        radial-gradient(circle, rgba(105, 199, 240, .32) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(201, 154, 85, .22) 0 1px, transparent 1.9px);
    background-size: 24px 24px, 34px 34px, 48px 48px;
    background-position:
        calc(var(--live-bg-scan-soft) + var(--live-scroll-scan-soft)) var(--ambient-grid-half-x),
        calc(var(--live-bg-scan-reverse) + var(--live-scroll-scan-reverse)) var(--ambient-grid-y),
        0 0;
    filter: blur(var(--live-node-blur, .25px)) drop-shadow(0 0 18px rgba(105, 199, 240, .12));
    transform:
        translate3d(-50%, -50%, var(--live-node-z, -220px))
        rotateX(var(--live-node-rx, 58deg))
        rotateZ(var(--live-node-r, -8deg))
        scale(var(--live-node-scale, .88));
    animation: jvueLiveMatrixPulse var(--live-bg-matrix-speed) ease-in-out infinite;
    animation-delay: var(--live-node-delay, 0s);
}

.jvue-live-backdrop em:nth-of-type(1) { --live-veil-x: 24%; --live-veil-y: 24%; --live-veil-w: 36vw; --live-veil-h: 30vh; --live-veil-r: -12deg; --live-veil-delay: -1s; }
.jvue-live-backdrop em:nth-of-type(2) { --live-veil-x: 76%; --live-veil-y: 28%; --live-veil-w: 34vw; --live-veil-h: 28vh; --live-veil-r: 14deg; --live-veil-o: var(--live-bg-veil-low); --live-veil-delay: -4s; }
.jvue-live-backdrop em:nth-of-type(3) { --live-veil-x: 58%; --live-veil-y: 68%; --live-veil-w: 48vw; --live-veil-h: 34vh; --live-veil-r: -4deg; --live-veil-blur: 24px; --live-veil-delay: -7s; }
.jvue-live-backdrop em:nth-of-type(4) { --live-veil-x: 16%; --live-veil-y: 78%; --live-veil-w: 30vw; --live-veil-h: 24vh; --live-veil-r: 18deg; --live-veil-o: var(--live-bg-veil-soft); --live-veil-delay: -10s; }

.jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 26%; --live-line-y: 34%; --live-line-r: -16deg; --live-line-delay: -.6s; }
.jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 56%; --live-line-y: 42%; --live-line-r: 3deg; --live-line-w: 90vw; --live-line-o: var(--live-bg-line-high); --live-line-delay: -1.7s; }
.jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 73%; --live-line-y: 58%; --live-line-r: -9deg; --live-line-w: 64vw; --live-line-delay: -2.8s; }
.jvue-live-backdrop i:nth-of-type(4) { --live-line-x: 42%; --live-line-y: 72%; --live-line-r: 17deg; --live-line-w: 70vw; --live-line-o: var(--live-bg-line-mid); --live-line-delay: -3.9s; }
.jvue-live-backdrop i:nth-of-type(5) { --live-line-x: 84%; --live-line-y: 30%; --live-line-r: 20deg; --live-line-w: 46vw; --live-line-o: var(--live-bg-line-low); --live-line-delay: -5s; }
.jvue-live-backdrop i:nth-of-type(6) { --live-line-x: 20%; --live-line-y: 60%; --live-line-r: 8deg; --live-line-w: 52vw; --live-line-o: var(--live-bg-line-low); --live-line-delay: -6.1s; }
.jvue-live-backdrop i:nth-of-type(7) { --live-line-x: 64%; --live-line-y: 80%; --live-line-r: -22deg; --live-line-w: 42vw; --live-line-o: var(--live-bg-line-low); --live-line-delay: -7.2s; }
.jvue-live-backdrop i:nth-of-type(8) { --live-line-x: 38%; --live-line-y: 20%; --live-line-r: 13deg; --live-line-w: 38vw; --live-line-o: var(--live-bg-line-low); --live-line-delay: -8.3s; }

.jvue-live-backdrop b:nth-of-type(1) { --live-card-x: 24%; --live-card-y: 40%; --live-card-z: -320px; --live-card-rz: -15deg; --live-card-ry: 14deg; --live-card-delay: -.8s; }
.jvue-live-backdrop b:nth-of-type(2) { --live-card-x: 48%; --live-card-y: 34%; --live-card-z: -220px; --live-card-rz: -3deg; --live-card-o: var(--live-bg-plane-high); --live-card-delay: -2s; }
.jvue-live-backdrop b:nth-of-type(3) { --live-card-x: 72%; --live-card-y: 54%; --live-card-z: -260px; --live-card-rz: 12deg; --live-card-ry: -12deg; --live-card-delay: -3.2s; }
.jvue-live-backdrop b:nth-of-type(4) { --live-card-x: 38%; --live-card-y: 70%; --live-card-z: -380px; --live-card-rz: -7deg; --live-card-o: var(--live-bg-plane-mid); --live-card-delay: -4.4s; }
.jvue-live-backdrop b:nth-of-type(5) { --live-card-x: 82%; --live-card-y: 30%; --live-card-z: -420px; --live-card-rz: 18deg; --live-card-w: clamp(96px, 9vw, 170px); --live-card-h: clamp(38px, 4vw, 72px); --live-card-delay: -5.6s; }
.jvue-live-backdrop b:nth-of-type(6) { --live-card-x: 18%; --live-card-y: 66%; --live-card-z: -430px; --live-card-rz: 9deg; --live-card-w: clamp(92px, 8vw, 160px); --live-card-h: clamp(36px, 4vw, 68px); --live-card-o: var(--live-bg-plane-mid); --live-card-delay: -6.8s; }
.jvue-live-backdrop b:nth-of-type(7) { --live-card-x: 62%; --live-card-y: 78%; --live-card-z: -360px; --live-card-rz: -20deg; --live-card-w: clamp(84px, 7vw, 150px); --live-card-h: clamp(34px, 4vw, 64px); --live-card-o: var(--live-bg-plane-low); --live-card-delay: -8s; }
.jvue-live-backdrop b:nth-of-type(8) { --live-card-x: 34%; --live-card-y: 22%; --live-card-z: -440px; --live-card-rz: 16deg; --live-card-w: clamp(78px, 7vw, 140px); --live-card-h: clamp(32px, 4vw, 60px); --live-card-o: var(--live-bg-plane-low); --live-card-delay: -9.2s; }

.jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 30%; --live-node-y: 36%; --live-node-r: -12deg; --live-node-delay: -1s; }
.jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 58%; --live-node-y: 45%; --live-node-r: 6deg; --live-node-w: 22vw; --live-node-o: var(--live-bg-node-high); --live-node-delay: -3s; }
.jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 76%; --live-node-y: 64%; --live-node-r: -9deg; --live-node-z: -320px; --live-node-delay: -5s; }
.jvue-live-backdrop span:nth-of-type(4) { --live-node-x: 42%; --live-node-y: 76%; --live-node-r: 17deg; --live-node-w: 16vw; --live-node-z: -360px; --live-node-delay: -7s; }
.jvue-live-backdrop span:nth-of-type(5) { --live-node-x: 82%; --live-node-y: 28%; --live-node-r: 14deg; --live-node-w: 13vw; --live-node-o: var(--live-bg-node-mid); --live-node-delay: -9s; }
.jvue-live-backdrop span:nth-of-type(6) { --live-node-x: 18%; --live-node-y: 72%; --live-node-r: -18deg; --live-node-w: 12vw; --live-node-z: -420px; --live-node-o: var(--live-bg-node-low); --live-node-delay: -11s; }

.jvue-chapter-particles {
    position: absolute;
    inset: -16%;
    z-index: 3;
    overflow: hidden;
    pointer-events: none;
    opacity: var(--chapter-field-opacity);
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--chapter-field-x) + var(--cursor-parallax-x)), calc(var(--chapter-field-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--chapter-field-tilt))
        scale(var(--chapter-field-scale));
    filter: blur(var(--chapter-field-blur)) saturate(1.32) contrast(1.22) brightness(1.08);
    transition: none;
    will-change: transform, opacity, filter;
    --chapter-accent: rgba(105, 199, 240, .86);
    --chapter-accent-soft: rgba(105, 199, 240, .26);
    --chapter-warm: rgba(201, 154, 85, .54);
    --chapter-card: rgba(232, 237, 245, .11);
}

.jvue-chapter-particles i,
.jvue-chapter-particles b,
.jvue-chapter-particles em,
.jvue-chapter-particles strong {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-chapter-particles i {
    left: var(--cp-x, 50%);
    top: var(--cp-y, 50%);
    width: var(--cp-s, 5px);
    height: var(--cp-s, 5px);
    border-radius: 50%;
    opacity: var(--cp-o, .58);
    background: radial-gradient(circle, rgba(247, 249, 255, .92) 0, var(--chapter-accent) 42%, transparent 72%);
    box-shadow:
        0 0 14px var(--chapter-accent-soft),
        0 0 30px rgba(247, 249, 255, .08);
    transform: translate3d(-50%, -50%, var(--cp-z, -120px)) scale(var(--cp-scale, 1));
    animation: jvueChapterNode var(--chapter-field-speed) ease-in-out infinite alternate;
    animation-delay: var(--cp-delay, 0s);
}

.jvue-chapter-particles b {
    left: var(--cp-x, 50%);
    top: var(--cp-y, 50%);
    width: var(--cp-w, 34vw);
    height: var(--cp-h, 1px);
    opacity: var(--cp-o, .34);
    background:
        linear-gradient(90deg, transparent 0, var(--chapter-accent-soft) 18%, rgba(247, 249, 255, .66) 48%, var(--chapter-warm) 62%, transparent 100%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .16) 19px, transparent 20px);
    background-size: 100% 100%, 120px 100%;
    background-position: 0 0, var(--chapter-field-scan) 0;
    box-shadow: 0 0 28px var(--chapter-accent-soft);
    transform: translate3d(-50%, -50%, var(--cp-z, -220px)) rotate(var(--cp-r, 0deg)) scaleX(var(--cp-scale, 1));
    animation: jvueChapterRail var(--chapter-field-speed) linear infinite;
    animation-delay: var(--cp-delay, 0s);
}

.jvue-chapter-particles em {
    left: var(--cp-x, 50%);
    top: var(--cp-y, 50%);
    width: var(--cp-w, clamp(118px, 11vw, 210px));
    height: var(--cp-h, clamp(54px, 5.2vw, 96px));
    border: 1px solid rgba(226, 235, 247, .16);
    border-radius: 8px;
    opacity: var(--cp-o, .28);
    background:
        linear-gradient(135deg, var(--chapter-card), rgba(5, 8, 14, .08)),
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .14) 46%, transparent 72%);
    background-size: 100% 100%, 220% 100%;
    background-position: 0 0, var(--chapter-field-scan) 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 18px 70px rgba(0, 0, 0, .28),
        0 0 30px var(--chapter-accent-soft);
    transform: translate3d(-50%, -50%, var(--cp-z, -300px)) rotateX(var(--cp-rx, 0deg)) rotateY(var(--cp-ry, 0deg)) rotateZ(var(--cp-r, 0deg)) scale(var(--cp-scale, 1));
    animation: jvueChapterCard var(--chapter-field-speed) ease-in-out infinite alternate;
    animation-delay: var(--cp-delay, 0s);
}

.jvue-chapter-particles strong {
    left: var(--cp-x, 50%);
    top: var(--cp-y, 50%);
    width: var(--cp-w, 36vw);
    height: var(--cp-h, 36vw);
    max-width: 620px;
    max-height: 620px;
    opacity: var(--cp-o, .16);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .18) 0, var(--chapter-accent-soft) 18%, transparent 54%),
        conic-gradient(from 120deg, transparent 0 16%, var(--chapter-accent-soft) 18% 22%, transparent 26% 46%, var(--chapter-warm) 49% 51%, transparent 56% 100%);
    transform: translate3d(-50%, -50%, -420px) rotate(var(--cp-r, 0deg)) scale(var(--cp-scale, 1));
    animation: jvueChapterCore 14s ease-in-out infinite alternate;
}

.jvue-chapter-particles i:nth-of-type(1) { --cp-x: 29%; --cp-y: 34%; --cp-z: -220px; --cp-delay: -1.1s; }
.jvue-chapter-particles i:nth-of-type(2) { --cp-x: 44%; --cp-y: 42%; --cp-s: 7px; --cp-z: -90px; --cp-o: .72; --cp-delay: -2.2s; }
.jvue-chapter-particles i:nth-of-type(3) { --cp-x: 61%; --cp-y: 36%; --cp-z: -180px; --cp-delay: -3.3s; }
.jvue-chapter-particles i:nth-of-type(4) { --cp-x: 72%; --cp-y: 52%; --cp-s: 6px; --cp-z: -250px; --cp-delay: -4.4s; }
.jvue-chapter-particles i:nth-of-type(5) { --cp-x: 54%; --cp-y: 62%; --cp-z: -130px; --cp-delay: -5.5s; }
.jvue-chapter-particles i:nth-of-type(6) { --cp-x: 36%; --cp-y: 66%; --cp-z: -300px; --cp-delay: -6.6s; }
.jvue-chapter-particles i:nth-of-type(7) { --cp-x: 82%; --cp-y: 32%; --cp-s: 4px; --cp-z: -420px; --cp-o: .38; --cp-delay: -7.7s; }
.jvue-chapter-particles i:nth-of-type(8) { --cp-x: 18%; --cp-y: 58%; --cp-s: 4px; --cp-z: -380px; --cp-o: .4; --cp-delay: -8.8s; }
.jvue-chapter-particles i:nth-of-type(9) { --cp-x: 48%; --cp-y: 22%; --cp-s: 3px; --cp-z: -500px; --cp-o: .32; --cp-delay: -9.9s; }
.jvue-chapter-particles i:nth-of-type(10) { --cp-x: 68%; --cp-y: 74%; --cp-s: 4px; --cp-z: -460px; --cp-o: .36; --cp-delay: -11s; }
.jvue-chapter-particles i:nth-of-type(11) { --cp-x: 24%; --cp-y: 78%; --cp-s: 3px; --cp-z: -520px; --cp-o: .28; --cp-delay: -12.1s; }
.jvue-chapter-particles i:nth-of-type(12) { --cp-x: 88%; --cp-y: 66%; --cp-s: 3px; --cp-z: -540px; --cp-o: .3; --cp-delay: -13.2s; }

.jvue-chapter-particles b:nth-of-type(1) { --cp-x: 48%; --cp-y: 43%; --cp-w: 54vw; --cp-r: -8deg; --cp-delay: -1s; }
.jvue-chapter-particles b:nth-of-type(2) { --cp-x: 54%; --cp-y: 55%; --cp-w: 62vw; --cp-r: 8deg; --cp-z: -260px; --cp-delay: -2.3s; }
.jvue-chapter-particles b:nth-of-type(3) { --cp-x: 62%; --cp-y: 36%; --cp-w: 38vw; --cp-r: 24deg; --cp-o: .24; --cp-delay: -3.6s; }
.jvue-chapter-particles b:nth-of-type(4) { --cp-x: 36%; --cp-y: 64%; --cp-w: 42vw; --cp-r: -24deg; --cp-o: .24; --cp-delay: -4.9s; }
.jvue-chapter-particles b:nth-of-type(5) { --cp-x: 76%; --cp-y: 46%; --cp-w: 28vw; --cp-r: 0deg; --cp-o: .18; --cp-z: -430px; --cp-delay: -6.2s; }
.jvue-chapter-particles b:nth-of-type(6) { --cp-x: 22%; --cp-y: 48%; --cp-w: 30vw; --cp-r: 0deg; --cp-o: .18; --cp-z: -430px; --cp-delay: -7.5s; }
.jvue-chapter-particles b:nth-of-type(7) { --cp-x: 50%; --cp-y: 28%; --cp-w: 34vw; --cp-r: 90deg; --cp-o: .14; --cp-z: -520px; --cp-delay: -8.8s; }
.jvue-chapter-particles b:nth-of-type(8) { --cp-x: 50%; --cp-y: 72%; --cp-w: 34vw; --cp-r: 90deg; --cp-o: .14; --cp-z: -520px; --cp-delay: -10.1s; }

.jvue-chapter-particles em:nth-of-type(1) { --cp-x: 31%; --cp-y: 43%; --cp-r: -10deg; --cp-ry: 16deg; --cp-delay: -1.5s; }
.jvue-chapter-particles em:nth-of-type(2) { --cp-x: 52%; --cp-y: 38%; --cp-r: 3deg; --cp-z: -190px; --cp-o: .34; --cp-delay: -3s; }
.jvue-chapter-particles em:nth-of-type(3) { --cp-x: 71%; --cp-y: 56%; --cp-r: 12deg; --cp-ry: -16deg; --cp-delay: -4.5s; }
.jvue-chapter-particles em:nth-of-type(4) { --cp-x: 43%; --cp-y: 70%; --cp-r: -5deg; --cp-z: -360px; --cp-o: .22; --cp-delay: -6s; }
.jvue-chapter-particles em:nth-of-type(5) { --cp-x: 79%; --cp-y: 30%; --cp-r: 16deg; --cp-z: -460px; --cp-o: .16; --cp-scale: .82; --cp-delay: -7.5s; }

.jvue-home.is-fx-0 .jvue-chapter-particles { --chapter-accent: rgba(105, 199, 240, .86); --chapter-accent-soft: rgba(105, 199, 240, .24); --chapter-warm: rgba(201, 154, 85, .48); }
.jvue-home.is-fx-0 .jvue-chapter-particles strong { --cp-x: 50%; --cp-y: 50%; --cp-o: .22; --cp-scale: 1.04; }

.jvue-home.is-fx-1 .jvue-chapter-particles { --chapter-accent: rgba(86, 196, 155, .78); --chapter-accent-soft: rgba(86, 196, 155, .22); --chapter-warm: rgba(105, 199, 240, .4); }
.jvue-home.is-fx-1 .jvue-chapter-particles b:nth-of-type(1) { --cp-x: 50%; --cp-y: 37%; --cp-w: 84vw; --cp-r: 0deg; --cp-o: .36; }
.jvue-home.is-fx-1 .jvue-chapter-particles b:nth-of-type(2) { --cp-x: 50%; --cp-y: 49%; --cp-w: 92vw; --cp-r: 0deg; --cp-o: .42; }
.jvue-home.is-fx-1 .jvue-chapter-particles b:nth-of-type(3) { --cp-x: 50%; --cp-y: 61%; --cp-w: 76vw; --cp-r: 0deg; --cp-o: .28; }
.jvue-home.is-fx-1 .jvue-chapter-particles em { --cp-h: clamp(42px, 4vw, 78px); --cp-o: .22; }
.jvue-home.is-fx-1 .jvue-chapter-particles i { --cp-scale: .78; }

.jvue-home.is-fx-2 .jvue-chapter-particles { --chapter-accent: rgba(201, 154, 85, .72); --chapter-accent-soft: rgba(201, 154, 85, .22); --chapter-warm: rgba(105, 199, 240, .34); --chapter-card: rgba(247, 249, 255, .14); }
.jvue-home.is-fx-2 .jvue-chapter-particles em:nth-of-type(1) { --cp-x: 30%; --cp-y: 36%; --cp-r: 3deg; --cp-o: .38; }
.jvue-home.is-fx-2 .jvue-chapter-particles em:nth-of-type(2) { --cp-x: 50%; --cp-y: 40%; --cp-r: -2deg; --cp-o: .42; }
.jvue-home.is-fx-2 .jvue-chapter-particles em:nth-of-type(3) { --cp-x: 70%; --cp-y: 44%; --cp-r: 4deg; --cp-o: .34; }
.jvue-home.is-fx-2 .jvue-chapter-particles em:nth-of-type(4) { --cp-x: 40%; --cp-y: 62%; --cp-r: -4deg; --cp-o: .3; }
.jvue-home.is-fx-2 .jvue-chapter-particles em:nth-of-type(5) { --cp-x: 62%; --cp-y: 66%; --cp-r: 2deg; --cp-o: .28; --cp-scale: 1; }
.jvue-home.is-fx-2 .jvue-chapter-particles b { --cp-o: .16; }

.jvue-home.is-fx-3 .jvue-chapter-particles { --chapter-accent: rgba(105, 199, 240, .84); --chapter-accent-soft: rgba(105, 199, 240, .24); --chapter-warm: rgba(215, 91, 91, .28); }
.jvue-home.is-fx-3 .jvue-chapter-particles b:nth-of-type(1) { --cp-x: 45%; --cp-y: 68%; --cp-w: 104vw; --cp-r: -18deg; --cp-o: .42; }
.jvue-home.is-fx-3 .jvue-chapter-particles b:nth-of-type(2) { --cp-x: 58%; --cp-y: 54%; --cp-w: 96vw; --cp-r: -18deg; --cp-o: .36; }
.jvue-home.is-fx-3 .jvue-chapter-particles b:nth-of-type(3) { --cp-x: 70%; --cp-y: 40%; --cp-w: 78vw; --cp-r: -18deg; --cp-o: .24; }
.jvue-home.is-fx-3 .jvue-chapter-particles em { --cp-r: -18deg; --cp-o: .18; }
.jvue-home.is-fx-3 .jvue-chapter-particles i { --cp-scale: .68; }

.jvue-home.is-fx-4 .jvue-chapter-particles { --chapter-accent: rgba(132, 145, 255, .78); --chapter-accent-soft: rgba(132, 145, 255, .24); --chapter-warm: rgba(72, 210, 255, .38); }
.jvue-home.is-fx-4 .jvue-chapter-particles strong { --cp-x: 56%; --cp-y: 48%; --cp-o: .18; --cp-scale: .82; }
.jvue-home.is-fx-4 .jvue-chapter-particles b { --cp-w: 28vw; --cp-o: .2; }
.jvue-home.is-fx-4 .jvue-chapter-particles i:nth-of-type(2),
.jvue-home.is-fx-4 .jvue-chapter-particles i:nth-of-type(5),
.jvue-home.is-fx-4 .jvue-chapter-particles i:nth-of-type(9) { --cp-s: 8px; --cp-o: .76; }
.jvue-home.is-fx-4 .jvue-chapter-particles em { --cp-o: .14; --cp-scale: .72; }

.jvue-home.is-fx-5 .jvue-chapter-particles { --chapter-accent: rgba(247, 249, 255, .8); --chapter-accent-soft: rgba(247, 249, 255, .22); --chapter-warm: rgba(201, 154, 85, .5); }
.jvue-home.is-fx-5 .jvue-chapter-particles strong { --cp-x: 50%; --cp-y: 46%; --cp-o: .24; --cp-scale: .7; }
.jvue-home.is-fx-5 .jvue-chapter-particles b:nth-of-type(1) { --cp-x: 50%; --cp-y: 46%; --cp-w: 64vw; --cp-r: 12deg; --cp-o: .36; }
.jvue-home.is-fx-5 .jvue-chapter-particles b:nth-of-type(2) { --cp-x: 50%; --cp-y: 52%; --cp-w: 64vw; --cp-r: -12deg; --cp-o: .34; }
.jvue-home.is-fx-5 .jvue-chapter-particles b:nth-of-type(7),
.jvue-home.is-fx-5 .jvue-chapter-particles b:nth-of-type(8) { --cp-r: 90deg; --cp-o: .28; }
.jvue-home.is-fx-5 .jvue-chapter-particles em { --cp-o: .12; --cp-scale: .66; }

.jvue-stage-projector {
    position: absolute;
    inset: -18%;
    z-index: 4;
    overflow: hidden;
    pointer-events: none;
    opacity: var(--projector-opacity);
    mix-blend-mode: screen;
    perspective: 1600px;
    transform:
        translate3d(calc(var(--projector-x) + var(--cursor-parallax-x)), calc(var(--projector-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--projector-tilt))
        scale(var(--projector-scale));
    filter: blur(var(--projector-blur)) saturate(1.28) contrast(1.24) brightness(var(--projector-brightness));
    transition: none;
    will-change: opacity, transform, filter;
    --projector-accent: rgba(105, 199, 240, .78);
    --projector-accent-soft: rgba(105, 199, 240, .2);
    --projector-warm: rgba(201, 154, 85, .36);
}

.jvue-stage-projector article {
    position: absolute;
    left: 50%;
    top: 50%;
    width: var(--pj-w, clamp(260px, 36vw, 620px));
    height: var(--pj-h, clamp(150px, 20vw, 340px));
    border: 1px solid rgba(226, 235, 247, .16);
    border-radius: 8px;
    opacity: .065;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(247, 249, 255, .09), rgba(6, 10, 16, .025)),
        radial-gradient(circle at 18% 26%, var(--projector-accent-soft), transparent 38%),
        linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(0, 0, 0, .06));
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 30px 100px rgba(0, 0, 0, .24),
        0 0 42px var(--projector-accent-soft);
    transform:
        translate3d(calc(-50% + var(--pj-x, 0px)), calc(-50% + var(--pj-y, 0px)), var(--pj-z, -340px))
        rotateX(var(--pj-rx, 0deg))
        rotateY(var(--pj-ry, 0deg))
        rotateZ(var(--pj-r, 0deg))
        scale(var(--pj-scale, .88));
    transform-style: preserve-3d;
    transition: none;
    animation: jvueProjectorFloat var(--projector-speed) ease-in-out infinite alternate;
    animation-delay: var(--pj-delay, 0s);
}

.jvue-stage-projector article.active {
    opacity: .9;
    filter: brightness(1.18) contrast(1.18);
    border-color: rgba(226, 235, 247, .34);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .2),
        0 34px 120px rgba(0, 0, 0, .36),
        0 0 82px var(--projector-accent-soft);
}

.jvue-stage-projector article::before,
.jvue-stage-projector article::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.jvue-stage-projector article::before {
    background:
        linear-gradient(105deg, transparent 0 26%, rgba(247, 249, 255, .22) 42%, var(--projector-accent-soft) 51%, transparent 66%),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .1) 35px, transparent 36px);
    background-size: 260% 100%, 140px 100%;
    background-position: var(--projector-scan) 0, var(--projector-scan) 0;
    opacity: .58;
    animation: jvueProjectorScan var(--projector-speed) linear infinite;
}

.jvue-stage-projector article::after {
    inset: 10px;
    border: 1px solid rgba(226, 235, 247, .18);
    border-radius: 7px;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .12) 46%, transparent 78%),
        radial-gradient(circle at 70% 40%, var(--projector-warm), transparent 34%);
    opacity: .62;
}

.jvue-stage-projector strong,
.jvue-stage-projector small,
.jvue-stage-projector i,
.jvue-stage-projector b,
.jvue-stage-projector em {
    position: absolute;
    display: block;
    pointer-events: none;
}

.jvue-stage-projector strong {
    left: 8%;
    bottom: 6%;
    color: transparent;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .28);
    font-size: clamp(48px, 7vw, 130px);
    font-weight: 900;
    letter-spacing: 0;
    line-height: .86;
    opacity: .78;
    text-shadow: 0 0 42px var(--projector-accent-soft);
}

.jvue-stage-projector small {
    right: 7%;
    top: 7%;
    color: rgba(247, 249, 255, .62);
    font-size: clamp(18px, 2.1vw, 34px);
    font-weight: 900;
    letter-spacing: 0;
}

.jvue-stage-projector i {
    left: var(--pj-line-x, 50%);
    top: var(--pj-line-y, 50%);
    width: var(--pj-line-w, 72%);
    height: 1px;
    opacity: var(--pj-line-o, .5);
    background: linear-gradient(90deg, transparent, var(--projector-accent), rgba(247, 249, 255, .72), transparent);
    box-shadow: 0 0 34px var(--projector-accent-soft);
    transform: translate3d(-50%, -50%, 48px) rotate(var(--pj-line-r, 0deg));
}

.jvue-stage-projector b {
    left: var(--pj-node-x, 50%);
    top: var(--pj-node-y, 50%);
    width: var(--pj-node-s, 7px);
    height: var(--pj-node-s, 7px);
    border-radius: 50%;
    opacity: var(--pj-node-o, .72);
    background: radial-gradient(circle, rgba(247, 249, 255, .9), var(--projector-accent) 52%, transparent 72%);
    box-shadow: 0 0 22px var(--projector-accent-soft);
    transform: translate3d(-50%, -50%, 64px);
    animation: jvueProjectorNode 4.8s ease-in-out infinite alternate;
    animation-delay: var(--pj-delay, 0s);
}

.jvue-stage-projector em {
    left: var(--pj-card-x, 50%);
    top: var(--pj-card-y, 50%);
    width: var(--pj-card-w, 28%);
    height: var(--pj-card-h, 24%);
    border: 1px solid rgba(226, 235, 247, .13);
    border-radius: 7px;
    opacity: var(--pj-card-o, .46);
    background:
        linear-gradient(135deg, rgba(247, 249, 255, .08), rgba(5, 8, 14, .02)),
        linear-gradient(90deg, transparent 0, var(--projector-accent-soft) 48%, transparent 100%);
    background-size: 100% 100%, 220% 100%;
    background-position: 0 0, var(--projector-scan) 0;
    transform: translate3d(-50%, -50%, 72px) rotate(var(--pj-card-r, 0deg));
}

.jvue-stage-projector article:nth-child(1) { --pj-x: -6vw; --pj-y: 2vh; --pj-r: -8deg; --pj-ry: 8deg; --pj-delay: -1s; }
.jvue-stage-projector article:nth-child(2) { --pj-x: 9vw; --pj-y: -7vh; --pj-r: 4deg; --pj-ry: -10deg; --pj-scale: .82; --pj-z: -430px; --pj-delay: -2.2s; }
.jvue-stage-projector article:nth-child(3) { --pj-x: 18vw; --pj-y: 9vh; --pj-r: 12deg; --pj-ry: -18deg; --pj-scale: .76; --pj-z: -520px; --pj-delay: -3.4s; }
.jvue-stage-projector article:nth-child(4) { --pj-x: -18vw; --pj-y: 10vh; --pj-r: -16deg; --pj-ry: 18deg; --pj-scale: .76; --pj-z: -520px; --pj-delay: -4.6s; }
.jvue-stage-projector article:nth-child(5) { --pj-x: -20vw; --pj-y: -8vh; --pj-r: 9deg; --pj-ry: 16deg; --pj-scale: .68; --pj-z: -620px; --pj-delay: -5.8s; }
.jvue-stage-projector article:nth-child(6) { --pj-x: 3vw; --pj-y: 13vh; --pj-r: -3deg; --pj-scale: .7; --pj-z: -660px; --pj-delay: -7s; }

.jvue-stage-projector article:nth-child(1) i:nth-of-type(1) { --pj-line-x: 52%; --pj-line-y: 46%; --pj-line-r: -12deg; }
.jvue-stage-projector article:nth-child(1) i:nth-of-type(2) { --pj-line-x: 50%; --pj-line-y: 54%; --pj-line-r: 15deg; --pj-line-w: 62%; --pj-line-o: .28; }
.jvue-stage-projector article:nth-child(1) i:nth-of-type(3) { --pj-line-x: 50%; --pj-line-y: 50%; --pj-line-r: 90deg; --pj-line-w: 34%; --pj-line-o: .22; }
.jvue-stage-projector article:nth-child(2) i { --pj-line-r: 0deg; }
.jvue-stage-projector article:nth-child(3) i { --pj-line-r: 8deg; }
.jvue-stage-projector article:nth-child(4) i { --pj-line-r: -18deg; }
.jvue-stage-projector article:nth-child(5) i { --pj-line-w: 42%; --pj-line-o: .22; }
.jvue-stage-projector article:nth-child(6) i:nth-of-type(1) { --pj-line-r: 12deg; }
.jvue-stage-projector article:nth-child(6) i:nth-of-type(2) { --pj-line-r: -12deg; }

.jvue-stage-projector b:nth-of-type(1) { --pj-node-x: 28%; --pj-node-y: 34%; --pj-delay: -.6s; }
.jvue-stage-projector b:nth-of-type(2) { --pj-node-x: 58%; --pj-node-y: 42%; --pj-node-s: 9px; --pj-delay: -1.3s; }
.jvue-stage-projector b:nth-of-type(3) { --pj-node-x: 72%; --pj-node-y: 62%; --pj-delay: -2s; }
.jvue-stage-projector b:nth-of-type(4) { --pj-node-x: 42%; --pj-node-y: 70%; --pj-node-s: 5px; --pj-node-o: .5; --pj-delay: -2.7s; }

.jvue-stage-projector em:nth-of-type(1) { --pj-card-x: 30%; --pj-card-y: 52%; --pj-card-r: -7deg; }
.jvue-stage-projector em:nth-of-type(2) { --pj-card-x: 56%; --pj-card-y: 46%; --pj-card-r: 4deg; --pj-card-w: 34%; --pj-card-h: 30%; --pj-card-o: .42; }
.jvue-stage-projector em:nth-of-type(3) { --pj-card-x: 72%; --pj-card-y: 68%; --pj-card-r: 11deg; --pj-card-w: 22%; --pj-card-h: 20%; --pj-card-o: .26; }

.jvue-home.is-fx-0 .jvue-stage-projector { --projector-accent: rgba(105, 199, 240, .78); --projector-accent-soft: rgba(105, 199, 240, .2); --projector-warm: rgba(201, 154, 85, .34); }
.jvue-home.is-fx-1 .jvue-stage-projector { --projector-accent: rgba(86, 196, 155, .72); --projector-accent-soft: rgba(86, 196, 155, .18); --projector-warm: rgba(105, 199, 240, .32); }
.jvue-home.is-fx-2 .jvue-stage-projector { --projector-accent: rgba(201, 154, 85, .72); --projector-accent-soft: rgba(201, 154, 85, .18); --projector-warm: rgba(105, 199, 240, .28); }
.jvue-home.is-fx-3 .jvue-stage-projector { --projector-accent: rgba(105, 199, 240, .82); --projector-accent-soft: rgba(105, 199, 240, .2); --projector-warm: rgba(215, 91, 91, .24); }
.jvue-home.is-fx-4 .jvue-stage-projector { --projector-accent: rgba(132, 145, 255, .72); --projector-accent-soft: rgba(132, 145, 255, .18); --projector-warm: rgba(72, 210, 255, .3); }
.jvue-home.is-fx-5 .jvue-stage-projector { --projector-accent: rgba(247, 249, 255, .76); --projector-accent-soft: rgba(247, 249, 255, .17); --projector-warm: rgba(201, 154, 85, .38); }

.jvue-home.is-fx-0 {
    --stage-field-opacity: .18;
    --stage-field-node-opacity: .2;
    --stage-radial-opacity: .12;
    --portal-opacity: .1;
    --webgl-glow-opacity: .18;
    --live-bg-opacity: .62;
    --live-scene-boost: .12;
    --live-bg-speed: 5.8s;
    --live-bg-packet-speed: 6.6s;
    --live-bg-matrix-speed: 8.4s;
}

.jvue-home.is-fx-0 .jvue-live-backdrop {
    --live-bg-line-opacity: .34;
    --live-bg-node-opacity: .32;
    --live-bg-plane-opacity: .15;
    --live-bg-plane-depth-opacity: .1;
}

.jvue-home.is-fx-0 .jvue-live-backdrop i {
    --live-line-scale: .64;
}

.jvue-home.is-fx-0 .jvue-live-backdrop b:nth-of-type(2) {
    --live-card-x: 63%;
    --live-card-y: 43%;
    --live-card-w: clamp(210px, 22vw, 410px);
    --live-card-h: clamp(78px, 8vw, 142px);
    --live-card-o: var(--live-bg-plane-high);
    --live-card-rz: -4deg;
}

.jvue-home.is-fx-0 .jvue-live-backdrop span:nth-of-type(2) {
    --live-node-x: 62%;
    --live-node-y: 52%;
    --live-node-w: 25vw;
    --live-node-r: -6deg;
}

.jvue-home.is-fx-0 .jvue-live-backdrop::before,
.jvue-home.is-fx-0 .jvue-live-backdrop::after {
    animation-duration: 6.8s;
}

.jvue-home.is-fx-1 .jvue-live-backdrop {
    --live-bg-line-opacity: .34;
    --live-bg-opacity: .58;
    --live-scene-boost: .14;
    --live-bg-node-opacity: .42;
    --live-bg-plane-opacity: .16;
    --live-bg-plane-depth-opacity: .1;
}

.jvue-home.is-fx-1 .jvue-live-backdrop i {
    --live-line-rx: 66deg;
    --live-line-r: 0deg;
    --live-line-scale: .88;
}

.jvue-home.is-fx-1 .jvue-live-backdrop b {
    --live-card-rx: 64deg;
    --live-card-rz: 0deg;
}

.jvue-home.is-fx-1 .jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 24%; --live-line-y: 58%; --live-line-r: 0deg; --live-line-w: 76vw; }
.jvue-home.is-fx-1 .jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 48%; --live-line-y: 50%; --live-line-r: 0deg; --live-line-w: 92vw; }
.jvue-home.is-fx-1 .jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 72%; --live-line-y: 42%; --live-line-r: 0deg; --live-line-w: 74vw; }
.jvue-home.is-fx-1 .jvue-live-backdrop i:nth-of-type(4) { --live-line-x: 58%; --live-line-y: 66%; --live-line-r: 0deg; --live-line-w: 68vw; }

.jvue-home.is-fx-1 .jvue-live-backdrop b:nth-of-type(1) { --live-card-x: 22%; --live-card-y: 55%; --live-card-z: -210px; --live-card-w: clamp(160px, 16vw, 300px); --live-card-o: var(--live-bg-plane-mid); }
.jvue-home.is-fx-1 .jvue-live-backdrop b:nth-of-type(2) { --live-card-x: 43%; --live-card-y: 50%; --live-card-z: -140px; --live-card-w: clamp(180px, 18vw, 340px); --live-card-o: var(--live-bg-plane-high); }
.jvue-home.is-fx-1 .jvue-live-backdrop b:nth-of-type(3) { --live-card-x: 65%; --live-card-y: 51%; --live-card-z: -210px; --live-card-w: clamp(160px, 16vw, 300px); --live-card-o: var(--live-bg-plane-mid); }
.jvue-home.is-fx-1 .jvue-live-backdrop b:nth-of-type(4) { --live-card-x: 84%; --live-card-y: 36%; --live-card-z: -280px; --live-card-w: clamp(120px, 12vw, 230px); --live-card-o: var(--live-bg-plane-low); }

.jvue-home.is-fx-1 .jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 25%; --live-node-y: 56%; --live-node-w: 12vw; --live-node-r: 0deg; }
.jvue-home.is-fx-1 .jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 48%; --live-node-y: 50%; --live-node-w: 18vw; --live-node-r: 0deg; }
.jvue-home.is-fx-1 .jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 70%; --live-node-y: 46%; --live-node-w: 13vw; --live-node-r: 0deg; }

.jvue-home.is-fx-2 .jvue-live-backdrop {
    --live-bg-opacity: .66;
    --live-scene-boost: .18;
    --live-bg-line-opacity: .4;
    --live-bg-plane-opacity: .18;
    --live-bg-plane-depth-opacity: .12;
    --live-bg-node-opacity: .48;
}

.jvue-home.is-fx-2 .jvue-live-backdrop b {
    --live-card-w: clamp(150px, 16vw, 320px);
    --live-card-h: clamp(58px, 6vw, 110px);
    --live-card-scale: .92;
}

.jvue-home.is-fx-2 .jvue-live-backdrop span {
    --live-node-rx: 62deg;
    --live-node-scale: 1;
}

.jvue-home.is-fx-2 .jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 30%; --live-line-y: 34%; --live-line-r: 8deg; --live-line-w: 52vw; --live-line-scale: .54; }
.jvue-home.is-fx-2 .jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 50%; --live-line-y: 50%; --live-line-r: 8deg; --live-line-w: 78vw; --live-line-scale: .68; }
.jvue-home.is-fx-2 .jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 70%; --live-line-y: 66%; --live-line-r: 8deg; --live-line-w: 56vw; --live-line-scale: .52; }

.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(1) { --live-card-x: 25%; --live-card-y: 32%; --live-card-z: -220px; --live-card-rz: 6deg; --live-card-o: var(--live-bg-plane-mid); }
.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(2) { --live-card-x: 48%; --live-card-y: 36%; --live-card-z: -160px; --live-card-rz: 4deg; --live-card-o: var(--live-bg-plane-high); }
.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(3) { --live-card-x: 70%; --live-card-y: 40%; --live-card-z: -230px; --live-card-rz: 7deg; --live-card-o: var(--live-bg-plane-mid); }
.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(4) { --live-card-x: 30%; --live-card-y: 62%; --live-card-z: -260px; --live-card-rz: 6deg; --live-card-o: var(--live-bg-plane-mid); }
.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(5) { --live-card-x: 52%; --live-card-y: 66%; --live-card-z: -210px; --live-card-rz: 5deg; --live-card-o: var(--live-bg-plane-high); }
.jvue-home.is-fx-2 .jvue-live-backdrop b:nth-of-type(6) { --live-card-x: 74%; --live-card-y: 70%; --live-card-z: -280px; --live-card-rz: 8deg; --live-card-o: var(--live-bg-plane-low); }

.jvue-home.is-fx-2 .jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 27%; --live-node-y: 38%; --live-node-w: 13vw; --live-node-r: 7deg; }
.jvue-home.is-fx-2 .jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 49%; --live-node-y: 50%; --live-node-w: 20vw; --live-node-r: 7deg; }
.jvue-home.is-fx-2 .jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 72%; --live-node-y: 62%; --live-node-w: 14vw; --live-node-r: 7deg; }

.jvue-home.is-fx-3 .jvue-live-backdrop {
    --live-bg-opacity: .7;
    --live-scene-boost: .2;
    --live-bg-line-opacity: .5;
    --live-bg-plane-opacity: .13;
    --live-bg-plane-depth-opacity: .08;
    --live-bg-node-opacity: .4;
}

.jvue-home.is-fx-3 .jvue-live-backdrop i {
    --live-line-r: -18deg;
    --live-line-scale: .96;
}

.jvue-home.is-fx-3 .jvue-live-backdrop b {
    --live-card-rx: 50deg;
    --live-card-rz: -16deg;
    --live-card-h: clamp(44px, 5vw, 82px);
}

.jvue-home.is-fx-3 .jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 18%; --live-line-y: 74%; --live-line-r: -19deg; --live-line-w: 98vw; --live-line-o: var(--live-bg-line-high); }
.jvue-home.is-fx-3 .jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 44%; --live-line-y: 58%; --live-line-r: -18deg; --live-line-w: 104vw; --live-line-o: var(--live-bg-line-high); }
.jvue-home.is-fx-3 .jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 66%; --live-line-y: 44%; --live-line-r: -18deg; --live-line-w: 86vw; --live-line-o: var(--live-bg-line-mid); }
.jvue-home.is-fx-3 .jvue-live-backdrop i:nth-of-type(4) { --live-line-x: 80%; --live-line-y: 32%; --live-line-r: -18deg; --live-line-w: 68vw; --live-line-o: var(--live-bg-line-low); }

.jvue-home.is-fx-3 .jvue-live-backdrop b:nth-of-type(1) { --live-card-x: 25%; --live-card-y: 68%; --live-card-z: -250px; --live-card-rz: -18deg; --live-card-w: clamp(132px, 14vw, 260px); }
.jvue-home.is-fx-3 .jvue-live-backdrop b:nth-of-type(2) { --live-card-x: 48%; --live-card-y: 55%; --live-card-z: -160px; --live-card-rz: -18deg; --live-card-w: clamp(160px, 18vw, 330px); --live-card-o: var(--live-bg-plane-high); }
.jvue-home.is-fx-3 .jvue-live-backdrop b:nth-of-type(3) { --live-card-x: 70%; --live-card-y: 42%; --live-card-z: -210px; --live-card-rz: -18deg; --live-card-w: clamp(128px, 13vw, 250px); }

.jvue-home.is-fx-3 .jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 31%; --live-node-y: 63%; --live-node-w: 12vw; --live-node-r: -18deg; }
.jvue-home.is-fx-3 .jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 52%; --live-node-y: 52%; --live-node-w: 20vw; --live-node-r: -18deg; }
.jvue-home.is-fx-3 .jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 73%; --live-node-y: 40%; --live-node-w: 14vw; --live-node-r: -18deg; }

.jvue-home.is-fx-4 .jvue-live-backdrop {
    --live-bg-opacity: .68;
    --live-scene-boost: .16;
    --live-bg-line-opacity: .34;
    --live-bg-plane-opacity: .12;
    --live-bg-plane-depth-opacity: .08;
    --live-bg-node-opacity: .54;
}

.jvue-home.is-fx-4 .jvue-live-backdrop span {
    --live-node-rx: 54deg;
    --live-node-scale: 1.08;
}

.jvue-home.is-fx-4 .jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 30%; --live-line-y: 30%; --live-line-r: -5deg; --live-line-w: 40vw; --live-line-scale: .46; }
.jvue-home.is-fx-4 .jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 58%; --live-line-y: 42%; --live-line-r: 6deg; --live-line-w: 52vw; --live-line-scale: .5; }
.jvue-home.is-fx-4 .jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 44%; --live-line-y: 68%; --live-line-r: -9deg; --live-line-w: 44vw; --live-line-scale: .44; }

.jvue-home.is-fx-4 .jvue-live-backdrop b {
    --live-card-o: var(--live-bg-plane-low);
    --live-card-scale: .72;
}

.jvue-home.is-fx-4 .jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 34%; --live-node-y: 30%; --live-node-w: 10vw; --live-node-r: -8deg; --live-node-o: var(--live-bg-node-mid); }
.jvue-home.is-fx-4 .jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 52%; --live-node-y: 45%; --live-node-w: 20vw; --live-node-r: 4deg; --live-node-o: var(--live-bg-node-high); }
.jvue-home.is-fx-4 .jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 68%; --live-node-y: 64%; --live-node-w: 12vw; --live-node-r: 12deg; --live-node-o: var(--live-bg-node-mid); }
.jvue-home.is-fx-4 .jvue-live-backdrop span:nth-of-type(4) { --live-node-x: 42%; --live-node-y: 72%; --live-node-w: 11vw; --live-node-r: -14deg; --live-node-o: var(--live-bg-node-low); }

.jvue-home.is-fx-5 .jvue-live-backdrop {
    --live-bg-opacity: .62;
    --live-scene-boost: .12;
    --live-bg-line-opacity: .3;
    --live-bg-plane-opacity: .12;
    --live-bg-node-opacity: .42;
}

.jvue-home.is-fx-5 .jvue-live-backdrop i {
    --live-line-r: 12deg;
    --live-line-scale: .58;
}

.jvue-home.is-fx-5 .jvue-live-backdrop i:nth-of-type(1) { --live-line-x: 50%; --live-line-y: 42%; --live-line-r: 12deg; --live-line-w: 42vw; }
.jvue-home.is-fx-5 .jvue-live-backdrop i:nth-of-type(2) { --live-line-x: 50%; --live-line-y: 50%; --live-line-r: 0deg; --live-line-w: 56vw; --live-line-o: var(--live-bg-line-mid); }
.jvue-home.is-fx-5 .jvue-live-backdrop i:nth-of-type(3) { --live-line-x: 50%; --live-line-y: 58%; --live-line-r: -12deg; --live-line-w: 42vw; }

.jvue-home.is-fx-5 .jvue-live-backdrop b:nth-of-type(1) { --live-card-x: 38%; --live-card-y: 48%; --live-card-z: -260px; --live-card-rz: 10deg; --live-card-scale: .74; }
.jvue-home.is-fx-5 .jvue-live-backdrop b:nth-of-type(2) { --live-card-x: 50%; --live-card-y: 50%; --live-card-z: -140px; --live-card-rz: 0deg; --live-card-o: var(--live-bg-plane-high); --live-card-scale: .9; }
.jvue-home.is-fx-5 .jvue-live-backdrop b:nth-of-type(3) { --live-card-x: 62%; --live-card-y: 52%; --live-card-z: -260px; --live-card-rz: -10deg; --live-card-scale: .74; }

.jvue-home.is-fx-5 .jvue-live-backdrop span:nth-of-type(1) { --live-node-x: 42%; --live-node-y: 49%; --live-node-w: 11vw; --live-node-r: 10deg; }
.jvue-home.is-fx-5 .jvue-live-backdrop span:nth-of-type(2) { --live-node-x: 50%; --live-node-y: 50%; --live-node-w: 19vw; --live-node-r: 0deg; }
.jvue-home.is-fx-5 .jvue-live-backdrop span:nth-of-type(3) { --live-node-x: 58%; --live-node-y: 51%; --live-node-w: 11vw; --live-node-r: -10deg; }

.jvue-home.is-scroll-active .jvue-live-backdrop,
.jvue-home.is-scene-switching .jvue-live-backdrop,
.jvue-home.is-work-transitioning .jvue-live-backdrop {
    opacity: min(.86, calc(var(--live-bg-opacity) + var(--live-scene-boost) + .12));
    filter: saturate(1.18) contrast(1.16) brightness(1.08);
}

.jvue-depth-particles {
    position: absolute;
    inset: 0;
    z-index: 12;
    width: 100%;
    height: 100%;
    display: block;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: screen;
    filter: saturate(1.18) contrast(1.2) brightness(1.04) drop-shadow(0 0 24px rgba(105, 199, 240, .18));
    transform: translate3d(0, 0, 0);
    transition: opacity .48s var(--jv-ease), filter .36s var(--jv-ease), transform .18s linear;
    will-change: opacity, filter, transform;
    contain: strict;
}

.jvue-home.is-depth-particles .jvue-depth-particles {
    opacity: .68;
}

.jvue-home.is-scroll-active.is-depth-particles .jvue-depth-particles,
.jvue-home.is-scene-switching.is-depth-particles .jvue-depth-particles,
.jvue-home.is-work-transitioning.is-depth-particles .jvue-depth-particles {
    opacity: .72;
    filter: saturate(1.22) contrast(1.26) brightness(1.06) drop-shadow(0 0 22px rgba(105, 199, 240, .16));
}

.jvue-webgl-canvas {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    display: block;
    filter:
        saturate(var(--webgl-saturate))
        contrast(var(--webgl-contrast))
        brightness(var(--webgl-brightness))
        drop-shadow(0 0 26px rgba(105, 199, 240, var(--webgl-glow-opacity)))
        blur(calc(var(--fx-scroll-blur) + var(--webgl-shock-blur)));
    transform:
        translate3d(calc(var(--fx-canvas-x) + var(--ambient-stage-x) + var(--webgl-shock-x)), calc(var(--fx-canvas-y) + var(--ambient-stage-y) + var(--webgl-shock-y)), 0)
        rotate(var(--webgl-shock-angle))
        scale(var(--fx-canvas-scale))
        scale(var(--webgl-shock-scale))
        scaleX(var(--webgl-shock-stretch));
    transform-origin: center;
    transition: filter .18s linear, transform .18s linear;
}

.jvue-motion-field {
    position: absolute;
    inset: -18%;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    opacity: calc(var(--motion-field-opacity) + var(--motion-field-ambient-opacity));
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--motion-field-x) + var(--motion-field-ambient-x) + var(--cursor-parallax-x)), calc(var(--motion-field-y) + var(--motion-field-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--motion-field-tilt))
        rotate(var(--motion-field-ambient-tilt))
        scale(var(--motion-field-scale))
        scale(var(--motion-field-ambient-scale));
    transform-origin: 50% 52%;
    filter: saturate(1.12) contrast(1.16) brightness(1.06);
    mask-image:
        radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .94) 42%, rgba(0, 0, 0, .56) 70%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    transition: opacity .28s linear, filter .28s linear;
    will-change: transform, opacity, filter;
}

.jvue-motion-field::before,
.jvue-motion-field::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.jvue-motion-field::before {
    inset: 8%;
    opacity: .26;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .18) 48%, rgba(247, 249, 255, .28) 51%, rgba(201, 154, 85, .16) 55%, transparent 82%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .075) 0, rgba(105, 199, 240, .075) 1px, transparent 1px, transparent 86px),
        repeating-linear-gradient(0deg, rgba(247, 249, 255, .055) 0, rgba(247, 249, 255, .055) 1px, transparent 1px, transparent 72px);
    background-size: 420px 100%, 100% 100%, 100% 100%;
    background-position:
        calc(var(--motion-field-scan) + var(--motion-field-ambient-scan)) 0,
        0 0,
        0 calc(0px - var(--motion-field-scan));
    transform: rotateX(62deg) rotateZ(-8deg) translate3d(0, 0, -220px);
    animation: jvueMotionFieldGrid 13s linear infinite;
}

.jvue-motion-field::after {
    inset: 20% 8%;
    opacity: .22;
    border-top: 1px solid rgba(105, 199, 240, .22);
    border-bottom: 1px solid rgba(201, 154, 85, .16);
    background:
        radial-gradient(circle at 18% 44%, rgba(105, 199, 240, .24), transparent 7%),
        radial-gradient(circle at 54% 52%, rgba(247, 249, 255, .18), transparent 9%),
        radial-gradient(circle at 82% 60%, rgba(201, 154, 85, .16), transparent 8%),
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .18), rgba(247, 249, 255, .1), rgba(201, 154, 85, .12), transparent);
    transform: rotateX(60deg) rotateZ(var(--motion-field-tilt)) translate3d(0, 0, -160px);
    animation: jvueMotionFieldPulse 8.2s ease-in-out infinite;
}

.jvue-motion-field i,
.jvue-motion-field span,
.jvue-motion-field b {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-motion-field i {
    left: var(--mf-line-x, 50%);
    top: var(--mf-line-y, 50%);
    width: var(--mf-line-w, 68vw);
    height: var(--mf-line-h, 1px);
    opacity: var(--mf-line-o, .22);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .56), rgba(247, 249, 255, .78), rgba(201, 154, 85, .36), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(247, 249, 255, .22) 29px, transparent 32px);
    background-position: calc(var(--motion-field-scan) + var(--motion-field-ambient-scan)) 0, 0 0;
    box-shadow: 0 0 22px rgba(105, 199, 240, .18);
    transform:
        translate3d(-50%, -50%, var(--mf-line-z, -160px))
        rotateX(62deg)
        rotateZ(var(--mf-line-r, -8deg))
        scaleX(var(--mf-line-scale, .78));
    animation: jvueMotionFieldBeam var(--mf-line-speed, 8.4s) ease-in-out infinite;
    animation-delay: var(--mf-line-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-motion-field span {
    left: var(--mf-dot-x, 50%);
    top: var(--mf-dot-y, 50%);
    width: var(--mf-dot-size, 7px);
    aspect-ratio: 1;
    opacity: var(--mf-dot-o, .34);
    border-radius: 50%;
    background: rgba(241, 248, 255, .9);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .5),
        0 0 42px rgba(105, 199, 240, .18),
        18px -12px 0 -4px rgba(201, 154, 85, .48);
    transform:
        translate3d(-50%, -50%, var(--mf-dot-z, -120px))
        rotate(var(--mf-dot-r, -8deg))
        translate3d(var(--mf-dot-start, -12vw), 0, 0)
        scale(.72);
    animation: jvueMotionFieldNode var(--mf-dot-speed, 7.6s) ease-in-out infinite;
    animation-delay: var(--mf-dot-delay, 0s);
}

.jvue-motion-field b {
    left: var(--mf-card-x, 50%);
    top: var(--mf-card-y, 50%);
    width: var(--mf-card-w, clamp(180px, 18vw, 320px));
    height: var(--mf-card-h, clamp(76px, 8vw, 130px));
    opacity: var(--mf-card-o, .18);
    border: 1px solid rgba(226, 238, 255, .2);
    border-radius: 8px;
    background:
        linear-gradient(112deg, rgba(247, 249, 255, .08), rgba(105, 199, 240, .055) 42%, rgba(4, 7, 12, .32) 68%, rgba(201, 154, 85, .055)),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .1) 0, rgba(105, 199, 240, .1) 1px, transparent 1px, transparent 32px),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 48%, transparent 58%);
    background-size: 100% 100%, 100% 100%, 240px 100%;
    background-position: 0 0, 0 0, calc(var(--motion-field-scan) + var(--motion-field-ambient-scan)) 0;
    box-shadow:
        0 18px 50px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .13),
        0 0 34px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--mf-card-z, -260px))
        rotateX(var(--mf-card-rx, 58deg))
        rotateY(var(--mf-card-ry, 0deg))
        rotateZ(var(--mf-card-rz, -8deg))
        skewX(-4deg)
        scale(var(--mf-card-scale, .86));
    animation: jvueMotionFieldPanel var(--mf-card-speed, 10.5s) ease-in-out infinite;
    animation-delay: var(--mf-card-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-motion-field i:nth-of-type(1) { --mf-line-x: 30%; --mf-line-y: 35%; --mf-line-r: -14deg; --mf-line-delay: -.4s; }
.jvue-motion-field i:nth-of-type(2) { --mf-line-x: 56%; --mf-line-y: 46%; --mf-line-r: 4deg; --mf-line-w: 78vw; --mf-line-o: .28; --mf-line-delay: -1.6s; }
.jvue-motion-field i:nth-of-type(3) { --mf-line-x: 72%; --mf-line-y: 60%; --mf-line-r: -9deg; --mf-line-w: 54vw; --mf-line-delay: -2.8s; }
.jvue-motion-field i:nth-of-type(4) { --mf-line-x: 42%; --mf-line-y: 70%; --mf-line-r: 16deg; --mf-line-w: 62vw; --mf-line-o: .18; --mf-line-delay: -4s; }
.jvue-motion-field i:nth-of-type(5) { --mf-line-x: 82%; --mf-line-y: 30%; --mf-line-r: 18deg; --mf-line-w: 40vw; --mf-line-o: .14; --mf-line-delay: -5.2s; }
.jvue-motion-field i:nth-of-type(6) { --mf-line-x: 22%; --mf-line-y: 58%; --mf-line-r: 7deg; --mf-line-w: 46vw; --mf-line-o: .16; --mf-line-delay: -6.4s; }

.jvue-motion-field span:nth-of-type(1) { --mf-dot-x: 26%; --mf-dot-y: 35%; --mf-dot-r: -14deg; --mf-dot-delay: -.2s; }
.jvue-motion-field span:nth-of-type(2) { --mf-dot-x: 42%; --mf-dot-y: 45%; --mf-dot-r: 5deg; --mf-dot-size: 5px; --mf-dot-delay: -1.1s; }
.jvue-motion-field span:nth-of-type(3) { --mf-dot-x: 62%; --mf-dot-y: 38%; --mf-dot-r: -8deg; --mf-dot-z: -180px; --mf-dot-delay: -2s; }
.jvue-motion-field span:nth-of-type(4) { --mf-dot-x: 76%; --mf-dot-y: 54%; --mf-dot-r: 12deg; --mf-dot-size: 8px; --mf-dot-delay: -2.9s; }
.jvue-motion-field span:nth-of-type(5) { --mf-dot-x: 36%; --mf-dot-y: 66%; --mf-dot-r: 14deg; --mf-dot-z: -210px; --mf-dot-delay: -3.8s; }
.jvue-motion-field span:nth-of-type(6) { --mf-dot-x: 58%; --mf-dot-y: 72%; --mf-dot-r: -6deg; --mf-dot-size: 5px; --mf-dot-delay: -4.7s; }

.jvue-motion-field b:nth-of-type(1) { --mf-card-x: 26%; --mf-card-y: 38%; --mf-card-z: -320px; --mf-card-rz: -14deg; --mf-card-ry: 14deg; --mf-card-delay: -.5s; }
.jvue-motion-field b:nth-of-type(2) { --mf-card-x: 54%; --mf-card-y: 35%; --mf-card-z: -180px; --mf-card-rz: 4deg; --mf-card-o: .24; --mf-card-delay: -2s; }
.jvue-motion-field b:nth-of-type(3) { --mf-card-x: 72%; --mf-card-y: 62%; --mf-card-z: -250px; --mf-card-rz: 12deg; --mf-card-ry: -12deg; --mf-card-delay: -3.5s; }
.jvue-motion-field b:nth-of-type(4) { --mf-card-x: 42%; --mf-card-y: 72%; --mf-card-z: -360px; --mf-card-rz: -8deg; --mf-card-o: .12; --mf-card-delay: -5s; }

.jvue-home.is-fx-0 .jvue-motion-field {
    --motion-field-opacity: .42;
}

.jvue-home.is-fx-0 .jvue-motion-field b:nth-of-type(2) { --mf-card-x: 50%; --mf-card-y: 48%; --mf-card-z: -90px; --mf-card-rz: -4deg; --mf-card-o: .28; --mf-card-scale: .96; }
.jvue-home.is-fx-0 .jvue-motion-field i { --mf-line-scale: .7; }

.jvue-home.is-fx-1 .jvue-motion-field {
    --motion-field-opacity: .5;
}

.jvue-home.is-fx-1 .jvue-motion-field i { --mf-line-r: 0deg; --mf-line-w: 82vw; }
.jvue-home.is-fx-1 .jvue-motion-field b { --mf-card-rx: 66deg; --mf-card-rz: 0deg; --mf-card-w: clamp(190px, 20vw, 360px); }
.jvue-home.is-fx-1 .jvue-motion-field b:nth-of-type(1) { --mf-card-x: 20%; --mf-card-y: 54%; }
.jvue-home.is-fx-1 .jvue-motion-field b:nth-of-type(2) { --mf-card-x: 44%; --mf-card-y: 50%; --mf-card-z: -110px; --mf-card-o: .28; }
.jvue-home.is-fx-1 .jvue-motion-field b:nth-of-type(3) { --mf-card-x: 68%; --mf-card-y: 52%; }
.jvue-home.is-fx-1 .jvue-motion-field b:nth-of-type(4) { --mf-card-x: 86%; --mf-card-y: 34%; }

.jvue-home.is-fx-2 .jvue-motion-field {
    --motion-field-opacity: .54;
}

.jvue-home.is-fx-2 .jvue-motion-field b { --mf-card-w: clamp(220px, 25vw, 460px); --mf-card-h: clamp(92px, 9vw, 150px); }
.jvue-home.is-fx-2 .jvue-motion-field b:nth-of-type(1) { --mf-card-x: 22%; --mf-card-y: 34%; }
.jvue-home.is-fx-2 .jvue-motion-field b:nth-of-type(2) { --mf-card-x: 50%; --mf-card-y: 44%; --mf-card-z: -95px; --mf-card-o: .32; --mf-card-scale: 1; }
.jvue-home.is-fx-2 .jvue-motion-field b:nth-of-type(3) { --mf-card-x: 72%; --mf-card-y: 66%; --mf-card-z: -170px; }
.jvue-home.is-fx-2 .jvue-motion-field i { --mf-line-r: 7deg; }

.jvue-home.is-fx-3 .jvue-motion-field {
    --motion-field-opacity: .62;
}

.jvue-home.is-fx-3 .jvue-motion-field i { --mf-line-r: -18deg; --mf-line-w: 88vw; --mf-line-speed: 5.8s; }
.jvue-home.is-fx-3 .jvue-motion-field span { --mf-dot-speed: 5.2s; }
.jvue-home.is-fx-3 .jvue-motion-field b { --mf-card-rx: 50deg; --mf-card-rz: -16deg; --mf-card-h: clamp(68px, 7vw, 116px); }
.jvue-home.is-fx-3 .jvue-motion-field b:nth-of-type(3) { --mf-card-x: 66%; --mf-card-y: 40%; --mf-card-z: -80px; --mf-card-o: .34; }

.jvue-home.is-fx-4 .jvue-motion-field {
    --motion-field-opacity: .46;
}

.jvue-home.is-fx-4 .jvue-motion-field::before {
    opacity: .18;
}

.jvue-home.is-fx-4 .jvue-motion-field span { --mf-dot-o: .46; --mf-dot-speed: 9s; }
.jvue-home.is-fx-4 .jvue-motion-field b { --mf-card-w: clamp(150px, 16vw, 280px); --mf-card-h: clamp(66px, 7vw, 110px); --mf-card-o: .13; }
.jvue-home.is-fx-4 .jvue-motion-field b:nth-of-type(4) { --mf-card-x: 58%; --mf-card-y: 58%; --mf-card-z: -85px; --mf-card-o: .28; }

.jvue-home.is-fx-5 .jvue-motion-field {
    --motion-field-opacity: .5;
}

.jvue-home.is-fx-5 .jvue-motion-field i { --mf-line-r: 12deg; --mf-line-scale: .64; }
.jvue-home.is-fx-5 .jvue-motion-field b { --mf-card-rx: 62deg; --mf-card-o: .13; }
.jvue-home.is-fx-5 .jvue-motion-field b:nth-of-type(2) { --mf-card-x: 50%; --mf-card-y: 48%; --mf-card-z: -70px; --mf-card-rz: 0deg; --mf-card-o: .3; --mf-card-scale: 1.04; }

.jvue-home.is-scroll-active .jvue-motion-field,
.jvue-home.is-scene-switching .jvue-motion-field,
.jvue-home.is-work-transitioning .jvue-motion-field {
    filter: saturate(1.28) contrast(1.24) brightness(1.14);
}

.jvue-home.is-scroll-active .jvue-motion-field i,
.jvue-home.is-scene-switching .jvue-motion-field i {
    animation-duration: 5.2s;
}

.jvue-scroll-sculpture {
    position: absolute;
    inset: -20%;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--sculpture-opacity);
    mix-blend-mode: screen;
    perspective: 1700px;
    transform:
        translate3d(calc(var(--sculpture-x) + var(--sculpture-ambient-x) + var(--cursor-parallax-x) + var(--sculpture-cursor-x)), calc(var(--sculpture-y) + var(--sculpture-ambient-y) + var(--cursor-parallax-y) + var(--sculpture-cursor-y)), 0)
        rotate(var(--sculpture-tilt))
        rotate(var(--sculpture-ambient-tilt))
        rotate(var(--sculpture-cursor-tilt))
        scale(var(--sculpture-scale))
        scale(var(--sculpture-ambient-scale))
        scale(var(--sculpture-cursor-scale));
    transform-origin: 50% 52%;
    filter: saturate(1.08) contrast(1.14) brightness(1.05);
    mask-image: radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .94) 48%, rgba(0, 0, 0, .5) 76%, transparent 94%);
    transition: opacity .28s linear, filter .28s linear;
    will-change: transform, opacity, filter;
}

.jvue-scroll-sculpture::before,
.jvue-scroll-sculpture::after {
    content: "";
    position: absolute;
    pointer-events: none;
    left: 50%;
    top: 50%;
    opacity: var(--sculpture-cursor-opacity);
    mix-blend-mode: screen;
    will-change: transform, opacity;
}

.jvue-scroll-sculpture::before {
    width: clamp(180px, 22vw, 420px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 250, 255, .28) 0, rgba(105, 199, 240, .2) 18%, rgba(105, 199, 240, .06) 42%, transparent 72%),
        conic-gradient(from var(--sculpture-cursor-angle), transparent 0 18%, rgba(247, 249, 255, .2) 24%, transparent 32% 62%, rgba(201, 154, 85, .12) 68%, transparent 78% 100%);
    transform:
        translate3d(calc(-50% + var(--sculpture-cursor-x)), calc(-50% + var(--sculpture-cursor-y)), -80px)
        rotateX(64deg)
        rotate(var(--sculpture-cursor-angle))
        scale(var(--sculpture-cursor-scale));
    filter: blur(.2px) saturate(1.12);
    animation: jvueScrollSculptureCursor 4.8s ease-in-out infinite;
}

.jvue-scroll-sculpture::after {
    width: var(--sculpture-cursor-tail);
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(105, 199, 240, .66), rgba(247, 249, 255, .82), rgba(201, 154, 85, .34), transparent);
    box-shadow: 0 0 18px rgba(105, 199, 240, .26);
    transform:
        translate3d(calc(-50% + var(--sculpture-cursor-x)), calc(-50% + var(--sculpture-cursor-y)), 0)
        rotate(var(--sculpture-cursor-angle))
        scaleX(var(--sculpture-cursor-scale));
    animation: jvueScrollSculptureCursorLine 2.6s ease-in-out infinite;
}

.jvue-scroll-sculpture i,
.jvue-scroll-sculpture b,
.jvue-scroll-sculpture em {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-scroll-sculpture i {
    left: var(--ss-line-x, 50%);
    top: var(--ss-line-y, 50%);
    width: var(--ss-line-w, 44vw);
    height: var(--ss-line-h, 1px);
    opacity: var(--ss-line-o, .2);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .45), rgba(247, 249, 255, .72), rgba(201, 154, 85, .34), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .18) 19px, transparent 22px);
    background-position: calc(var(--sculpture-scan) + var(--sculpture-ambient-scan)) 0, 0 0;
    box-shadow: 0 0 18px rgba(105, 199, 240, .16);
    transform:
        translate3d(-50%, -50%, var(--ss-line-z, -200px))
        rotateX(var(--ss-rx, 62deg))
        rotateZ(var(--ss-line-r, -8deg))
        translate3d(var(--ss-line-drift, 0px), 0, 0)
        scaleX(var(--ss-line-scale, .84));
    animation: jvueScrollSculptureLine var(--ss-line-speed, 9.4s) ease-in-out infinite;
    animation-delay: var(--ss-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-scroll-sculpture b {
    left: var(--ss-node-x, 50%);
    top: var(--ss-node-y, 50%);
    width: var(--ss-node-size, 7px);
    aspect-ratio: 1;
    opacity: var(--ss-node-o, .32);
    border-radius: var(--ss-node-radius, 50%);
    background: rgba(242, 248, 255, .88);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .48),
        0 0 40px rgba(105, 199, 240, .15),
        14px -10px 0 -4px rgba(201, 154, 85, .4);
    transform:
        translate3d(-50%, -50%, var(--ss-node-z, -130px))
        rotate(var(--ss-node-r, 0deg))
        translate3d(var(--ss-node-drift, 0px), 0, 0)
        scale(var(--ss-node-scale, .9));
    animation: jvueScrollSculptureNode var(--ss-node-speed, 7.8s) ease-in-out infinite;
    animation-delay: var(--ss-delay, 0s);
}

.jvue-scroll-sculpture em {
    left: var(--ss-plane-x, 50%);
    top: var(--ss-plane-y, 50%);
    width: var(--ss-plane-w, clamp(180px, 18vw, 320px));
    height: var(--ss-plane-h, clamp(76px, 7vw, 126px));
    opacity: var(--ss-plane-o, .13);
    border: 1px solid rgba(224, 237, 255, .18);
    border-radius: 8px;
    background:
        linear-gradient(120deg, rgba(247, 249, 255, .08), rgba(105, 199, 240, .055) 42%, rgba(4, 7, 12, .3) 68%, rgba(201, 154, 85, .055)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .16) 48%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .08) 0, rgba(105, 199, 240, .08) 1px, transparent 1px, transparent 30px);
    background-size: 100% 100%, 220px 100%, 100% 100%;
    background-position: 0 0, calc(var(--sculpture-scan) + var(--sculpture-ambient-scan)) 0, 0 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 20px 52px rgba(0, 0, 0, .28),
        0 0 34px rgba(105, 199, 240, .07);
    transform:
        translate3d(-50%, -50%, var(--ss-plane-z, -280px))
        rotateX(var(--ss-plane-rx, 58deg))
        rotateY(var(--ss-plane-ry, 0deg))
        rotateZ(var(--ss-plane-rz, -8deg))
        skewX(var(--ss-plane-skew, -4deg))
        scale(var(--ss-plane-scale, .86));
    animation: jvueScrollSculpturePlane var(--ss-plane-speed, 10.8s) ease-in-out infinite;
    animation-delay: var(--ss-delay, 0s);
}

.jvue-scroll-sculpture i:nth-of-type(1) { --ss-line-x: 20%; --ss-line-y: 34%; --ss-line-r: -18deg; --ss-delay: -.2s; }
.jvue-scroll-sculpture i:nth-of-type(2) { --ss-line-x: 42%; --ss-line-y: 30%; --ss-line-r: -6deg; --ss-line-w: 60vw; --ss-delay: -1.1s; }
.jvue-scroll-sculpture i:nth-of-type(3) { --ss-line-x: 66%; --ss-line-y: 38%; --ss-line-r: 8deg; --ss-line-w: 66vw; --ss-delay: -2s; }
.jvue-scroll-sculpture i:nth-of-type(4) { --ss-line-x: 82%; --ss-line-y: 52%; --ss-line-r: 17deg; --ss-line-w: 42vw; --ss-delay: -2.9s; }
.jvue-scroll-sculpture i:nth-of-type(5) { --ss-line-x: 24%; --ss-line-y: 62%; --ss-line-r: 11deg; --ss-delay: -3.8s; }
.jvue-scroll-sculpture i:nth-of-type(6) { --ss-line-x: 50%; --ss-line-y: 68%; --ss-line-r: -10deg; --ss-line-w: 72vw; --ss-delay: -4.7s; }
.jvue-scroll-sculpture i:nth-of-type(7) { --ss-line-x: 76%; --ss-line-y: 72%; --ss-line-r: -20deg; --ss-line-w: 38vw; --ss-delay: -5.6s; }
.jvue-scroll-sculpture i:nth-of-type(8) { --ss-line-x: 32%; --ss-line-y: 46%; --ss-line-r: 4deg; --ss-line-o: .16; --ss-delay: -6.5s; }
.jvue-scroll-sculpture i:nth-of-type(9) { --ss-line-x: 58%; --ss-line-y: 52%; --ss-line-r: -14deg; --ss-line-w: 50vw; --ss-line-o: .14; --ss-delay: -7.4s; }
.jvue-scroll-sculpture i:nth-of-type(10) { --ss-line-x: 86%; --ss-line-y: 30%; --ss-line-r: 22deg; --ss-line-w: 34vw; --ss-line-o: .12; --ss-delay: -8.3s; }

.jvue-scroll-sculpture b:nth-of-type(1) { --ss-node-x: 24%; --ss-node-y: 35%; --ss-delay: -.4s; }
.jvue-scroll-sculpture b:nth-of-type(2) { --ss-node-x: 38%; --ss-node-y: 48%; --ss-node-size: 5px; --ss-delay: -1.2s; }
.jvue-scroll-sculpture b:nth-of-type(3) { --ss-node-x: 55%; --ss-node-y: 34%; --ss-node-z: -190px; --ss-delay: -2s; }
.jvue-scroll-sculpture b:nth-of-type(4) { --ss-node-x: 70%; --ss-node-y: 48%; --ss-node-size: 8px; --ss-delay: -2.8s; }
.jvue-scroll-sculpture b:nth-of-type(5) { --ss-node-x: 82%; --ss-node-y: 66%; --ss-node-z: -220px; --ss-delay: -3.6s; }
.jvue-scroll-sculpture b:nth-of-type(6) { --ss-node-x: 46%; --ss-node-y: 72%; --ss-node-size: 6px; --ss-delay: -4.4s; }
.jvue-scroll-sculpture b:nth-of-type(7) { --ss-node-x: 30%; --ss-node-y: 70%; --ss-node-z: -260px; --ss-delay: -5.2s; }
.jvue-scroll-sculpture b:nth-of-type(8) { --ss-node-x: 64%; --ss-node-y: 78%; --ss-node-size: 5px; --ss-delay: -6s; }

.jvue-scroll-sculpture em:nth-of-type(1) { --ss-plane-x: 28%; --ss-plane-y: 40%; --ss-plane-z: -310px; --ss-plane-rz: -14deg; --ss-plane-ry: 12deg; --ss-delay: -.6s; }
.jvue-scroll-sculpture em:nth-of-type(2) { --ss-plane-x: 52%; --ss-plane-y: 36%; --ss-plane-z: -170px; --ss-plane-rz: 4deg; --ss-plane-o: .18; --ss-delay: -2.2s; }
.jvue-scroll-sculpture em:nth-of-type(3) { --ss-plane-x: 72%; --ss-plane-y: 62%; --ss-plane-z: -240px; --ss-plane-rz: 13deg; --ss-plane-ry: -12deg; --ss-delay: -3.8s; }
.jvue-scroll-sculpture em:nth-of-type(4) { --ss-plane-x: 40%; --ss-plane-y: 74%; --ss-plane-z: -360px; --ss-plane-rz: -7deg; --ss-plane-o: .1; --ss-delay: -5.4s; }

.jvue-home.is-fx-0 .jvue-scroll-sculpture {
    --ss-rx: 68deg;
}

.jvue-home.is-fx-0 .jvue-scroll-sculpture i { --ss-line-drift: -1vw; --ss-line-scale: .66; }
.jvue-home.is-fx-0 .jvue-scroll-sculpture b { --ss-node-scale: .78; }
.jvue-home.is-fx-0 .jvue-scroll-sculpture em:nth-of-type(2) { --ss-plane-x: 50%; --ss-plane-y: 50%; --ss-plane-z: -90px; --ss-plane-o: .22; --ss-plane-scale: .96; }

.jvue-home.is-fx-1 .jvue-scroll-sculpture i {
    --ss-line-r: 0deg;
    --ss-line-w: 82vw;
    --ss-line-scale: .92;
}

.jvue-home.is-fx-1 .jvue-scroll-sculpture em {
    --ss-plane-rx: 66deg;
    --ss-plane-rz: 0deg;
    --ss-plane-w: clamp(190px, 20vw, 360px);
}

.jvue-home.is-fx-1 .jvue-scroll-sculpture b { --ss-node-radius: 2px; }

.jvue-home.is-fx-2 .jvue-scroll-sculpture em {
    --ss-plane-w: clamp(220px, 25vw, 470px);
    --ss-plane-h: clamp(90px, 9vw, 150px);
    --ss-plane-o: .2;
}

.jvue-home.is-fx-2 .jvue-scroll-sculpture em:nth-of-type(2) { --ss-plane-x: 50%; --ss-plane-y: 45%; --ss-plane-z: -80px; --ss-plane-scale: 1.04; }
.jvue-home.is-fx-2 .jvue-scroll-sculpture i { --ss-line-r: 7deg; --ss-line-speed: 8s; }

.jvue-home.is-fx-3 .jvue-scroll-sculpture i {
    --ss-line-r: -18deg;
    --ss-line-w: 92vw;
    --ss-line-speed: 5.8s;
    --ss-line-scale: 1.08;
}

.jvue-home.is-fx-3 .jvue-scroll-sculpture b {
    --ss-node-speed: 5.4s;
    --ss-node-o: .42;
}

.jvue-home.is-fx-3 .jvue-scroll-sculpture em {
    --ss-plane-rx: 50deg;
    --ss-plane-rz: -16deg;
    --ss-plane-h: clamp(66px, 7vw, 116px);
}

.jvue-home.is-fx-4 .jvue-scroll-sculpture b {
    --ss-node-o: .52;
    --ss-node-speed: 9.2s;
}

.jvue-home.is-fx-4 .jvue-scroll-sculpture i {
    --ss-line-o: .13;
    --ss-line-speed: 11.4s;
}

.jvue-home.is-fx-4 .jvue-scroll-sculpture em {
    --ss-plane-w: clamp(150px, 16vw, 280px);
    --ss-plane-h: clamp(64px, 7vw, 110px);
    --ss-plane-o: .1;
}

.jvue-home.is-fx-5 .jvue-scroll-sculpture i {
    --ss-line-r: 12deg;
    --ss-line-scale: .58;
}

.jvue-home.is-fx-5 .jvue-scroll-sculpture em:nth-of-type(2) {
    --ss-plane-x: 50%;
    --ss-plane-y: 50%;
    --ss-plane-z: -60px;
    --ss-plane-rz: 0deg;
    --ss-plane-o: .24;
    --ss-plane-scale: 1.05;
}

.jvue-home.is-scroll-active .jvue-scroll-sculpture,
.jvue-home.is-scene-switching .jvue-scroll-sculpture,
.jvue-home.is-work-transitioning .jvue-scroll-sculpture {
    filter: saturate(1.22) contrast(1.22) brightness(1.12);
}

.jvue-home.is-scroll-active .jvue-scroll-sculpture i,
.jvue-home.is-scene-switching .jvue-scroll-sculpture i {
    animation-duration: 5.4s;
}

.jvue-scrollworld {
    position: absolute;
    inset: -24%;
    z-index: 5;
    pointer-events: none;
    overflow: hidden;
    opacity: min(.94, calc(var(--sw-opacity, .5) + var(--director-opacity-boost, 0)));
    mix-blend-mode: screen;
    perspective: 1900px;
    transform:
        translate3d(calc(var(--director-x) + var(--ambient-world-x) + var(--cursor-parallax-x) + var(--fx-inertia-x)), calc(var(--director-y) + var(--ambient-world-y) + var(--cursor-parallax-y) + var(--fx-counter-y)), 0)
        rotate(var(--ambient-world-tilt))
        rotate(var(--director-tilt))
        scale(var(--director-zoom));
    transform-origin: 50% 52%;
    filter: saturate(1.34) contrast(1.24) brightness(1.12);
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 48%, rgba(0, 0, 0, .48) 76%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
    contain: paint;
    backface-visibility: hidden;
    transition: opacity .28s linear, filter .28s linear;
    will-change: transform, opacity, filter;
}

.jvue-scrollworld::before,
.jvue-scrollworld::after {
    content: "";
    position: absolute;
    inset: 12%;
    pointer-events: none;
    transform-style: preserve-3d;
    mix-blend-mode: screen;
}

.jvue-scrollworld::before {
    opacity: var(--sw-grid-o, .32);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .24) 42%, rgba(247, 249, 255, .32) 50%, rgba(201, 154, 85, .18) 58%, transparent 72%),
        linear-gradient(0deg, transparent 0, rgba(247, 249, 255, .1) 48%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .09) 0, rgba(105, 199, 240, .09) 1px, transparent 1px, transparent var(--sw-grid-step, 72px)),
        repeating-linear-gradient(0deg, rgba(247, 249, 255, .06) 0, rgba(247, 249, 255, .06) 1px, transparent 1px, transparent var(--sw-grid-step, 72px));
    background-size: 440px 100%, 100% 320px, 100% 100%, 100% 100%;
    background-position:
        calc(var(--sculpture-scan) + var(--motion-field-ambient-scan) + var(--ambient-parallax-scan)) 0,
        0 var(--ambient-parallax-y),
        var(--ambient-grid-half-x) 0,
        0 calc(0px - var(--sculpture-scan) + var(--ambient-grid-y));
    transform: rotateX(var(--sw-world-rx, 62deg)) rotateZ(var(--sw-world-rz, -8deg)) translate3d(0, 0, -360px);
    filter: drop-shadow(0 0 24px rgba(105, 199, 240, .18));
    animation: jvueScrollworldGrid 8.8s linear infinite;
}

.jvue-scrollworld::after {
    left: 50%;
    top: 50%;
    right: auto;
    bottom: auto;
    width: var(--sw-core-size, clamp(220px, 26vw, 520px));
    aspect-ratio: 1;
    opacity: var(--sw-core-o, .34);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .22) 0, rgba(105, 199, 240, .16) 18%, transparent 54%),
        conic-gradient(from calc(var(--fx-orbit-angle) + var(--ambient-core-angle)), transparent 0 16%, rgba(105, 199, 240, .28) 23%, rgba(247, 249, 255, .2) 27%, transparent 34% 57%, rgba(201, 154, 85, .18) 64%, transparent 76% 100%);
    transform:
        translate3d(-50%, -50%, -180px)
        rotateX(var(--sw-world-rx, 62deg))
        rotateZ(calc(var(--fx-orbit-angle) + var(--ambient-core-angle)))
        scale(var(--sw-core-scale, 1));
    filter: blur(.15px);
    animation: jvueScrollworldCore 7.4s ease-in-out infinite;
}

.jvue-scrollworld i,
.jvue-scrollworld b,
.jvue-scrollworld em,
.jvue-scrollworld strong {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-scrollworld i {
    left: var(--sw-line-x, 50%);
    top: var(--sw-line-y, 50%);
    width: var(--sw-line-w, 52vw);
    height: var(--sw-line-h, 1px);
    opacity: var(--sw-line-o, .26);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .48), rgba(247, 249, 255, .7), rgba(201, 154, 85, .32), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 26px, rgba(247, 249, 255, .18) 27px, transparent 31px);
    background-position: calc(var(--fx-sweep-x) + var(--sculpture-scan)) 0, 0 0;
    box-shadow: 0 0 18px rgba(105, 199, 240, .14);
    animation: jvueScrollworldLine var(--sw-line-speed, 7.8s) ease-in-out infinite;
    animation-delay: var(--sw-delay, 0s);
    will-change: transform, filter, background-position;
}

.jvue-scrollworld b {
    left: var(--sw-node-x, 50%);
    top: var(--sw-node-y, 50%);
    width: var(--sw-node-size, 6px);
    aspect-ratio: 1;
    opacity: var(--sw-node-o, .42);
    border-radius: var(--sw-node-radius, 50%);
    background: rgba(245, 249, 255, .9);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .56),
        0 0 36px rgba(105, 199, 240, .16),
        16px -10px 0 -5px rgba(201, 154, 85, .5);
    animation: jvueScrollworldNode var(--sw-node-speed, 6.4s) ease-in-out infinite;
    animation-delay: var(--sw-delay, 0s);
    will-change: transform, filter;
}

.jvue-scrollworld em {
    left: var(--sw-plane-x, 50%);
    top: var(--sw-plane-y, 50%);
    width: var(--sw-plane-w, clamp(160px, 16vw, 330px));
    height: var(--sw-plane-h, clamp(68px, 7vw, 122px));
    opacity: var(--sw-plane-o, .16);
    border: 1px solid rgba(224, 237, 255, .16);
    border-radius: 8px;
    background:
        linear-gradient(120deg, rgba(247, 249, 255, .08), rgba(105, 199, 240, .055) 42%, rgba(4, 7, 12, .28) 68%, rgba(201, 154, 85, .055)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .16) 48%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .08) 0, rgba(105, 199, 240, .08) 1px, transparent 1px, transparent 32px);
    background-size: 100% 100%, 240px 100%, 100% 100%;
    background-position: 0 0, calc(var(--fx-sweep-x) + var(--sculpture-scan)) 0, 0 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 18px 44px rgba(0, 0, 0, .24),
        0 0 30px rgba(105, 199, 240, .08);
    animation: jvueScrollworldPlane var(--sw-plane-speed, 8.8s) ease-in-out infinite;
    animation-delay: var(--sw-delay, 0s);
    will-change: transform, filter, background-position;
}

.jvue-scrollworld strong {
    left: 50%;
    top: 50%;
    width: var(--sw-anchor-size, clamp(120px, 12vw, 260px));
    aspect-ratio: 1;
    opacity: var(--sw-anchor-o, .24);
    border: 1px solid rgba(224, 237, 255, .18);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .22), rgba(105, 199, 240, .12) 24%, transparent 58%),
        repeating-conic-gradient(from var(--fx-orbit-angle), transparent 0 10deg, rgba(105, 199, 240, .13) 11deg 12deg, transparent 13deg 24deg);
    box-shadow: 0 0 60px rgba(105, 199, 240, .12);
    transform:
        translate3d(-50%, -50%, -80px)
        rotateX(var(--sw-world-rx, 62deg))
        rotateZ(var(--fx-orbit-angle))
        scale(var(--sw-anchor-scale, 1));
    animation: jvueScrollworldAnchor 8.4s ease-in-out infinite;
}

.jvue-scrollworld strong::before,
.jvue-scrollworld strong::after {
    content: "";
    position: absolute;
    inset: -28%;
    border-radius: inherit;
    pointer-events: none;
    mix-blend-mode: screen;
}

.jvue-scrollworld strong::before {
    border: 1px solid rgba(247, 249, 255, .12);
    background:
        conic-gradient(from var(--ambient-core-angle), transparent 0 15%, rgba(247, 249, 255, .28) 18%, rgba(105, 199, 240, .18) 23%, transparent 32% 100%);
    filter: blur(.2px);
    animation: jvueScrollworldAnchorSweep 6.6s linear infinite;
}

.jvue-scrollworld strong::after {
    inset: 16%;
    border: 1px solid rgba(201, 154, 85, .18);
    background:
        radial-gradient(circle at 50% 50%, transparent 0 42%, rgba(105, 199, 240, .12) 43%, transparent 58%),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .22), transparent);
    animation: jvueScrollworldAnchorPulse 5.2s ease-in-out infinite;
}

.jvue-scrollworld i:nth-of-type(1) { --sw-line-x: 22%; --sw-line-y: 34%; --sw-line-r: -18deg; --sw-line-z: -260px; --sw-delay: -.3s; }
.jvue-scrollworld i:nth-of-type(2) { --sw-line-x: 44%; --sw-line-y: 28%; --sw-line-r: -5deg; --sw-line-w: 66vw; --sw-line-z: -170px; --sw-delay: -1.2s; }
.jvue-scrollworld i:nth-of-type(3) { --sw-line-x: 68%; --sw-line-y: 39%; --sw-line-r: 9deg; --sw-line-w: 72vw; --sw-delay: -2.1s; }
.jvue-scrollworld i:nth-of-type(4) { --sw-line-x: 82%; --sw-line-y: 54%; --sw-line-r: 18deg; --sw-line-w: 46vw; --sw-line-z: -310px; --sw-delay: -3s; }
.jvue-scrollworld i:nth-of-type(5) { --sw-line-x: 22%; --sw-line-y: 62%; --sw-line-r: 12deg; --sw-delay: -3.9s; }
.jvue-scrollworld i:nth-of-type(6) { --sw-line-x: 50%; --sw-line-y: 70%; --sw-line-r: -11deg; --sw-line-w: 76vw; --sw-line-z: -220px; --sw-delay: -4.8s; }
.jvue-scrollworld i:nth-of-type(7) { --sw-line-x: 78%; --sw-line-y: 74%; --sw-line-r: -22deg; --sw-line-w: 42vw; --sw-line-o: .15; --sw-delay: -5.7s; }
.jvue-scrollworld i:nth-of-type(8) { --sw-line-x: 38%; --sw-line-y: 50%; --sw-line-r: 3deg; --sw-line-w: 58vw; --sw-line-o: .16; --sw-delay: -6.6s; }

.jvue-scrollworld b:nth-of-type(1) { --sw-node-x: 24%; --sw-node-y: 34%; --sw-delay: -.4s; }
.jvue-scrollworld b:nth-of-type(2) { --sw-node-x: 36%; --sw-node-y: 48%; --sw-node-size: 5px; --sw-delay: -1s; }
.jvue-scrollworld b:nth-of-type(3) { --sw-node-x: 52%; --sw-node-y: 32%; --sw-node-z: -190px; --sw-delay: -1.6s; }
.jvue-scrollworld b:nth-of-type(4) { --sw-node-x: 68%; --sw-node-y: 48%; --sw-node-size: 8px; --sw-delay: -2.2s; }
.jvue-scrollworld b:nth-of-type(5) { --sw-node-x: 82%; --sw-node-y: 66%; --sw-node-z: -240px; --sw-delay: -2.8s; }
.jvue-scrollworld b:nth-of-type(6) { --sw-node-x: 46%; --sw-node-y: 72%; --sw-node-size: 6px; --sw-delay: -3.4s; }
.jvue-scrollworld b:nth-of-type(7) { --sw-node-x: 30%; --sw-node-y: 70%; --sw-node-z: -280px; --sw-delay: -4s; }
.jvue-scrollworld b:nth-of-type(8) { --sw-node-x: 64%; --sw-node-y: 78%; --sw-node-size: 5px; --sw-delay: -4.6s; }
.jvue-scrollworld b:nth-of-type(9) { --sw-node-x: 56%; --sw-node-y: 52%; --sw-node-size: 9px; --sw-node-o: .42; --sw-delay: -5.2s; }
.jvue-scrollworld b:nth-of-type(10) { --sw-node-x: 74%; --sw-node-y: 28%; --sw-node-size: 4px; --sw-delay: -5.8s; }

.jvue-scrollworld em:nth-of-type(1) { --sw-plane-x: 28%; --sw-plane-y: 40%; --sw-plane-z: -320px; --sw-plane-rz: -16deg; --sw-plane-ry: 12deg; --sw-delay: -.6s; }
.jvue-scrollworld em:nth-of-type(2) { --sw-plane-x: 52%; --sw-plane-y: 36%; --sw-plane-z: -170px; --sw-plane-rz: 4deg; --sw-plane-o: .17; --sw-delay: -1.8s; }
.jvue-scrollworld em:nth-of-type(3) { --sw-plane-x: 72%; --sw-plane-y: 62%; --sw-plane-z: -240px; --sw-plane-rz: 13deg; --sw-plane-ry: -12deg; --sw-delay: -3s; }
.jvue-scrollworld em:nth-of-type(4) { --sw-plane-x: 40%; --sw-plane-y: 74%; --sw-plane-z: -360px; --sw-plane-rz: -7deg; --sw-plane-o: .1; --sw-delay: -4.2s; }
.jvue-scrollworld em:nth-of-type(5) { --sw-plane-x: 84%; --sw-plane-y: 36%; --sw-plane-z: -420px; --sw-plane-rz: 20deg; --sw-plane-o: .08; --sw-delay: -5.4s; }

.jvue-home.is-fx-0 .jvue-scrollworld {
    --sw-opacity: .58;
    --sw-world-rx: 68deg;
    --sw-grid-o: .36;
    --sw-core-o: .42;
    --sw-anchor-o: .3;
}

.jvue-home.is-fx-0 .jvue-scrollworld i { --sw-line-scale: .62; --sw-line-drift: -1vw; }
.jvue-home.is-fx-0 .jvue-scrollworld b { --sw-node-scale: .76; }
.jvue-home.is-fx-0 .jvue-scrollworld em { --sw-plane-o: .08; --sw-plane-scale: .78; }

.jvue-home.is-fx-1 .jvue-scrollworld {
    --sw-opacity: .56;
    --sw-world-rx: 66deg;
    --sw-grid-o: .46;
    --sw-grid-step: 56px;
    --sw-core-o: .16;
}

.jvue-home.is-fx-1 .jvue-scrollworld i { --sw-line-r: 0deg; --sw-line-w: 88vw; --sw-line-scale: 1; }
.jvue-home.is-fx-1 .jvue-scrollworld b { --sw-node-radius: 2px; --sw-node-o: .42; }
.jvue-home.is-fx-1 .jvue-scrollworld em { --sw-plane-rx: 66deg; --sw-plane-rz: 0deg; --sw-plane-w: clamp(180px, 18vw, 340px); --sw-plane-o: .11; }

.jvue-home.is-fx-2 .jvue-scrollworld {
    --sw-opacity: .64;
    --sw-world-rx: 56deg;
    --sw-grid-o: .28;
    --sw-core-o: .2;
}

.jvue-home.is-fx-2 .jvue-scrollworld i { --sw-line-o: .12; --sw-line-speed: 12s; }
.jvue-home.is-fx-2 .jvue-scrollworld em { --sw-plane-w: clamp(230px, 28vw, 520px); --sw-plane-h: clamp(92px, 10vw, 170px); --sw-plane-o: .22; }
.jvue-home.is-fx-2 .jvue-scrollworld em:nth-of-type(2) { --sw-plane-x: 50%; --sw-plane-y: 45%; --sw-plane-z: -80px; --sw-plane-scale: 1.06; }

.jvue-home.is-fx-3 .jvue-scrollworld {
    --sw-opacity: .7;
    --sw-world-rx: 50deg;
    --sw-world-rz: -18deg;
    --sw-grid-o: .36;
    --sw-core-o: .34;
    --sw-anchor-o: .28;
}

.jvue-home.is-fx-3 .jvue-scrollworld i { --sw-line-r: -18deg; --sw-line-w: 94vw; --sw-line-o: .28; --sw-line-speed: 5.8s; --sw-line-scale: 1.12; }
.jvue-home.is-fx-3 .jvue-scrollworld b { --sw-node-speed: 5.2s; --sw-node-o: .48; }
.jvue-home.is-fx-3 .jvue-scrollworld em { --sw-plane-rx: 50deg; --sw-plane-rz: -16deg; --sw-plane-h: clamp(60px, 6vw, 106px); --sw-plane-o: .13; }

.jvue-home.is-fx-4 .jvue-scrollworld {
    --sw-opacity: .6;
    --sw-world-rx: 64deg;
    --sw-world-rz: 8deg;
    --sw-grid-o: .22;
    --sw-core-o: .46;
    --sw-core-scale: 1.12;
    --sw-anchor-o: .28;
}

.jvue-home.is-fx-4 .jvue-scrollworld i { --sw-line-o: .1; --sw-line-scale: .68; --sw-line-speed: 13s; }
.jvue-home.is-fx-4 .jvue-scrollworld b { --sw-node-o: .56; --sw-node-speed: 9.2s; --sw-node-scale: 1.08; }
.jvue-home.is-fx-4 .jvue-scrollworld em { --sw-plane-o: .07; --sw-plane-scale: .72; }

.jvue-home.is-fx-5 .jvue-scrollworld {
    --sw-opacity: .58;
    --sw-world-rx: 60deg;
    --sw-world-rz: 0deg;
    --sw-grid-o: .28;
    --sw-core-o: .52;
    --sw-core-scale: .88;
    --sw-anchor-o: .34;
    --sw-anchor-scale: 1.12;
}

.jvue-home.is-fx-5 .jvue-scrollworld i { --sw-line-r: 0deg; --sw-line-scale: .52; --sw-line-o: .12; }
.jvue-home.is-fx-5 .jvue-scrollworld b { --sw-node-x: 50%; --sw-node-y: 50%; --sw-node-o: .24; --sw-node-scale: .7; }
.jvue-home.is-fx-5 .jvue-scrollworld em { --sw-plane-o: .06; --sw-plane-scale: .66; }
.jvue-home.is-fx-5 .jvue-scrollworld em:nth-of-type(2) { --sw-plane-x: 50%; --sw-plane-y: 50%; --sw-plane-z: -70px; --sw-plane-rz: 0deg; --sw-plane-o: .18; --sw-plane-scale: .92; }

.jvue-home.is-scroll-active .jvue-scrollworld,
.jvue-home.is-scene-switching .jvue-scrollworld,
.jvue-home.is-work-transitioning .jvue-scrollworld {
    filter: saturate(1.28) contrast(1.24) brightness(1.12);
}

.jvue-home.is-scroll-active .jvue-scrollworld i,
.jvue-home.is-scene-switching .jvue-scrollworld i {
    animation-duration: 5.2s;
}

.jvue-anime-transition-field {
    position: absolute;
    inset: -8%;
    z-index: 5;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--anime-cut-opacity);
    mix-blend-mode: screen;
    contain: paint;
    transform:
        translate3d(calc(var(--anime-cut-x) + var(--ambient-world-x) + var(--active-slice-x)), calc(var(--anime-cut-y) + var(--ambient-world-y) + var(--active-slice-y)), 0)
        rotate(calc(var(--anime-cut-angle) + var(--active-slice-angle)))
        scale(var(--anime-cut-scale))
        scale(var(--active-slice-scale));
    transform-origin: 50% 50%;
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 42%, rgba(0, 0, 0, .42) 74%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    transition: opacity .22s linear, transform .18s linear;
    will-change: transform, opacity;
}

.jvue-anime-transition-field::before,
.jvue-anime-transition-field::after,
.jvue-anime-transition-field i,
.jvue-anime-transition-field b,
.jvue-anime-transition-field em,
.jvue-anime-transition-field strong {
    position: absolute;
    display: block;
    pointer-events: none;
}

.jvue-anime-transition-field::before,
.jvue-anime-transition-field::after {
    content: "";
    inset: 0;
    mix-blend-mode: screen;
}

.jvue-anime-transition-field::before {
    opacity: calc(.24 + var(--anime-cut-depth));
    background:
        radial-gradient(ellipse at 52% 48%, rgba(105, 199, 240, .16), transparent 32%),
        radial-gradient(ellipse at 44% 55%, rgba(201, 154, 85, .1), transparent 36%),
        linear-gradient(116deg, transparent 0 34%, rgba(247, 249, 255, .08) 43%, rgba(105, 199, 240, .06) 48%, transparent 62%),
        linear-gradient(180deg, rgba(2, 7, 12, 0), rgba(2, 7, 12, .2));
    background-position:
        calc(50% + var(--anime-cut-scan)) 50%,
        calc(50% - var(--anime-cut-scan)) 54%,
        var(--anime-cut-scan) 0,
        0 0;
    animation: jvueAnimeFieldBreath 7.6s ease-in-out infinite;
}

.jvue-anime-transition-field::after {
    opacity: var(--anime-cut-depth);
    background:
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(105, 199, 240, .08) 35px, transparent 37px),
        repeating-linear-gradient(0deg, transparent 0, transparent 46px, rgba(247, 249, 255, .04) 47px, transparent 49px),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .08), transparent);
    background-position:
        var(--anime-cut-scan) 0,
        0 var(--anime-cut-scan),
        var(--anime-cut-scan) 0;
    transform: perspective(1200px) rotateX(64deg) translate3d(0, 18vh, -120px);
    transform-origin: 50% 66%;
    animation: jvueAnimeGridDrift 8.8s linear infinite;
}

.jvue-anime-transition-field i {
    left: -26%;
    top: var(--ac-line-top, 50%);
    width: 154%;
    height: var(--ac-line-h, 1px);
    border-radius: 999px;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .08) 23%, rgba(247, 249, 255, .74) 48%, rgba(105, 199, 240, .35) 57%, rgba(201, 154, 85, .16) 63%, transparent 82%),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(247, 249, 255, .16) 29px, transparent 31px);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .16),
        0 0 32px rgba(201, 154, 85, .08);
    transform-origin: 50% 50%;
    animation: jvueAnimeCutLine var(--ac-line-speed, var(--anime-cut-speed)) linear infinite;
    animation-delay: var(--ac-delay, 0s);
    will-change: transform, opacity;
}

.jvue-anime-transition-field b {
    left: var(--ac-dot-x, 50%);
    top: var(--ac-dot-y, 50%);
    width: var(--ac-dot-w, 5px);
    height: var(--ac-dot-h, 2px);
    border-radius: 999px;
    opacity: 0;
    background: rgba(247, 249, 255, .86);
    box-shadow:
        0 0 14px rgba(105, 199, 240, .42),
        0 0 28px rgba(201, 154, 85, .2);
    transform: skewX(-24deg);
    animation: jvueAnimeCutSpark var(--ac-dot-speed, 3.8s) ease-in-out infinite;
    animation-delay: var(--ac-delay, 0s);
    will-change: transform, opacity;
}

.jvue-anime-transition-field em {
    left: -18%;
    top: var(--ac-veil-top, 50%);
    width: 138%;
    height: var(--ac-veil-h, clamp(48px, 9vh, 112px));
    opacity: var(--ac-veil-o, .08);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .04) 23%, rgba(247, 249, 255, .22) 49%, rgba(201, 154, 85, .09) 55%, transparent 76%),
        radial-gradient(ellipse at 50% 50%, rgba(247, 249, 255, .18), transparent 32%);
    transform: translate3d(var(--ac-veil-x, 0), -50%, 0) scaleX(var(--ac-veil-scale, 1));
    animation: jvueAnimeCutVeil var(--ac-veil-speed, 6.8s) ease-in-out infinite;
    animation-delay: var(--ac-delay, 0s);
    will-change: transform, opacity;
}

.jvue-anime-transition-field strong {
    left: 50%;
    top: 54%;
    width: min(86vw, 1180px);
    height: 1px;
    opacity: calc(.08 + var(--anime-cut-depth));
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .2), rgba(247, 249, 255, .48), rgba(201, 154, 85, .16), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .14) 19px, transparent 22px);
    transform: translate3d(-50%, -50%, 0) rotate(calc(0deg - var(--anime-cut-angle)));
    box-shadow:
        0 0 24px rgba(105, 199, 240, .18),
        0 0 44px rgba(201, 154, 85, .1);
    animation: jvueAnimeCorePulse 5.8s ease-in-out infinite;
}

.jvue-anime-transition-field i:nth-of-type(1) { --ac-line-top: 17%; --ac-line-h: 1px; --ac-line-speed: 8.6s; --ac-delay: -1.2s; --ac-line-o: .12; }
.jvue-anime-transition-field i:nth-of-type(2) { --ac-line-top: 29%; --ac-line-h: 2px; --ac-line-speed: var(--anime-cut-speed); --ac-delay: -2.6s; --ac-line-o: .2; }
.jvue-anime-transition-field i:nth-of-type(3) { --ac-line-top: 41%; --ac-line-h: 1px; --ac-line-speed: 7.2s; --ac-delay: -3.1s; --ac-line-o: .14; }
.jvue-anime-transition-field i:nth-of-type(4) { --ac-line-top: 52%; --ac-line-h: 2px; --ac-line-speed: var(--anime-cut-speed); --ac-delay: -.4s; --ac-line-o: .26; }
.jvue-anime-transition-field i:nth-of-type(5) { --ac-line-top: 63%; --ac-line-h: 1px; --ac-line-speed: 9.4s; --ac-delay: -4s; --ac-line-o: .12; }
.jvue-anime-transition-field i:nth-of-type(6) { --ac-line-top: 73%; --ac-line-h: 2px; --ac-line-speed: 6.9s; --ac-delay: -1.8s; --ac-line-o: .18; }
.jvue-anime-transition-field i:nth-of-type(7) { --ac-line-top: 82%; --ac-line-h: 1px; --ac-line-speed: 10.2s; --ac-delay: -5.6s; --ac-line-o: .1; }
.jvue-anime-transition-field i:nth-of-type(8) { --ac-line-top: 47%; --ac-line-h: 3px; --ac-line-speed: 5.8s; --ac-delay: -2.1s; --ac-line-o: .18; }

.jvue-anime-transition-field b:nth-of-type(1) { --ac-dot-x: 22%; --ac-dot-y: 28%; --ac-dot-w: 7px; --ac-dot-h: 2px; --ac-dot-speed: 4.8s; --ac-delay: -.4s; }
.jvue-anime-transition-field b:nth-of-type(2) { --ac-dot-x: 38%; --ac-dot-y: 42%; --ac-dot-w: 4px; --ac-dot-h: 4px; --ac-dot-speed: 5.2s; --ac-delay: -1.2s; }
.jvue-anime-transition-field b:nth-of-type(3) { --ac-dot-x: 58%; --ac-dot-y: 34%; --ac-dot-w: 10px; --ac-dot-h: 2px; --ac-dot-speed: 3.9s; --ac-delay: -2.4s; }
.jvue-anime-transition-field b:nth-of-type(4) { --ac-dot-x: 72%; --ac-dot-y: 56%; --ac-dot-w: 5px; --ac-dot-h: 5px; --ac-dot-speed: 4.4s; --ac-delay: -3.1s; }
.jvue-anime-transition-field b:nth-of-type(5) { --ac-dot-x: 30%; --ac-dot-y: 68%; --ac-dot-w: 8px; --ac-dot-h: 2px; --ac-dot-speed: 5.8s; --ac-delay: -2s; }
.jvue-anime-transition-field b:nth-of-type(6) { --ac-dot-x: 66%; --ac-dot-y: 74%; --ac-dot-w: 4px; --ac-dot-h: 4px; --ac-dot-speed: 4.2s; --ac-delay: -1.5s; }
.jvue-anime-transition-field b:nth-of-type(7) { --ac-dot-x: 82%; --ac-dot-y: 39%; --ac-dot-w: 12px; --ac-dot-h: 2px; --ac-dot-speed: 4.7s; --ac-delay: -3.9s; }
.jvue-anime-transition-field b:nth-of-type(8) { --ac-dot-x: 46%; --ac-dot-y: 83%; --ac-dot-w: 5px; --ac-dot-h: 2px; --ac-dot-speed: 5.4s; --ac-delay: -.9s; }

.jvue-anime-transition-field em:nth-of-type(1) { --ac-veil-top: 38%; --ac-veil-h: clamp(60px, 11vh, 128px); --ac-veil-o: .08; --ac-veil-speed: 7.2s; --ac-delay: -1.6s; }
.jvue-anime-transition-field em:nth-of-type(2) { --ac-veil-top: 56%; --ac-veil-h: clamp(48px, 8vh, 96px); --ac-veil-o: .1; --ac-veil-scale: .88; --ac-veil-speed: 6.4s; --ac-delay: -3.2s; }
.jvue-anime-transition-field em:nth-of-type(3) { --ac-veil-top: 71%; --ac-veil-h: clamp(42px, 7vh, 82px); --ac-veil-o: .06; --ac-veil-scale: .74; --ac-veil-speed: 8.4s; --ac-delay: -4.8s; }

.jvue-home.is-scroll-active .jvue-anime-transition-field,
.jvue-home.is-scene-switching .jvue-anime-transition-field,
.jvue-home.is-work-transitioning .jvue-anime-transition-field {
    opacity: var(--anime-cut-opacity);
}

.jvue-home.is-scene-switching .jvue-anime-transition-field i:nth-of-type(4),
.jvue-home.is-scene-switching .jvue-anime-transition-field i:nth-of-type(8) {
    height: 3px;
    box-shadow:
        0 0 22px rgba(247, 249, 255, .36),
        0 0 52px rgba(105, 199, 240, .32),
        0 0 76px rgba(201, 154, 85, .16);
}

.jvue-home.is-scene-switching .jvue-anime-transition-field em {
    opacity: .18;
}

.jvue-work-cinema-field {
    position: absolute;
    inset: -6%;
    z-index: 4;
    pointer-events: none;
    overflow: hidden;
    opacity: 1;
    perspective: 1600px;
    contain: paint;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--cinema-x) + var(--cinema-ambient-x) + var(--cursor-parallax-x)), calc(var(--cinema-y) + var(--cinema-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(calc(var(--cinema-tilt) + var(--cinema-ambient-tilt)))
        scale(var(--cinema-scale));
    transform-origin: 50% 52%;
    mask-image:
        radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .92) 44%, rgba(0, 0, 0, .42) 76%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    transition: transform .24s linear;
    will-change: transform;
}

.jvue-work-cinema-field::before,
.jvue-work-cinema-field::after {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    opacity: 0;
    transition: opacity .34s var(--jv-ease), transform .34s var(--jv-ease);
    will-change: opacity, transform, background-position;
}

.jvue-work-cinema-field::before {
    inset: auto;
    left: 50%;
    top: 50%;
    width: 150vw;
    height: clamp(180px, 34vh, 520px);
    z-index: 3;
    opacity: var(--cinema-wipe-opacity);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .02) 22%, rgba(105, 199, 240, .12) 37%, rgba(247, 249, 255, .36) 48%, rgba(201, 154, 85, .16) 57%, transparent 76%),
        repeating-linear-gradient(90deg, transparent 0, transparent 26px, rgba(247, 249, 255, .16) 27px, transparent 29px),
        linear-gradient(180deg, transparent, rgba(105, 199, 240, .08), transparent);
    background-position:
        calc(var(--cinema-scan) + var(--cinema-ambient-scan)) 0,
        calc(var(--cinema-scan) - 90px) 0,
        0 0;
    filter: blur(.2px);
    transform:
        translate3d(calc(-50% + var(--cinema-wipe-x) + var(--cinema-ambient-wipe-x)), calc(-50% + var(--cinema-wipe-y) + var(--cinema-ambient-wipe-y)), 120px)
        rotate(calc(var(--cinema-wipe-angle) + var(--cinema-ambient-wipe-angle)))
        scale(var(--cinema-wipe-scale));
    animation: jvueWorkCinemaWipe 7.4s ease-in-out infinite;
}

.jvue-work-cinema-field::after {
    z-index: 2;
    opacity: var(--cinema-focus-opacity);
    background:
        radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(247, 249, 255, .2) 0, rgba(105, 199, 240, .14) 8%, transparent 25%),
        radial-gradient(ellipse at 50% 52%, rgba(105, 199, 240, .12) 0, transparent 38%),
        repeating-linear-gradient(90deg, transparent 0, transparent 42px, rgba(247, 249, 255, .055) 43px, transparent 45px),
        repeating-linear-gradient(0deg, transparent 0, transparent 54px, rgba(105, 199, 240, .04) 55px, transparent 57px);
    background-position:
        0 0,
        0 0,
        var(--cinema-scan) 0,
        0 var(--cinema-ambient-scan);
    transform:
        translate3d(calc(var(--cinema-wipe-x) + var(--cursor-parallax-x)), calc(var(--cinema-wipe-y) + var(--cursor-parallax-y)), 60px)
        scale(var(--cinema-focus-scale))
        scale(var(--cinema-ambient-focus-scale));
    animation: jvueWorkCinemaFocus 10.8s ease-in-out infinite;
}

.jvue-work-cinema-field span {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 1;
    opacity: 0;
    transform-style: preserve-3d;
    transform: translate3d(0, 0, var(--wc-depth, -130px)) rotateX(var(--wc-rx, 58deg)) rotateZ(var(--wc-rz, -8deg)) scale(var(--wc-scale, .98));
    transition: opacity .72s var(--jv-ease), transform .72s var(--jv-ease);
    will-change: opacity, transform;
}

.jvue-work-cinema-field span.active {
    opacity: var(--cinema-opacity);
    transform: translate3d(0, 0, var(--wc-active-depth, -70px)) rotateX(var(--wc-rx, 58deg)) rotateZ(var(--wc-rz, -8deg)) scale(var(--wc-active-scale, 1.04));
}

.jvue-work-cinema-field span::before,
.jvue-work-cinema-field span::after {
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: 0;
    transition: opacity .64s var(--jv-ease), transform .64s var(--jv-ease);
}

.jvue-work-cinema-field span::before {
    content: "";
    left: var(--wc-poster-x, 58%);
    top: var(--wc-poster-y, 50%);
    width: var(--wc-poster-w, min(46vw, 720px));
    height: var(--wc-poster-h, min(40vh, 420px));
    border: 1px solid rgba(247, 249, 255, .1);
    border-radius: 8px;
    background:
        linear-gradient(120deg, rgba(105, 199, 240, .055), rgba(247, 249, 255, .01) 44%, rgba(201, 154, 85, .045)),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .038) 35px, transparent 38px),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .05), transparent);
    background-position:
        0 0,
        var(--cinema-scan) 0,
        var(--cinema-ambient-scan) 0;
    box-shadow:
        inset 0 0 42px rgba(247, 249, 255, .035),
        0 0 60px rgba(105, 199, 240, .08),
        0 0 110px rgba(105, 199, 240, var(--cinema-card-glow));
    transform:
        translate3d(-50%, -50%, var(--wc-poster-z, -110px))
        rotateX(var(--wc-poster-rx, 0deg))
        rotateY(var(--wc-poster-ry, 0deg))
        rotateZ(var(--wc-poster-rz, 0deg))
        skewX(var(--wc-poster-skew, -4deg))
        scale(.94);
}

.jvue-work-cinema-field span::after {
    content: var(--wc-label, "01 / 亿链序");
    left: var(--wc-label-x, 18%);
    top: var(--wc-label-y, 24%);
    max-width: min(42vw, 620px);
    color: rgba(247, 249, 255, .18);
    font-size: clamp(40px, 8vw, 142px);
    font-weight: 900;
    line-height: .9;
    letter-spacing: 0;
    white-space: pre-line;
    text-transform: uppercase;
    text-shadow:
        0 0 22px rgba(105, 199, 240, .12),
        0 0 46px rgba(201, 154, 85, .06);
    transform:
        translate3d(var(--wc-label-shift, -24px), 0, var(--wc-label-z, -20px))
        skewX(var(--wc-label-skew, -6deg));
}

.jvue-work-cinema-field span.active::before {
    opacity: var(--wc-poster-o, .54);
    transform:
        translate3d(-50%, -50%, var(--wc-poster-z, -110px))
        rotateX(var(--wc-poster-rx, 0deg))
        rotateY(var(--wc-poster-ry, 0deg))
        rotateZ(var(--wc-poster-rz, 0deg))
        skewX(var(--wc-poster-skew, -4deg))
        scale(1);
    animation: jvueWorkPosterScan var(--cinema-speed) linear infinite;
}

.jvue-work-cinema-field span.active::after {
    opacity: var(--wc-label-o, .46);
    transform:
        translate3d(var(--wc-label-shift-active, 0), 0, var(--wc-label-z, -20px))
        skewX(var(--wc-label-skew, -6deg));
}

.jvue-home.is-fx-2 .jvue-work-cinema-field::before {
    height: clamp(92px, 16vh, 220px);
    opacity: .16;
    filter: blur(.12px) saturate(.96);
}

.jvue-home.is-fx-2 .jvue-work-cinema-field::after {
    opacity: .18;
}

.jvue-home.is-fx-2 .jvue-work-cinema-field span:nth-child(3)::before {
    opacity: .2;
    border-color: rgba(247, 249, 255, .055);
    background:
        linear-gradient(120deg, rgba(105, 199, 240, .035), rgba(247, 249, 255, .008) 44%, rgba(201, 154, 85, .026)),
        repeating-linear-gradient(90deg, transparent 0, transparent 52px, rgba(247, 249, 255, .022) 53px, transparent 56px),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .024), transparent);
    box-shadow:
        inset 0 0 24px rgba(247, 249, 255, .02),
        0 0 36px rgba(105, 199, 240, .045);
}

.jvue-home.is-fx-2 .jvue-scroll-director-field::before {
    opacity: .12;
    filter: blur(.12px);
}

.jvue-home.is-fx-2 .jvue-scroll-director-field::after {
    opacity: .10;
}

.jvue-work-cinema-field i,
.jvue-work-cinema-field b,
.jvue-work-cinema-field em,
.jvue-work-cinema-field strong {
    position: absolute;
    display: block;
    pointer-events: none;
}

.jvue-work-cinema-field i {
    left: var(--wc-line-x, 50%);
    top: var(--wc-line-y, 50%);
    width: var(--wc-line-w, 72vw);
    height: var(--wc-line-h, 1px);
    border-radius: 999px;
    opacity: var(--wc-line-o, .42);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .1) 18%, rgba(105, 199, 240, .48) 44%, rgba(247, 249, 255, .68) 52%, rgba(201, 154, 85, .16) 62%, transparent 86%),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .16) 23px, transparent 25px);
    transform: translate3d(-50%, -50%, var(--wc-line-z, -40px)) rotate(var(--wc-line-r, 0deg)) translate3d(var(--cinema-scan), 0, 0) scaleX(var(--wc-line-scale, 1));
    animation: jvueWorkCinemaLine var(--wc-line-speed, var(--cinema-speed)) linear infinite;
    animation-delay: var(--wc-delay, 0s);
}

.jvue-work-cinema-field b {
    left: var(--wc-node-x, 50%);
    top: var(--wc-node-y, 50%);
    width: var(--wc-node-size, 6px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: var(--wc-node-o, .54);
    background: radial-gradient(circle, rgba(247, 249, 255, .94) 0 16%, rgba(105, 199, 240, .58) 36%, transparent 72%);
    box-shadow:
        0 0 16px rgba(247, 249, 255, .2),
        0 0 32px rgba(105, 199, 240, .22),
        0 0 48px rgba(201, 154, 85, var(--cinema-node-boost));
    transform: translate3d(-50%, -50%, var(--wc-node-z, 0)) scale(var(--wc-node-scale, 1));
    animation: jvueWorkCinemaNode var(--wc-node-speed, 6.4s) ease-in-out infinite;
    animation-delay: var(--wc-delay, 0s);
}

.jvue-work-cinema-field em {
    left: var(--wc-plane-x, 50%);
    top: var(--wc-plane-y, 50%);
    width: var(--wc-plane-w, clamp(180px, 22vw, 430px));
    height: var(--wc-plane-h, clamp(70px, 8vw, 150px));
    border: 1px solid rgba(105, 199, 240, .18);
    border-radius: var(--wc-plane-radius, 8px);
    opacity: var(--wc-plane-o, .32);
    background:
        linear-gradient(115deg, rgba(105, 199, 240, .12), rgba(247, 249, 255, .035) 48%, rgba(201, 154, 85, .08)),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .07) 19px, transparent 21px);
    box-shadow:
        inset 0 0 26px rgba(247, 249, 255, .035),
        0 0 34px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--wc-plane-z, -80px))
        rotateX(var(--wc-plane-rx, 0deg))
        rotateY(var(--wc-plane-ry, 0deg))
        rotateZ(var(--wc-plane-rz, 0deg))
        scale(var(--wc-plane-scale, 1));
    animation: jvueWorkCinemaPlane var(--wc-plane-speed, 8.8s) ease-in-out infinite;
    animation-delay: var(--wc-delay, 0s);
}

.jvue-work-cinema-field strong {
    left: var(--wc-core-x, 50%);
    top: var(--wc-core-y, 52%);
    width: var(--wc-core-w, min(54vw, 720px));
    height: var(--wc-core-h, min(40vh, 440px));
    border-radius: var(--wc-core-radius, 50%);
    opacity: calc(.16 + var(--cinema-depth));
    transform:
        translate3d(-50%, -50%, var(--wc-core-z, -130px))
        rotateX(var(--wc-core-rx, 62deg))
        rotateZ(var(--wc-core-rz, -8deg))
        scale(var(--wc-core-scale, 1));
    background:
        radial-gradient(ellipse at 50% 50%, rgba(247, 249, 255, .08), transparent 36%),
        repeating-conic-gradient(from var(--ambient-core-angle), rgba(105, 199, 240, .22) 0 1deg, transparent 1deg 15deg);
    border: 1px solid rgba(247, 249, 255, .08);
    box-shadow:
        inset 0 0 42px rgba(105, 199, 240, .08),
        0 0 58px rgba(105, 199, 240, .08);
    animation: jvueWorkCinemaCore var(--cinema-speed) ease-in-out infinite;
}

.jvue-work-cinema-field span:nth-child(1) {
    --wc-rx: 64deg;
    --wc-rz: -11deg;
    --wc-label: "01\A亿链序中枢";
    --wc-label-x: 14%;
    --wc-label-y: 18%;
    --wc-poster-x: 60%;
    --wc-poster-y: 48%;
    --wc-poster-radius: 999px;
}

.jvue-work-cinema-field span:nth-child(1) strong {
    --wc-core-w: min(52vw, 760px);
    --wc-core-h: min(52vw, 760px);
    --wc-core-rz: -18deg;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 22%, rgba(105, 199, 240, .12) 23% 24%, transparent 25% 34%, rgba(201, 154, 85, .14) 35% 36%, transparent 37%),
        repeating-conic-gradient(from var(--ambient-core-angle), rgba(247, 249, 255, .2) 0 1deg, transparent 1deg 18deg);
}

.jvue-work-cinema-field span:nth-child(1) i:nth-of-type(1) { --wc-line-x: 50%; --wc-line-y: 50%; --wc-line-r: -12deg; --wc-line-w: 72vw; --wc-delay: -.4s; }
.jvue-work-cinema-field span:nth-child(1) i:nth-of-type(2) { --wc-line-x: 50%; --wc-line-y: 48%; --wc-line-r: 16deg; --wc-line-w: 58vw; --wc-line-o: .3; --wc-delay: -1.8s; }
.jvue-work-cinema-field span:nth-child(1) i:nth-of-type(3) { --wc-line-x: 50%; --wc-line-y: 52%; --wc-line-r: 90deg; --wc-line-w: 32vw; --wc-line-o: .22; --wc-delay: -3s; }
.jvue-work-cinema-field span:nth-child(1) b:nth-of-type(1) { --wc-node-x: 42%; --wc-node-y: 44%; }
.jvue-work-cinema-field span:nth-child(1) b:nth-of-type(2) { --wc-node-x: 58%; --wc-node-y: 56%; --wc-node-size: 8px; --wc-delay: -.7s; }
.jvue-work-cinema-field span:nth-child(1) b:nth-of-type(3) { --wc-node-x: 66%; --wc-node-y: 42%; --wc-node-size: 4px; --wc-delay: -1.4s; }
.jvue-work-cinema-field span:nth-child(1) em { --wc-plane-o: .08; --wc-plane-radius: 999px; }

.jvue-work-cinema-field span:nth-child(2) {
    --wc-rx: 58deg;
    --wc-rz: -2deg;
    --wc-label: "02\A平台能力";
    --wc-label-x: 16%;
    --wc-label-y: 22%;
    --wc-poster-x: 58%;
    --wc-poster-y: 48%;
    --wc-poster-skew: 0deg;
}

.jvue-work-cinema-field span:nth-child(2) strong {
    --wc-core-x: 58%;
    --wc-core-y: 48%;
    --wc-core-w: min(64vw, 940px);
    --wc-core-h: min(36vh, 320px);
    --wc-core-radius: 8px;
    --wc-core-rz: 0deg;
    background:
        repeating-linear-gradient(0deg, rgba(105, 199, 240, .12) 0 1px, transparent 1px 36px),
        repeating-linear-gradient(90deg, rgba(247, 249, 255, .08) 0 1px, transparent 1px 58px),
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .09), transparent);
}

.jvue-work-cinema-field span:nth-child(2) i { --wc-line-r: 0deg; --wc-line-w: 88vw; --wc-line-o: .34; }
.jvue-work-cinema-field span:nth-child(2) i:nth-of-type(1) { --wc-line-y: 34%; --wc-delay: -.2s; }
.jvue-work-cinema-field span:nth-child(2) i:nth-of-type(2) { --wc-line-y: 50%; --wc-line-h: 2px; --wc-delay: -1.6s; }
.jvue-work-cinema-field span:nth-child(2) i:nth-of-type(3) { --wc-line-y: 66%; --wc-delay: -3s; }
.jvue-work-cinema-field span:nth-child(2) em:nth-of-type(1) { --wc-plane-x: 28%; --wc-plane-y: 42%; --wc-plane-rx: 0deg; --wc-plane-rz: 0deg; }
.jvue-work-cinema-field span:nth-child(2) em:nth-of-type(2) { --wc-plane-x: 50%; --wc-plane-y: 54%; --wc-plane-w: clamp(230px, 26vw, 500px); --wc-delay: -1.2s; }
.jvue-work-cinema-field span:nth-child(2) em:nth-of-type(3) { --wc-plane-x: 74%; --wc-plane-y: 46%; --wc-plane-rz: 0deg; --wc-delay: -2.1s; }

.jvue-work-cinema-field span:nth-child(3) {
    --wc-rx: 62deg;
    --wc-rz: 8deg;
    --wc-label: "03\A商品矩阵";
    --wc-label-x: 12%;
    --wc-label-y: 18%;
    --wc-poster-x: 56%;
    --wc-poster-y: 52%;
    --wc-poster-skew: 5deg;
    --wc-label-skew: 4deg;
}

.jvue-work-cinema-field span:nth-child(3) strong {
    --wc-core-x: 52%;
    --wc-core-y: 52%;
    --wc-core-w: min(66vw, 980px);
    --wc-core-h: min(42vh, 380px);
    --wc-core-radius: 8px;
    --wc-core-rz: 8deg;
    background:
        repeating-linear-gradient(90deg, rgba(201, 154, 85, .12) 0 1px, transparent 1px 120px),
        repeating-linear-gradient(0deg, rgba(105, 199, 240, .1) 0 1px, transparent 1px 74px),
        radial-gradient(ellipse at 50% 50%, rgba(201, 154, 85, .08), transparent 58%);
}

.jvue-work-cinema-field span:nth-child(3) em {
    --wc-plane-w: clamp(170px, 18vw, 320px);
    --wc-plane-h: clamp(92px, 10vw, 160px);
    --wc-plane-o: .42;
    --wc-plane-rz: 8deg;
}

.jvue-work-cinema-field span:nth-child(3) em:nth-of-type(1) { --wc-plane-x: 28%; --wc-plane-y: 36%; --wc-delay: -.5s; }
.jvue-work-cinema-field span:nth-child(3) em:nth-of-type(2) { --wc-plane-x: 52%; --wc-plane-y: 52%; --wc-plane-z: -30px; --wc-plane-scale: 1.08; --wc-delay: -1.3s; }
.jvue-work-cinema-field span:nth-child(3) em:nth-of-type(3) { --wc-plane-x: 74%; --wc-plane-y: 68%; --wc-delay: -2.1s; }
.jvue-work-cinema-field span:nth-child(3) i { --wc-line-r: 8deg; --wc-line-o: .18; }

.jvue-work-cinema-field span:nth-child(4) {
    --wc-rx: 54deg;
    --wc-rz: -18deg;
    --wc-active-scale: 1.03;
    --wc-label: "04\A交付流线";
    --wc-label-x: 10%;
    --wc-label-y: 20%;
    --wc-poster-x: 62%;
    --wc-poster-y: 54%;
    --wc-poster-w: min(58vw, 920px);
    --wc-poster-h: min(32vh, 340px);
    --wc-poster-skew: -12deg;
}

.jvue-work-cinema-field span:nth-child(4) strong {
    --wc-core-x: 46%;
    --wc-core-y: 50%;
    --wc-core-w: min(76vw, 1080px);
    --wc-core-h: min(30vh, 300px);
    --wc-core-radius: 999px;
    --wc-core-rz: -18deg;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .1) 46%, rgba(105, 199, 240, .08) 52%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 44px, rgba(105, 199, 240, .07) 45px, transparent 48px);
}

.jvue-work-cinema-field span:nth-child(4) i {
    --wc-line-r: -18deg;
    --wc-line-w: 78vw;
    --wc-line-o: .2;
    --wc-line-speed: 5.6s;
}

.jvue-work-cinema-field span:nth-child(4) i:nth-of-type(1) { --wc-line-y: 32%; --wc-delay: -.2s; }
.jvue-work-cinema-field span:nth-child(4) i:nth-of-type(2) { --wc-line-y: 50%; --wc-line-h: 1px; --wc-line-o: .24; --wc-delay: -1.1s; }
.jvue-work-cinema-field span:nth-child(4) i:nth-of-type(3) { --wc-line-y: 68%; --wc-delay: -2s; }
.jvue-work-cinema-field span:nth-child(4) b { --wc-node-o: .42; --wc-node-speed: 4.6s; }

.jvue-home.is-fx-3 .jvue-work-cinema-field span:nth-child(4) i {
    --wc-line-w: 56vw;
    --wc-line-o: .07;
    filter: blur(.45px);
}

.jvue-home.is-fx-3 .jvue-work-cinema-field span:nth-child(4) i:nth-of-type(2) {
    --wc-line-o: .09;
}

.jvue-work-cinema-field span:nth-child(5) {
    --wc-rx: 66deg;
    --wc-rz: 0deg;
    --wc-label: "05\A信号公告";
    --wc-label-x: 18%;
    --wc-label-y: 18%;
    --wc-poster-x: 60%;
    --wc-poster-y: 44%;
    --wc-poster-radius: 999px;
    --wc-label-o: .34;
}

.jvue-work-cinema-field span:nth-child(5) strong {
    --wc-core-x: 62%;
    --wc-core-y: 45%;
    --wc-core-w: min(46vw, 620px);
    --wc-core-h: min(46vw, 620px);
    --wc-core-rz: 0deg;
    background:
        radial-gradient(circle, transparent 0 28%, rgba(145, 172, 255, .13) 29% 30%, transparent 31% 46%, rgba(105, 199, 240, .12) 47% 48%, transparent 49%),
        repeating-conic-gradient(from var(--ambient-core-angle), rgba(247, 249, 255, .15) 0 1deg, transparent 1deg 22deg);
}

.jvue-work-cinema-field span:nth-child(5) i { --wc-line-r: 0deg; --wc-line-o: .14; --wc-line-scale: .64; }
.jvue-work-cinema-field span:nth-child(5) b:nth-of-type(1) { --wc-node-x: 58%; --wc-node-y: 42%; --wc-node-size: 9px; }
.jvue-work-cinema-field span:nth-child(5) b:nth-of-type(2) { --wc-node-x: 68%; --wc-node-y: 50%; --wc-node-size: 5px; --wc-delay: -1s; }
.jvue-work-cinema-field span:nth-child(5) b:nth-of-type(3) { --wc-node-x: 52%; --wc-node-y: 58%; --wc-node-size: 4px; --wc-delay: -1.8s; }
.jvue-work-cinema-field span:nth-child(5) em { --wc-plane-o: .08; --wc-plane-radius: 999px; }

.jvue-work-cinema-field span:nth-child(6) {
    --wc-rx: 60deg;
    --wc-rz: 12deg;
    --wc-label: "06\A立即入驻";
    --wc-label-x: 14%;
    --wc-label-y: 20%;
    --wc-poster-x: 54%;
    --wc-poster-y: 50%;
    --wc-poster-skew: 8deg;
}

.jvue-work-cinema-field span:nth-child(6) strong {
    --wc-core-x: 50%;
    --wc-core-y: 50%;
    --wc-core-w: min(58vw, 780px);
    --wc-core-h: min(44vh, 380px);
    --wc-core-radius: 999px;
    --wc-core-rz: 12deg;
    background:
        radial-gradient(ellipse at 50% 50%, transparent 0 32%, rgba(247, 249, 255, .22) 33% 34%, rgba(201, 154, 85, .12) 35% 36%, transparent 37%),
        conic-gradient(from var(--ambient-core-angle), transparent 0 18%, rgba(201, 154, 85, .22) 24%, transparent 34% 60%, rgba(105, 199, 240, .16) 70%, transparent 82%);
}

.jvue-work-cinema-field span:nth-child(6) i { --wc-line-r: 12deg; --wc-line-w: 80vw; --wc-line-o: .22; }
.jvue-work-cinema-field span:nth-child(6) em:nth-of-type(2) { --wc-plane-x: 50%; --wc-plane-y: 50%; --wc-plane-w: clamp(260px, 34vw, 600px); --wc-plane-h: clamp(90px, 11vw, 180px); --wc-plane-o: .24; --wc-plane-rz: 12deg; }

.jvue-home.is-scene-switching .jvue-work-cinema-field span.active,
.jvue-home.is-scroll-active .jvue-work-cinema-field span.active {
    opacity: calc(var(--cinema-opacity) + .1);
}

.jvue-home.is-scroll-active .jvue-work-cinema-field::before,
.jvue-home.is-scene-switching .jvue-work-cinema-field::before {
    filter: blur(0);
    animation-duration: 3.2s;
}

.jvue-home.is-scroll-active .jvue-work-cinema-field::after,
.jvue-home.is-scene-switching .jvue-work-cinema-field::after {
    animation-duration: 5.6s;
}

.jvue-home.is-scroll-active .jvue-work-cinema-field span.active i,
.jvue-home.is-scene-switching .jvue-work-cinema-field span.active i {
    opacity: calc(var(--wc-line-o, .42) + .18);
}

.jvue-home.is-scroll-active .jvue-work-cinema-field span.active em,
.jvue-home.is-scene-switching .jvue-work-cinema-field span.active em {
    box-shadow:
        inset 0 0 34px rgba(247, 249, 255, .055),
        0 0 52px rgba(105, 199, 240, .16),
        0 0 96px rgba(201, 154, 85, .08);
}

.jvue-home.is-scroll-active .jvue-work-cinema-field span.active b,
.jvue-home.is-scene-switching .jvue-work-cinema-field span.active b {
    transform: translate3d(-50%, -50%, var(--wc-node-z, 0)) scale(1.24);
}

.jvue-home .jvue-work-cinema-field {
    opacity: .72;
    filter: saturate(1.08) contrast(1.08);
}

.jvue-home .jvue-work-cinema-field span.active {
    opacity: min(.78, calc(var(--cinema-opacity) + .08));
}

.jvue-home .jvue-work-cinema-field span.active strong {
    opacity: min(.54, calc(.2 + var(--cinema-depth) + var(--cinema-focus-opacity)));
}

.jvue-home .jvue-work-cinema-field span.active::before {
    opacity: min(.3, calc(var(--wc-poster-o, .28) + .03));
}

.jvue-home.is-scroll-active .jvue-work-cinema-field,
.jvue-home.is-scene-switching .jvue-work-cinema-field,
.jvue-home.is-work-transitioning .jvue-work-cinema-field {
    filter:
        saturate(1.2)
        contrast(1.18)
        brightness(1.05);
}

.jvue-home.is-scroll-active .jvue-work-cinema-field span.active,
.jvue-home.is-scene-switching .jvue-work-cinema-field span.active,
.jvue-home.is-work-transitioning .jvue-work-cinema-field span.active {
    opacity: .84;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field span:nth-child(1) {
    --wc-active-depth: -20px;
    --wc-active-scale: 1.12;
    --wc-poster-o: .18;
    --wc-label-o: .28;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field span:nth-child(1) strong {
    --wc-core-x: 60%;
    --wc-core-y: 51%;
    --wc-core-w: min(66vw, 960px);
    --wc-core-h: min(48vh, 560px);
    opacity: min(.64, calc(.28 + var(--cinema-depth) + var(--cinema-focus-opacity)));
    box-shadow:
        inset 0 0 70px rgba(105, 199, 240, .12),
        0 0 92px rgba(105, 199, 240, .16),
        0 0 140px rgba(201, 154, 85, .08);
}

.jvue-home.is-fx-0 .jvue-work-cinema-field span:nth-child(1) i {
    --wc-line-o: .46;
    --wc-line-w: 84vw;
}

.jvue-home.is-fx-1 .jvue-work-cinema-field span:nth-child(2) {
    --wc-active-depth: -10px;
    --wc-active-scale: 1.08;
    --wc-poster-o: .32;
}

.jvue-home.is-fx-1 .jvue-work-cinema-field span:nth-child(2) i {
    --wc-line-o: .52;
    --wc-line-w: 104vw;
    --wc-line-speed: 4.8s;
}

.jvue-home.is-fx-1 .jvue-work-cinema-field span:nth-child(2) em {
    --wc-plane-o: .46;
    box-shadow:
        inset 0 0 42px rgba(247, 249, 255, .05),
        0 0 58px rgba(105, 199, 240, .14);
}

.jvue-home.is-fx-2 .jvue-work-cinema-field span:nth-child(3) {
    --wc-active-depth: -30px;
    --wc-active-scale: 1.1;
    --wc-poster-o: .34;
    --wc-label-o: .32;
}

.jvue-home.is-fx-2 .jvue-work-cinema-field span:nth-child(3)::before {
    background-size: 100% 100%, 78px 100%, 220px 100%;
    box-shadow:
        inset 0 0 54px rgba(247, 249, 255, .04),
        0 0 76px rgba(201, 154, 85, .14),
        0 0 108px rgba(105, 199, 240, .1);
}

.jvue-home.is-fx-2 .jvue-work-cinema-field span:nth-child(3) em {
    --wc-plane-o: .34;
    --wc-plane-scale: 1.1;
}

.jvue-home.is-fx-3 .jvue-work-cinema-field span:nth-child(4) {
    --wc-active-depth: 10px;
    --wc-active-scale: 1.14;
    --wc-poster-o: .28;
    --wc-label-o: .24;
}

.jvue-home.is-fx-3 .jvue-work-cinema-field span:nth-child(4) i {
    --wc-line-w: 104vw;
    --wc-line-o: .5;
    --wc-line-speed: 3.8s;
    filter: blur(.12px);
}

.jvue-home.is-fx-3 .jvue-work-cinema-field span:nth-child(4) i:nth-of-type(2) {
    --wc-line-o: .6;
    --wc-line-h: 2px;
}

.jvue-home.is-fx-4 .jvue-work-cinema-field span:nth-child(5) {
    --wc-active-depth: -18px;
    --wc-active-scale: 1.08;
    --wc-label-o: .30;
}

.jvue-home.is-fx-4 .jvue-work-cinema-field span:nth-child(5) b {
    --wc-node-o: .66;
    --wc-node-scale: 1.22;
}

.jvue-home.is-fx-4 .jvue-work-cinema-field span:nth-child(5) strong {
    box-shadow:
        inset 0 0 76px rgba(145, 172, 255, .12),
        0 0 92px rgba(105, 199, 240, .13);
}

.jvue-home.is-fx-5 .jvue-work-cinema-field span:nth-child(6) {
    --wc-active-depth: -12px;
    --wc-active-scale: 1.12;
    --wc-poster-o: .3;
}

.jvue-home.is-fx-5 .jvue-work-cinema-field span:nth-child(6) i {
    --wc-line-o: .44;
    --wc-line-w: 92vw;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field > span:nth-child(1),
.jvue-home.is-fx-1 .jvue-work-cinema-field > span:nth-child(2),
.jvue-home.is-fx-2 .jvue-work-cinema-field > span:nth-child(3),
.jvue-home.is-fx-3 .jvue-work-cinema-field > span:nth-child(4),
.jvue-home.is-fx-4 .jvue-work-cinema-field > span:nth-child(5),
.jvue-home.is-fx-5 .jvue-work-cinema-field > span:nth-child(6),
.jvue-home.is-scroll-active .jvue-work-cinema-field > span.active,
.jvue-home.is-scene-switching .jvue-work-cinema-field > span.active,
.jvue-home.is-work-transitioning .jvue-work-cinema-field > span.active {
    opacity: .82 !important;
    transform: translate3d(0, 0, var(--wc-active-depth, -70px)) rotateX(var(--wc-rx, 58deg)) rotateZ(var(--wc-rz, -8deg)) scale(var(--wc-active-scale, 1.04)) !important;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field > span:nth-child(1)::before,
.jvue-home.is-fx-1 .jvue-work-cinema-field > span:nth-child(2)::before,
.jvue-home.is-fx-2 .jvue-work-cinema-field > span:nth-child(3)::before,
.jvue-home.is-fx-3 .jvue-work-cinema-field > span:nth-child(4)::before,
.jvue-home.is-fx-4 .jvue-work-cinema-field > span:nth-child(5)::before,
.jvue-home.is-fx-5 .jvue-work-cinema-field > span:nth-child(6)::before,
.jvue-home.is-scroll-active .jvue-work-cinema-field > span.active::before,
.jvue-home.is-scene-switching .jvue-work-cinema-field > span.active::before,
.jvue-home.is-work-transitioning .jvue-work-cinema-field > span.active::before {
    opacity: .28 !important;
    filter: blur(.25px) saturate(1.18);
}

.jvue-home.is-fx-0 .jvue-work-cinema-field > span:nth-child(1)::after,
.jvue-home.is-fx-1 .jvue-work-cinema-field > span:nth-child(2)::after,
.jvue-home.is-fx-2 .jvue-work-cinema-field > span:nth-child(3)::after,
.jvue-home.is-fx-3 .jvue-work-cinema-field > span:nth-child(4)::after,
.jvue-home.is-fx-4 .jvue-work-cinema-field > span:nth-child(5)::after,
.jvue-home.is-fx-5 .jvue-work-cinema-field > span:nth-child(6)::after,
.jvue-home.is-scroll-active .jvue-work-cinema-field > span.active::after,
.jvue-home.is-scene-switching .jvue-work-cinema-field > span.active::after,
.jvue-home.is-work-transitioning .jvue-work-cinema-field > span.active::after {
    opacity: .34 !important;
}

.jvue-work-cinema-field > span.is-cinema-current {
    opacity: .82 !important;
    transform: translate3d(0, 0, var(--wc-active-depth, -70px)) rotateX(var(--wc-rx, 58deg)) rotateZ(var(--wc-rz, -8deg)) scale(var(--wc-active-scale, 1.04)) !important;
}

.jvue-work-cinema-field > span.is-cinema-current::before {
    opacity: .28 !important;
    filter: blur(.25px) saturate(1.18);
}

.jvue-work-cinema-field > span.is-cinema-current::after {
    opacity: .34 !important;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field {
    opacity: .62;
}

.jvue-home.is-fx-0 .jvue-work-cinema-field > span:nth-child(1)::before,
.jvue-home.is-fx-0 .jvue-work-cinema-field > span.is-cinema-current::before {
    opacity: .18 !important;
}

.jvue-scroll-director-field {
    position: absolute;
    inset: -12%;
    z-index: 5;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--scroll-director-visual-opacity);
    perspective: 1500px;
    contain: paint;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--scroll-director-x) + var(--cursor-parallax-x) + var(--cursor-director-x)), calc(var(--scroll-director-y) + var(--cursor-parallax-y) + var(--cursor-director-y)), 0)
        rotate(calc(var(--scroll-director-angle) + var(--cursor-director-tilt)))
        scale(var(--scroll-director-scale))
        scale(var(--cursor-director-scale));
    transform-origin: 50% 50%;
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .9) 42%, rgba(0, 0, 0, .42) 74%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
    transition: transform .14s linear;
    will-change: transform, opacity;
}

.jvue-scroll-director-field::before,
.jvue-scroll-director-field::after {
    content: "";
    position: absolute;
    inset: 7% -4%;
    z-index: 0;
    pointer-events: none;
    opacity: calc(.16 + var(--cursor-director-opacity));
    mix-blend-mode: screen;
    transform:
        translate3d(var(--cursor-director-x), var(--cursor-director-y), 0)
        rotate(calc(-7deg + var(--cursor-director-tilt)));
    will-change: background-position, transform, opacity;
}

.jvue-scroll-director-field::before {
    background:
        linear-gradient(90deg, transparent 0 18%, rgba(105, 199, 240, .13) 31%, rgba(247, 249, 255, .18) 48%, rgba(201, 154, 85, .08) 58%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 58px, rgba(105, 199, 240, .09) 60px, transparent 62px),
        repeating-linear-gradient(0deg, transparent 0, transparent 34px, rgba(247, 249, 255, .045) 35px, transparent 36px);
    background-size: 260% 100%, 180px 100%, 100% 110px;
    background-position:
        calc(var(--scroll-director-scan) + var(--cursor-director-scan) - 90px) 0,
        calc(var(--active-slice-scan) + var(--cursor-director-scan)) 0,
        0 calc(var(--scroll-director-scan-reverse) - var(--cursor-director-scan));
    mask-image: linear-gradient(90deg, transparent 0, #000 18%, #000 82%, transparent 100%);
    animation: jvueDirectorMatrixFlow 8.8s linear infinite;
}

.jvue-scroll-director-field::after {
    inset: 18% 4%;
    opacity: calc(.08 + var(--cursor-director-opacity));
    background:
        radial-gradient(ellipse at 50% 50%, rgba(247, 249, 255, .16), rgba(105, 199, 240, .07) 22%, transparent 58%),
        linear-gradient(118deg, transparent 0 26%, rgba(247, 249, 255, .14) 47%, rgba(201, 154, 85, .08) 54%, transparent 72%);
    background-size: 72% 100%, 240% 100%;
    background-position:
        calc(50% + var(--cursor-director-x)) calc(50% + var(--cursor-director-y)),
        calc(var(--scroll-director-scan) + var(--cursor-director-scan) - 42vw) 0;
    filter: blur(.2px);
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .72) 48%, transparent 82%);
    animation: jvueDirectorWakePulse 6.6s ease-in-out infinite;
}

.jvue-scroll-director-field span {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    transform-style: preserve-3d;
    transform:
        translate3d(0, 0, calc(-180px + var(--scroll-director-depth-z)))
        rotateX(var(--sd-rx, 58deg))
        rotateZ(var(--sd-rz, -8deg))
        scale(var(--sd-scale, .94));
    transition: opacity .34s ease, transform .32s ease, filter .28s ease;
    will-change: transform, opacity, filter;
}

.jvue-home.is-fx-0 .jvue-scroll-director-field span:nth-child(1),
.jvue-home.is-fx-1 .jvue-scroll-director-field span:nth-child(2),
.jvue-home.is-fx-2 .jvue-scroll-director-field span:nth-child(3),
.jvue-home.is-fx-3 .jvue-scroll-director-field span:nth-child(4),
.jvue-home.is-fx-4 .jvue-scroll-director-field span:nth-child(5),
.jvue-home.is-fx-5 .jvue-scroll-director-field span:nth-child(6),
.jvue-scroll-director-field span.active,
.jvue-scroll-director-field span.is-director-current {
    opacity: 1;
    filter: saturate(1.18) contrast(1.16) brightness(1.04);
    transform:
        translate3d(0, 0, calc(-80px + var(--scroll-director-depth-z)))
        rotateX(var(--sd-rx, 58deg))
        rotateZ(var(--sd-rz, -8deg))
        scale(var(--sd-scale-active, 1));
}

.jvue-scroll-director-field strong,
.jvue-scroll-director-field i,
.jvue-scroll-director-field b,
.jvue-scroll-director-field em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, background-position;
}

.jvue-scroll-director-field strong {
    left: 50%;
    top: 50%;
    width: max-content;
    max-width: 72vw;
    opacity: var(--sd-title-o, .08);
    color: rgba(247, 249, 255, .12);
    font-size: clamp(88px, 12vw, 220px);
    font-weight: 950;
    line-height: .82;
    letter-spacing: 0;
    text-transform: uppercase;
    -webkit-text-stroke: 1px rgba(105, 199, 240, .12);
    text-shadow:
        0 0 34px rgba(105, 199, 240, .08),
        0 0 76px rgba(201, 154, 85, .06);
    transform:
        translate3d(-50%, -50%, var(--sd-title-z, -120px))
        rotateZ(calc(0deg - var(--scroll-director-angle)));
}

.jvue-scroll-director-field i {
    left: 50%;
    top: var(--sd-line-y, 50%);
    width: var(--sd-line-w, 74vw);
    height: var(--sd-line-h, 1px);
    opacity: var(--sd-line-o, .24);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .22) 42%, rgba(105, 199, 240, .24) 52%, rgba(201, 154, 85, .1) 60%, transparent 86%),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(247, 249, 255, .13) 29px, transparent 31px);
    background-size: 220% 100%, 160px 100%;
    background-position: calc(var(--scroll-director-scan) + var(--cursor-director-scan)) 0, calc(var(--active-slice-scan) + var(--cursor-director-scan)) 0;
    box-shadow:
        0 0 16px rgba(105, 199, 240, .12),
        0 0 32px rgba(201, 154, 85, .06);
    transform:
        translate3d(-50%, -50%, var(--sd-line-z, -40px))
        rotate(var(--sd-line-r, 0deg))
        translate3d(var(--sd-line-dx, 0px), 0, 0)
        scaleX(var(--sd-line-scale, 1));
    animation: jvueScrollDirectorLine var(--sd-line-speed, var(--scroll-director-speed)) linear infinite;
}

.jvue-scroll-director-field b {
    left: var(--sd-node-x, 50%);
    top: var(--sd-node-y, 50%);
    width: var(--sd-node-size, 7px);
    aspect-ratio: 1;
    opacity: var(--sd-node-o, .44);
    border-radius: 50%;
    border: 1px solid rgba(247, 249, 255, .28);
    background:
        radial-gradient(circle, rgba(247, 249, 255, .92) 0 16%, rgba(105, 199, 240, .5) 36%, transparent 74%);
    box-shadow:
        0 0 18px rgba(247, 249, 255, .18),
        0 0 42px rgba(105, 199, 240, .22);
    transform:
        translate3d(-50%, -50%, var(--sd-node-z, -20px))
        translate3d(var(--sd-node-dx, 0px), var(--sd-node-dy, 0px), 0)
        scale(var(--sd-node-scale, 1));
    animation: jvueScrollDirectorNode var(--sd-node-speed, 5.8s) ease-in-out infinite;
}

.jvue-scroll-director-field em {
    left: var(--sd-plane-x, 50%);
    top: var(--sd-plane-y, 50%);
    width: var(--sd-plane-w, clamp(180px, 22vw, 420px));
    height: var(--sd-plane-h, clamp(70px, 8vw, 150px));
    opacity: var(--sd-plane-o, .13);
    border: 1px solid rgba(247, 249, 255, .12);
    border-radius: var(--sd-plane-radius, 8px);
    background:
        linear-gradient(135deg, rgba(105, 199, 240, .12), rgba(247, 249, 255, .035) 44%, rgba(201, 154, 85, .08)),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .055) 23px, transparent 25px);
    background-position: calc(var(--scroll-director-scan-reverse) - var(--cursor-director-scan)) 0, calc(var(--scroll-director-scan) + var(--cursor-director-scan)) 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .09),
        0 18px 46px rgba(0, 0, 0, .18),
        0 0 36px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--sd-plane-z, -80px))
        rotateX(var(--sd-plane-rx, 0deg))
        rotateZ(var(--sd-plane-rz, 0deg))
        scale(var(--sd-plane-scale, 1));
    animation: jvueScrollDirectorPlane var(--sd-plane-speed, 7.4s) ease-in-out infinite;
}

.jvue-scroll-director-field span:nth-child(1) {
    --sd-rx: 66deg;
    --sd-rz: -8deg;
    --sd-title-o: .07;
    --sd-title-z: -190px;
}

.jvue-scroll-director-field span:nth-child(1) i:nth-of-type(1) { --sd-line-y: 48%; --sd-line-r: -12deg; --sd-line-w: 82vw; --sd-line-o: .24; }
.jvue-scroll-director-field span:nth-child(1) i:nth-of-type(2) { --sd-line-y: 50%; --sd-line-r: 12deg; --sd-line-w: 64vw; --sd-line-o: .18; --sd-line-speed: 8.4s; }
.jvue-scroll-director-field span:nth-child(1) i:nth-of-type(3) { --sd-line-y: 52%; --sd-line-r: 90deg; --sd-line-w: 38vw; --sd-line-o: .14; --sd-line-speed: 10s; }
.jvue-scroll-director-field span:nth-child(1) i:nth-of-type(4) { --sd-line-y: 50%; --sd-line-r: 0deg; --sd-line-w: 34vw; --sd-line-o: .16; --sd-line-speed: 6.8s; }
.jvue-scroll-director-field span:nth-child(1) em { --sd-plane-radius: 999px; --sd-plane-o: .1; }
.jvue-scroll-director-field span:nth-child(1) em:nth-of-type(1) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(260px, 34vw, 620px); --sd-plane-h: clamp(260px, 34vw, 620px); --sd-plane-rz: -12deg; }
.jvue-scroll-director-field span:nth-child(1) em:nth-of-type(2) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(190px, 25vw, 470px); --sd-plane-h: clamp(190px, 25vw, 470px); --sd-plane-rz: 16deg; --sd-plane-scale: .78; --sd-plane-speed: 9s; }
.jvue-scroll-director-field span:nth-child(1) em:nth-of-type(3) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(120px, 16vw, 320px); --sd-plane-h: clamp(120px, 16vw, 320px); --sd-plane-rz: 78deg; --sd-plane-scale: .7; --sd-plane-speed: 6.6s; }

.jvue-scroll-director-field span:nth-child(2) {
    --sd-rx: 58deg;
    --sd-rz: 0deg;
    --sd-scale-active: 1.04;
}

.jvue-scroll-director-field span:nth-child(2) i { --sd-line-r: 0deg; --sd-line-w: 92vw; --sd-line-o: .3; }
.jvue-scroll-director-field span:nth-child(2) i:nth-of-type(1) { --sd-line-y: 31%; }
.jvue-scroll-director-field span:nth-child(2) i:nth-of-type(2) { --sd-line-y: 43%; --sd-line-h: 2px; --sd-line-speed: 5.8s; }
.jvue-scroll-director-field span:nth-child(2) i:nth-of-type(3) { --sd-line-y: 57%; --sd-line-speed: 7.2s; }
.jvue-scroll-director-field span:nth-child(2) i:nth-of-type(4) { --sd-line-y: 70%; --sd-line-o: .18; --sd-line-speed: 8.6s; }
.jvue-scroll-director-field span:nth-child(2) em:nth-of-type(1) { --sd-plane-x: 25%; --sd-plane-y: 40%; --sd-plane-rz: 0deg; --sd-plane-o: .16; }
.jvue-scroll-director-field span:nth-child(2) em:nth-of-type(2) { --sd-plane-x: 50%; --sd-plane-y: 54%; --sd-plane-w: clamp(260px, 30vw, 540px); --sd-plane-o: .18; --sd-plane-speed: 6.2s; }
.jvue-scroll-director-field span:nth-child(2) em:nth-of-type(3) { --sd-plane-x: 76%; --sd-plane-y: 46%; --sd-plane-o: .12; --sd-plane-speed: 8.2s; }

.jvue-scroll-director-field span:nth-child(3) {
    --sd-rx: 54deg;
    --sd-rz: 7deg;
}

.jvue-scroll-director-field span:nth-child(3) em { --sd-plane-radius: 6px; --sd-plane-o: .16; }
.jvue-scroll-director-field span:nth-child(3) em:nth-of-type(1) { --sd-plane-x: 30%; --sd-plane-y: 36%; --sd-plane-w: clamp(170px, 18vw, 340px); --sd-plane-h: clamp(110px, 13vw, 240px); --sd-plane-rz: -8deg; }
.jvue-scroll-director-field span:nth-child(3) em:nth-of-type(2) { --sd-plane-x: 55%; --sd-plane-y: 50%; --sd-plane-w: clamp(220px, 24vw, 460px); --sd-plane-h: clamp(130px, 16vw, 280px); --sd-plane-o: .22; --sd-plane-rz: 2deg; }
.jvue-scroll-director-field span:nth-child(3) em:nth-of-type(3) { --sd-plane-x: 75%; --sd-plane-y: 66%; --sd-plane-w: clamp(160px, 18vw, 330px); --sd-plane-h: clamp(100px, 12vw, 220px); --sd-plane-rz: 9deg; }
.jvue-scroll-director-field span:nth-child(3) i { --sd-line-r: 8deg; --sd-line-o: .16; }

.jvue-scroll-director-field span:nth-child(4) {
    --sd-rx: 50deg;
    --sd-rz: -15deg;
    --sd-title-o: .06;
}

.jvue-scroll-director-field span:nth-child(4) i { --sd-line-r: -15deg; --sd-line-w: 98vw; --sd-line-o: .28; }
.jvue-scroll-director-field span:nth-child(4) i:nth-of-type(1) { --sd-line-y: 34%; --sd-line-speed: 4.4s; }
.jvue-scroll-director-field span:nth-child(4) i:nth-of-type(2) { --sd-line-y: 46%; --sd-line-h: 2px; --sd-line-speed: 3.8s; }
.jvue-scroll-director-field span:nth-child(4) i:nth-of-type(3) { --sd-line-y: 58%; --sd-line-speed: 5.2s; }
.jvue-scroll-director-field span:nth-child(4) i:nth-of-type(4) { --sd-line-y: 70%; --sd-line-o: .14; --sd-line-speed: 6.6s; }
.jvue-scroll-director-field span:nth-child(4) em { --sd-plane-rz: -15deg; --sd-plane-o: .12; --sd-plane-h: clamp(46px, 6vw, 100px); }
.jvue-scroll-director-field span:nth-child(4) em:nth-of-type(1) { --sd-plane-x: 28%; --sd-plane-y: 58%; --sd-plane-w: clamp(260px, 34vw, 620px); }
.jvue-scroll-director-field span:nth-child(4) em:nth-of-type(2) { --sd-plane-x: 54%; --sd-plane-y: 48%; --sd-plane-w: clamp(340px, 42vw, 760px); --sd-plane-o: .18; }
.jvue-scroll-director-field span:nth-child(4) em:nth-of-type(3) { --sd-plane-x: 78%; --sd-plane-y: 37%; --sd-plane-w: clamp(220px, 26vw, 520px); }

.jvue-scroll-director-field span:nth-child(5) {
    --sd-rx: 52deg;
    --sd-rz: 10deg;
}

.jvue-scroll-director-field span:nth-child(5) i { --sd-line-r: 10deg; --sd-line-w: 62vw; --sd-line-o: .18; }
.jvue-scroll-director-field span:nth-child(5) em { --sd-plane-w: clamp(150px, 16vw, 290px); --sd-plane-h: clamp(70px, 7vw, 120px); --sd-plane-o: .12; }
.jvue-scroll-director-field span:nth-child(5) em:nth-of-type(1) { --sd-plane-x: 32%; --sd-plane-y: 34%; --sd-plane-rz: -4deg; }
.jvue-scroll-director-field span:nth-child(5) em:nth-of-type(2) { --sd-plane-x: 58%; --sd-plane-y: 52%; --sd-plane-rz: 8deg; --sd-plane-o: .18; }
.jvue-scroll-director-field span:nth-child(5) em:nth-of-type(3) { --sd-plane-x: 76%; --sd-plane-y: 70%; --sd-plane-rz: 14deg; }

.jvue-scroll-director-field span:nth-child(6) {
    --sd-rx: 62deg;
    --sd-rz: 0deg;
    --sd-title-o: .09;
}

.jvue-scroll-director-field span:nth-child(6) i { --sd-line-r: 12deg; --sd-line-w: 84vw; --sd-line-o: .24; }
.jvue-scroll-director-field span:nth-child(6) i:nth-of-type(2) { --sd-line-r: -12deg; --sd-line-speed: 7.8s; }
.jvue-scroll-director-field span:nth-child(6) i:nth-of-type(3) { --sd-line-r: 90deg; --sd-line-w: 34vw; --sd-line-o: .14; }
.jvue-scroll-director-field span:nth-child(6) em { --sd-plane-radius: 999px; --sd-plane-o: .1; }
.jvue-scroll-director-field span:nth-child(6) em:nth-of-type(1) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(320px, 40vw, 760px); --sd-plane-h: clamp(120px, 15vw, 260px); --sd-plane-rz: 12deg; }
.jvue-scroll-director-field span:nth-child(6) em:nth-of-type(2) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(220px, 28vw, 520px); --sd-plane-h: clamp(220px, 28vw, 520px); --sd-plane-rz: -18deg; --sd-plane-scale: .78; }
.jvue-scroll-director-field span:nth-child(6) em:nth-of-type(3) { --sd-plane-x: 50%; --sd-plane-y: 50%; --sd-plane-w: clamp(140px, 18vw, 340px); --sd-plane-h: clamp(140px, 18vw, 340px); --sd-plane-rz: 58deg; --sd-plane-scale: .62; }

.jvue-scroll-director-field b:nth-of-type(1) { --sd-node-x: 34%; --sd-node-y: 40%; --sd-node-delay: -.2s; }
.jvue-scroll-director-field b:nth-of-type(2) { --sd-node-x: 46%; --sd-node-y: 56%; --sd-node-size: 5px; --sd-node-delay: -.9s; }
.jvue-scroll-director-field b:nth-of-type(3) { --sd-node-x: 57%; --sd-node-y: 42%; --sd-node-size: 8px; --sd-node-delay: -1.6s; }
.jvue-scroll-director-field b:nth-of-type(4) { --sd-node-x: 66%; --sd-node-y: 58%; --sd-node-size: 4px; --sd-node-delay: -2.3s; }
.jvue-scroll-director-field b:nth-of-type(5) { --sd-node-x: 78%; --sd-node-y: 47%; --sd-node-size: 6px; --sd-node-delay: -3s; }
.jvue-scroll-director-field b:nth-of-type(6) { --sd-node-x: 24%; --sd-node-y: 65%; --sd-node-size: 4px; --sd-node-delay: -3.7s; }

.jvue-home.is-scroll-active .jvue-scroll-director-field,
.jvue-home.is-scene-switching .jvue-scroll-director-field,
.jvue-home.is-work-transitioning .jvue-scroll-director-field {
    opacity: min(.96, calc(var(--scroll-director-visual-opacity) + var(--active-slice-opacity))) !important;
    filter: saturate(1.28) contrast(1.24) brightness(1.06) blur(var(--active-slice-blur));
}

.jvue-home.is-scroll-active .jvue-scroll-director-field span.active,
.jvue-home.is-scene-switching .jvue-scroll-director-field span.active,
.jvue-home.is-work-transitioning .jvue-scroll-director-field span.active {
    transform:
        translate3d(calc(var(--active-slice-x) + var(--cursor-director-x)), calc(var(--active-slice-y) + var(--cursor-director-y)), calc(-60px + var(--scroll-director-depth-z)))
        rotateX(var(--sd-rx, 58deg))
        rotateZ(calc(var(--sd-rz, -8deg) + var(--active-slice-angle) + var(--cursor-director-tilt)))
        scale(var(--active-slice-scale))
        scale(var(--cursor-director-scale));
}

.jvue-home.is-scroll-active .jvue-scroll-director-field i,
.jvue-home.is-scene-switching .jvue-scroll-director-field i,
.jvue-home.is-work-transitioning .jvue-scroll-director-field i {
    opacity: min(.52, calc(var(--sd-line-o, .24) + var(--active-slice-band-opacity))) !important;
    background-position: calc(var(--active-slice-scan) + var(--cursor-director-scan)) 0, calc(var(--scroll-director-scan) + var(--cursor-director-scan)) 0;
}

.jvue-home.is-scroll-active .jvue-scroll-director-field b,
.jvue-home.is-scene-switching .jvue-scroll-director-field b,
.jvue-home.is-work-transitioning .jvue-scroll-director-field b {
    opacity: min(.76, calc(var(--sd-node-o, .44) + var(--active-slice-depth))) !important;
}

.jvue-home.is-cursor-visible .jvue-scroll-director-field {
    opacity: var(--scroll-director-visual-opacity) !important;
}

.jvue-home.is-cursor-visible .jvue-scroll-director-field span.is-director-current em,
.jvue-home.is-cursor-visible .jvue-scroll-director-field span.active em {
    opacity: min(.36, calc(var(--sd-plane-o, .13) + var(--cursor-director-opacity))) !important;
}

.jvue-home.is-cursor-visible .jvue-scroll-director-field span.is-director-current b,
.jvue-home.is-cursor-visible .jvue-scroll-director-field span.active b {
    opacity: min(.84, calc(var(--sd-node-o, .44) + var(--cursor-director-opacity))) !important;
}

@keyframes jvueDirectorMatrixFlow {
    0% {
        background-position:
            calc(var(--scroll-director-scan) + var(--cursor-director-scan) - 90px) 0,
            calc(var(--active-slice-scan) + var(--cursor-director-scan)) 0,
            0 calc(var(--scroll-director-scan-reverse) - var(--cursor-director-scan));
        opacity: calc(.12 + var(--cursor-director-opacity));
    }
    50% {
        background-position:
            calc(var(--scroll-director-scan) + var(--cursor-director-scan) + 120px) 0,
            calc(var(--active-slice-scan) + var(--cursor-director-scan) + 72px) 0,
            0 calc(var(--scroll-director-scan-reverse) - var(--cursor-director-scan) - 90px);
        opacity: calc(.2 + var(--cursor-director-opacity));
    }
    100% {
        background-position:
            calc(var(--scroll-director-scan) + var(--cursor-director-scan) + 260px) 0,
            calc(var(--active-slice-scan) + var(--cursor-director-scan) + 148px) 0,
            0 calc(var(--scroll-director-scan-reverse) - var(--cursor-director-scan) - 180px);
        opacity: calc(.14 + var(--cursor-director-opacity));
    }
}

@keyframes jvueDirectorWakePulse {
    0%, 100% {
        transform:
            translate3d(var(--cursor-director-x), var(--cursor-director-y), 0)
            rotate(calc(-7deg + var(--cursor-director-tilt)))
            scale(.98);
        filter: blur(.2px) saturate(1);
    }
    50% {
        transform:
            translate3d(var(--cursor-director-x), var(--cursor-director-y), 0)
            rotate(calc(-5deg + var(--cursor-director-tilt)))
            scale(1.04);
        filter: blur(.35px) saturate(1.22);
    }
}

@keyframes jvueScrollDirectorLine {
    0% {
        transform:
            translate3d(-50%, -50%, var(--sd-line-z, -40px))
            rotate(var(--sd-line-r, 0deg))
            translate3d(calc(var(--scroll-director-scan) - 9vw), 0, 0)
            scaleX(var(--sd-line-scale, 1));
    }
    100% {
        transform:
            translate3d(-50%, -50%, var(--sd-line-z, -40px))
            rotate(var(--sd-line-r, 0deg))
            translate3d(calc(var(--scroll-director-scan) + 9vw), 0, 0)
            scaleX(var(--sd-line-scale, 1));
    }
}

@keyframes jvueScrollDirectorNode {
    0%, 100% {
        transform:
            translate3d(-50%, -50%, var(--sd-node-z, -20px))
            translate3d(calc(var(--sd-node-dx, 0px) - 4px), var(--sd-node-dy, 0px), 0)
            scale(var(--sd-node-scale, 1));
    }
    50% {
        transform:
            translate3d(-50%, -50%, var(--sd-node-z, -20px))
            translate3d(calc(var(--sd-node-dx, 0px) + 8px), calc(var(--sd-node-dy, 0px) - 5px), 0)
            scale(calc(var(--sd-node-scale, 1) + .18));
    }
}

@keyframes jvueScrollDirectorPlane {
    0%, 100% {
        background-position: var(--scroll-director-scan-reverse) 0, var(--scroll-director-scan) 0;
        transform:
            translate3d(-50%, -50%, var(--sd-plane-z, -80px))
            rotateX(var(--sd-plane-rx, 0deg))
            rotateZ(var(--sd-plane-rz, 0deg))
            scale(var(--sd-plane-scale, 1));
    }
    50% {
        background-position: var(--scroll-director-scan) 0, var(--scroll-director-scan-reverse) 0;
        transform:
            translate3d(-50%, -50%, var(--sd-plane-z, -80px))
            rotateX(var(--sd-plane-rx, 0deg))
            rotateZ(calc(var(--sd-plane-rz, 0deg) + 1.5deg))
            scale(calc(var(--sd-plane-scale, 1) + .025));
    }
}

@keyframes jvueWorkCinemaLine {
    0% { transform: translate3d(-50%, -50%, var(--wc-line-z, -40px)) rotate(var(--wc-line-r, 0deg)) translate3d(calc(var(--cinema-scan) - 5vw), 0, 0) scaleX(var(--wc-line-scale, 1)); }
    100% { transform: translate3d(-50%, -50%, var(--wc-line-z, -40px)) rotate(var(--wc-line-r, 0deg)) translate3d(calc(var(--cinema-scan) + 5vw), 0, 0) scaleX(var(--wc-line-scale, 1)); }
}

@keyframes jvueWorkCinemaWipe {
    0%, 100% {
        background-position:
            calc(var(--cinema-scan) + var(--cinema-ambient-scan)) 0,
            calc(var(--cinema-scan) - 90px) 0,
            0 0;
        opacity: var(--cinema-wipe-opacity);
    }

    45% {
        background-position:
            calc(var(--cinema-scan) + var(--cinema-ambient-scan) + 180px) 0,
            calc(var(--cinema-scan) + 120px) 0,
            0 0;
        opacity: calc(var(--cinema-wipe-opacity) + .08);
    }
}

@keyframes jvueWorkCinemaFocus {
    0%, 100% {
        background-position:
            0 0,
            0 0,
            var(--cinema-scan) 0,
            0 var(--cinema-ambient-scan);
        filter: saturate(1);
    }

    50% {
        background-position:
            0 0,
            0 0,
            calc(var(--cinema-scan) + 220px) 0,
            0 calc(var(--cinema-ambient-scan) - 140px);
        filter: saturate(1.22);
    }
}

@keyframes jvueWorkCinemaNode {
    0%, 100% { opacity: .22; }
    50% { opacity: var(--wc-node-o, .54); }
}

@keyframes jvueWorkCinemaPlane {
    0%, 100% { opacity: .12; }
    50% { opacity: var(--wc-plane-o, .32); }
}

@keyframes jvueWorkCinemaCore {
    0%, 100% { opacity: calc(.14 + var(--cinema-depth)); }
    50% { opacity: calc(.22 + var(--cinema-depth)); }
}

@keyframes jvueWorkPosterScan {
    0% {
        background-position:
            0 0,
            var(--cinema-scan) 0,
            var(--cinema-ambient-scan) 0;
    }

    100% {
        background-position:
            0 0,
            calc(var(--cinema-scan) + 120px) 0,
            calc(var(--cinema-ambient-scan) - 90px) 0;
    }
}

@keyframes jvueSceneMagnetOrbit {
    0%, 100% {
        filter: brightness(.96) saturate(1);
        transform:
            translate3d(-50%, -50%, var(--magnet-z, -180px))
            rotateX(var(--magnet-rx, 60deg))
            rotateY(var(--magnet-ry, 0deg))
            rotateZ(var(--magnet-rz, -8deg))
            skewX(var(--magnet-skew, 0deg))
            scale(var(--magnet-scale, 1));
    }

    50% {
        filter: brightness(1.08) saturate(1.12);
        transform:
            translate3d(-50%, -50%, var(--magnet-z, -180px))
            rotateX(var(--magnet-rx, 60deg))
            rotateY(var(--magnet-ry, 0deg))
            rotateZ(calc(var(--magnet-rz, -8deg) + 5deg))
            skewX(var(--magnet-skew, 0deg))
            scale(1.035);
    }
}

@keyframes jvueSceneMagnetSweep {
    0%, 100% {
        background-position:
            calc(var(--cinema-scan) - 120px) 0,
            var(--ambient-grid-x) 0;
        opacity: var(--magnet-o2, .30);
    }

    48% {
        background-position:
            calc(var(--cinema-scan) + 180px) 0,
            calc(var(--ambient-grid-x) + 96px) 0;
        opacity: min(.56, calc(var(--magnet-o2, .30) + .16));
    }
}

@keyframes jvueSceneMagnetLine {
    0%, 100% {
        opacity: .14;
        transform:
            translate3d(-50%, -50%, var(--magnet-line-z, 0))
            rotate(var(--magnet-line-r, -10deg))
            translate3d(calc(var(--motion-field-x) - 3vw), var(--motion-field-y), 0)
            scaleX(var(--magnet-line-scale, 1));
    }

    50% {
        opacity: var(--magnet-line-o, .28);
        transform:
            translate3d(-50%, -50%, var(--magnet-line-z, 0))
            rotate(var(--magnet-line-r, -10deg))
            translate3d(calc(var(--motion-field-x) + 4vw), var(--motion-field-y), 0)
            scaleX(1.08);
    }
}

@keyframes jvueSceneMagnetNode {
    0%, 100% {
        opacity: .18;
        transform:
            translate3d(-50%, -50%, var(--magnet-node-z, 0))
            translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0)
            scale(.76);
    }

    50% {
        opacity: var(--magnet-node-o, .42);
        transform:
            translate3d(-50%, -50%, var(--magnet-node-z, 0))
            translate3d(calc(var(--ambient-stage-x) + 14px), calc(var(--ambient-stage-y) - 10px), 0)
            scale(1.18);
    }
}

@keyframes jvueSceneMagnetTile {
    0%, 100% {
        background-position: 0 0, 0 0;
        filter: brightness(.94);
        transform:
            translate3d(-50%, -50%, var(--magnet-tile-z, -20px))
            rotateX(var(--magnet-tile-rx, 56deg))
            rotateZ(var(--magnet-tile-rz, -6deg))
            skewX(var(--magnet-tile-skew, -8deg));
    }

    50% {
        background-position: 24px 0, 42px 0;
        filter: brightness(1.08);
        transform:
            translate3d(-50%, -50%, var(--magnet-tile-z, -20px))
            rotateX(var(--magnet-tile-rx, 56deg))
            rotateZ(calc(var(--magnet-tile-rz, -6deg) + 4deg))
            skewX(var(--magnet-tile-skew, -8deg))
            scale(1.04);
    }
}

@keyframes jvueSceneMagnetVeil {
    0%, 100% {
        opacity: var(--scene-magnet-veil-low, .16);
        background-position:
            calc(var(--scene-magnet-flow-x, 0px) - 180px) calc(var(--scene-magnet-flow-y, 0px) + 48px),
            calc(var(--ambient-grid-x) - 90px) calc(var(--ambient-grid-y) + 24px),
            calc(var(--ambient-parallax-scan) - 120px) 0;
        transform:
            translate3d(calc(var(--scene-magnet-drift-x, 0px) - 2.4vw), calc(var(--scene-magnet-drift-y, 0px) + 1.2vh), 0)
            rotate(calc(var(--scene-magnet-angle, 0deg) - 3deg))
            scale(var(--scene-magnet-scale, 1));
    }

    45% {
        opacity: var(--scene-magnet-veil-high, .32);
        background-position:
            calc(var(--scene-magnet-flow-x, 0px) + 210px) calc(var(--scene-magnet-flow-y, 0px) - 42px),
            calc(var(--ambient-grid-x) + 180px) calc(var(--ambient-grid-y) - 32px),
            calc(var(--ambient-parallax-scan) + 220px) 0;
        transform:
            translate3d(calc(var(--scene-magnet-drift-x, 0px) + 2.8vw), calc(var(--scene-magnet-drift-y, 0px) - .8vh), 0)
            rotate(calc(var(--scene-magnet-angle, 0deg) + 2deg))
            scale(calc(var(--scene-magnet-scale, 1) + .018));
    }
}

@keyframes jvueSceneMagnetCurrent {
    0% {
        opacity: var(--scene-magnet-current-low, .12);
        background-position:
            calc(var(--scene-magnet-flow-x, 0px) - 240px) calc(var(--scene-magnet-flow-y, 0px) + 80px),
            0 0;
        transform: translate3d(calc(var(--scene-magnet-drift-x, 0px) - 1.8vw), calc(var(--scene-magnet-drift-y, 0px) + 1vh), 0) rotate(calc(var(--scene-magnet-angle, 0deg) - 6deg));
    }

    100% {
        opacity: var(--scene-magnet-current-high, .26);
        background-position:
            calc(var(--scene-magnet-flow-x, 0px) + 360px) calc(var(--scene-magnet-flow-y, 0px) - 90px),
            calc(var(--ambient-parallax-scan) + 160px) 0;
        transform: translate3d(calc(var(--scene-magnet-drift-x, 0px) + 2.2vw), calc(var(--scene-magnet-drift-y, 0px) - 1.1vh), 0) rotate(calc(var(--scene-magnet-angle, 0deg) + 5deg));
    }
}

@keyframes jvueSceneMagnetLayer {
    0%, 100% {
        transform: translate3d(calc(var(--scene-magnet-drift-x, 0px) - 10px), calc(var(--scene-magnet-drift-y, 0px) + 6px), 0) scale(.992);
    }

    50% {
        transform: translate3d(calc(var(--scene-magnet-drift-x, 0px) + 14px), calc(var(--scene-magnet-drift-y, 0px) - 8px), 0) scale(1.014);
    }
}

@keyframes jvueStageCutsSweep {
    0% {
        background-position:
            calc(var(--cinema-scan) - 220px) 0,
            calc(var(--ambient-grid-x) - 120px) 0;
        opacity: .16;
    }

    46% {
        background-position:
            calc(var(--cinema-scan) + 80px) 0,
            calc(var(--ambient-grid-x) + 80px) 0;
        opacity: .34;
    }

    100% {
        background-position:
            calc(var(--cinema-scan) + 340px) 0,
            calc(var(--ambient-grid-x) + 240px) 0;
        opacity: .18;
    }
}

@keyframes jvueStageCutsNoise {
    0% {
        background-position:
            var(--ambient-grid-x) var(--ambient-grid-y),
            var(--ambient-sweep-x) var(--ambient-parallax-y),
            var(--cinema-scan) calc(0px - var(--ambient-grid-y));
    }

    100% {
        background-position:
            calc(var(--ambient-grid-x) + 120px) calc(var(--ambient-grid-y) - 90px),
            calc(var(--ambient-sweep-x) + 180px) calc(var(--ambient-parallax-y) + 120px),
            calc(var(--cinema-scan) + 260px) calc(0px - var(--ambient-grid-y) - 90px);
    }
}

@keyframes jvueStageCutsPanel {
    0%, 100% {
        background-position:
            0 0,
            calc(var(--cinema-scan) - 80px) 0,
            var(--ambient-grid-x) 0;
        filter: brightness(.95) saturate(1);
    }

    45% {
        background-position:
            0 0,
            calc(var(--cinema-scan) + 140px) 0,
            calc(var(--ambient-grid-x) + 90px) 0;
        filter: brightness(1.1) saturate(1.1);
    }
}

@keyframes jvueStageCutsLine {
    0%, 100% {
        opacity: .18;
        transform:
            rotate(var(--cut-line-r, -12deg))
            translate3d(calc(var(--cut-line-x, 0px) - 5vw), 0, 0)
            scaleX(var(--cut-line-scale, .82));
    }

    50% {
        opacity: var(--cut-line-o, .26);
        transform:
            rotate(var(--cut-line-r, -12deg))
            translate3d(calc(var(--cut-line-x, 0px) + 5vw), 0, 0)
            scaleX(calc(var(--cut-line-scale, .82) + .08));
    }
}

@keyframes jvueStageCutsNode {
    0%, 100% {
        opacity: .2;
        transform:
            translate3d(-50%, -50%, var(--cut-node-z, 0))
            translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0)
            scale(.78);
    }

    50% {
        opacity: var(--cut-node-o, .34);
        transform:
            translate3d(-50%, -50%, var(--cut-node-z, 0))
            translate3d(calc(var(--ambient-stage-x) + 12px), calc(var(--ambient-stage-y) - 8px), 0)
            scale(1.16);
    }
}

@keyframes jvueLiveStageSweep {
    0% {
        background-position:
            calc(var(--ambient-parallax-scan) - 180px) 0,
            calc(var(--ambient-grid-x) - 80px) 0;
        opacity: .2;
    }

    42% {
        background-position:
            calc(var(--ambient-parallax-scan) + 120px) 0,
            calc(var(--ambient-grid-x) + 120px) 0;
        opacity: .42;
    }

    100% {
        background-position:
            calc(var(--ambient-parallax-scan) + 360px) 0,
            calc(var(--ambient-grid-x) + 260px) 0;
        opacity: .22;
    }
}

@keyframes jvueLiveStageDust {
    0% {
        background-position:
            var(--ambient-grid-x) var(--ambient-grid-y),
            calc(0px - var(--ambient-grid-half-x)) var(--ambient-parallax-y),
            var(--ambient-sweep-x) calc(0px - var(--ambient-grid-y));
        transform: translate3d(var(--ambient-shift-x), var(--ambient-shift-y), 0) rotate(calc(0deg - var(--ambient-angle)));
    }

    50% {
        background-position:
            calc(var(--ambient-grid-x) + 76px) calc(var(--ambient-grid-y) - 48px),
            calc(var(--ambient-grid-half-x) - 90px) calc(var(--ambient-parallax-y) + 84px),
            calc(var(--ambient-sweep-x) + 130px) calc(var(--ambient-grid-y) - 72px);
        transform: translate3d(var(--ambient-stage-x), calc(0px - var(--ambient-shift-y)), 0) rotate(var(--ambient-angle));
    }

    100% {
        background-position:
            calc(var(--ambient-grid-x) + 148px) calc(var(--ambient-grid-y) - 94px),
            calc(var(--ambient-grid-half-x) - 164px) calc(var(--ambient-parallax-y) + 150px),
            calc(var(--ambient-sweep-x) + 240px) calc(var(--ambient-grid-y) - 130px);
        transform: translate3d(calc(0px - var(--ambient-shift-x)), var(--ambient-stage-y), 0) rotate(var(--ambient-angle));
    }
}

.jvue-energy-field {
    position: absolute;
    inset: -18%;
    z-index: 5;
    display: block;
    overflow: hidden;
    pointer-events: none;
    opacity: var(--energy-field-opacity);
    mix-blend-mode: screen;
    perspective: 1800px;
    transform:
        translate3d(calc(var(--energy-field-x) + var(--energy-field-ambient-x) + var(--cursor-parallax-x)), calc(var(--energy-field-y) + var(--energy-field-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--energy-field-tilt))
        rotate(var(--energy-field-ambient-tilt))
        scale(var(--energy-field-scale))
        scale(var(--energy-field-ambient-scale));
    transform-origin: 50% 52%;
    filter: saturate(1.14) contrast(1.16) brightness(1.04) drop-shadow(0 0 34px rgba(105, 199, 240, .1));
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .9) 44%, rgba(0, 0, 0, .48) 74%, transparent 96%),
        linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
    transition: opacity .28s linear, filter .28s linear;
    will-change: transform, opacity, filter;
}

.jvue-energy-field::before,
.jvue-energy-field::after,
.jvue-energy-field i,
.jvue-energy-field b,
.jvue-energy-field em,
.jvue-energy-field strong {
    position: absolute;
    display: block;
    pointer-events: none;
    transition:
        left .72s var(--jv-ease),
        top .72s var(--jv-ease),
        width .72s var(--jv-ease),
        height .72s var(--jv-ease),
        opacity .32s linear,
        filter .32s linear;
}

.jvue-energy-field::before,
.jvue-energy-field::after {
    content: "";
}

.jvue-energy-field::before {
    left: 50%;
    top: 50%;
    width: clamp(420px, 62vw, 1060px);
    aspect-ratio: 1;
    opacity: var(--energy-core-opacity);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, transparent 0 32%, rgba(247, 249, 255, .2) 33%, transparent 35% 46%, rgba(105, 199, 240, .15) 47%, transparent 50% 100%),
        repeating-conic-gradient(from calc(var(--ambient-core-angle) + var(--energy-axis-angle)), transparent 0 10deg, rgba(105, 199, 240, .14) 11deg 12deg, transparent 13deg 28deg),
        conic-gradient(from var(--ambient-orbit-angle), transparent 0 16%, rgba(247, 249, 255, .28) 18%, rgba(201, 154, 85, .16) 24%, transparent 32% 56%, rgba(105, 199, 240, .18) 63%, transparent 72% 100%);
    box-shadow:
        inset 0 0 80px rgba(105, 199, 240, .08),
        0 0 80px rgba(105, 199, 240, .09),
        0 0 120px rgba(201, 154, 85, .06);
    transform:
        translate3d(-50%, -50%, -220px)
        rotateX(62deg)
        rotateZ(calc(var(--energy-axis-angle) + var(--ambient-angle)));
    animation: jvueEnergyCore var(--energy-field-speed) linear infinite;
}

.jvue-energy-field::after {
    left: 50%;
    top: 50%;
    width: 126vw;
    height: 24vh;
    opacity: calc(var(--energy-line-opacity) + .04);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .08) 18%, rgba(247, 249, 255, .42) 48%, rgba(201, 154, 85, .18) 56%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .14) 35px, transparent 38px);
    background-size: 260% 100%, 180px 100%;
    background-position: calc(var(--energy-field-scan) + var(--energy-field-ambient-scan)) 0, 0 0;
    filter: blur(.35px);
    transform:
        translate3d(-50%, -50%, -120px)
        rotateX(58deg)
        rotateZ(calc(var(--energy-axis-angle) - 7deg))
        skewX(-10deg);
    animation: jvueEnergySweep var(--energy-field-speed) ease-in-out infinite;
}

.jvue-energy-field i {
    left: var(--ef-line-x, 50%);
    top: var(--ef-line-y, 50%);
    width: var(--ef-line-w, 72vw);
    height: var(--ef-line-h, 1px);
    opacity: var(--ef-line-o, var(--energy-line-opacity));
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .46) 18%, rgba(247, 249, 255, .74) 49%, rgba(201, 154, 85, .28) 64%, transparent 100%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .25) 20px, transparent 25px);
    background-position: calc(var(--energy-field-scan) + var(--energy-field-ambient-scan)) 0, 0 0;
    box-shadow:
        0 0 18px rgba(105, 199, 240, .16),
        0 0 42px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--ef-line-z, -180px))
        rotateX(var(--ef-line-rx, 61deg))
        rotateZ(var(--ef-line-r, -10deg))
        scaleX(var(--ef-line-scale, .74));
    animation: jvueEnergyRail var(--ef-line-speed, var(--energy-field-speed)) ease-in-out infinite;
    animation-delay: var(--ef-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-energy-field b {
    left: var(--ef-node-x, 50%);
    top: var(--ef-node-y, 50%);
    width: var(--ef-node-size, 7px);
    aspect-ratio: 1;
    opacity: var(--ef-node-o, var(--energy-node-opacity));
    border: 1px solid rgba(224, 237, 255, .32);
    border-radius: var(--ef-node-radius, 2px);
    background:
        radial-gradient(circle at 50% 50%, rgba(247, 249, 255, .9), rgba(105, 199, 240, .42) 48%, transparent 72%);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .24),
        0 0 42px rgba(105, 199, 240, .1);
    transform:
        translate3d(-50%, -50%, var(--ef-node-z, -170px))
        rotateX(var(--ef-node-rx, 58deg))
        rotateZ(var(--ef-node-r, -8deg))
        scale(var(--ef-node-scale, 1));
    animation: jvueEnergyNode var(--ef-node-speed, 7.6s) ease-in-out infinite;
    animation-delay: var(--ef-delay, 0s);
    will-change: transform, opacity;
}

.jvue-energy-field em {
    left: var(--ef-plane-x, 50%);
    top: var(--ef-plane-y, 50%);
    width: var(--ef-plane-w, clamp(140px, 14vw, 300px));
    height: var(--ef-plane-h, clamp(54px, 6vw, 110px));
    opacity: var(--ef-plane-o, var(--energy-plane-opacity));
    border: 1px solid rgba(224, 237, 255, .16);
    border-radius: var(--ef-plane-radius, 8px);
    background:
        linear-gradient(120deg, rgba(247, 249, 255, .075), rgba(105, 199, 240, .052) 42%, rgba(3, 8, 13, .28) 68%, rgba(201, 154, 85, .055)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 48%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .07) 0, rgba(105, 199, 240, .07) 1px, transparent 1px, transparent 34px);
    background-size: 100% 100%, 240px 100%, 100% 100%;
    background-position: 0 0, calc(var(--energy-field-scan) + var(--energy-field-ambient-scan)) 0, 0 0;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, .12),
        0 18px 50px rgba(0, 0, 0, .28),
        0 0 28px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--ef-plane-z, -260px))
        rotateX(var(--ef-plane-rx, 58deg))
        rotateY(var(--ef-plane-ry, 0deg))
        rotateZ(var(--ef-plane-r, -8deg))
        scale(var(--ef-plane-scale, .9));
    animation: jvueEnergyPanel var(--ef-plane-speed, 10.2s) ease-in-out infinite;
    animation-delay: var(--ef-delay, 0s);
    will-change: transform, opacity, background-position;
}

.jvue-energy-field strong {
    left: 50%;
    top: 50%;
    width: clamp(110px, 11vw, 240px);
    aspect-ratio: 1;
    opacity: calc(var(--energy-core-opacity) + .08);
    border-radius: 50%;
    background:
        radial-gradient(circle at 50% 50%, rgba(247, 249, 255, .24), rgba(105, 199, 240, .13) 26%, transparent 58%),
        repeating-conic-gradient(from var(--ambient-core-angle), transparent 0 11deg, rgba(247, 249, 255, .22) 12deg 13deg, transparent 14deg 28deg);
    box-shadow: 0 0 62px rgba(105, 199, 240, .13);
    transform:
        translate3d(-50%, -50%, -70px)
        rotateX(58deg)
        rotateZ(var(--ambient-core-angle));
    animation: jvueEnergyAnchor 6.8s ease-in-out infinite;
}

.jvue-energy-field i:nth-of-type(1) { --ef-line-x: 18%; --ef-line-y: 34%; --ef-line-r: -17deg; --ef-line-z: -260px; --ef-delay: -.2s; }
.jvue-energy-field i:nth-of-type(2) { --ef-line-x: 42%; --ef-line-y: 30%; --ef-line-r: -6deg; --ef-line-w: 62vw; --ef-line-z: -160px; --ef-delay: -1s; }
.jvue-energy-field i:nth-of-type(3) { --ef-line-x: 68%; --ef-line-y: 40%; --ef-line-r: 9deg; --ef-line-w: 76vw; --ef-line-o: .28; --ef-delay: -1.8s; }
.jvue-energy-field i:nth-of-type(4) { --ef-line-x: 84%; --ef-line-y: 54%; --ef-line-r: 18deg; --ef-line-w: 48vw; --ef-line-z: -300px; --ef-delay: -2.6s; }
.jvue-energy-field i:nth-of-type(5) { --ef-line-x: 24%; --ef-line-y: 63%; --ef-line-r: 12deg; --ef-line-o: .2; --ef-delay: -3.4s; }
.jvue-energy-field i:nth-of-type(6) { --ef-line-x: 52%; --ef-line-y: 72%; --ef-line-r: -11deg; --ef-line-w: 82vw; --ef-line-z: -210px; --ef-delay: -4.2s; }
.jvue-energy-field i:nth-of-type(7) { --ef-line-x: 78%; --ef-line-y: 76%; --ef-line-r: -23deg; --ef-line-w: 42vw; --ef-line-o: .15; --ef-delay: -5s; }
.jvue-energy-field i:nth-of-type(8) { --ef-line-x: 38%; --ef-line-y: 50%; --ef-line-r: 3deg; --ef-line-w: 58vw; --ef-line-o: .18; --ef-line-z: -120px; --ef-delay: -5.8s; }

.jvue-energy-field b:nth-of-type(1) { --ef-node-x: 23%; --ef-node-y: 34%; --ef-delay: -.4s; }
.jvue-energy-field b:nth-of-type(2) { --ef-node-x: 36%; --ef-node-y: 48%; --ef-node-size: 5px; --ef-delay: -1s; }
.jvue-energy-field b:nth-of-type(3) { --ef-node-x: 52%; --ef-node-y: 32%; --ef-node-z: -190px; --ef-node-o: .44; --ef-delay: -1.6s; }
.jvue-energy-field b:nth-of-type(4) { --ef-node-x: 68%; --ef-node-y: 48%; --ef-node-size: 8px; --ef-delay: -2.2s; }
.jvue-energy-field b:nth-of-type(5) { --ef-node-x: 82%; --ef-node-y: 66%; --ef-node-z: -240px; --ef-delay: -2.8s; }
.jvue-energy-field b:nth-of-type(6) { --ef-node-x: 46%; --ef-node-y: 72%; --ef-node-size: 6px; --ef-delay: -3.4s; }
.jvue-energy-field b:nth-of-type(7) { --ef-node-x: 30%; --ef-node-y: 70%; --ef-node-z: -280px; --ef-node-o: .26; --ef-delay: -4s; }
.jvue-energy-field b:nth-of-type(8) { --ef-node-x: 64%; --ef-node-y: 78%; --ef-node-size: 5px; --ef-delay: -4.6s; }
.jvue-energy-field b:nth-of-type(9) { --ef-node-x: 56%; --ef-node-y: 52%; --ef-node-size: 10px; --ef-node-o: .48; --ef-node-z: -80px; --ef-delay: -5.2s; }
.jvue-energy-field b:nth-of-type(10) { --ef-node-x: 74%; --ef-node-y: 28%; --ef-node-size: 4px; --ef-node-o: .28; --ef-delay: -5.8s; }

.jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 28%; --ef-plane-y: 40%; --ef-plane-z: -320px; --ef-plane-r: -16deg; --ef-plane-ry: 12deg; --ef-delay: -.6s; }
.jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 52%; --ef-plane-y: 36%; --ef-plane-z: -150px; --ef-plane-r: 4deg; --ef-plane-o: .18; --ef-plane-scale: 1.02; --ef-delay: -1.8s; }
.jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 72%; --ef-plane-y: 62%; --ef-plane-z: -240px; --ef-plane-r: 13deg; --ef-plane-ry: -12deg; --ef-delay: -3s; }
.jvue-energy-field em:nth-of-type(4) { --ef-plane-x: 40%; --ef-plane-y: 74%; --ef-plane-z: -360px; --ef-plane-r: -7deg; --ef-plane-o: .1; --ef-delay: -4.2s; }

.jvue-home.is-fx-0 .jvue-energy-field {
    --energy-axis-angle: -12deg;
    --energy-core-opacity: .22;
    --energy-line-opacity: .24;
    --energy-node-opacity: .28;
}

.jvue-home.is-fx-0 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 50%; --ef-line-y: 42%; --ef-line-r: -18deg; --ef-line-w: 78vw; --ef-line-scale: .62; }
.jvue-home.is-fx-0 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 50%; --ef-line-y: 50%; --ef-line-r: 18deg; --ef-line-w: 68vw; --ef-line-scale: .58; }
.jvue-home.is-fx-0 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 50%; --ef-line-y: 50%; --ef-line-r: 90deg; --ef-line-w: 34vw; --ef-line-scale: .46; }
.jvue-home.is-fx-0 .jvue-energy-field i:nth-of-type(4) { --ef-line-x: 54%; --ef-line-y: 56%; --ef-line-r: -42deg; --ef-line-w: 38vw; --ef-line-o: .14; }
.jvue-home.is-fx-0 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 43%; --ef-node-y: 43%; --ef-node-size: 6px; }
.jvue-home.is-fx-0 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 57%; --ef-node-y: 57%; --ef-node-size: 8px; }
.jvue-home.is-fx-0 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 62%; --ef-node-y: 42%; --ef-node-size: 4px; }
.jvue-home.is-fx-0 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 40%; --ef-node-y: 58%; --ef-node-size: 4px; }
.jvue-home.is-fx-0 .jvue-energy-field b:nth-of-type(9) { --ef-node-x: 50%; --ef-node-y: 50%; --ef-node-size: 12px; --ef-node-z: -70px; --ef-node-o: .5; }
.jvue-home.is-fx-0 .jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 39%; --ef-plane-y: 47%; --ef-plane-r: -14deg; --ef-plane-w: clamp(130px, 12vw, 240px); --ef-plane-o: .08; }
.jvue-home.is-fx-0 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 50%; --ef-plane-y: 50%; --ef-plane-r: 0deg; --ef-plane-z: -100px; --ef-plane-scale: .78; --ef-plane-o: .12; }
.jvue-home.is-fx-0 .jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 61%; --ef-plane-y: 53%; --ef-plane-r: 14deg; --ef-plane-w: clamp(120px, 11vw, 230px); --ef-plane-o: .08; }

.jvue-home.is-fx-1 .jvue-energy-field {
    --energy-axis-angle: 0deg;
    --energy-core-opacity: .18;
    --energy-line-opacity: .3;
    --energy-node-opacity: .38;
}

.jvue-home.is-fx-1 .jvue-energy-field i { --ef-line-r: 0deg; --ef-line-w: 92vw; --ef-line-scale: 1; }
.jvue-home.is-fx-1 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 20%; --ef-line-y: 38%; --ef-line-z: -280px; }
.jvue-home.is-fx-1 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 45%; --ef-line-y: 48%; --ef-line-z: -160px; --ef-line-o: .34; }
.jvue-home.is-fx-1 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 70%; --ef-line-y: 58%; --ef-line-z: -220px; --ef-line-o: .28; }
.jvue-home.is-fx-1 .jvue-energy-field i:nth-of-type(4) { --ef-line-x: 58%; --ef-line-y: 68%; --ef-line-w: 78vw; --ef-line-o: .2; }
.jvue-home.is-fx-1 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 24%; --ef-node-y: 40%; --ef-node-radius: 2px; }
.jvue-home.is-fx-1 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 38%; --ef-node-y: 48%; --ef-node-radius: 2px; }
.jvue-home.is-fx-1 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 52%; --ef-node-y: 50%; --ef-node-radius: 2px; --ef-node-o: .5; }
.jvue-home.is-fx-1 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 66%; --ef-node-y: 54%; --ef-node-radius: 2px; }
.jvue-home.is-fx-1 .jvue-energy-field b:nth-of-type(5) { --ef-node-x: 82%; --ef-node-y: 60%; --ef-node-radius: 2px; }
.jvue-home.is-fx-1 .jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 28%; --ef-plane-y: 46%; --ef-plane-rx: 66deg; --ef-plane-r: 0deg; --ef-plane-w: clamp(170px, 16vw, 300px); --ef-plane-o: .12; }
.jvue-home.is-fx-1 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 50%; --ef-plane-y: 50%; --ef-plane-rx: 66deg; --ef-plane-r: 0deg; --ef-plane-w: clamp(220px, 22vw, 420px); --ef-plane-o: .18; }
.jvue-home.is-fx-1 .jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 73%; --ef-plane-y: 54%; --ef-plane-rx: 66deg; --ef-plane-r: 0deg; --ef-plane-w: clamp(150px, 14vw, 280px); --ef-plane-o: .1; }

.jvue-home.is-fx-2 .jvue-energy-field {
    --energy-axis-angle: 8deg;
    --energy-core-opacity: .24;
    --energy-line-opacity: .26;
    --energy-plane-opacity: .18;
}

.jvue-home.is-fx-2 .jvue-energy-field i { --ef-line-r: 8deg; --ef-line-o: .16; --ef-line-scale: .64; }
.jvue-home.is-fx-2 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 30%; --ef-line-y: 28%; --ef-line-w: 52vw; }
.jvue-home.is-fx-2 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 50%; --ef-line-y: 48%; --ef-line-w: 76vw; --ef-line-o: .28; }
.jvue-home.is-fx-2 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 70%; --ef-line-y: 68%; --ef-line-w: 56vw; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 28%; --ef-node-y: 34%; --ef-node-size: 5px; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 44%; --ef-node-y: 34%; --ef-node-size: 5px; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 60%; --ef-node-y: 34%; --ef-node-size: 5px; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 32%; --ef-node-y: 58%; --ef-node-size: 6px; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(5) { --ef-node-x: 50%; --ef-node-y: 58%; --ef-node-size: 9px; --ef-node-o: .5; }
.jvue-home.is-fx-2 .jvue-energy-field b:nth-of-type(6) { --ef-node-x: 68%; --ef-node-y: 58%; --ef-node-size: 6px; }
.jvue-home.is-fx-2 .jvue-energy-field em { --ef-plane-r: 8deg; --ef-plane-rx: 56deg; --ef-plane-w: clamp(220px, 24vw, 450px); --ef-plane-h: clamp(82px, 8vw, 142px); }
.jvue-home.is-fx-2 .jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 30%; --ef-plane-y: 36%; --ef-plane-z: -240px; --ef-plane-o: .14; }
.jvue-home.is-fx-2 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 52%; --ef-plane-y: 46%; --ef-plane-z: -100px; --ef-plane-o: .22; --ef-plane-scale: 1.05; }
.jvue-home.is-fx-2 .jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 73%; --ef-plane-y: 66%; --ef-plane-z: -210px; --ef-plane-o: .16; }

.jvue-home.is-fx-3 .jvue-energy-field {
    --energy-axis-angle: -18deg;
    --energy-core-opacity: .28;
    --energy-line-opacity: .34;
    --energy-node-opacity: .42;
}

.jvue-home.is-fx-3 .jvue-energy-field i { --ef-line-r: -18deg; --ef-line-w: 96vw; --ef-line-scale: 1.08; --ef-line-o: .32; }
.jvue-home.is-fx-3 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 18%; --ef-line-y: 72%; --ef-line-z: -250px; }
.jvue-home.is-fx-3 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 42%; --ef-line-y: 58%; --ef-line-z: -140px; --ef-line-o: .38; }
.jvue-home.is-fx-3 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 66%; --ef-line-y: 44%; --ef-line-z: -190px; }
.jvue-home.is-fx-3 .jvue-energy-field i:nth-of-type(4) { --ef-line-x: 84%; --ef-line-y: 32%; --ef-line-w: 70vw; --ef-line-o: .22; }
.jvue-home.is-fx-3 .jvue-energy-field b { --ef-node-r: -18deg; --ef-node-o: .46; --ef-node-speed: 5.2s; }
.jvue-home.is-fx-3 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 24%; --ef-node-y: 68%; }
.jvue-home.is-fx-3 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 38%; --ef-node-y: 60%; }
.jvue-home.is-fx-3 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 52%; --ef-node-y: 52%; --ef-node-o: .58; }
.jvue-home.is-fx-3 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 66%; --ef-node-y: 44%; }
.jvue-home.is-fx-3 .jvue-energy-field b:nth-of-type(5) { --ef-node-x: 80%; --ef-node-y: 36%; }
.jvue-home.is-fx-3 .jvue-energy-field em { --ef-plane-rx: 50deg; --ef-plane-r: -18deg; --ef-plane-h: clamp(54px, 6vw, 104px); }
.jvue-home.is-fx-3 .jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 26%; --ef-plane-y: 66%; --ef-plane-o: .12; }
.jvue-home.is-fx-3 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 50%; --ef-plane-y: 52%; --ef-plane-z: -80px; --ef-plane-o: .2; --ef-plane-scale: 1.08; }
.jvue-home.is-fx-3 .jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 73%; --ef-plane-y: 40%; --ef-plane-o: .12; }

.jvue-home.is-fx-4 .jvue-energy-field {
    --energy-axis-angle: 14deg;
    --energy-core-opacity: .22;
    --energy-line-opacity: .25;
    --energy-node-opacity: .46;
}

.jvue-home.is-fx-4 .jvue-energy-field i { --ef-line-scale: .52; --ef-line-o: .14; }
.jvue-home.is-fx-4 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 36%; --ef-line-y: 30%; --ef-line-r: -6deg; --ef-line-w: 42vw; }
.jvue-home.is-fx-4 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 56%; --ef-line-y: 42%; --ef-line-r: 8deg; --ef-line-w: 52vw; }
.jvue-home.is-fx-4 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 44%; --ef-line-y: 68%; --ef-line-r: -10deg; --ef-line-w: 46vw; }
.jvue-home.is-fx-4 .jvue-energy-field b { --ef-node-radius: 999px; --ef-node-o: .48; --ef-node-scale: 1.08; --ef-node-speed: 9s; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 38%; --ef-node-y: 28%; --ef-node-size: 4px; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 54%; --ef-node-y: 36%; --ef-node-size: 7px; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 68%; --ef-node-y: 52%; --ef-node-size: 5px; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 58%; --ef-node-y: 68%; --ef-node-size: 8px; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(5) { --ef-node-x: 42%; --ef-node-y: 72%; --ef-node-size: 4px; }
.jvue-home.is-fx-4 .jvue-energy-field b:nth-of-type(9) { --ef-node-x: 52%; --ef-node-y: 50%; --ef-node-size: 13px; --ef-node-o: .54; }
.jvue-home.is-fx-4 .jvue-energy-field em { --ef-plane-o: .07; --ef-plane-scale: .72; }
.jvue-home.is-fx-4 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 52%; --ef-plane-y: 50%; --ef-plane-radius: 999px; --ef-plane-o: .12; --ef-plane-scale: .9; }

.jvue-home.is-fx-5 .jvue-energy-field {
    --energy-axis-angle: 0deg;
    --energy-core-opacity: .24;
    --energy-line-opacity: .2;
    --energy-plane-opacity: .1;
}

.jvue-home.is-fx-5 .jvue-energy-field i { --ef-line-r: 0deg; --ef-line-scale: .54; --ef-line-o: .16; }
.jvue-home.is-fx-5 .jvue-energy-field i:nth-of-type(1) { --ef-line-x: 50%; --ef-line-y: 42%; --ef-line-w: 44vw; --ef-line-r: 12deg; }
.jvue-home.is-fx-5 .jvue-energy-field i:nth-of-type(2) { --ef-line-x: 50%; --ef-line-y: 50%; --ef-line-w: 58vw; --ef-line-o: .22; }
.jvue-home.is-fx-5 .jvue-energy-field i:nth-of-type(3) { --ef-line-x: 50%; --ef-line-y: 58%; --ef-line-w: 44vw; --ef-line-r: -12deg; }
.jvue-home.is-fx-5 .jvue-energy-field b { --ef-node-o: .28; --ef-node-scale: .78; }
.jvue-home.is-fx-5 .jvue-energy-field b:nth-of-type(1) { --ef-node-x: 42%; --ef-node-y: 48%; }
.jvue-home.is-fx-5 .jvue-energy-field b:nth-of-type(2) { --ef-node-x: 46%; --ef-node-y: 50%; }
.jvue-home.is-fx-5 .jvue-energy-field b:nth-of-type(3) { --ef-node-x: 50%; --ef-node-y: 50%; --ef-node-size: 12px; --ef-node-o: .42; --ef-node-z: -70px; }
.jvue-home.is-fx-5 .jvue-energy-field b:nth-of-type(4) { --ef-node-x: 54%; --ef-node-y: 50%; }
.jvue-home.is-fx-5 .jvue-energy-field b:nth-of-type(5) { --ef-node-x: 58%; --ef-node-y: 52%; }
.jvue-home.is-fx-5 .jvue-energy-field em { --ef-plane-o: .06; --ef-plane-scale: .66; }
.jvue-home.is-fx-5 .jvue-energy-field em:nth-of-type(1) { --ef-plane-x: 39%; --ef-plane-y: 49%; --ef-plane-r: 10deg; }
.jvue-home.is-fx-5 .jvue-energy-field em:nth-of-type(2) { --ef-plane-x: 50%; --ef-plane-y: 50%; --ef-plane-z: -70px; --ef-plane-r: 0deg; --ef-plane-o: .16; --ef-plane-scale: .92; }
.jvue-home.is-fx-5 .jvue-energy-field em:nth-of-type(3) { --ef-plane-x: 61%; --ef-plane-y: 51%; --ef-plane-r: -10deg; }

.jvue-home.is-scroll-active .jvue-energy-field,
.jvue-home.is-scene-switching .jvue-energy-field,
.jvue-home.is-work-transitioning .jvue-energy-field {
    filter: saturate(1.32) contrast(1.26) brightness(1.12) drop-shadow(0 0 44px rgba(105, 199, 240, .16));
}

.jvue-home.is-scene-switching .jvue-energy-field::after {
    opacity: calc(var(--energy-line-opacity) + .18);
}

.jvue-home.is-scroll-active .jvue-energy-field i,
.jvue-home.is-scene-switching .jvue-energy-field i,
.jvue-home.is-work-transitioning .jvue-energy-field i {
    --ef-line-speed: 4.8s;
}

.jvue-home.is-scroll-active .jvue-energy-field b,
.jvue-home.is-scene-switching .jvue-energy-field b,
.jvue-home.is-work-transitioning .jvue-energy-field b {
    --ef-node-speed: 4.9s;
}

.jvue-home.is-scroll-active .jvue-energy-field em,
.jvue-home.is-scene-switching .jvue-energy-field em,
.jvue-home.is-work-transitioning .jvue-energy-field em {
    --ef-plane-speed: 6.2s;
}

@keyframes jvueEnergyCore {
    0% {
        transform: translate3d(-50%, -50%, -220px) rotateX(62deg) rotateZ(calc(var(--energy-axis-angle) - 8deg));
        filter: brightness(.92);
    }
    50% {
        transform: translate3d(-50%, -50%, -220px) rotateX(62deg) rotateZ(calc(var(--energy-axis-angle) + 8deg));
        filter: brightness(1.12);
    }
    100% {
        transform: translate3d(-50%, -50%, -220px) rotateX(62deg) rotateZ(calc(var(--energy-axis-angle) + 352deg));
        filter: brightness(.96);
    }
}

@keyframes jvueEnergySweep {
    0%, 100% {
        background-position: calc(var(--energy-field-scan) + var(--energy-field-ambient-scan) - 160px) 0, 0 0;
        transform: translate3d(-52%, -50%, -120px) rotateX(58deg) rotateZ(calc(var(--energy-axis-angle) - 9deg)) skewX(-10deg);
    }
    50% {
        background-position: calc(var(--energy-field-scan) + var(--energy-field-ambient-scan) + 220px) 0, 80px 0;
        transform: translate3d(-48%, -50%, -120px) rotateX(58deg) rotateZ(calc(var(--energy-axis-angle) - 3deg)) skewX(-10deg);
    }
}

@keyframes jvueEnergyRail {
    0%, 100% {
        opacity: var(--ef-line-o, var(--energy-line-opacity));
        filter: brightness(.82);
        transform: translate3d(calc(-50% - 34px), -50%, var(--ef-line-z, -180px)) rotateX(var(--ef-line-rx, 61deg)) rotateZ(var(--ef-line-r, -10deg)) scaleX(var(--ef-line-scale, .74));
    }
    48% {
        opacity: var(--ef-line-o, var(--energy-line-opacity));
        filter: brightness(1.16);
        transform: translate3d(calc(-50% + 24px), calc(-50% - 5px), var(--ef-line-z, -180px)) rotateX(var(--ef-line-rx, 61deg)) rotateZ(var(--ef-line-r, -10deg)) scaleX(var(--ef-line-scale, .74));
    }
}

@keyframes jvueEnergyNode {
    0%, 100% {
        opacity: var(--ef-node-o, var(--energy-node-opacity));
        filter: brightness(.86);
        transform: translate3d(calc(-50% - 5px), calc(-50% + 2px), var(--ef-node-z, -170px)) rotateX(var(--ef-node-rx, 58deg)) rotateZ(var(--ef-node-r, -8deg)) scale(var(--ef-node-scale, 1));
    }
    50% {
        opacity: var(--ef-node-o, var(--energy-node-opacity));
        filter: brightness(1.18);
        transform: translate3d(calc(-50% + 7px), calc(-50% - 6px), var(--ef-node-z, -170px)) rotateX(var(--ef-node-rx, 58deg)) rotateZ(var(--ef-node-r, -8deg)) scale(var(--ef-node-scale, 1));
    }
}

@keyframes jvueEnergyPanel {
    0%, 100% {
        opacity: var(--ef-plane-o, var(--energy-plane-opacity));
        filter: brightness(.84);
        transform: translate3d(calc(-50% - 10px), calc(-50% + 4px), var(--ef-plane-z, -260px)) rotateX(var(--ef-plane-rx, 58deg)) rotateY(var(--ef-plane-ry, 0deg)) rotateZ(var(--ef-plane-r, -8deg)) scale(var(--ef-plane-scale, .9));
    }
    50% {
        opacity: var(--ef-plane-o, var(--energy-plane-opacity));
        filter: brightness(1.14);
        transform: translate3d(calc(-50% + 14px), calc(-50% - 8px), var(--ef-plane-z, -260px)) rotateX(var(--ef-plane-rx, 58deg)) rotateY(var(--ef-plane-ry, 0deg)) rotateZ(var(--ef-plane-r, -8deg)) scale(var(--ef-plane-scale, .9));
    }
}

@keyframes jvueEnergyAnchor {
    0%, 100% {
        opacity: calc(var(--energy-core-opacity) + .04);
        transform: translate3d(-50%, -50%, -70px) rotateX(58deg) rotateZ(calc(var(--ambient-core-angle) - 10deg)) scale(.94);
    }
    50% {
        opacity: calc(var(--energy-core-opacity) + .16);
        transform: translate3d(-50%, -50%, -70px) rotateX(58deg) rotateZ(calc(var(--ambient-core-angle) + 18deg)) scale(1.06);
    }
}

.jvue-kinetic-cursor-field {
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
    opacity: var(--cursor-field-opacity);
    mix-blend-mode: screen;
    contain: paint;
    transform:
        translate3d(var(--cursor-x), var(--cursor-y), 0)
        translate3d(var(--cursor-field-pull-x), var(--cursor-field-pull-y), 0)
        scale(var(--cursor-field-scale));
    transform-origin: 0 0;
    transition: opacity .22s var(--jv-ease);
    will-change: transform, opacity;
}

.jvue-kinetic-cursor-field i,
.jvue-kinetic-cursor-field b,
.jvue-kinetic-cursor-field em,
.jvue-kinetic-cursor-field strong {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    pointer-events: none;
}

.jvue-kinetic-cursor-field i {
    width: calc(var(--cursor-field-tail) + var(--kc-line-extra, 0px));
    height: var(--kc-line-h, 1px);
    border-radius: 999px;
    opacity: var(--cursor-field-line-opacity);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .78) 42%, rgba(105, 199, 240, .38) 61%, rgba(201, 154, 85, .16) 74%, transparent 100%);
    box-shadow:
        0 0 12px rgba(247, 249, 255, .18),
        0 0 28px rgba(105, 199, 240, .2);
    transform:
        translate3d(var(--kc-line-x, -18px), var(--kc-line-y, 0), 0)
        rotate(calc(var(--cursor-field-angle) + var(--kc-line-angle, 0deg)))
        scaleX(var(--kc-line-scale, 1));
    animation: jvueCursorKineticLine var(--kc-line-speed, 1.3s) ease-in-out infinite;
    animation-delay: var(--kc-delay, 0s);
    will-change: transform, opacity, filter;
}

.jvue-kinetic-cursor-field b {
    width: var(--kc-dot-size, 5px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: var(--cursor-field-dot-opacity);
    background: rgba(247, 249, 255, .88);
    box-shadow:
        0 0 12px rgba(105, 199, 240, .48),
        0 0 24px rgba(201, 154, 85, .14);
    transform:
        translate3d(var(--kc-dot-x, 0), var(--kc-dot-y, 0), 0)
        rotate(var(--cursor-field-angle))
        translate3d(var(--kc-dot-radius, 26px), 0, 0)
        scale(var(--kc-dot-scale, 1));
    animation: jvueCursorKineticDot var(--kc-dot-speed, 1.9s) ease-in-out infinite;
    animation-delay: var(--kc-delay, 0s);
}

.jvue-kinetic-cursor-field em {
    width: var(--kc-ring-size, 96px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(232, 237, 247, .12);
    opacity: var(--cursor-field-ring-opacity);
    background:
        radial-gradient(circle, rgba(105, 199, 240, .1), transparent 52%),
        conic-gradient(from var(--cursor-field-angle), transparent 0 14%, rgba(247, 249, 255, .32) 18%, rgba(105, 199, 240, .18) 24%, transparent 34% 64%, rgba(201, 154, 85, .16) 72%, transparent 82% 100%);
    transform:
        translate3d(-50%, -50%, 0)
        rotate(var(--kc-ring-angle, 0deg))
        scale(var(--kc-ring-scale, 1));
    animation: jvueCursorKineticRing var(--kc-ring-speed, 3.8s) linear infinite;
    animation-delay: var(--kc-delay, 0s);
}

.jvue-kinetic-cursor-field strong {
    width: clamp(160px, 18vw, 320px);
    height: 1px;
    opacity: var(--cursor-field-rail-opacity);
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .42), rgba(247, 249, 255, .46), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .12) 19px, transparent 21px);
    transform:
        translate3d(-50%, -50%, 0)
        rotate(calc(var(--cursor-field-angle) + 90deg))
        scaleX(var(--cursor-field-rail-scale));
    filter: blur(.2px);
}

.jvue-kinetic-cursor-field i:nth-of-type(1) { --kc-line-x: -12px; --kc-line-y: -2px; --kc-line-angle: 0deg; --kc-line-scale: 1; --kc-delay: -.08s; }
.jvue-kinetic-cursor-field i:nth-of-type(2) { --kc-line-x: -18px; --kc-line-y: 10px; --kc-line-angle: 18deg; --kc-line-scale: .78; --kc-line-extra: -8px; --kc-delay: -.24s; }
.jvue-kinetic-cursor-field i:nth-of-type(3) { --kc-line-x: -18px; --kc-line-y: -12px; --kc-line-angle: -16deg; --kc-line-scale: .72; --kc-line-extra: -10px; --kc-delay: -.36s; }
.jvue-kinetic-cursor-field i:nth-of-type(4) { --kc-line-x: -42px; --kc-line-y: 22px; --kc-line-angle: 144deg; --kc-line-scale: .42; --kc-line-h: 2px; --kc-delay: -.52s; }
.jvue-kinetic-cursor-field i:nth-of-type(5) { --kc-line-x: -44px; --kc-line-y: -22px; --kc-line-angle: -138deg; --kc-line-scale: .38; --kc-delay: -.7s; }
.jvue-kinetic-cursor-field i:nth-of-type(6) { --kc-line-x: -8px; --kc-line-y: 0; --kc-line-angle: 90deg; --kc-line-scale: .24; --kc-line-extra: -16px; --kc-delay: -.86s; }

.jvue-kinetic-cursor-field b:nth-of-type(1) { --kc-dot-radius: 34px; --kc-dot-size: 5px; --kc-delay: -.1s; }
.jvue-kinetic-cursor-field b:nth-of-type(2) { --kc-dot-radius: -28px; --kc-dot-size: 4px; --kc-dot-y: 8px; --kc-delay: -.28s; }
.jvue-kinetic-cursor-field b:nth-of-type(3) { --kc-dot-radius: 48px; --kc-dot-size: 3px; --kc-dot-y: -16px; --kc-delay: -.46s; }
.jvue-kinetic-cursor-field b:nth-of-type(4) { --kc-dot-radius: -42px; --kc-dot-size: 6px; --kc-dot-y: -10px; --kc-delay: -.64s; }
.jvue-kinetic-cursor-field b:nth-of-type(5) { --kc-dot-radius: 68px; --kc-dot-size: 4px; --kc-dot-y: 18px; --kc-delay: -.82s; }
.jvue-kinetic-cursor-field b:nth-of-type(6) { --kc-dot-radius: -62px; --kc-dot-size: 3px; --kc-dot-y: 20px; --kc-delay: -1s; }

.jvue-kinetic-cursor-field em:nth-of-type(1) { --kc-ring-size: 88px; --kc-ring-speed: 4.4s; }
.jvue-kinetic-cursor-field em:nth-of-type(2) { --kc-ring-size: 132px; --kc-ring-angle: 24deg; --kc-ring-scale: .72; --kc-ring-speed: 6.8s; --kc-delay: -.8s; }

.jvue-home.is-cursor-visible .jvue-kinetic-cursor-field {
    opacity: var(--cursor-field-opacity);
}

.jvue-home.is-scene-switching .jvue-kinetic-cursor-field,
.jvue-home.is-scroll-active .jvue-kinetic-cursor-field {
    opacity: calc(var(--cursor-field-opacity) + .08);
    filter: brightness(1.08) saturate(1.12);
}

@keyframes jvueCursorKineticLine {
    0%, 100% {
        filter: brightness(.86);
    }

    45% {
        filter: brightness(1.26);
    }
}

@keyframes jvueCursorKineticDot {
    0%, 100% {
        filter: brightness(.9);
        margin-left: -2px;
        margin-top: -2px;
    }

    50% {
        filter: brightness(1.32);
        margin-left: 3px;
        margin-top: -4px;
    }
}

@keyframes jvueCursorKineticRing {
    0% {
        filter: brightness(.86);
        transform:
            translate3d(-50%, -50%, 0)
            rotate(var(--kc-ring-angle, 0deg))
            scale(var(--kc-ring-scale, 1));
    }

    50% {
        filter: brightness(1.2);
        transform:
            translate3d(-50%, -50%, 0)
            rotate(calc(var(--kc-ring-angle, 0deg) + 112deg))
            scale(calc(var(--kc-ring-scale, 1) + .08));
    }

    100% {
        filter: brightness(.92);
        transform:
            translate3d(-50%, -50%, 0)
            rotate(calc(var(--kc-ring-angle, 0deg) + 240deg))
            scale(var(--kc-ring-scale, 1));
    }
}

@keyframes jvueAnimeFieldBreath {
    0%,
    100% {
        transform: translate3d(-8px, 3px, 0) scale(1);
    }

    48% {
        transform: translate3d(10px, -5px, 0) scale(1.018);
    }
}

@keyframes jvueAnimeGridDrift {
    0% {
        transform: perspective(1200px) rotateX(64deg) translate3d(-18px, 18vh, -120px);
    }

    50% {
        transform: perspective(1200px) rotateX(64deg) translate3d(12px, 15vh, -96px);
    }

    100% {
        transform: perspective(1200px) rotateX(64deg) translate3d(34px, 18vh, -116px);
    }
}

@keyframes jvueAnimeCutLine {
    0% {
        opacity: 0;
        transform: translate3d(calc(var(--anime-cut-scan) - 18vw), 0, 0) scaleX(.64);
    }

    18%,
    68% {
        opacity: var(--ac-line-o, .18);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(var(--anime-cut-scan) + 18vw), 0, 0) scaleX(1.16);
    }
}

@keyframes jvueAnimeCutSpark {
    0% {
        opacity: 0;
        transform: translate3d(calc(var(--anime-cut-scan) - 42px), -10px, 0) skewX(-24deg) scaleX(.7);
    }

    42% {
        opacity: var(--anime-cut-flash);
        transform: translate3d(var(--anime-cut-scan), 0, 0) skewX(-24deg) scaleX(1.1);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(var(--anime-cut-scan) + 68px), 18px, 0) skewX(-24deg) scaleX(.82);
    }
}

@keyframes jvueAnimeCutVeil {
    0%,
    100% {
        transform: translate3d(calc(var(--ac-veil-x, 0px) - 4vw), -50%, 0) scaleX(var(--ac-veil-scale, 1));
    }

    46% {
        transform: translate3d(calc(var(--ac-veil-x, 0px) + 5vw), -50%, 0) scaleX(var(--ac-veil-scale, 1));
    }
}

@keyframes jvueAnimeCorePulse {
    0%,
    100% {
        transform: translate3d(-50%, -50%, 0) rotate(calc(0deg - var(--anime-cut-angle))) scaleX(.86);
    }

    50% {
        transform: translate3d(-50%, -50%, 0) rotate(calc(0deg - var(--anime-cut-angle))) scaleX(1.08);
    }
}

@keyframes jvueScrollworldGrid {
    0% {
        filter: brightness(.86) saturate(.96);
        transform: rotateX(var(--sw-world-rx, 62deg)) rotateZ(var(--sw-world-rz, -8deg)) translate3d(-18px, 4px, -370px);
    }

    50% {
        filter: brightness(1.18) saturate(1.16);
        transform: rotateX(var(--sw-world-rx, 62deg)) rotateZ(var(--sw-world-rz, -8deg)) translate3d(18px, -10px, -340px);
    }

    100% {
        filter: brightness(.94) saturate(1.04);
        transform: rotateX(var(--sw-world-rx, 62deg)) rotateZ(var(--sw-world-rz, -8deg)) translate3d(46px, 8px, -360px);
    }
}

@keyframes jvueScrollworldLine {
    0% {
        filter: brightness(.76);
        transform:
            translate3d(-50%, -50%, var(--sw-line-z, -220px))
            rotateX(var(--sw-rx, 62deg))
            rotateZ(var(--sw-line-r, -8deg))
            translate3d(calc(var(--sw-line-drift, 0px) - 3vw), 0, 0)
            scaleX(var(--sw-line-scale, .9));
    }

    52% {
        filter: brightness(1.18);
        transform:
            translate3d(-50%, -50%, var(--sw-line-z, -220px))
            rotateX(var(--sw-rx, 62deg))
            rotateZ(var(--sw-line-r, -8deg))
            translate3d(var(--sw-line-drift, 0px), 0, 0)
            scaleX(var(--sw-line-scale, .9));
    }

    100% {
        filter: brightness(.88);
        transform:
            translate3d(-50%, -50%, var(--sw-line-z, -220px))
            rotateX(var(--sw-rx, 62deg))
            rotateZ(var(--sw-line-r, -8deg))
            translate3d(calc(var(--sw-line-drift, 0px) + 3vw), 0, 0)
            scaleX(var(--sw-line-scale, .9));
    }
}

@keyframes jvueScrollworldNode {
    0% {
        filter: brightness(.82);
        transform:
            translate3d(-50%, -50%, var(--sw-node-z, -140px))
            rotate(var(--sw-node-r, 0deg))
            translate3d(calc(var(--sw-node-drift, 0px) - 6px), -3px, 0)
            scale(var(--sw-node-scale, .92));
    }

    50% {
        filter: brightness(1.2);
        transform:
            translate3d(-50%, -50%, var(--sw-node-z, -140px))
            rotate(var(--sw-node-r, 0deg))
            translate3d(var(--sw-node-drift, 0px), 3px, 0)
            scale(calc(var(--sw-node-scale, .92) + .08));
    }

    100% {
        filter: brightness(.88);
        transform:
            translate3d(-50%, -50%, var(--sw-node-z, -140px))
            rotate(var(--sw-node-r, 0deg))
            translate3d(calc(var(--sw-node-drift, 0px) + 6px), -2px, 0)
            scale(var(--sw-node-scale, .92));
    }
}

@keyframes jvueScrollworldPlane {
    0% {
        filter: brightness(.84);
        transform:
            translate3d(-50%, -50%, var(--sw-plane-z, -280px))
            rotateX(var(--sw-plane-rx, 58deg))
            rotateY(var(--sw-plane-ry, 0deg))
            rotateZ(var(--sw-plane-rz, -8deg))
            skewX(var(--sw-plane-skew, -4deg))
            translate3d(-12px, 0, 0)
            scale(var(--sw-plane-scale, .84));
    }

    54% {
        filter: brightness(1.12);
        transform:
            translate3d(-50%, -50%, var(--sw-plane-z, -280px))
            rotateX(var(--sw-plane-rx, 58deg))
            rotateY(var(--sw-plane-ry, 0deg))
            rotateZ(var(--sw-plane-rz, -8deg))
            skewX(var(--sw-plane-skew, -4deg))
            translate3d(5px, -4px, 0)
            scale(calc(var(--sw-plane-scale, .84) + .04));
    }

    100% {
        filter: brightness(.9);
        transform:
            translate3d(-50%, -50%, var(--sw-plane-z, -280px))
            rotateX(var(--sw-plane-rx, 58deg))
            rotateY(var(--sw-plane-ry, 0deg))
            rotateZ(var(--sw-plane-rz, -8deg))
            skewX(var(--sw-plane-skew, -4deg))
            translate3d(14px, 2px, 0)
            scale(var(--sw-plane-scale, .84));
    }
}

@keyframes jvueScrollworldCore {
    0%, 100% {
        filter: brightness(.92) saturate(1);
    }

    50% {
        filter: brightness(1.18) saturate(1.18);
    }
}

@keyframes jvueScrollworldAnchor {
    0%, 100% {
        filter: brightness(.86);
    }

    50% {
        filter: brightness(1.2);
    }
}

@keyframes jvueScrollworldAnchorSweep {
    0% {
        filter: brightness(.82) blur(.2px);
        transform: rotateZ(-16deg) scale(.92);
    }

    50% {
        filter: brightness(1.22) blur(.1px);
        transform: rotateZ(118deg) scale(1.08);
    }

    100% {
        filter: brightness(.9) blur(.2px);
        transform: rotateZ(256deg) scale(.96);
    }
}

@keyframes jvueScrollworldAnchorPulse {
    0%, 100% {
        opacity: .48;
        transform: rotateZ(-8deg) scale(.9);
    }

    50% {
        opacity: .9;
        transform: rotateZ(10deg) scale(1.08);
    }
}

@keyframes jvuePreviewCore {
    0%, 100% {
        filter: brightness(.9);
        transform: translate3d(-50%, -50%, 0) rotateX(62deg) rotateZ(-8deg) scale(.96);
    }

    50% {
        filter: brightness(1.16);
        transform: translate3d(-50%, -50%, 0) rotateX(62deg) rotateZ(10deg) scale(1.05);
    }
}

@keyframes jvuePreviewNetwork {
    0% {
        background-position: -120% 0, 0 0, 0 0, -80% 0;
        opacity: .46;
    }

    48% {
        opacity: .78;
    }

    100% {
        background-position: 120% 0, 0 0, 0 0, 90% 0;
        opacity: .54;
    }
}

.jvue-motion-bands {
    position: absolute;
    inset: -12%;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--band-opacity);
    mix-blend-mode: screen;
    transform: translate3d(var(--ambient-band-x), var(--ambient-band-y), 0) rotate(var(--ambient-angle));
    transform-origin: center;
    will-change: transform, opacity;
}

.jvue-motion-bands i {
    position: absolute;
    left: -28%;
    width: 156%;
    height: 18vh;
    min-height: 150px;
    display: block;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .035) 22%, rgba(247, 249, 255, .18) 49%, rgba(201, 154, 85, .07) 54%, transparent 74%),
        repeating-linear-gradient(90deg, transparent 0, transparent 38px, rgba(105, 199, 240, .075) 39px, transparent 41px);
    transform: rotate(var(--band-angle)) translate3d(-18%, 0, 0);
    filter: blur(.25px);
    animation: jvueDataBand 12s linear infinite;
}

.jvue-home.is-scroll-active .jvue-motion-bands i {
    animation-duration: 7.2s;
}

.jvue-motion-bands i:nth-child(1) {
    top: 12%;
}

.jvue-motion-bands i:nth-child(2) {
    top: 34%;
    height: 14vh;
    animation-delay: -3.1s;
    animation-duration: 15s;
}

.jvue-motion-bands i:nth-child(3) {
    top: 58%;
    height: 22vh;
    animation-delay: -6.4s;
    animation-duration: 17s;
}

.jvue-motion-bands i:nth-child(4) {
    top: 76%;
    height: 12vh;
    animation-delay: -9.2s;
    animation-duration: 13s;
}

.jvue-stage-depth,
.jvue-stage-radials,
.jvue-stage-portals,
.jvue-stage-scenes,
.jvue-stage-director,
.jvue-stage-tableau,
.jvue-stage-cuts,
.jvue-stage-morph,
.jvue-stage-fluid,
.jvue-stage-streams,
.jvue-stage-flowfield,
.jvue-stage-kinetic,
.jvue-stage-frames,
.jvue-stage-shards,
.jvue-stage-index,
.jvue-stage-flash,
.jvue-stage-hotspot,
.jvue-stage-orbit-field,
.jvue-stage-storywall,
.jvue-stage-gallery,
.jvue-stage-workstrip,
.jvue-stage-chapter,
.jvue-stage-poster,
.jvue-stage-reel,
.jvue-stage-anime,
.jvue-stage-lens,
.jvue-stage-echo,
.jvue-stage-wipe,
.jvue-stage-workcuts,
.jvue-stage-cut,
.jvue-stage-wake,
.jvue-stage-pixels,
.jvue-stage-runners,
.jvue-stage-meter {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    mix-blend-mode: screen;
}

.jvue-stage-depth {
    opacity: var(--stage-depth-opacity);
    perspective: 1200px;
    transform: translate3d(calc(var(--cursor-parallax-x) + var(--fx-stage-x) + var(--ambient-stage-x)), calc(var(--cursor-parallax-y) + var(--fx-stage-y) + var(--ambient-stage-y)), 0);
    transition: opacity .5s var(--jv-ease), transform .28s linear;
}

.jvue-stage-depth i {
    position: absolute;
    left: -8%;
    right: -8%;
    top: calc(6% + var(--layer-top, 0%));
    height: 18%;
    border-top: 1px solid rgba(105, 199, 240, .055);
    border-bottom: 1px solid rgba(201, 154, 85, .045);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .04) 38%, rgba(247, 249, 255, .035) 49%, transparent 68%),
        repeating-linear-gradient(90deg, transparent 0, transparent 72px, rgba(255, 255, 255, .03) 73px, transparent 74px);
    transform: rotate(var(--stage-skew)) translate3d(calc(var(--fx-sweep-soft) + var(--fx-mask-x)), calc(var(--layer-y, 0px) + var(--fx-bg-y) + var(--fx-mask-y)), 0) skewX(-8deg);
    animation: jvueDepthSlide 18s linear infinite;
}

.jvue-stage-depth i:nth-child(1) {
    --layer-top: 4%;
    --layer-y: -12px;
    animation-delay: -1.4s;
}

.jvue-stage-depth i:nth-child(2) {
    --layer-top: 18%;
    --layer-y: 8px;
    animation-delay: -4.2s;
}

.jvue-stage-depth i:nth-child(3) {
    --layer-top: 34%;
    --layer-y: -4px;
    animation-delay: -7s;
}

.jvue-stage-depth i:nth-child(4) {
    --layer-top: 50%;
    --layer-y: 16px;
    animation-delay: -10.4s;
}

.jvue-stage-depth i:nth-child(5) {
    --layer-top: 66%;
    --layer-y: -8px;
    animation-delay: -13.2s;
}

.jvue-stage-depth i:nth-child(6) {
    --layer-top: 80%;
    --layer-y: 12px;
    animation-delay: -16s;
}

.jvue-stage-radials {
    z-index: 3;
    opacity: var(--stage-radial-opacity);
    mix-blend-mode: screen;
    transform: translate3d(calc(var(--cursor-parallax-x) + var(--fx-stage-x) + var(--ambient-orbit-x)), calc(var(--cursor-parallax-y) + var(--fx-stage-y) + var(--ambient-orbit-y)), 0);
    transition: opacity .5s var(--jv-ease), transform .26s linear;
    mask-image: radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .86) 48%, transparent 78%);
}

.jvue-stage-radials i {
    position: absolute;
    left: calc(var(--radial-x, 50%) + var(--fx-orbit-x) + var(--ambient-orbit-x));
    top: calc(var(--radial-y, 50%) + var(--fx-orbit-y) + var(--ambient-orbit-y));
    width: var(--radial-size, 420px);
    aspect-ratio: 1;
    border-radius: 50%;
    display: block;
    opacity: var(--radial-alpha, .34);
    border: 1px solid rgba(105, 199, 240, .14);
    background:
        radial-gradient(circle, transparent 0 48%, rgba(105, 199, 240, .1) 49%, transparent 51%),
        conic-gradient(from 0deg, transparent 0 18%, rgba(247, 249, 255, .18) 22%, rgba(105, 199, 240, .12) 28%, transparent 34% 62%, rgba(201, 154, 85, .14) 66%, transparent 72% 100%);
    box-shadow:
        inset 0 0 24px rgba(105, 199, 240, .06),
        0 0 34px rgba(105, 199, 240, .08);
    transform: translate3d(-50%, -50%, 0) rotate(var(--fx-orbit-angle)) rotate(var(--ambient-orbit-angle)) scale(var(--radial-scale, 1));
    animation: jvueRadialBreath 11s ease-in-out infinite alternate;
    will-change: transform, opacity;
}

.jvue-stage-radials i::before,
.jvue-stage-radials i::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}

.jvue-stage-radials i::before {
    inset: 18%;
    border: 1px dashed rgba(232, 237, 245, .14);
}

.jvue-stage-radials i::after {
    left: 50%;
    top: 50%;
    width: 7px;
    height: 7px;
    background: rgba(247, 249, 255, .7);
    box-shadow: 0 0 18px rgba(105, 199, 240, .55), 28px 36px 0 -2px rgba(201, 154, 85, .42), -42px -22px 0 -3px rgba(105, 199, 240, .34);
    transform: translate(-50%, -50%);
}

.jvue-stage-radials i:nth-child(1) {
    --radial-x: 72%;
    --radial-y: 36%;
    --radial-size: min(54vw, 760px);
    --radial-alpha: .34;
    --radial-scale-peak: 1.04;
    animation-delay: -1.8s;
}

.jvue-stage-radials i:nth-child(2) {
    --radial-x: 24%;
    --radial-y: 72%;
    --radial-size: min(46vw, 640px);
    --radial-alpha: .28;
    --radial-scale: .86;
    --radial-scale-peak: .9;
    animation-delay: -5.2s;
    animation-duration: 13s;
}

.jvue-stage-radials i:nth-child(3) {
    --radial-x: 50%;
    --radial-y: 51%;
    --radial-size: min(62vw, 900px);
    --radial-alpha: .18;
    --radial-scale: 1.08;
    --radial-scale-peak: 1.12;
    animation-delay: -8.4s;
    animation-duration: 16s;
}

.jvue-stage-radials i:nth-child(4) {
    --radial-x: 86%;
    --radial-y: 82%;
    --radial-size: min(36vw, 520px);
    --radial-alpha: .22;
    --radial-scale: .78;
    --radial-scale-peak: .82;
    animation-delay: -10.1s;
}

.jvue-stage-radials i:nth-child(5) {
    --radial-x: 12%;
    --radial-y: 24%;
    --radial-size: min(34vw, 480px);
    --radial-alpha: .2;
    --radial-scale: .74;
    --radial-scale-peak: .78;
    animation-delay: -3.6s;
    animation-duration: 12s;
}

.jvue-stage-portals {
    z-index: 3;
    opacity: var(--portal-opacity);
    perspective: 1100px;
    mix-blend-mode: screen;
    transform: translate3d(calc(var(--cursor-parallax-x) + var(--fx-mask-x) + var(--ambient-mask-x)), calc(var(--cursor-parallax-y) + var(--fx-mask-y) + var(--ambient-mask-y)), 0);
    transition: opacity .55s var(--jv-ease), transform .22s linear;
    mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 84%, transparent 100%);
}

.jvue-stage-portals i {
    position: absolute;
    left: calc(var(--portal-x) + var(--fx-portal-x) + var(--ambient-orbit-x));
    top: calc(var(--portal-y) + var(--fx-portal-y) + var(--ambient-orbit-y));
    width: var(--portal-width);
    height: var(--portal-height);
    display: block;
    border: 1px solid rgba(232, 237, 245, .11);
    border-radius: 2px;
    background:
        linear-gradient(112deg, transparent 0, rgba(105, 199, 240, .09) 36%, rgba(247, 249, 255, .05) 46%, transparent 60%),
        repeating-linear-gradient(90deg, transparent 0, transparent 54px, rgba(105, 199, 240, .045) 55px, transparent 56px),
        repeating-linear-gradient(0deg, transparent 0, transparent 38px, rgba(255, 255, 255, .03) 39px, transparent 40px);
    box-shadow:
        inset 0 0 34px rgba(105, 199, 240, .055),
        0 0 42px rgba(105, 199, 240, .045);
    transform:
        translate3d(-50%, -50%, 0)
        rotate(var(--portal-skew))
        rotateX(62deg)
        rotateZ(var(--fx-portal-tilt))
        rotateZ(var(--ambient-angle))
        translate3d(var(--portal-offset-x, 0px), var(--portal-offset-y, 0px), var(--portal-offset-z, 0px))
        scale(var(--portal-scale, 1));
    transform-origin: center;
    animation: jvuePortalScan 10s ease-in-out infinite alternate;
    will-change: transform, opacity, background-position;
}

.jvue-stage-portals i::before,
.jvue-stage-portals i::after {
    content: "";
    position: absolute;
    inset: 14%;
    pointer-events: none;
    border: 1px solid rgba(105, 199, 240, .1);
    transform: translate3d(var(--inner-shift, 0px), 0, 0);
}

.jvue-stage-portals i::after {
    inset: auto 12% 18% 12%;
    height: 1px;
    border: 0;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .52), rgba(201, 154, 85, .24), transparent);
    box-shadow: 0 0 24px rgba(105, 199, 240, .18);
    animation: jvuePortalLine 3.8s linear infinite;
}

.jvue-stage-portals i:nth-child(1) {
    --portal-offset-z: -90px;
    --portal-scale: 1.04;
    opacity: .46;
}

.jvue-stage-portals i:nth-child(2) {
    --portal-offset-x: -16vw;
    --portal-offset-y: 8vh;
    --portal-offset-z: -160px;
    --portal-scale: .82;
    --inner-shift: -16px;
    opacity: .34;
    animation-delay: -2.4s;
}

.jvue-stage-portals i:nth-child(3) {
    --portal-offset-x: 18vw;
    --portal-offset-y: -9vh;
    --portal-offset-z: -220px;
    --portal-scale: .66;
    --inner-shift: 18px;
    opacity: .28;
    animation-delay: -4.8s;
}

.jvue-stage-portals i:nth-child(4) {
    --portal-offset-x: -28vw;
    --portal-offset-y: -14vh;
    --portal-offset-z: -280px;
    --portal-scale: .54;
    opacity: .18;
    animation-delay: -6.8s;
}

.jvue-stage-portals i:nth-child(5) {
    --portal-offset-x: 30vw;
    --portal-offset-y: 16vh;
    --portal-offset-z: -320px;
    --portal-scale: .48;
    opacity: .16;
    animation-delay: -8s;
}

.jvue-stage-scenes {
    z-index: 3;
    inset: -10%;
    opacity: .72;
    perspective: 1200px;
    transform: translate3d(calc(var(--cursor-parallax-x) + var(--fx-stage-x) + var(--ambient-stage-x)), calc(var(--cursor-parallax-y) + var(--fx-stage-y) + var(--ambient-stage-y)), 0);
    transition: transform .24s linear, opacity .4s var(--jv-ease);
    mask-image: radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .76) 44%, transparent 78%);
}

.jvue-stage-scenes i {
    position: absolute;
    display: block;
    opacity: 0;
    pointer-events: none;
    border: 1px solid rgba(232, 237, 245, .08);
    box-shadow: inset 0 0 34px rgba(105, 199, 240, .035), 0 0 34px rgba(105, 199, 240, .04);
    transform-origin: center;
    transition: opacity .7s var(--jv-ease), transform .7s var(--jv-ease), filter .7s var(--jv-ease);
    animation: jvueSceneFloat 12s ease-in-out infinite alternate;
    will-change: opacity, transform, background-position;
}

.jvue-stage-scenes i:nth-child(1) {
    left: 43%;
    top: 50%;
    width: min(70vw, 1040px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 36%, rgba(105, 199, 240, .11) 37%, transparent 39%),
        radial-gradient(circle, transparent 0 58%, rgba(201, 154, 85, .14) 59%, transparent 61%),
        conic-gradient(from var(--fx-orbit-angle), transparent 0 12%, rgba(247, 249, 255, .1) 14%, transparent 20% 46%, rgba(201, 154, 85, .16) 49%, transparent 56% 100%);
    transform: translate3d(-50%, -50%, -120px) rotateX(58deg) rotateZ(var(--fx-angle)) scale(.86);
}

.jvue-stage-scenes i:nth-child(2) {
    left: 54%;
    top: 47%;
    width: min(72vw, 980px);
    height: min(46vh, 420px);
    background:
        radial-gradient(circle at 18% 24%, rgba(105, 199, 240, .16), transparent 22%),
        linear-gradient(112deg, transparent 0, rgba(247, 249, 255, .09) 44%, transparent 56%),
        repeating-linear-gradient(90deg, transparent 0, transparent 42px, rgba(105, 199, 240, .075) 43px, transparent 44px),
        repeating-linear-gradient(0deg, transparent 0, transparent 34px, rgba(255, 255, 255, .045) 35px, transparent 36px);
    background-position: 0 0, var(--fx-sweep-x) 0, var(--fx-grid-x) 0, 0 var(--fx-grid-y);
    transform: translate3d(-50%, -50%, -180px) rotateX(64deg) rotateZ(-3deg) skewX(-8deg);
}

.jvue-stage-scenes i:nth-child(3) {
    left: 58%;
    top: 50%;
    width: min(88vw, 1240px);
    height: min(64vh, 590px);
    border-color: rgba(201, 154, 85, .14);
    background:
        linear-gradient(90deg, transparent 0 7%, rgba(105, 199, 240, .16) 7.2% 7.6%, transparent 8% 31%, rgba(247, 249, 255, .1) 31.2% 31.6%, transparent 32% 56%, rgba(201, 154, 85, .16) 56.2% 56.6%, transparent 57% 82%, rgba(105, 199, 240, .13) 82.2% 82.6%, transparent 83% 100%),
        linear-gradient(0deg, transparent 0 16%, rgba(247, 249, 255, .1) 16.2% 16.6%, transparent 17% 48%, rgba(105, 199, 240, .14) 48.2% 48.6%, transparent 49% 80%, rgba(201, 154, 85, .13) 80.2% 80.6%, transparent 81% 100%),
        radial-gradient(ellipse at 44% 48%, rgba(105, 199, 240, .12), transparent 58%);
    transform: translate3d(-50%, -50%, -180px) rotateX(58deg) rotateZ(-5deg) skewX(-6deg);
}

.jvue-stage-scenes i:nth-child(4) {
    left: 42%;
    top: 54%;
    width: min(64vw, 900px);
    aspect-ratio: 1.55;
    border-radius: 50%;
    background:
        repeating-radial-gradient(ellipse at 50% 50%, transparent 0 26px, rgba(105, 199, 240, .11) 28px, transparent 31px, transparent 58px),
        conic-gradient(from var(--fx-orbit-angle), transparent 0 18%, rgba(247, 249, 255, .12) 21%, transparent 27% 68%, rgba(201, 154, 85, .14) 72%, transparent 78% 100%);
    transform: translate3d(-50%, -50%, -220px) rotateX(68deg) rotateZ(var(--fx-angle)) scale(1.08);
}

.jvue-stage-scenes i:nth-child(5) {
    left: 62%;
    top: 43%;
    width: min(58vw, 780px);
    height: min(50vh, 440px);
    background:
        radial-gradient(circle at 18% 24%, rgba(247, 249, 255, .42) 0 1px, transparent 2px),
        radial-gradient(circle at 36% 62%, rgba(105, 199, 240, .32) 0 1px, transparent 2px),
        radial-gradient(circle at 58% 34%, rgba(201, 154, 85, .32) 0 1px, transparent 2px),
        radial-gradient(circle at 78% 68%, rgba(247, 249, 255, .34) 0 1px, transparent 2px),
        linear-gradient(28deg, transparent 0 20%, rgba(105, 199, 240, .08) 20.2% 20.6%, transparent 21% 50%, rgba(247, 249, 255, .06) 50.2% 50.6%, transparent 51% 100%);
    transform: translate3d(-50%, -50%, -180px) rotateX(44deg) rotateZ(2deg);
}

.jvue-stage-scenes i:nth-child(6) {
    left: 50%;
    top: 48%;
    width: min(48vw, 660px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 24%, rgba(247, 249, 255, .11) 24.5% 25%, transparent 25.6% 45%, rgba(201, 154, 85, .14) 45.6% 46.2%, transparent 47%),
        conic-gradient(from var(--fx-orbit-angle), rgba(201, 154, 85, .18), transparent 14%, rgba(105, 199, 240, .1) 22%, transparent 34% 64%, rgba(247, 249, 255, .12) 68%, transparent 78% 100%);
    transform: translate3d(-50%, -50%, -150px) rotateX(50deg) rotateZ(var(--fx-angle)) scale(.84);
}

.jvue-home.is-fx-0 .jvue-stage-scenes i:nth-child(1),
.jvue-home.is-fx-1 .jvue-stage-scenes i:nth-child(2),
.jvue-home.is-fx-2 .jvue-stage-scenes i:nth-child(3),
.jvue-home.is-fx-3 .jvue-stage-scenes i:nth-child(4),
.jvue-home.is-fx-4 .jvue-stage-scenes i:nth-child(5),
.jvue-home.is-fx-5 .jvue-stage-scenes i:nth-child(6) {
    opacity: .42 !important;
    filter: brightness(1.05);
}

.jvue-home.is-scroll-active .jvue-stage-scenes i {
    animation-duration: 7s;
}

.jvue-stage-director {
    z-index: 4;
    inset: -18%;
    opacity: calc(.5 + var(--director-opacity-boost));
    perspective: 1400px;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--director-x) + var(--director-drift-x) + var(--cursor-parallax-x)), calc(var(--director-y) + var(--director-drift-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--director-tilt))
        scale(var(--director-zoom));
    transform-origin: center;
    transition: opacity .32s linear, transform .24s linear;
    mask-image: radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .9) 42%, transparent 78%);
    filter: saturate(1.08) contrast(1.06);
}

.jvue-stage-director i {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    pointer-events: none;
    opacity: 0;
    border: 1px solid rgba(232, 237, 245, .1);
    box-shadow:
        inset 0 0 34px rgba(105, 199, 240, .045),
        0 0 44px rgba(105, 199, 240, .055);
    transform-origin: center;
    transition: filter .65s var(--jv-ease);
    animation: jvueDirectorPlane 13s ease-in-out infinite alternate;
    will-change: transform, opacity, background-position;
}

.jvue-stage-director i::before,
.jvue-stage-director i::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.jvue-stage-director i::before {
    opacity: .5;
    background:
        linear-gradient(105deg, transparent 0, rgba(247, 249, 255, .16) 42%, rgba(105, 199, 240, .1) 48%, transparent 58%),
        repeating-linear-gradient(90deg, transparent 0, transparent 46px, rgba(247, 249, 255, .07) 47px, transparent 49px);
    background-size: 260% 100%, 140px 100%;
    background-position: var(--director-line-x) var(--director-line-y), var(--director-line-x) 0;
    animation: jvueDirectorSweep 5.2s linear infinite;
}

.jvue-stage-director i::after {
    opacity: .36;
    background:
        radial-gradient(circle at 18% 24%, rgba(247, 249, 255, .45) 0 1px, transparent 2px),
        radial-gradient(circle at 34% 64%, rgba(105, 199, 240, .34) 0 1px, transparent 2px),
        radial-gradient(circle at 64% 38%, rgba(201, 154, 85, .28) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 72%, rgba(247, 249, 255, .32) 0 1px, transparent 2px);
}

.jvue-stage-director i:nth-child(1) {
    opacity: var(--fx-director-0);
    width: min(72vw, 980px);
    aspect-ratio: 1;
    border-radius: 50%;
    background:
        repeating-radial-gradient(circle at 50% 50%, transparent 0 34px, rgba(105, 199, 240, .12) 35px, transparent 38px, transparent 70px),
        conic-gradient(from var(--fx-orbit-angle), transparent 0 12%, rgba(247, 249, 255, .16) 16%, transparent 22% 52%, rgba(201, 154, 85, .16) 57%, transparent 64% 100%),
        radial-gradient(circle at 50% 50%, rgba(105, 199, 240, .16), transparent 58%);
    transform: translate3d(-48%, -48%, -160px) rotateX(62deg) rotateZ(var(--fx-angle)) rotateZ(var(--ambient-angle)) scale(.95);
}

.jvue-stage-director i:nth-child(2) {
    opacity: var(--fx-director-1);
    width: min(86vw, 1160px);
    height: min(56vh, 520px);
    background:
        linear-gradient(90deg, transparent 0 10%, rgba(105, 199, 240, .16) 10.2% 10.7%, transparent 11% 32%, rgba(247, 249, 255, .12) 32.2% 32.7%, transparent 33% 56%, rgba(201, 154, 85, .13) 56.2% 56.8%, transparent 57%),
        linear-gradient(0deg, transparent 0 20%, rgba(105, 199, 240, .12) 20.2% 20.7%, transparent 21% 48%, rgba(247, 249, 255, .1) 48.2% 48.6%, transparent 49% 78%, rgba(201, 154, 85, .1) 78.2% 78.6%, transparent 79%),
        radial-gradient(ellipse at 50% 52%, rgba(105, 199, 240, .14), transparent 62%);
    transform: translate3d(-50%, -50%, -230px) rotateX(66deg) rotateZ(-4deg) rotateZ(var(--ambient-angle)) skewX(-6deg);
}

.jvue-stage-director i:nth-child(3) {
    opacity: var(--fx-director-2);
    width: min(68vw, 920px);
    height: min(58vh, 520px);
    border-radius: 4px;
    background:
        linear-gradient(116deg, transparent 0, rgba(247, 249, 255, .12) 48%, transparent 58%),
        repeating-linear-gradient(0deg, transparent 0, transparent 52px, rgba(105, 199, 240, .1) 53px, transparent 55px),
        repeating-linear-gradient(90deg, transparent 0, transparent 78px, rgba(201, 154, 85, .095) 79px, transparent 81px),
        radial-gradient(ellipse at 44% 46%, rgba(105, 199, 240, .16), transparent 60%);
    transform: translate3d(-50%, -50%, -200px) rotateX(52deg) rotateY(-22deg) rotateZ(4deg) rotateZ(var(--ambient-angle));
}

.jvue-stage-director i:nth-child(4) {
    opacity: var(--fx-director-3);
    width: min(70vw, 980px);
    aspect-ratio: 1.45;
    border-radius: 50%;
    background:
        repeating-radial-gradient(ellipse at 50% 50%, transparent 0 30px, rgba(105, 199, 240, .14) 31px, transparent 34px, transparent 62px),
        conic-gradient(from var(--fx-orbit-angle), rgba(247, 249, 255, .18), transparent 12%, rgba(105, 199, 240, .11) 22%, transparent 34% 64%, rgba(201, 154, 85, .14) 70%, transparent 82% 100%);
    transform: translate3d(-50%, -50%, -260px) rotateX(74deg) rotateZ(var(--fx-angle)) rotateZ(var(--ambient-angle)) scale(1.05);
}

.jvue-stage-director i:nth-child(5) {
    opacity: var(--fx-director-4);
    width: min(78vw, 1080px);
    height: min(56vh, 520px);
    border-color: rgba(247, 249, 255, .08);
    background:
        radial-gradient(circle at 14% 22%, rgba(247, 249, 255, .52) 0 1px, transparent 2px),
        radial-gradient(circle at 28% 68%, rgba(105, 199, 240, .42) 0 1px, transparent 2px),
        radial-gradient(circle at 46% 36%, rgba(247, 249, 255, .42) 0 1px, transparent 2px),
        radial-gradient(circle at 66% 72%, rgba(105, 199, 240, .34) 0 1px, transparent 2px),
        radial-gradient(circle at 84% 30%, rgba(201, 154, 85, .34) 0 1px, transparent 2px),
        linear-gradient(32deg, transparent 0 20%, rgba(105, 199, 240, .08) 20.2% 20.6%, transparent 21% 48%, rgba(247, 249, 255, .065) 48.2% 48.6%, transparent 49%);
    transform: translate3d(-50%, -50%, -180px) rotateX(40deg) rotateZ(2deg) rotateZ(var(--ambient-angle));
}

.jvue-stage-director i:nth-child(6) {
    opacity: var(--fx-director-5);
    width: min(58vw, 780px);
    aspect-ratio: 1;
    border-radius: 50%;
    border-color: rgba(201, 154, 85, .18);
    background:
        radial-gradient(circle, transparent 0 20%, rgba(247, 249, 255, .12) 20.5% 21%, transparent 21.6% 38%, rgba(201, 154, 85, .17) 38.5% 39.1%, transparent 40% 58%, rgba(105, 199, 240, .12) 58.5% 59.1%, transparent 60%),
        conic-gradient(from var(--fx-orbit-angle), rgba(201, 154, 85, .22), transparent 14%, rgba(105, 199, 240, .12) 26%, transparent 36% 64%, rgba(247, 249, 255, .14) 70%, transparent 82% 100%);
    transform: translate3d(-50%, -50%, -170px) rotateX(55deg) rotateZ(var(--fx-angle)) rotateZ(var(--ambient-angle)) scale(.9);
}

.jvue-home.is-fx-0 .jvue-stage-director i:nth-child(1),
.jvue-home.is-fx-1 .jvue-stage-director i:nth-child(2),
.jvue-home.is-fx-2 .jvue-stage-director i:nth-child(3),
.jvue-home.is-fx-3 .jvue-stage-director i:nth-child(4),
.jvue-home.is-fx-4 .jvue-stage-director i:nth-child(5),
.jvue-home.is-fx-5 .jvue-stage-director i:nth-child(6) {
    opacity: .9;
    filter: brightness(1.12) saturate(1.08);
}

.jvue-stage-director b {
    position: absolute;
    left: var(--director-node-x, 50%);
    top: var(--director-node-y, 50%);
    width: var(--director-node-size, 6px);
    aspect-ratio: 1;
    display: block;
    border-radius: 50%;
    opacity: calc(.12 + var(--ambient-node-opacity) + var(--director-opacity-boost));
    background: rgba(247, 249, 255, .9);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .45),
        0 0 38px rgba(201, 154, 85, .12);
    transform: translate3d(-50%, -50%, 0) scale(var(--director-node-spread));
    animation: jvueDirectorNode var(--director-node-speed, 8s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-director b:nth-of-type(1) { --director-node-x: 16%; --director-node-y: 26%; --director-node-size: 5px; animation-delay: -1.2s; }
.jvue-stage-director b:nth-of-type(2) { --director-node-x: 26%; --director-node-y: 70%; --director-node-size: 7px; --director-node-speed: 9.4s; animation-delay: -4.4s; }
.jvue-stage-director b:nth-of-type(3) { --director-node-x: 38%; --director-node-y: 38%; --director-node-size: 4px; --director-node-speed: 7.2s; animation-delay: -2.6s; }
.jvue-stage-director b:nth-of-type(4) { --director-node-x: 52%; --director-node-y: 78%; --director-node-size: 6px; --director-node-speed: 10.2s; animation-delay: -6s; }
.jvue-stage-director b:nth-of-type(5) { --director-node-x: 64%; --director-node-y: 30%; --director-node-size: 5px; --director-node-speed: 8.6s; animation-delay: -3.5s; }
.jvue-stage-director b:nth-of-type(6) { --director-node-x: 78%; --director-node-y: 66%; --director-node-size: 8px; --director-node-speed: 11s; animation-delay: -7.8s; }
.jvue-stage-director b:nth-of-type(7) { --director-node-x: 86%; --director-node-y: 40%; --director-node-size: 4px; --director-node-speed: 7.8s; animation-delay: -5.1s; }
.jvue-stage-director b:nth-of-type(8) { --director-node-x: 44%; --director-node-y: 18%; --director-node-size: 5px; --director-node-speed: 9.8s; animation-delay: -8.4s; }
.jvue-stage-director b:nth-of-type(9) { --director-node-x: 58%; --director-node-y: 52%; --director-node-size: 4px; --director-node-speed: 6.9s; animation-delay: -2s; }
.jvue-stage-director b:nth-of-type(10) { --director-node-x: 72%; --director-node-y: 84%; --director-node-size: 5px; --director-node-speed: 10.8s; animation-delay: -9.2s; }
.jvue-stage-director b:nth-of-type(11) { --director-node-x: 20%; --director-node-y: 48%; --director-node-size: 4px; --director-node-speed: 8.2s; animation-delay: -6.8s; }
.jvue-stage-director b:nth-of-type(12) { --director-node-x: 90%; --director-node-y: 20%; --director-node-size: 6px; --director-node-speed: 9s; animation-delay: -3.9s; }

.jvue-home.is-scroll-active .jvue-stage-director i,
.jvue-home.is-scroll-active .jvue-stage-director b {
    animation-duration: 5.8s;
}

.jvue-stage-tableau {
    z-index: 5;
    inset: -16%;
    opacity: var(--tableau-opacity);
    perspective: 1500px;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--live-scene-x) + var(--scene-impact-x) + var(--cursor-parallax-x)), calc(var(--live-scene-y) + var(--scene-impact-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--live-scene-tilt))
        scale(var(--tableau-stage-scale));
    transition: opacity .34s linear, transform .18s linear, filter .18s linear;
    filter: saturate(1.06) contrast(1.1);
    mask-image:
        linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%),
        radial-gradient(ellipse at 55% 50%, #000 0, rgba(0, 0, 0, .88) 44%, rgba(0, 0, 0, .3) 78%, transparent 94%);
}

.jvue-stage-tableau::before,
.jvue-stage-tableau::after {
    content: "";
    position: absolute;
    inset: 8% 3%;
    pointer-events: none;
    opacity: var(--tableau-pulse-opacity);
    transform-origin: 52% 54%;
    will-change: transform, opacity, background-position;
}

.jvue-stage-tableau::before {
    border-radius: 50%;
    background:
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .18) 0, rgba(105, 199, 240, .06) 18%, transparent 42%),
        repeating-radial-gradient(ellipse at 50% 50%, transparent 0, transparent 34px, rgba(232, 237, 247, .13) 35px, transparent 37px),
        conic-gradient(from 220deg at 50% 50%, transparent 0deg, rgba(201, 154, 85, .16) 46deg, transparent 92deg, rgba(105, 199, 240, .12) 178deg, transparent 252deg, rgba(247, 249, 255, .08) 316deg, transparent 360deg);
    background-position:
        center,
        var(--tableau-scan-x) var(--tableau-scan-y),
        center;
    filter: blur(.2px) saturate(1.18);
    transform:
        translate3d(var(--tableau-drift-x), var(--tableau-drift-y), -220px)
        rotateX(64deg)
        rotateZ(calc(var(--scene-impact-angle) - 4deg))
        scale(var(--tableau-stage-scale));
    animation: jvueTableauOrbit var(--tableau-stage-speed) linear infinite;
}

.jvue-stage-tableau::after {
    inset: 18% -6%;
    background:
        linear-gradient(104deg, transparent 0, transparent 30%, rgba(247, 249, 255, .58) 45%, rgba(105, 199, 240, .22) 50%, transparent 65%, transparent 100%),
        linear-gradient(14deg, transparent 0, rgba(105, 199, 240, .1) 42%, transparent 58%),
        repeating-linear-gradient(90deg, transparent 0, transparent 86px, rgba(247, 249, 255, .08) 88px, transparent 91px);
    background-size: 170% 100%, 100% 100%, 220px 100%;
    background-position:
        var(--tableau-scan-x) 0,
        0 0,
        var(--tableau-scan-reverse) 0;
    filter: blur(.45px);
    transform:
        translate3d(var(--tableau-drift-x), var(--tableau-drift-y), -80px)
        rotate(var(--scene-impact-angle))
        skewY(-8deg);
    animation: jvueTableauSweep var(--tableau-stage-speed) ease-in-out infinite;
}

.jvue-stage-tableau section,
.jvue-stage-tableau strong,
.jvue-stage-tableau small,
.jvue-stage-tableau i,
.jvue-stage-tableau b,
.jvue-stage-tableau em {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
}

.jvue-stage-tableau section {
    inset: 0;
    opacity: 0;
    transform:
        translate3d(calc(var(--tableau-x, 0px) + var(--ambient-world-x)), calc(var(--tableau-y, 0px) + var(--ambient-world-y)), var(--tableau-z, -120px))
        rotateX(var(--tableau-rx, 58deg))
        rotateY(var(--tableau-ry, 0deg))
        rotateZ(calc(var(--tableau-rz, 0deg) + var(--ambient-angle)))
        scale(var(--tableau-scale, 1));
    transition: opacity .28s var(--jv-ease), transform .22s linear, filter .22s linear;
    transform-style: preserve-3d;
    will-change: opacity, transform, filter;
}

.jvue-stage-tableau section.active,
.jvue-home.is-fx-0 .jvue-stage-tableau section:nth-child(1),
.jvue-home.is-fx-1 .jvue-stage-tableau section:nth-child(2),
.jvue-home.is-fx-2 .jvue-stage-tableau section:nth-child(3),
.jvue-home.is-fx-3 .jvue-stage-tableau section:nth-child(4),
.jvue-home.is-fx-4 .jvue-stage-tableau section:nth-child(5),
.jvue-home.is-fx-5 .jvue-stage-tableau section:nth-child(6) {
    opacity: var(--tableau-active-opacity);
    filter: brightness(1.08) saturate(1.12);
}

.jvue-stage-tableau strong {
    left: var(--tableau-type-x, 62%);
    top: var(--tableau-type-y, 48%);
    color: transparent;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .14);
    font-size: clamp(92px, 18vw, 280px);
    line-height: .82;
    font-weight: 950;
    letter-spacing: 0;
    opacity: .16;
    text-transform: uppercase;
    text-shadow:
        0 0 48px rgba(105, 199, 240, .14),
        0 0 110px rgba(201, 154, 85, .08);
    transform: translate3d(-50%, -50%, -260px) skewX(-8deg);
}

.jvue-stage-tableau small {
    left: var(--tableau-label-x, 18%);
    top: var(--tableau-label-y, 22%);
    color: rgba(232, 237, 247, .4);
    font-size: clamp(12px, 1vw, 15px);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(0, 0, 120px);
}

.jvue-stage-tableau i {
    left: var(--tableau-plane-x, 50%);
    top: var(--tableau-plane-y, 50%);
    width: var(--tableau-plane-w, min(74vw, 980px));
    height: var(--tableau-plane-h, min(40vh, 380px));
    border: 1px solid rgba(232, 237, 247, .1);
    border-radius: var(--tableau-radius, 3px);
    background:
        linear-gradient(110deg, transparent 0, rgba(247, 249, 255, .13) 45%, rgba(105, 199, 240, .08) 52%, transparent 64%),
        repeating-linear-gradient(90deg, transparent 0, transparent var(--tableau-grid-x, 58px), rgba(105, 199, 240, .1) calc(var(--tableau-grid-x, 58px) + 1px), transparent calc(var(--tableau-grid-x, 58px) + 3px)),
        repeating-linear-gradient(0deg, transparent 0, transparent var(--tableau-grid-y, 42px), rgba(247, 249, 255, .07) calc(var(--tableau-grid-y, 42px) + 1px), transparent calc(var(--tableau-grid-y, 42px) + 2px));
    background-position:
        var(--scene-impact-scan) 0,
        calc(var(--live-bg-scan) + var(--scene-impact-scan)) 0,
        0 calc(var(--live-bg-scan-soft) + var(--scene-impact-scan-reverse));
    box-shadow:
        inset 0 0 34px rgba(105, 199, 240, .045),
        0 0 42px rgba(105, 199, 240, .065);
    opacity: var(--tableau-plane-o, .24);
    transform:
        translate3d(-50%, -50%, var(--tableau-plane-z, -120px))
        rotateX(var(--tableau-plane-rx, 0deg))
        rotateY(var(--tableau-plane-ry, 0deg))
        rotateZ(var(--tableau-plane-rz, 0deg))
        scale(var(--tableau-plane-scale, 1));
    animation: jvueTableauPlane var(--tableau-speed, 12s) ease-in-out infinite alternate;
}

.jvue-stage-tableau b {
    left: var(--tableau-node-x, 50%);
    top: var(--tableau-node-y, 50%);
    width: var(--tableau-node-size, 5px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: var(--tableau-node-o, .46);
    background: rgba(247, 249, 255, .92);
    box-shadow:
        0 0 14px rgba(105, 199, 240, .45),
        0 0 34px rgba(201, 154, 85, .16);
    transform: translate3d(-50%, -50%, var(--tableau-node-z, 160px)) scale(var(--tableau-node-scale));
    animation: jvueTableauNode var(--tableau-node-speed, 7.8s) ease-in-out infinite;
}

.jvue-stage-tableau em {
    left: var(--tableau-stream-x, 50%);
    top: var(--tableau-stream-y, 50%);
    width: var(--tableau-stream-w, min(42vw, 600px));
    height: 1px;
    border-radius: 999px;
    opacity: var(--tableau-stream-o, .26);
    background: linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .72) 46%, rgba(105, 199, 240, .35) 55%, transparent 100%);
    box-shadow: 0 0 22px rgba(105, 199, 240, .18);
    transform:
        translate3d(-50%, -50%, var(--tableau-stream-z, 180px))
        rotate(var(--tableau-stream-r, -10deg))
        scaleX(var(--tableau-stream-scale, .7));
    animation: jvueTableauStream var(--tableau-stream-speed, 4.8s) ease-in-out infinite;
}

.jvue-stage-tableau section:nth-child(1) {
    --tableau-rx: 62deg;
    --tableau-rz: -8deg;
    --tableau-scale: 1.05;
    --tableau-type-x: 58%;
    --tableau-plane-w: min(66vw, 900px);
    --tableau-plane-h: min(52vh, 520px);
    --tableau-radius: 50%;
    --tableau-grid-x: 44px;
    --tableau-grid-y: 44px;
}

.jvue-stage-tableau section:nth-child(2) {
    --tableau-x: -24px;
    --tableau-rx: 68deg;
    --tableau-rz: -2deg;
    --tableau-plane-w: min(88vw, 1200px);
    --tableau-plane-h: min(34vh, 320px);
    --tableau-plane-o: .3;
    --tableau-type-x: 66%;
    --tableau-label-y: 18%;
}

.jvue-stage-tableau section:nth-child(3) {
    --tableau-x: 34px;
    --tableau-rx: 52deg;
    --tableau-ry: -14deg;
    --tableau-rz: 5deg;
    --tableau-plane-w: min(70vw, 960px);
    --tableau-plane-h: min(58vh, 540px);
    --tableau-grid-x: 74px;
    --tableau-grid-y: 58px;
    --tableau-type-x: 64%;
}

.jvue-stage-tableau section:nth-child(4) {
    --tableau-y: 18px;
    --tableau-rx: 72deg;
    --tableau-rz: -17deg;
    --tableau-plane-w: min(90vw, 1280px);
    --tableau-plane-h: min(22vh, 240px);
    --tableau-plane-o: .34;
    --tableau-stream-scale: 1.1;
    --tableau-type-x: 56%;
}

.jvue-stage-tableau section:nth-child(5) {
    --tableau-x: 22px;
    --tableau-rx: 42deg;
    --tableau-rz: 2deg;
    --tableau-plane-w: min(80vw, 1080px);
    --tableau-plane-h: min(58vh, 520px);
    --tableau-plane-o: .2;
    --tableau-type-x: 60%;
}

.jvue-stage-tableau section:nth-child(6) {
    --tableau-rx: 58deg;
    --tableau-rz: 12deg;
    --tableau-scale: .96;
    --tableau-plane-w: min(58vw, 780px);
    --tableau-plane-h: min(48vh, 440px);
    --tableau-radius: 50%;
    --tableau-type-x: 52%;
}

.jvue-stage-tableau i:nth-of-type(1) { --tableau-plane-x: 50%; --tableau-plane-y: 50%; --tableau-plane-z: -180px; --tableau-speed: 10s; }
.jvue-stage-tableau i:nth-of-type(2) { --tableau-plane-x: 42%; --tableau-plane-y: 44%; --tableau-plane-z: -40px; --tableau-plane-scale: .74; --tableau-plane-o: .18; --tableau-speed: 12.5s; animation-delay: -4s; }
.jvue-stage-tableau i:nth-of-type(3) { --tableau-plane-x: 62%; --tableau-plane-y: 58%; --tableau-plane-z: 80px; --tableau-plane-scale: .58; --tableau-plane-o: .16; --tableau-speed: 9s; animation-delay: -2.2s; }
.jvue-stage-tableau i:nth-of-type(4) { --tableau-plane-x: 56%; --tableau-plane-y: 38%; --tableau-plane-z: -300px; --tableau-plane-scale: 1.18; --tableau-plane-o: .1; --tableau-speed: 14s; animation-delay: -6.8s; }

.jvue-stage-tableau b:nth-of-type(1) { --tableau-node-x: 22%; --tableau-node-y: 30%; --tableau-node-z: 140px; }
.jvue-stage-tableau b:nth-of-type(2) { --tableau-node-x: 34%; --tableau-node-y: 68%; --tableau-node-size: 7px; --tableau-node-speed: 8.8s; animation-delay: -2.1s; }
.jvue-stage-tableau b:nth-of-type(3) { --tableau-node-x: 48%; --tableau-node-y: 42%; --tableau-node-size: 4px; --tableau-node-z: 220px; --tableau-node-speed: 7.2s; animation-delay: -4.8s; }
.jvue-stage-tableau b:nth-of-type(4) { --tableau-node-x: 62%; --tableau-node-y: 72%; --tableau-node-size: 6px; --tableau-node-z: 180px; --tableau-node-speed: 10s; animation-delay: -5.6s; }
.jvue-stage-tableau b:nth-of-type(5) { --tableau-node-x: 76%; --tableau-node-y: 34%; --tableau-node-size: 5px; --tableau-node-z: 120px; --tableau-node-speed: 8.1s; animation-delay: -3.2s; }
.jvue-stage-tableau b:nth-of-type(6) { --tableau-node-x: 86%; --tableau-node-y: 62%; --tableau-node-size: 8px; --tableau-node-z: 260px; --tableau-node-speed: 11s; animation-delay: -6.6s; }

.jvue-stage-tableau em:nth-of-type(1) { --tableau-stream-x: 42%; --tableau-stream-y: 42%; --tableau-stream-r: -16deg; --tableau-stream-z: 120px; animation-delay: -1.2s; }
.jvue-stage-tableau em:nth-of-type(2) { --tableau-stream-x: 58%; --tableau-stream-y: 56%; --tableau-stream-r: 6deg; --tableau-stream-w: min(56vw, 760px); --tableau-stream-scale: .92; animation-delay: -2.8s; }
.jvue-stage-tableau em:nth-of-type(3) { --tableau-stream-x: 64%; --tableau-stream-y: 70%; --tableau-stream-r: -8deg; --tableau-stream-w: min(34vw, 480px); --tableau-stream-o: .18; animation-delay: -4s; }

.jvue-home.is-scroll-active .jvue-stage-tableau,
.jvue-home.is-scene-switching .jvue-stage-tableau,
.jvue-home.is-work-transitioning .jvue-stage-tableau {
    opacity: var(--tableau-opacity) !important;
    filter: saturate(1.18) contrast(1.18) brightness(1.05);
}

.jvue-home.is-scroll-active .jvue-stage-tableau section.active,
.jvue-home.is-scene-switching .jvue-stage-tableau section.active,
.jvue-home.is-work-transitioning .jvue-stage-tableau section.active {
    opacity: var(--tableau-active-opacity) !important;
    transition-duration: .12s !important;
}

.jvue-home.is-scroll-active .jvue-stage-tableau section:not(.active),
.jvue-home.is-scene-switching .jvue-stage-tableau section:not(.active),
.jvue-home.is-work-transitioning .jvue-stage-tableau section:not(.active) {
    opacity: 0 !important;
    transition-duration: .2s !important;
}

.jvue-home.is-scroll-active .jvue-stage-tableau i,
.jvue-home.is-scene-switching .jvue-stage-tableau i,
.jvue-home.is-work-transitioning .jvue-stage-tableau i,
.jvue-home.is-scroll-active .jvue-stage-tableau b,
.jvue-home.is-scene-switching .jvue-stage-tableau b,
.jvue-home.is-work-transitioning .jvue-stage-tableau b,
.jvue-home.is-scroll-active .jvue-stage-tableau em,
.jvue-home.is-scene-switching .jvue-stage-tableau em,
.jvue-home.is-work-transitioning .jvue-stage-tableau em {
    animation-duration: 6.4s !important;
}

.jvue-scene-magnet {
    position: absolute;
    inset: -18%;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
    opacity: min(.68, calc(.20 + var(--scene-magnet-opacity, .18) + var(--cinema-focus-opacity) + var(--director-opacity-boost)));
    perspective: 1600px;
    transform:
        translate3d(calc(var(--cinema-x) + var(--ambient-stage-x) + var(--cursor-parallax-x)), calc(var(--cinema-y) + var(--ambient-stage-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--cinema-tilt))
        scale(var(--cinema-scale));
    transform-origin: 50% 50%;
    transition: opacity .26s linear, transform .18s linear, filter .22s linear;
    filter: saturate(1.02) contrast(1.08);
    mask-image:
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%),
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 46%, rgba(0, 0, 0, .44) 76%, transparent 94%);
    contain: paint;
}

.jvue-scene-magnet::before,
.jvue-scene-magnet::after {
    content: "";
    position: absolute;
    inset: 0;
    display: block;
    pointer-events: none;
    mix-blend-mode: screen;
    will-change: transform, opacity, background-position;
}

.jvue-scene-magnet::before {
    z-index: 1;
    opacity: var(--scene-magnet-veil-low, .16);
    background:
        radial-gradient(ellipse at 58% 46%, rgba(105, 199, 240, .18), transparent 36%),
        repeating-linear-gradient(var(--scene-magnet-line-angle, 100deg), transparent 0, transparent 52px, rgba(216, 241, 255, .07) 54px, transparent 56px),
        linear-gradient(106deg, transparent 0 28%, rgba(216, 241, 255, .1) 43%, rgba(105, 199, 240, .08) 50%, rgba(201, 154, 85, .055) 57%, transparent 72%);
    background-size: 720px 420px, var(--scene-magnet-grid-size, 164px) var(--scene-magnet-grid-size, 164px), 260% 100%;
    background-position:
        var(--scene-magnet-flow-x, 0px) var(--scene-magnet-flow-y, 0px),
        var(--ambient-grid-x) var(--ambient-grid-y),
        var(--ambient-parallax-scan) 0;
    mask-image: radial-gradient(ellipse at var(--scene-magnet-mask-x, 58%) var(--scene-magnet-mask-y, 48%), #000 0, rgba(0, 0, 0, .82) 42%, transparent 78%);
    animation: jvueSceneMagnetVeil var(--scene-magnet-veil-speed, 8.4s) ease-in-out infinite;
}

.jvue-scene-magnet::after {
    z-index: 2;
    opacity: var(--scene-magnet-current-low, .12);
    background:
        linear-gradient(var(--scene-magnet-current-angle, 112deg), transparent 0 33%, rgba(247, 249, 255, .26) 45%, rgba(105, 199, 240, .16) 49%, rgba(201, 154, 85, .08) 53%, transparent 66%),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(216, 241, 255, .045) 35px, transparent 37px);
    background-size: 320% 100%, 156px 100%;
    background-position: var(--scene-magnet-flow-x, 0px) var(--scene-magnet-flow-y, 0px), var(--ambient-parallax-scan) 0;
    clip-path: polygon(0 22%, 100% 2%, 100% 68%, 0 92%);
    filter: blur(.2px);
    mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%);
    animation: jvueSceneMagnetCurrent var(--scene-magnet-current-speed, 5.8s) linear infinite alternate;
}

.jvue-scene-magnet span,
.jvue-scene-magnet strong,
.jvue-scene-magnet small,
.jvue-scene-magnet i,
.jvue-scene-magnet b,
.jvue-scene-magnet em {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, background-position, filter;
}

.jvue-scene-magnet span {
    inset: 0;
    opacity: 0 !important;
    transform-style: preserve-3d;
    filter: saturate(.96) contrast(1.04);
}

.jvue-scene-magnet span.active,
.jvue-home.is-fx-0 .jvue-scene-magnet span:nth-child(1),
.jvue-home.is-fx-1 .jvue-scene-magnet span:nth-child(2),
.jvue-home.is-fx-2 .jvue-scene-magnet span:nth-child(3),
.jvue-home.is-fx-3 .jvue-scene-magnet span:nth-child(4),
.jvue-home.is-fx-4 .jvue-scene-magnet span:nth-child(5),
.jvue-home.is-fx-5 .jvue-scene-magnet span:nth-child(6) {
    opacity: 1 !important;
    filter: saturate(1.1) contrast(1.18);
    animation: jvueSceneMagnetLayer var(--scene-magnet-layer-speed, 10.2s) ease-in-out infinite;
}

.jvue-scene-magnet span::before,
.jvue-scene-magnet span::after {
    content: "";
    position: absolute;
    left: var(--magnet-x, 56%);
    top: var(--magnet-y, 50%);
    width: var(--magnet-w, min(58vw, 820px));
    height: var(--magnet-h, min(52vh, 470px));
    border-radius: var(--magnet-radius, 50%);
    border: 1px solid rgba(216, 241, 255, .075);
    background:
        radial-gradient(ellipse at 50% 50%, transparent 0 42%, rgba(105, 199, 240, .055) 43%, transparent 45%),
        repeating-conic-gradient(from var(--magnet-conic, 0deg), rgba(216, 241, 255, .075) 0 1.4deg, transparent 1.4deg 9deg),
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .032), transparent 64%);
    box-shadow:
        inset 0 0 70px rgba(105, 199, 240, .025),
        0 34px 130px rgba(0, 0, 0, .24);
    transform:
        translate3d(-50%, -50%, var(--magnet-z, -180px))
        rotateX(var(--magnet-rx, 60deg))
        rotateY(var(--magnet-ry, 0deg))
        rotateZ(var(--magnet-rz, -8deg))
        skewX(var(--magnet-skew, 0deg))
        scale(var(--magnet-scale, 1));
    opacity: var(--magnet-o, .26);
    animation: jvueSceneMagnetOrbit var(--magnet-speed, 12s) ease-in-out infinite alternate;
}

.jvue-scene-magnet span::after {
    width: var(--magnet-w2, min(76vw, 1120px));
    height: var(--magnet-h2, min(18vh, 190px));
    border-radius: var(--magnet-radius2, 8px);
    border-color: rgba(201, 154, 85, .075);
    background:
        linear-gradient(100deg, transparent 0, rgba(216, 241, 255, .09) 42%, rgba(105, 199, 240, .065) 50%, rgba(201, 154, 85, .05) 58%, transparent 72%),
        repeating-linear-gradient(90deg, transparent 0, transparent 42px, rgba(216, 241, 255, .028) 43px, transparent 45px);
    background-size: 210% 100%, 128px 100%;
    background-position: var(--cinema-scan) 0, var(--ambient-grid-x) 0;
    transform:
        translate3d(-50%, -50%, var(--magnet-z2, -80px))
        rotateX(var(--magnet-rx2, 56deg))
        rotateY(var(--magnet-ry2, 0deg))
        rotateZ(var(--magnet-rz2, 10deg))
        skewX(var(--magnet-skew2, -10deg))
        scale(var(--magnet-scale2, .98));
    clip-path: var(--magnet-clip, polygon(0 16%, 100% 0, 92% 84%, 8% 100%));
    opacity: var(--magnet-o2, .18);
    animation: jvueSceneMagnetSweep var(--magnet-sweep-speed, 7.6s) ease-in-out infinite;
}

.jvue-scene-magnet strong {
    left: var(--magnet-type-x, 50%);
    top: var(--magnet-type-y, 50%);
    z-index: 3;
    color: transparent;
    font-size: clamp(88px, 17vw, 300px);
    line-height: .78;
    font-weight: 950;
    letter-spacing: 0;
    -webkit-text-stroke: 1px rgba(216, 241, 255, .055);
    opacity: var(--magnet-type-o, .055);
    transform:
        translate3d(-50%, -50%, var(--magnet-type-z, -40px))
        rotate(var(--magnet-type-r, -7deg))
        skewX(var(--magnet-type-skew, -8deg));
    text-transform: uppercase;
    text-shadow: 0 0 54px rgba(105, 199, 240, .07);
}

.jvue-scene-magnet small {
    left: var(--magnet-label-x, 14%);
    top: var(--magnet-label-y, 18%);
    z-index: 4;
    padding-left: 48px;
    color: rgba(216, 241, 255, .24);
    font-size: 11px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0) skewX(-8deg);
}

.jvue-scene-magnet small::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .42), rgba(201, 154, 85, .32));
}

.jvue-scene-magnet i {
    left: var(--magnet-line-x, 50%);
    top: var(--magnet-line-y, 50%);
    z-index: 5;
    width: var(--magnet-line-w, min(54vw, 780px));
    height: var(--magnet-line-h, 1px);
    border-radius: 999px;
    opacity: var(--magnet-line-o, .18);
    background:
        linear-gradient(90deg, transparent, rgba(216, 241, 255, .32), rgba(105, 199, 240, .14), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(216, 241, 255, .07) 29px, transparent 31px);
    background-position: 0 0, calc(var(--cinema-scan) + var(--ambient-parallax-scan)) 0;
    transform:
        translate3d(-50%, -50%, var(--magnet-line-z, 0))
        rotate(var(--magnet-line-r, -10deg))
        translate3d(var(--motion-field-x), var(--motion-field-y), 0)
        scaleX(var(--magnet-line-scale, 1));
    transform-origin: center;
    animation: jvueSceneMagnetLine var(--magnet-line-speed, 5.4s) ease-in-out infinite;
    animation-delay: var(--magnet-line-delay, 0s);
}

.jvue-scene-magnet b {
    left: var(--magnet-node-x, 50%);
    top: var(--magnet-node-y, 50%);
    z-index: 6;
    width: var(--magnet-node-size, 5px);
    height: var(--magnet-node-size, 5px);
    border-radius: 50%;
    opacity: var(--magnet-node-o, .30);
    background: rgba(216, 241, 255, .72);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .28),
        0 0 54px rgba(201, 154, 85, .09);
    transform:
        translate3d(-50%, -50%, var(--magnet-node-z, 0))
        translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0);
    animation: jvueSceneMagnetNode var(--magnet-node-speed, 6.8s) ease-in-out infinite;
    animation-delay: var(--magnet-node-delay, 0s);
}

.jvue-scene-magnet em {
    left: var(--magnet-tile-x, 50%);
    top: var(--magnet-tile-y, 50%);
    z-index: 2;
    width: var(--magnet-tile-w, 130px);
    height: var(--magnet-tile-h, 74px);
    border: 1px solid rgba(105, 199, 240, .065);
    border-radius: 5px;
    opacity: var(--magnet-tile-o, .10);
    background:
        linear-gradient(135deg, rgba(105, 199, 240, .045), transparent 42%),
        repeating-linear-gradient(90deg, transparent 0, transparent 16px, rgba(216, 241, 255, .04) 17px, transparent 18px);
    transform:
        translate3d(-50%, -50%, var(--magnet-tile-z, -20px))
        rotateX(var(--magnet-tile-rx, 56deg))
        rotateZ(var(--magnet-tile-rz, -6deg))
        skewX(var(--magnet-tile-skew, -8deg));
    animation: jvueSceneMagnetTile var(--magnet-tile-speed, 8s) ease-in-out infinite alternate;
    animation-delay: var(--magnet-tile-delay, 0s);
}

.jvue-scene-magnet i:nth-of-type(1) { --magnet-line-x: 28%; --magnet-line-y: 34%; --magnet-line-r: -14deg; --magnet-line-w: min(34vw, 520px); --magnet-line-o: .18; --magnet-line-speed: 5.2s; --magnet-line-delay: -.6s; }
.jvue-scene-magnet i:nth-of-type(2) { --magnet-line-x: 62%; --magnet-line-y: 42%; --magnet-line-r: 8deg; --magnet-line-w: min(62vw, 900px); --magnet-line-o: .28; --magnet-line-speed: 4.1s; --magnet-line-delay: -2.2s; }
.jvue-scene-magnet i:nth-of-type(3) { --magnet-line-x: 48%; --magnet-line-y: 62%; --magnet-line-r: -3deg; --magnet-line-w: min(74vw, 1080px); --magnet-line-o: .18; --magnet-line-speed: 5.8s; --magnet-line-delay: -3.1s; }
.jvue-scene-magnet i:nth-of-type(4) { --magnet-line-x: 78%; --magnet-line-y: 72%; --magnet-line-r: 18deg; --magnet-line-w: min(30vw, 440px); --magnet-line-o: .15; --magnet-line-speed: 6.4s; --magnet-line-delay: -4.4s; }

.jvue-scene-magnet b:nth-of-type(1) { --magnet-node-x: 22%; --magnet-node-y: 28%; --magnet-node-delay: -.2s; }
.jvue-scene-magnet b:nth-of-type(2) { --magnet-node-x: 38%; --magnet-node-y: 64%; --magnet-node-size: 7px; --magnet-node-delay: -1.1s; }
.jvue-scene-magnet b:nth-of-type(3) { --magnet-node-x: 53%; --magnet-node-y: 38%; --magnet-node-size: 4px; --magnet-node-delay: -2.1s; }
.jvue-scene-magnet b:nth-of-type(4) { --magnet-node-x: 66%; --magnet-node-y: 72%; --magnet-node-size: 6px; --magnet-node-delay: -3s; }
.jvue-scene-magnet b:nth-of-type(5) { --magnet-node-x: 78%; --magnet-node-y: 34%; --magnet-node-size: 5px; --magnet-node-delay: -4.2s; }
.jvue-scene-magnet b:nth-of-type(6) { --magnet-node-x: 86%; --magnet-node-y: 58%; --magnet-node-size: 4px; --magnet-node-delay: -5.2s; }

.jvue-scene-magnet em:nth-of-type(1) { --magnet-tile-x: 32%; --magnet-tile-y: 55%; --magnet-tile-rz: -12deg; --magnet-tile-delay: -.7s; }
.jvue-scene-magnet em:nth-of-type(2) { --magnet-tile-x: 70%; --magnet-tile-y: 44%; --magnet-tile-rz: 9deg; --magnet-tile-w: 168px; --magnet-tile-delay: -2.4s; }

.jvue-scene-magnet span:nth-child(1) { --magnet-x: 56%; --magnet-y: 50%; --magnet-w: min(58vw, 820px); --magnet-h: min(50vh, 460px); --magnet-rx: 66deg; --magnet-rz: -10deg; --magnet-type-x: 56%; --magnet-type-y: 50%; --magnet-label-x: 12%; --magnet-label-y: 18%; }
.jvue-scene-magnet span:nth-child(2) { --magnet-x: 54%; --magnet-y: 48%; --magnet-w: min(84vw, 1180px); --magnet-h: min(26vh, 250px); --magnet-radius: 8px; --magnet-rx: 58deg; --magnet-rz: 2deg; --magnet-skew: -8deg; --magnet-type-x: 58%; --magnet-type-y: 42%; --magnet-type-r: 1deg; --magnet-label-x: 14%; --magnet-label-y: 20%; }
.jvue-scene-magnet span:nth-child(3) { --magnet-x: 58%; --magnet-y: 52%; --magnet-w: min(70vw, 980px); --magnet-h: min(42vh, 390px); --magnet-radius: 10px; --magnet-rx: 48deg; --magnet-ry: -14deg; --magnet-rz: 7deg; --magnet-o: .22; --magnet-type-x: 62%; --magnet-type-y: 54%; --magnet-label-x: 12%; --magnet-label-y: 22%; --magnet-tile-o: .15; }
.jvue-scene-magnet span:nth-child(4) { --magnet-x: 50%; --magnet-y: 50%; --magnet-w: min(96vw, 1340px); --magnet-h: min(18vh, 190px); --magnet-radius: 7px; --magnet-rx: 62deg; --magnet-rz: -17deg; --magnet-skew: -16deg; --magnet-o: .18; --magnet-o2: .26; --magnet-type-x: 54%; --magnet-type-y: 48%; --magnet-type-r: -15deg; --magnet-label-x: 10%; --magnet-label-y: 18%; }
.jvue-scene-magnet span:nth-child(5) { --magnet-x: 55%; --magnet-y: 48%; --magnet-w: min(52vw, 720px); --magnet-h: min(52vh, 470px); --magnet-rx: 50deg; --magnet-rz: 0deg; --magnet-conic: 18deg; --magnet-o: .20; --magnet-type-x: 50%; --magnet-type-y: 45%; --magnet-label-x: 14%; --magnet-label-y: 22%; }
.jvue-scene-magnet span:nth-child(6) { --magnet-x: 50%; --magnet-y: 51%; --magnet-w: min(44vw, 620px); --magnet-h: min(56vh, 520px); --magnet-radius: 9px; --magnet-rx: 46deg; --magnet-rz: 12deg; --magnet-skew: 9deg; --magnet-o: .22; --magnet-type-x: 50%; --magnet-type-y: 50%; --magnet-label-x: 16%; --magnet-label-y: 20%; }

.jvue-home.is-fx-0 .jvue-scene-magnet {
    --scene-magnet-line-angle: 104deg;
    --scene-magnet-current-angle: 118deg;
    --scene-magnet-grid-size: 148px;
    --scene-magnet-mask-x: 58%;
    --scene-magnet-mask-y: 47%;
    --scene-magnet-veil-low: .18;
    --scene-magnet-veil-high: .36;
    --scene-magnet-current-low: .10;
    --scene-magnet-current-high: .24;
    --scene-magnet-veil-speed: 8s;
    --scene-magnet-current-speed: 5.2s;
    --scene-magnet-layer-speed: 10.2s;
}

.jvue-home.is-fx-1 .jvue-scene-magnet {
    --scene-magnet-line-angle: 92deg;
    --scene-magnet-current-angle: 96deg;
    --scene-magnet-grid-size: 112px;
    --scene-magnet-mask-x: 50%;
    --scene-magnet-mask-y: 48%;
    --scene-magnet-veil-low: .20;
    --scene-magnet-veil-high: .40;
    --scene-magnet-current-low: .13;
    --scene-magnet-current-high: .30;
    --scene-magnet-veil-speed: 7.2s;
    --scene-magnet-current-speed: 4.7s;
    --scene-magnet-layer-speed: 8.8s;
}

.jvue-home.is-fx-2 .jvue-scene-magnet {
    --scene-magnet-line-angle: 0deg;
    --scene-magnet-current-angle: 110deg;
    --scene-magnet-grid-size: 96px;
    --scene-magnet-mask-x: 52%;
    --scene-magnet-mask-y: 52%;
    --scene-magnet-veil-low: .18;
    --scene-magnet-veil-high: .34;
    --scene-magnet-current-low: .09;
    --scene-magnet-current-high: .22;
    --scene-magnet-veil-speed: 8.8s;
    --scene-magnet-current-speed: 6.1s;
    --scene-magnet-layer-speed: 11.4s;
}

.jvue-home.is-fx-3 .jvue-scene-magnet {
    --scene-magnet-line-angle: 116deg;
    --scene-magnet-current-angle: 124deg;
    --scene-magnet-grid-size: 134px;
    --scene-magnet-mask-x: 48%;
    --scene-magnet-mask-y: 50%;
    --scene-magnet-veil-low: .14;
    --scene-magnet-veil-high: .28;
    --scene-magnet-current-low: .08;
    --scene-magnet-current-high: .2;
    --scene-magnet-veil-speed: 6.4s;
    --scene-magnet-current-speed: 3.9s;
    --scene-magnet-layer-speed: 7.8s;
}

.jvue-home.is-fx-3 .jvue-stage-cuts i {
    --cut-line-o: .08;
    --cut-line-scale: .62;
}

.jvue-home.is-fx-3 .jvue-stage-cuts i:nth-of-type(2) {
    --cut-line-o: .12;
}

.jvue-home.is-fx-4 .jvue-scene-magnet {
    --scene-magnet-line-angle: 88deg;
    --scene-magnet-current-angle: 104deg;
    --scene-magnet-grid-size: 156px;
    --scene-magnet-mask-x: 54%;
    --scene-magnet-mask-y: 44%;
    --scene-magnet-veil-low: .16;
    --scene-magnet-veil-high: .32;
    --scene-magnet-current-low: .10;
    --scene-magnet-current-high: .22;
    --scene-magnet-veil-speed: 9.6s;
    --scene-magnet-current-speed: 6.8s;
    --scene-magnet-layer-speed: 12.6s;
}

.jvue-home.is-fx-5 .jvue-scene-magnet {
    --scene-magnet-line-angle: 100deg;
    --scene-magnet-current-angle: 100deg;
    --scene-magnet-grid-size: 184px;
    --scene-magnet-mask-x: 50%;
    --scene-magnet-mask-y: 50%;
    --scene-magnet-veil-low: .12;
    --scene-magnet-veil-high: .24;
    --scene-magnet-current-low: .08;
    --scene-magnet-current-high: .18;
    --scene-magnet-veil-speed: 10.6s;
    --scene-magnet-current-speed: 7.4s;
    --scene-magnet-layer-speed: 13.2s;
}

.jvue-home.is-fx-1 .jvue-scene-magnet::before {
    background:
        linear-gradient(90deg, transparent 0 16%, rgba(105, 199, 240, .13) 32%, rgba(216, 241, 255, .11) 50%, rgba(201, 154, 85, .06) 66%, transparent 84%),
        repeating-linear-gradient(0deg, transparent 0, transparent 34px, rgba(216, 241, 255, .06) 36px, transparent 38px),
        repeating-linear-gradient(90deg, transparent 0, transparent 116px, rgba(105, 199, 240, .05) 118px, transparent 120px);
    background-size: 260% 100%, 100% 128px, 180px 100%;
}

.jvue-home.is-fx-2 .jvue-scene-magnet::before {
    background:
        radial-gradient(ellipse at 52% 52%, rgba(105, 199, 240, .12), transparent 38%),
        repeating-linear-gradient(0deg, transparent 0, transparent 82px, rgba(216, 241, 255, .055) 84px, transparent 86px),
        repeating-linear-gradient(90deg, transparent 0, transparent 118px, rgba(201, 154, 85, .045) 120px, transparent 122px);
    background-size: 680px 460px, 100% 180px, 210px 100%;
}

.jvue-home.is-fx-3 .jvue-scene-magnet::before {
    background:
        linear-gradient(116deg, transparent 0 24%, rgba(247, 249, 255, .18) 42%, rgba(105, 199, 240, .13) 50%, rgba(201, 154, 85, .07) 58%, transparent 76%),
        repeating-linear-gradient(116deg, transparent 0, transparent 58px, rgba(216, 241, 255, .07) 60px, transparent 62px),
        radial-gradient(ellipse at 66% 42%, rgba(105, 199, 240, .13), transparent 36%);
    background-size: 300% 100%, 220px 220px, 760px 420px;
}

.jvue-home.is-fx-4 .jvue-scene-magnet::before {
    background:
        radial-gradient(ellipse at 56% 44%, rgba(216, 241, 255, .12), transparent 36%),
        repeating-linear-gradient(90deg, transparent 0, transparent 46px, rgba(105, 199, 240, .05) 48px, transparent 50px),
        repeating-linear-gradient(0deg, transparent 0, transparent 88px, rgba(201, 154, 85, .042) 90px, transparent 92px);
    background-size: 640px 460px, 156px 100%, 100% 186px;
}

.jvue-home.is-fx-5 .jvue-scene-magnet::before {
    background:
        radial-gradient(ellipse at 50% 50%, rgba(216, 241, 255, .12), transparent 42%),
        repeating-linear-gradient(100deg, transparent 0, transparent 72px, rgba(216, 241, 255, .048) 74px, transparent 76px),
        linear-gradient(100deg, transparent 0 34%, rgba(105, 199, 240, .09) 48%, rgba(201, 154, 85, .055) 56%, transparent 70%);
    background-size: 740px 520px, 220px 220px, 260% 100%;
}

.jvue-home.is-scroll-active .jvue-scene-magnet,
.jvue-home.is-scene-switching .jvue-scene-magnet,
.jvue-home.is-work-transitioning .jvue-scene-magnet {
    opacity: min(.76, calc(.24 + var(--scene-magnet-opacity, .2) + var(--cinema-focus-opacity) + var(--director-opacity-boost))) !important;
    filter: saturate(1.08) contrast(1.14) brightness(1.02);
}

.jvue-home.is-scene-switching .jvue-scene-magnet span::after,
.jvue-home.is-work-transitioning .jvue-scene-magnet span::after {
    animation-duration: 2.4s;
}

.jvue-stage-cuts {
    position: absolute;
    inset: -18%;
    z-index: 6;
    pointer-events: none;
    overflow: hidden;
    opacity: min(.38, calc(.12 + var(--cinema-wipe-opacity) + var(--director-opacity-boost)));
    perspective: 1500px;
    transform:
        translate3d(calc(var(--cinema-wipe-x) + var(--ambient-stage-x) + var(--cursor-parallax-x)), calc(var(--cinema-wipe-y) + var(--ambient-stage-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--cinema-wipe-angle))
        scale(var(--cinema-wipe-scale));
    transform-origin: 50% 50%;
    transition: opacity .28s linear, transform .2s linear, filter .24s linear;
    filter: saturate(1.04) contrast(1.12);
    mask-image:
        linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%),
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .94) 44%, rgba(0, 0, 0, .56) 74%, transparent 92%);
    contain: paint;
}

.jvue-stage-cuts::before,
.jvue-stage-cuts::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    mix-blend-mode: screen;
}

.jvue-stage-cuts::before {
    opacity: .22;
    background:
        linear-gradient(106deg, transparent 0, rgba(247, 249, 255, .14) 42%, rgba(105, 199, 240, .12) 48%, rgba(201, 154, 85, .06) 55%, transparent 68%),
        repeating-linear-gradient(90deg, transparent 0, transparent 42px, rgba(247, 249, 255, .055) 43px, transparent 45px);
    background-size: 280% 100%, 160px 100%;
    background-position:
        calc(var(--cinema-scan) + var(--cinema-ambient-scan)) 0,
        var(--ambient-grid-x) 0;
    animation: jvueStageCutsSweep 4.8s linear infinite;
}

.jvue-stage-cuts::after {
    opacity: .14;
    background:
        radial-gradient(circle at 18% 24%, rgba(247, 249, 255, .22) 0 1px, transparent 2px),
        radial-gradient(circle at 48% 62%, rgba(105, 199, 240, .18) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 44%, rgba(201, 154, 85, .14) 0 1px, transparent 2px);
    background-size: 96px 96px, 126px 126px, 168px 168px;
    background-position:
        var(--ambient-grid-x) var(--ambient-grid-y),
        var(--ambient-sweep-x) var(--ambient-parallax-y),
        var(--cinema-scan) calc(0px - var(--ambient-grid-y));
    animation: jvueStageCutsNoise 7.4s steps(9, end) infinite;
}

.jvue-stage-cuts span,
.jvue-stage-cuts strong,
.jvue-stage-cuts small,
.jvue-stage-cuts i,
.jvue-stage-cuts b,
.jvue-stage-cuts em {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, background-position, filter;
}

.jvue-stage-cuts span {
    inset: 0;
    opacity: 0 !important;
    transform-style: preserve-3d;
    transform:
        translate3d(var(--stage-frame-x), var(--stage-frame-y), 0)
        rotate(var(--stage-frame-angle))
        scale(var(--stage-frame-scale));
    transition: filter .28s linear;
    filter: saturate(.98) contrast(1.06);
}

.jvue-stage-cuts span.active,
.jvue-home.is-fx-0 .jvue-stage-cuts span:nth-child(1),
.jvue-home.is-fx-1 .jvue-stage-cuts span:nth-child(2),
.jvue-home.is-fx-2 .jvue-stage-cuts span:nth-child(3),
.jvue-home.is-fx-3 .jvue-stage-cuts span:nth-child(4),
.jvue-home.is-fx-4 .jvue-stage-cuts span:nth-child(5),
.jvue-home.is-fx-5 .jvue-stage-cuts span:nth-child(6) {
    opacity: 1 !important;
    filter: saturate(1.08) contrast(1.18);
}

.jvue-stage-cuts span::before,
.jvue-stage-cuts span::after {
    content: "";
    position: absolute;
    pointer-events: none;
    left: var(--cut-panel-x, 50%);
    top: var(--cut-panel-y, 50%);
    width: var(--cut-panel-w, 70vw);
    height: var(--cut-panel-h, 34vh);
    border: 1px solid rgba(247, 249, 255, .08);
    border-radius: 6px;
    background:
        linear-gradient(118deg, rgba(105, 199, 240, .045), rgba(5, 9, 14, .16) 40%, rgba(201, 154, 85, .035)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .08) 46%, rgba(105, 199, 240, .07) 52%, transparent 62%),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .035) 35px, transparent 37px);
    background-position:
        0 0,
        var(--cinema-scan) 0,
        var(--ambient-grid-x) 0;
    box-shadow:
        0 24px 88px rgba(0, 0, 0, .18),
        inset 0 0 38px rgba(105, 199, 240, .04);
    transform:
        translate3d(-50%, -50%, var(--cut-panel-z, -160px))
        rotateX(var(--cut-panel-rx, 54deg))
        rotateY(var(--cut-panel-ry, 0deg))
        rotateZ(var(--cut-panel-rz, -10deg))
        skewX(var(--cut-panel-skew, -8deg))
        scale(var(--cut-panel-scale, .96));
    clip-path: polygon(0 11%, 100% 0, 92% 86%, 8% 100%);
    animation: jvueStageCutsPanel var(--cut-panel-speed, 7.2s) ease-in-out infinite;
}

.jvue-stage-cuts span::after {
    opacity: .42;
    width: var(--cut-panel-w2, 46vw);
    height: var(--cut-panel-h2, 16vh);
    border-color: rgba(105, 199, 240, .12);
    background:
        linear-gradient(105deg, transparent 0, rgba(247, 249, 255, .12) 44%, rgba(105, 199, 240, .12) 50%, transparent 64%),
        rgba(105, 199, 240, .035);
    transform:
        translate3d(-50%, -50%, var(--cut-panel-z2, -60px))
        rotateX(var(--cut-panel-rx, 54deg))
        rotateZ(var(--cut-panel-rz2, 10deg))
        skewX(var(--cut-panel-skew2, 12deg))
        scale(.94);
    clip-path: polygon(7% 0, 100% 17%, 91% 100%, 0 80%);
    animation-duration: 5.6s;
    animation-direction: reverse;
}

.jvue-stage-cuts strong {
    left: var(--cut-type-x, 50%);
    top: var(--cut-type-y, 48%);
    z-index: 2;
    color: transparent;
    font-size: clamp(96px, 18vw, 320px);
    line-height: .78;
    font-weight: 950;
    letter-spacing: 0;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .12);
    opacity: .08;
    text-transform: uppercase;
    transform:
        translate3d(-50%, -50%, var(--cut-type-z, -20px))
        rotate(var(--cut-type-r, -6deg))
        skewX(-7deg);
    text-shadow:
        0 0 42px rgba(105, 199, 240, .12),
        0 0 82px rgba(0, 0, 0, .58);
}

.jvue-stage-cuts small {
    left: var(--cut-label-x, 12%);
    top: var(--cut-label-y, 22%);
    z-index: 3;
    padding-left: 46px;
    color: rgba(247, 249, 255, .26);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(var(--cinema-ambient-x), var(--cinema-ambient-y), 0) skewX(-8deg);
}

.jvue-stage-cuts small::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 154, 85, .68), rgba(105, 199, 240, .46));
}

.jvue-stage-cuts i {
    left: -18%;
    top: var(--cut-line-y, 50%);
    z-index: 4;
    width: 136%;
    height: var(--cut-line-h, 1px);
    border-radius: 999px;
    opacity: var(--cut-line-o, .26);
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .42), rgba(105, 199, 240, .18), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 24px, rgba(247, 249, 255, .1) 25px, transparent 27px);
    background-position:
        0 0,
        calc(var(--cinema-scan) + var(--ambient-parallax-scan)) 0;
    transform:
        rotate(var(--cut-line-r, -12deg))
        translate3d(var(--cut-line-x, 0px), 0, 0)
        scaleX(var(--cut-line-scale, .82));
    animation: jvueStageCutsLine var(--cut-line-speed, 3.6s) ease-in-out infinite;
}

.jvue-stage-cuts b {
    left: var(--cut-node-x, 50%);
    top: var(--cut-node-y, 50%);
    z-index: 5;
    width: var(--cut-node-size, 5px);
    height: var(--cut-node-size, 5px);
    border-radius: 50%;
    opacity: var(--cut-node-o, .34);
    background: rgba(247, 249, 255, .76);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .36),
        0 0 46px rgba(201, 154, 85, .12);
    transform:
        translate3d(-50%, -50%, var(--cut-node-z, 0))
        translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0);
    animation: jvueStageCutsNode var(--cut-node-speed, 5.8s) ease-in-out infinite;
}

.jvue-stage-cuts em {
    inset: 0;
    z-index: 1;
    opacity: .2;
    background:
        linear-gradient(90deg, rgba(247, 249, 255, .035) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(0deg, transparent 0, transparent 7px, rgba(247, 249, 255, .026) 8px, transparent 9px);
    background-size: 86px 100%, 100% 9px;
    background-position: var(--cinema-scan) 0, 0 var(--ambient-grid-y);
    animation: jvueStageCutsNoise 1.2s steps(4, end) infinite;
}

.jvue-stage-cuts i:nth-of-type(1) { --cut-line-y: 31%; --cut-line-r: -14deg; --cut-line-h: 11vh; --cut-line-o: .13; --cut-line-speed: 5.4s; }
.jvue-stage-cuts i:nth-of-type(2) { --cut-line-y: 50%; --cut-line-r: 8deg; --cut-line-h: 1px; --cut-line-o: .44; --cut-line-scale: 1; --cut-line-speed: 3.1s; }
.jvue-stage-cuts i:nth-of-type(3) { --cut-line-y: 69%; --cut-line-r: -7deg; --cut-line-h: 8vh; --cut-line-o: .12; --cut-line-scale: .72; --cut-line-speed: 4.7s; }

.jvue-stage-cuts b:nth-of-type(1) { --cut-node-x: 22%; --cut-node-y: 32%; --cut-node-delay: -.4s; }
.jvue-stage-cuts b:nth-of-type(2) { --cut-node-x: 62%; --cut-node-y: 46%; --cut-node-size: 7px; --cut-node-delay: -1.8s; }
.jvue-stage-cuts b:nth-of-type(3) { --cut-node-x: 82%; --cut-node-y: 72%; --cut-node-size: 4px; --cut-node-delay: -3.2s; }

.jvue-stage-cuts span:nth-child(1) { --cut-panel-x: 50%; --cut-panel-y: 50%; --cut-panel-w: min(64vw, 900px); --cut-panel-h: min(44vh, 420px); --cut-panel-rx: 64deg; --cut-panel-rz: -10deg; --cut-type-x: 52%; --cut-type-y: 50%; --cut-label-x: 12%; --cut-label-y: 20%; }
.jvue-stage-cuts span:nth-child(2) { --cut-panel-x: 54%; --cut-panel-y: 46%; --cut-panel-w: min(86vw, 1200px); --cut-panel-h: min(30vh, 300px); --cut-panel-rx: 66deg; --cut-panel-rz: 0deg; --cut-panel-skew: -4deg; --cut-type-x: 58%; --cut-type-y: 42%; --cut-label-x: 15%; --cut-label-y: 18%; }
.jvue-stage-cuts span:nth-child(3) { --cut-panel-x: 58%; --cut-panel-y: 52%; --cut-panel-w: min(70vw, 980px); --cut-panel-h: min(54vh, 520px); --cut-panel-rx: 52deg; --cut-panel-ry: -16deg; --cut-panel-rz: 6deg; --cut-panel-skew: 5deg; --cut-type-x: 62%; --cut-type-y: 54%; --cut-label-x: 13%; --cut-label-y: 23%; }
.jvue-stage-cuts span:nth-child(4) { --cut-panel-x: 52%; --cut-panel-y: 50%; --cut-panel-w: min(88vw, 1260px); --cut-panel-h: min(22vh, 240px); --cut-panel-rx: 60deg; --cut-panel-rz: -18deg; --cut-panel-skew: -14deg; --cut-type-x: 54%; --cut-type-y: 48%; --cut-type-r: -14deg; --cut-label-x: 10%; --cut-label-y: 18%; }
.jvue-stage-cuts span:nth-child(5) { --cut-panel-x: 54%; --cut-panel-y: 48%; --cut-panel-w: min(74vw, 1040px); --cut-panel-h: min(40vh, 380px); --cut-panel-rx: 42deg; --cut-panel-rz: 2deg; --cut-panel-skew: -6deg; --cut-type-x: 50%; --cut-type-y: 45%; --cut-label-x: 14%; --cut-label-y: 22%; }
.jvue-stage-cuts span:nth-child(6) { --cut-panel-x: 50%; --cut-panel-y: 52%; --cut-panel-w: min(58vw, 780px); --cut-panel-h: min(46vh, 430px); --cut-panel-rx: 55deg; --cut-panel-rz: 12deg; --cut-panel-skew: 8deg; --cut-type-x: 50%; --cut-type-y: 50%; --cut-label-x: 16%; --cut-label-y: 20%; }

.jvue-home.is-scroll-active .jvue-stage-cuts,
.jvue-home.is-scene-switching .jvue-stage-cuts,
.jvue-home.is-work-transitioning .jvue-stage-cuts {
    opacity: min(.48, calc(.16 + var(--cinema-wipe-opacity) + var(--director-opacity-boost))) !important;
    filter: saturate(1.06) contrast(1.12) brightness(1.02);
}

.jvue-home.is-scene-switching .jvue-stage-cuts i,
.jvue-home.is-work-transitioning .jvue-stage-cuts i {
    animation-duration: 1.8s;
}

.jvue-stage-morph {
    z-index: 4;
    inset: -18%;
    opacity: calc(var(--morph-opacity) + var(--fx-morph-opacity-boost));
    mix-blend-mode: screen;
    perspective: 1200px;
    transform:
        translate3d(calc(var(--fx-morph-x) + var(--cursor-parallax-x) + var(--ambient-morph-x)), calc(var(--fx-morph-y) + var(--cursor-parallax-y) + var(--ambient-morph-y)), 0)
        rotate(var(--fx-morph-tilt))
        rotate(var(--ambient-angle))
        scale(var(--fx-morph-scale));
    transform-origin: center;
    transition: opacity .42s var(--jv-ease), transform .24s linear;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .9) 42%, transparent 76%);
}

.jvue-stage-morph i {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    opacity: 0;
    border: 1px solid rgba(232, 237, 245, .08);
    transform-origin: center;
    transition: filter .62s var(--jv-ease), transform .62s var(--jv-ease);
    animation: jvueMorphDrift 13s ease-in-out infinite alternate;
    will-change: transform, opacity, background-position;
}

.jvue-stage-morph i::before,
.jvue-stage-morph i::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.jvue-stage-morph i::before {
    opacity: .62;
    background: linear-gradient(100deg, transparent 0, rgba(247, 249, 255, .12) 42%, rgba(105, 199, 240, .08) 48%, transparent 58%);
    background-size: 260% 100%;
    animation: jvueMorphScan 5.6s linear infinite;
}

.jvue-stage-morph i::after {
    opacity: .34;
    background:
        radial-gradient(circle at 18% 24%, rgba(247, 249, 255, .36) 0 1px, transparent 2px),
        radial-gradient(circle at 64% 42%, rgba(105, 199, 240, .28) 0 1px, transparent 2px),
        radial-gradient(circle at 82% 76%, rgba(201, 154, 85, .22) 0 1px, transparent 2px);
}

.jvue-stage-morph i:nth-child(1) {
    opacity: var(--fx-morph-0);
    width: min(92vw, 1380px);
    height: min(68vh, 660px);
    border-color: rgba(105, 199, 240, .1);
    background:
        linear-gradient(102deg, transparent 0 8%, rgba(105, 199, 240, .1) 8.2% 8.6%, transparent 9% 28%, rgba(247, 249, 255, .08) 28.2% 28.7%, transparent 29% 52%, rgba(201, 154, 85, .1) 52.2% 52.8%, transparent 53% 100%),
        repeating-linear-gradient(92deg, transparent 0 42px, rgba(255, 255, 255, .028) 43px, transparent 45px),
        radial-gradient(ellipse at 42% 54%, rgba(105, 199, 240, .2), transparent 58%);
    transform: translate3d(-50%, -50%, -180px) rotateX(54deg) rotateZ(var(--morph-angle)) skewX(-8deg);
}

.jvue-stage-morph i:nth-child(2) {
    opacity: var(--fx-morph-1);
    width: min(78vw, 1120px);
    height: min(72vh, 700px);
    border-color: rgba(105, 199, 240, .12);
    background:
        repeating-linear-gradient(90deg, transparent 0 52px, rgba(105, 199, 240, .13) 53px, transparent 55px),
        repeating-linear-gradient(0deg, transparent 0 38px, rgba(247, 249, 255, .06) 39px, transparent 41px),
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .14), transparent 54%);
    transform: translate3d(-50%, -50%, -210px) rotateX(63deg) rotateZ(var(--morph-angle)) skewX(-3deg);
}

.jvue-stage-morph i:nth-child(3) {
    opacity: var(--fx-morph-2);
    width: min(82vw, 1180px);
    height: min(62vh, 590px);
    border-color: rgba(201, 154, 85, .14);
    background:
        linear-gradient(90deg, transparent 0 7%, rgba(247, 249, 255, .12) 7.2% 7.8%, transparent 8% 26%, rgba(105, 199, 240, .13) 26.2% 26.8%, transparent 27% 50%, rgba(201, 154, 85, .12) 50.2% 50.8%, transparent 51% 74%, rgba(105, 199, 240, .11) 74.2% 74.8%, transparent 75% 100%),
        linear-gradient(0deg, transparent 0 18%, rgba(247, 249, 255, .08) 18.2% 18.8%, transparent 19% 42%, rgba(105, 199, 240, .1) 42.2% 42.8%, transparent 43% 68%, rgba(201, 154, 85, .1) 68.2% 68.8%, transparent 69% 100%),
        radial-gradient(ellipse at 54% 50%, rgba(201, 154, 85, .12), transparent 58%);
    transform: translate3d(-50%, -50%, -190px) rotateX(58deg) rotateZ(var(--morph-angle)) skewX(6deg);
}

.jvue-stage-morph i:nth-child(4) {
    opacity: var(--fx-morph-3);
    width: min(68vw, 980px);
    aspect-ratio: 1;
    border-radius: 50%;
    border-color: rgba(105, 199, 240, .13);
    background:
        repeating-radial-gradient(circle at 50% 50%, transparent 0 24px, rgba(105, 199, 240, .1) 25px, transparent 28px, transparent 54px),
        conic-gradient(from var(--fx-orbit-angle), transparent 0 16%, rgba(247, 249, 255, .13) 20%, transparent 26% 58%, rgba(201, 154, 85, .15) 64%, transparent 72% 100%);
    transform: translate3d(-50%, -50%, -240px) rotateX(68deg) rotateZ(var(--morph-angle)) scale(.95);
}

.jvue-stage-morph i:nth-child(5) {
    opacity: var(--fx-morph-4);
    width: min(74vw, 1080px);
    height: min(58vh, 560px);
    border-color: rgba(145, 172, 255, .1);
    background:
        radial-gradient(circle at 12% 18%, rgba(247, 249, 255, .5) 0 1px, transparent 2px),
        radial-gradient(circle at 26% 72%, rgba(105, 199, 240, .36) 0 1px, transparent 2px),
        radial-gradient(circle at 48% 36%, rgba(247, 249, 255, .42) 0 1px, transparent 2px),
        radial-gradient(circle at 70% 68%, rgba(105, 199, 240, .32) 0 1px, transparent 2px),
        radial-gradient(circle at 86% 28%, rgba(201, 154, 85, .28) 0 1px, transparent 2px),
        linear-gradient(32deg, transparent 0 22%, rgba(105, 199, 240, .09) 22.2% 22.7%, transparent 23% 48%, rgba(247, 249, 255, .07) 48.2% 48.7%, transparent 49% 100%);
    transform: translate3d(-50%, -50%, -210px) rotateX(44deg) rotateZ(var(--morph-angle));
}

.jvue-stage-morph i:nth-child(6) {
    opacity: var(--fx-morph-5);
    width: min(58vw, 820px);
    aspect-ratio: 1;
    border-radius: 50%;
    border-color: rgba(201, 154, 85, .16);
    background:
        radial-gradient(circle, transparent 0 22%, rgba(247, 249, 255, .11) 22.5% 23%, transparent 23.6% 42%, rgba(201, 154, 85, .15) 42.5% 43.2%, transparent 44% 58%, rgba(105, 199, 240, .11) 58.5% 59.2%, transparent 60%),
        conic-gradient(from var(--fx-orbit-angle), rgba(201, 154, 85, .2), transparent 13%, rgba(105, 199, 240, .12) 24%, transparent 36% 64%, rgba(247, 249, 255, .13) 70%, transparent 82% 100%);
    transform: translate3d(-50%, -50%, -170px) rotateX(54deg) rotateZ(var(--morph-angle)) scale(.88);
}

.jvue-home.is-fx-0 .jvue-stage-morph i:nth-child(1),
.jvue-home.is-fx-1 .jvue-stage-morph i:nth-child(2),
.jvue-home.is-fx-2 .jvue-stage-morph i:nth-child(3),
.jvue-home.is-fx-3 .jvue-stage-morph i:nth-child(4),
.jvue-home.is-fx-4 .jvue-stage-morph i:nth-child(5),
.jvue-home.is-fx-5 .jvue-stage-morph i:nth-child(6) {
    filter: brightness(1.08) saturate(1.05);
}

.jvue-stage-morph b {
    position: absolute;
    left: var(--morph-node-x, 50%);
    top: var(--morph-node-y, 50%);
    width: var(--morph-node-size, 8px);
    aspect-ratio: 1;
    display: block;
    opacity: 0;
    border-radius: 50%;
    background: rgba(247, 249, 255, .82);
    box-shadow: 0 0 18px rgba(105, 199, 240, .42), 0 0 36px rgba(201, 154, 85, .14);
    transform: translate3d(-50%, -50%, 0);
    animation: jvueMorphNodeTravel var(--morph-node-speed, 8s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-morph b:nth-of-type(1) { --morph-node-x: 15%; --morph-node-y: 26%; --morph-node-size: 6px; animation-delay: -1.2s; }
.jvue-stage-morph b:nth-of-type(2) { --morph-node-x: 32%; --morph-node-y: 68%; --morph-node-size: 9px; --morph-node-speed: 9.4s; animation-delay: -4.8s; }
.jvue-stage-morph b:nth-of-type(3) { --morph-node-x: 48%; --morph-node-y: 34%; --morph-node-size: 5px; --morph-node-speed: 7.2s; animation-delay: -2.7s; }
.jvue-stage-morph b:nth-of-type(4) { --morph-node-x: 66%; --morph-node-y: 74%; --morph-node-size: 7px; --morph-node-speed: 10.6s; animation-delay: -6.6s; }
.jvue-stage-morph b:nth-of-type(5) { --morph-node-x: 82%; --morph-node-y: 28%; --morph-node-size: 6px; --morph-node-speed: 8.6s; animation-delay: -3.5s; }
.jvue-stage-morph b:nth-of-type(6) { --morph-node-x: 24%; --morph-node-y: 84%; --morph-node-size: 5px; --morph-node-speed: 11.2s; animation-delay: -8.3s; }

.jvue-home.is-ready .jvue-stage-morph b {
    opacity: var(--morph-node-opacity);
}

.jvue-home.is-scroll-active .jvue-stage-morph i,
.jvue-home.is-scroll-active .jvue-stage-morph b {
    animation-duration: 6.6s;
}

.jvue-stage-fluid {
    z-index: 5;
    inset: -16%;
    opacity: calc(var(--fluid-opacity) + var(--fx-fluid-opacity-boost) + var(--ambient-fluid-opacity));
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--fx-fluid-x) + var(--cursor-parallax-x) + var(--ambient-fluid-x)), calc(var(--fx-fluid-y) + var(--cursor-parallax-y) + var(--ambient-fluid-y)), 0)
        rotate(var(--fx-fluid-angle))
        rotate(var(--ambient-angle))
        scale(var(--fx-fluid-scale));
    transform-origin: center;
    transition: opacity .22s linear, transform .2s linear;
    filter: saturate(1.12) contrast(1.04);
    mask-image:
        radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .88) 42%, transparent 74%),
        linear-gradient(90deg, transparent 0, #000 12%, #000 88%, transparent 100%);
}

.jvue-stage-fluid i {
    position: absolute;
    left: -28%;
    top: var(--fluid-y, 50%);
    width: 156%;
    height: var(--fluid-h, 12vh);
    min-height: 74px;
    display: block;
    opacity: 0;
    clip-path: polygon(0 46%, 12% 34%, 28% 50%, 46% 40%, 62% 54%, 78% 42%, 100% 50%, 100% 58%, 78% 50%, 62% 62%, 46% 48%, 28% 60%, 12% 44%, 0 56%);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .08) 24%, rgba(247, 249, 255, .38) 48%, rgba(201, 154, 85, .12) 56%, transparent 82%),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .12) 35px, transparent 37px);
    box-shadow: 0 0 22px rgba(105, 199, 240, .14);
    transform: translate3d(-34%, 0, 0) scaleX(.72);
    animation: jvueFluidFlow var(--fluid-speed, 8.4s) linear infinite;
    will-change: transform, opacity;
}

.jvue-stage-fluid i:nth-child(1) { --fluid-y: 18%; --fluid-h: 10vh; --fluid-speed: 9.2s; animation-delay: -1.6s; }
.jvue-stage-fluid i:nth-child(2) { --fluid-y: 38%; --fluid-h: 14vh; --fluid-speed: 10.8s; animation-delay: -5.2s; opacity: .12; }
.jvue-stage-fluid i:nth-child(3) { --fluid-y: 61%; --fluid-h: 13vh; --fluid-speed: 8.2s; animation-delay: -3.4s; }
.jvue-stage-fluid i:nth-child(4) { --fluid-y: 80%; --fluid-h: 9vh; --fluid-speed: 11.6s; animation-delay: -7.7s; }

.jvue-stage-fluid b {
    position: absolute;
    left: var(--fluid-node-x, 50%);
    top: var(--fluid-node-y, 50%);
    width: var(--fluid-node-size, 6px);
    aspect-ratio: 1;
    display: block;
    opacity: 0;
    border-radius: 50%;
    background: rgba(247, 249, 255, .82);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .42),
        18px 10px 34px rgba(201, 154, 85, .12);
    transform: translate3d(-50%, -50%, 0);
    animation: jvueFluidNode var(--fluid-node-speed, 7.4s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-fluid b:nth-of-type(1) { --fluid-node-x: 22%; --fluid-node-y: 24%; --fluid-node-size: 5px; animation-delay: -1s; }
.jvue-stage-fluid b:nth-of-type(2) { --fluid-node-x: 42%; --fluid-node-y: 66%; --fluid-node-size: 7px; --fluid-node-speed: 8.6s; animation-delay: -4.2s; }
.jvue-stage-fluid b:nth-of-type(3) { --fluid-node-x: 68%; --fluid-node-y: 34%; --fluid-node-size: 5px; --fluid-node-speed: 6.8s; animation-delay: -2.8s; }
.jvue-stage-fluid b:nth-of-type(4) { --fluid-node-x: 82%; --fluid-node-y: 74%; --fluid-node-size: 6px; --fluid-node-speed: 9.4s; animation-delay: -6.7s; }

.jvue-home.is-ready .jvue-stage-fluid b {
    opacity: calc(var(--fluid-node-opacity) + var(--ambient-node-opacity));
}

.jvue-home.is-scroll-active .jvue-stage-fluid i,
.jvue-home.is-scroll-active .jvue-stage-fluid b {
    animation-duration: 5.4s;
}

.jvue-stage-streams {
    z-index: 4;
    inset: -16%;
    opacity: calc(var(--stream-opacity) + var(--fx-stream-opacity-boost) + var(--ambient-pulse));
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--fx-stream-x) + var(--cursor-parallax-x) + var(--ambient-stream-x)), calc(var(--fx-stream-y) + var(--cursor-parallax-y) + var(--ambient-stream-y)), 0)
        rotate(var(--fx-stream-tilt))
        rotate(var(--ambient-angle))
        scale(var(--fx-stream-scale));
    filter: blur(var(--fx-stream-blur)) saturate(1.08);
    transition: opacity .24s linear, transform .24s linear, filter .18s linear;
    mask-image:
        linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%),
        radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .9) 44%, transparent 78%);
}

.jvue-stage-streams i {
    position: absolute;
    left: -34%;
    top: var(--stream-y, 50%);
    width: 168%;
    height: var(--stream-height, 1px);
    display: block;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .16) 26%, rgba(247, 249, 255, .58) 48%, rgba(201, 154, 85, .18) 55%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 42px, rgba(247, 249, 255, .22) 43px, transparent 45px);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .18),
        0 0 34px rgba(201, 154, 85, .08);
    transform: rotate(var(--stream-angle)) translate3d(-36%, 0, 0) scaleX(.72);
    transform-origin: center;
    animation: jvueStreamBeam var(--stream-speed) linear infinite;
    will-change: transform, opacity;
}

.jvue-stage-streams i:nth-child(1) { --stream-y: 14%; --stream-height: 1px; animation-delay: -1.2s; }
.jvue-stage-streams i:nth-child(2) { --stream-y: 28%; --stream-height: 2px; animation-delay: -4.4s; animation-duration: 10.6s; opacity: .12; }
.jvue-stage-streams i:nth-child(3) { --stream-y: 42%; --stream-height: 1px; animation-delay: -6.8s; animation-duration: 8.4s; }
.jvue-stage-streams i:nth-child(4) { --stream-y: 56%; --stream-height: 2px; animation-delay: -2.8s; animation-duration: 11.2s; }
.jvue-stage-streams i:nth-child(5) { --stream-y: 70%; --stream-height: 1px; animation-delay: -7.5s; animation-duration: 9.8s; }
.jvue-stage-streams i:nth-child(6) { --stream-y: 84%; --stream-height: 1px; animation-delay: -5.1s; animation-duration: 12.4s; }

.jvue-stage-streams b {
    position: absolute;
    left: var(--node-x, 50%);
    top: var(--node-y, 50%);
    width: var(--node-size, 7px);
    aspect-ratio: 1;
    display: block;
    border: 1px solid rgba(247, 249, 255, .42);
    border-radius: 50%;
    opacity: 0;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .95) 0 22%, rgba(105, 199, 240, .42) 36%, transparent 68%);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .38),
        0 0 32px rgba(201, 154, 85, .16);
    transform: translate3d(-50%, -50%, 0);
    animation: jvueStreamNode var(--node-speed, 7.6s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-streams b:nth-of-type(1) { --node-x: 18%; --node-y: 24%; --node-size: 6px; animation-delay: -1s; }
.jvue-stage-streams b:nth-of-type(2) { --node-x: 36%; --node-y: 64%; --node-size: 8px; --node-speed: 8.8s; animation-delay: -4.2s; }
.jvue-stage-streams b:nth-of-type(3) { --node-x: 52%; --node-y: 38%; --node-size: 5px; --node-speed: 6.8s; animation-delay: -2.6s; }
.jvue-stage-streams b:nth-of-type(4) { --node-x: 68%; --node-y: 72%; --node-size: 7px; --node-speed: 9.6s; animation-delay: -6.4s; }
.jvue-stage-streams b:nth-of-type(5) { --node-x: 80%; --node-y: 32%; --node-size: 6px; --node-speed: 7.2s; animation-delay: -3.7s; }
.jvue-stage-streams b:nth-of-type(6) { --node-x: 24%; --node-y: 82%; --node-size: 5px; --node-speed: 10s; animation-delay: -7.8s; }

.jvue-home.is-scroll-active .jvue-stage-streams i {
    animation-duration: 5.6s;
}

.jvue-home.is-scroll-active .jvue-stage-streams b {
    animation-duration: 5.2s;
}

.jvue-stage-flowfield {
    z-index: 5;
    inset: -22%;
    opacity: calc(var(--flow-opacity) + var(--flow-opacity-boost));
    mix-blend-mode: screen;
    perspective: 980px;
    filter: saturate(1.12) contrast(1.08);
    transform:
        translate3d(calc(var(--fx-stream-x) + var(--ambient-stream-x) + var(--flow-drift-x)), calc(var(--fx-stream-y) + var(--ambient-stream-y) + var(--flow-drift-y)), 0)
        rotate(var(--flow-twist))
        scale(var(--flow-scale));
    transition: opacity .26s linear, transform .22s linear, filter .22s linear;
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 38%, rgba(0, 0, 0, .52) 62%, transparent 86%),
        linear-gradient(90deg, transparent 0, #000 13%, #000 87%, transparent 100%);
}

.jvue-stage-flowfield i {
    position: absolute;
    left: -18%;
    top: var(--flow-y, 50%);
    width: var(--flow-width, 62%);
    height: var(--flow-height, 1px);
    display: block;
    opacity: 0;
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .12) 18%, rgba(247, 249, 255, .66) 45%, rgba(201, 154, 85, .18) 54%, transparent 86%),
        repeating-linear-gradient(90deg, transparent 0, transparent 30px, rgba(247, 249, 255, .2) 31px, transparent 33px);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .2),
        0 0 46px rgba(201, 154, 85, .08);
    transform: rotate(var(--flow-angle)) translate3d(-42vw, 0, 0) scaleX(.32);
    transform-origin: center;
    animation: jvueFlowRibbon var(--flow-speed) cubic-bezier(.2, .72, .28, 1) infinite;
    will-change: transform, opacity;
}

.jvue-stage-flowfield i:nth-child(1) { --flow-y: 13%; --flow-width: 58%; animation-delay: -1.4s; }
.jvue-stage-flowfield i:nth-child(2) { --flow-y: 24%; --flow-width: 46%; --flow-height: 2px; animation-delay: -5.2s; animation-duration: 9.8s; }
.jvue-stage-flowfield i:nth-child(3) { --flow-y: 36%; --flow-width: 70%; animation-delay: -3.6s; animation-duration: 8.2s; }
.jvue-stage-flowfield i:nth-child(4) { --flow-y: 49%; --flow-width: 54%; --flow-height: 2px; animation-delay: -7.1s; animation-duration: 10.4s; }
.jvue-stage-flowfield i:nth-child(5) { --flow-y: 61%; --flow-width: 76%; animation-delay: -2.3s; animation-duration: 7.6s; }
.jvue-stage-flowfield i:nth-child(6) { --flow-y: 72%; --flow-width: 50%; animation-delay: -6.4s; animation-duration: 11.2s; }
.jvue-stage-flowfield i:nth-child(7) { --flow-y: 83%; --flow-width: 64%; animation-delay: -4.8s; animation-duration: 9.2s; }
.jvue-stage-flowfield i:nth-child(8) { --flow-y: 91%; --flow-width: 44%; animation-delay: -.6s; animation-duration: 12s; }

.jvue-stage-flowfield b {
    position: absolute;
    left: var(--flow-node-x, 50%);
    top: var(--flow-node-y, 50%);
    width: var(--flow-node-size, 6px);
    aspect-ratio: 1;
    display: block;
    opacity: var(--flow-node-opacity);
    border: 1px solid rgba(232, 237, 247, .32);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .9) 0 18%, rgba(105, 199, 240, .5) 38%, transparent 70%);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .34),
        0 0 34px rgba(201, 154, 85, .1);
    transform: translate3d(-50%, -50%, 0);
    animation: jvueFlowNode var(--flow-node-speed, 8.4s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-flowfield b:nth-of-type(1) { --flow-node-x: 14%; --flow-node-y: 22%; --flow-node-size: 5px; animation-delay: -1.3s; }
.jvue-stage-flowfield b:nth-of-type(2) { --flow-node-x: 24%; --flow-node-y: 68%; --flow-node-size: 7px; --flow-node-speed: 9.2s; animation-delay: -4.8s; }
.jvue-stage-flowfield b:nth-of-type(3) { --flow-node-x: 36%; --flow-node-y: 40%; --flow-node-size: 4px; --flow-node-speed: 7.6s; animation-delay: -2.2s; }
.jvue-stage-flowfield b:nth-of-type(4) { --flow-node-x: 48%; --flow-node-y: 76%; --flow-node-size: 6px; --flow-node-speed: 10.4s; animation-delay: -6.1s; }
.jvue-stage-flowfield b:nth-of-type(5) { --flow-node-x: 59%; --flow-node-y: 28%; --flow-node-size: 5px; --flow-node-speed: 8.8s; animation-delay: -3.4s; }
.jvue-stage-flowfield b:nth-of-type(6) { --flow-node-x: 69%; --flow-node-y: 58%; --flow-node-size: 8px; --flow-node-speed: 11s; animation-delay: -7.6s; }
.jvue-stage-flowfield b:nth-of-type(7) { --flow-node-x: 80%; --flow-node-y: 36%; --flow-node-size: 5px; --flow-node-speed: 8.2s; animation-delay: -5.4s; }
.jvue-stage-flowfield b:nth-of-type(8) { --flow-node-x: 88%; --flow-node-y: 72%; --flow-node-size: 6px; --flow-node-speed: 9.6s; animation-delay: -8.7s; }
.jvue-stage-flowfield b:nth-of-type(9) { --flow-node-x: 42%; --flow-node-y: 18%; --flow-node-size: 4px; --flow-node-speed: 7s; animation-delay: -1.9s; }
.jvue-stage-flowfield b:nth-of-type(10) { --flow-node-x: 18%; --flow-node-y: 86%; --flow-node-size: 5px; --flow-node-speed: 10.8s; animation-delay: -9.4s; }
.jvue-stage-flowfield b:nth-of-type(11) { --flow-node-x: 74%; --flow-node-y: 86%; --flow-node-size: 4px; --flow-node-speed: 7.8s; animation-delay: -3.1s; }
.jvue-stage-flowfield b:nth-of-type(12) { --flow-node-x: 93%; --flow-node-y: 18%; --flow-node-size: 5px; --flow-node-speed: 9s; animation-delay: -5.9s; }

.jvue-stage-flowfield em {
    position: absolute;
    left: var(--flow-plane-x, 50%);
    top: var(--flow-plane-y, 50%);
    width: var(--flow-plane-w, min(24vw, 340px));
    height: var(--flow-plane-h, min(13vw, 160px));
    display: block;
    opacity: var(--flow-plane-opacity);
    border: 1px solid rgba(105, 199, 240, .2);
    border-radius: 8px;
    background:
        linear-gradient(135deg, rgba(105, 199, 240, .1), transparent 42%, rgba(201, 154, 85, .08)),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(247, 249, 255, .08) 35px, transparent 36px),
        repeating-linear-gradient(0deg, transparent 0, transparent 26px, rgba(105, 199, 240, .06) 27px, transparent 28px);
    box-shadow:
        inset 0 0 24px rgba(105, 199, 240, .08),
        0 0 44px rgba(105, 199, 240, .08);
    transform: translate3d(-50%, -50%, 0) rotateX(62deg) rotateZ(var(--flow-plane-rot, -8deg));
    transform-origin: center;
    animation: jvueFlowPlane var(--flow-plane-speed, 10s) ease-in-out infinite;
    will-change: transform, opacity;
}

.jvue-stage-flowfield em:nth-of-type(1) { --flow-plane-x: 26%; --flow-plane-y: 34%; --flow-plane-rot: -12deg; animation-delay: -2.4s; }
.jvue-stage-flowfield em:nth-of-type(2) { --flow-plane-x: 63%; --flow-plane-y: 46%; --flow-plane-w: min(30vw, 430px); --flow-plane-h: min(15vw, 190px); --flow-plane-rot: 7deg; --flow-plane-speed: 11.6s; animation-delay: -6.8s; }
.jvue-stage-flowfield em:nth-of-type(3) { --flow-plane-x: 78%; --flow-plane-y: 72%; --flow-plane-rot: -4deg; --flow-plane-speed: 9.4s; animation-delay: -4.1s; }
.jvue-stage-flowfield em:nth-of-type(4) { --flow-plane-x: 42%; --flow-plane-y: 82%; --flow-plane-w: min(20vw, 280px); --flow-plane-h: min(11vw, 130px); --flow-plane-rot: 14deg; --flow-plane-speed: 12.4s; animation-delay: -8.9s; }

.jvue-home.is-scroll-active .jvue-stage-flowfield {
    filter: saturate(1.2) contrast(1.12);
}

.jvue-home.is-scroll-active .jvue-stage-flowfield i {
    animation-duration: 4.9s;
}

.jvue-home.is-scroll-active .jvue-stage-flowfield b,
.jvue-home.is-scroll-active .jvue-stage-flowfield em {
    animation-duration: 6.2s;
}

.jvue-stage-kinetic {
    z-index: 6;
    inset: -20%;
    opacity: calc(var(--kinetic-opacity) + var(--kinetic-opacity-boost));
    perspective: 1180px;
    filter: saturate(1.14) contrast(1.12);
    transform:
        translate3d(calc(var(--ambient-stream-x) + var(--kinetic-x) + var(--fx-stream-x)), calc(var(--ambient-stream-y) + var(--kinetic-y) + var(--fx-stream-y)), 0)
        rotate(var(--kinetic-tilt))
        scale(var(--kinetic-scale));
    transition: opacity .28s linear, transform .2s linear, filter .2s linear;
    mask-image:
        radial-gradient(ellipse at 52% 48%, #000 0, rgba(0, 0, 0, .92) 34%, rgba(0, 0, 0, .54) 62%, transparent 88%),
        linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}

.jvue-stage-kinetic::before,
.jvue-stage-kinetic::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .62;
    will-change: transform, opacity, background-position;
}

.jvue-stage-kinetic::before {
    background:
        radial-gradient(circle at 32% 40%, rgba(105, 199, 240, .18), transparent 24%),
        radial-gradient(circle at 74% 58%, rgba(201, 154, 85, .12), transparent 28%),
        repeating-linear-gradient(90deg, transparent 0, transparent 52px, rgba(105, 199, 240, .07) 53px, transparent 55px),
        repeating-linear-gradient(0deg, transparent 0, transparent 42px, rgba(247, 249, 255, .04) 43px, transparent 44px);
    background-size: 100% 100%, 100% 100%, 220px 100%, 100% 180px;
    background-position: 0 0, 0 0, 0 0, 0 0;
    transform: rotateX(58deg) rotateZ(-7deg) translate3d(-2%, 5%, -120px) scale(1.08);
    animation: jvueKineticGrid var(--kinetic-speed) linear infinite;
}

.jvue-stage-kinetic::after {
    opacity: .38;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .22) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(105, 199, 240, .18) 0 1px, transparent 2px);
    background-size: 54px 54px, 86px 86px;
    background-position: 0 0, 18px 12px;
    transform: rotateZ(8deg) translate3d(0, 0, 0);
    animation: jvueKineticDust var(--kinetic-dust-speed) linear infinite;
}

.jvue-stage-kinetic i,
.jvue-stage-kinetic b,
.jvue-stage-kinetic em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, filter;
}

.jvue-stage-kinetic i {
    left: -28%;
    top: var(--kinetic-line-y, 50%);
    width: var(--kinetic-line-width, 72%);
    height: var(--kinetic-line-height, 1px);
    border-radius: 999px;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .08) 18%, rgba(247, 249, 255, .58) 45%, rgba(201, 154, 85, .16) 56%, transparent 84%),
        repeating-linear-gradient(90deg, transparent 0, transparent 24px, rgba(247, 249, 255, .16) 25px, transparent 27px);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .22),
        0 0 42px rgba(201, 154, 85, .08);
    transform: rotate(var(--kinetic-line-angle, -8deg)) translate3d(-36vw, 0, 0) scaleX(.36);
    animation: jvueKineticLine var(--kinetic-line-speed, 8.8s) cubic-bezier(.2, .72, .24, 1) infinite;
}

.jvue-stage-kinetic i:nth-child(1) { --kinetic-line-y: 14%; --kinetic-line-width: 58%; --kinetic-line-angle: -9deg; animation-delay: -1.2s; }
.jvue-stage-kinetic i:nth-child(2) { --kinetic-line-y: 27%; --kinetic-line-width: 78%; --kinetic-line-height: 2px; --kinetic-line-angle: 7deg; --kinetic-line-speed: 10.6s; animation-delay: -5.4s; }
.jvue-stage-kinetic i:nth-child(3) { --kinetic-line-y: 42%; --kinetic-line-width: 64%; --kinetic-line-angle: -13deg; --kinetic-line-speed: 7.8s; animation-delay: -3.8s; }
.jvue-stage-kinetic i:nth-child(4) { --kinetic-line-y: 58%; --kinetic-line-width: 86%; --kinetic-line-height: 2px; --kinetic-line-angle: 11deg; --kinetic-line-speed: 9.4s; animation-delay: -7.1s; }
.jvue-stage-kinetic i:nth-child(5) { --kinetic-line-y: 73%; --kinetic-line-width: 68%; --kinetic-line-angle: -6deg; --kinetic-line-speed: 11.8s; animation-delay: -2.6s; }
.jvue-stage-kinetic i:nth-child(6) { --kinetic-line-y: 86%; --kinetic-line-width: 52%; --kinetic-line-angle: 14deg; --kinetic-line-speed: 8.6s; animation-delay: -6.2s; }

.jvue-stage-kinetic b {
    left: var(--kinetic-node-x, 50%);
    top: var(--kinetic-node-y, 50%);
    width: var(--kinetic-node-size, 6px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: 0;
    border: 1px solid rgba(247, 249, 255, .38);
    background:
        radial-gradient(circle, rgba(247, 249, 255, .96) 0 16%, rgba(105, 199, 240, .52) 38%, transparent 72%);
    box-shadow:
        0 0 14px rgba(247, 249, 255, .24),
        0 0 34px rgba(105, 199, 240, .24);
    animation: jvueKineticNode var(--kinetic-node-speed, 7.8s) ease-in-out infinite;
}

.jvue-stage-kinetic b:nth-of-type(1) { --kinetic-node-x: 17%; --kinetic-node-y: 26%; --kinetic-node-size: 5px; animation-delay: -1.4s; }
.jvue-stage-kinetic b:nth-of-type(2) { --kinetic-node-x: 29%; --kinetic-node-y: 64%; --kinetic-node-size: 7px; --kinetic-node-speed: 9.2s; animation-delay: -4.9s; }
.jvue-stage-kinetic b:nth-of-type(3) { --kinetic-node-x: 43%; --kinetic-node-y: 38%; --kinetic-node-size: 4px; --kinetic-node-speed: 6.8s; animation-delay: -2.3s; }
.jvue-stage-kinetic b:nth-of-type(4) { --kinetic-node-x: 55%; --kinetic-node-y: 78%; --kinetic-node-size: 6px; --kinetic-node-speed: 8.6s; animation-delay: -6.2s; }
.jvue-stage-kinetic b:nth-of-type(5) { --kinetic-node-x: 67%; --kinetic-node-y: 34%; --kinetic-node-size: 8px; --kinetic-node-speed: 10.4s; animation-delay: -7.7s; }
.jvue-stage-kinetic b:nth-of-type(6) { --kinetic-node-x: 78%; --kinetic-node-y: 58%; --kinetic-node-size: 5px; --kinetic-node-speed: 7.4s; animation-delay: -3.6s; }
.jvue-stage-kinetic b:nth-of-type(7) { --kinetic-node-x: 87%; --kinetic-node-y: 23%; --kinetic-node-size: 6px; --kinetic-node-speed: 9.8s; animation-delay: -5.8s; }
.jvue-stage-kinetic b:nth-of-type(8) { --kinetic-node-x: 91%; --kinetic-node-y: 82%; --kinetic-node-size: 4px; --kinetic-node-speed: 6.6s; animation-delay: -2s; }

.jvue-stage-kinetic em {
    left: var(--kinetic-card-x, 50%);
    top: var(--kinetic-card-y, 50%);
    width: var(--kinetic-card-w, min(24vw, 330px));
    height: var(--kinetic-card-h, min(11vw, 128px));
    border: 1px solid rgba(105, 199, 240, .18);
    border-radius: 6px;
    opacity: 0;
    background:
        linear-gradient(135deg, rgba(105, 199, 240, .1), transparent 46%, rgba(201, 154, 85, .07)),
        repeating-linear-gradient(90deg, transparent 0, transparent 30px, rgba(247, 249, 255, .06) 31px, transparent 32px);
    box-shadow:
        inset 0 0 24px rgba(105, 199, 240, .06),
        0 0 48px rgba(105, 199, 240, .08);
    transform: translate3d(-50%, -50%, 0) rotateX(62deg) rotateZ(var(--kinetic-card-rot, -7deg)) scale(.92);
    animation: jvueKineticPanel var(--kinetic-panel-speed, 11s) ease-in-out infinite;
}

.jvue-stage-kinetic em:nth-of-type(1) { --kinetic-card-x: 32%; --kinetic-card-y: 31%; --kinetic-card-rot: -11deg; animation-delay: -2.7s; }
.jvue-stage-kinetic em:nth-of-type(2) { --kinetic-card-x: 66%; --kinetic-card-y: 48%; --kinetic-card-w: min(30vw, 420px); --kinetic-card-h: min(12vw, 150px); --kinetic-card-rot: 8deg; --kinetic-panel-speed: 13s; animation-delay: -7.4s; }
.jvue-stage-kinetic em:nth-of-type(3) { --kinetic-card-x: 76%; --kinetic-card-y: 74%; --kinetic-card-rot: -3deg; --kinetic-panel-speed: 10.2s; animation-delay: -4.8s; }

.jvue-home.is-scroll-active .jvue-stage-kinetic {
    filter: saturate(1.24) contrast(1.16);
}

.jvue-home.is-scroll-active .jvue-stage-kinetic i {
    animation-duration: 5.8s;
}

.jvue-home.is-scroll-active .jvue-stage-kinetic b,
.jvue-home.is-scroll-active .jvue-stage-kinetic em {
    animation-duration: 6.6s;
}

.jvue-home.is-work-transitioning .jvue-stage-kinetic {
    opacity: calc(var(--kinetic-opacity) + var(--kinetic-opacity-boost) + .18);
    filter: saturate(1.34) contrast(1.22);
}

.jvue-stage-frames {
    z-index: 4;
    inset: -16%;
    opacity: var(--stage-frame-opacity);
    mix-blend-mode: screen;
    perspective: 1200px;
    transform:
        translate3d(var(--stage-frame-x), var(--stage-frame-y), 0)
        rotate(var(--stage-frame-angle))
        scale(var(--stage-frame-scale));
    transform-origin: 50% 50%;
    transition: opacity .28s linear, transform .24s linear, filter .28s linear;
    filter: saturate(1.04) contrast(1.12);
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 52%, rgba(0, 0, 0, .52) 74%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.jvue-stage-frames strong,
.jvue-stage-frames small,
.jvue-stage-frames i,
.jvue-stage-frames b,
.jvue-stage-frames em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-frames strong {
    left: 50%;
    top: 50%;
    width: min(1280px, 88vw);
    color: transparent;
    font-size: clamp(92px, 21vw, 330px);
    line-height: .78;
    font-weight: 950;
    letter-spacing: 0;
    text-align: center;
    -webkit-text-stroke: 1px rgba(232, 237, 247, .09);
    text-shadow:
        0 0 46px rgba(105, 199, 240, .08),
        0 0 110px rgba(201, 154, 85, .045);
    opacity: .62;
    transform: translate3d(-50%, -50%, -180px) skewX(-6deg);
    animation: jvueFrameTitle 4.2s steps(3, end) infinite;
}

.jvue-stage-frames small {
    left: 9vw;
    top: 19vh;
    color: rgba(232, 237, 247, .28);
    font-size: clamp(13px, 1.1vw, 18px);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(0, 0, 0);
}

.jvue-stage-frames small::before {
    content: "";
    position: absolute;
    left: 0;
    top: -12px;
    width: 128px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .46), rgba(201, 154, 85, .18), transparent);
}

.jvue-stage-frames i {
    left: var(--frame-x, 50%);
    top: var(--frame-y, 50%);
    width: var(--frame-w, 34vw);
    height: var(--frame-h, 42vh);
    border: 1px solid rgba(232, 237, 247, .075);
    border-radius: 2px;
    background:
        linear-gradient(120deg, rgba(255, 255, 255, .065), rgba(105, 199, 240, .03) 28%, rgba(2, 5, 9, .18) 58%, rgba(201, 154, 85, .045)),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .045) 19px, transparent 21px),
        repeating-linear-gradient(0deg, transparent 0, transparent 9px, rgba(105, 199, 240, .035) 10px, transparent 11px);
    background-position:
        0 0,
        var(--stage-frame-scan) 0,
        0 var(--stage-frame-scan);
    box-shadow:
        inset 0 0 42px rgba(105, 199, 240, .035),
        0 0 52px rgba(0, 0, 0, .2);
    opacity: var(--frame-o, .42);
    clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
    transform:
        translate3d(-50%, -50%, var(--frame-z, -120px))
        rotateX(var(--frame-rx, 0deg))
        rotateY(var(--frame-ry, 0deg))
        rotateZ(var(--frame-rz, -8deg))
        skewX(var(--frame-skew, -5deg));
    animation: jvueFramePlate var(--frame-speed, 7.8s) var(--jv-ease) infinite;
    animation-delay: var(--frame-delay, 0s);
}

.jvue-stage-frames i::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 42%, rgba(105, 199, 240, .11) 55%, transparent 78%);
    opacity: .22;
    transform: translate3d(-64%, 0, 0);
    animation: jvueFrameGlint 2.8s linear infinite;
    animation-delay: inherit;
}

.jvue-stage-frames b {
    left: var(--frame-line-x, 50%);
    top: var(--frame-line-y, 50%);
    width: var(--frame-line-w, 72vw);
    height: 1px;
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .44) 42%, rgba(105, 199, 240, .18) 56%, transparent 100%);
    box-shadow: 0 0 26px rgba(105, 199, 240, .12);
    opacity: var(--frame-line-o, .34);
    transform: rotate(var(--frame-line-r, -8deg)) translate3d(-50%, -50%, 0);
    animation: jvueFrameLine 4.8s cubic-bezier(.2, .72, .24, 1) infinite;
    animation-delay: var(--frame-line-delay, 0s);
}

.jvue-stage-frames em {
    inset: 0;
    opacity: .26;
    background:
        linear-gradient(90deg, rgba(0, 0, 0, .72) 0 7%, transparent 18% 82%, rgba(0, 0, 0, .72) 93% 100%),
        linear-gradient(0deg, rgba(0, 0, 0, .72) 0 5%, transparent 18% 82%, rgba(0, 0, 0, .68) 95% 100%),
        repeating-linear-gradient(0deg, transparent 0, transparent 6px, rgba(247, 249, 255, .035) 7px, transparent 8px);
    background-position:
        0 0,
        0 0,
        0 var(--stage-frame-scan);
    transform: translate3d(0, 0, 0);
}

.jvue-stage-frames i:nth-of-type(1) { --frame-x: 27%; --frame-y: 44%; --frame-w: 28vw; --frame-h: 58vh; --frame-rz: -10deg; --frame-ry: 18deg; --frame-z: -170px; --frame-delay: -.2s; }
.jvue-stage-frames i:nth-of-type(2) { --frame-x: 57%; --frame-y: 50%; --frame-w: 38vw; --frame-h: 44vh; --frame-rz: 4deg; --frame-ry: -8deg; --frame-z: -80px; --frame-delay: -1.6s; --frame-o: .36; }
.jvue-stage-frames i:nth-of-type(3) { --frame-x: 81%; --frame-y: 46%; --frame-w: 25vw; --frame-h: 64vh; --frame-rz: 12deg; --frame-ry: -18deg; --frame-z: -210px; --frame-delay: -3.2s; --frame-o: .28; }
.jvue-stage-frames b:nth-of-type(1) { --frame-line-x: 48%; --frame-line-y: 35%; --frame-line-r: -9deg; --frame-line-delay: -.4s; }
.jvue-stage-frames b:nth-of-type(2) { --frame-line-x: 56%; --frame-line-y: 61%; --frame-line-r: 7deg; --frame-line-w: 58vw; --frame-line-delay: -2.1s; --frame-line-o: .24; }

.jvue-home.is-fx-1 .jvue-stage-frames i:nth-of-type(1) { --frame-x: 20%; --frame-y: 40%; --frame-w: 24vw; --frame-h: 48vh; --frame-rz: 0deg; }
.jvue-home.is-fx-1 .jvue-stage-frames i:nth-of-type(2) { --frame-x: 50%; --frame-y: 43%; --frame-w: 32vw; --frame-h: 54vh; --frame-rz: 0deg; }
.jvue-home.is-fx-1 .jvue-stage-frames i:nth-of-type(3) { --frame-x: 78%; --frame-y: 40%; --frame-w: 22vw; --frame-h: 48vh; --frame-rz: 0deg; }

.jvue-home.is-fx-2 .jvue-stage-frames i:nth-of-type(1) { --frame-x: 30%; --frame-y: 35%; --frame-w: 31vw; --frame-h: 32vh; --frame-rz: -7deg; }
.jvue-home.is-fx-2 .jvue-stage-frames i:nth-of-type(2) { --frame-x: 58%; --frame-y: 44%; --frame-w: 32vw; --frame-h: 38vh; --frame-rz: 6deg; }
.jvue-home.is-fx-2 .jvue-stage-frames i:nth-of-type(3) { --frame-x: 72%; --frame-y: 69%; --frame-w: 35vw; --frame-h: 24vh; --frame-rz: -4deg; }

.jvue-home.is-fx-3 .jvue-stage-frames i:nth-of-type(1) { --frame-x: 23%; --frame-y: 62%; --frame-w: 34vw; --frame-h: 22vh; --frame-rz: -16deg; }
.jvue-home.is-fx-3 .jvue-stage-frames i:nth-of-type(2) { --frame-x: 52%; --frame-y: 44%; --frame-w: 50vw; --frame-h: 24vh; --frame-rz: 5deg; }
.jvue-home.is-fx-3 .jvue-stage-frames i:nth-of-type(3) { --frame-x: 77%; --frame-y: 32%; --frame-w: 30vw; --frame-h: 18vh; --frame-rz: 18deg; }

.jvue-home.is-fx-4 .jvue-stage-frames i:nth-of-type(1) { --frame-x: 22%; --frame-y: 30%; --frame-w: 26vw; --frame-h: 34vh; --frame-rz: -4deg; }
.jvue-home.is-fx-4 .jvue-stage-frames i:nth-of-type(2) { --frame-x: 50%; --frame-y: 60%; --frame-w: 42vw; --frame-h: 30vh; --frame-rz: 4deg; }
.jvue-home.is-fx-4 .jvue-stage-frames i:nth-of-type(3) { --frame-x: 82%; --frame-y: 42%; --frame-w: 24vw; --frame-h: 44vh; --frame-rz: -6deg; }

.jvue-home.is-fx-5 .jvue-stage-frames i:nth-of-type(1) { --frame-x: 30%; --frame-y: 50%; --frame-w: 24vw; --frame-h: 58vh; --frame-rz: -18deg; }
.jvue-home.is-fx-5 .jvue-stage-frames i:nth-of-type(2) { --frame-x: 52%; --frame-y: 49%; --frame-w: 30vw; --frame-h: 62vh; --frame-rz: 0deg; }
.jvue-home.is-fx-5 .jvue-stage-frames i:nth-of-type(3) { --frame-x: 74%; --frame-y: 50%; --frame-w: 24vw; --frame-h: 58vh; --frame-rz: 18deg; }

.jvue-home.is-scroll-active .jvue-stage-frames,
.jvue-home.is-scene-switching .jvue-stage-frames {
    filter: saturate(1.18) contrast(1.18);
}

.jvue-stage-shards {
    z-index: 5;
    inset: -12%;
    opacity: var(--dom-shard-opacity);
    mix-blend-mode: screen;
    perspective: 1100px;
    transform:
        translate3d(calc(var(--dom-shard-x) + var(--component-shard-x)), calc(var(--dom-shard-y) + var(--component-shard-y)), 0)
        rotate(var(--dom-shard-angle))
        rotate(var(--component-stage-angle))
        scale(var(--dom-shard-scale))
        scale(var(--component-stage-scale));
    transition: opacity .28s linear, transform .22s linear, filter .28s linear;
    filter: saturate(1.08) contrast(1.08);
    mask-image:
        radial-gradient(ellipse at 52% 50%, #000 0, rgba(0, 0, 0, .9) 48%, rgba(0, 0, 0, .5) 72%, transparent 91%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.jvue-stage-shards i {
    position: absolute;
    left: var(--shard-x, 50%);
    top: var(--shard-y, 50%);
    width: var(--shard-w, 92px);
    height: var(--shard-h, 2px);
    border: 1px solid rgba(247, 249, 255, .11);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .58) 42%, rgba(105, 199, 240, .34) 55%, rgba(201, 154, 85, .18) 68%, transparent 100%),
        repeating-linear-gradient(90deg, transparent 0, transparent 11px, rgba(255, 255, 255, .16) 12px, transparent 14px);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .16),
        0 0 34px rgba(201, 154, 85, .06);
    opacity: var(--shard-o, .48);
    transform:
        translate3d(-50%, -50%, var(--shard-z, 0px))
        rotate(var(--shard-rot, -8deg))
        skewX(var(--shard-skew, -10deg))
        scaleX(var(--shard-sx, 1));
    transform-origin: center;
    animation: jvueDomShard var(--shard-speed, 5.8s) cubic-bezier(.2, .74, .24, 1) infinite;
    animation-delay: var(--shard-delay, 0s);
    will-change: transform, opacity, filter;
}

.jvue-stage-shards i::before,
.jvue-stage-shards i::after {
    content: "";
    position: absolute;
    inset: -6px 18%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .18), transparent);
    opacity: .34;
    transform: translate3d(-42%, 0, 0);
    animation: jvueDomShardScan 1.8s linear infinite;
    animation-delay: inherit;
}

.jvue-stage-shards i::after {
    inset: -14px 42%;
    opacity: .18;
    filter: blur(6px);
}

.jvue-home.is-scroll-active .jvue-stage-shards,
.jvue-home.is-scene-switching .jvue-stage-shards,
.jvue-home.is-work-transitioning .jvue-stage-shards {
    filter: saturate(1.24) contrast(1.16);
}

.jvue-home.is-component-hot .jvue-stage-shards {
    opacity: .62;
    filter: saturate(1.28) contrast(1.18) brightness(1.04);
}

.jvue-home.is-fx-0 .jvue-stage-shards i { --shard-x: var(--core-x); --shard-y: var(--core-y); --shard-rot: var(--core-rot); --shard-w: var(--core-w); --shard-z: var(--core-z); }
.jvue-home.is-fx-1 .jvue-stage-shards i { --shard-x: var(--system-x); --shard-y: var(--system-y); --shard-rot: var(--system-rot); --shard-w: var(--system-w); --shard-z: var(--system-z); }
.jvue-home.is-fx-2 .jvue-stage-shards i { --shard-x: var(--goods-x); --shard-y: var(--goods-y); --shard-rot: var(--goods-rot); --shard-w: var(--goods-w); --shard-z: var(--goods-z); --shard-h: 3px; }
.jvue-home.is-fx-3 .jvue-stage-shards i { --shard-x: var(--flow-x); --shard-y: var(--flow-y); --shard-rot: var(--flow-rot); --shard-w: var(--flow-w); --shard-z: var(--flow-z); }
.jvue-home.is-fx-4 .jvue-stage-shards i { --shard-x: var(--signal-x); --shard-y: var(--signal-y); --shard-rot: var(--signal-rot); --shard-w: var(--signal-w); --shard-z: var(--signal-z); }
.jvue-home.is-fx-5 .jvue-stage-shards i { --shard-x: var(--start-x); --shard-y: var(--start-y); --shard-rot: var(--start-rot); --shard-w: var(--start-w); --shard-z: var(--start-z); }

.jvue-stage-shards i:nth-child(1) { --core-x: 53%; --core-y: 22%; --core-rot: 12deg; --core-w: 122px; --core-z: -90px; --system-x: 18%; --system-y: 24%; --system-rot: 0deg; --system-w: 74px; --system-z: -160px; --goods-x: 24%; --goods-y: 24%; --goods-rot: -8deg; --goods-w: 148px; --goods-z: -110px; --flow-x: 18%; --flow-y: 47%; --flow-rot: -14deg; --flow-w: 180px; --flow-z: -160px; --signal-x: 14%; --signal-y: 24%; --signal-rot: -4deg; --signal-w: 106px; --signal-z: -110px; --start-x: 50%; --start-y: 18%; --start-rot: 0deg; --start-w: 86px; --start-z: -130px; --shard-delay: -.1s; }
.jvue-stage-shards i:nth-child(2) { --core-x: 65%; --core-y: 27%; --core-rot: 34deg; --core-w: 84px; --core-z: -70px; --system-x: 32%; --system-y: 24%; --system-rot: 0deg; --system-w: 92px; --system-z: -120px; --goods-x: 42%; --goods-y: 24%; --goods-rot: 8deg; --goods-w: 126px; --goods-z: -80px; --flow-x: 30%; --flow-y: 39%; --flow-rot: -9deg; --flow-w: 210px; --flow-z: -120px; --signal-x: 28%; --signal-y: 37%; --signal-rot: 8deg; --signal-w: 78px; --signal-z: -70px; --start-x: 60%; --start-y: 24%; --start-rot: 28deg; --start-w: 104px; --start-z: -90px; --shard-delay: -.45s; }
.jvue-stage-shards i:nth-child(3) { --core-x: 72%; --core-y: 42%; --core-rot: 62deg; --core-w: 138px; --core-z: -40px; --system-x: 46%; --system-y: 24%; --system-rot: 0deg; --system-w: 68px; --system-z: -90px; --goods-x: 60%; --goods-y: 24%; --goods-rot: -6deg; --goods-w: 152px; --goods-z: -70px; --flow-x: 42%; --flow-y: 34%; --flow-rot: -3deg; --flow-w: 226px; --flow-z: -80px; --signal-x: 42%; --signal-y: 19%; --signal-rot: -10deg; --signal-w: 112px; --signal-z: -50px; --start-x: 66%; --start-y: 36%; --start-rot: 54deg; --start-w: 78px; --start-z: -60px; --shard-delay: -.8s; }
.jvue-stage-shards i:nth-child(4) { --core-x: 69%; --core-y: 60%; --core-rot: 96deg; --core-w: 98px; --core-z: -20px; --system-x: 60%; --system-y: 24%; --system-rot: 0deg; --system-w: 104px; --system-z: -60px; --goods-x: 78%; --goods-y: 24%; --goods-rot: 10deg; --goods-w: 118px; --goods-z: -100px; --flow-x: 54%; --flow-y: 40%; --flow-rot: 5deg; --flow-w: 244px; --flow-z: -60px; --signal-x: 58%; --signal-y: 34%; --signal-rot: 11deg; --signal-w: 88px; --signal-z: -90px; --start-x: 68%; --start-y: 52%; --start-rot: 82deg; --start-w: 118px; --start-z: -50px; --shard-delay: -1.15s; }
.jvue-stage-shards i:nth-child(5) { --core-x: 55%; --core-y: 72%; --core-rot: 124deg; --core-w: 132px; --core-z: -60px; --system-x: 74%; --system-y: 24%; --system-rot: 0deg; --system-w: 76px; --system-z: -130px; --goods-x: 24%; --goods-y: 43%; --goods-rot: 7deg; --goods-w: 138px; --goods-z: -60px; --flow-x: 66%; --flow-y: 51%; --flow-rot: 13deg; --flow-w: 218px; --flow-z: -110px; --signal-x: 72%; --signal-y: 23%; --signal-rot: -7deg; --signal-w: 104px; --signal-z: -130px; --start-x: 60%; --start-y: 68%; --start-rot: 118deg; --start-w: 92px; --start-z: -80px; --shard-delay: -1.5s; }
.jvue-stage-shards i:nth-child(6) { --core-x: 39%; --core-y: 68%; --core-rot: 158deg; --core-w: 92px; --core-z: -120px; --system-x: 18%; --system-y: 42%; --system-rot: 0deg; --system-w: 98px; --system-z: -80px; --goods-x: 42%; --goods-y: 43%; --goods-rot: -10deg; --goods-w: 118px; --goods-z: -120px; --flow-x: 78%; --flow-y: 64%; --flow-rot: 18deg; --flow-w: 192px; --flow-z: -150px; --signal-x: 86%; --signal-y: 41%; --signal-rot: 5deg; --signal-w: 76px; --signal-z: -90px; --start-x: 48%; --start-y: 74%; --start-rot: 156deg; --start-w: 126px; --start-z: -120px; --shard-delay: -1.85s; }
.jvue-stage-shards i:nth-child(7) { --core-x: 28%; --core-y: 54%; --core-rot: -164deg; --core-w: 146px; --core-z: -80px; --system-x: 32%; --system-y: 42%; --system-rot: 0deg; --system-w: 68px; --system-z: -150px; --goods-x: 60%; --goods-y: 43%; --goods-rot: 6deg; --goods-w: 154px; --goods-z: -70px; --flow-x: 70%; --flow-y: 37%; --flow-rot: -12deg; --flow-w: 204px; --flow-z: -80px; --signal-x: 22%; --signal-y: 58%; --signal-rot: -12deg; --signal-w: 116px; --signal-z: -140px; --start-x: 36%; --start-y: 66%; --start-rot: -152deg; --start-w: 92px; --start-z: -90px; --shard-delay: -2.2s; }
.jvue-stage-shards i:nth-child(8) { --core-x: 30%; --core-y: 36%; --core-rot: -128deg; --core-w: 104px; --core-z: -50px; --system-x: 46%; --system-y: 42%; --system-rot: 0deg; --system-w: 90px; --system-z: -100px; --goods-x: 78%; --goods-y: 43%; --goods-rot: -7deg; --goods-w: 132px; --goods-z: -130px; --flow-x: 58%; --flow-y: 70%; --flow-rot: 9deg; --flow-w: 230px; --flow-z: -60px; --signal-x: 40%; --signal-y: 68%; --signal-rot: 8deg; --signal-w: 84px; --signal-z: -70px; --start-x: 32%; --start-y: 50%; --start-rot: -96deg; --start-w: 112px; --start-z: -60px; --shard-delay: -2.55s; }
.jvue-stage-shards i:nth-child(9) { --core-x: 42%; --core-y: 26%; --core-rot: -72deg; --core-w: 118px; --core-z: -100px; --system-x: 60%; --system-y: 42%; --system-rot: 0deg; --system-w: 112px; --system-z: -70px; --goods-x: 24%; --goods-y: 62%; --goods-rot: -9deg; --goods-w: 126px; --goods-z: -90px; --flow-x: 44%; --flow-y: 62%; --flow-rot: 3deg; --flow-w: 248px; --flow-z: -130px; --signal-x: 56%; --signal-y: 56%; --signal-rot: -6deg; --signal-w: 118px; --signal-z: -120px; --start-x: 34%; --start-y: 34%; --start-rot: -58deg; --start-w: 86px; --start-z: -100px; --shard-delay: -2.9s; }
.jvue-stage-shards i:nth-child(10) { --core-x: 50%; --core-y: 48%; --core-rot: 4deg; --core-w: 180px; --core-z: 0px; --system-x: 74%; --system-y: 42%; --system-rot: 0deg; --system-w: 82px; --system-z: -120px; --goods-x: 42%; --goods-y: 62%; --goods-rot: 10deg; --goods-w: 150px; --goods-z: -40px; --flow-x: 32%; --flow-y: 53%; --flow-rot: -6deg; --flow-w: 220px; --flow-z: -100px; --signal-x: 72%; --signal-y: 72%; --signal-rot: 12deg; --signal-w: 96px; --signal-z: -60px; --start-x: 50%; --start-y: 50%; --start-rot: 8deg; --start-w: 176px; --start-z: 0px; --shard-delay: -3.25s; }
.jvue-stage-shards i:nth-child(n + 11) { --shard-o: .32; --shard-h: 1px; --shard-sx: .78; }
.jvue-stage-shards i:nth-child(11) { --core-x: 61%; --core-y: 39%; --core-rot: 28deg; --core-w: 72px; --core-z: -160px; --system-x: 18%; --system-y: 60%; --system-rot: 0deg; --system-w: 78px; --system-z: -110px; --goods-x: 60%; --goods-y: 62%; --goods-rot: -5deg; --goods-w: 126px; --goods-z: -160px; --flow-x: 16%; --flow-y: 64%; --flow-rot: -16deg; --flow-w: 152px; --flow-z: -190px; --signal-x: 16%; --signal-y: 78%; --signal-rot: 5deg; --signal-w: 86px; --signal-z: -80px; --start-x: 58%; --start-y: 38%; --start-rot: 44deg; --start-w: 70px; --start-z: -150px; --shard-delay: -3.6s; }
.jvue-stage-shards i:nth-child(12) { --core-x: 47%; --core-y: 63%; --core-rot: 104deg; --core-w: 88px; --core-z: -150px; --system-x: 32%; --system-y: 60%; --system-rot: 0deg; --system-w: 96px; --system-z: -70px; --goods-x: 78%; --goods-y: 62%; --goods-rot: 9deg; --goods-w: 110px; --goods-z: -100px; --flow-x: 84%; --flow-y: 48%; --flow-rot: 14deg; --flow-w: 160px; --flow-z: -160px; --signal-x: 34%; --signal-y: 82%; --signal-rot: -8deg; --signal-w: 104px; --signal-z: -150px; --start-x: 42%; --start-y: 60%; --start-rot: -122deg; --start-w: 82px; --start-z: -140px; --shard-delay: -3.95s; }
.jvue-stage-shards i:nth-child(13) { --core-x: 36%; --core-y: 44%; --core-rot: -142deg; --core-w: 78px; --core-z: -130px; --system-x: 46%; --system-y: 60%; --system-rot: 0deg; --system-w: 72px; --system-z: -140px; --goods-x: 30%; --goods-y: 76%; --goods-rot: 5deg; --goods-w: 118px; --goods-z: -80px; --flow-x: 74%; --flow-y: 28%; --flow-rot: -8deg; --flow-w: 168px; --flow-z: -130px; --signal-x: 52%; --signal-y: 82%; --signal-rot: 7deg; --signal-w: 78px; --signal-z: -100px; --start-x: 40%; --start-y: 42%; --start-rot: -42deg; --start-w: 66px; --start-z: -130px; --shard-delay: -4.3s; }
.jvue-stage-shards i:nth-child(14) { --core-x: 57%; --core-y: 55%; --core-rot: 78deg; --core-w: 96px; --core-z: -180px; --system-x: 60%; --system-y: 60%; --system-rot: 0deg; --system-w: 102px; --system-z: -90px; --goods-x: 50%; --goods-y: 76%; --goods-rot: -8deg; --goods-w: 132px; --goods-z: -120px; --flow-x: 24%; --flow-y: 30%; --flow-rot: -10deg; --flow-w: 174px; --flow-z: -140px; --signal-x: 70%; --signal-y: 84%; --signal-rot: -5deg; --signal-w: 112px; --signal-z: -130px; --start-x: 56%; --start-y: 62%; --start-rot: 134deg; --start-w: 76px; --start-z: -170px; --shard-delay: -4.65s; }
.jvue-stage-shards i:nth-child(15) { --core-x: 50%; --core-y: 34%; --core-rot: -18deg; --core-w: 108px; --core-z: -120px; --system-x: 74%; --system-y: 60%; --system-rot: 0deg; --system-w: 82px; --system-z: -160px; --goods-x: 70%; --goods-y: 76%; --goods-rot: 6deg; --goods-w: 108px; --goods-z: -70px; --flow-x: 50%; --flow-y: 22%; --flow-rot: 0deg; --flow-w: 188px; --flow-z: -180px; --signal-x: 84%; --signal-y: 62%; --signal-rot: 8deg; --signal-w: 86px; --signal-z: -100px; --start-x: 50%; --start-y: 32%; --start-rot: 90deg; --start-w: 90px; --start-z: -110px; --shard-delay: -5s; }
.jvue-stage-shards i:nth-child(16) { --core-x: 46%; --core-y: 80%; --core-rot: 172deg; --core-w: 112px; --core-z: -170px; --system-x: 28%; --system-y: 78%; --system-rot: 0deg; --system-w: 114px; --system-z: -130px; --goods-x: 86%; --goods-y: 72%; --goods-rot: -12deg; --goods-w: 94px; --goods-z: -150px; --flow-x: 88%; --flow-y: 72%; --flow-rot: 20deg; --flow-w: 150px; --flow-z: -200px; --signal-x: 10%; --signal-y: 46%; --signal-rot: -14deg; --signal-w: 94px; --signal-z: -160px; --start-x: 64%; --start-y: 78%; --start-rot: 176deg; --start-w: 102px; --start-z: -180px; --shard-delay: -5.35s; }

.jvue-stage-index {
    z-index: 6;
    inset: -14%;
    opacity: var(--stage-index-opacity);
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--stage-index-x) + var(--cursor-parallax-x) + var(--component-shard-x)), calc(var(--stage-index-y) + var(--cursor-parallax-y) + var(--component-shard-y)), 0)
        rotate(var(--stage-index-tilt))
        rotate(var(--stage-index-scene-rot, 0deg))
        rotate(var(--component-stage-angle))
        scale(var(--stage-index-scale))
        scale(var(--component-stage-scale));
    transform-origin: 50% 50%;
    transition: opacity .28s linear, transform .22s linear, filter .28s linear;
    filter: saturate(1.08) contrast(1.12);
    mask-image:
        radial-gradient(ellipse at 52% 50%, #000 0, rgba(0, 0, 0, .92) 44%, rgba(0, 0, 0, .5) 70%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.jvue-stage-index strong,
.jvue-stage-index small,
.jvue-stage-index span,
.jvue-stage-index > i,
.jvue-stage-index > b {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-index strong {
    left: min(8vw, 112px);
    top: 50%;
    color: transparent;
    font-size: clamp(116px, 23vw, 360px);
    line-height: .75;
    font-weight: 950;
    letter-spacing: 0;
    -webkit-text-stroke: 1px rgba(232, 237, 247, .1);
    opacity: .2;
    text-shadow:
        0 0 54px rgba(105, 199, 240, .1),
        0 0 120px rgba(201, 154, 85, .065);
    transform: translate3d(0, -50%, -240px) rotateY(12deg) skewX(-4deg);
    animation: jvueStageIndexNumber 4.8s steps(4, end) infinite;
}

.jvue-stage-index small {
    right: min(7vw, 104px);
    top: 16vh;
    color: rgba(232, 237, 247, .34);
    font-size: clamp(12px, 1.05vw, 17px);
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(0, 0, -60px);
}

.jvue-stage-index small::before {
    content: "";
    position: absolute;
    right: 0;
    top: -13px;
    width: min(22vw, 310px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201, 154, 85, .2), rgba(105, 199, 240, .58));
    box-shadow: 0 0 26px rgba(105, 199, 240, .14);
}

.jvue-stage-index span {
    left: var(--stage-index-left, 72%);
    top: var(--stage-index-top, 50%);
    width: clamp(132px, 13vw, 220px);
    min-height: 54px;
    padding: 10px 12px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 3px 9px;
    align-items: center;
    color: rgba(232, 237, 247, .35);
    border: 1px solid rgba(232, 237, 247, .11);
    border-radius: 4px;
    background:
        linear-gradient(110deg, rgba(105, 199, 240, .048), rgba(4, 6, 10, .022) 50%, rgba(201, 154, 85, .034)),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .035) 19px, transparent 20px);
    background-position: 0 0, var(--stage-index-scan) 0;
    box-shadow:
        inset 0 0 24px rgba(105, 199, 240, .035),
        0 0 32px rgba(0, 0, 0, .18);
    opacity: .16;
    filter: blur(.22px);
    transform:
        translate3d(-50%, -50%, var(--stage-index-z, -180px))
        rotateX(60deg)
        rotateZ(var(--stage-index-rot, -8deg))
        skewX(-4deg)
        scale(var(--stage-index-item-scale, .88));
    transition:
        opacity .35s var(--jv-ease),
        color .35s var(--jv-ease),
        border-color .35s var(--jv-ease),
        filter .35s var(--jv-ease),
        transform .35s var(--jv-ease);
}

.jvue-stage-index span::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .18), rgba(105, 199, 240, .18), transparent);
    opacity: 0;
    transform: translate3d(-48%, 0, 0);
}

.jvue-stage-index span::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 8px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .38), rgba(201, 154, 85, .18), transparent);
    opacity: .2;
}

.jvue-stage-index span i {
    grid-row: span 2;
    color: rgba(105, 199, 240, .78);
    font-style: normal;
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
}

.jvue-stage-index span b {
    color: inherit;
    font-size: 15px;
    line-height: 1;
    font-weight: 950;
}

.jvue-stage-index span em {
    color: rgba(232, 237, 247, .3);
    font-size: 11px;
    line-height: 1.2;
    font-style: normal;
    white-space: nowrap;
}

.jvue-stage-index span.active {
    --stage-index-item-scale: 1.08;
    opacity: .74 !important;
    color: rgba(247, 249, 255, .86);
    border-color: rgba(105, 199, 240, .46);
    filter: blur(0);
    box-shadow:
        inset 0 0 28px rgba(105, 199, 240, .09),
        0 0 36px rgba(105, 199, 240, .16),
        0 0 62px rgba(201, 154, 85, .08);
}

.jvue-stage-index span.active::before {
    opacity: .45;
    animation: jvueStageIndexScan 1.2s var(--jv-ease) both;
}

.jvue-stage-index span:nth-of-type(1) { --stage-index-left: 73%; --stage-index-top: 25%; --stage-index-rot: -16deg; --stage-index-z: -260px; }
.jvue-stage-index span:nth-of-type(2) { --stage-index-left: 82%; --stage-index-top: 38%; --stage-index-rot: 4deg; --stage-index-z: -170px; }
.jvue-stage-index span:nth-of-type(3) { --stage-index-left: 68%; --stage-index-top: 50%; --stage-index-rot: -5deg; --stage-index-z: -80px; }
.jvue-stage-index span:nth-of-type(4) { --stage-index-left: 80%; --stage-index-top: 62%; --stage-index-rot: 12deg; --stage-index-z: -150px; }
.jvue-stage-index span:nth-of-type(5) { --stage-index-left: 66%; --stage-index-top: 74%; --stage-index-rot: -10deg; --stage-index-z: -230px; }
.jvue-stage-index span:nth-of-type(6) { --stage-index-left: 86%; --stage-index-top: 78%; --stage-index-rot: 8deg; --stage-index-z: -280px; }

.jvue-stage-index > i {
    left: var(--stage-index-rail-x, 50%);
    top: var(--stage-index-rail-y, 50%);
    width: var(--stage-index-rail-w, 42vw);
    height: var(--stage-index-rail-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .26), rgba(105, 199, 240, .16), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 20px, rgba(105, 199, 240, .1) 21px, transparent 23px);
    background-position: 0 0, var(--stage-index-scan) 0;
    opacity: var(--stage-index-rail-opacity, .28);
    transform:
        translate3d(-50%, -50%, var(--stage-index-rail-z, -120px))
        rotate(var(--stage-index-rail-rot, -8deg));
    animation: jvueStageIndexRail var(--stage-index-rail-speed, 7.8s) linear infinite;
    animation-delay: var(--stage-index-rail-delay, 0s);
}

.jvue-stage-index > b {
    left: var(--stage-index-node-x, 50%);
    top: var(--stage-index-node-y, 50%);
    width: var(--stage-index-node-size, 4px);
    height: var(--stage-index-node-size, 4px);
    border-radius: 50%;
    background: rgba(226, 245, 255, .78);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .42),
        0 0 36px rgba(201, 154, 85, .12);
    opacity: var(--stage-index-node-opacity, .42);
    transform: translate3d(-50%, -50%, var(--stage-index-node-z, -80px));
    animation: jvueStageIndexNode var(--stage-index-node-speed, 4.8s) ease-in-out infinite;
    animation-delay: var(--stage-index-node-delay, 0s);
}

.jvue-stage-index > i:nth-of-type(1) { --stage-index-rail-x: 57%; --stage-index-rail-y: 29%; --stage-index-rail-w: 54vw; --stage-index-rail-rot: -12deg; --stage-index-rail-delay: -.4s; }
.jvue-stage-index > i:nth-of-type(2) { --stage-index-rail-x: 62%; --stage-index-rail-y: 45%; --stage-index-rail-w: 62vw; --stage-index-rail-rot: 5deg; --stage-index-rail-z: -60px; --stage-index-rail-delay: -1.8s; --stage-index-rail-opacity: .22; }
.jvue-stage-index > i:nth-of-type(3) { --stage-index-rail-x: 48%; --stage-index-rail-y: 58%; --stage-index-rail-w: 46vw; --stage-index-rail-rot: -5deg; --stage-index-rail-delay: -3.2s; }
.jvue-stage-index > i:nth-of-type(4) { --stage-index-rail-x: 72%; --stage-index-rail-y: 70%; --stage-index-rail-w: 38vw; --stage-index-rail-rot: 14deg; --stage-index-rail-z: -210px; --stage-index-rail-delay: -4.5s; --stage-index-rail-opacity: .18; }
.jvue-stage-index > i:nth-of-type(5) { --stage-index-rail-x: 33%; --stage-index-rail-y: 42%; --stage-index-rail-w: 34vw; --stage-index-rail-rot: -24deg; --stage-index-rail-z: -260px; --stage-index-rail-delay: -5.8s; --stage-index-rail-opacity: .16; }

.jvue-stage-index > b:nth-of-type(1) { --stage-index-node-x: 18%; --stage-index-node-y: 26%; --stage-index-node-speed: 5.4s; --stage-index-node-delay: -.8s; }
.jvue-stage-index > b:nth-of-type(2) { --stage-index-node-x: 34%; --stage-index-node-y: 64%; --stage-index-node-size: 6px; --stage-index-node-speed: 6.2s; --stage-index-node-delay: -2.1s; }
.jvue-stage-index > b:nth-of-type(3) { --stage-index-node-x: 48%; --stage-index-node-y: 38%; --stage-index-node-size: 3px; --stage-index-node-z: -140px; --stage-index-node-delay: -3.4s; }
.jvue-stage-index > b:nth-of-type(4) { --stage-index-node-x: 58%; --stage-index-node-y: 76%; --stage-index-node-size: 5px; --stage-index-node-delay: -1.6s; }
.jvue-stage-index > b:nth-of-type(5) { --stage-index-node-x: 69%; --stage-index-node-y: 32%; --stage-index-node-size: 4px; --stage-index-node-z: -180px; --stage-index-node-delay: -4.9s; }
.jvue-stage-index > b:nth-of-type(6) { --stage-index-node-x: 76%; --stage-index-node-y: 57%; --stage-index-node-size: 7px; --stage-index-node-speed: 6.8s; --stage-index-node-delay: -5.7s; }
.jvue-stage-index > b:nth-of-type(7) { --stage-index-node-x: 88%; --stage-index-node-y: 42%; --stage-index-node-size: 4px; --stage-index-node-z: -110px; --stage-index-node-delay: -2.9s; }
.jvue-stage-index > b:nth-of-type(8) { --stage-index-node-x: 84%; --stage-index-node-y: 80%; --stage-index-node-size: 5px; --stage-index-node-speed: 5.8s; --stage-index-node-delay: -6.1s; }

.jvue-home.is-fx-0 .jvue-stage-index { --stage-index-scene-rot: -8deg; }
.jvue-home.is-fx-1 .jvue-stage-index span { --stage-index-rot: 0deg; }
.jvue-home.is-fx-2 .jvue-stage-index span:not(.active) { --stage-index-item-scale: .94; }
.jvue-home.is-fx-3 .jvue-stage-index > i { --stage-index-rail-h: 2px; --stage-index-rail-opacity: .34; }
.jvue-home.is-fx-4 .jvue-stage-index > b { --stage-index-node-opacity: .58; }
.jvue-home.is-fx-5 .jvue-stage-index strong { opacity: .26; }

.jvue-home.is-scroll-active .jvue-stage-index,
.jvue-home.is-scene-switching .jvue-stage-index,
.jvue-home.is-work-transitioning .jvue-stage-index {
    filter: saturate(1.22) contrast(1.18);
}

.jvue-home.is-component-hot .jvue-stage-index {
    opacity: calc(var(--stage-index-opacity) + var(--component-index-boost));
    filter: saturate(1.3) contrast(1.2) brightness(1.05);
}

.jvue-home.is-scroll-active .jvue-stage-index > i,
.jvue-home.is-scene-switching .jvue-stage-index > i {
    animation-duration: 4.8s;
}

.jvue-stage-flash {
    z-index: 7;
    inset: -18%;
    opacity: var(--stage-flash-opacity);
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--stage-flash-x) + var(--cursor-parallax-x) + var(--component-stage-x)), calc(var(--stage-flash-y) + var(--cursor-parallax-y) + var(--component-stage-y)), 0)
        rotate(var(--stage-flash-angle))
        rotate(var(--component-stage-angle))
        scale(var(--stage-flash-scale))
        scale(var(--component-stage-scale));
    transform-origin: 50% 50%;
    filter: saturate(1.08) contrast(1.14);
    transition: opacity .18s linear, transform .18s linear, filter .18s linear;
    mask-image:
        linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%),
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .88) 48%, rgba(0, 0, 0, .46) 72%, transparent 92%);
}

.jvue-stage-flash strong,
.jvue-stage-flash small,
.jvue-stage-flash i,
.jvue-stage-flash b,
.jvue-stage-flash em {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-flash strong {
    left: 50%;
    top: 49%;
    width: 110vw;
    color: transparent;
    font-size: clamp(96px, 22vw, 340px);
    line-height: .78;
    font-weight: 950;
    letter-spacing: 0;
    text-align: center;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .1);
    opacity: .1;
    text-shadow:
        0 0 42px rgba(247, 249, 255, .12),
        0 0 110px rgba(105, 199, 240, .1);
    transform: translate3d(-50%, -50%, -180px) skewX(-7deg);
    animation: jvueStageFlashTitle .68s steps(2, end) infinite;
}

.jvue-stage-flash small {
    left: 10vw;
    bottom: 15vh;
    color: rgba(247, 249, 255, .34);
    font-size: clamp(12px, 1.2vw, 18px);
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    opacity: .18;
}

.jvue-stage-flash i {
    left: -16%;
    top: var(--flash-strip-y, 50%);
    width: 132%;
    height: var(--flash-strip-h, 10vh);
    border-radius: 2px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .16) 42%, rgba(105, 199, 240, .13) 48%, rgba(2, 4, 7, .02) 58%, transparent 100%),
        repeating-linear-gradient(90deg, transparent 0, transparent 32px, rgba(247, 249, 255, .09) 33px, transparent 35px);
    background-position: 0 0, var(--stage-flash-scan) 0;
    opacity: var(--flash-strip-opacity, .26);
    filter: blur(var(--flash-strip-blur, .3px));
    transform:
        rotate(var(--flash-strip-rot, -7deg))
        translate3d(var(--flash-strip-x, -18vw), 0, 0)
        skewX(var(--flash-strip-skew, -8deg));
    animation: var(--flash-strip-speed, .72s) cubic-bezier(.18, .74, .2, 1) infinite jvueStageFlashStrip;
    animation-delay: var(--flash-strip-delay, 0s);
}

.jvue-stage-flash b {
    left: var(--flash-node-x, 50%);
    top: var(--flash-node-y, 50%);
    width: var(--flash-node-w, 20vw);
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .72), rgba(105, 199, 240, .3), transparent);
    box-shadow: 0 0 24px rgba(247, 249, 255, .18);
    opacity: var(--flash-node-opacity, .28);
    transform: translate3d(-50%, -50%, 0) rotate(var(--flash-node-rot, -8deg)) scaleX(.4);
    animation: var(--flash-node-speed, .56s) ease-out infinite jvueStageFlashLine;
    animation-delay: var(--flash-node-delay, 0s);
}

.jvue-stage-flash em {
    inset: 0;
    opacity: .1;
    background:
        linear-gradient(90deg, rgba(247, 249, 255, .08) 0 1px, transparent 1px 100%),
        repeating-linear-gradient(0deg, transparent 0, transparent 7px, rgba(247, 249, 255, .035) 8px, transparent 9px),
        radial-gradient(circle at 50% 50%, rgba(247, 249, 255, .12), transparent 36%);
    background-size:
        64px 100%,
        100% 9px,
        100% 100%;
    background-position:
        var(--stage-flash-scan) 0,
        0 var(--stage-flash-scan),
        0 0;
    animation: jvueStageFlashInvert .8s steps(3, end) infinite;
}

.jvue-stage-flash i:nth-of-type(1) { --flash-strip-y: 18%; --flash-strip-h: 5vh; --flash-strip-rot: -5deg; --flash-strip-delay: -.08s; }
.jvue-stage-flash i:nth-of-type(2) { --flash-strip-y: 35%; --flash-strip-h: 14vh; --flash-strip-rot: 3deg; --flash-strip-x: 12vw; --flash-strip-delay: -.22s; --flash-strip-opacity: .32; }
.jvue-stage-flash i:nth-of-type(3) { --flash-strip-y: 52%; --flash-strip-h: 8vh; --flash-strip-rot: -11deg; --flash-strip-x: -8vw; --flash-strip-delay: -.36s; --flash-strip-blur: .15px; }
.jvue-stage-flash i:nth-of-type(4) { --flash-strip-y: 67%; --flash-strip-h: 18vh; --flash-strip-rot: 8deg; --flash-strip-x: 18vw; --flash-strip-delay: -.5s; --flash-strip-opacity: .22; }
.jvue-stage-flash i:nth-of-type(5) { --flash-strip-y: 82%; --flash-strip-h: 5vh; --flash-strip-rot: -4deg; --flash-strip-delay: -.64s; --flash-strip-opacity: .18; }

.jvue-stage-flash b:nth-of-type(1) { --flash-node-x: 38%; --flash-node-y: 30%; --flash-node-w: 42vw; --flash-node-rot: -12deg; --flash-node-delay: -.12s; }
.jvue-stage-flash b:nth-of-type(2) { --flash-node-x: 62%; --flash-node-y: 52%; --flash-node-w: 54vw; --flash-node-rot: 5deg; --flash-node-delay: -.32s; --flash-node-opacity: .34; }
.jvue-stage-flash b:nth-of-type(3) { --flash-node-x: 58%; --flash-node-y: 72%; --flash-node-w: 36vw; --flash-node-rot: 14deg; --flash-node-delay: -.52s; --flash-node-opacity: .22; }

.jvue-home.is-scene-switching .jvue-stage-flash,
.jvue-home.is-work-transitioning .jvue-stage-flash {
    opacity: .42;
    filter:
        saturate(1.42)
        contrast(1.58)
        brightness(1.1);
}

.jvue-home.is-scroll-active .jvue-stage-flash i,
.jvue-home.is-scene-switching .jvue-stage-flash i,
.jvue-home.is-work-transitioning .jvue-stage-flash i {
    animation-duration: .54s;
}

.jvue-home.is-component-hot .jvue-stage-flash {
    filter: saturate(1.34) contrast(1.34) brightness(1.06);
}

.jvue-home.is-component-hot .jvue-stage-flash i,
.jvue-home.is-component-hot .jvue-stage-flash b {
    animation-duration: .48s;
}

.jvue-stage-hotspot {
    z-index: 8;
    inset: -10%;
    opacity: 0;
    mix-blend-mode: screen;
    background:
        radial-gradient(circle at var(--component-aperture-x) var(--component-aperture-y), rgba(247, 249, 255, .28), rgba(105, 199, 240, .14) 10%, transparent 30%),
        radial-gradient(ellipse at var(--component-aperture-x) var(--component-aperture-y), rgba(201, 154, 85, .08), transparent 36%);
    transition: background-position .18s linear, filter .18s linear;
    filter: saturate(1.22) contrast(1.18);
}

.jvue-stage-hotspot i,
.jvue-stage-hotspot b,
.jvue-stage-hotspot em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, background-position;
}

.jvue-stage-hotspot i {
    left: -18%;
    top: var(--hotspot-line-y, var(--component-aperture-y));
    width: 136%;
    height: var(--hotspot-line-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .5), rgba(105, 199, 240, .26), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(255, 255, 255, .12) 23px, transparent 25px);
    background-position: 0 0, var(--component-flash-scan) 0;
    opacity: var(--hotspot-line-opacity, .44);
    transform:
        rotate(var(--component-stage-angle))
        translate3d(var(--component-shard-x), var(--component-shard-y), 0)
        scaleX(var(--hotspot-line-scale, .86));
    animation: jvueHotspotSlice var(--hotspot-line-speed, 1.1s) cubic-bezier(.18, .72, .2, 1) infinite;
    animation-delay: var(--hotspot-line-delay, 0s);
}

.jvue-stage-hotspot b {
    left: var(--component-aperture-x);
    top: var(--component-aperture-y);
    width: var(--hotspot-node-size, 6px);
    height: var(--hotspot-node-size, 6px);
    border-radius: 50%;
    background: rgba(247, 249, 255, .76);
    box-shadow:
        0 0 18px rgba(105, 199, 240, .42),
        0 0 46px rgba(201, 154, 85, .16);
    transform: translate3d(-50%, -50%, 0) translate3d(var(--hotspot-node-x, 0px), var(--hotspot-node-y, 0px), 0);
    animation: jvueHotspotNode 1.4s ease-in-out infinite;
    animation-delay: var(--hotspot-node-delay, 0s);
}

.jvue-stage-hotspot em {
    left: calc(var(--component-aperture-x) - 22vw);
    top: calc(var(--component-aperture-y) - 12vh);
    width: 44vw;
    height: 24vh;
    border: 1px solid rgba(247, 249, 255, .08);
    border-radius: 4px;
    background:
        linear-gradient(110deg, rgba(247, 249, 255, .08), transparent 42%, rgba(105, 199, 240, .05)),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .04) 19px, transparent 21px);
    background-position: 0 0, var(--component-flash-scan) 0;
    opacity: .32;
    transform: rotate(var(--component-stage-angle)) skewX(-6deg);
    animation: jvueHotspotPlate 1.8s ease-in-out infinite;
}

.jvue-stage-hotspot i:nth-of-type(1) { --hotspot-line-y: calc(var(--component-aperture-y) - 11vh); --hotspot-line-h: 8vh; --hotspot-line-opacity: .22; --hotspot-line-delay: -.2s; }
.jvue-stage-hotspot i:nth-of-type(2) { --hotspot-line-y: var(--component-aperture-y); --hotspot-line-h: 2px; --hotspot-line-opacity: .6; --hotspot-line-scale: 1; --hotspot-line-delay: -.45s; }
.jvue-stage-hotspot i:nth-of-type(3) { --hotspot-line-y: calc(var(--component-aperture-y) + 12vh); --hotspot-line-h: 6vh; --hotspot-line-opacity: .2; --hotspot-line-scale: .72; --hotspot-line-delay: -.7s; }
.jvue-stage-hotspot b:nth-of-type(1) { --hotspot-node-x: -18px; --hotspot-node-y: 14px; --hotspot-node-size: 5px; --hotspot-node-delay: -.2s; }
.jvue-stage-hotspot b:nth-of-type(2) { --hotspot-node-x: 26px; --hotspot-node-y: -18px; --hotspot-node-size: 8px; --hotspot-node-delay: -.7s; }

.jvue-stage-orbit-field {
    z-index: 7;
    inset: -18%;
    opacity: calc(var(--stage-field-opacity) + var(--stage-field-focus-opacity));
    perspective: 1500px;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--stage-field-x) + var(--stage-field-focus-x) + var(--cursor-parallax-x)), calc(var(--stage-field-y) + var(--stage-field-focus-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-field-tilt))
        rotate(var(--stage-field-focus-tilt))
        scale(var(--stage-field-scale));
    transform-origin: 54% 48%;
    filter: saturate(1.08) contrast(1.12);
    transition: opacity .24s linear, filter .24s linear, transform .2s linear;
    mask-image:
        radial-gradient(ellipse at 54% 48%, #000 0, rgba(0, 0, 0, .92) 46%, rgba(0, 0, 0, .5) 76%, transparent 94%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    will-change: transform, opacity, filter;
}

.jvue-stage-orbit-field::before,
.jvue-stage-orbit-field::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.jvue-stage-orbit-field::before {
    opacity: calc(.18 + var(--stage-field-focus-opacity));
    background:
        radial-gradient(circle at var(--stage-poster-focus-aperture-x) var(--stage-poster-focus-aperture-y), rgba(247, 249, 255, .18), rgba(105, 199, 240, .08) 16%, transparent 34%),
        radial-gradient(ellipse at 62% 48%, rgba(105, 199, 240, .09), transparent 42%),
        radial-gradient(ellipse at 36% 58%, rgba(201, 154, 85, .07), transparent 38%);
    filter: blur(.2px);
}

.jvue-stage-orbit-field::after {
    opacity: .34;
    background:
        repeating-linear-gradient(92deg, transparent 0, transparent 64px, rgba(105, 199, 240, .075) 65px, transparent 67px),
        repeating-linear-gradient(0deg, transparent 0, transparent 52px, rgba(247, 249, 255, .035) 53px, transparent 55px);
    background-position:
        calc(var(--stage-field-scan) + var(--stage-poster-focus-scan)) 0,
        0 calc(0px - var(--stage-field-scan));
    transform: rotateX(58deg) rotateZ(-7deg) scale(1.08);
    transform-origin: center;
    animation: jvueOrbitFieldGrid 12s linear infinite;
}

.jvue-stage-orbit-field i,
.jvue-stage-orbit-field span,
.jvue-stage-orbit-field b {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, background-position;
}

.jvue-stage-orbit-field i {
    left: var(--field-line-x, 50%);
    top: var(--field-line-y, 50%);
    z-index: 2;
    width: var(--field-line-w, 72vw);
    height: var(--field-line-h, 1px);
    border-radius: 999px;
    opacity: var(--field-line-o, .22);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .2) 28%, rgba(247, 249, 255, .5) 50%, rgba(201, 154, 85, .18) 58%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 24px, rgba(247, 249, 255, .12) 25px, transparent 28px);
    background-position: 0 0, calc(var(--stage-field-scan) + var(--stage-poster-focus-scan)) 0;
    box-shadow: 0 0 24px rgba(105, 199, 240, .1);
    transform:
        translate3d(-50%, -50%, var(--field-line-z, -120px))
        rotate(var(--field-line-r, -8deg))
        scaleX(var(--field-line-scale, .82));
    animation: jvueOrbitFieldRail var(--stage-field-speed) ease-in-out infinite;
    animation-delay: var(--field-line-delay, 0s);
}

.jvue-stage-orbit-field span {
    left: var(--field-node-x, 50%);
    top: var(--field-node-y, 50%);
    z-index: 3;
    width: var(--field-node-size, 6px);
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: var(--stage-field-node-opacity);
    background: rgba(247, 249, 255, .82);
    box-shadow:
        0 0 16px rgba(105, 199, 240, .42),
        0 0 34px rgba(105, 199, 240, .16),
        22px -14px 0 -3px rgba(201, 154, 85, .38);
    transform:
        translate3d(-50%, -50%, var(--field-node-z, -80px))
        rotate(var(--field-node-r, -8deg))
        translate3d(var(--field-node-start, -16vw), 0, 0)
        scale(.72);
    animation: jvueOrbitFieldNode var(--field-node-speed, 7.2s) ease-in-out infinite;
    animation-delay: var(--field-node-delay, 0s);
}

.jvue-stage-orbit-field b {
    left: var(--field-ring-x, 50%);
    top: var(--field-ring-y, 50%);
    z-index: 1;
    width: var(--field-ring-size, min(32vw, 460px));
    aspect-ratio: 1;
    border-radius: 50%;
    opacity: var(--field-ring-o, .16);
    border: 1px solid rgba(105, 199, 240, .14);
    background:
        repeating-radial-gradient(circle, transparent 0 28px, rgba(105, 199, 240, .08) 29px, transparent 32px),
        conic-gradient(from var(--fx-orbit-angle), transparent 0 18%, rgba(247, 249, 255, .14) 22%, transparent 28% 64%, rgba(201, 154, 85, .12) 70%, transparent 76% 100%);
    transform:
        translate3d(-50%, -50%, var(--field-ring-z, -260px))
        rotateX(62deg)
        rotateZ(var(--field-ring-r, -8deg))
        scale(var(--field-ring-scale, .9));
    animation: jvueOrbitFieldRing 11s ease-in-out infinite;
    animation-delay: var(--field-ring-delay, 0s);
}

.jvue-stage-orbit-field i:nth-of-type(1) { --field-line-x: 33%; --field-line-y: 34%; --field-line-r: -16deg; --field-line-w: 62vw; --field-line-delay: -.2s; }
.jvue-stage-orbit-field i:nth-of-type(2) { --field-line-x: 59%; --field-line-y: 41%; --field-line-r: 7deg; --field-line-w: 78vw; --field-line-o: .28; --field-line-delay: -1.4s; }
.jvue-stage-orbit-field i:nth-of-type(3) { --field-line-x: 70%; --field-line-y: 55%; --field-line-r: -8deg; --field-line-w: 54vw; --field-line-delay: -2.8s; }
.jvue-stage-orbit-field i:nth-of-type(4) { --field-line-x: 43%; --field-line-y: 66%; --field-line-r: 14deg; --field-line-w: 66vw; --field-line-o: .18; --field-line-delay: -4.2s; }
.jvue-stage-orbit-field i:nth-of-type(5) { --field-line-x: 77%; --field-line-y: 74%; --field-line-r: -18deg; --field-line-w: 40vw; --field-line-o: .14; --field-line-delay: -5.6s; }
.jvue-stage-orbit-field i:nth-of-type(6) { --field-line-x: 24%; --field-line-y: 52%; --field-line-r: 5deg; --field-line-w: 48vw; --field-line-o: .16; --field-line-delay: -6.8s; }

.jvue-stage-orbit-field span:nth-of-type(1) { --field-node-x: 28%; --field-node-y: 35%; --field-node-r: -16deg; --field-node-delay: -.4s; }
.jvue-stage-orbit-field span:nth-of-type(2) { --field-node-x: 44%; --field-node-y: 42%; --field-node-r: 7deg; --field-node-size: 5px; --field-node-speed: 8.6s; --field-node-delay: -1.2s; }
.jvue-stage-orbit-field span:nth-of-type(3) { --field-node-x: 62%; --field-node-y: 38%; --field-node-r: -8deg; --field-node-z: -140px; --field-node-delay: -2s; }
.jvue-stage-orbit-field span:nth-of-type(4) { --field-node-x: 78%; --field-node-y: 52%; --field-node-r: 12deg; --field-node-size: 7px; --field-node-speed: 7.8s; --field-node-delay: -2.8s; }
.jvue-stage-orbit-field span:nth-of-type(5) { --field-node-x: 38%; --field-node-y: 65%; --field-node-r: 14deg; --field-node-z: -180px; --field-node-delay: -3.6s; }
.jvue-stage-orbit-field span:nth-of-type(6) { --field-node-x: 55%; --field-node-y: 70%; --field-node-r: -7deg; --field-node-size: 5px; --field-node-speed: 9.2s; --field-node-delay: -4.4s; }
.jvue-stage-orbit-field span:nth-of-type(7) { --field-node-x: 82%; --field-node-y: 72%; --field-node-r: -18deg; --field-node-delay: -5.2s; }
.jvue-stage-orbit-field span:nth-of-type(8) { --field-node-x: 20%; --field-node-y: 56%; --field-node-r: 5deg; --field-node-size: 4px; --field-node-speed: 8s; --field-node-delay: -6s; }

.jvue-stage-orbit-field b:nth-of-type(1) { --field-ring-x: 62%; --field-ring-y: 48%; --field-ring-size: min(40vw, 620px); --field-ring-r: -8deg; --field-ring-o: .18; --field-ring-delay: -1s; }
.jvue-stage-orbit-field b:nth-of-type(2) { --field-ring-x: 34%; --field-ring-y: 62%; --field-ring-size: min(28vw, 420px); --field-ring-r: 14deg; --field-ring-o: .12; --field-ring-scale: .82; --field-ring-delay: -3.6s; }
.jvue-stage-orbit-field b:nth-of-type(3) { --field-ring-x: 78%; --field-ring-y: 34%; --field-ring-size: min(24vw, 360px); --field-ring-r: -18deg; --field-ring-o: .1; --field-ring-scale: .76; --field-ring-delay: -6.2s; }
.jvue-stage-orbit-field b:nth-of-type(4) { --field-ring-x: 48%; --field-ring-y: 76%; --field-ring-size: min(22vw, 330px); --field-ring-r: 6deg; --field-ring-o: .08; --field-ring-scale: .72; --field-ring-delay: -8.4s; }

.jvue-home.is-scroll-active .jvue-stage-orbit-field,
.jvue-home.is-scene-switching .jvue-stage-orbit-field,
.jvue-home.is-component-hot .jvue-stage-orbit-field {
    filter: saturate(1.2) contrast(1.2) brightness(1.08);
}

.jvue-stage-storywall {
    z-index: 8;
    inset: -16%;
    --story-plane-rx: 62deg;
    --story-plane-rz: -8deg;
    --story-grid-opacity: .22;
    --story-pulse-opacity: .34;
    --story-perspective: 1600px;
    opacity: calc(var(--stage-story-opacity) + var(--stage-story-focus-opacity));
    mix-blend-mode: screen;
    perspective: var(--story-perspective);
    transform:
        translate3d(calc(var(--stage-story-x) + var(--stage-story-ambient-x) + var(--stage-story-focus-x) + var(--cursor-parallax-x)), calc(var(--stage-story-y) + var(--stage-story-ambient-y) + var(--stage-story-focus-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-story-tilt))
        rotate(var(--stage-story-ambient-tilt))
        rotate(var(--stage-story-focus-tilt))
        scale(var(--stage-story-ambient-scale))
        scale(var(--stage-story-focus-scale))
        scale(var(--stage-story-scale));
    transform-origin: 50% 50%;
    filter: saturate(1.12) contrast(1.16) brightness(1.04);
    transition: opacity .22s linear, filter .22s linear;
    mask-image:
        radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .94) 48%, rgba(0, 0, 0, .5) 76%, transparent 93%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
    will-change: transform, opacity, filter;
}

.jvue-stage-storywall::before,
.jvue-stage-storywall::after {
    content: "";
    position: absolute;
    inset: 8%;
    pointer-events: none;
    transform: rotateX(var(--story-plane-rx)) rotateZ(var(--story-plane-rz));
    transform-origin: center;
}

.jvue-stage-storywall::before {
    opacity: calc(var(--story-grid-opacity) + var(--stage-story-focus-opacity));
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .16) 46%, rgba(247, 249, 255, .28) 50%, rgba(201, 154, 85, .14) 54%, transparent 100%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .12) 0, rgba(105, 199, 240, .12) 1px, transparent 1px, transparent 74px),
        repeating-linear-gradient(0deg, rgba(247, 249, 255, .08) 0, rgba(247, 249, 255, .08) 1px, transparent 1px, transparent 58px);
    background-size: 340px 100%, 100% 100%, 100% 100%;
    background-position:
        calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan)) 0,
        0 0,
        0 calc(0px - var(--stage-story-scan));
    filter: blur(.18px);
    animation: jvueStoryWallGrid var(--stage-story-speed) linear infinite;
}

.jvue-stage-storywall::after {
    inset: 17% 10%;
    opacity: var(--story-pulse-opacity);
    border-top: 1px solid rgba(105, 199, 240, .28);
    border-bottom: 1px solid rgba(201, 154, 85, .18);
    background:
        radial-gradient(circle at 18% 42%, rgba(105, 199, 240, .28), transparent 7%),
        radial-gradient(circle at 52% 50%, rgba(247, 249, 255, .18), transparent 9%),
        radial-gradient(circle at 84% 58%, rgba(201, 154, 85, .2), transparent 8%),
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .18), rgba(247, 249, 255, .12), rgba(201, 154, 85, .12), transparent);
    box-shadow: 0 0 42px rgba(105, 199, 240, .1);
    animation: jvueStoryWallPulse 6.8s ease-in-out infinite;
}

.jvue-stage-storywall article,
.jvue-stage-storywall span {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-stage-storywall article {
    left: var(--story-x, 50%);
    top: var(--story-y, 50%);
    width: clamp(220px, 25vw, 440px);
    min-height: clamp(104px, 10vw, 168px);
    padding: clamp(13px, 1.3vw, 22px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    border: 1px solid rgba(225, 238, 255, .2);
    border-radius: 8px;
    opacity: var(--story-o, .22);
    color: rgba(241, 247, 255, .86);
    background:
        linear-gradient(112deg, rgba(247, 249, 255, .09), rgba(105, 199, 240, .06) 38%, rgba(4, 7, 12, .46) 64%, rgba(201, 154, 85, .07)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 48%, transparent 58%),
        repeating-linear-gradient(90deg, rgba(105, 199, 240, .11) 0, rgba(105, 199, 240, .11) 1px, transparent 1px, transparent 34px);
    background-size: 100% 100%, 240px 100%, 100% 100%;
    background-position:
        0 0,
        calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan)) 0,
        0 0;
    box-shadow:
        0 18px 52px rgba(0, 0, 0, .34),
        inset 0 1px 0 rgba(255, 255, 255, .14),
        0 0 36px rgba(105, 199, 240, .08);
    transform:
        translate3d(-50%, -50%, var(--story-z, -230px))
        rotateX(var(--story-rx, 58deg))
        rotateY(var(--story-ry, 0deg))
        rotateZ(var(--story-rz, -8deg))
        skewX(-4deg)
        scale(var(--story-scale, .9));
    animation: jvueStoryWallPanel var(--stage-story-speed) ease-in-out infinite;
    animation-delay: var(--story-delay, 0s);
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-storywall article::before,
.jvue-stage-storywall article::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.jvue-stage-storywall article::before {
    inset: 0;
    border-radius: inherit;
    background:
        linear-gradient(90deg, rgba(105, 199, 240, .18), transparent 30%, transparent 72%, rgba(201, 154, 85, .16)),
        radial-gradient(circle at 18% 18%, rgba(247, 249, 255, .22), transparent 18%);
    opacity: .34;
}

.jvue-stage-storywall article::after {
    left: -18%;
    right: -18%;
    top: var(--story-scan-top, 46%);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(105, 199, 240, .76), rgba(247, 249, 255, .86), rgba(201, 154, 85, .54), transparent);
    box-shadow: 0 0 18px rgba(105, 199, 240, .28);
    opacity: .72;
    transform: translateX(calc(var(--stage-story-scan) + var(--stage-story-focus-scan)));
}

.jvue-stage-storywall article i,
.jvue-stage-storywall article strong,
.jvue-stage-storywall article small,
.jvue-stage-storywall article b,
.jvue-stage-storywall article em {
    position: relative;
    z-index: 1;
    font-style: normal;
}

.jvue-stage-storywall article i {
    align-self: flex-start;
    padding: 2px 8px;
    border-radius: 999px;
    color: rgba(105, 199, 240, .92);
    background: rgba(105, 199, 240, .1);
    border: 1px solid rgba(105, 199, 240, .18);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
}

.jvue-stage-storywall article strong {
    margin-top: 10px;
    color: rgba(247, 250, 255, .9);
    font-size: clamp(30px, 4vw, 72px);
    line-height: .92;
    font-weight: 900;
    letter-spacing: 0;
    text-shadow: 0 0 22px rgba(105, 199, 240, .18);
}

.jvue-stage-storywall article small {
    margin-top: 8px;
    color: rgba(235, 241, 250, .68);
    font-size: clamp(12px, 1.2vw, 17px);
    font-weight: 800;
    line-height: 1.25;
}

.jvue-stage-storywall article b {
    width: 70%;
    height: 1px;
    margin: 12px 0 7px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .78), rgba(247, 249, 255, .24), transparent);
    box-shadow: 0 0 14px rgba(105, 199, 240, .22);
}

.jvue-stage-storywall article em {
    color: rgba(201, 154, 85, .72);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.jvue-stage-storywall article.active {
    animation-name: jvueStoryWallPanelActive;
    opacity: .82;
    filter: brightness(1.24) saturate(1.12);
    border-color: rgba(247, 249, 255, .42);
    box-shadow:
        0 30px 76px rgba(0, 0, 0, .42),
        inset 0 1px 0 rgba(255, 255, 255, .18),
        0 0 52px rgba(105, 199, 240, .18),
        0 0 74px rgba(201, 154, 85, .1);
    transform:
        translate3d(-50%, calc(-50% + var(--story-active-shift, 0px)), calc(var(--story-z, -230px) + 116px))
        rotateX(50deg)
        rotateY(var(--story-ry, 0deg))
        rotateZ(var(--story-rz, -8deg))
        skewX(-3deg)
        scale(1);
}

.jvue-stage-storywall article.active strong {
    color: #fff;
    text-shadow: 0 0 28px rgba(105, 199, 240, .28), 0 0 18px rgba(201, 154, 85, .14);
}

.jvue-stage-storywall article:nth-of-type(1) { --story-x: 18%; --story-y: 36%; --story-rz: -15deg; --story-ry: 16deg; --story-z: -320px; --story-o: .2; --story-delay: -.2s; }
.jvue-stage-storywall article:nth-of-type(2) { --story-x: 43%; --story-y: 28%; --story-rz: 4deg; --story-ry: -8deg; --story-z: -170px; --story-o: .3; --story-delay: -1.1s; }
.jvue-stage-storywall article:nth-of-type(3) { --story-x: 72%; --story-y: 37%; --story-rz: 13deg; --story-ry: -15deg; --story-z: -230px; --story-o: .24; --story-delay: -2s; }
.jvue-stage-storywall article:nth-of-type(4) { --story-x: 26%; --story-y: 67%; --story-rz: 9deg; --story-ry: 9deg; --story-z: -135px; --story-o: .25; --story-delay: -2.9s; }
.jvue-stage-storywall article:nth-of-type(5) { --story-x: 58%; --story-y: 71%; --story-rz: -7deg; --story-ry: -7deg; --story-z: -250px; --story-o: .2; --story-delay: -3.8s; }
.jvue-stage-storywall article:nth-of-type(6) { --story-x: 84%; --story-y: 64%; --story-rz: 17deg; --story-ry: -18deg; --story-z: -350px; --story-o: .18; --story-delay: -4.7s; }

.jvue-stage-storywall span {
    left: var(--story-line-x, 50%);
    top: var(--story-line-y, 50%);
    width: var(--story-line-w, 58vw);
    height: 1px;
    opacity: var(--story-line-o, .2);
    background:
        linear-gradient(90deg, transparent, rgba(105, 199, 240, .5), rgba(247, 249, 255, .64), rgba(201, 154, 85, .36), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .22) 23px, transparent 25px);
    background-position: calc(var(--stage-story-scan) + var(--stage-story-ambient-scan)) 0, 0 0;
    box-shadow: 0 0 18px rgba(105, 199, 240, .16);
    transform:
        translate3d(-50%, -50%, var(--story-line-z, -180px))
        rotateX(62deg)
        rotateZ(var(--story-line-r, -8deg))
        scaleX(var(--story-line-scale, .8));
    animation: jvueStoryWallRail 9.2s ease-in-out infinite;
    animation-delay: var(--story-line-delay, 0s);
}

.jvue-stage-storywall span:nth-of-type(1) { --story-line-x: 30%; --story-line-y: 42%; --story-line-r: -15deg; --story-line-delay: -.6s; }
.jvue-stage-storywall span:nth-of-type(2) { --story-line-x: 54%; --story-line-y: 50%; --story-line-r: 4deg; --story-line-w: 72vw; --story-line-o: .28; --story-line-delay: -1.8s; }
.jvue-stage-storywall span:nth-of-type(3) { --story-line-x: 72%; --story-line-y: 68%; --story-line-r: 13deg; --story-line-w: 42vw; --story-line-delay: -3s; }
.jvue-stage-storywall span:nth-of-type(4) { --story-line-x: 24%; --story-line-y: 72%; --story-line-r: -18deg; --story-line-w: 38vw; --story-line-o: .16; --story-line-delay: -4.2s; }
.jvue-stage-storywall span:nth-of-type(5) { --story-line-x: 76%; --story-line-y: 31%; --story-line-r: 18deg; --story-line-w: 34vw; --story-line-o: .14; --story-line-delay: -5.4s; }

.jvue-home.is-fx-0 .jvue-stage-storywall {
    --story-active-shift: -18px;
    --story-plane-rx: 64deg;
    --story-plane-rz: -10deg;
    --story-grid-opacity: .2;
    --story-pulse-opacity: .32;
    --stage-story-speed: 8.4s;
}

.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 49%; --story-y: 47%; --story-z: -90px; --story-rz: -4deg; --story-ry: 0deg; --story-o: .34; --story-scale: .98; }
.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 28%; --story-y: 34%; --story-z: -300px; --story-rz: -18deg; --story-ry: 12deg; --story-o: .18; --story-scale: .86; }
.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 70%; --story-y: 35%; --story-z: -320px; --story-rz: 15deg; --story-ry: -14deg; --story-o: .18; --story-scale: .86; }
.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 28%; --story-y: 66%; --story-z: -260px; --story-rz: 12deg; --story-ry: 10deg; --story-o: .17; --story-scale: .84; }
.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 58%; --story-y: 74%; --story-z: -360px; --story-rz: -10deg; --story-ry: -7deg; --story-o: .14; --story-scale: .82; }
.jvue-home.is-fx-0 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 82%; --story-y: 61%; --story-z: -420px; --story-rz: 18deg; --story-ry: -18deg; --story-o: .13; --story-scale: .8; }

.jvue-home.is-fx-1 .jvue-stage-storywall {
    --story-active-shift: -6px;
    --story-plane-rx: 68deg;
    --story-plane-rz: 0deg;
    --story-grid-opacity: .28;
    --story-pulse-opacity: .42;
    --stage-story-speed: 7.6s;
}

.jvue-home.is-fx-1 .jvue-stage-storywall article { --story-rx: 64deg; --story-rz: 0deg; --story-ry: 0deg; width: clamp(220px, 22vw, 380px); }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 14%; --story-y: 56%; --story-z: -340px; --story-o: .16; }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 36%; --story-y: 48%; --story-z: -110px; --story-o: .38; --story-scale: .98; }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 58%; --story-y: 50%; --story-z: -190px; --story-o: .28; }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 78%; --story-y: 52%; --story-z: -280px; --story-o: .22; }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 48%; --story-y: 72%; --story-z: -360px; --story-o: .14; --story-scale: .84; }
.jvue-home.is-fx-1 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 90%; --story-y: 30%; --story-z: -420px; --story-o: .12; --story-scale: .78; }
.jvue-home.is-fx-1 .jvue-stage-storywall span { --story-line-r: 0deg; }

.jvue-home.is-fx-2 .jvue-stage-storywall {
    --story-active-shift: 12px;
    --story-plane-rx: 56deg;
    --story-plane-rz: 7deg;
    --story-grid-opacity: .34;
    --story-pulse-opacity: .38;
    --stage-story-speed: 6.9s;
}

.jvue-home.is-fx-2 .jvue-stage-storywall article { width: clamp(240px, 28vw, 500px); }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 17%; --story-y: 30%; --story-z: -360px; --story-rz: -9deg; --story-ry: 12deg; --story-o: .17; }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 41%; --story-y: 32%; --story-z: -240px; --story-rz: 6deg; --story-ry: -8deg; --story-o: .24; }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 63%; --story-y: 45%; --story-z: -80px; --story-rz: -2deg; --story-ry: -4deg; --story-o: .44; --story-scale: 1; }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 32%; --story-y: 66%; --story-z: -150px; --story-rz: 10deg; --story-ry: 9deg; --story-o: .27; }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 70%; --story-y: 73%; --story-z: -270px; --story-rz: -8deg; --story-ry: -8deg; --story-o: .2; }
.jvue-home.is-fx-2 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 88%; --story-y: 34%; --story-z: -410px; --story-rz: 15deg; --story-ry: -16deg; --story-o: .13; --story-scale: .8; }

.jvue-home.is-fx-3 .jvue-stage-storywall {
    --story-active-shift: 22px;
    --story-plane-rx: 60deg;
    --story-plane-rz: -18deg;
    --story-grid-opacity: .32;
    --story-pulse-opacity: .46;
    --stage-story-speed: 5.8s;
}

.jvue-home.is-fx-3 .jvue-stage-storywall article { --story-rx: 50deg; min-height: clamp(88px, 8vw, 132px); }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 15%; --story-y: 70%; --story-z: -420px; --story-rz: -22deg; --story-ry: 16deg; --story-o: .12; --story-scale: .78; }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 29%; --story-y: 58%; --story-z: -290px; --story-rz: -18deg; --story-ry: 10deg; --story-o: .18; }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 48%; --story-y: 48%; --story-z: -210px; --story-rz: -16deg; --story-ry: 0deg; --story-o: .25; }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 67%; --story-y: 38%; --story-z: -80px; --story-rz: -14deg; --story-ry: -10deg; --story-o: .46; --story-scale: 1.02; }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 80%; --story-y: 28%; --story-z: -260px; --story-rz: -12deg; --story-ry: -14deg; --story-o: .18; }
.jvue-home.is-fx-3 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 90%; --story-y: 18%; --story-z: -390px; --story-rz: -10deg; --story-ry: -18deg; --story-o: .12; --story-scale: .76; }
.jvue-home.is-fx-3 .jvue-stage-storywall span { --story-line-r: -18deg; --story-line-w: 82vw; }

.jvue-home.is-fx-4 .jvue-stage-storywall {
    --story-active-shift: -10px;
    --story-plane-rx: 50deg;
    --story-plane-rz: 2deg;
    --story-grid-opacity: .24;
    --story-pulse-opacity: .28;
    --story-perspective: 1900px;
    --stage-story-speed: 9.8s;
}

.jvue-home.is-fx-4 .jvue-stage-storywall article { --story-rx: 52deg; width: clamp(170px, 18vw, 310px); min-height: clamp(82px, 8vw, 124px); }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 20%; --story-y: 28%; --story-z: -330px; --story-rz: -4deg; --story-ry: 8deg; --story-o: .16; }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 45%; --story-y: 22%; --story-z: -380px; --story-rz: 8deg; --story-ry: -6deg; --story-o: .13; }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 74%; --story-y: 35%; --story-z: -260px; --story-rz: 12deg; --story-ry: -12deg; --story-o: .18; }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 30%; --story-y: 72%; --story-z: -320px; --story-rz: -8deg; --story-ry: 8deg; --story-o: .14; }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 56%; --story-y: 58%; --story-z: -85px; --story-rz: 3deg; --story-ry: -4deg; --story-o: .42; --story-scale: 1.02; }
.jvue-home.is-fx-4 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 84%; --story-y: 76%; --story-z: -370px; --story-rz: 14deg; --story-ry: -16deg; --story-o: .12; --story-scale: .78; }

.jvue-home.is-fx-5 .jvue-stage-storywall {
    --story-active-shift: 0px;
    --story-plane-rx: 62deg;
    --story-plane-rz: 12deg;
    --story-grid-opacity: .2;
    --story-pulse-opacity: .34;
    --stage-story-speed: 8.8s;
}

.jvue-home.is-fx-5 .jvue-stage-storywall article { --story-rx: 60deg; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(1) { --story-x: 16%; --story-y: 50%; --story-z: -430px; --story-rz: -18deg; --story-ry: 16deg; --story-o: .12; --story-scale: .76; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(2) { --story-x: 32%; --story-y: 36%; --story-z: -310px; --story-rz: -8deg; --story-ry: 9deg; --story-o: .16; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(3) { --story-x: 48%; --story-y: 64%; --story-z: -260px; --story-rz: 4deg; --story-ry: 0deg; --story-o: .18; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(4) { --story-x: 64%; --story-y: 36%; --story-z: -300px; --story-rz: 10deg; --story-ry: -8deg; --story-o: .16; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(5) { --story-x: 78%; --story-y: 50%; --story-z: -390px; --story-rz: 18deg; --story-ry: -16deg; --story-o: .12; --story-scale: .78; }
.jvue-home.is-fx-5 .jvue-stage-storywall article:nth-of-type(6) { --story-x: 51%; --story-y: 48%; --story-z: -70px; --story-rz: 0deg; --story-ry: 0deg; --story-o: .42; --story-scale: 1.04; }

.jvue-home.is-scroll-active .jvue-stage-storywall,
.jvue-home.is-scene-switching .jvue-stage-storywall,
.jvue-home.is-component-hot .jvue-stage-storywall {
    filter: saturate(1.22) contrast(1.22) brightness(1.1);
}

.jvue-stage-gallery {
    z-index: 9;
    inset: -16%;
    opacity: var(--stage-gallery-opacity);
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--stage-gallery-x) + var(--stage-gallery-ambient-x) + var(--cursor-parallax-x)), calc(var(--stage-gallery-y) + var(--stage-gallery-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-gallery-tilt))
        rotate(var(--stage-gallery-ambient-tilt))
        scale(var(--stage-gallery-ambient-scale))
        scale(var(--stage-gallery-scale));
    transform-origin: 52% 50%;
    transition: opacity .24s linear, filter .24s linear;
    filter: saturate(1.08) contrast(1.1);
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .92) 52%, rgba(0, 0, 0, .48) 76%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.jvue-stage-gallery article,
.jvue-stage-gallery span {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-gallery article {
    left: var(--gallery-x, 50%);
    top: var(--gallery-y, 50%);
    width: clamp(220px, 26vw, 430px);
    min-height: clamp(120px, 16vw, 230px);
    padding: 18px 20px;
    border: 1px solid rgba(247, 249, 255, .09);
    border-radius: 6px;
    background:
        linear-gradient(120deg, rgba(247, 249, 255, .055), rgba(105, 199, 240, .034) 36%, rgba(2, 4, 7, .04) 58%, rgba(201, 154, 85, .035)),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .04) 23px, transparent 25px),
        repeating-linear-gradient(0deg, transparent 0, transparent 12px, rgba(105, 199, 240, .026) 13px, transparent 14px);
    background-position:
        0 0,
        calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan)) 0,
        0 calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan));
    box-shadow:
        inset 0 0 34px rgba(105, 199, 240, .035),
        0 0 44px rgba(0, 0, 0, .18);
    color: rgba(232, 237, 247, .38);
    opacity: var(--gallery-o, .16);
    transform:
        translate3d(-50%, -50%, var(--gallery-z, -220px))
        rotateX(var(--gallery-rx, 58deg))
        rotateY(var(--gallery-ry, 0deg))
        rotateZ(var(--gallery-rz, -8deg))
        skewX(-4deg)
        scale(var(--gallery-scale, .88));
    transition:
        opacity .45s var(--jv-ease),
        color .45s var(--jv-ease),
        border-color .45s var(--jv-ease),
        filter .45s var(--jv-ease),
        transform .45s var(--jv-ease);
    animation: jvueGalleryPanel var(--gallery-speed, 7.8s) ease-in-out infinite;
    animation-delay: var(--gallery-delay, 0s);
}

.jvue-stage-gallery article::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .18), rgba(105, 199, 240, .18), transparent);
    opacity: 0;
    transform: translate3d(-52%, 0, 0);
}

.jvue-stage-gallery article::after {
    content: "";
    position: absolute;
    inset: auto 16px 14px 16px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .4), rgba(201, 154, 85, .18), transparent);
    opacity: .2;
}

.jvue-stage-gallery article i,
.jvue-stage-gallery article strong,
.jvue-stage-gallery article small,
.jvue-stage-gallery article b,
.jvue-stage-gallery article em {
    position: relative;
    z-index: 1;
    display: block;
    font-style: normal;
}

.jvue-stage-gallery article i {
    color: rgba(105, 199, 240, .72);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
}

.jvue-stage-gallery article strong {
    margin-top: 12px;
    color: inherit;
    font-size: clamp(18px, 2vw, 30px);
    line-height: 1.12;
    font-weight: 950;
    letter-spacing: 0;
}

.jvue-stage-gallery article small {
    margin-top: 10px;
    color: rgba(232, 237, 247, .28);
    font-size: 11px;
    line-height: 1.35;
    font-weight: 800;
    text-transform: uppercase;
}

.jvue-stage-gallery article b {
    position: absolute;
    left: 18px;
    top: 18px;
    right: 18px;
    height: 1px;
    background: linear-gradient(90deg, rgba(247, 249, 255, .26), transparent);
    opacity: .2;
}

.jvue-stage-gallery article em {
    position: absolute;
    right: 16px;
    top: 14px;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(105, 199, 240, .14);
    border-radius: 4px;
    opacity: .3;
    transform: rotate(12deg);
}

.jvue-stage-gallery article.active {
    --gallery-scale: 1.08;
    opacity: .62;
    color: rgba(247, 249, 255, .9);
    border-color: rgba(105, 199, 240, .34);
    filter: blur(0) saturate(1.16) brightness(1.05);
    box-shadow:
        inset 0 0 36px rgba(105, 199, 240, .08),
        0 0 48px rgba(105, 199, 240, .14),
        0 0 70px rgba(201, 154, 85, .08);
}

.jvue-stage-gallery article.active::before {
    opacity: .42;
    animation: jvueGalleryScan 1.1s var(--jv-ease) both;
}

.jvue-stage-gallery article:nth-of-type(1) { --gallery-x: 21%; --gallery-y: 33%; --gallery-rz: -12deg; --gallery-ry: 14deg; --gallery-z: -280px; --gallery-delay: -.2s; }
.jvue-stage-gallery article:nth-of-type(2) { --gallery-x: 45%; --gallery-y: 27%; --gallery-rz: 4deg; --gallery-ry: -7deg; --gallery-z: -160px; --gallery-delay: -1s; }
.jvue-stage-gallery article:nth-of-type(3) { --gallery-x: 72%; --gallery-y: 34%; --gallery-rz: 10deg; --gallery-ry: -12deg; --gallery-z: -210px; --gallery-delay: -1.8s; }
.jvue-stage-gallery article:nth-of-type(4) { --gallery-x: 29%; --gallery-y: 68%; --gallery-rz: 8deg; --gallery-ry: 9deg; --gallery-z: -120px; --gallery-delay: -2.6s; }
.jvue-stage-gallery article:nth-of-type(5) { --gallery-x: 58%; --gallery-y: 70%; --gallery-rz: -6deg; --gallery-ry: -8deg; --gallery-z: -240px; --gallery-delay: -3.4s; }
.jvue-stage-gallery article:nth-of-type(6) { --gallery-x: 82%; --gallery-y: 63%; --gallery-rz: 16deg; --gallery-ry: -16deg; --gallery-z: -300px; --gallery-delay: -4.2s; }

.jvue-home.is-fx-1 .jvue-stage-gallery article { --gallery-rx: 64deg; }
.jvue-home.is-fx-2 .jvue-stage-gallery article { min-height: clamp(96px, 12vw, 180px); }
.jvue-home.is-fx-3 .jvue-stage-gallery article { width: clamp(260px, 34vw, 560px); }
.jvue-home.is-fx-4 .jvue-stage-gallery article { --gallery-rx: 50deg; }
.jvue-home.is-fx-5 .jvue-stage-gallery article { --gallery-rx: 62deg; }

.jvue-stage-gallery span {
    left: var(--gallery-line-x, 50%);
    top: var(--gallery-line-y, 50%);
    width: var(--gallery-line-w, 54vw);
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .32), rgba(105, 199, 240, .18), transparent);
    opacity: var(--gallery-line-o, .2);
    transform:
        translate3d(-50%, -50%, var(--gallery-line-z, -180px))
        rotate(var(--gallery-line-r, -8deg));
    animation: jvueGalleryLine var(--gallery-line-speed, 5.8s) ease-in-out infinite;
    animation-delay: var(--gallery-line-delay, 0s);
}

.jvue-stage-gallery span:nth-of-type(1) { --gallery-line-x: 34%; --gallery-line-y: 42%; --gallery-line-r: -11deg; --gallery-line-delay: -.4s; }
.jvue-stage-gallery span:nth-of-type(2) { --gallery-line-x: 58%; --gallery-line-y: 52%; --gallery-line-r: 6deg; --gallery-line-w: 68vw; --gallery-line-delay: -1.8s; --gallery-line-o: .26; }
.jvue-stage-gallery span:nth-of-type(3) { --gallery-line-x: 70%; --gallery-line-y: 72%; --gallery-line-r: 14deg; --gallery-line-w: 42vw; --gallery-line-delay: -3.2s; }
.jvue-stage-gallery span:nth-of-type(4) { --gallery-line-x: 24%; --gallery-line-y: 73%; --gallery-line-r: -18deg; --gallery-line-w: 36vw; --gallery-line-delay: -4.6s; --gallery-line-o: .16; }

.jvue-home.is-scroll-active .jvue-stage-gallery,
.jvue-home.is-scene-switching .jvue-stage-gallery,
.jvue-home.is-component-hot .jvue-stage-gallery {
    opacity: .42;
    filter: saturate(1.22) contrast(1.16);
}

.jvue-stage-workstrip {
    z-index: 10;
    inset: -18%;
    opacity: var(--stage-workstrip-opacity);
    mix-blend-mode: screen;
    perspective: 1300px;
    transform:
        translate3d(calc(var(--stage-workstrip-x) + var(--stage-workstrip-ambient-x) + var(--cursor-parallax-x)), calc(var(--stage-workstrip-y) + var(--stage-workstrip-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-workstrip-tilt))
        rotate(var(--stage-workstrip-ambient-tilt))
        scale(var(--stage-workstrip-ambient-scale))
        scale(var(--stage-workstrip-scale));
    transform-origin: 50% 48%;
    transition: opacity .22s linear, filter .22s linear;
    filter: saturate(1.08) contrast(1.12);
    mask-image:
        radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .9) 48%, rgba(0, 0, 0, .52) 72%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}

.jvue-stage-workstrip strong,
.jvue-stage-workstrip small,
.jvue-stage-workstrip span,
.jvue-stage-workstrip em {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, background-position, filter;
}

.jvue-stage-workstrip strong {
    left: 50%;
    top: 47%;
    z-index: 1;
    color: transparent;
    font-size: clamp(132px, 23vw, 390px);
    line-height: .8;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .16);
    text-shadow:
        0 0 24px rgba(105, 199, 240, .12),
        0 0 70px rgba(201, 154, 85, .08);
    opacity: .2;
    transform: translate3d(-50%, -50%, -240px) skewX(-9deg) rotate(-2deg);
    animation: jvueWorkstripTitle 4.8s ease-in-out infinite;
}

.jvue-stage-workstrip small {
    left: 50%;
    top: 61%;
    z-index: 3;
    min-width: 260px;
    padding: 8px 12px;
    color: rgba(232, 237, 247, .48);
    border-left: 2px solid rgba(105, 199, 240, .36);
    background: linear-gradient(90deg, rgba(5, 8, 12, .42), transparent);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    transform: translate3d(-50%, -50%, -90px) skewX(-12deg);
}

.jvue-stage-workstrip span {
    left: var(--workstrip-x, 50%);
    top: var(--workstrip-y, 50%);
    z-index: 2;
    width: clamp(220px, 26vw, 520px);
    min-height: clamp(70px, 9vw, 150px);
    padding: 14px 18px;
    border: 1px solid rgba(247, 249, 255, .09);
    border-radius: 4px;
    color: rgba(247, 249, 255, .42);
    background:
        linear-gradient(106deg, rgba(247, 249, 255, .08), rgba(105, 199, 240, .05) 34%, rgba(5, 7, 11, .03) 60%, rgba(201, 154, 85, .045)),
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 44%, rgba(105, 199, 240, .12) 48%, transparent 58%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .035) 19px, transparent 20px);
    background-position:
        0 0,
        calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan)) 0,
        calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan)) 0;
    box-shadow:
        inset 0 0 28px rgba(105, 199, 240, .04),
        0 0 42px rgba(0, 0, 0, .28);
    opacity: var(--workstrip-o, .14);
    transform:
        translate3d(-50%, -50%, var(--workstrip-z, -180px))
        rotateX(var(--workstrip-rx, 62deg))
        rotateY(var(--workstrip-ry, 0deg))
        rotateZ(var(--workstrip-rz, -8deg))
        skewX(-12deg)
        scale(var(--workstrip-scale, .86));
    animation: jvueWorkstripPanel var(--workstrip-speed, 6.4s) ease-in-out infinite;
    animation-delay: var(--workstrip-delay, 0s);
}

.jvue-stage-workstrip span i,
.jvue-stage-workstrip span b {
    position: relative;
    z-index: 1;
    display: block;
    font-style: normal;
}

.jvue-stage-workstrip span i {
    color: rgba(105, 199, 240, .72);
    font-size: clamp(22px, 4.2vw, 76px);
    line-height: .86;
    font-weight: 950;
    text-transform: uppercase;
}

.jvue-stage-workstrip span b {
    margin-top: 8px;
    color: rgba(232, 237, 247, .42);
    font-size: 12px;
    line-height: 1.1;
    font-weight: 900;
}

.jvue-stage-workstrip span.active {
    --workstrip-scale: 1.08;
    --workstrip-o: .5;
    z-index: 4;
    color: rgba(247, 249, 255, .88);
    border-color: rgba(105, 199, 240, .38);
    filter: brightness(1.12) saturate(1.16);
    box-shadow:
        inset 0 0 34px rgba(105, 199, 240, .09),
        0 0 58px rgba(105, 199, 240, .14),
        0 0 86px rgba(201, 154, 85, .08);
}

.jvue-stage-workstrip span.active i {
    color: rgba(247, 249, 255, .9);
    text-shadow: 0 0 22px rgba(105, 199, 240, .28);
}

.jvue-stage-workstrip em {
    left: var(--workstrip-line-x, 50%);
    top: var(--workstrip-line-y, 50%);
    z-index: 5;
    width: var(--workstrip-line-w, 62vw);
    height: var(--workstrip-line-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .48), rgba(105, 199, 240, .18), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 16px, rgba(255, 255, 255, .16) 17px, transparent 19px);
    background-position: 0 0, calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan)) 0;
    opacity: var(--workstrip-line-o, .18);
    transform: translate3d(-50%, -50%, var(--workstrip-line-z, -110px)) rotate(var(--workstrip-line-r, -12deg)) scaleX(var(--workstrip-line-scale, .82));
    animation: jvueWorkstripLine var(--workstrip-line-speed, 2.8s) ease-in-out infinite;
    animation-delay: var(--workstrip-line-delay, 0s);
}

.jvue-stage-workstrip span:nth-of-type(1) { --workstrip-x: 24%; --workstrip-y: 35%; --workstrip-rz: -15deg; --workstrip-ry: 10deg; --workstrip-z: -300px; --workstrip-delay: -.2s; }
.jvue-stage-workstrip span:nth-of-type(2) { --workstrip-x: 54%; --workstrip-y: 30%; --workstrip-rz: 5deg; --workstrip-ry: -8deg; --workstrip-z: -180px; --workstrip-delay: -1s; }
.jvue-stage-workstrip span:nth-of-type(3) { --workstrip-x: 78%; --workstrip-y: 48%; --workstrip-rz: 15deg; --workstrip-ry: -14deg; --workstrip-z: -260px; --workstrip-delay: -1.8s; }
.jvue-stage-workstrip span:nth-of-type(4) { --workstrip-x: 32%; --workstrip-y: 70%; --workstrip-rz: 10deg; --workstrip-ry: 8deg; --workstrip-z: -130px; --workstrip-delay: -2.6s; }
.jvue-stage-workstrip span:nth-of-type(5) { --workstrip-x: 62%; --workstrip-y: 72%; --workstrip-rz: -6deg; --workstrip-ry: -6deg; --workstrip-z: -230px; --workstrip-delay: -3.4s; }
.jvue-stage-workstrip span:nth-of-type(6) { --workstrip-x: 86%; --workstrip-y: 66%; --workstrip-rz: 18deg; --workstrip-ry: -12deg; --workstrip-z: -320px; --workstrip-delay: -4.2s; }

.jvue-stage-workstrip em:nth-of-type(1) { --workstrip-line-x: 42%; --workstrip-line-y: 36%; --workstrip-line-r: -16deg; --workstrip-line-delay: -.1s; }
.jvue-stage-workstrip em:nth-of-type(2) { --workstrip-line-x: 60%; --workstrip-line-y: 50%; --workstrip-line-r: 6deg; --workstrip-line-w: 74vw; --workstrip-line-delay: -.9s; }
.jvue-stage-workstrip em:nth-of-type(3) { --workstrip-line-x: 48%; --workstrip-line-y: 66%; --workstrip-line-r: -7deg; --workstrip-line-h: 7vh; --workstrip-line-o: .1; --workstrip-line-delay: -1.7s; }
.jvue-stage-workstrip em:nth-of-type(4) { --workstrip-line-x: 74%; --workstrip-line-y: 78%; --workstrip-line-r: 15deg; --workstrip-line-w: 40vw; --workstrip-line-delay: -2.4s; }

.jvue-home.is-fx-1 .jvue-stage-workstrip span { --workstrip-rx: 66deg; }
.jvue-home.is-fx-2 .jvue-stage-workstrip span { width: clamp(210px, 23vw, 420px); }
.jvue-home.is-fx-3 .jvue-stage-workstrip span { --workstrip-rx: 50deg; min-height: clamp(54px, 7vw, 118px); }
.jvue-home.is-fx-4 .jvue-stage-workstrip strong { -webkit-text-stroke-color: rgba(201, 154, 85, .2); }
.jvue-home.is-fx-5 .jvue-stage-workstrip span { --workstrip-rx: 58deg; }

.jvue-home.is-scroll-active .jvue-stage-workstrip,
.jvue-home.is-scene-switching .jvue-stage-workstrip,
.jvue-home.is-work-transitioning .jvue-stage-workstrip {
    opacity: .54;
    filter: saturate(1.18) contrast(1.2);
}

.jvue-stage-chapter {
    z-index: 11;
    inset: -20%;
    opacity: var(--stage-chapter-opacity);
    mix-blend-mode: screen;
    perspective: 1200px;
    transform:
        translate3d(calc(var(--stage-chapter-x) + var(--stage-chapter-ambient-x) + var(--cursor-parallax-x)), calc(var(--stage-chapter-y) + var(--stage-chapter-ambient-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-chapter-tilt))
        rotate(var(--stage-chapter-ambient-tilt))
        scale(var(--stage-chapter-ambient-scale))
        scale(var(--stage-chapter-scale));
    transform-origin: 50% 50%;
    transition: opacity .18s linear, filter .2s linear;
    filter: saturate(1.12) contrast(1.18);
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .88) 40%, rgba(0, 0, 0, .44) 68%, transparent 91%),
        linear-gradient(90deg, transparent 0, #000 10%, #000 90%, transparent 100%);
}

.jvue-stage-chapter strong,
.jvue-stage-chapter small,
.jvue-stage-chapter span,
.jvue-stage-chapter em,
.jvue-stage-chapter > i {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, background-position, filter;
}

.jvue-stage-chapter strong {
    left: 50%;
    top: 49%;
    z-index: 2;
    color: transparent;
    font-size: clamp(120px, 18vw, 320px);
    line-height: .82;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    -webkit-text-stroke: 1px rgba(247, 249, 255, .18);
    opacity: .18;
    transform: translate3d(-50%, -50%, -170px) skewX(-14deg);
    text-shadow:
        0 0 26px rgba(105, 199, 240, .16),
        0 0 80px rgba(201, 154, 85, .08);
    animation: jvueChapterTitle 3.6s ease-in-out infinite;
}

.jvue-stage-chapter small {
    left: 50%;
    top: 58%;
    z-index: 4;
    color: rgba(247, 249, 255, .48);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(-50%, -50%, -80px) skewX(-12deg);
}

.jvue-stage-chapter span {
    left: var(--chapter-chip-x, 50%);
    top: var(--chapter-chip-y, 50%);
    z-index: 3;
    min-width: 118px;
    padding: 8px 10px;
    border: 1px solid rgba(247, 249, 255, .08);
    border-radius: 3px;
    background:
        linear-gradient(108deg, rgba(247, 249, 255, .07), rgba(105, 199, 240, .045), rgba(5, 7, 11, .02)),
        repeating-linear-gradient(90deg, transparent 0, transparent 14px, rgba(247, 249, 255, .04) 15px, transparent 17px);
    background-position: 0 0, calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan)) 0;
    color: rgba(232, 237, 247, .32);
    opacity: var(--chapter-chip-o, .16);
    transform:
        translate3d(-50%, -50%, var(--chapter-chip-z, -120px))
        rotateX(58deg)
        rotateZ(var(--chapter-chip-r, -8deg))
        skewX(-10deg)
        scale(var(--chapter-chip-scale, .84));
    animation: jvueChapterChip var(--chapter-chip-speed, 5.2s) ease-in-out infinite;
    animation-delay: var(--chapter-chip-delay, 0s);
}

.jvue-stage-chapter span i,
.jvue-stage-chapter span b {
    position: relative;
    z-index: 1;
    display: inline-block;
    font-style: normal;
    vertical-align: middle;
}

.jvue-stage-chapter span i {
    margin-right: 8px;
    color: rgba(105, 199, 240, .72);
    font-size: 11px;
    font-weight: 950;
}

.jvue-stage-chapter span b {
    color: inherit;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: 0;
}

.jvue-stage-chapter span.active {
    --chapter-chip-o: .58;
    --chapter-chip-scale: 1.06;
    z-index: 5;
    color: rgba(247, 249, 255, .86);
    border-color: rgba(105, 199, 240, .36);
    filter: brightness(1.12);
    box-shadow:
        inset 0 0 28px rgba(105, 199, 240, .08),
        0 0 38px rgba(105, 199, 240, .12);
}

.jvue-stage-chapter em {
    left: var(--chapter-slit-x, 50%);
    top: var(--chapter-slit-y, 50%);
    z-index: 6;
    width: var(--chapter-slit-w, 64vw);
    height: var(--chapter-slit-h, 10vh);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .08) 35%, rgba(105, 199, 240, .15) 45%, rgba(201, 154, 85, .08) 52%, transparent 66%),
        repeating-linear-gradient(90deg, transparent 0, transparent 22px, rgba(247, 249, 255, .06) 23px, transparent 25px);
    background-position: calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan)) 0, calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan)) 0;
    opacity: var(--chapter-slit-o, .12);
    transform:
        translate3d(-50%, -50%, var(--chapter-slit-z, -80px))
        rotate(var(--chapter-slit-r, -12deg))
        skewX(-12deg)
        scaleX(var(--chapter-slit-scale, .84));
    animation: jvueChapterSlit var(--chapter-slit-speed, 2.6s) ease-in-out infinite;
    animation-delay: var(--chapter-slit-delay, 0s);
}

.jvue-stage-chapter > i {
    left: var(--chapter-mask-x, 50%);
    top: var(--chapter-mask-y, 50%);
    z-index: 1;
    width: var(--chapter-mask-w, 42vw);
    height: var(--chapter-mask-h, 18vh);
    background:
        linear-gradient(100deg, rgba(0, 0, 0, .18), rgba(5, 8, 13, .04), rgba(247, 249, 255, .035), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 20px, rgba(105, 199, 240, .035) 21px, transparent 23px);
    border: 1px solid rgba(247, 249, 255, .035);
    opacity: var(--chapter-mask-o, .18);
    transform:
        translate3d(-50%, -50%, var(--chapter-mask-z, -220px))
        rotateX(64deg)
        rotateZ(var(--chapter-mask-r, -10deg))
        skewX(-10deg);
    animation: jvueChapterMask 6.8s ease-in-out infinite;
    animation-delay: var(--chapter-mask-delay, 0s);
}

.jvue-stage-chapter span:nth-of-type(1) { --chapter-chip-x: 18%; --chapter-chip-y: 31%; --chapter-chip-r: -16deg; --chapter-chip-z: -260px; --chapter-chip-delay: -.2s; }
.jvue-stage-chapter span:nth-of-type(2) { --chapter-chip-x: 36%; --chapter-chip-y: 44%; --chapter-chip-r: 6deg; --chapter-chip-z: -140px; --chapter-chip-delay: -.9s; }
.jvue-stage-chapter span:nth-of-type(3) { --chapter-chip-x: 58%; --chapter-chip-y: 30%; --chapter-chip-r: -6deg; --chapter-chip-z: -200px; --chapter-chip-delay: -1.6s; }
.jvue-stage-chapter span:nth-of-type(4) { --chapter-chip-x: 73%; --chapter-chip-y: 58%; --chapter-chip-r: 12deg; --chapter-chip-z: -160px; --chapter-chip-delay: -2.3s; }
.jvue-stage-chapter span:nth-of-type(5) { --chapter-chip-x: 47%; --chapter-chip-y: 75%; --chapter-chip-r: -10deg; --chapter-chip-z: -230px; --chapter-chip-delay: -3s; }
.jvue-stage-chapter span:nth-of-type(6) { --chapter-chip-x: 84%; --chapter-chip-y: 38%; --chapter-chip-r: 16deg; --chapter-chip-z: -280px; --chapter-chip-delay: -3.7s; }

.jvue-stage-chapter em:nth-of-type(1) { --chapter-slit-x: 38%; --chapter-slit-y: 34%; --chapter-slit-r: -17deg; --chapter-slit-delay: -.1s; }
.jvue-stage-chapter em:nth-of-type(2) { --chapter-slit-x: 60%; --chapter-slit-y: 50%; --chapter-slit-r: 7deg; --chapter-slit-w: 78vw; --chapter-slit-delay: -.7s; --chapter-slit-o: .16; }
.jvue-stage-chapter em:nth-of-type(3) { --chapter-slit-x: 52%; --chapter-slit-y: 68%; --chapter-slit-r: -8deg; --chapter-slit-h: 5vh; --chapter-slit-delay: -1.3s; }
.jvue-stage-chapter em:nth-of-type(4) { --chapter-slit-x: 76%; --chapter-slit-y: 77%; --chapter-slit-r: 18deg; --chapter-slit-w: 38vw; --chapter-slit-delay: -1.9s; --chapter-slit-o: .1; }

.jvue-stage-chapter > i:nth-of-type(1) { --chapter-mask-x: 22%; --chapter-mask-y: 40%; --chapter-mask-r: -18deg; --chapter-mask-delay: -.4s; }
.jvue-stage-chapter > i:nth-of-type(2) { --chapter-mask-x: 54%; --chapter-mask-y: 54%; --chapter-mask-r: 4deg; --chapter-mask-w: 58vw; --chapter-mask-delay: -1.8s; }
.jvue-stage-chapter > i:nth-of-type(3) { --chapter-mask-x: 78%; --chapter-mask-y: 38%; --chapter-mask-r: 16deg; --chapter-mask-w: 32vw; --chapter-mask-delay: -3.2s; }

.jvue-home.is-scroll-active .jvue-stage-chapter,
.jvue-home.is-scene-switching .jvue-stage-chapter,
.jvue-home.is-work-transitioning .jvue-stage-chapter {
    opacity: .62;
    filter: saturate(1.22) contrast(1.24);
}

.jvue-stage-poster {
    z-index: 7;
    inset: -14%;
    opacity: var(--stage-poster-opacity);
    mix-blend-mode: screen;
    perspective: 1500px;
    transform:
        translate3d(calc(var(--stage-poster-x) + var(--stage-poster-ambient-x) + var(--stage-poster-focus-x) + var(--cursor-parallax-x)), calc(var(--stage-poster-y) + var(--stage-poster-ambient-y) + var(--stage-poster-focus-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--stage-poster-tilt))
        rotate(var(--stage-poster-ambient-tilt))
        rotate(var(--stage-poster-focus-tilt))
        scale(var(--stage-poster-ambient-scale))
        scale(var(--stage-poster-focus-scale))
        scale(var(--stage-poster-scale));
    transform-origin: 54% 50%;
    transition: opacity .26s linear, filter .24s linear;
    filter: saturate(1.06) contrast(1.1);
    mask-image:
        radial-gradient(ellipse at 54% 50%, #000 0, rgba(0, 0, 0, .88) 48%, rgba(0, 0, 0, .48) 74%, transparent 92%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.jvue-stage-poster::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 6;
    pointer-events: none;
    opacity: var(--stage-poster-focus-opacity);
    background:
        radial-gradient(circle at var(--stage-poster-focus-aperture-x) var(--stage-poster-focus-aperture-y), rgba(247, 249, 255, .2), rgba(105, 199, 240, .1) 14%, transparent 34%),
        linear-gradient(112deg, transparent 0, rgba(247, 249, 255, .14) 42%, rgba(201, 154, 85, .06) 50%, transparent 62%);
    background-position:
        0 0,
        calc(var(--stage-poster-focus-scan) + var(--stage-poster-ambient-scan)) 0;
    mix-blend-mode: screen;
}

.jvue-stage-poster article,
.jvue-stage-poster span {
    position: absolute;
    display: block;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-poster article {
    left: var(--poster-x, 50%);
    top: var(--poster-y, 50%);
    z-index: 2;
    width: clamp(220px, 24vw, 460px);
    min-height: clamp(180px, 26vw, 500px);
    padding: 18px;
    border: 1px solid rgba(247, 249, 255, .075);
    border-radius: 5px;
    overflow: hidden;
    background:
        radial-gradient(circle at 24% 18%, rgba(105, 199, 240, .14), transparent 24%),
        radial-gradient(circle at 78% 72%, rgba(201, 154, 85, .1), transparent 26%),
        linear-gradient(126deg, rgba(247, 249, 255, .055), rgba(105, 199, 240, .035) 35%, rgba(4, 7, 11, .05) 60%, rgba(201, 154, 85, .035)),
        repeating-linear-gradient(90deg, transparent 0, transparent 26px, rgba(247, 249, 255, .035) 27px, transparent 29px);
    background-position:
        0 0,
        0 0,
        0 0,
        calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan)) 0;
    box-shadow:
        inset 0 0 42px rgba(105, 199, 240, .045),
        0 0 64px rgba(0, 0, 0, .26);
    color: rgba(232, 237, 247, .38);
    opacity: var(--poster-o, .13);
    transform:
        translate3d(-50%, -50%, var(--poster-z, -260px))
        rotateX(var(--poster-rx, 54deg))
        rotateY(var(--poster-ry, 0deg))
        rotateZ(var(--poster-rz, -8deg))
        skewX(-5deg)
        scale(var(--poster-scale, .84));
    animation: jvuePosterCard var(--poster-speed, 8.4s) ease-in-out infinite;
    animation-delay: var(--poster-delay, 0s);
}

.jvue-stage-poster article::before,
.jvue-stage-poster article::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.jvue-stage-poster article::before {
    inset: 16px;
    border: 1px solid rgba(247, 249, 255, .055);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .16) 44%, rgba(105, 199, 240, .12) 50%, transparent 60%),
        repeating-linear-gradient(0deg, transparent 0, transparent 18px, rgba(105, 199, 240, .04) 19px, transparent 21px);
    background-position:
        calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan)) 0,
        0 calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan));
    opacity: .42;
}

.jvue-stage-poster article::after {
    right: -12%;
    bottom: -10%;
    width: 68%;
    aspect-ratio: 1;
    border: 1px solid rgba(105, 199, 240, .12);
    border-radius: 50%;
    background:
        repeating-radial-gradient(circle, transparent 0 18px, rgba(105, 199, 240, .08) 19px, transparent 21px),
        conic-gradient(from var(--fx-orbit-angle), transparent, rgba(247, 249, 255, .12), transparent 22%, rgba(201, 154, 85, .1), transparent 60%);
    opacity: .42;
}

.jvue-stage-poster article i,
.jvue-stage-poster article strong,
.jvue-stage-poster article small,
.jvue-stage-poster article b,
.jvue-stage-poster article em {
    position: relative;
    z-index: 1;
    display: block;
    font-style: normal;
}

.jvue-stage-poster article i {
    color: rgba(105, 199, 240, .7);
    font-size: 12px;
    line-height: 1;
    font-weight: 950;
}

.jvue-stage-poster article strong {
    margin-top: 18px;
    color: inherit;
    font-size: clamp(20px, 2.4vw, 42px);
    line-height: 1.05;
    font-weight: 950;
    letter-spacing: 0;
}

.jvue-stage-poster article small {
    margin-top: 10px;
    max-width: 72%;
    color: rgba(232, 237, 247, .34);
    font-size: 11px;
    line-height: 1.35;
    font-weight: 850;
    text-transform: uppercase;
}

.jvue-stage-poster article b {
    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .42), rgba(201, 154, 85, .16), transparent);
    opacity: .32;
}

.jvue-stage-poster article em {
    position: absolute;
    right: 18px;
    top: 18px;
    width: 48px;
    height: 48px;
    border: 1px solid rgba(105, 199, 240, .12);
    border-radius: 50%;
    opacity: .38;
}

.jvue-stage-poster article.active {
    --poster-o: .54;
    --poster-scale: 1.08;
    z-index: 4;
    color: rgba(247, 249, 255, .9);
    border-color: rgba(105, 199, 240, .32);
    filter: brightness(1.08) saturate(1.14);
    box-shadow:
        inset 0 0 42px rgba(105, 199, 240, .08),
        0 0 70px rgba(105, 199, 240, .14),
        0 0 96px rgba(201, 154, 85, .07);
}

.jvue-stage-poster span {
    left: var(--poster-rail-x, 50%);
    top: var(--poster-rail-y, 50%);
    z-index: 1;
    width: var(--poster-rail-w, 56vw);
    height: var(--poster-rail-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .3), rgba(105, 199, 240, .16), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 20px, rgba(247, 249, 255, .08) 21px, transparent 23px);
    background-position: 0 0, calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan)) 0;
    opacity: var(--poster-rail-o, .14);
    transform:
        translate3d(-50%, -50%, var(--poster-rail-z, -180px))
        rotate(var(--poster-rail-r, -8deg))
        scaleX(var(--poster-rail-scale, .88));
    animation: jvuePosterRail var(--poster-rail-speed, 4.8s) ease-in-out infinite;
    animation-delay: var(--poster-rail-delay, 0s);
}

.jvue-stage-poster article:nth-of-type(1) { --poster-x: 22%; --poster-y: 48%; --poster-rz: -13deg; --poster-ry: 12deg; --poster-z: -330px; --poster-delay: -.2s; }
.jvue-stage-poster article:nth-of-type(2) { --poster-x: 42%; --poster-y: 42%; --poster-rz: 4deg; --poster-ry: -6deg; --poster-z: -220px; --poster-delay: -1s; }
.jvue-stage-poster article:nth-of-type(3) { --poster-x: 64%; --poster-y: 50%; --poster-rz: -4deg; --poster-ry: -12deg; --poster-z: -140px; --poster-delay: -1.8s; }
.jvue-stage-poster article:nth-of-type(4) { --poster-x: 78%; --poster-y: 54%; --poster-rz: 12deg; --poster-ry: -16deg; --poster-z: -260px; --poster-delay: -2.6s; }
.jvue-stage-poster article:nth-of-type(5) { --poster-x: 48%; --poster-y: 70%; --poster-rz: 8deg; --poster-ry: 8deg; --poster-z: -300px; --poster-delay: -3.4s; }
.jvue-stage-poster article:nth-of-type(6) { --poster-x: 86%; --poster-y: 38%; --poster-rz: 18deg; --poster-ry: -18deg; --poster-z: -380px; --poster-delay: -4.2s; }

.jvue-stage-poster span:nth-of-type(1) { --poster-rail-x: 40%; --poster-rail-y: 36%; --poster-rail-r: -14deg; --poster-rail-delay: -.2s; }
.jvue-stage-poster span:nth-of-type(2) { --poster-rail-x: 58%; --poster-rail-y: 52%; --poster-rail-r: 5deg; --poster-rail-w: 72vw; --poster-rail-o: .18; --poster-rail-delay: -1s; }
.jvue-stage-poster span:nth-of-type(3) { --poster-rail-x: 50%; --poster-rail-y: 70%; --poster-rail-r: -7deg; --poster-rail-w: 42vw; --poster-rail-delay: -1.8s; }
.jvue-stage-poster span:nth-of-type(4) { --poster-rail-x: 76%; --poster-rail-y: 76%; --poster-rail-r: 16deg; --poster-rail-w: 34vw; --poster-rail-o: .1; --poster-rail-delay: -2.6s; }

.jvue-home.is-fx-1 .jvue-stage-poster article { --poster-rx: 62deg; }
.jvue-home.is-fx-2 .jvue-stage-poster article { width: clamp(210px, 22vw, 420px); }
.jvue-home.is-fx-3 .jvue-stage-poster article { min-height: clamp(130px, 18vw, 340px); }
.jvue-home.is-fx-4 .jvue-stage-poster article::after { border-radius: 6px; }
.jvue-home.is-fx-5 .jvue-stage-poster article { --poster-rx: 50deg; }

.jvue-home.is-scroll-active .jvue-stage-poster,
.jvue-home.is-scene-switching .jvue-stage-poster,
.jvue-home.is-work-transitioning .jvue-stage-poster {
    opacity: .48;
    filter: saturate(1.16) contrast(1.16);
}

.jvue-home.is-component-hot .jvue-stage-poster {
    opacity: .56;
    filter: saturate(1.22) contrast(1.22) brightness(1.08);
}

.jvue-home.is-component-hot .jvue-stage-poster article.active {
    --poster-o: .68;
}

.jvue-stage-reel {
    z-index: 9;
    inset: -10%;
    opacity: .6;
    mix-blend-mode: screen;
    perspective: 1200px;
    transform:
        translate3d(calc(var(--reel-drift-x) + var(--cursor-parallax-x)), calc(var(--reel-drift-y) + var(--cursor-parallax-y)), 0)
        rotate(var(--reel-tilt))
        scale(var(--reel-scale));
    transition: opacity .26s linear, filter .24s linear;
    mask-image:
        radial-gradient(ellipse at 54% 50%, #000 0, rgba(0, 0, 0, .9) 38%, rgba(0, 0, 0, .48) 66%, transparent 90%),
        linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}

.jvue-stage-reel strong,
.jvue-stage-reel small,
.jvue-stage-reel span {
    position: absolute;
    pointer-events: none;
    user-select: none;
    will-change: transform, opacity, filter;
}

.jvue-stage-reel strong {
    right: min(8vw, 110px);
    top: 12vh;
    color: transparent;
    font-size: clamp(72px, 17vw, 260px);
    line-height: .82;
    font-weight: 950;
    letter-spacing: 0;
    -webkit-text-stroke: 1px rgba(232, 237, 247, .12);
    text-shadow:
        0 0 46px rgba(105, 199, 240, .12),
        0 0 84px rgba(201, 154, 85, .08);
    opacity: .18;
    transform: translate3d(0, 0, -80px) rotateX(8deg);
    transition: opacity .35s var(--jv-ease), transform .35s var(--jv-ease);
}

.jvue-home.is-scroll-active .jvue-stage-reel strong,
.jvue-home.is-scene-switching .jvue-stage-reel strong {
    opacity: .26;
    transform: translate3d(-18px, -10px, -120px) rotateX(10deg) skewX(-5deg);
}

.jvue-stage-reel small {
    left: min(6vw, 88px);
    bottom: 13vh;
    color: rgba(232, 237, 247, .26);
    font-size: clamp(18px, 2.3vw, 34px);
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
    transform: translate3d(0, 0, 0);
}

.jvue-stage-reel small::before {
    content: "";
    position: absolute;
    left: 0;
    top: -16px;
    width: 180px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .54), rgba(201, 154, 85, .28), transparent);
    box-shadow: 0 0 24px rgba(105, 199, 240, .18);
}

.jvue-stage-reel span {
    left: var(--reel-x, 50%);
    top: var(--reel-y, 50%);
    width: clamp(170px, 18vw, 280px);
    min-height: 78px;
    padding: 14px 16px 13px;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5px 10px;
    align-items: center;
    color: rgba(232, 237, 247, .44);
    border: 1px solid rgba(232, 237, 247, .12);
    border-radius: 6px;
    background:
        linear-gradient(135deg, rgba(105, 199, 240, .048), rgba(8, 12, 18, .012) 48%, rgba(201, 154, 85, .038)),
        rgba(5, 8, 12, .08);
    box-shadow:
        inset 0 0 22px rgba(105, 199, 240, .035),
        0 0 36px rgba(0, 0, 0, .18);
    opacity: .12;
    filter: blur(.15px);
    transform:
        translate3d(-50%, -50%, var(--reel-z, -220px))
        rotateX(62deg)
        rotateZ(var(--reel-rot, -8deg))
        scale(var(--reel-item-scale, .86));
    transition:
        border-color .42s var(--jv-ease),
        color .42s var(--jv-ease),
        transform .42s var(--jv-ease),
        filter .42s var(--jv-ease);
}

.jvue-stage-reel span::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, rgba(105, 199, 240, .26), rgba(201, 154, 85, .12), transparent);
    opacity: 0;
    transform: translate3d(-38%, 0, 0);
    transition: opacity .24s var(--jv-ease);
}

.jvue-stage-reel span::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 10px;
    height: 1px;
    background: linear-gradient(90deg, rgba(105, 199, 240, .34), transparent);
    opacity: .22;
}

.jvue-stage-reel span i {
    grid-row: span 2;
    color: rgba(105, 199, 240, .72);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
}

.jvue-stage-reel span b {
    color: inherit;
    font-size: 17px;
    line-height: 1.1;
    font-weight: 900;
}

.jvue-stage-reel span em {
    color: rgba(232, 237, 247, .32);
    font-size: 11px;
    line-height: 1.2;
    font-style: normal;
    text-transform: uppercase;
}

.jvue-stage-reel span.active {
    --reel-item-scale: 1.08;
    color: rgba(247, 249, 255, .86);
    border-color: rgba(105, 199, 240, .42);
    opacity: .42 !important;
    filter: blur(0);
    box-shadow:
        inset 0 0 28px rgba(105, 199, 240, .08),
        0 0 42px rgba(105, 199, 240, .14),
        0 0 68px rgba(201, 154, 85, .08);
}

.jvue-stage-reel span.active::before {
    opacity: .42;
    animation: jvueReelScan 1.1s var(--jv-ease) both;
}

.jvue-stage-reel span:nth-of-type(1) { --reel-x: 18%; --reel-y: 23%; --reel-rot: -14deg; --reel-z: -280px; }
.jvue-stage-reel span:nth-of-type(2) { --reel-x: 34%; --reel-y: 39%; --reel-rot: 7deg; --reel-z: -150px; }
.jvue-stage-reel span:nth-of-type(3) { --reel-x: 54%; --reel-y: 28%; --reel-rot: -8deg; --reel-z: -100px; }
.jvue-stage-reel span:nth-of-type(4) { --reel-x: 70%; --reel-y: 58%; --reel-rot: 12deg; --reel-z: -190px; }
.jvue-stage-reel span:nth-of-type(5) { --reel-x: 86%; --reel-y: 37%; --reel-rot: -4deg; --reel-z: -260px; }
.jvue-stage-reel span:nth-of-type(6) { --reel-x: 48%; --reel-y: 78%; --reel-rot: 9deg; --reel-z: -240px; }

.jvue-stage-storywall,
.jvue-stage-gallery,
.jvue-stage-workstrip,
.jvue-stage-chapter,
.jvue-stage-poster,
.jvue-stage-reel {
    contain: paint;
    backface-visibility: hidden;
}

.jvue-stage-gallery::before,
.jvue-stage-gallery::after,
.jvue-stage-workstrip::before,
.jvue-stage-workstrip::after,
.jvue-stage-chapter::before,
.jvue-stage-chapter::after,
.jvue-stage-poster::after,
.jvue-stage-reel::before,
.jvue-stage-reel::after {
    content: "";
    position: absolute;
    pointer-events: none;
    mix-blend-mode: screen;
    will-change: transform, opacity, background-position;
}

.jvue-stage-gallery::before,
.jvue-stage-workstrip::before,
.jvue-stage-chapter::before,
.jvue-stage-poster::after,
.jvue-stage-reel::before {
    inset: 7% -12%;
    opacity: .26;
    background:
        linear-gradient(105deg, transparent 0, rgba(247, 249, 255, .1) 36%, rgba(105, 199, 240, .16) 45%, rgba(201, 154, 85, .08) 54%, transparent 70%),
        repeating-linear-gradient(90deg, transparent 0, transparent 38px, rgba(105, 199, 240, .08) 39px, transparent 42px);
    background-size: 260% 100%, 180px 100%;
    background-position: var(--ambient-parallax-scan) 0, var(--ambient-grid-x) 0;
    filter: blur(.2px) saturate(1.1);
    transform: translate3d(var(--ambient-stage-x), var(--ambient-stage-y), 0) rotate(var(--ambient-angle));
    animation: jvueLiveStageSweep 6.8s linear infinite;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .78) 52%, transparent 82%);
}

.jvue-stage-gallery::after,
.jvue-stage-workstrip::after,
.jvue-stage-chapter::after,
.jvue-stage-reel::after {
    inset: -8%;
    opacity: .18;
    background:
        radial-gradient(circle at 18% 28%, rgba(247, 249, 255, .22) 0 1px, transparent 2px),
        radial-gradient(circle at 72% 62%, rgba(105, 199, 240, .2) 0 1px, transparent 2px),
        radial-gradient(circle at 42% 78%, rgba(201, 154, 85, .16) 0 1px, transparent 2px);
    background-size: 84px 84px, 116px 116px, 148px 148px;
    background-position:
        var(--ambient-grid-x) var(--ambient-grid-y),
        calc(0px - var(--ambient-grid-half-x)) var(--ambient-parallax-y),
        var(--ambient-sweep-x) calc(0px - var(--ambient-grid-y));
    transform: translate3d(var(--ambient-shift-x), var(--ambient-shift-y), 0) rotate(calc(0deg - var(--ambient-angle)));
    animation: jvueLiveStageDust 9.2s steps(10, end) infinite;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .64) 46%, transparent 78%);
}

.jvue-home.is-fx-1 .jvue-stage-gallery::before,
.jvue-home.is-fx-2 .jvue-stage-poster::after,
.jvue-home.is-fx-3 .jvue-stage-workstrip::before,
.jvue-home.is-fx-4 .jvue-stage-chapter::before,
.jvue-home.is-fx-5 .jvue-stage-reel::before {
    opacity: .38;
    animation-duration: 4.8s;
}

.jvue-home.is-fx-1 .jvue-stage-gallery::after,
.jvue-home.is-fx-3 .jvue-stage-workstrip::after,
.jvue-home.is-fx-4 .jvue-stage-chapter::after,
.jvue-home.is-fx-5 .jvue-stage-reel::after {
    opacity: .26;
    animation-duration: 6.4s;
}

.jvue-home.is-fx-1 .jvue-stage-gallery article {
    --gallery-speed: 5.6s;
    --gallery-line-speed: 4.2s;
}

.jvue-home.is-fx-2 .jvue-stage-poster article {
    --poster-speed: 6.2s;
    --poster-rail-speed: 3.7s;
}

.jvue-home.is-fx-3 .jvue-stage-workstrip span {
    --workstrip-speed: 4.8s;
    --workstrip-line-speed: 2.2s;
}

.jvue-home.is-fx-4 .jvue-stage-chapter span {
    --chapter-chip-speed: 4.2s;
    --chapter-slit-speed: 2.1s;
}

.jvue-home .jvue-stage-storywall,
.jvue-home .jvue-stage-gallery,
.jvue-home .jvue-stage-workstrip,
.jvue-home .jvue-stage-chapter,
.jvue-home .jvue-stage-poster,
.jvue-home .jvue-stage-reel {
    display: none;
}

.jvue-home.is-fx-0 .jvue-stage-storywall,
.jvue-home.is-fx-1 .jvue-stage-gallery,
.jvue-home.is-fx-2 .jvue-stage-poster,
.jvue-home.is-fx-3 .jvue-stage-workstrip,
.jvue-home.is-fx-4 .jvue-stage-chapter,
.jvue-home.is-fx-5 .jvue-stage-reel {
    display: block;
}

.jvue-stage-anime {
    z-index: 7;
    inset: -18%;
    opacity: .72;
    mix-blend-mode: screen;
    transform: translate3d(var(--fx-inertia-x), var(--fx-inertia-y), 0) rotate(var(--fx-cut-angle));
    transition: transform .18s linear, opacity .22s linear;
    mask-image: radial-gradient(ellipse at 52% 50%, #000 0, rgba(0, 0, 0, .82) 50%, transparent 82%);
}

.jvue-stage-anime i,
.jvue-stage-anime b,
.jvue-stage-anime em {
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: 0;
    will-change: transform, opacity, filter;
}

.jvue-stage-anime i {
    left: -24%;
    top: var(--anime-y, 50%);
    width: var(--anime-w, 78%);
    height: var(--anime-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .8) 48%, rgba(105, 199, 240, .28) 62%, transparent 100%);
    box-shadow:
        0 0 18px rgba(247, 249, 255, .2),
        0 0 36px rgba(105, 199, 240, .16);
    transform: rotate(var(--anime-rot, -12deg)) translate3d(-44vw, 0, 0) scaleX(.24);
    animation: jvueAnimeLine var(--anime-speed, 9.5s) cubic-bezier(.2, .72, .24, 1) infinite;
}

.jvue-stage-anime i:nth-child(1) { --anime-y: 18%; --anime-w: 66%; --anime-rot: -9deg; animation-delay: -2.2s; }
.jvue-stage-anime i:nth-child(2) { --anime-y: 34%; --anime-w: 88%; --anime-h: 2px; --anime-rot: 8deg; --anime-speed: 10.8s; animation-delay: -6.4s; }
.jvue-stage-anime i:nth-child(3) { --anime-y: 61%; --anime-w: 74%; --anime-rot: -15deg; --anime-speed: 8.4s; animation-delay: -4.1s; }
.jvue-stage-anime i:nth-child(4) { --anime-y: 82%; --anime-w: 54%; --anime-rot: 12deg; --anime-speed: 11.6s; animation-delay: -7.8s; }

.jvue-home.is-scroll-active .jvue-stage-anime i,
.jvue-home.is-scene-switching .jvue-stage-anime i {
    animation-duration: 4.2s;
}

.jvue-stage-anime b {
    left: var(--anime-node-x, 50%);
    top: var(--anime-node-y, 50%);
    width: var(--anime-node-size, 6px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(247, 249, 255, .48);
    background: radial-gradient(circle, rgba(247, 249, 255, .95) 0 18%, rgba(105, 199, 240, .48) 42%, transparent 72%);
    box-shadow: 0 0 26px rgba(105, 199, 240, .22);
    animation: jvueAnimeSpark 7.2s ease-in-out infinite;
}

.jvue-stage-anime b:nth-of-type(1) { --anime-node-x: 24%; --anime-node-y: 28%; --anime-node-size: 5px; animation-delay: -1.7s; }
.jvue-stage-anime b:nth-of-type(2) { --anime-node-x: 58%; --anime-node-y: 42%; --anime-node-size: 8px; animation-delay: -4.5s; }
.jvue-stage-anime b:nth-of-type(3) { --anime-node-x: 78%; --anime-node-y: 72%; --anime-node-size: 6px; animation-delay: -6.1s; }

.jvue-stage-anime em {
    left: -20%;
    width: 138%;
    height: var(--anime-slash-h, 18vh);
    top: var(--anime-slash-y, 42%);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 43%, rgba(105, 199, 240, .12) 52%, transparent 74%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .1) 19px, transparent 20px);
    filter: blur(.35px);
    transform: rotate(var(--anime-slash-rot, -12deg)) translate3d(-52vw, 0, 0) scaleX(.2);
}

.jvue-stage-anime em:nth-of-type(1) { --anime-slash-y: 32%; --anime-slash-h: 13vh; --anime-slash-rot: -13deg; }
.jvue-stage-anime em:nth-of-type(2) { --anime-slash-y: 58%; --anime-slash-h: 16vh; --anime-slash-rot: 11deg; }

.jvue-home.is-scene-switching .jvue-stage-anime em,
.jvue-home.is-work-transitioning .jvue-stage-anime em {
    animation: jvueAnimeSlash .72s var(--jv-ease) both;
}

.jvue-home.is-scene-switching .jvue-stage-anime em:nth-of-type(2),
.jvue-home.is-work-transitioning .jvue-stage-anime em:nth-of-type(2) {
    animation-delay: .08s;
}

.jvue-stage-lens {
    z-index: 8;
    inset: 0;
    opacity: var(--lens-opacity);
    mix-blend-mode: screen;
    transform: translate3d(var(--lens-shift-x), var(--lens-shift-y), 0) scale(var(--lens-scale));
    transition: opacity .16s linear, transform .12s linear;
    mask-image:
        radial-gradient(circle at var(--cursor-x) var(--cursor-y), #000 0, rgba(0, 0, 0, .86) 12%, rgba(0, 0, 0, .42) 24%, transparent 40%),
        linear-gradient(90deg, transparent 0, #000 11%, #000 89%, transparent 100%);
}

.jvue-stage-lens i,
.jvue-stage-lens b,
.jvue-stage-lens em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-lens i {
    left: calc(var(--cursor-x) - 48vw);
    top: calc(var(--cursor-y) - var(--lens-line-offset, 0px));
    width: calc(64vw + var(--lens-tail));
    height: var(--lens-line-h, 1px);
    border-radius: 999px;
    opacity: .72;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .78) 42%, rgba(105, 199, 240, .32) 55%, transparent 88%),
        repeating-linear-gradient(90deg, transparent 0, transparent 20px, rgba(247, 249, 255, .18) 21px, transparent 22px);
    box-shadow:
        0 0 18px rgba(247, 249, 255, .18),
        0 0 42px rgba(105, 199, 240, .18);
    transform: rotate(var(--lens-angle)) translate3d(var(--lens-pull), 0, 0) scaleX(.78);
    transform-origin: center;
    animation: jvueLensLine 1.4s cubic-bezier(.2, .72, .24, 1) infinite;
}

.jvue-stage-lens i:nth-child(1) { --lens-line-offset: 42px; --lens-line-h: 1px; animation-delay: -.2s; }
.jvue-stage-lens i:nth-child(2) { --lens-line-offset: 0px; --lens-line-h: 2px; animation-delay: -.48s; }
.jvue-stage-lens i:nth-child(3) { --lens-line-offset: -46px; --lens-line-h: 1px; animation-delay: -.72s; }

.jvue-stage-lens b {
    left: calc(var(--cursor-x) - 18px);
    top: calc(var(--cursor-y) - 18px);
    width: var(--lens-node-size, 36px);
    aspect-ratio: 1;
    border: 1px solid rgba(247, 249, 255, .22);
    border-radius: 50%;
    opacity: .42;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .18) 0 8%, transparent 38%),
        conic-gradient(from 0deg, transparent, rgba(105, 199, 240, .22), transparent, rgba(201, 154, 85, .14), transparent);
    box-shadow:
        0 0 28px rgba(105, 199, 240, .16),
        inset 0 0 18px rgba(247, 249, 255, .08);
    transform: translate3d(-50%, -50%, 0) rotate(var(--lens-angle)) scale(var(--lens-node-scale, 1));
    animation: jvueLensRing 1.8s ease-in-out infinite;
}

.jvue-stage-lens b:nth-of-type(1) { --lens-node-size: 64px; --lens-node-scale: 1; }
.jvue-stage-lens b:nth-of-type(2) { --lens-node-size: 112px; --lens-node-scale: .92; animation-delay: -.62s; opacity: .26; }

.jvue-stage-lens em {
    inset: 0;
    opacity: .38;
    background:
        repeating-linear-gradient(115deg, transparent 0, transparent 26px, rgba(247, 249, 255, .045) 27px, transparent 29px),
        radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(105, 199, 240, .18), transparent 18%),
        radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(201, 154, 85, .08), transparent 32%);
    background-position: var(--lens-shift-x) var(--lens-shift-y), 0 0, 0 0;
    transform: translate3d(0, 0, 0);
    animation: jvueLensScan 1.2s linear infinite;
}

.jvue-home.is-cursor-hot .jvue-stage-lens {
    filter: saturate(1.22) contrast(1.12);
}

.jvue-stage-echo {
    z-index: 8;
    inset: -14%;
    opacity: var(--echo-opacity);
    mix-blend-mode: screen;
    pointer-events: none;
    transform:
        translate3d(calc(var(--echo-cursor-x) + var(--echo-scroll-x)), calc(var(--echo-cursor-y) + var(--echo-scroll-y)), 0)
        rotate(var(--echo-angle))
        scale(var(--echo-scale));
    transform-origin: 50% 50%;
    filter: saturate(1.08) contrast(1.14);
    transition: opacity .18s linear, transform .14s linear;
    mask-image:
        radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .9) 42%, rgba(0, 0, 0, .44) 68%, transparent 86%),
        linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
}

.jvue-stage-echo strong,
.jvue-stage-echo i,
.jvue-stage-echo b,
.jvue-stage-echo em {
    position: absolute;
    display: block;
    pointer-events: none;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-echo strong {
    left: 50%;
    top: 45%;
    width: min(1180px, 82vw);
    transform: translate3d(-50%, -50%, 0) scaleX(1.18);
    color: rgba(247, 249, 255, .035);
    font-size: clamp(84px, 17vw, 270px);
    font-weight: 900;
    line-height: .82;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    text-shadow:
        -18px 0 0 rgba(105, 199, 240, .11),
        16px 0 0 rgba(215, 91, 91, .06),
        0 0 54px rgba(247, 249, 255, .08);
    opacity: .74;
    animation: jvueEchoTitle 2.7s steps(2, end) infinite;
}

.jvue-stage-echo i {
    left: -14%;
    width: 128%;
    top: var(--echo-slice-y, 50%);
    height: var(--echo-slice-h, 7vh);
    opacity: var(--echo-slice-opacity, .46);
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .08) 22%, rgba(105, 199, 240, .18) 47%, rgba(201, 154, 85, .08) 58%, transparent 88%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .11) 19px, transparent 21px);
    filter: blur(var(--echo-slice-blur, .35px));
    transform: skewX(var(--echo-slice-skew, -12deg)) translate3d(var(--echo-slice-x, 0), 0, 0);
    animation: jvueEchoSlice var(--echo-slice-speed, 2.8s) var(--jv-ease) infinite;
}

.jvue-stage-echo i:nth-child(2) { --echo-slice-y: 22%; --echo-slice-h: 8vh; --echo-slice-x: -18vw; --echo-slice-skew: -10deg; --echo-slice-speed: 2.6s; animation-delay: -.2s; }
.jvue-stage-echo i:nth-child(3) { --echo-slice-y: 47%; --echo-slice-h: 13vh; --echo-slice-x: 10vw; --echo-slice-skew: 8deg; --echo-slice-speed: 3.1s; animation-delay: -.85s; }
.jvue-stage-echo i:nth-child(4) { --echo-slice-y: 70%; --echo-slice-h: 6vh; --echo-slice-x: -10vw; --echo-slice-skew: -6deg; --echo-slice-speed: 2.35s; --echo-slice-opacity: .34; animation-delay: -1.35s; }

.jvue-stage-echo b {
    left: var(--echo-block-x, 50%);
    top: var(--echo-block-y, 50%);
    width: var(--echo-block-w, 180px);
    height: var(--echo-block-h, 54px);
    border: 1px solid rgba(105, 199, 240, .18);
    background:
        linear-gradient(90deg, rgba(105, 199, 240, .1), rgba(247, 249, 255, .03) 54%, rgba(201, 154, 85, .07)),
        repeating-linear-gradient(90deg, transparent 0, transparent 11px, rgba(247, 249, 255, .08) 12px, transparent 14px);
    box-shadow:
        0 0 28px rgba(105, 199, 240, .08),
        inset 0 0 28px rgba(247, 249, 255, .035);
    opacity: .34;
    transform: translate3d(-50%, -50%, 0) skewX(-10deg);
    animation: jvueEchoBlock 3.4s steps(3, end) infinite;
}

.jvue-stage-echo b:nth-of-type(1) { --echo-block-x: 24%; --echo-block-y: 32%; --echo-block-w: 210px; --echo-block-h: 46px; animation-delay: -.6s; }
.jvue-stage-echo b:nth-of-type(2) { --echo-block-x: 76%; --echo-block-y: 61%; --echo-block-w: 260px; --echo-block-h: 66px; animation-delay: -1.8s; opacity: .24; }

.jvue-stage-echo em {
    inset: 0;
    opacity: .34;
    background:
        repeating-linear-gradient(0deg, transparent 0, transparent 8px, rgba(247, 249, 255, .045) 9px, transparent 10px),
        repeating-linear-gradient(90deg, transparent 0, transparent 34px, rgba(105, 199, 240, .04) 35px, transparent 36px),
        radial-gradient(circle at var(--cursor-x) var(--cursor-y), rgba(247, 249, 255, .12), transparent 26%);
    background-position:
        0 var(--fx-grid-y),
        var(--fx-grid-x) 0,
        0 0;
    transform: translate3d(var(--fx-mask-x), var(--fx-mask-y), 0);
    animation: jvueEchoGrid 1.15s linear infinite;
}

.jvue-home.is-scene-switching .jvue-stage-echo,
.jvue-home.is-work-transitioning .jvue-stage-echo,
.jvue-home.is-scroll-active .jvue-stage-echo {
    filter: saturate(1.2) contrast(1.22);
}

.jvue-stage-wipe {
    z-index: 7;
    inset: -22%;
    opacity: 0;
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--wipe-shift-x) + var(--active-slice-x)), calc(var(--wipe-shift-y) + var(--active-slice-y)), 0)
        rotate(calc(var(--fx-cut-angle) + var(--active-slice-angle)))
        scale(var(--active-slice-scale));
    pointer-events: none;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .84) 52%, transparent 82%);
}

.jvue-stage-wipe::before,
.jvue-stage-wipe::after {
    content: "";
    position: absolute;
    inset: -8%;
    display: block;
    pointer-events: none;
    opacity: 0;
    will-change: transform, opacity, filter, background-position;
}

.jvue-stage-wipe::before {
    background:
        linear-gradient(102deg, transparent 0, rgba(247, 249, 255, .16) 38%, rgba(105, 199, 240, .12) 48%, rgba(201, 154, 85, .07) 58%, transparent 78%),
        repeating-linear-gradient(102deg, transparent 0, transparent 21px, rgba(247, 249, 255, .09) 22px, transparent 24px),
        repeating-linear-gradient(0deg, transparent 0, transparent 9px, rgba(105, 199, 240, .04) 10px, transparent 12px);
    background-size: 180% 100%, 100% 100%, 100% 100%;
    background-position:
        var(--scene-fracture-scan) 0,
        var(--scene-impact-scan) 0,
        0 var(--scene-fracture-scan-reverse);
    filter: blur(.18px) saturate(1.18) contrast(1.16);
    transform:
        translate3d(var(--scene-fracture-x), var(--scene-fracture-y), 0)
        rotate(var(--scene-fracture-angle))
        skewX(-10deg)
        scale(var(--scene-fracture-scale));
    mask-image:
        linear-gradient(90deg, transparent 0, #000 14%, #000 84%, transparent 100%),
        radial-gradient(ellipse at 52% 50%, #000 0, rgba(0, 0, 0, .78) 42%, transparent 76%);
}

.jvue-stage-wipe::after {
    background:
        radial-gradient(circle, rgba(247, 249, 255, .42) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(105, 199, 240, .26) 0 1px, transparent 2px),
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .08), transparent);
    background-size: 22px 22px, 38px 38px, 100% 100%;
    background-position:
        var(--scene-fracture-scan) 0,
        var(--scene-fracture-scan-reverse) var(--scene-fracture-scan),
        0 0;
    filter: blur(.25px) saturate(1.2);
    transform:
        translate3d(var(--scene-fracture-counter-x), var(--scene-fracture-counter-y), 0)
        rotate(var(--scene-fracture-counter-angle))
        scale(var(--scene-fracture-grain-scale));
    mask-image:
        linear-gradient(90deg, transparent 0, #000 18%, #000 80%, transparent 100%),
        radial-gradient(ellipse at 50% 52%, #000 0, rgba(0, 0, 0, .72) 38%, transparent 70%);
}

.jvue-stage-wipe i,
.jvue-stage-wipe b,
.jvue-stage-wipe em {
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: 0;
    will-change: transform, opacity, filter;
}

.jvue-stage-wipe i {
    left: -18%;
    width: 136%;
    top: var(--wipe-y, 50%);
    height: var(--wipe-h, 18vh);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .035) 18%, rgba(247, 249, 255, .18) 43%, rgba(105, 199, 240, .14) 52%, rgba(201, 154, 85, .07) 60%, transparent 84%),
        repeating-linear-gradient(90deg, transparent 0, transparent 14px, rgba(247, 249, 255, .11) 15px, transparent 17px),
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .12), transparent 56%);
    background-position:
        var(--scene-fracture-scan) 0,
        var(--scene-impact-scan) 0,
        center;
    filter: blur(var(--wipe-blur, .4px));
    transform:
        translate3d(calc(-68vw + var(--scene-fracture-panel-x)), var(--scene-fracture-y), 0)
        rotate(var(--scene-fracture-angle))
        skewX(-8deg)
        scaleX(.16);
}

.jvue-stage-wipe i:nth-child(1) { --wipe-y: 26%; --wipe-h: 10vh; --wipe-blur: .2px; }
.jvue-stage-wipe i:nth-child(2) { --wipe-y: 46%; --wipe-h: 21vh; --wipe-blur: .6px; }
.jvue-stage-wipe i:nth-child(3) { --wipe-y: 68%; --wipe-h: 8vh; --wipe-blur: .2px; }

.jvue-stage-wipe b {
    left: -20%;
    top: var(--wipe-line-y, 50%);
    width: 142%;
    height: var(--wipe-line-h, 1px);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .94) 42%, rgba(105, 199, 240, .55) 54%, rgba(201, 154, 85, .22) 62%, transparent 88%);
    box-shadow:
        0 0 24px rgba(247, 249, 255, .2),
        0 0 52px rgba(105, 199, 240, .18);
    background-position: var(--scene-fracture-scan) 0;
    transform:
        translate3d(calc(-70vw + var(--scene-fracture-line-x)), var(--scene-fracture-y), 0)
        rotate(var(--scene-fracture-angle))
        scaleX(.18);
}

.jvue-stage-wipe b:nth-of-type(1) { --wipe-line-y: 41%; --wipe-line-h: 2px; }
.jvue-stage-wipe b:nth-of-type(2) { --wipe-line-y: 59%; --wipe-line-h: 1px; }

.jvue-stage-wipe em {
    inset: 0;
    background:
        repeating-linear-gradient(0deg, transparent 0, transparent 7px, rgba(247, 249, 255, .05) 8px, transparent 9px),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(105, 199, 240, .045) 19px, transparent 22px),
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .14), transparent 52%);
    background-position:
        0 var(--scene-fracture-scan),
        var(--scene-fracture-scan-reverse) 0,
        center;
    transform: translate3d(0, 0, 0) scale(1.04);
}

.jvue-home.is-scene-switching .jvue-stage-wipe,
.jvue-home.is-work-transitioning .jvue-stage-wipe {
    opacity: 1;
}

.jvue-home.is-scroll-active .jvue-stage-wipe::before,
.jvue-home.is-scene-switching .jvue-stage-wipe::before,
.jvue-home.is-work-transitioning .jvue-stage-wipe::before {
    opacity: var(--scene-fracture-line-opacity);
    animation: jvueStageFractureSweep var(--scene-fracture-speed) cubic-bezier(.18, .74, .18, 1) both;
}

.jvue-home.is-scroll-active .jvue-stage-wipe::after,
.jvue-home.is-scene-switching .jvue-stage-wipe::after,
.jvue-home.is-work-transitioning .jvue-stage-wipe::after {
    opacity: var(--scene-fracture-grain-opacity);
    animation: jvueStageFractureGrain var(--scene-fracture-speed) steps(3, end) both;
}

.jvue-home.is-scene-switching .jvue-stage-wipe i,
.jvue-home.is-work-transitioning .jvue-stage-wipe i {
    animation: jvueStageWipePanel .78s var(--jv-ease) both;
}

.jvue-home.is-scene-switching .jvue-stage-wipe i:nth-child(2),
.jvue-home.is-work-transitioning .jvue-stage-wipe i:nth-child(2) {
    animation-delay: .05s;
}

.jvue-home.is-scene-switching .jvue-stage-wipe i:nth-child(3),
.jvue-home.is-work-transitioning .jvue-stage-wipe i:nth-child(3) {
    animation-delay: .1s;
}

.jvue-home.is-scene-switching .jvue-stage-wipe b,
.jvue-home.is-work-transitioning .jvue-stage-wipe b {
    animation: jvueStageWipeLine .66s var(--jv-ease) both;
}

.jvue-home.is-scene-switching .jvue-stage-wipe b:nth-of-type(2),
.jvue-home.is-work-transitioning .jvue-stage-wipe b:nth-of-type(2) {
    animation-delay: .08s;
}

.jvue-home.is-scene-switching .jvue-stage-wipe em,
.jvue-home.is-work-transitioning .jvue-stage-wipe em {
    animation: jvueStageWipeScan .62s ease-out both;
}

.jvue-stage-workcuts {
    z-index: 7;
    inset: -18%;
    opacity: min(.82, var(--workcut-idle-opacity));
    mix-blend-mode: screen;
    transform:
        translate3d(calc(var(--cursor-parallax-x) + var(--fx-inertia-x) + var(--workcut-drift-x)), calc(var(--cursor-parallax-y) + var(--fx-counter-y) + var(--workcut-drift-y)), 0)
        rotate(calc(var(--fx-cut-angle) + var(--workcut-tilt)))
        scale(var(--workcut-scale));
    pointer-events: none;
    transition: opacity .22s linear, transform .22s linear, filter .22s linear;
    mask-image:
        radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .82) 44%, transparent 76%),
        linear-gradient(90deg, transparent 0, #000 14%, #000 86%, transparent 100%);
    will-change: transform, opacity, filter;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts,
.jvue-home.is-scene-switching .jvue-stage-workcuts {
    opacity: 1 !important;
    filter: saturate(1.18) contrast(1.12);
}

.jvue-stage-workcuts i,
.jvue-stage-workcuts b {
    position: absolute;
    display: block;
    pointer-events: none;
    opacity: var(--workcut-line-o, var(--workcut-idle-opacity));
    transform-origin: center;
    will-change: transform, opacity, filter;
}

.jvue-stage-workcuts i {
    left: -24%;
    width: 152%;
    height: var(--workcut-height, 1px);
    top: var(--workcut-top, 50%);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .12) 24%, rgba(247, 249, 255, .78) 48%, rgba(201, 154, 85, .22) 56%, transparent 82%),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(247, 249, 255, .2) 29px, transparent 31px);
    background-position: var(--workcut-scan) 0, calc(0px - var(--workcut-scan)) 0;
    box-shadow:
        0 0 22px rgba(105, 199, 240, .26),
        0 0 46px rgba(201, 154, 85, .1);
    filter: blur(var(--workcut-blur, 0px));
    animation: jvueWorkCutIdle var(--workcut-line-speed, var(--workcut-speed)) ease-in-out infinite;
    animation-delay: var(--workcut-delay, 0s);
}

.jvue-stage-workcuts b {
    left: var(--work-node-x, 50%);
    top: var(--work-node-y, 50%);
    width: var(--work-node-size, 7px);
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid rgba(247, 249, 255, .42);
    background: radial-gradient(circle, rgba(247, 249, 255, .96) 0 18%, rgba(105, 199, 240, .56) 36%, transparent 72%);
    box-shadow:
        0 0 18px rgba(247, 249, 255, .3),
        0 0 42px rgba(105, 199, 240, .28);
    opacity: var(--workcut-node-opacity);
    transform: translate3d(-50%, -50%, 0) scale(var(--work-node-scale, 1));
    animation: jvueWorkNodeIdle var(--work-node-speed, var(--workcut-speed)) ease-in-out infinite;
    animation-delay: var(--work-node-delay, 0s);
}

.jvue-stage-workcuts i:nth-child(1) { --workcut-top: 28%; --workcut-height: 1px; --workcut-blur: .1px; --workcut-line-o: calc(var(--workcut-idle-opacity) + .08); --workcut-line-speed: var(--workcut-speed); --workcut-delay: -1.1s; }
.jvue-stage-workcuts i:nth-child(2) { --workcut-top: 42%; --workcut-height: 12vh; --workcut-blur: .8px; --workcut-line-o: var(--workcut-panel-opacity); --workcut-line-speed: calc(var(--workcut-speed) + 1.2s); --workcut-delay: -3.2s; }
.jvue-stage-workcuts i:nth-child(3) { --workcut-top: 54%; --workcut-height: 2px; --workcut-blur: .15px; --workcut-line-o: calc(var(--workcut-idle-opacity) + .06); --workcut-line-speed: calc(var(--workcut-speed) - 1.1s); --workcut-delay: -4.4s; }
.jvue-stage-workcuts i:nth-child(4) { --workcut-top: 66%; --workcut-height: 9vh; --workcut-blur: .6px; --workcut-line-o: var(--workcut-panel-opacity); --workcut-line-speed: calc(var(--workcut-speed) + 1.8s); --workcut-delay: -6.1s; }
.jvue-stage-workcuts b:nth-of-type(1) { --work-node-x: 22%; --work-node-y: 34%; --work-node-size: 5px; --work-node-delay: -1s; }
.jvue-stage-workcuts b:nth-of-type(2) { --work-node-x: 58%; --work-node-y: 58%; --work-node-size: 8px; --work-node-scale: 1.16; --work-node-delay: -2.8s; }
.jvue-stage-workcuts b:nth-of-type(3) { --work-node-x: 82%; --work-node-y: 40%; --work-node-size: 6px; --work-node-delay: -4.6s; }

.jvue-home.is-work-transitioning .jvue-stage-workcuts i:nth-child(1),
.jvue-home.is-scene-switching .jvue-stage-workcuts i:nth-child(1) {
    animation: jvueWorkCutLine .52s var(--jv-ease) both;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts i:nth-child(2),
.jvue-home.is-scene-switching .jvue-stage-workcuts i:nth-child(2) {
    animation: jvueWorkCutWide .68s var(--jv-ease) .04s both;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts i:nth-child(3),
.jvue-home.is-scene-switching .jvue-stage-workcuts i:nth-child(3) {
    animation: jvueWorkCutLine .58s var(--jv-ease) .08s both reverse;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts i:nth-child(4),
.jvue-home.is-scene-switching .jvue-stage-workcuts i:nth-child(4) {
    animation: jvueWorkCutWide .76s var(--jv-ease) .12s both reverse;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts b,
.jvue-home.is-scene-switching .jvue-stage-workcuts b {
    animation: jvueWorkNodeBurst .72s var(--jv-ease) both;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts b:nth-of-type(2),
.jvue-home.is-scene-switching .jvue-stage-workcuts b:nth-of-type(2) {
    animation-delay: .06s;
}

.jvue-home.is-work-transitioning .jvue-stage-workcuts b:nth-of-type(3),
.jvue-home.is-scene-switching .jvue-stage-workcuts b:nth-of-type(3) {
    animation-delay: .1s;
}

.jvue-stage-cut {
    z-index: 8;
    inset: -18%;
    opacity: 1;
    mix-blend-mode: screen;
    transform: translate3d(var(--fx-cut-x), var(--fx-cut-y), 0) rotate(var(--fx-cut-angle));
    mask-image: radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .82) 44%, transparent 76%);
}

.jvue-stage-cut i {
    position: absolute;
    left: -22%;
    width: 150%;
    display: block;
    opacity: 0;
    transform-origin: center;
    will-change: transform, opacity;
}

.jvue-stage-cut i:nth-child(1) {
    top: 34%;
    height: 18vh;
    min-height: 140px;
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .02) 18%, rgba(247, 249, 255, .28) 48%, rgba(201, 154, 85, .12) 54%, transparent 78%),
        repeating-linear-gradient(90deg, transparent 0, transparent 24px, rgba(255, 255, 255, .11) 25px, transparent 26px);
    filter: blur(.2px);
}

.jvue-stage-cut i:nth-child(2) {
    top: 45%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .86), rgba(105, 199, 240, .5), transparent);
    box-shadow: 0 0 28px rgba(105, 199, 240, .32), 0 0 42px rgba(201, 154, 85, .18);
}

.jvue-stage-cut i:nth-child(3) {
    top: 56%;
    height: 11vh;
    min-height: 84px;
    background:
        linear-gradient(90deg, transparent 0, rgba(201, 154, 85, .12) 42%, rgba(247, 249, 255, .22) 50%, rgba(105, 199, 240, .1) 56%, transparent 82%),
        radial-gradient(circle at 48% 50%, rgba(247, 249, 255, .24), transparent 20%);
    filter: blur(.6px);
}

.jvue-home.is-scene-switching .jvue-stage-cut i:nth-child(1) {
    animation: jvueSceneCutWide .72s var(--jv-ease) both;
}

.jvue-home.is-scene-switching .jvue-stage-cut i:nth-child(2) {
    animation: jvueSceneCutLine .56s var(--jv-ease) both;
}

.jvue-home.is-scene-switching .jvue-stage-cut i:nth-child(3) {
    animation: jvueSceneCutWide .78s var(--jv-ease) .04s both reverse;
}

.jvue-stage-wake {
    z-index: 4;
    inset: -18%;
    opacity: var(--fx-wake-opacity);
    mix-blend-mode: screen;
    transform: translate3d(var(--fx-inertia-x), var(--fx-counter-y), 0) rotate(var(--runner-angle));
    transition: opacity .24s linear;
    mask-image: radial-gradient(ellipse at 50% 48%, #000 0, rgba(0, 0, 0, .78) 42%, transparent 72%);
}

.jvue-stage-wake i {
    position: absolute;
    left: -26%;
    width: 156%;
    height: 1px;
    display: block;
    opacity: .32;
    background:
        linear-gradient(90deg, transparent, rgba(247, 249, 255, .24), rgba(105, 199, 240, .18), transparent),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(255, 255, 255, .16) 29px, transparent 30px);
    background-position: calc(var(--fx-wake-x) + var(--ambient-wake-x)) 0;
    box-shadow: 0 0 18px rgba(105, 199, 240, .12);
    animation: jvueWakeDrift 4.8s linear infinite;
}

.jvue-home.is-scroll-active .jvue-stage-wake i {
    opacity: .42;
    animation-duration: 2.7s;
}

.jvue-stage-wake i:nth-child(1) {
    top: 30%;
}

.jvue-stage-wake i:nth-child(2) {
    top: 52%;
    opacity: .24;
    animation-delay: -1.6s;
}

.jvue-stage-wake i:nth-child(3) {
    top: 71%;
    opacity: .18;
    animation-delay: -3.1s;
}

.jvue-stage-pixels {
    z-index: 5;
    inset: -8%;
    opacity: calc(var(--fx-pixel-opacity) + var(--ambient-node-opacity));
    mix-blend-mode: screen;
    transform: translate3d(calc(var(--fx-burst-x) + var(--fx-inertia-x) + var(--ambient-stream-x)), calc(var(--fx-burst-y) + var(--fx-counter-y) + var(--ambient-stream-y)), 0) scale(var(--fx-pixel-scale));
    transition: opacity .18s linear, transform .2s linear;
    mask-image: radial-gradient(ellipse at 50% 46%, #000 0, rgba(0, 0, 0, .68) 36%, transparent 68%);
}

.jvue-stage-pixels i {
    position: absolute;
    inset: 0;
    display: block;
    background-image:
        radial-gradient(circle, rgba(247, 249, 255, .38) 0 1px, transparent 1.5px),
        radial-gradient(circle, rgba(105, 199, 240, .24) 0 1px, transparent 1.7px),
        radial-gradient(circle, rgba(201, 154, 85, .18) 0 1px, transparent 1.8px);
    background-size:
        var(--fx-pixel-size) var(--fx-pixel-size),
        calc(var(--fx-pixel-size) + 13px) calc(var(--fx-pixel-size) + 13px),
        calc(var(--fx-pixel-size) + 29px) calc(var(--fx-pixel-size) + 29px);
    background-position:
        calc(var(--fx-grid-x) + var(--ambient-grid-x)) calc(var(--fx-grid-y) + var(--ambient-grid-y)),
        calc(var(--fx-grid2-x) + var(--ambient-grid-y)) calc(var(--fx-grid2-y) + var(--ambient-grid-x)),
        calc(var(--fx-diagonal-x) + var(--ambient-sweep-x)) 0;
    filter: contrast(1.18);
    animation: jvuePixelScatter 7.2s steps(8, end) infinite;
    will-change: background-position, transform;
}

.jvue-stage-pixels i:nth-child(2) {
    opacity: .46;
    transform: rotate(10deg) translate3d(6%, -4%, 0);
    animation-duration: 8.8s;
    animation-delay: -2.1s;
}

.jvue-stage-pixels i:nth-child(3) {
    opacity: .32;
    transform: rotate(-14deg) translate3d(-8%, 8%, 0);
    animation-duration: 10.4s;
    animation-delay: -4.4s;
}

.jvue-stage-pixels i:nth-child(4) {
    opacity: .24;
    transform: rotate(24deg) translate3d(12%, 10%, 0);
    animation-duration: 12s;
    animation-delay: -6.2s;
}

.jvue-stage-runners {
    opacity: var(--runner-opacity);
    transform: translate3d(calc(var(--fx-mask-x) + var(--ambient-mask-x)), calc(var(--fx-mask-y) + var(--ambient-mask-y)), 0);
    transition: opacity .24s linear, transform .2s linear;
}

.jvue-home.is-scroll-active .jvue-stage-runners i {
    animation-duration: 3.6s;
}

.jvue-stage-runners i {
    position: absolute;
    left: -16%;
    top: calc(10% + var(--runner-y, 0%));
    width: 28%;
    height: 1px;
    display: block;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .74), rgba(105, 199, 240, .28), transparent);
    box-shadow: 0 0 18px rgba(105, 199, 240, .18);
    transform: rotate(var(--runner-angle)) translate3d(0, 0, 0);
    animation: jvueRunnerPass 5.8s linear infinite;
}

.jvue-stage-runners i:nth-child(1) { --runner-y: 6%; animation-delay: -1.1s; }
.jvue-stage-runners i:nth-child(2) { --runner-y: 18%; animation-delay: -3.7s; animation-duration: 7s; }
.jvue-stage-runners i:nth-child(3) { --runner-y: 30%; animation-delay: -2.3s; animation-duration: 6.4s; }
.jvue-stage-runners i:nth-child(4) { --runner-y: 44%; animation-delay: -5.1s; animation-duration: 8.2s; }
.jvue-stage-runners i:nth-child(5) { --runner-y: 58%; animation-delay: -.4s; animation-duration: 6.8s; }
.jvue-stage-runners i:nth-child(6) { --runner-y: 70%; animation-delay: -4.8s; animation-duration: 7.6s; }
.jvue-stage-runners i:nth-child(7) { --runner-y: 82%; animation-delay: -2.8s; animation-duration: 6.1s; }
.jvue-stage-runners i:nth-child(8) { --runner-y: 91%; animation-delay: -6.2s; animation-duration: 8.6s; }

.jvue-stage-meter {
    inset: auto 18px 18px auto;
    z-index: 4;
    width: 96px;
    height: 190px;
    display: grid;
    align-content: end;
    gap: 8px;
    opacity: .42;
}

.jvue-stage-meter i {
    display: block;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(105, 199, 240, .75), rgba(201, 154, 85, .38));
    transform-origin: right center;
    transform: scaleX(.28);
    animation: jvueMeterBeat 2.6s ease-in-out infinite;
}

.jvue-stage-meter i:nth-child(2) { animation-delay: .18s; }
.jvue-stage-meter i:nth-child(3) { animation-delay: .36s; }
.jvue-stage-meter i:nth-child(4) { animation-delay: .54s; }
.jvue-stage-meter i:nth-child(5) { animation-delay: .72s; }
.jvue-stage-meter i:nth-child(6) { animation-delay: .9s; }

.jvue-motion-field,
.jvue-scroll-sculpture,
.jvue-motion-bands,
.jvue-stage-depth,
.jvue-stage-radials,
.jvue-stage-portals,
.jvue-stage-scenes,
.jvue-stage-director,
.jvue-scene-magnet,
.jvue-stage-tableau,
.jvue-stage-morph,
.jvue-stage-fluid,
.jvue-stage-streams,
.jvue-stage-flowfield,
.jvue-stage-kinetic,
.jvue-stage-frames,
.jvue-stage-shards,
.jvue-stage-index,
.jvue-stage-flash,
.jvue-stage-hotspot,
.jvue-stage-orbit-field,
.jvue-stage-storywall,
.jvue-stage-gallery,
.jvue-stage-workstrip,
.jvue-stage-chapter,
.jvue-stage-poster,
.jvue-stage-reel,
.jvue-stage-anime,
.jvue-stage-lens,
.jvue-stage-echo,
.jvue-stage-wipe,
.jvue-stage-workcuts,
.jvue-stage-cut,
.jvue-stage-wake,
.jvue-stage-pixels,
.jvue-stage-runners,
.jvue-stage-meter {
    display: none !important;
}

.jvue-home .jvue-motion-field,
.jvue-home .jvue-scroll-sculpture,
.jvue-home .jvue-anime-transition-field,
.jvue-home .jvue-motion-bands,
.jvue-home .jvue-stage-scenes,
.jvue-home .jvue-stage-director,
.jvue-home .jvue-scene-magnet,
.jvue-home .jvue-stage-tableau,
.jvue-home .jvue-stage-cuts,
.jvue-home .jvue-stage-flowfield,
.jvue-home .jvue-stage-kinetic,
.jvue-home .jvue-stage-flash,
.jvue-home .jvue-stage-anime,
.jvue-home .jvue-stage-echo,
.jvue-home .jvue-stage-wipe,
.jvue-home .jvue-stage-wake,
.jvue-home .jvue-stage-pixels,
.jvue-home .jvue-stage-runners,
.jvue-home .jvue-stage-workcuts,
.jvue-home .jvue-stage-cut {
    display: block !important;
}

.jvue-home .jvue-stage-storywall,
.jvue-home .jvue-stage-gallery,
.jvue-home .jvue-stage-workstrip,
.jvue-home .jvue-stage-chapter,
.jvue-home .jvue-stage-poster,
.jvue-home .jvue-stage-reel {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none;
}

.jvue-home.is-fx-0 .jvue-stage-storywall,
.jvue-home.is-fx-1 .jvue-stage-gallery,
.jvue-home.is-fx-2 .jvue-stage-poster,
.jvue-home.is-fx-3 .jvue-stage-workstrip,
.jvue-home.is-fx-4 .jvue-stage-chapter,
.jvue-home.is-fx-5 .jvue-stage-reel {
    display: block !important;
    transition: transform .18s linear, filter .18s linear !important;
}

.jvue-home.is-fx-0 .jvue-stage-storywall {
    opacity: min(.44, calc(var(--stage-story-opacity) + .08)) !important;
}

.jvue-home.is-fx-0 .jvue-stage-storywall article.active {
    opacity: .46;
    filter: blur(.16px) saturate(1.04) brightness(.92);
    border-color: rgba(247, 249, 255, .18);
    box-shadow:
        0 18px 46px rgba(0, 0, 0, .26),
        inset 0 1px 0 rgba(255, 255, 255, .1),
        0 0 34px rgba(105, 199, 240, .08);
}

.jvue-home.is-fx-1 .jvue-stage-gallery {
    opacity: min(.68, calc(var(--stage-gallery-opacity) + .24)) !important;
}

.jvue-home.is-fx-2 .jvue-stage-poster {
    opacity: min(.7, calc(var(--stage-poster-opacity) + .24)) !important;
}

.jvue-home.is-fx-3 .jvue-stage-workstrip {
    opacity: min(.76, calc(var(--stage-workstrip-opacity) + .18)) !important;
}

.jvue-home.is-fx-4 .jvue-stage-chapter {
    opacity: min(.78, calc(var(--stage-chapter-opacity) + .18)) !important;
}

.jvue-home.is-fx-5 .jvue-stage-reel {
    opacity: .62 !important;
}

.jvue-home.is-scroll-active .jvue-stage-gallery,
.jvue-home.is-scene-switching .jvue-stage-gallery,
.jvue-home.is-work-transitioning .jvue-stage-gallery,
.jvue-home.is-scroll-active .jvue-stage-workstrip,
.jvue-home.is-scene-switching .jvue-stage-workstrip,
.jvue-home.is-work-transitioning .jvue-stage-workstrip {
    filter: saturate(1.22) contrast(1.18) brightness(1.02) !important;
}

.jvue-home.is-scroll-active.is-fx-0 .jvue-stage-storywall,
.jvue-home.is-scene-switching.is-fx-0 .jvue-stage-storywall,
.jvue-home.is-work-transitioning.is-fx-0 .jvue-stage-storywall {
    opacity: min(.62, calc(var(--stage-story-opacity) + .16)) !important;
}

.jvue-home.is-scroll-active.is-fx-1 .jvue-stage-gallery,
.jvue-home.is-scene-switching.is-fx-1 .jvue-stage-gallery,
.jvue-home.is-work-transitioning.is-fx-1 .jvue-stage-gallery {
    opacity: min(.84, calc(var(--stage-gallery-opacity) + .34)) !important;
}

.jvue-home.is-scroll-active.is-fx-2 .jvue-stage-poster,
.jvue-home.is-scene-switching.is-fx-2 .jvue-stage-poster,
.jvue-home.is-work-transitioning.is-fx-2 .jvue-stage-poster {
    opacity: min(.82, calc(var(--stage-poster-opacity) + .32)) !important;
}

.jvue-home.is-scroll-active.is-fx-3 .jvue-stage-workstrip,
.jvue-home.is-scene-switching.is-fx-3 .jvue-stage-workstrip,
.jvue-home.is-work-transitioning.is-fx-3 .jvue-stage-workstrip {
    opacity: min(.88, calc(var(--stage-workstrip-opacity) + .28)) !important;
}

.jvue-home.is-scroll-active.is-fx-4 .jvue-stage-chapter,
.jvue-home.is-scene-switching.is-fx-4 .jvue-stage-chapter,
.jvue-home.is-work-transitioning.is-fx-4 .jvue-stage-chapter {
    opacity: min(.9, calc(var(--stage-chapter-opacity) + .28)) !important;
}

.jvue-home.is-scroll-active.is-fx-5 .jvue-stage-reel,
.jvue-home.is-scene-switching.is-fx-5 .jvue-stage-reel,
.jvue-home.is-work-transitioning.is-fx-5 .jvue-stage-reel {
    opacity: .78 !important;
}

.jvue-home .jvue-motion-field {
    opacity: min(.66, calc(var(--motion-field-opacity) + var(--motion-field-ambient-opacity) + .1)) !important;
}

.jvue-home .jvue-scroll-sculpture {
    opacity: min(.56, calc(var(--sculpture-opacity) + .08)) !important;
}

.jvue-home .jvue-motion-bands {
    opacity: min(.38, var(--band-opacity)) !important;
}

.jvue-home .jvue-stage-scenes {
    opacity: .34 !important;
    filter: saturate(1.08) contrast(1.08);
}

.jvue-home:not(.is-fx-0) .jvue-stage-scenes {
    display: none !important;
    opacity: 0 !important;
    filter: saturate(.92) contrast(1.04);
}

.jvue-home .jvue-stage-director {
    opacity: min(.46, calc(.24 + var(--director-opacity-boost))) !important;
}

.jvue-home .jvue-stage-flowfield {
    opacity: min(.34, calc(var(--flow-opacity) + var(--flow-opacity-boost) + .04)) !important;
}

.jvue-home .jvue-stage-kinetic {
    opacity: min(.28, calc(var(--kinetic-opacity) + var(--kinetic-opacity-boost) + .02)) !important;
}

.jvue-home .jvue-anime-transition-field,
.jvue-home .jvue-stage-flash,
.jvue-home .jvue-stage-anime,
.jvue-home .jvue-stage-echo,
.jvue-home .jvue-stage-wipe {
    opacity: 0 !important;
}

.jvue-home .jvue-stage-workcuts {
    opacity: min(.82, var(--workcut-idle-opacity));
}

.jvue-home .jvue-stage-cut {
    opacity: 0;
}

.jvue-home .jvue-stage-wake {
    opacity: min(.36, var(--fx-wake-opacity));
}

.jvue-home .jvue-stage-pixels {
    opacity: calc(var(--fx-pixel-opacity) + .035);
}

.jvue-home .jvue-stage-runners {
    opacity: .16;
}

.jvue-home .jvue-work-panel,
.jvue-home .jvue-metrics span,
.jvue-home .jvue-feature-card,
.jvue-home .jvue-market-card,
.jvue-home .jvue-product-card,
.jvue-home .jvue-scene-list button,
.jvue-home .jvue-scene-orbit,
.jvue-home .jvue-news-grid article,
.jvue-home .jvue-floating-tools a,
.jvue-home .jvue-floating-tools button {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.jvue-home .jvue-scroll-sculpture,
.jvue-home .jvue-scrollworld,
.jvue-home .jvue-stage-projector,
.jvue-home .jvue-chapter-particles,
.jvue-home .jvue-motion-field,
.jvue-home .jvue-energy-field,
.jvue-home .jvue-kinetic-cursor-field,
.jvue-home .jvue-anime-transition-field,
.jvue-home .jvue-work-cinema-field,
.jvue-home .jvue-scroll-director-field,
.jvue-home .jvue-motion-bands,
.jvue-home .jvue-stage-depth,
.jvue-home .jvue-stage-radials,
.jvue-home .jvue-stage-portals,
.jvue-home .jvue-stage-scenes,
.jvue-home .jvue-stage-director,
.jvue-home .jvue-stage-tableau,
.jvue-home .jvue-stage-cuts,
.jvue-home .jvue-stage-morph,
.jvue-home .jvue-stage-fluid,
.jvue-home .jvue-stage-streams,
.jvue-home .jvue-stage-flowfield,
.jvue-home .jvue-stage-kinetic,
.jvue-home .jvue-stage-frames,
.jvue-home .jvue-stage-shards,
.jvue-home .jvue-stage-index,
.jvue-home .jvue-stage-flash,
.jvue-home .jvue-stage-hotspot,
.jvue-home .jvue-stage-orbit-field,
.jvue-home .jvue-stage-storywall,
.jvue-home .jvue-stage-gallery,
.jvue-home .jvue-stage-workstrip,
.jvue-home .jvue-stage-chapter,
.jvue-home .jvue-stage-poster,
.jvue-home .jvue-stage-reel,
.jvue-home .jvue-stage-anime,
.jvue-home .jvue-stage-lens,
.jvue-home .jvue-stage-echo,
.jvue-home .jvue-stage-wipe,
.jvue-home .jvue-stage-workcuts,
.jvue-home .jvue-stage-cut,
.jvue-home .jvue-stage-wake,
.jvue-home .jvue-stage-pixels,
.jvue-home .jvue-stage-runners,
.jvue-home .jvue-stage-meter {
    display: none !important;
    opacity: 0 !important;
    animation: none !important;
}

.jvue-home.is-scroll-active .jvue-stage-wake,
.jvue-home.is-scene-switching .jvue-stage-wake,
.jvue-home.is-work-transitioning .jvue-stage-wake {
    opacity: min(.72, calc(var(--fx-wake-opacity) + .18));
}

.jvue-home.is-scroll-active .jvue-stage-pixels,
.jvue-home.is-scene-switching .jvue-stage-pixels,
.jvue-home.is-work-transitioning .jvue-stage-pixels {
    opacity: min(.42, calc(var(--fx-pixel-opacity) + .14));
}

.jvue-home.is-scroll-active .jvue-stage-runners,
.jvue-home.is-scene-switching .jvue-stage-runners,
.jvue-home.is-work-transitioning .jvue-stage-runners {
    opacity: .46;
}

.jvue-home.is-depth-particles .jvue-depth-particles {
    display: block !important;
    opacity: min(.74, calc(.64 + var(--scene-impact-depth-opacity))) !important;
    z-index: 12 !important;
}

.jvue-home.is-scroll-active.is-depth-particles .jvue-depth-particles,
.jvue-home.is-scene-switching.is-depth-particles .jvue-depth-particles,
.jvue-home.is-work-transitioning.is-depth-particles .jvue-depth-particles {
    opacity: min(.84, calc(.72 + var(--scene-impact-depth-opacity))) !important;
    filter:
        saturate(1.24)
        contrast(1.3)
        brightness(1.06)
        drop-shadow(0 0 24px rgba(105, 199, 240, .18)) !important;
    transform:
        translate3d(var(--scene-impact-x), var(--scene-impact-y), 0)
        scale(var(--scene-impact-scale)) !important;
}

.jvue-at-scroll-stage {
    position: absolute;
    inset: -8%;
    z-index: 11;
    display: block;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--at-stage-opacity);
    perspective: 1200px;
    transform-style: preserve-3d;
    transform:
        translate3d(calc(var(--cinema-x) + var(--at-stage-x) + var(--stage-cursor-x)), calc(var(--cinema-y) + var(--at-stage-y) + var(--stage-cursor-y)), 0)
        rotateZ(calc(var(--cinema-tilt) + var(--at-stage-tilt) + var(--stage-cursor-tilt)))
        scale(var(--cinema-scale))
        scale(var(--at-stage-scale))
        scale(var(--stage-camera-scale));
    transition:
        opacity .42s var(--jv-ease),
        filter .42s var(--jv-ease),
        transform .18s linear;
    filter: saturate(1.05) contrast(1.12) brightness(.96);
    contain: paint;
    will-change: opacity, filter, transform;
}

.jvue-webgl-stage[data-light-stage="1"] .jvue-at-scroll-stage {
    opacity: var(--at-stage-opacity);
    filter: saturate(1.08) contrast(1.14) brightness(.98);
}

.jvue-at-scroll-stage::before,
.jvue-at-scroll-stage::after {
    content: "";
    position: absolute;
    inset: 7%;
    pointer-events: none;
    opacity: .28;
    transform:
        translate3d(calc(var(--ambient-flow-x) + var(--cursor-parallax-x)), calc(var(--ambient-flow-y) + var(--cursor-parallax-y)), 0)
        rotateZ(calc(var(--ambient-flow-angle) + var(--at-stage-tilt)));
    transition: opacity .42s var(--jv-ease), transform .18s linear;
}

.jvue-at-scroll-stage::before {
    background:
        linear-gradient(90deg, transparent 0 14%, rgba(111, 209, 255, .18) 16%, transparent 18% 42%, rgba(179, 139, 64, .14) 44%, transparent 46% 100%),
        repeating-linear-gradient(90deg, rgba(120, 215, 255, .08) 0 1px, transparent 1px 70px),
        repeating-linear-gradient(0deg, rgba(226, 190, 104, .04) 0 1px, transparent 1px 88px);
    background-position: var(--at-stage-scan) 0, var(--at-stage-scan) 0, 0 var(--at-stage-scan-reverse);
    mask-image: radial-gradient(circle at var(--at-stage-focus-x) var(--at-stage-focus-y), #000 0 36%, transparent 70%);
    animation: jvueAtScanGrid 11s linear infinite;
}

.jvue-at-scroll-stage::after {
    inset: 13% 5%;
    border-radius: 50%;
    border: 1px solid rgba(123, 216, 255, .12);
    background:
        radial-gradient(circle at 50% 50%, rgba(104, 201, 240, .18), transparent 15%),
        conic-gradient(from 120deg, transparent 0 18%, rgba(219, 179, 92, .16) 24%, transparent 34% 58%, rgba(118, 211, 255, .14) 68%, transparent 78%);
    transform:
        translate3d(calc(var(--ambient-flow-x) + var(--at-stage-x)), calc(var(--ambient-flow-y) + var(--at-stage-y)), var(--at-stage-depth-z))
        rotateX(68deg)
        rotateZ(calc(var(--ambient-flow-angle) + var(--at-stage-tilt)));
    animation: jvueAtOrbitWake 16s linear infinite;
}

.jvue-at-scroll-stage article {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform-style: preserve-3d;
    transform:
        translate3d(calc(var(--scene-impact-x) + var(--at-stage-x) + var(--cursor-parallax-x)), calc(var(--scene-impact-y) + var(--at-stage-y) + var(--cursor-parallax-y)), 0)
        rotateX(58deg)
        rotateZ(calc(var(--active-slice-angle) + var(--at-stage-tilt)))
        scale(.94)
        scale(var(--at-stage-scale));
    transition:
        opacity .5s var(--jv-ease),
        transform .5s var(--jv-ease);
    will-change: opacity, transform;
}

.jvue-at-scroll-stage article.active,
.jvue-home.is-fx-0 .jvue-at-scroll-stage .is-core,
.jvue-home.is-fx-1 .jvue-at-scroll-stage .is-system,
.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods,
.jvue-home.is-fx-3 .jvue-at-scroll-stage .is-delivery,
.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates,
.jvue-home.is-fx-5 .jvue-at-scroll-stage .is-start {
    opacity: 1;
    transform:
        translate3d(calc(var(--scene-impact-x) + var(--at-stage-x) + var(--cursor-parallax-x)), calc(var(--scene-impact-y) + var(--at-stage-y) + var(--cursor-parallax-y)), 0)
        rotateX(55deg)
        rotateZ(calc(var(--active-slice-angle) + var(--at-stage-tilt)))
        scale(var(--at-stage-scale));
}

.jvue-at-scroll-stage article::before,
.jvue-at-scroll-stage article::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-at-scroll-stage article::before {
    width: clamp(360px, 58vw, 1180px);
    height: clamp(220px, 36vw, 720px);
    border-radius: 50%;
    opacity: var(--at-stage-tunnel-opacity);
    border: 1px solid rgba(128, 219, 255, .14);
    background:
        radial-gradient(circle at var(--at-stage-focus-x) var(--at-stage-focus-y), rgba(122, 218, 255, .2), transparent 14%),
        repeating-radial-gradient(circle at 50% 50%, rgba(124, 218, 255, .14) 0 1px, transparent 1px 34px),
        conic-gradient(from 180deg, transparent, rgba(231, 190, 96, .16), transparent 38%, rgba(112, 216, 255, .14), transparent 72%);
    mask-image: radial-gradient(ellipse at 50% 50%, transparent 0 20%, #000 28% 72%, transparent 86%);
    transform:
        translate3d(calc(-50% + var(--at-stage-x)), calc(-50% + var(--at-stage-y)), var(--at-stage-depth-z))
        rotateX(63deg)
        rotateZ(calc(var(--ambient-flow-angle) + var(--at-stage-tilt)));
    animation: jvueAtTunnelSweep 14s linear infinite;
}

.jvue-at-scroll-stage article::after {
    width: min(112vw, 1620px);
    height: clamp(80px, 9vw, 160px);
    opacity: var(--at-stage-slice-opacity);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(124, 218, 255, .06), rgba(249, 235, 196, .4), rgba(124, 218, 255, .08), transparent),
        repeating-linear-gradient(90deg, transparent 0 36px, rgba(255, 255, 255, .32) 38px 40px, transparent 42px 88px);
    filter: blur(var(--active-slice-blur));
    transform:
        translate3d(calc(-50% + var(--active-slice-x)), calc(-50% + var(--active-slice-y)), 120px)
        rotateZ(var(--active-slice-angle))
        scale(var(--active-slice-scale));
    animation: jvueAtSliceSweep var(--at-stage-rail-speed) linear infinite;
}

.jvue-at-scroll-stage span,
.jvue-at-scroll-stage i,
.jvue-at-scroll-stage b,
.jvue-at-scroll-stage em,
.jvue-at-scroll-stage strong {
    position: absolute;
    display: block;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-at-scroll-stage span {
    left: 50%;
    top: 50%;
    width: clamp(260px, 38vw, 760px);
    height: clamp(260px, 38vw, 760px);
    border-radius: 50%;
    border: 1px solid rgba(118, 214, 255, .16);
    background:
        radial-gradient(circle at 50% 50%, rgba(152, 224, 255, .22) 0 1px, transparent 2px 100%),
        radial-gradient(circle at 50% 50%, rgba(105, 199, 240, .13), transparent 24%),
        conic-gradient(from 160deg, transparent, rgba(220, 180, 92, .12), transparent 42%, rgba(111, 209, 255, .16), transparent 70%);
    box-shadow:
        inset 0 0 48px rgba(89, 197, 240, .08),
        0 0 36px rgba(89, 197, 240, .08);
    transform: translate3d(-50%, -50%, -120px) rotateZ(var(--ambient-flow-angle));
    opacity: min(.58, calc(.32 + var(--at-stage-field-opacity)));
    animation: jvueAtCorePulse 6.8s ease-in-out infinite;
}

.jvue-at-scroll-stage i {
    --at-line-x: 50%;
    --at-line-y: 50%;
    --at-line-r: -10deg;
    --at-line-w: min(92vw, 1480px);
    --at-line-z: 0px;
    --at-line-o: .24;
    left: var(--at-line-x);
    top: var(--at-line-y);
    width: var(--at-line-w);
    height: 1px;
    opacity: min(.58, calc(var(--at-line-o) + var(--at-stage-field-opacity)));
    transform:
        translate3d(-50%, -50%, var(--at-line-z))
        rotateZ(var(--at-line-r));
    background:
        linear-gradient(90deg, transparent, rgba(112, 216, 255, .18), rgba(246, 223, 169, .44), rgba(112, 216, 255, .18), transparent),
        repeating-linear-gradient(90deg, transparent 0 42px, rgba(155, 230, 255, .45) 44px 48px, transparent 50px 92px);
    background-size: 220% 100%, 180px 100%;
    box-shadow: 0 0 18px rgba(105, 199, 240, .12);
    animation: jvueAtRailFlow var(--at-stage-rail-speed) linear infinite;
}

.jvue-at-scroll-stage b {
    --at-node-x: 50%;
    --at-node-y: 50%;
    --at-node-z: 0px;
    --at-node-size: 7px;
    --at-node-o: .55;
    left: var(--at-node-x);
    top: var(--at-node-y);
    width: var(--at-node-size);
    height: var(--at-node-size);
    border-radius: 50%;
    opacity: min(.86, calc(var(--at-node-o) + var(--at-stage-node-opacity) - .42));
    background: #d9f7ff;
    box-shadow:
        0 0 14px rgba(121, 219, 255, .6),
        0 0 32px rgba(208, 169, 86, .16);
    transform: translate3d(-50%, -50%, var(--at-node-z));
    animation: jvueAtNodePulse var(--at-stage-node-speed) ease-in-out infinite;
}

.jvue-at-scroll-stage em {
    --at-card-x: 50%;
    --at-card-y: 50%;
    --at-card-z: -80px;
    --at-card-w: clamp(118px, 13vw, 260px);
    --at-card-h: clamp(44px, 5vw, 96px);
    --at-card-r: 0deg;
    --at-card-rx: 0deg;
    --at-card-o: .16;
    left: var(--at-card-x);
    top: var(--at-card-y);
    width: var(--at-card-w);
    height: var(--at-card-h);
    border: 1px solid rgba(128, 219, 255, .2);
    border-radius: 8px;
    opacity: min(.38, calc(var(--at-card-o) + var(--at-stage-field-opacity)));
    background:
        linear-gradient(135deg, rgba(139, 221, 255, .12), transparent 46%),
        linear-gradient(180deg, rgba(255, 255, 255, .05), rgba(44, 73, 86, .08));
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .03),
        0 0 24px rgba(82, 191, 236, .08);
    transform:
        translate3d(-50%, -50%, var(--at-card-z))
        rotateX(var(--at-card-rx))
        rotateZ(var(--at-card-r));
    animation: jvueAtPanelDrift var(--at-stage-panel-speed) ease-in-out infinite;
}

.jvue-at-scroll-stage strong {
    left: 50%;
    top: 50%;
    width: clamp(360px, 62vw, 1220px);
    height: clamp(160px, 22vw, 420px);
    opacity: var(--at-stage-field-opacity);
    border-radius: 999px;
    transform:
        translate3d(-50%, -50%, -260px)
        rotateZ(calc(var(--active-slice-angle) + var(--at-stage-tilt)))
        scale(var(--at-stage-scale));
    background:
        radial-gradient(circle at 10% 50%, rgba(122, 218, 255, .36) 0 2px, transparent 3px),
        radial-gradient(circle at 50% 50%, rgba(230, 189, 94, .22) 0 2px, transparent 3px),
        radial-gradient(circle at 90% 50%, rgba(122, 218, 255, .28) 0 2px, transparent 3px),
        linear-gradient(90deg, transparent, rgba(120, 216, 255, .14), rgba(226, 188, 98, .12), transparent);
    background-size: 18px 18px, 22px 22px, 26px 26px, 100% 100%;
    mask-image: linear-gradient(90deg, transparent, #000 14% 86%, transparent);
    animation: jvueAtSignalField var(--at-stage-signal-speed) linear infinite;
}

.jvue-at-scroll-stage i:nth-of-type(1) { --at-line-x: 19%; --at-line-y: 31%; --at-line-r: -16deg; --at-line-w: 62vw; --at-line-z: -180px; animation-delay: -.4s; }
.jvue-at-scroll-stage i:nth-of-type(2) { --at-line-x: 42%; --at-line-y: 43%; --at-line-r: -4deg; --at-line-w: 86vw; --at-line-z: -80px; --at-line-o: .3; animation-delay: -1.1s; }
.jvue-at-scroll-stage i:nth-of-type(3) { --at-line-x: 64%; --at-line-y: 55%; --at-line-r: 8deg; --at-line-w: 82vw; --at-line-z: 20px; animation-delay: -1.8s; }
.jvue-at-scroll-stage i:nth-of-type(4) { --at-line-x: 78%; --at-line-y: 69%; --at-line-r: 18deg; --at-line-w: 54vw; --at-line-z: -220px; --at-line-o: .2; animation-delay: -2.5s; }
.jvue-at-scroll-stage i:nth-of-type(5) { --at-line-x: 36%; --at-line-y: 66%; --at-line-r: -24deg; --at-line-w: 58vw; --at-line-z: -140px; --at-line-o: .18; animation-delay: -3.2s; }
.jvue-at-scroll-stage i:nth-of-type(6) { --at-line-x: 55%; --at-line-y: 27%; --at-line-r: 12deg; --at-line-w: 46vw; --at-line-z: -320px; --at-line-o: .14; animation-delay: -3.9s; }

.jvue-at-scroll-stage b:nth-of-type(1) { --at-node-x: 24%; --at-node-y: 34%; --at-node-z: 80px; animation-delay: -.2s; }
.jvue-at-scroll-stage b:nth-of-type(2) { --at-node-x: 38%; --at-node-y: 48%; --at-node-size: 5px; --at-node-z: -60px; animation-delay: -.9s; }
.jvue-at-scroll-stage b:nth-of-type(3) { --at-node-x: 52%; --at-node-y: 35%; --at-node-size: 8px; --at-node-z: 120px; animation-delay: -1.6s; }
.jvue-at-scroll-stage b:nth-of-type(4) { --at-node-x: 68%; --at-node-y: 47%; --at-node-size: 5px; --at-node-z: -160px; animation-delay: -2.3s; }
.jvue-at-scroll-stage b:nth-of-type(5) { --at-node-x: 80%; --at-node-y: 65%; --at-node-size: 9px; --at-node-z: 80px; animation-delay: -3s; }
.jvue-at-scroll-stage b:nth-of-type(6) { --at-node-x: 45%; --at-node-y: 72%; --at-node-size: 6px; --at-node-z: 160px; animation-delay: -3.7s; }
.jvue-at-scroll-stage b:nth-of-type(7) { --at-node-x: 30%; --at-node-y: 70%; --at-node-size: 4px; --at-node-z: -220px; animation-delay: -4.4s; }
.jvue-at-scroll-stage b:nth-of-type(8) { --at-node-x: 72%; --at-node-y: 28%; --at-node-size: 4px; --at-node-z: -260px; animation-delay: -5.1s; }

.jvue-at-scroll-stage em:nth-of-type(1) { --at-card-x: 28%; --at-card-y: 42%; --at-card-z: -240px; --at-card-r: -10deg; animation-delay: -.6s; }
.jvue-at-scroll-stage em:nth-of-type(2) { --at-card-x: 50%; --at-card-y: 38%; --at-card-z: -100px; --at-card-r: 4deg; --at-card-w: clamp(160px, 18vw, 340px); --at-card-o: .2; animation-delay: -1.8s; }
.jvue-at-scroll-stage em:nth-of-type(3) { --at-card-x: 70%; --at-card-y: 58%; --at-card-z: -180px; --at-card-r: 12deg; animation-delay: -3s; }
.jvue-at-scroll-stage em:nth-of-type(4) { --at-card-x: 42%; --at-card-y: 72%; --at-card-z: -320px; --at-card-r: -8deg; --at-card-o: .11; animation-delay: -4.2s; }
.jvue-at-scroll-stage em:nth-of-type(5) { --at-card-x: 84%; --at-card-y: 38%; --at-card-z: -380px; --at-card-r: 18deg; --at-card-o: .08; animation-delay: -5.4s; }

.jvue-home.is-scroll-active .jvue-at-scroll-stage,
.jvue-home.is-scene-switching .jvue-at-scroll-stage,
.jvue-home.is-work-transitioning .jvue-at-scroll-stage {
    opacity: .74;
    filter: saturate(1.12) contrast(1.16) brightness(1.02);
}

.jvue-home.is-scroll-active .jvue-at-scroll-stage article.active,
.jvue-home.is-scene-switching .jvue-at-scroll-stage article.active,
.jvue-home.is-work-transitioning .jvue-at-scroll-stage article.active {
    transform:
        translate3d(var(--scene-impact-x), var(--scene-impact-y), 0)
        rotateX(52deg)
        rotateZ(var(--active-slice-angle))
        scale(var(--scene-impact-scale));
}

.jvue-home.is-fx-0 .jvue-at-scroll-stage .is-core span {
    width: clamp(320px, 42vw, 820px);
    height: clamp(320px, 42vw, 820px);
    opacity: .48;
}

.jvue-home.is-fx-1 .jvue-at-scroll-stage .is-system i {
    --at-line-r: 0deg;
    --at-line-w: 94vw;
    --at-line-o: .32;
}

.jvue-home.is-fx-1 .jvue-at-scroll-stage .is-system::before {
    width: min(118vw, 1680px);
    height: clamp(180px, 24vw, 440px);
    border-radius: 24%;
    transform:
        translate3d(calc(-50% + var(--at-stage-x)), calc(-52% + var(--at-stage-y)), var(--at-stage-depth-z))
        rotateX(72deg)
        rotateZ(var(--at-stage-tilt));
}

.jvue-home.is-fx-1 .jvue-at-scroll-stage .is-system em {
    --at-card-rx: 58deg;
    --at-card-h: clamp(34px, 4vw, 74px);
    --at-card-o: .13;
}

.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em {
    --at-card-w: clamp(190px, 23vw, 440px);
    --at-card-h: clamp(76px, 8vw, 142px);
    --at-card-o: .23;
}

.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods::before {
    width: min(92vw, 1320px);
    height: clamp(280px, 38vw, 700px);
    border-radius: 16px;
    mask-image: linear-gradient(90deg, transparent, #000 12% 88%, transparent);
}

.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em:nth-of-type(1) { --at-card-x: 26%; --at-card-y: 35%; --at-card-z: -180px; --at-card-r: 3deg; }
.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em:nth-of-type(2) { --at-card-x: 51%; --at-card-y: 42%; --at-card-z: -60px; --at-card-r: 1deg; }
.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em:nth-of-type(3) { --at-card-x: 74%; --at-card-y: 49%; --at-card-z: -170px; --at-card-r: -3deg; }
.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em:nth-of-type(4) { --at-card-x: 36%; --at-card-y: 65%; --at-card-z: -260px; --at-card-r: 2deg; }
.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods em:nth-of-type(5) { --at-card-x: 64%; --at-card-y: 70%; --at-card-z: -320px; --at-card-r: -2deg; }

.jvue-home.is-fx-2 .jvue-at-scroll-stage .is-goods i {
    --at-line-r: 8deg;
    --at-line-o: .2;
}

.jvue-home.is-fx-3 .jvue-at-scroll-stage .is-delivery i {
    --at-line-r: -18deg;
    --at-line-w: 104vw;
    --at-line-o: .36;
    animation-duration: 3.9s;
}

.jvue-home.is-fx-3 .jvue-at-scroll-stage .is-delivery::before {
    width: min(128vw, 1840px);
    height: clamp(160px, 22vw, 420px);
    opacity: min(.48, calc(var(--at-stage-tunnel-opacity) + .1));
    transform:
        translate3d(calc(-50% + var(--at-stage-x)), calc(-46% + var(--at-stage-y)), var(--at-stage-depth-z))
        rotateX(56deg)
        rotateZ(calc(-18deg + var(--at-stage-tilt)));
}

.jvue-home.is-fx-3 .jvue-at-scroll-stage .is-delivery::after {
    height: clamp(110px, 12vw, 210px);
    opacity: min(.74, calc(var(--at-stage-slice-opacity) + .14));
}

.jvue-home.is-fx-3 .jvue-at-scroll-stage .is-delivery b {
    --at-node-o: .7;
    animation-duration: 2.8s;
}

.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates b {
    --at-node-o: .76;
    --at-node-size: 6px;
}

.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates span,
.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates em {
    opacity: .08;
}

.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates::before {
    width: clamp(340px, 46vw, 860px);
    height: clamp(340px, 46vw, 860px);
    border-radius: 50%;
    mask-image: radial-gradient(circle at 50% 50%, transparent 0 18%, #000 28% 80%, transparent 92%);
}

.jvue-home.is-fx-4 .jvue-at-scroll-stage .is-updates i {
    --at-line-w: 38vw;
    --at-line-o: .16;
}

.jvue-home.is-fx-5 .jvue-at-scroll-stage .is-start span {
    width: clamp(240px, 28vw, 540px);
    height: clamp(240px, 28vw, 540px);
    opacity: .34;
}

.jvue-home.is-fx-5 .jvue-at-scroll-stage .is-start::before {
    width: clamp(260px, 34vw, 620px);
    height: clamp(260px, 34vw, 620px);
    opacity: min(.42, calc(var(--at-stage-tunnel-opacity) + .08));
}

.jvue-home.is-fx-5 .jvue-at-scroll-stage .is-start em {
    --at-card-o: .08;
}

.jvue-home.is-fx-5 .jvue-at-scroll-stage .is-start i {
    --at-line-x: 50%;
    --at-line-r: 0deg;
    --at-line-w: 54vw;
    --at-line-o: .14;
}

.jvue-at-work-reel {
    position: absolute;
    inset: -10%;
    z-index: 10;
    display: block;
    pointer-events: none;
    overflow: hidden;
    opacity: var(--at-work-opacity);
    perspective: 1450px;
    transform-style: preserve-3d;
    transform:
        translate3d(calc(var(--at-work-x) + var(--cursor-parallax-x)), calc(var(--at-work-y) + var(--cursor-parallax-y)), var(--at-work-depth))
        rotateZ(var(--at-work-tilt))
        scale(var(--at-work-scale));
    filter: saturate(1.04) contrast(1.12) brightness(.96);
    transition: opacity .42s var(--jv-ease), filter .42s var(--jv-ease), transform .18s linear;
    contain: paint;
    will-change: transform, opacity;
}

.jvue-at-work-reel::before,
.jvue-at-work-reel::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    pointer-events: none;
    transform-style: preserve-3d;
}

.jvue-at-work-reel::before {
    width: min(128vw, 1780px);
    height: clamp(260px, 34vw, 680px);
    opacity: .22;
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(116, 216, 255, .12), rgba(222, 184, 97, .08), transparent),
        repeating-linear-gradient(90deg, transparent 0 82px, rgba(128, 219, 255, .12) 84px 86px, transparent 88px 146px);
    background-position: var(--at-work-scan) 0, var(--at-work-scan) 0;
    mask-image: radial-gradient(ellipse at 50% 52%, #000 0 46%, transparent 82%);
    transform: translate3d(-50%, -50%, -260px) rotateX(62deg) rotateZ(calc(var(--at-work-tilt) - 4deg));
    animation: jvueAtWorkHorizon var(--at-work-speed) linear infinite;
}

.jvue-at-work-reel::after {
    width: min(104vw, 1420px);
    height: clamp(120px, 12vw, 220px);
    opacity: var(--at-work-edge-opacity);
    border-radius: 999px;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, .32), rgba(105, 199, 240, .18), transparent),
        repeating-linear-gradient(90deg, transparent 0 44px, rgba(255, 255, 255, .22) 46px 48px, transparent 50px 96px);
    background-position: var(--at-work-scan) 0, 0 0;
    transform: translate3d(-50%, -50%, 80px) rotateZ(calc(var(--active-slice-angle) + var(--at-work-tilt)));
    animation: jvueAtWorkScan var(--at-work-speed) linear infinite;
}

.jvue-at-work-reel article {
    position: absolute;
    left: 50%;
    top: 52%;
    width: clamp(240px, 26vw, 520px);
    height: clamp(150px, 17vw, 320px);
    display: block;
    opacity: var(--at-work-item-opacity);
    border: 1px solid rgba(132, 220, 255, var(--at-work-edge-opacity));
    border-radius: 8px;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(122, 218, 255, var(--at-work-panel-opacity)), transparent 42%),
        linear-gradient(180deg, rgba(255, 255, 255, .045), rgba(8, 13, 18, .58));
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .035),
        0 20px 70px rgba(0, 0, 0, .28),
        0 0 46px rgba(89, 197, 240, .08);
    transform:
        translate3d(calc(-50% + var(--at-work-item-x)), calc(-50% + var(--at-work-item-y)), var(--at-work-item-z))
        rotateY(var(--at-work-item-tilt))
        rotateZ(var(--at-work-tilt))
        scale(var(--at-work-item-scale));
    transform-style: preserve-3d;
    transition: opacity .42s var(--jv-ease), border-color .42s var(--jv-ease), transform .42s var(--jv-ease);
    will-change: transform, opacity;
}

.jvue-at-work-reel article.active {
    border-color: rgba(157, 232, 255, .34);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .055),
        0 26px 80px rgba(0, 0, 0, .34),
        0 0 62px rgba(89, 197, 240, .12);
}

.jvue-at-work-reel span,
.jvue-at-work-reel i,
.jvue-at-work-reel b,
.jvue-at-work-reel em {
    position: absolute;
    display: block;
    pointer-events: none;
}

.jvue-at-work-reel span {
    inset: 12%;
    border-radius: 6px;
    border: 1px solid rgba(170, 229, 255, .18);
    background:
        radial-gradient(circle at 68% 38%, rgba(117, 214, 255, .24), transparent 22%),
        linear-gradient(90deg, rgba(95, 203, 244, .12), transparent 48%),
        repeating-linear-gradient(0deg, transparent 0 16px, rgba(255, 255, 255, .055) 17px 18px);
    background-position: var(--at-work-scan) 0, 0 0, 0 var(--at-work-scan);
    opacity: .74;
}

.jvue-at-work-reel i {
    left: 10%;
    right: 10%;
    height: 1px;
    opacity: .36;
    background: linear-gradient(90deg, transparent, rgba(151, 229, 255, .58), rgba(226, 190, 104, .3), transparent);
    transform: translate3d(0, 0, 1px);
    animation: jvueAtWorkLine var(--at-work-speed) linear infinite;
}

.jvue-at-work-reel i:nth-of-type(1) { top: 28%; animation-delay: var(--at-work-item-delay); }
.jvue-at-work-reel i:nth-of-type(2) { top: 50%; opacity: .24; animation-delay: -.7s; }
.jvue-at-work-reel i:nth-of-type(3) { top: 72%; opacity: .18; animation-delay: -1.3s; }

.jvue-at-work-reel b {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    opacity: .52;
    background: #dff8ff;
    box-shadow: 0 0 18px rgba(111, 209, 255, .42);
    animation: jvueAtWorkDot 3.8s ease-in-out infinite;
}

.jvue-at-work-reel b:nth-of-type(1) { left: 15%; top: 24%; animation-delay: -.2s; }
.jvue-at-work-reel b:nth-of-type(2) { left: 74%; top: 31%; animation-delay: -.8s; }
.jvue-at-work-reel b:nth-of-type(3) { left: 58%; top: 70%; animation-delay: -1.4s; }
.jvue-at-work-reel b:nth-of-type(4) { left: 28%; top: 77%; animation-delay: -2s; }

.jvue-at-work-reel em {
    right: 10%;
    bottom: 14%;
    width: 28%;
    height: 22%;
    border-radius: 999px;
    opacity: .2;
    background: radial-gradient(circle at 50% 50%, rgba(116, 216, 255, .38), transparent 64%);
}

.jvue-at-work-reel em:nth-of-type(2) {
    left: 12%;
    right: auto;
    top: 14%;
    bottom: auto;
    width: 18%;
    height: 18%;
    opacity: .16;
}

.jvue-home.is-fx-1 .jvue-at-work-reel article.active span {
    background:
        linear-gradient(90deg, rgba(118, 216, 255, .14), transparent 42%),
        repeating-linear-gradient(90deg, transparent 0 32px, rgba(255, 255, 255, .06) 33px 35px);
}

.jvue-home.is-fx-2 .jvue-at-work-reel article.active {
    width: clamp(270px, 30vw, 600px);
}

.jvue-home.is-fx-3 .jvue-at-work-reel article.active {
    height: clamp(120px, 13vw, 250px);
    transform:
        translate3d(calc(-50% + var(--at-work-item-x)), calc(-50% + var(--at-work-item-y)), var(--at-work-item-z))
        rotateY(var(--at-work-item-tilt))
        rotateZ(calc(-16deg + var(--at-work-tilt)))
        scale(var(--at-work-item-scale));
}

.jvue-home.is-fx-4 .jvue-at-work-reel article.active {
    width: clamp(210px, 22vw, 430px);
    border-radius: 50%;
}

.jvue-home.is-fx-5 .jvue-at-work-reel article.active {
    width: clamp(220px, 24vw, 460px);
    height: clamp(160px, 18vw, 320px);
    border-radius: 999px;
}

@keyframes jvueAtWorkHorizon {
    0% { background-position: var(--at-work-scan) 0, var(--at-work-scan) 0; }
    100% { background-position: 0 0, -260px 0; }
}

@keyframes jvueAtWorkScan {
    0% { background-position: 160% 0, 0 0; }
    100% { background-position: -120% 0, 220px 0; }
}

@keyframes jvueAtWorkLine {
    0% { transform: translate3d(-18%, 0, 1px) scaleX(.58); opacity: .08; }
    42% { opacity: .4; }
    100% { transform: translate3d(18%, 0, 1px) scaleX(1); opacity: .08; }
}

@keyframes jvueAtWorkDot {
    0%, 100% { opacity: .24; transform: scale(.72); }
    50% { opacity: .66; transform: scale(1.24); }
}

@keyframes jvueAtRailFlow {
    0% {
        background-position: 180% 0, 0 0;
        transform:
            translate3d(-52%, -50%, var(--at-line-z))
            rotateZ(var(--at-line-r));
    }
    50% {
        transform:
            translate3d(-49%, -50%, var(--at-line-z))
            rotateZ(var(--at-line-r));
    }
    100% {
        background-position: -80% 0, 180px 0;
        transform:
            translate3d(-52%, -50%, var(--at-line-z))
            rotateZ(var(--at-line-r));
    }
}

@keyframes jvueAtNodePulse {
    0%, 100% {
        opacity: .34;
        transform: translate3d(-50%, -50%, var(--at-node-z)) scale(.86);
    }
    45% {
        opacity: var(--at-node-o);
        transform: translate3d(-50%, -50%, var(--at-node-z)) scale(1.34);
    }
}

@keyframes jvueAtPanelDrift {
    0%, 100% {
        transform:
            translate3d(-50%, -52%, var(--at-card-z))
            rotateX(var(--at-card-rx))
            rotateZ(var(--at-card-r));
    }
    50% {
        transform:
            translate3d(-48%, -48%, var(--at-card-z))
            rotateX(var(--at-card-rx))
            rotateZ(calc(var(--at-card-r) + 1.2deg));
    }
}

@keyframes jvueAtCorePulse {
    0%, 100% {
        opacity: .28;
        transform: translate3d(-50%, -50%, -120px) rotateZ(0deg) scale(.96);
    }
    50% {
        opacity: .5;
        transform: translate3d(-50%, -50%, -120px) rotateZ(18deg) scale(1.03);
    }
}

@keyframes jvueAtSignalField {
    0% {
        background-position: 0 0, 0 0, 0 0, 0 0;
        transform:
            translate3d(-50%, -50%, -260px)
            rotateZ(var(--active-slice-angle));
    }
    100% {
        background-position: 90px 0, -110px 0, 130px 0, 0 0;
        transform:
            translate3d(-50%, -50%, -260px)
            rotateZ(calc(var(--active-slice-angle) + 2deg));
    }
}

@keyframes jvueAtTunnelSweep {
    0% {
        background-position: var(--at-stage-scan) 0, 0 0, 0 0;
        transform:
            translate3d(calc(-50% + var(--at-stage-x)), calc(-50% + var(--at-stage-y)), var(--at-stage-depth-z))
            rotateX(63deg)
            rotateZ(calc(var(--ambient-flow-angle) + var(--at-stage-tilt)));
    }
    100% {
        background-position: var(--at-stage-scan-reverse) 0, 0 140px, 0 0;
        transform:
            translate3d(calc(-50% + var(--at-stage-x)), calc(-50% + var(--at-stage-y)), var(--at-stage-depth-z))
            rotateX(63deg)
            rotateZ(calc(var(--ambient-flow-angle) + var(--at-stage-tilt) + 360deg));
    }
}

@keyframes jvueAtSliceSweep {
    0% {
        background-position: 180% 0, var(--at-stage-scan) 0;
    }
    100% {
        background-position: -120% 0, var(--at-stage-scan-reverse) 0;
    }
}

@keyframes jvueAtScanGrid {
    0% {
        background-position: 0 0, 0 0, 0 0;
    }
    100% {
        background-position: 220px 0, 280px 0, 0 176px;
    }
}

@keyframes jvueAtOrbitWake {
    0% {
        transform:
            translate3d(calc(var(--ambient-flow-x) + var(--at-stage-x)), calc(var(--ambient-flow-y) + var(--at-stage-y)), var(--at-stage-depth-z))
            rotateX(68deg)
            rotateZ(var(--at-stage-tilt));
    }
    100% {
        transform:
            translate3d(calc(var(--ambient-flow-x) + var(--at-stage-x)), calc(var(--ambient-flow-y) + var(--at-stage-y)), var(--at-stage-depth-z))
            rotateX(68deg)
            rotateZ(calc(var(--at-stage-tilt) + 360deg));
    }
}

.jvue-home.is-scroll-active .jvue-motion-field,
.jvue-home.is-scene-switching .jvue-motion-field,
.jvue-home.is-work-transitioning .jvue-motion-field {
    opacity: min(.82, calc(var(--motion-field-opacity) + var(--motion-field-ambient-opacity) + .22)) !important;
}

.jvue-home.is-scroll-active .jvue-motion-field,
.jvue-home.is-scene-switching .jvue-motion-field,
.jvue-home.is-work-transitioning .jvue-motion-field,
.jvue-home.is-scroll-active .jvue-scroll-sculpture,
.jvue-home.is-scene-switching .jvue-scroll-sculpture,
.jvue-home.is-work-transitioning .jvue-scroll-sculpture,
.jvue-home.is-scroll-active .jvue-motion-bands,
.jvue-home.is-scene-switching .jvue-motion-bands,
.jvue-home.is-work-transitioning .jvue-motion-bands,
.jvue-home.is-scroll-active .jvue-stage-scenes,
.jvue-home.is-scene-switching .jvue-stage-scenes,
.jvue-home.is-work-transitioning .jvue-stage-scenes,
.jvue-home.is-scroll-active .jvue-stage-director,
.jvue-home.is-scene-switching .jvue-stage-director,
.jvue-home.is-work-transitioning .jvue-stage-director,
.jvue-home.is-scroll-active .jvue-scene-magnet,
.jvue-home.is-scene-switching .jvue-scene-magnet,
.jvue-home.is-work-transitioning .jvue-scene-magnet,
.jvue-home.is-scroll-active .jvue-stage-cuts,
.jvue-home.is-scene-switching .jvue-stage-cuts,
.jvue-home.is-work-transitioning .jvue-stage-cuts,
.jvue-home.is-scroll-active .jvue-stage-flowfield,
.jvue-home.is-scene-switching .jvue-stage-flowfield,
.jvue-home.is-work-transitioning .jvue-stage-flowfield,
.jvue-home.is-scroll-active .jvue-stage-kinetic,
.jvue-home.is-scene-switching .jvue-stage-kinetic,
.jvue-home.is-work-transitioning .jvue-stage-kinetic,
.jvue-home.is-scroll-active .jvue-anime-transition-field,
.jvue-home.is-scene-switching .jvue-anime-transition-field,
.jvue-home.is-work-transitioning .jvue-anime-transition-field,
.jvue-home.is-scroll-active .jvue-stage-flash,
.jvue-home.is-scene-switching .jvue-stage-flash,
.jvue-home.is-work-transitioning .jvue-stage-flash,
.jvue-home.is-scroll-active .jvue-stage-anime,
.jvue-home.is-scene-switching .jvue-stage-anime,
.jvue-home.is-work-transitioning .jvue-stage-anime,
.jvue-home.is-scroll-active .jvue-stage-echo,
.jvue-home.is-scene-switching .jvue-stage-echo,
.jvue-home.is-work-transitioning .jvue-stage-echo,
.jvue-home.is-scroll-active .jvue-stage-wipe,
.jvue-home.is-scene-switching .jvue-stage-wipe,
.jvue-home.is-work-transitioning .jvue-stage-wipe,
.jvue-home.is-scroll-active .jvue-stage-storywall,
.jvue-home.is-scene-switching .jvue-stage-storywall,
.jvue-home.is-work-transitioning .jvue-stage-storywall,
.jvue-home.is-scroll-active .jvue-stage-gallery,
.jvue-home.is-scene-switching .jvue-stage-gallery,
.jvue-home.is-work-transitioning .jvue-stage-gallery,
.jvue-home.is-scroll-active .jvue-stage-poster,
.jvue-home.is-scene-switching .jvue-stage-poster,
.jvue-home.is-work-transitioning .jvue-stage-poster,
.jvue-home.is-scroll-active .jvue-stage-workstrip,
.jvue-home.is-scene-switching .jvue-stage-workstrip,
.jvue-home.is-work-transitioning .jvue-stage-workstrip,
.jvue-home.is-scroll-active .jvue-stage-chapter,
.jvue-home.is-scene-switching .jvue-stage-chapter,
.jvue-home.is-work-transitioning .jvue-stage-chapter,
.jvue-home.is-scroll-active .jvue-stage-reel,
.jvue-home.is-scene-switching .jvue-stage-reel,
.jvue-home.is-work-transitioning .jvue-stage-reel {
    transition: transform .16s linear, filter .16s linear !important;
}

.jvue-home.is-ambient-motion .jvue-live-backdrop {
    opacity: min(.99, calc(var(--live-bg-opacity) + var(--live-scene-boost) + var(--live-scroll-opacity) + var(--ambient-flow-opacity) + .12)) !important;
    filter:
        saturate(1.32)
        contrast(1.24)
        brightness(1.08);
}

.jvue-home.is-ambient-motion .jvue-live-backdrop::before {
    opacity: min(.66, calc(var(--live-bg-plane-opacity) + var(--live-bg-plane-depth-opacity) + var(--ambient-depth-boost) + .14));
}

.jvue-home.is-ambient-motion .jvue-live-backdrop::after {
    opacity: min(.76, calc(var(--live-bg-veil) + var(--live-bg-veil-boost) + var(--ambient-depth-boost) + .1));
}

.jvue-home.is-ambient-motion .jvue-live-backdrop i {
    opacity: min(.9, calc(var(--live-line-o, var(--live-bg-line-opacity)) + var(--ambient-flow-opacity) + .1));
}

.jvue-home.is-ambient-motion .jvue-live-backdrop b {
    opacity: min(.56, calc(var(--live-card-o, var(--live-bg-plane-opacity)) + var(--ambient-depth-boost) + .08));
}

.jvue-home.is-ambient-motion .jvue-live-backdrop span {
    opacity: min(.88, calc(var(--live-node-o, var(--live-bg-node-opacity)) + var(--ambient-flow-opacity) + .1));
}

.jvue-home.is-scroll-active .jvue-live-backdrop,
.jvue-home.is-scene-switching .jvue-live-backdrop,
.jvue-home.is-work-transitioning .jvue-live-backdrop {
    opacity: min(.98, calc(var(--live-bg-opacity) + var(--live-scene-boost) + var(--live-scroll-opacity) + .16)) !important;
    filter:
        saturate(1.28)
        contrast(1.24)
        brightness(1.08);
}

.jvue-home.is-scroll-active .jvue-scroll-sculpture,
.jvue-home.is-scene-switching .jvue-scroll-sculpture,
.jvue-home.is-work-transitioning .jvue-scroll-sculpture {
    opacity: min(.72, calc(var(--sculpture-opacity) + .18)) !important;
}

.jvue-home:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-scroll-active:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-scene-switching:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-work-transitioning:not(.is-fx-0) .jvue-scroll-sculpture {
    opacity: min(.18, calc(var(--motion-field-ambient-opacity) + .05)) !important;
    filter: saturate(.96) contrast(1.08) brightness(.86) !important;
}

.jvue-home:not(.is-fx-0) .jvue-scroll-sculpture::before,
.jvue-home:not(.is-fx-0) .jvue-scroll-sculpture::after {
    opacity: 0 !important;
}

.jvue-home:not(.is-fx-0) .jvue-stage-orbit-field,
.jvue-home.is-scroll-active:not(.is-fx-0) .jvue-stage-orbit-field,
.jvue-home.is-scene-switching:not(.is-fx-0) .jvue-stage-orbit-field,
.jvue-home.is-component-hot:not(.is-fx-0) .jvue-stage-orbit-field {
    opacity: min(.16, calc(var(--stage-field-focus-opacity) + .06)) !important;
    filter: saturate(.95) contrast(1.08) brightness(.82) !important;
}

.jvue-home:not(.is-fx-0) .jvue-stage-orbit-field b {
    opacity: .04;
}

.jvue-home.is-fx-0 .jvue-stage-radials {
    opacity: .08 !important;
    filter: saturate(.86) contrast(1.04) brightness(.72) !important;
}

.jvue-home.is-fx-0 .jvue-stage-radials i {
    --radial-alpha: .08;
}

.jvue-home.is-fx-0 .jvue-stage-radials i:nth-child(1),
.jvue-home.is-fx-0 .jvue-stage-radials i:nth-child(3) {
    --radial-alpha: .1;
}

.jvue-home.is-fx-0 .jvue-stage-portals {
    opacity: .06 !important;
    filter: saturate(.82) contrast(1.04) brightness(.68) !important;
}

.jvue-home.is-fx-0 .jvue-stage-orbit-field {
    opacity: min(.22, calc(var(--stage-field-focus-opacity) + .1)) !important;
    filter: saturate(1.06) contrast(1.14) brightness(.9) !important;
}

.jvue-home.is-fx-0 .jvue-stage-orbit-field b {
    opacity: .035 !important;
}

.jvue-home.is-fx-0 .jvue-stage-orbit-field i {
    opacity: min(.2, var(--field-line-o, .18)) !important;
}

.jvue-home.is-fx-0 .jvue-stage-orbit-field span {
    opacity: .18 !important;
}

.jvue-home.is-fx-0.is-scroll-active .jvue-stage-orbit-field,
.jvue-home.is-fx-0.is-scene-switching .jvue-stage-orbit-field,
.jvue-home.is-fx-0.is-work-transitioning .jvue-stage-orbit-field {
    opacity: min(.32, calc(var(--stage-field-focus-opacity) + .18)) !important;
    filter: saturate(1.16) contrast(1.2) brightness(.98) !important;
}

.jvue-home.is-fx-0.is-depth-particles .jvue-depth-particles {
    opacity: min(.72, calc(.62 + var(--scene-impact-depth-opacity))) !important;
    filter:
        saturate(1.18)
        contrast(1.24)
        brightness(1.02)
        drop-shadow(0 0 22px rgba(105, 199, 240, .14)) !important;
}

.jvue-home.is-fx-1 .jvue-stage-orbit-field,
.jvue-home.is-fx-1.is-scroll-active .jvue-stage-orbit-field,
.jvue-home.is-fx-1.is-scene-switching .jvue-stage-orbit-field,
.jvue-home.is-fx-1.is-work-transitioning .jvue-stage-orbit-field {
    opacity: min(.36, calc(var(--stage-field-focus-opacity) + .24)) !important;
    filter: saturate(1.18) contrast(1.22) brightness(1.02) !important;
}

.jvue-home.is-fx-1 .jvue-stage-orbit-field b {
    opacity: .065 !important;
}

.jvue-home.is-fx-1 .jvue-stage-orbit-field i {
    opacity: min(.3, calc(var(--field-line-o, .22) + .06)) !important;
}

.jvue-home.is-fx-1 .jvue-stage-orbit-field span {
    opacity: .26 !important;
}

.jvue-home.is-fx-1.is-depth-particles .jvue-depth-particles {
    opacity: min(.8, calc(.68 + var(--scene-impact-depth-opacity))) !important;
    filter:
        saturate(1.22)
        contrast(1.28)
        brightness(1.06)
        drop-shadow(0 0 23px rgba(105, 199, 240, .16)) !important;
}

.jvue-home.is-fx-2.is-depth-particles .jvue-depth-particles,
.jvue-home.is-fx-3.is-depth-particles .jvue-depth-particles,
.jvue-home.is-fx-4.is-depth-particles .jvue-depth-particles {
    opacity: min(.82, calc(.7 + var(--scene-impact-depth-opacity))) !important;
    filter:
        saturate(1.24)
        contrast(1.3)
        brightness(1.06)
        drop-shadow(0 0 24px rgba(105, 199, 240, .18)) !important;
}

.jvue-home.is-scroll-active .jvue-motion-bands,
.jvue-home.is-scene-switching .jvue-motion-bands,
.jvue-home.is-work-transitioning .jvue-motion-bands {
    opacity: min(.52, calc(var(--band-opacity) + .12)) !important;
}

.jvue-home.is-ready .jvue-live-backdrop {
    opacity: min(.99, calc(var(--live-bg-opacity) + var(--live-scene-boost) + var(--live-scroll-opacity) + var(--ambient-flow-opacity) + .12)) !important;
    filter:
        saturate(1.3)
        contrast(1.24)
        brightness(1.08);
}

.jvue-home.is-ready .jvue-live-backdrop::before {
    opacity: min(.7, calc(var(--live-bg-plane-opacity) + var(--live-bg-plane-depth-opacity) + var(--live-scroll-opacity) + var(--ambient-depth-boost) + .12));
    animation-duration: var(--live-bg-matrix-speed);
}

.jvue-home.is-ready .jvue-live-backdrop::after {
    opacity: min(.78, calc(var(--live-bg-veil) + var(--live-bg-veil-boost) + var(--live-scroll-opacity) + var(--ambient-depth-boost) + .12));
}

.jvue-home.is-ready .jvue-live-backdrop i {
    opacity: min(.92, calc(var(--live-line-o, var(--live-bg-line-opacity)) + var(--live-scroll-opacity) + var(--ambient-flow-opacity) + .12));
}

.jvue-home.is-ready .jvue-live-backdrop b {
    opacity: min(.58, calc(var(--live-card-o, var(--live-bg-plane-opacity)) + var(--live-scroll-opacity) + var(--ambient-depth-boost) + .08));
}

.jvue-home.is-ready .jvue-live-backdrop span {
    opacity: min(.9, calc(var(--live-node-o, var(--live-bg-node-opacity)) + var(--live-scroll-opacity) + var(--ambient-flow-opacity) + .12));
}

.jvue-home .jvue-motion-field {
    opacity: min(.78, calc(var(--motion-field-opacity) + var(--motion-field-ambient-opacity) + .16)) !important;
    filter: saturate(1.24) contrast(1.22) brightness(1.08) !important;
}

.jvue-home.is-scroll-active .jvue-motion-field,
.jvue-home.is-scene-switching .jvue-motion-field,
.jvue-home.is-work-transitioning .jvue-motion-field {
    opacity: min(.94, calc(var(--motion-field-opacity) + var(--motion-field-ambient-opacity) + .28)) !important;
}

.jvue-home .jvue-energy-field {
    opacity: min(.86, calc(var(--energy-field-opacity) + .08)) !important;
    filter: saturate(1.25) contrast(1.22) brightness(1.08);
}

.jvue-home.is-scroll-active .jvue-energy-field,
.jvue-home.is-scene-switching .jvue-energy-field,
.jvue-home.is-work-transitioning .jvue-energy-field {
    opacity: min(.96, calc(var(--energy-field-opacity) + .16)) !important;
    filter: saturate(1.36) contrast(1.3) brightness(1.12);
}

.jvue-home .jvue-scrollworld {
    opacity: min(.68, calc(var(--scrollworld-opacity, .4) + var(--live-scroll-opacity) + .12)) !important;
    filter: saturate(1.18) contrast(1.16) brightness(1.04);
}

.jvue-home.is-scroll-active .jvue-scrollworld,
.jvue-home.is-scene-switching .jvue-scrollworld,
.jvue-home.is-work-transitioning .jvue-scrollworld {
    opacity: min(.82, calc(var(--scrollworld-opacity, .44) + var(--live-scroll-opacity) + .2)) !important;
}

.jvue-home .jvue-scroll-sculpture {
    opacity: min(.7, calc(var(--sculpture-opacity) + .14)) !important;
    filter: saturate(1.22) contrast(1.2) brightness(1.06) !important;
}

.jvue-home:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-scroll-active:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-scene-switching:not(.is-fx-0) .jvue-scroll-sculpture,
.jvue-home.is-work-transitioning:not(.is-fx-0) .jvue-scroll-sculpture {
    opacity: min(.36, calc(var(--live-scroll-opacity) + .22)) !important;
    filter: saturate(1.08) contrast(1.14) brightness(.96) !important;
}

.jvue-home .jvue-work-cinema-field {
    opacity: min(.68, calc(var(--cinema-opacity) + .12)) !important;
    filter: saturate(1.08) contrast(1.12) brightness(.94) !important;
}

.jvue-home .jvue-work-cinema-field::before {
    opacity: min(.32, calc(var(--cinema-wipe-opacity) + .04)) !important;
}

.jvue-home .jvue-work-cinema-field::after {
    opacity: min(.28, calc(var(--cinema-focus-opacity) + .04)) !important;
}

.jvue-home .jvue-work-cinema-field span.active {
    opacity: min(.72, calc(var(--cinema-opacity) + .12)) !important;
}

.jvue-home .jvue-work-cinema-field span.active strong {
    opacity: min(.48, calc(.16 + var(--cinema-focus-opacity) + var(--cinema-depth))) !important;
}

.jvue-home .jvue-work-cinema-field span.active::before {
    opacity: min(.28, calc(var(--wc-poster-o, .16) + var(--cinema-card-glow))) !important;
}

.jvue-home .jvue-work-cinema-field span.active::after {
    opacity: min(.34, calc(var(--cinema-card-glow) + .08)) !important;
}

.jvue-home.is-scroll-active .jvue-work-cinema-field,
.jvue-home.is-scene-switching .jvue-work-cinema-field,
.jvue-home.is-work-transitioning .jvue-work-cinema-field {
    opacity: min(.78, calc(var(--cinema-opacity) + .18)) !important;
    filter: saturate(1.18) contrast(1.18) brightness(.98) !important;
}

.jvue-home.is-scroll-active .jvue-stage-scenes,
.jvue-home.is-scene-switching .jvue-stage-scenes,
.jvue-home.is-work-transitioning .jvue-stage-scenes {
    opacity: .52 !important;
}

.jvue-home.is-scroll-active:not(.is-fx-0) .jvue-stage-scenes,
.jvue-home.is-scene-switching:not(.is-fx-0) .jvue-stage-scenes,
.jvue-home.is-work-transitioning:not(.is-fx-0) .jvue-stage-scenes {
    display: none !important;
    opacity: 0 !important;
}

.jvue-home.is-scroll-active .jvue-stage-director,
.jvue-home.is-scene-switching .jvue-stage-director,
.jvue-home.is-work-transitioning .jvue-stage-director {
    opacity: min(.66, calc(.34 + var(--director-opacity-boost))) !important;
}

.jvue-home.is-scroll-active .jvue-stage-flowfield,
.jvue-home.is-scene-switching .jvue-stage-flowfield,
.jvue-home.is-work-transitioning .jvue-stage-flowfield {
    opacity: min(.52, calc(var(--flow-opacity) + var(--flow-opacity-boost) + .16)) !important;
}

.jvue-home.is-scroll-active .jvue-stage-kinetic,
.jvue-home.is-scene-switching .jvue-stage-kinetic,
.jvue-home.is-work-transitioning .jvue-stage-kinetic {
    opacity: min(.44, calc(var(--kinetic-opacity) + var(--kinetic-opacity-boost) + .12)) !important;
}

.jvue-home.is-scroll-active .jvue-anime-transition-field {
    opacity: min(.42, var(--anime-cut-opacity)) !important;
}

.jvue-home.is-scene-switching .jvue-anime-transition-field,
.jvue-home.is-work-transitioning .jvue-anime-transition-field {
    opacity: min(.72, var(--anime-cut-opacity)) !important;
}

.jvue-home.is-scroll-active .jvue-stage-flash {
    opacity: min(.54, calc(var(--stage-flash-opacity) + var(--scene-impact-flash-opacity))) !important;
    filter:
        saturate(1.28)
        contrast(1.34)
        brightness(1.04)
        blur(var(--scene-impact-blur)) !important;
}

.jvue-home.is-scene-switching .jvue-stage-flash,
.jvue-home.is-work-transitioning .jvue-stage-flash {
    opacity: min(.9, calc(var(--stage-flash-opacity) + var(--scene-impact-flash-opacity))) !important;
    filter:
        saturate(1.5)
        contrast(1.72)
        brightness(1.1)
        blur(var(--scene-impact-blur)) !important;
}

.jvue-home.is-scroll-active .jvue-stage-flash i,
.jvue-home.is-scene-switching .jvue-stage-flash i,
.jvue-home.is-work-transitioning .jvue-stage-flash i {
    background-position: var(--stage-flash-scan) 0, var(--scene-impact-scan) 0;
    animation-duration: var(--scene-impact-speed) !important;
}

.jvue-home.is-scroll-active .jvue-stage-flash b,
.jvue-home.is-scene-switching .jvue-stage-flash b,
.jvue-home.is-work-transitioning .jvue-stage-flash b {
    animation-duration: var(--scene-impact-speed) !important;
}

.jvue-home.is-scroll-active .jvue-stage-anime {
    opacity: .28 !important;
}

.jvue-home.is-scene-switching .jvue-stage-anime,
.jvue-home.is-work-transitioning .jvue-stage-anime {
    opacity: .64 !important;
}

.jvue-home.is-scroll-active .jvue-stage-echo {
    opacity: min(.34, var(--echo-opacity)) !important;
}

.jvue-home.is-scene-switching .jvue-stage-echo,
.jvue-home.is-work-transitioning .jvue-stage-echo {
    opacity: min(.58, var(--echo-opacity)) !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe {
    opacity: var(--scene-impact-wipe-opacity) !important;
    transform:
        translate3d(var(--scene-wipe-x), var(--scene-wipe-y), 0)
        rotate(var(--scene-wipe-angle))
        scale(var(--scene-impact-scale)) !important;
    filter:
        saturate(1.18)
        contrast(1.24)
        brightness(1.05)
        blur(var(--scene-impact-blur)) !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe i {
    opacity: min(.42, calc(.08 + var(--scene-impact-wipe-opacity)));
    transform: translate3d(-22vw, 0, 0) scaleX(.82);
    background-position: var(--scene-impact-scan) 0, var(--scene-impact-scan-reverse) 0;
}

.jvue-home.is-scroll-active .jvue-stage-wipe b {
    opacity: min(.56, calc(.1 + var(--scene-impact-wipe-opacity)));
    transform: translate3d(-18vw, 0, 0) scaleX(.76);
}

.jvue-home.is-scroll-active .jvue-stage-wipe em {
    opacity: min(.42, calc(.16 + var(--scene-impact-depth-opacity)));
    background-position: 0 var(--scene-impact-scan), var(--scene-impact-scan-reverse) 0;
}

.jvue-home.is-scene-switching .jvue-stage-wipe,
.jvue-home.is-work-transitioning .jvue-stage-wipe {
    opacity: min(1, calc(.46 + var(--scene-impact-wipe-opacity))) !important;
    transform:
        translate3d(var(--scene-wipe-x), var(--scene-wipe-y), 0)
        rotate(var(--scene-wipe-angle))
        scale(var(--scene-impact-scale)) !important;
    filter:
        saturate(1.34)
        contrast(1.42)
        brightness(1.1)
        blur(var(--scene-impact-blur)) !important;
}

.jvue-home.is-scene-switching .jvue-stage-wipe i,
.jvue-home.is-work-transitioning .jvue-stage-wipe i,
.jvue-home.is-scene-switching .jvue-stage-wipe b,
.jvue-home.is-work-transitioning .jvue-stage-wipe b {
    background-position: var(--scene-impact-scan) 0, var(--scene-impact-scan-reverse) 0;
    animation-duration: var(--scene-impact-speed) !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe::before,
.jvue-home.is-scene-switching .jvue-stage-wipe::before,
.jvue-home.is-work-transitioning .jvue-stage-wipe::before {
    opacity: min(.78, calc(var(--scene-fracture-line-opacity) + .18)) !important;
    animation: jvueStageFractureDrift var(--scene-fracture-speed) cubic-bezier(.16, .74, .16, 1) infinite alternate !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe::after,
.jvue-home.is-scene-switching .jvue-stage-wipe::after,
.jvue-home.is-work-transitioning .jvue-stage-wipe::after {
    opacity: min(.56, calc(var(--scene-fracture-grain-opacity) + .16)) !important;
    animation: jvueStageFractureGrainDrift var(--scene-fracture-speed) steps(4, end) infinite !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe i,
.jvue-home.is-scene-switching .jvue-stage-wipe i,
.jvue-home.is-work-transitioning .jvue-stage-wipe i {
    opacity: min(.6, calc(.18 + var(--scene-impact-wipe-opacity))) !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe b,
.jvue-home.is-scene-switching .jvue-stage-wipe b,
.jvue-home.is-work-transitioning .jvue-stage-wipe b {
    opacity: min(.74, calc(.2 + var(--scene-impact-wipe-opacity))) !important;
}

.jvue-home.is-ambient-motion:not(.is-scroll-active):not(.is-scene-switching):not(.is-work-transitioning) .jvue-anime-transition-field {
    opacity: min(.26, calc(.08 + var(--active-slice-opacity))) !important;
    filter:
        saturate(1.16)
        contrast(1.12)
        brightness(1.02)
        blur(var(--active-slice-blur));
}

.jvue-home.is-ambient-motion:not(.is-scroll-active):not(.is-scene-switching):not(.is-work-transitioning) .jvue-stage-wipe {
    opacity: min(.34, calc(.04 + var(--active-slice-opacity))) !important;
    transform:
        translate3d(var(--active-slice-x), var(--active-slice-y), 0)
        rotate(var(--active-slice-angle))
        scale(var(--active-slice-scale)) !important;
    filter:
        saturate(1.22)
        contrast(1.2)
        brightness(1.04)
        blur(var(--active-slice-blur)) !important;
}

.jvue-home.is-scroll-active .jvue-anime-transition-field {
    opacity: min(.64, calc(var(--anime-cut-opacity) + var(--active-slice-opacity))) !important;
    filter:
        saturate(1.28)
        contrast(1.24)
        brightness(1.06)
        blur(var(--active-slice-blur));
}

.jvue-home.is-scene-switching .jvue-anime-transition-field,
.jvue-home.is-work-transitioning .jvue-anime-transition-field {
    opacity: min(.86, calc(var(--anime-cut-opacity) + var(--active-slice-opacity))) !important;
}

.jvue-home.is-scroll-active .jvue-stage-wipe,
.jvue-home.is-scene-switching .jvue-stage-wipe,
.jvue-home.is-work-transitioning .jvue-stage-wipe {
    background-position: var(--active-slice-scan) 0;
}

.jvue-home.is-scroll-active .jvue-stage-wipe::before,
.jvue-home.is-scene-switching .jvue-stage-wipe::before,
.jvue-home.is-work-transitioning .jvue-stage-wipe::before {
    background-position:
        var(--active-slice-scan) 0,
        var(--active-slice-scan-reverse) 0,
        0 var(--active-slice-scan);
}

.jvue-home.is-scroll-active .jvue-stage-wipe::after,
.jvue-home.is-scene-switching .jvue-stage-wipe::after,
.jvue-home.is-work-transitioning .jvue-stage-wipe::after {
    background-position:
        var(--active-slice-scan-reverse) 0,
        var(--active-slice-scan) var(--active-slice-scan-reverse),
        0 0;
}

.jvue-home.is-scroll-active .jvue-stage-wipe i,
.jvue-home.is-scene-switching .jvue-stage-wipe i,
.jvue-home.is-work-transitioning .jvue-stage-wipe i {
    width: 138%;
    height: min(var(--wipe-h, 18vh), 8.5vh);
    opacity: min(.54, calc(.1 + var(--active-slice-band-opacity))) !important;
    transform: translate3d(calc(-24vw + var(--active-slice-x)), var(--active-slice-y), 0) scaleX(calc(.46 + var(--active-slice-depth)));
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .04) 24%, rgba(247, 249, 255, .2) 47%, rgba(105, 199, 240, .14) 54%, rgba(201, 154, 85, .08) 62%, transparent 82%),
        repeating-linear-gradient(90deg, transparent 0, transparent 18px, rgba(247, 249, 255, .12) 19px, transparent 21px),
        radial-gradient(ellipse at 50% 50%, rgba(105, 199, 240, .1), transparent 62%);
    background-position: var(--active-slice-scan) 0, var(--active-slice-scan-reverse) 0, center;
}

.jvue-home.is-scroll-active .jvue-stage-wipe b,
.jvue-home.is-scene-switching .jvue-stage-wipe b,
.jvue-home.is-work-transitioning .jvue-stage-wipe b {
    opacity: min(.88, calc(.24 + var(--active-slice-band-opacity))) !important;
    transform: translate3d(calc(-20vw + var(--active-slice-x)), var(--active-slice-y), 0) scaleX(calc(.72 + var(--active-slice-depth)));
    background-position: var(--active-slice-scan) 0;
}

.jvue-home.is-scroll-active .jvue-stage-wipe em,
.jvue-home.is-scene-switching .jvue-stage-wipe em,
.jvue-home.is-work-transitioning .jvue-stage-wipe em {
    opacity: min(.58, calc(.12 + var(--active-slice-depth))) !important;
    background-position: 0 var(--active-slice-scan), var(--active-slice-scan-reverse) 0, center;
}

.jvue-home.is-scene-switching .jvue-stage-cut,
.jvue-home.is-work-transitioning .jvue-stage-workcuts {
    opacity: 1;
}

.jvue-home.is-fx-0 .jvue-stage-pixels {
    --fx-pixel-size: 34px;
}

.jvue-home.is-fx-1 .jvue-stage-pixels,
.jvue-home.is-fx-2 .jvue-stage-pixels {
    --fx-pixel-size: 24px;
}

.jvue-home.is-fx-3 .jvue-stage-wake,
.jvue-home.is-fx-3 .jvue-stage-runners {
    filter: saturate(1.2) contrast(1.08);
}

.jvue-webgl-fallback {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 50% 50%, rgba(105, 199, 240, .22), transparent 22%),
        radial-gradient(circle at 35% 62%, rgba(201, 154, 85, .12), transparent 24%),
        linear-gradient(120deg, transparent, rgba(255, 255, 255, .05), transparent);
}

.jvue-hero-grain {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: .25;
    background:
        repeating-linear-gradient(0deg, rgba(255, 255, 255, .022) 0, rgba(255, 255, 255, .022) 1px, transparent 1px, transparent 4px);
    mix-blend-mode: screen;
    animation: jvueGrainMove 1.4s steps(3, end) infinite;
}

.jvue-immersive-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    background:
        linear-gradient(115deg, transparent 0, rgba(247, 249, 255, .04) 40%, transparent 52%),
        radial-gradient(ellipse at var(--cursor-x, 50%) var(--cursor-y, 50%), rgba(247, 249, 255, .18) 0, rgba(105, 199, 240, .16) 7%, transparent 23%),
        radial-gradient(ellipse at calc(var(--cursor-x, 50%) + 46px) calc(var(--cursor-y, 50%) + 24px), rgba(201, 154, 85, .12) 0, transparent 17%),
        radial-gradient(circle at 50% 54%, rgba(255, 255, 255, .07) 0, transparent 24%);
    background-size: 220% 100%, 100% 100%, 100% 100%, 100% 100%;
    background-position: var(--fx-sweep-x) 0, 0 0, 0 0, 0 0;
    transition: opacity .35s var(--jv-ease);
    mix-blend-mode: screen;
    animation: jvueCursorWake 10s linear infinite;
}

.jvue-home.is-cursor-visible .jvue-immersive-hero::after {
    opacity: var(--cursor-glow, .55);
}

.jvue-home.is-cursor-hot .jvue-immersive-hero::after {
    opacity: .78;
}

.jvue-cursor-trail {
    position: fixed;
    inset: 0;
    z-index: 68;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: screen;
    contain: layout style paint;
    transition: opacity .22s var(--jv-ease);
}

.jvue-home.is-cursor-visible .jvue-cursor-trail {
    opacity: 1;
}

.jvue-cursor-trail i {
    position: absolute;
    left: 0;
    top: 0;
    width: 34px;
    height: 2px;
    display: block;
    border-radius: 999px;
    opacity: 0;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .72) 44%, rgba(105, 199, 240, .28) 58%, transparent 100%);
    box-shadow:
        0 0 12px rgba(247, 249, 255, .16),
        0 0 28px rgba(105, 199, 240, .2);
    transform: translate3d(-999px, -999px, 0);
    will-change: transform, opacity;
}

.jvue-cursor-trail i::after {
    content: "";
    position: absolute;
    left: 42%;
    top: -2px;
    width: 8px;
    height: 6px;
    border-radius: 999px;
    background: rgba(247, 249, 255, .32);
    filter: blur(2px);
}

.jvue-cursor-trail i:nth-child(1) { --trail-size: 26px; filter: blur(.1px); }
.jvue-cursor-trail i:nth-child(2) { --trail-size: 23px; filter: blur(.2px); }
.jvue-cursor-trail i:nth-child(3) { --trail-size: 20px; filter: blur(.25px); }
.jvue-cursor-trail i:nth-child(4) { --trail-size: 18px; filter: blur(.35px); }
.jvue-cursor-trail i:nth-child(5) { --trail-size: 16px; filter: blur(.45px); }
.jvue-cursor-trail i:nth-child(6) { --trail-size: 14px; filter: blur(.55px); }
.jvue-cursor-trail i:nth-child(7) { --trail-size: 12px; filter: blur(.65px); }
.jvue-cursor-trail i:nth-child(8) { --trail-size: 10px; filter: blur(.75px); }
.jvue-cursor-trail i:nth-child(9) { --trail-size: 8px; filter: blur(.85px); }
.jvue-cursor-trail i:nth-child(10) { --trail-size: 7px; filter: blur(.95px); }

.jvue-home.is-cursor-hot .jvue-cursor-trail i {
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .86) 42%, rgba(105, 199, 240, .34) 58%, rgba(201, 154, 85, .18) 70%, transparent 100%);
    box-shadow:
        0 0 16px rgba(247, 249, 255, .22),
        0 0 34px rgba(105, 199, 240, .28);
}

.jvue-cursor-ring,
.jvue-cursor-label {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 70;
    pointer-events: none;
    opacity: 0;
    will-change: transform;
    transition: opacity .22s var(--jv-ease);
}

.jvue-cursor-ring {
    width: 76px;
    height: 76px;
    border: 0;
    border-radius: 50%;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .46) 48%, rgba(105, 199, 240, .26) 52%, transparent 100%) 50% 50% / 74px 1px no-repeat,
        linear-gradient(0deg, transparent 0, rgba(247, 249, 255, .34) 48%, rgba(105, 199, 240, .2) 52%, transparent 100%) 50% 50% / 1px 54px no-repeat,
        conic-gradient(from 0deg, transparent 0 13%, rgba(105, 199, 240, .56) 19%, rgba(247, 249, 255, .5) 24%, transparent 34%, transparent 61%, rgba(201, 154, 85, .44) 70%, transparent 79%, transparent 100%);
    box-shadow:
        0 0 20px rgba(105, 199, 240, .14),
        0 0 38px rgba(201, 154, 85, .06);
    mix-blend-mode: screen;
}

.jvue-cursor-ring::before {
    content: "";
    position: absolute;
    inset: 10px;
    border-radius: 50%;
    border: 1px solid rgba(232, 237, 247, .18);
    background:
        repeating-linear-gradient(90deg, transparent 0, transparent 9px, rgba(247, 249, 255, .08) 10px, transparent 11px),
        rgba(4, 8, 13, .02);
    box-shadow: inset 0 0 14px rgba(105, 199, 240, .06);
}

.jvue-cursor-ring::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 28px;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(247, 249, 255, .72), transparent);
    transform: translate(-50%, -50%) rotate(45deg);
    box-shadow:
        0 0 12px rgba(247, 249, 255, .36),
        0 0 22px rgba(105, 199, 240, .18);
}

.jvue-cursor-label {
    padding: 6px 10px 6px 8px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid rgba(232, 237, 247, .16);
    border-radius: 8px;
    color: rgba(245, 248, 255, .76);
    background: rgba(4, 8, 13, .58);
    backdrop-filter: blur(14px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
}

.jvue-cursor-label::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: rgba(105, 199, 240, .92);
    box-shadow: 0 0 14px rgba(105, 199, 240, .54);
}

.jvue-home.is-cursor-visible .jvue-cursor-ring {
    opacity: .95;
}

.jvue-home.is-cursor-visible .jvue-cursor-label {
    opacity: .74;
}

.jvue-home.is-cursor-hot .jvue-cursor-ring {
    box-shadow:
        0 0 34px rgba(105, 199, 240, .3),
        0 0 56px rgba(201, 154, 85, .14);
}

.jvue-home.is-cursor-hot .jvue-cursor-label {
    opacity: 1;
    color: rgba(255, 255, 255, .92);
    border-color: rgba(105, 199, 240, .28);
    background: rgba(6, 13, 20, .7);
}

.jvue-immersive-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
    gap: 68px;
    align-items: center;
    transform: translate3d(var(--fx-content-x), var(--fx-content-y), 0);
    transition: transform .22s linear;
    will-change: transform;
}

.jvue-hero-copy {
    max-width: 760px;
}

.jvue-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
    color: rgba(201, 154, 85, .92);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.jvue-kicker::before {
    content: "";
    width: 34px;
    height: 1px;
    background: linear-gradient(90deg, rgba(201, 154, 85, .9), rgba(105, 199, 240, .42));
}

.jvue-hero-copy h1 {
    margin: 0;
    display: grid;
    gap: 8px;
    font-size: clamp(52px, 7vw, 104px);
    line-height: .94;
    font-weight: 950;
    letter-spacing: 0;
}

.jvue-title-brand {
    color: #f7f9ff;
    text-shadow: 0 0 34px rgba(105, 199, 240, .18);
}

.jvue-title-main {
    max-width: 880px;
    color: rgba(230, 237, 247, .92);
    font-size: clamp(26px, 3.1vw, 46px);
    line-height: 1.16;
}

.jvue-hero-copy p {
    width: min(660px, 100%);
    margin: 24px 0 0;
    color: rgba(224, 232, 244, .72);
    font-size: 18px;
    line-height: 1.9;
}

.jvue-hero-actions {
    margin-top: 34px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

.jvue-metrics {
    margin-top: 54px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 150px));
    gap: 12px;
}

.jvue-metrics span {
    min-height: 86px;
    padding: 14px 16px;
    border: 1px solid var(--jv-line);
    border-radius: 8px;
    background: rgba(5, 8, 13, .52);
    backdrop-filter: blur(14px);
    position: relative;
    overflow: hidden;
}

.jvue-metrics i,
.jvue-feature-card i,
.jvue-filter-pills i,
.jvue-product-body em i,
.jvue-news-grid header i,
.jvue-footer h4 i {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(232, 237, 247, .16);
    border-radius: 8px;
    color: rgba(247, 249, 255, .9);
    background:
        radial-gradient(circle at 45% 20%, rgba(255, 255, 255, .18), transparent 44%),
        rgba(255, 255, 255, .055);
    box-shadow: inset 0 0 18px rgba(105, 199, 240, .08);
    font-style: normal;
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
}

.jvue-metrics i {
    position: absolute;
    right: 12px;
    top: 12px;
    color: rgba(105, 199, 240, .9);
    border-color: rgba(105, 199, 240, .2);
}

.jvue-metrics b {
    display: block;
    color: #fff;
    font-size: 26px;
    line-height: 1.1;
}

.jvue-metrics em {
    display: block;
    margin-top: 8px;
    color: rgba(229, 236, 247, .58);
    font-style: normal;
    font-size: 13px;
}

.jvue-work-panel {
    position: relative;
    --work-accent: var(--jv-cyan);
    min-height: 500px;
    padding: 28px;
    display: grid;
    grid-template-rows: auto minmax(132px, .8fr) auto auto auto;
    align-content: start;
    gap: 16px;
    border: 1px solid rgba(232, 237, 247, .16);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .035)),
        rgba(5, 9, 15, .82);
    box-shadow: var(--jv-shadow);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    overflow: hidden;
}

.jvue-work-panel::before {
    content: "";
    position: absolute;
    inset: -1px;
    pointer-events: none;
    border-radius: inherit;
    background:
        radial-gradient(circle at 24% 0, rgba(105, 199, 240, .18), transparent 34%),
        radial-gradient(circle at 84% 28%, rgba(201, 154, 85, .14), transparent 30%);
    background:
        radial-gradient(circle at 24% 0, color-mix(in srgb, var(--work-accent) 26%, transparent), transparent 34%),
        radial-gradient(circle at 84% 28%, rgba(201, 154, 85, .14), transparent 30%);
}

.jvue-work-panel::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .42;
    background:
        linear-gradient(90deg, transparent 0, rgba(255, 255, 255, .1) 48%, transparent 52%) 0 0 / 220% 100%,
        repeating-linear-gradient(180deg, rgba(255, 255, 255, .04) 0, rgba(255, 255, 255, .04) 1px, transparent 1px, transparent 8px);
    transform: translateX(-42%);
    animation: jvuePanelScan 5.8s var(--jv-ease) infinite;
}

.jvue-work-panel > * {
    position: relative;
    z-index: 2;
    opacity: 1;
    filter: none;
}

.jvue-work-panel-head,
.jvue-work-panel h2,
.jvue-work-panel p,
.jvue-work-switch {
    z-index: 4;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
}

.jvue-home.is-work-transitioning .jvue-work-panel {
    animation: jvueWorkPanelPulse .72s var(--jv-ease) both;
}

.jvue-work-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: rgba(229, 236, 247, .58);
    font-size: 13px;
    font-weight: 800;
}

.jvue-work-panel-head span {
    color: var(--work-accent);
    text-shadow: 0 0 18px color-mix(in srgb, var(--work-accent) 46%, transparent);
}

.jvue-work-panel h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 2.45vw, 38px);
    line-height: 1.2;
}

.jvue-work-panel p {
    margin: 0;
    color: rgba(224, 232, 244, .68);
    font-size: 16px;
    line-height: 1.7;
}

.jvue-project-preview {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    z-index: 0;
    min-height: 132px;
    border: 1px solid rgba(105, 199, 240, .22);
    border: 1px solid color-mix(in srgb, var(--work-accent) 26%, transparent);
    border-radius: 8px;
    background:
        radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--work-accent) 18%, transparent), transparent 25%),
        linear-gradient(115deg, color-mix(in srgb, var(--work-accent) 18%, transparent), transparent 48%),
        repeating-linear-gradient(90deg, color-mix(in srgb, var(--work-accent) 8%, transparent) 0, color-mix(in srgb, var(--work-accent) 8%, transparent) 1px, transparent 1px, transparent 36px),
        rgba(255, 255, 255, .03);
    overflow: hidden;
    contain: paint;
    transform: translateZ(0);
}

.jvue-project-preview::before,
.jvue-project-preview::after {
    content: "";
    position: absolute;
    pointer-events: none;
}

.jvue-project-preview::before {
    left: 50%;
    top: 50%;
    width: min(58%, 220px);
    aspect-ratio: 1;
    border: 1px solid color-mix(in srgb, var(--work-accent) 38%, transparent);
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(247, 249, 255, .24), color-mix(in srgb, var(--work-accent) 16%, transparent) 28%, transparent 60%),
        repeating-conic-gradient(from 0deg, transparent 0 10deg, color-mix(in srgb, var(--work-accent) 20%, transparent) 11deg 12deg, transparent 13deg 24deg);
    box-shadow:
        0 0 42px color-mix(in srgb, var(--work-accent) 20%, transparent),
        inset 0 0 26px rgba(255, 255, 255, .06);
    transform: translate3d(-50%, -50%, 0) rotateX(62deg);
    animation: jvuePreviewCore 9s ease-in-out infinite;
}

.jvue-project-preview::after {
    inset: 14px;
    border-radius: 7px;
    background:
        linear-gradient(90deg, transparent 0 12%, color-mix(in srgb, var(--work-accent) 30%, transparent) 26%, transparent 42% 58%, rgba(201, 154, 85, .16) 72%, transparent 88%),
        radial-gradient(circle at 22% 32%, rgba(247, 249, 255, .22) 0 3px, transparent 4px),
        radial-gradient(circle at 78% 66%, color-mix(in srgb, var(--work-accent) 42%, transparent) 0 4px, transparent 5px),
        linear-gradient(120deg, transparent 0 39%, rgba(247, 249, 255, .14) 45%, transparent 53%);
    background-size: 240% 100%, 100% 100%, 100% 100%, 180% 100%;
    opacity: .52;
    mix-blend-mode: normal;
    animation: jvuePreviewNetwork 5.6s ease-in-out infinite;
}

.jvue-project-preview span {
    position: absolute;
    right: 14px;
    bottom: -4px;
    color: rgba(105, 199, 240, .12);
    -webkit-text-stroke: 1px color-mix(in srgb, var(--work-accent) 34%, transparent);
    font-size: clamp(38px, 5vw, 64px);
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
    z-index: 2;
}

.jvue-work-symbol-enter-active,
.jvue-work-symbol-leave-active,
.jvue-work-title-enter-active,
.jvue-work-title-leave-active {
    transition: opacity .32s var(--jv-ease), transform .38s var(--jv-ease);
}

.jvue-work-symbol-enter-from {
    opacity: 0;
    transform: translate3d(var(--work-enter-x), 16px, 0) skewX(-8deg);
}

.jvue-work-symbol-leave-to {
    opacity: 0;
    transform: translate3d(var(--work-leave-x), -10px, 0) skewX(8deg);
}

.jvue-work-title-enter-from {
    opacity: 0;
    transform: translate3d(var(--work-title-enter-x), 10px, 0);
}

.jvue-work-title-leave-to {
    opacity: 0;
    transform: translate3d(var(--work-title-leave-x), -8px, 0);
}

.jvue-project-preview i {
    position: absolute;
    height: 1px;
    left: 18px;
    right: 18px;
    background: linear-gradient(90deg, transparent, rgba(105, 199, 240, .68), transparent);
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--work-accent) 68%, white 12%), transparent);
    opacity: .64;
    z-index: 3;
    animation: jvueTraceMove 3.8s linear infinite;
}

.jvue-project-preview i:nth-child(2) {
    top: 28px;
}

.jvue-project-preview i:nth-child(3) {
    top: 56px;
    animation-delay: .52s;
}

.jvue-project-preview i:nth-child(4) {
    top: 84px;
    animation-delay: 1.04s;
}

.jvue-work-switch {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    display: grid;
    gap: 8px;
}

.jvue-work-switch button,
.jvue-scene-list button {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid rgba(232, 237, 247, .12);
    border-radius: 8px;
    color: rgba(232, 238, 247, .64);
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
    font: inherit;
    font-weight: 800;
    text-align: left;
    position: relative;
    overflow: hidden;
    transition: color .2s var(--jv-ease), border-color .2s var(--jv-ease), background .2s var(--jv-ease), transform .2s var(--jv-ease);
}

.jvue-work-switch button {
    min-height: 46px;
    display: grid;
    grid-template-columns: 30px 30px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
}

.jvue-work-switch button::after,
.jvue-scene-list button::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .18), transparent);
    opacity: 0;
    transform: translateX(-115%);
    transition: opacity .2s var(--jv-ease), transform .5s var(--jv-ease);
}

.jvue-work-switch button:hover,
.jvue-work-switch button.active,
.jvue-scene-list button:hover,
.jvue-scene-list button.active {
    color: #fff;
    border-color: rgba(105, 199, 240, .38);
    border-color: color-mix(in srgb, var(--work-accent, #69c7f0) 46%, transparent);
    background: rgba(105, 199, 240, .08);
    background: color-mix(in srgb, var(--work-accent, #69c7f0) 12%, transparent);
    transform: translateX(4px);
}

.jvue-work-switch button:hover::after,
.jvue-work-switch button.active::after,
.jvue-scene-list button:hover::after,
.jvue-scene-list button.active::after {
    opacity: 1;
    transform: translateX(115%);
}

.jvue-work-switch button span,
.jvue-scene-list button span {
    color: var(--work-accent, rgba(201, 154, 85, .86));
    font-size: 12px;
}

.jvue-work-switch button span,
.jvue-scene-list button span,
.jvue-scene-orbit span i {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--work-accent, #69c7f0) 34%, transparent);
    border-radius: 8px;
    color: #fff;
    background: color-mix(in srgb, var(--work-accent, #69c7f0) 12%, transparent);
    font-size: 13px;
    font-weight: 900;
    font-style: normal;
}

.jvue-work-switch button > b {
    color: rgba(201, 154, 85, .82);
    font-size: 12px;
    font-weight: 900;
}

.jvue-work-switch button {
    white-space: nowrap;
}

.jvue-work-switch button:not(.active) {
    color: rgba(232, 238, 247, .68);
}

.jvue-section {
    position: relative;
    z-index: 2;
    padding: 112px 0;
    overflow: clip;
    --section-local: 0;
    --section-energy: 0;
    --section-shift-y: 0px;
    --section-plane-x: 0px;
    --section-plane-y: 0px;
    --section-tilt: 0deg;
    --section-scale: 1;
}

.jvue-section::before,
.jvue-cta::before {
    content: "";
    position: absolute;
    inset: 4% -12%;
    z-index: 0;
    pointer-events: none;
    opacity: .18;
    background:
        linear-gradient(112deg, transparent 0, rgba(105, 199, 240, .09) 42%, rgba(247, 249, 255, .055) 48%, transparent 56%),
        repeating-linear-gradient(90deg, transparent 0, transparent 96px, rgba(255, 255, 255, .035) 97px, transparent 98px);
    background-position: var(--section-plane-x) 0, var(--section-plane-x) var(--section-plane-y);
    transform: translate3d(-18%, var(--section-shift-y), 0) rotate(-4deg) rotate(var(--section-tilt));
    transition: opacity .6s var(--jv-ease), transform .22s linear, background-position .22s linear;
    mix-blend-mode: screen;
}

.jvue-section::after,
.jvue-cta::after {
    content: "";
    position: absolute;
    inset: 8% -8%;
    z-index: 0;
    pointer-events: none;
    opacity: .12;
    background:
        linear-gradient(90deg, transparent 0, rgba(247, 249, 255, .18) 48%, transparent 58%),
        repeating-linear-gradient(0deg, transparent 0, transparent 42px, rgba(105, 199, 240, .05) 43px, transparent 44px);
    background-position: var(--section-plane-x) 0, 0 var(--section-plane-y);
    transform: translate3d(var(--section-plane-x), var(--section-shift-y), 0) rotate(var(--section-tilt));
    transition: opacity .6s var(--jv-ease), transform .22s linear, background-position .22s linear;
    mix-blend-mode: screen;
    mask-image: radial-gradient(ellipse at 50% 50%, #000 0, rgba(0, 0, 0, .72) 48%, transparent 76%);
}

.jvue-section.is-section-hot::before,
.jvue-cta.is-section-hot::before {
    opacity: .34;
    transform: translate3d(6%, var(--section-shift-y), 0) rotate(-4deg) rotate(var(--section-tilt));
}

.jvue-section.is-section-hot::after,
.jvue-cta.is-section-hot::after {
    opacity: .3;
}

.jvue-section > .jvue-container,
.jvue-cta > .jvue-container {
    position: relative;
    z-index: 1;
    transform: translate3d(var(--fx-content-x), calc(var(--section-shift-y) + var(--fx-content-y)), 0) scale(var(--section-scale));
    transition: transform .22s linear;
    will-change: transform;
}

.jvue-section > .jvue-container {
    perspective: 1200px;
    transform-style: preserve-3d;
}

.jvue-section-head {
    max-width: 760px;
    margin-bottom: 38px;
}

.jvue-section-head h2 {
    margin: 0;
    color: #f7f9ff;
    font-size: clamp(32px, 4vw, 58px);
    line-height: 1.05;
    letter-spacing: 0;
}

.jvue-section-head p {
    margin: 18px 0 0;
    color: rgba(224, 232, 244, .66);
    font-size: 16px;
    line-height: 1.8;
}

.jvue-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.jvue-feature-card,
.jvue-product-card,
.jvue-news-grid article,
.jvue-market-card,
.jvue-scene-list button,
.jvue-scene-orbit {
    --spot-x: 50%;
    --spot-y: 28%;
    --tilt-x: 0deg;
    --tilt-y: 0deg;
    --node-energy: 0;
    --node-depth: 1;
    --node-flow-x: 0px;
    --node-flow-y: 0px;
    --node-line-opacity: .08;
    --node-halo-opacity: .1;
    --node-edge-opacity: .12;
    --node-plane-opacity: .06;
    --node-depth-z: 0px;
    --node-depth-tilt-x: 0deg;
    --node-depth-tilt-y: 0deg;
    --node-depth-lift: 0px;
    --node-shadow-strength: .2;
    --node-shadow-y: 18px;
    --node-shadow-blur: 46px;
    --node-inset-alpha: .06;
    --node-ring-alpha: .02;
    --node-glow-x: 0px;
    --node-glow-y: 0px;
    border: 1px solid rgba(232, 237, 247, .13);
    border-radius: 8px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .018)),
        radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(105, 199, 240, .055), transparent 34%),
        rgba(7, 10, 16, .62);
    box-shadow:
        0 18px 52px rgba(0, 0, 0, .2),
        inset 0 1px 0 rgba(255, 255, 255, .06);
    backdrop-filter: blur(16px);
    transform-style: preserve-3d;
    will-change: transform, opacity;
}

.jvue-feature-card::before,
.jvue-market-card::before,
.jvue-product-card::before,
.jvue-scene-list button::before,
.jvue-scene-orbit::after,
.jvue-news-grid article::before {
    transform: translateZ(1px);
}

.jvue-product-card,
.jvue-news-grid article,
.jvue-scene-list button,
.jvue-scene-orbit {
    position: relative;
    transform-origin: 50% 50%;
}

.jvue-home.is-ready .jvue-section-head,
.jvue-home.is-ready .jvue-metrics span,
.jvue-home.is-ready .jvue-work-panel,
.jvue-home.is-ready .jvue-feature-card,
.jvue-home.is-ready .jvue-market-card,
.jvue-home.is-ready .jvue-product-card,
.jvue-home.is-ready .jvue-scene-list button,
.jvue-home.is-ready .jvue-scene-orbit,
.jvue-home.is-ready .jvue-news-grid article,
.jvue-home.is-ready .jvue-cta .jvue-container {
    opacity: .78;
    transform: translate3d(var(--node-shift-x, 0px), calc(14px + var(--section-shift-y, 0px) + var(--node-shift-y, 0px)), 0) scale(.992);
    transition:
        opacity .72s var(--jv-ease) var(--reveal-delay, 0ms),
        transform .8s var(--jv-ease) var(--reveal-delay, 0ms),
        border-color .22s var(--jv-ease),
        background .22s var(--jv-ease),
        box-shadow .22s var(--jv-ease);
}

.jvue-home.is-ready .jvue-section-head.is-inview,
.jvue-home.is-ready .jvue-metrics span.is-inview,
.jvue-home.is-ready .jvue-work-panel.is-inview,
.jvue-home.is-ready .jvue-feature-card.is-inview,
.jvue-home.is-ready .jvue-market-card.is-inview,
.jvue-home.is-ready .jvue-product-card.is-inview,
.jvue-home.is-ready .jvue-scene-list button.is-inview,
.jvue-home.is-ready .jvue-scene-orbit.is-inview,
.jvue-home.is-ready .jvue-news-grid article.is-inview,
.jvue-home.is-ready .jvue-cta .jvue-container.is-inview {
    opacity: 1;
    transform: translate3d(var(--node-shift-x, 0px), calc(var(--section-shift-y, 0px) + var(--node-shift-y, 0px)), 0) scale(var(--node-depth, 1));
}

.jvue-home.is-ready .jvue-work-panel.is-inview,
.jvue-home.is-ready .jvue-feature-card.is-inview,
.jvue-home.is-ready .jvue-market-card.is-inview,
.jvue-home.is-ready .jvue-product-card.is-inview,
.jvue-home.is-ready .jvue-scene-list button.is-inview,
.jvue-home.is-ready .jvue-news-grid article.is-inview {
    transform: translate3d(var(--node-shift-x, 0px), calc(var(--section-shift-y, 0px) + var(--node-shift-y, 0px) + var(--node-depth-lift, 0px)), var(--node-depth-z, 0px)) rotateX(var(--node-depth-tilt-x, 0deg)) rotateY(var(--node-depth-tilt-y, 0deg)) scale(var(--node-depth, 1));
    box-shadow:
        0 var(--node-shadow-y, 18px) var(--node-shadow-blur, 46px) rgba(0, 0, 0, var(--node-shadow-strength, .24)),
        inset 0 1px 0 rgba(255, 255, 255, var(--node-inset-alpha, .06)),
        0 0 0 1px rgba(105, 199, 240, var(--node-ring-alpha, .02));
}

.jvue-home.is-ready .jvue-work-panel.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-feature-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-market-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-product-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-scene-list button.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-scene-orbit.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-news-grid article.is-inview.is-pointer-hot {
    transition-delay: 0ms;
}

.jvue-feature-card.is-pointer-hot,
.jvue-market-card.is-pointer-hot,
.jvue-product-card.is-pointer-hot,
.jvue-news-grid article.is-pointer-hot,
.jvue-scene-orbit.is-pointer-hot {
    transform: translate3d(var(--node-glow-x), calc(-6px + var(--node-glow-y)), var(--node-depth-z, 0px)) rotateX(calc(var(--tilt-y) + var(--node-depth-tilt-x, 0deg))) rotateY(calc(var(--tilt-x) + var(--node-depth-tilt-y, 0deg)));
    border-color: rgba(105, 199, 240, .32);
    box-shadow:
        0 26px 64px rgba(0, 0, 0, .28),
        0 0 0 1px rgba(105, 199, 240, .06);
}

.jvue-home.is-ready .jvue-feature-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-market-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-product-card.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-news-grid article.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-scene-orbit.is-inview.is-pointer-hot {
    transform: translate3d(var(--node-glow-x), calc(-6px + var(--node-glow-y)), var(--node-depth-z, 0px)) rotateX(calc(var(--tilt-y) + var(--node-depth-tilt-x, 0deg))) rotateY(calc(var(--tilt-x) + var(--node-depth-tilt-y, 0deg)));
}

.jvue-feature-card {
    min-height: 230px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}

.jvue-feature-card::before,
.jvue-market-card::before,
.jvue-news-grid article::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: var(--node-halo-opacity, 0);
    background:
        radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(105, 199, 240, .18), transparent 34%),
        linear-gradient(118deg, transparent 0, rgba(255, 255, 255, .06) 48%, transparent 58%);
    transition: opacity .22s var(--jv-ease);
}

.jvue-feature-card.is-pointer-hot::before,
.jvue-market-card.is-pointer-hot::before,
.jvue-news-grid article.is-pointer-hot::before {
    opacity: 1;
}

.jvue-feature-card > *,
.jvue-market-card > *,
.jvue-news-grid article > * {
    position: relative;
    z-index: 1;
}

.jvue-feature-card::after {
    content: "";
    position: absolute;
    inset: auto 20px 20px auto;
    width: 72px;
    height: 72px;
    border: 1px solid rgba(105, 199, 240, .12);
    opacity: .7;
    transform: rotate(0deg);
    transition: transform .8s var(--jv-ease), opacity .28s var(--jv-ease);
}

.jvue-feature-card.is-pointer-hot::after {
    opacity: 1;
    transform: rotate(16deg) scale(1.08);
}

.jvue-feature-card i {
    margin-bottom: 18px;
    color: rgba(105, 199, 240, .92);
}

.jvue-feature-card span {
    color: rgba(105, 199, 240, .72);
    font-size: 12px;
    font-weight: 900;
}

.jvue-feature-card b {
    margin-top: auto;
    color: #fff;
    font-size: 22px;
}

.jvue-feature-card p {
    margin: 12px 0 0;
    color: rgba(224, 232, 244, .62);
    line-height: 1.7;
}

.jvue-market-card {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border-color: rgba(232, 237, 247, .16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .062), rgba(255, 255, 255, .016)),
        radial-gradient(ellipse at 20% 18%, rgba(105, 199, 240, .12), transparent 36%),
        radial-gradient(ellipse at 82% 72%, rgba(201, 154, 85, .08), transparent 42%),
        rgba(7, 10, 16, .58);
    box-shadow:
        0 24px 70px rgba(0, 0, 0, .26),
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 0 0 1px rgba(105, 199, 240, .035);
}

.jvue-market-card::after,
.jvue-product-card::after,
.jvue-news-grid article::after {
    content: "";
    position: absolute;
    left: -28%;
    right: -28%;
    bottom: 18px;
    z-index: 0;
    height: 1px;
    pointer-events: none;
    opacity: var(--node-line-opacity, .08);
    background:
        linear-gradient(90deg, transparent 0, rgba(105, 199, 240, .18) 28%, rgba(247, 249, 255, .62) 48%, rgba(201, 154, 85, .16) 58%, transparent 84%),
        repeating-linear-gradient(90deg, transparent 0, transparent 28px, rgba(247, 249, 255, .16) 29px, transparent 31px);
    box-shadow: 0 0 18px rgba(105, 199, 240, .12);
    transform: translate3d(var(--node-flow-x, 0px), var(--node-flow-y, 0px), 0);
    animation: jvueComponentTrace 7.4s linear infinite;
    will-change: transform, opacity, background-position;
}

.jvue-market-card.is-pointer-hot::after,
.jvue-product-card.is-pointer-hot::after,
.jvue-news-grid article.is-pointer-hot::after {
    opacity: .72;
}

.jvue-market-toolbar {
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
    gap: 12px;
    margin-bottom: 18px;
}

.jvue-filter-pills {
    min-height: 40px;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    overflow-x: auto;
    border-radius: 8px;
    background: rgba(255, 255, 255, .055);
}

.jvue-filter-pills button {
    min-width: max-content;
    height: 34px;
    padding: 0 10px 0 4px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: rgba(224, 232, 244, .68);
    background: transparent;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    transition: color .2s var(--jv-ease), background .2s var(--jv-ease), border-color .2s var(--jv-ease);
}

.jvue-filter-pills button.active,
.jvue-filter-pills button:hover {
    color: #fff;
    border-color: rgba(105, 199, 240, .24);
    background: rgba(105, 199, 240, .1);
}

.jvue-filter-pills i {
    width: 26px;
    height: 26px;
    color: rgba(201, 154, 85, .92);
}

.jvue-goods-icon {
    position: relative;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(105, 199, 240, .22);
    border-radius: 8px;
    color: rgba(222, 242, 255, .92);
    background:
        radial-gradient(circle at 42% 22%, rgba(255, 255, 255, .2), transparent 42%),
        linear-gradient(145deg, rgba(105, 199, 240, .13), rgba(201, 154, 85, .06));
    box-shadow:
        inset 0 0 18px rgba(105, 199, 240, .08),
        0 0 16px rgba(105, 199, 240, .08);
    font-size: 0;
    overflow: hidden;
}

.jvue-goods-icon::before,
.jvue-goods-icon::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
    border-color: currentColor;
}

.jvue-goods-icon.is-all::before {
    width: 13px;
    height: 13px;
    background:
        linear-gradient(currentColor 0 0) 0 0 / 5px 5px no-repeat,
        linear-gradient(currentColor 0 0) 8px 0 / 5px 5px no-repeat,
        linear-gradient(currentColor 0 0) 0 8px / 5px 5px no-repeat,
        linear-gradient(currentColor 0 0) 8px 8px / 5px 5px no-repeat;
    opacity: .86;
}

.jvue-goods-icon.is-card::before {
    width: 16px;
    height: 11px;
    border: 1.6px solid currentColor;
    border-radius: 3px;
    transform: rotate(-5deg);
}

.jvue-goods-icon.is-card::after {
    width: 9px;
    height: 1.6px;
    left: 8px;
    top: 11px;
    background: currentColor;
    box-shadow: 0 4px 0 rgba(222, 242, 255, .48);
    transform: rotate(-5deg);
}

.jvue-goods-icon.is-software::before {
    width: 16px;
    height: 13px;
    border: 1.6px solid currentColor;
    border-radius: 3px;
}

.jvue-goods-icon.is-software::after {
    left: 6px;
    right: 6px;
    top: 8px;
    height: 1.5px;
    background: currentColor;
    box-shadow:
        0 4px 0 rgba(222, 242, 255, .42),
        4px -3px 0 -1px currentColor,
        8px -3px 0 -1px currentColor;
}

.jvue-goods-icon.is-resource::before {
    width: 13px;
    height: 16px;
    border: 1.6px solid currentColor;
    border-radius: 2px;
    transform: translateX(1px);
}

.jvue-goods-icon.is-resource::after {
    right: 7px;
    top: 5px;
    width: 6px;
    height: 6px;
    border-top: 1.6px solid currentColor;
    border-right: 1.6px solid currentColor;
    background: rgba(105, 199, 240, .12);
    transform: rotate(0deg);
}

.jvue-goods-icon.is-knowledge::before {
    width: 15px;
    height: 13px;
    border: 1.6px solid currentColor;
    border-radius: 2px 4px 4px 2px;
    transform: skewY(-4deg);
}

.jvue-goods-icon.is-knowledge::after {
    left: 12px;
    top: 6px;
    width: 1.5px;
    height: 13px;
    background: currentColor;
    box-shadow: -4px 3px 0 -1px rgba(222, 242, 255, .46);
}

.jvue-goods-icon.is-rights::before {
    width: 15px;
    height: 15px;
    border: 1.6px solid currentColor;
    transform: rotate(45deg);
    border-radius: 4px;
}

.jvue-goods-icon.is-rights::after {
    width: 5px;
    height: 8px;
    border-right: 1.8px solid currentColor;
    border-bottom: 1.8px solid currentColor;
    transform: rotate(40deg);
    top: 8px;
    left: 10px;
}

.jvue-goods-icon.is-private::before {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    box-shadow:
        -6px 8px 0 rgba(222, 242, 255, .58),
        6px 8px 0 rgba(222, 242, 255, .58);
}

.jvue-goods-icon.is-private::after {
    left: 7px;
    top: 13px;
    width: 12px;
    height: 8px;
    border-left: 1.4px solid currentColor;
    border-right: 1.4px solid currentColor;
    border-top: 1.4px solid currentColor;
    border-radius: 8px 8px 0 0;
}

.jvue-goods-icon.is-digital::before {
    width: 15px;
    height: 15px;
    border: 1.5px solid currentColor;
    border-radius: 50%;
}

.jvue-goods-icon.is-digital::after {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: currentColor;
    box-shadow:
        6px 0 0 rgba(222, 242, 255, .58),
        -6px 0 0 rgba(222, 242, 255, .58),
        0 6px 0 rgba(222, 242, 255, .58),
        0 -6px 0 rgba(222, 242, 255, .58);
}

.jvue-market-toolbar .el-input__wrapper {
    border-radius: 8px;
    background: rgba(255, 255, 255, .06);
    box-shadow: inset 0 0 0 1px rgba(232, 237, 247, .12);
}

.jvue-market-toolbar .el-input__inner {
    color: #fff;
}

.jvue-market-toolbar .el-input__inner::placeholder {
    color: rgba(224, 232, 244, .48);
}

.jvue-market-toolbar .el-segmented {
    min-height: 40px;
    padding: 4px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .055);
}

.jvue-market-toolbar .el-segmented__item {
    color: rgba(224, 232, 244, .68);
}

.jvue-market-toolbar .el-segmented__item.is-selected {
    color: #07090d;
}

.jvue-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.jvue-product-card {
    position: relative;
    min-height: 218px;
    padding: 18px;
    display: block;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(160deg, rgba(247, 249, 255, .065), rgba(105, 199, 240, .026) 48%, rgba(201, 154, 85, .035)),
        rgba(8, 12, 18, .6);
    transition: transform .22s var(--jv-ease), border-color .22s var(--jv-ease), background .22s var(--jv-ease);
}

.jvue-product-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .72;
    background:
        radial-gradient(circle at 18% 18%, rgba(105, 199, 240, .12), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, .045), transparent 46%);
    pointer-events: none;
}

.jvue-product-card:hover {
    transform: translateY(-4px);
    border-color: rgba(105, 199, 240, .34);
    background:
        linear-gradient(160deg, rgba(247, 249, 255, .09), rgba(105, 199, 240, .05) 48%, rgba(201, 154, 85, .052)),
        rgba(10, 16, 24, .76);
}

.jvue-product-card.is-pointer-hot {
    transform: translate3d(var(--node-glow-x), calc(-6px + var(--node-glow-y)), 0) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));
}

.jvue-home.is-ready .jvue-product-card.is-inview.is-pointer-hot {
    transform: translate3d(0, -6px, 0) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));
}

.jvue-product-card.is-pointer-hot::before {
    opacity: 1;
    background:
        radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(105, 199, 240, .2), transparent 38%),
        linear-gradient(132deg, rgba(255, 255, 255, .075), transparent 52%);
}

.jvue-product-body {
    min-width: 0;
    min-height: 182px;
    display: flex;
    flex-direction: column;
}

.jvue-product-body em {
    color: rgba(201, 154, 85, .9);
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.jvue-product-body em .jvue-goods-icon,
.jvue-product-thumb {
    width: 24px;
    height: 24px;
    flex-basis: 24px;
    flex-shrink: 0;
    border-radius: 7px;
}

.jvue-product-body em .jvue-goods-icon {
    color: rgba(105, 199, 240, .92);
    font-size: 12px;
}

.jvue-product-thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(105, 199, 240, .2);
    background: rgba(255, 255, 255, .06);
    box-shadow: inset 0 0 18px rgba(105, 199, 240, .08);
}

.jvue-product-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jvue-product-body h3 {
    margin: 12px 0 0;
    color: #fff;
    font-size: 18px;
    line-height: 1.45;
}

.jvue-product-body p {
    margin: 10px 0 0;
    color: rgba(224, 232, 244, .58);
    font-size: 13px;
    line-height: 1.7;
}

.jvue-product-body div {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.jvue-product-body strong {
    color: #fff;
    font-size: 18px;
}

.jvue-product-body small {
    color: rgba(105, 199, 240, .78);
    font-size: 13px;
    font-weight: 900;
}

.jvue-scene-grid {
    display: grid;
    grid-template-columns: minmax(0, .74fr) minmax(320px, .72fr);
    gap: 48px;
    align-items: start;
}

.jvue-scene-grid .jvue-section-head {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.jvue-scene-list {
    display: grid;
    gap: 10px;
}

.jvue-scene-list button {
    min-height: 96px;
    display: grid;
    grid-template-columns: 44px 1fr;
    grid-template-rows: auto auto;
    align-items: center;
}

.jvue-scene-list button span {
    grid-row: 1 / 3;
}

.jvue-scene-list button b {
    color: inherit;
    font-size: 18px;
}

.jvue-scene-list button em {
    color: rgba(224, 232, 244, .55);
    font-size: 13px;
    font-style: normal;
    line-height: 1.6;
}

.jvue-work-panel.is-pointer-hot,
.jvue-scene-list button.is-pointer-hot {
    transform: translate3d(4px, -4px, 0) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));
    border-color: rgba(105, 199, 240, .32);
    box-shadow:
        0 22px 58px rgba(0, 0, 0, .24),
        0 0 0 1px rgba(105, 199, 240, .06);
}

.jvue-home.is-ready .jvue-work-panel.is-inview.is-pointer-hot,
.jvue-home.is-ready .jvue-scene-list button.is-inview.is-pointer-hot {
    transform: translate3d(4px, -4px, 0) rotateX(var(--tilt-y)) rotateY(var(--tilt-x));
}

.jvue-scene-orbit {
    position: sticky;
    top: 120px;
    min-height: 360px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    overflow: hidden;
}

.jvue-scene-orbit::before {
    content: "";
    position: absolute;
    inset: 28px;
    border: 1px solid rgba(105, 199, 240, .18);
    border-radius: 50%;
    transform: rotateX(68deg);
    box-shadow:
        0 0 40px rgba(105, 199, 240, .12),
        inset 0 0 40px rgba(201, 154, 85, .08);
}

.jvue-scene-orbit::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    opacity: 0;
    background:
        radial-gradient(circle at var(--spot-x) var(--spot-y), rgba(105, 199, 240, .18), transparent 36%),
        linear-gradient(116deg, transparent, rgba(201, 154, 85, .06), transparent);
    transition: opacity .22s var(--jv-ease);
}

.jvue-scene-orbit.is-pointer-hot::after {
    opacity: 1;
}

.jvue-scene-orbit span,
.jvue-scene-orbit h3,
.jvue-scene-orbit p {
    position: relative;
    z-index: 1;
}

.jvue-scene-orbit span {
    color: rgba(201, 154, 85, .9);
    font-size: 12px;
    font-weight: 900;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.jvue-scene-orbit span i {
    width: 28px;
    height: 28px;
    color: rgba(201, 154, 85, .95);
}

.jvue-scene-orbit h3 {
    margin: 14px 0 0;
    color: #fff;
    font-size: 34px;
    line-height: 1.2;
}

.jvue-scene-orbit p {
    margin: 14px 0 0;
    color: rgba(224, 232, 244, .62);
    line-height: 1.8;
}

.jvue-news-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.jvue-news-grid article {
    min-height: 300px;
    padding: 22px;
}

.jvue-news-grid header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.jvue-news-grid header b {
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.jvue-news-grid header i {
    width: 26px;
    height: 26px;
    color: rgba(105, 199, 240, .88);
}

.jvue-news-grid header a {
    color: rgba(105, 199, 240, .76);
    font-size: 13px;
    font-weight: 800;
}

.jvue-news-grid article > a {
    min-height: 48px;
    padding: 13px 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    border-top: 1px solid rgba(232, 237, 247, .1);
    color: rgba(224, 232, 244, .7);
    font-size: 14px;
}

.jvue-news-grid article > a span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jvue-news-grid article > a em {
    color: rgba(224, 232, 244, .42);
    font-style: normal;
}

.jvue-cta {
    position: relative;
    z-index: 2;
    padding: 96px 0;
    text-align: center;
    background:
        radial-gradient(circle at 50% 0, rgba(105, 199, 240, .14), transparent 34%),
        linear-gradient(180deg, transparent, rgba(255, 255, 255, .035));
}

.jvue-cta h2 {
    margin: 0 0 28px;
    color: #fff;
    font-size: clamp(30px, 4vw, 56px);
    line-height: 1.08;
}

.jvue-footer {
    position: relative;
    z-index: 2;
    padding: 70px 0 38px;
    color: rgba(224, 232, 244, .58);
    border-top: 1px solid rgba(232, 237, 247, .1);
    background: rgba(1, 2, 5, .62);
}

.jvue-footer-main {
    display: grid;
    grid-template-columns: minmax(260px, 1.5fr) repeat(3, minmax(160px, 1fr));
    gap: 30px;
}

.jvue-footer b,
.jvue-footer h4 {
    color: #fff;
}

.jvue-footer h4 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.jvue-footer h4 i {
    width: 24px;
    height: 24px;
    color: rgba(201, 154, 85, .9);
    font-size: 12px;
}

.jvue-footer p,
.jvue-footer a {
    color: rgba(224, 232, 244, .56);
    line-height: 1.8;
    word-break: break-word;
}

.jvue-footer-main > div {
    display: grid;
    align-content: start;
    gap: 8px;
}

.jvue-footer-bottom {
    margin-top: 38px;
    padding-top: 18px;
    border-top: 1px solid rgba(232, 237, 247, .1);
    color: rgba(224, 232, 244, .42);
    font-size: 13px;
}

.jvue-floating-tools {
    position: fixed;
    right: 18px;
    bottom: 116px;
    z-index: 50;
    display: grid;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgba(232, 237, 247, .12);
    border-radius: 12px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .07), rgba(255, 255, 255, .025)),
        rgba(4, 7, 12, .62);
    box-shadow:
        0 20px 48px rgba(0, 0, 0, .28),
        inset 0 1px 0 rgba(255, 255, 255, .06);
    backdrop-filter: blur(18px);
}

.jvue-floating-tools a,
.jvue-floating-tools button {
    --float-accent: 105, 199, 240;
    position: relative;
    width: 56px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: rgba(232, 243, 250, .78);
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
    font: inherit;
    transition: transform .2s var(--jv-ease), border-color .2s var(--jv-ease), background .2s var(--jv-ease), color .2s var(--jv-ease), box-shadow .2s var(--jv-ease);
}

.jvue-floating-tools a:nth-child(1) {
    --float-accent: 201, 154, 85;
}

.jvue-floating-tools a:nth-child(3) {
    --float-accent: 86, 196, 155;
}

.jvue-floating-tools a:hover,
.jvue-floating-tools button:hover,
.jvue-floating-tools a:focus-visible,
.jvue-floating-tools button:focus-visible {
    transform: translateX(-5px);
    color: #fff;
    border-color: rgba(var(--float-accent), .34);
    background:
        radial-gradient(circle at 38% 22%, rgba(255, 255, 255, .16), transparent 48%),
        rgba(var(--float-accent), .12);
    box-shadow:
        0 0 0 1px rgba(var(--float-accent), .08),
        0 10px 26px rgba(var(--float-accent), .12);
    outline: 0;
}

.jvue-float-svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 0 10px rgba(var(--float-accent), .18));
}

.jvue-floating-tools em {
    color: rgba(245, 248, 255, .72);
    font-style: normal;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
}

.jvue-floating-tools a:hover em,
.jvue-floating-tools button:hover em,
.jvue-floating-tools a:focus-visible em,
.jvue-floating-tools button:focus-visible em {
    color: #fff;
}

.jvue-floating-tools span {
    position: absolute;
    top: 50%;
    right: 68px;
    width: max-content;
    max-width: 120px;
    padding: 7px 10px;
    border: 1px solid rgba(232, 237, 247, .12);
    border-radius: 8px;
    color: rgba(245, 248, 255, .86);
    background: rgba(5, 9, 14, .82);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
    backdrop-filter: blur(14px);
    opacity: 0;
    pointer-events: none;
    transform: translate(8px, -50%);
    transition: opacity .18s var(--jv-ease), transform .18s var(--jv-ease);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 800;
}

.jvue-floating-tools a:hover span,
.jvue-floating-tools button:hover span,
.jvue-floating-tools a:focus-visible span,
.jvue-floating-tools button:focus-visible span {
    opacity: 1;
    transform: translate(0, -50%);
}

.jvue-mobile-dock {
    display: none;
}

.jvue-card-enter-active,
.jvue-card-leave-active,
.jvue-card-move {
    transition: all .24s var(--jv-ease);
}

.jvue-card-enter-from,
.jvue-card-leave-to {
    opacity: 0;
    transform: translateY(10px);
}

.jvue-fade-enter-active,
.jvue-fade-leave-active {
    transition: opacity .22s ease;
}

.jvue-fade-enter-from,
.jvue-fade-leave-to {
    opacity: 0;
}

.el-empty {
    --el-empty-fill-color-0: rgba(255, 255, 255, .08);
    --el-empty-fill-color-1: rgba(255, 255, 255, .08);
    --el-empty-fill-color-2: rgba(255, 255, 255, .08);
    --el-empty-fill-color-3: rgba(255, 255, 255, .08);
    --el-empty-fill-color-4: rgba(255, 255, 255, .08);
    --el-empty-fill-color-5: rgba(255, 255, 255, .08);
    --el-empty-description-color: rgba(224, 232, 244, .54);
}

@keyframes jvueDrop {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes jvueHeaderReveal {
    0% {
        opacity: 0;
        transform: translate3d(0, -126px, 0) scale(.985);
    }

    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0) scale(1);
    }
}

@keyframes jvueDot {
    from {
        transform: translateY(0);
        opacity: .36;
    }

    to {
        transform: translateY(-8px);
        opacity: 1;
    }
}

@keyframes jvuePanelScan {
    0% {
        transform: translateX(-72%);
        opacity: .18;
    }

    42%,
    100% {
        transform: translateX(72%);
        opacity: .42;
    }
}

@keyframes jvueTraceMove {
    0% {
        transform: translateX(-110%);
        opacity: 0;
    }

    18%,
    58% {
        opacity: .78;
    }

    100% {
        transform: translateX(110%);
        opacity: 0;
    }
}

@keyframes jvueAtmosphereDrift {
    0% {
        filter: brightness(.94) saturate(.96);
        background-position: -92% 0, 0 0, 0 0, 0 0, 0 0;
    }

    50% {
        filter: brightness(1.06) saturate(1.08);
        background-position: 4% 0, 30px -16px, -18px 14px, 16px -10px, 0 0;
    }

    100% {
        filter: brightness(.98) saturate(1.02);
        background-position: 88% 0, -26px 22px, 24px -14px, -18px 18px, 0 0;
    }
}

@keyframes jvueGridDrift {
    0% {
        filter: opacity(.86);
        transform: translate3d(0, 0, 0);
    }

    50% {
        filter: opacity(1);
        transform: translate3d(-18px, 14px, 0);
    }

    100% {
        filter: opacity(.9);
        transform: translate3d(-38px, 32px, 0);
    }
}

@keyframes jvueStageBreathe {
    0% {
        opacity: .9;
    }

    50% {
        opacity: .99;
    }

    100% {
        opacity: .94;
    }
}

@keyframes jvueAperturePulse {
    0% {
        opacity: .9;
        filter: brightness(.96) contrast(1.04);
    }

    52% {
        opacity: 1;
        filter: brightness(1.04) contrast(1.1);
    }

    100% {
        opacity: .94;
        filter: brightness(.98) contrast(1.06);
    }
}

@keyframes jvueChapterNode {
    0% {
        transform: translate3d(-50%, -50%, var(--cp-z, -120px)) scale(var(--cp-scale, 1));
        filter: brightness(.86);
    }

    50% {
        transform: translate3d(-50%, -58%, var(--cp-z, -120px)) scale(var(--cp-scale, 1));
        filter: brightness(1.18);
    }

    100% {
        transform: translate3d(-50%, -46%, var(--cp-z, -120px)) scale(var(--cp-scale, 1));
        filter: brightness(.98);
    }
}

@keyframes jvueChapterRail {
    0% {
        background-position: 0 0, var(--chapter-field-scan) 0;
        filter: brightness(.88);
    }

    100% {
        background-position: 0 0, calc(var(--chapter-field-scan) - 240px) 0;
        filter: brightness(1.12);
    }
}

@keyframes jvueChapterCard {
    0% {
        background-position: 0 0, var(--chapter-field-scan) 0;
        filter: brightness(.92);
    }

    100% {
        background-position: 0 0, calc(var(--chapter-field-scan) - 180px) 0;
        filter: brightness(1.08);
    }
}

@keyframes jvueChapterCore {
    0% {
        transform: translate3d(-50%, -50%, -420px) rotate(-10deg) scale(var(--cp-scale, 1));
        filter: brightness(.88);
    }

    100% {
        transform: translate3d(-50%, -50%, -420px) rotate(16deg) scale(var(--cp-scale, 1));
        filter: brightness(1.12);
    }
}

@keyframes jvueProjectorFloat {
    0% {
        transform:
            translate3d(calc(-50% + var(--pj-x, 0px)), calc(-50% + var(--pj-y, 0px)), var(--pj-z, -340px))
            rotateX(var(--pj-rx, 0deg))
            rotateY(var(--pj-ry, 0deg))
            rotateZ(var(--pj-r, 0deg))
            scale(var(--pj-scale, .88));
    }

    100% {
        transform:
            translate3d(calc(-50% + var(--pj-x, 0px) + 10px), calc(-50% + var(--pj-y, 0px) - 8px), var(--pj-z, -340px))
            rotateX(var(--pj-rx, 0deg))
            rotateY(var(--pj-ry, 0deg))
            rotateZ(var(--pj-r, 0deg))
            scale(var(--pj-scale, .88));
    }
}

@keyframes jvueProjectorScan {
    0% {
        background-position: var(--projector-scan) 0, var(--projector-scan) 0;
    }

    100% {
        background-position: calc(var(--projector-scan) - 280px) 0, calc(var(--projector-scan) - 140px) 0;
    }
}

@keyframes jvueProjectorNode {
    0% {
        filter: brightness(.9);
        transform: translate3d(-50%, -50%, 64px) scale(.92);
    }

    100% {
        filter: brightness(1.22);
        transform: translate3d(-50%, -50%, 64px) scale(1.18);
    }
}

@keyframes jvueScanDrift {
    0% {
        transform: translate3d(2vw, -1vh, 0) skewX(-1deg);
    }

    48% {
        transform: translate3d(-2.8vw, 1.6vh, 0) skewX(1.4deg);
    }

    100% {
        transform: translate3d(2vw, -1vh, 0) skewX(-1deg);
    }
}

@keyframes jvueLivePlaneDrift {
    0% {
        opacity: .12;
        background-position:
            calc(var(--live-bg-scan) - 240px) 0,
            calc(var(--fx-grid-x) + var(--ambient-grid-x)) 0,
            0 calc(var(--fx-grid-y) + var(--ambient-grid-y));
        transform: rotateX(63deg) rotateZ(-10deg) translate3d(-3vw, 4vh, -300px) scale(.98);
    }

    48% {
        opacity: .28;
        background-position:
            calc(var(--live-bg-scan) + 80px) 0,
            calc(var(--fx-grid-x) + var(--ambient-grid-x) + 32px) 0,
            0 calc(var(--fx-grid-y) + var(--ambient-grid-y) + 42px);
        transform: rotateX(63deg) rotateZ(-6deg) translate3d(2vw, 1vh, -250px) scale(1.04);
    }

    100% {
        opacity: .16;
        background-position:
            calc(var(--live-bg-scan) + 360px) 0,
            calc(var(--fx-grid-x) + var(--ambient-grid-x) + 72px) 0,
            0 calc(var(--fx-grid-y) + var(--ambient-grid-y) + 96px);
        transform: rotateX(63deg) rotateZ(-9deg) translate3d(4vw, -2vh, -280px) scale(1.01);
    }
}

@keyframes jvueLiveVeilDrift {
    0%,
    100% {
        filter: blur(22px);
        transform:
            translate3d(var(--live-bg-orbit-soft-x), var(--live-bg-orbit-soft-y), -140px)
            rotate(calc(var(--fx-orbit-angle) - 16deg))
            scale(.98);
    }

    50% {
        filter: blur(14px);
        transform:
            translate3d(calc(var(--live-bg-orbit-soft-x) + 4vw), calc(var(--live-bg-orbit-soft-y) - 2vh), -90px)
            rotate(calc(var(--fx-orbit-angle) + 20deg))
            scale(1.1);
    }
}

@keyframes jvueLiveVeilFloat {
    0%,
    100% {
        transform:
            translate3d(-50%, -50%, var(--live-veil-z, -240px))
            rotate(var(--live-veil-r, -8deg))
            translate3d(-2vw, 1vh, 0)
            scale(var(--live-veil-scale, 1));
    }

    50% {
        transform:
            translate3d(-50%, -50%, var(--live-veil-z, -240px))
            rotate(calc(var(--live-veil-r, -8deg) + 5deg))
            translate3d(3vw, -1vh, 0)
            scale(1.08);
    }
}

@keyframes jvueLiveRailSweep {
    0% {
        opacity: 0;
        filter: blur(.8px);
        background-position: calc(var(--live-bg-scan) - 180px) 0, 0 0;
        transform:
            translate3d(-50%, -50%, var(--live-line-z, -180px))
            rotateX(var(--live-line-rx, 61deg))
            rotateZ(var(--live-line-r, -10deg))
            translate3d(-28vw, 1.4vh, 0)
            scaleX(.22);
    }

    30% {
        opacity: var(--live-line-o, var(--live-bg-line-opacity));
        filter: blur(.15px);
        transform:
            translate3d(-50%, -50%, var(--live-line-z, -180px))
            rotateX(var(--live-line-rx, 61deg))
            rotateZ(var(--live-line-r, -10deg))
            translate3d(-7vw, 0, 0)
            scaleX(var(--live-line-scale, .72));
    }

    64% {
        opacity: var(--live-line-o, var(--live-bg-line-opacity));
        background-position: calc(var(--live-bg-scan) + 170px) 0, calc(var(--live-bg-scan-reverse) - 80px) 0;
        transform:
            translate3d(-50%, -50%, var(--live-line-z, -180px))
            rotateX(var(--live-line-rx, 61deg))
            rotateZ(var(--live-line-r, -10deg))
            translate3d(12vw, -1vh, 0)
            scaleX(1.08);
    }

    100% {
        opacity: 0;
        filter: blur(.65px);
        transform:
            translate3d(-50%, -50%, var(--live-line-z, -180px))
            rotateX(var(--live-line-rx, 61deg))
            rotateZ(var(--live-line-r, -10deg))
            translate3d(34vw, -2.2vh, 0)
            scaleX(.4);
    }
}

@keyframes jvueLivePacketFloat {
    0%,
    100% {
        filter: brightness(.92);
        transform:
            translate3d(-50%, -50%, var(--live-card-z, -300px))
            rotateX(var(--live-card-rx, 58deg))
            rotateY(var(--live-card-ry, 0deg))
            rotateZ(var(--live-card-rz, -8deg))
            translate3d(-1.8vw, 1vh, 0)
            scale(var(--live-card-scale, .86));
    }

    45% {
        filter: brightness(1.14);
        transform:
            translate3d(-50%, -50%, var(--live-card-z, -300px))
            rotateX(var(--live-card-rx, 58deg))
            rotateY(var(--live-card-ry, 0deg))
            rotateZ(calc(var(--live-card-rz, -8deg) + 4deg))
            translate3d(2.6vw, -1.2vh, 0)
            scale(1);
    }
}

@keyframes jvueLiveMatrixPulse {
    0%,
    100% {
        opacity: var(--live-node-o, var(--live-bg-node-opacity));
        background-position:
            var(--live-bg-scan-soft) var(--ambient-grid-half-x),
            var(--live-bg-scan-reverse) var(--ambient-grid-y),
            0 0;
        transform:
            translate3d(-50%, -50%, var(--live-node-z, -220px))
            rotateX(var(--live-node-rx, 58deg))
            rotateZ(var(--live-node-r, -8deg))
            translate3d(-1vw, .6vh, 0)
            scale(var(--live-node-scale, .88));
    }

    50% {
        opacity: var(--live-node-o, var(--live-bg-node-opacity));
        background-position:
            calc(var(--live-bg-scan-soft) + 38px) calc(var(--ambient-grid-half-x) + 22px),
            calc(var(--live-bg-scan-reverse) - 28px) calc(var(--ambient-grid-y) - 16px),
            12px 8px;
        transform:
            translate3d(-50%, -50%, var(--live-node-z, -220px))
            rotateX(var(--live-node-rx, 58deg))
            rotateZ(calc(var(--live-node-r, -8deg) + 5deg))
            translate3d(1.4vw, -.8vh, 0)
            scale(1.03);
    }
}

@keyframes jvueDataBand {
    0% {
        opacity: 0;
        transform: rotate(var(--band-angle)) translate3d(-34%, 18%, 0);
    }

    18%,
    48% {
        opacity: .42;
    }

    100% {
        opacity: 0;
        transform: rotate(var(--band-angle)) translate3d(34%, -18%, 0);
    }
}

@keyframes jvueMotionFieldGrid {
    0% {
        opacity: .16;
        background-position:
            calc(var(--motion-field-scan) - 180px) 0,
            0 0,
            0 calc(0px - var(--motion-field-scan));
    }

    48% {
        opacity: .38;
        background-position:
            calc(var(--motion-field-scan) + 40px) 0,
            0 0,
            0 calc(48px - var(--motion-field-scan));
    }

    100% {
        opacity: .2;
        background-position:
            calc(var(--motion-field-scan) + 260px) 0,
            0 0,
            0 calc(96px - var(--motion-field-scan));
    }
}

@keyframes jvueMotionFieldPulse {
    0%,
    100% {
        opacity: .16;
        filter: blur(.4px);
        transform: rotateX(60deg) rotateZ(var(--motion-field-tilt)) translate3d(-2vw, 1vh, -180px) scale(.94);
    }

    46% {
        opacity: .34;
        filter: blur(.1px);
        transform: rotateX(60deg) rotateZ(var(--motion-field-tilt)) translate3d(3vw, -1vh, -140px) scale(1.03);
    }
}

@keyframes jvueMotionFieldBeam {
    0% {
        opacity: 0;
        filter: blur(.7px);
        transform:
            translate3d(-50%, -50%, var(--mf-line-z, -160px))
            rotateX(62deg)
            rotateZ(var(--mf-line-r, -8deg))
            translate3d(-24vw, 1vh, 0)
            scaleX(.28);
    }

    30% {
        opacity: var(--mf-line-o, .22);
        filter: blur(0);
        transform:
            translate3d(-50%, -50%, var(--mf-line-z, -160px))
            rotateX(62deg)
            rotateZ(var(--mf-line-r, -8deg))
            translate3d(-4vw, 0, 0)
            scaleX(var(--mf-line-scale, .78));
    }

    64% {
        opacity: calc(var(--mf-line-o, .22) + .16);
        background-position: calc(var(--motion-field-scan) + 160px) 0, calc(var(--motion-field-scan) - 80px) 0;
        transform:
            translate3d(-50%, -50%, var(--mf-line-z, -160px))
            rotateX(62deg)
            rotateZ(var(--mf-line-r, -8deg))
            translate3d(10vw, -1vh, 0)
            scaleX(var(--mf-line-scale, .78))
            scaleX(1.18);
    }

    100% {
        opacity: 0;
        filter: blur(.6px);
        transform:
            translate3d(-50%, -50%, var(--mf-line-z, -160px))
            rotateX(62deg)
            rotateZ(var(--mf-line-r, -8deg))
            translate3d(30vw, -2vh, 0)
            scaleX(.46);
    }
}

@keyframes jvueMotionFieldNode {
    0% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--mf-dot-z, -120px))
            rotate(var(--mf-dot-r, -8deg))
            translate3d(var(--mf-dot-start, -12vw), 1vh, 0)
            scale(.54);
    }

    28% {
        opacity: var(--mf-dot-o, .34);
    }

    58% {
        opacity: calc(var(--mf-dot-o, .34) + .18);
        transform:
            translate3d(-50%, -50%, var(--mf-dot-z, -120px))
            rotate(var(--mf-dot-r, -8deg))
            translate3d(5vw, -1vh, 0)
            scale(1.1);
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--mf-dot-z, -120px))
            rotate(var(--mf-dot-r, -8deg))
            translate3d(18vw, -2vh, 0)
            scale(.66);
    }
}

@keyframes jvueMotionFieldPanel {
    0%,
    100% {
        filter: brightness(.9) saturate(.96);
        opacity: .1;
        transform:
            translate3d(-50%, -50%, var(--mf-card-z, -260px))
            rotateX(var(--mf-card-rx, 58deg))
            rotateY(var(--mf-card-ry, 0deg))
            rotateZ(var(--mf-card-rz, -8deg))
            translate3d(-1.2vw, .8vh, 0)
            skewX(-4deg)
            scale(var(--mf-card-scale, .86));
    }

    48% {
        filter: brightness(1.16) saturate(1.08);
        opacity: var(--mf-card-o, .18);
        transform:
            translate3d(-50%, -50%, var(--mf-card-z, -260px))
            rotateX(var(--mf-card-rx, 58deg))
            rotateY(var(--mf-card-ry, 0deg))
            rotateZ(var(--mf-card-rz, -8deg))
            translate3d(1.6vw, -1vh, 0)
            skewX(-4deg)
            scale(var(--mf-card-scale, .86));
    }
}

@keyframes jvueScrollSculptureLine {
    0% {
        opacity: 0;
        filter: blur(.7px);
        transform:
            translate3d(-50%, -50%, var(--ss-line-z, -200px))
            rotateX(var(--ss-rx, 62deg))
            rotateZ(var(--ss-line-r, -8deg))
            translate3d(calc(var(--ss-line-drift, 0px) - 18vw), 1vh, 0)
            scaleX(.3);
    }

    34% {
        opacity: var(--ss-line-o, .2);
        filter: blur(0);
        transform:
            translate3d(-50%, -50%, var(--ss-line-z, -200px))
            rotateX(var(--ss-rx, 62deg))
            rotateZ(var(--ss-line-r, -8deg))
            translate3d(var(--ss-line-drift, 0px), 0, 0)
            scaleX(var(--ss-line-scale, .84));
    }

    66% {
        opacity: calc(var(--ss-line-o, .2) + .14);
        background-position: calc(var(--sculpture-scan) + 180px) 0, calc(var(--sculpture-scan) - 80px) 0;
        transform:
            translate3d(-50%, -50%, var(--ss-line-z, -200px))
            rotateX(var(--ss-rx, 62deg))
            rotateZ(var(--ss-line-r, -8deg))
            translate3d(calc(var(--ss-line-drift, 0px) + 10vw), -1vh, 0)
            scaleX(var(--ss-line-scale, .84))
            scaleX(1.18);
    }

    100% {
        opacity: 0;
        filter: blur(.5px);
        transform:
            translate3d(-50%, -50%, var(--ss-line-z, -200px))
            rotateX(var(--ss-rx, 62deg))
            rotateZ(var(--ss-line-r, -8deg))
            translate3d(calc(var(--ss-line-drift, 0px) + 26vw), -2vh, 0)
            scaleX(.44);
    }
}

@keyframes jvueScrollSculptureNode {
    0% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--ss-node-z, -130px))
            rotate(var(--ss-node-r, 0deg))
            translate3d(calc(var(--ss-node-drift, 0px) - 10vw), 1vh, 0)
            scale(.54);
    }

    46% {
        opacity: var(--ss-node-o, .32);
        transform:
            translate3d(-50%, -50%, var(--ss-node-z, -130px))
            rotate(var(--ss-node-r, 0deg))
            translate3d(var(--ss-node-drift, 0px), 0, 0)
            scale(var(--ss-node-scale, .9));
    }

    72% {
        opacity: calc(var(--ss-node-o, .32) + .14);
        transform:
            translate3d(-50%, -50%, var(--ss-node-z, -130px))
            rotate(var(--ss-node-r, 0deg))
            translate3d(calc(var(--ss-node-drift, 0px) + 8vw), -1vh, 0)
            scale(1.16);
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--ss-node-z, -130px))
            rotate(var(--ss-node-r, 0deg))
            translate3d(calc(var(--ss-node-drift, 0px) + 18vw), -2vh, 0)
            scale(.62);
    }
}

@keyframes jvueScrollSculpturePlane {
    0%,
    100% {
        filter: brightness(.9) saturate(.96);
        opacity: .08;
        transform:
            translate3d(-50%, -50%, var(--ss-plane-z, -280px))
            rotateX(var(--ss-plane-rx, 58deg))
            rotateY(var(--ss-plane-ry, 0deg))
            rotateZ(var(--ss-plane-rz, -8deg))
            translate3d(-1.4vw, .8vh, 0)
            skewX(var(--ss-plane-skew, -4deg))
            scale(var(--ss-plane-scale, .86));
    }

    48% {
        filter: brightness(1.16) saturate(1.08);
        opacity: var(--ss-plane-o, .13);
        transform:
            translate3d(-50%, -50%, var(--ss-plane-z, -280px))
            rotateX(var(--ss-plane-rx, 58deg))
            rotateY(var(--ss-plane-ry, 0deg))
            rotateZ(var(--ss-plane-rz, -8deg))
            translate3d(1.8vw, -1vh, 0)
            skewX(var(--ss-plane-skew, -4deg))
            scale(var(--ss-plane-scale, .86));
    }
}

@keyframes jvueScrollSculptureCursor {
    0%,
    100% {
        filter: blur(.35px) brightness(.92) saturate(1.04);
    }

    48% {
        filter: blur(.05px) brightness(1.18) saturate(1.16);
    }
}

@keyframes jvueScrollSculptureCursorLine {
    0%,
    100% {
        opacity: 0;
        filter: blur(.32px);
    }

    52% {
        opacity: var(--sculpture-cursor-opacity);
        filter: blur(0);
    }
}

@keyframes jvueSceneFloat {
    0% {
        background-position: 0 0, calc(var(--fx-sweep-soft) + var(--ambient-sweep-x)) var(--ambient-sweep-y), calc(var(--fx-grid-x) + var(--ambient-grid-x)) 0, 0 calc(var(--fx-grid-y) + var(--ambient-grid-y));
        filter: brightness(.92) saturate(.94);
    }

    52% {
        background-position: 0 0, calc(var(--fx-sweep-x) + var(--ambient-sweep-x)) var(--ambient-sweep-y), calc(var(--fx-grid2-x) + var(--ambient-grid-x)) 0, 0 calc(var(--fx-grid2-y) + var(--ambient-grid-y));
        filter: brightness(1.08) saturate(1.04);
    }

    100% {
        background-position: 0 0, calc(var(--fx-sweep-x) + var(--ambient-sweep-x) - 80px) var(--ambient-sweep-y), calc(var(--fx-grid-x) + var(--ambient-grid-x) + 70px) 0, 0 calc(var(--fx-grid-y) + var(--ambient-grid-y) - 40px);
        filter: brightness(.98) saturate(1);
    }
}

@keyframes jvueDirectorPlane {
    0% {
        filter: brightness(.92) saturate(.96);
        background-position: 0 0, var(--director-line-x) 0, 0 var(--director-line-y), 0 0;
    }

    46% {
        filter: brightness(1.14) saturate(1.08);
        background-position: 40px -18px, calc(var(--director-line-x) - 80px) 0, 0 calc(var(--director-line-y) + 42px), 0 0;
    }

    100% {
        filter: brightness(.98) saturate(1);
        background-position: -34px 26px, calc(var(--director-line-x) + 86px) 0, 0 calc(var(--director-line-y) - 48px), 0 0;
    }
}

@keyframes jvueDirectorSweep {
    0% {
        opacity: .14;
        background-position: -180% 0, var(--director-line-x) 0;
    }

    38%,
    62% {
        opacity: .64;
    }

    100% {
        opacity: .1;
        background-position: 180% 0, calc(var(--director-line-x) + 120px) 0;
    }
}

@keyframes jvueDirectorNode {
    0% {
        opacity: 0;
        transform: translate3d(calc(-22vw + var(--director-drift-x)), calc(10vh + var(--director-drift-y)), 0) scale(.58);
    }

    24%,
    64% {
        opacity: calc(.32 + var(--director-pulse));
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(24vw + var(--director-drift-x)), calc(-12vh + var(--director-drift-y)), 0) scale(1.18);
    }
}

@keyframes jvueTableauOrbit {
    0% {
        opacity: var(--tableau-pulse-opacity);
        background-position:
            center,
            var(--tableau-scan-x) var(--tableau-scan-y),
            center;
        transform:
            translate3d(var(--tableau-drift-x), var(--tableau-drift-y), -220px)
            rotateX(64deg)
            rotateZ(calc(var(--scene-impact-angle) - 8deg))
            scale(var(--tableau-stage-scale));
    }

    48% {
        opacity: var(--tableau-pulse-opacity);
        background-position:
            center,
            calc(var(--tableau-scan-x) - 120px) calc(var(--tableau-scan-y) + 80px),
            center;
    }

    100% {
        opacity: var(--tableau-pulse-opacity);
        background-position:
            center,
            calc(var(--tableau-scan-x) + 140px) calc(var(--tableau-scan-y) - 70px),
            center;
        transform:
            translate3d(var(--tableau-drift-x), var(--tableau-drift-y), -220px)
            rotateX(64deg)
            rotateZ(calc(var(--scene-impact-angle) + 10deg))
            scale(var(--tableau-stage-scale));
    }
}

@keyframes jvueTableauSweep {
    0% {
        opacity: .08;
        background-position:
            calc(var(--tableau-scan-x) - 34vw) 0,
            0 0,
            var(--tableau-scan-reverse) 0;
    }

    36%,
    62% {
        opacity: var(--tableau-pulse-opacity);
    }

    100% {
        opacity: .1;
        background-position:
            calc(var(--tableau-scan-x) + 36vw) 0,
            0 0,
            calc(var(--tableau-scan-reverse) - 180px) 0;
    }
}

@keyframes jvueTableauPlane {
    0% {
        filter: brightness(.9) saturate(.94);
        background-position:
            var(--scene-impact-scan) 0,
            var(--live-bg-scan) 0,
            0 var(--live-bg-scan-soft);
    }

    48% {
        filter: brightness(1.16) saturate(1.08);
        background-position:
            calc(var(--scene-impact-scan) - 90px) 0,
            calc(var(--live-bg-scan) + 120px) 0,
            0 calc(var(--live-bg-scan-soft) - 70px);
    }

    100% {
        filter: brightness(.98) saturate(1);
        background-position:
            calc(var(--scene-impact-scan) + 80px) 0,
            calc(var(--live-bg-scan) - 140px) 0,
            0 calc(var(--live-bg-scan-soft) + 84px);
    }
}

@keyframes jvueTableauNode {
    0% {
        opacity: .12;
        transform: translate3d(-50%, -50%, var(--tableau-node-z, 160px)) scale(.72);
    }

    42% {
        opacity: var(--tableau-node-o, .46);
        transform: translate3d(calc(-50% + 10px), calc(-50% - 7px), var(--tableau-node-z, 160px)) scale(var(--tableau-node-scale));
    }

    100% {
        opacity: .18;
        transform: translate3d(calc(-50% - 8px), calc(-50% + 8px), var(--tableau-node-z, 160px)) scale(.9);
    }
}

@keyframes jvueTableauStream {
    0% {
        opacity: .06;
        transform:
            translate3d(calc(-50% - 16vw), -50%, var(--tableau-stream-z, 180px))
            rotate(var(--tableau-stream-r, -10deg))
            scaleX(.24);
    }

    36%,
    62% {
        opacity: var(--tableau-stream-o, .26);
    }

    100% {
        opacity: .08;
        transform:
            translate3d(calc(-50% + 18vw), -50%, var(--tableau-stream-z, 180px))
            rotate(var(--tableau-stream-r, -10deg))
            scaleX(var(--tableau-stream-scale, .7));
    }
}

@keyframes jvueComponentTrace {
    0% {
        background-position: -140% 0, 0 0;
    }

    100% {
        background-position: 140% 0, 120px 0;
    }
}

@keyframes jvueSceneCutWide {
    0% {
        opacity: .28;
        transform: translate3d(-34%, 0, 0) scaleX(.58);
    }

    28% {
        opacity: .74;
        transform: translate3d(-8%, 0, 0) scaleX(.92);
    }

    100% {
        opacity: 0;
        transform: translate3d(48%, 0, 0) scaleX(1.18);
    }
}

@keyframes jvueSceneCutLine {
    0% {
        opacity: .46;
        transform: translate3d(-28%, 0, 0) scaleX(.3);
    }

    38% {
        opacity: .92;
        transform: translate3d(0, 0, 0) scaleX(.96);
    }

    100% {
        opacity: 0;
        transform: translate3d(38%, 0, 0) scaleX(1.08);
    }
}

@keyframes jvueWorkCutIdle {
    0%,
    100% {
        transform: translate3d(-18%, 0, 0) scaleX(.72) skewX(-8deg);
        filter: blur(var(--workcut-blur, 0px)) brightness(.82);
    }

    48% {
        transform: translate3d(6%, -2%, 0) scaleX(1.04) skewX(-3deg);
        filter: blur(var(--workcut-blur, 0px)) brightness(1.18);
    }

    100% {
        background-position: calc(var(--workcut-scan) + 280px) 0, calc(0px - var(--workcut-scan) - 90px) 0;
    }
}

@keyframes jvueWorkNodeIdle {
    0%,
    100% {
        transform: translate3d(-50%, -50%, 0) scale(var(--work-node-scale, 1));
        filter: brightness(.86);
    }

    50% {
        transform: translate3d(calc(-50% + 12px), calc(-50% - 8px), 0) scale(calc(var(--work-node-scale, 1) + .18));
        filter: brightness(1.24);
    }
}

@keyframes jvueWorkCutLine {
    0% {
        opacity: 0;
        transform: translate3d(-36%, 0, 0) scaleX(.18);
        filter: blur(1px) brightness(.8);
    }

    36% {
        opacity: .9;
        transform: translate3d(0, 0, 0) scaleX(.94);
        filter: blur(.1px) brightness(1.22);
    }

    100% {
        opacity: 0;
        transform: translate3d(42%, 0, 0) scaleX(1.22);
        filter: blur(1.2px) brightness(.92);
    }
}

@keyframes jvueWorkCutWide {
    0% {
        opacity: 0;
        transform: translate3d(-42%, 8%, 0) scaleX(.18) skewX(-12deg);
        filter: blur(8px) brightness(.8);
    }

    42% {
        opacity: .46;
        transform: translate3d(0, 0, 0) scaleX(1) skewX(-4deg);
        filter: blur(1.6px) brightness(1.18);
    }

    100% {
        opacity: 0;
        transform: translate3d(44%, -6%, 0) scaleX(1.18) skewX(10deg);
        filter: blur(9px) brightness(.86);
    }
}

@keyframes jvueWorkNodeBurst {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) scale(.36);
    }

    40% {
        opacity: .86;
        transform: translate3d(calc(-50% + 18px), calc(-50% - 10px), 0) scale(1.16);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% + 44px), calc(-50% - 28px), 0) scale(.68);
    }
}

@keyframes jvueWorkPanelPulse {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        filter: saturate(1);
    }

    38% {
        transform: translate3d(6px, -4px, 0) scale(1.012);
        filter: saturate(1.16) brightness(1.08);
    }

    100% {
        transform: translate3d(0, 0, 0) scale(1);
        filter: saturate(1);
    }
}

@keyframes jvueMorphDrift {
    0% {
        background-position: 0 0, 0 0, 0 0;
    }

    46% {
        background-position: 46px -22px, -34px 28px, 18px 0;
    }

    100% {
        background-position: -38px 26px, 58px -18px, -24px 0;
    }
}

@keyframes jvueMorphScan {
    0% {
        background-position: -160% 0;
        opacity: .12;
    }

    34%,
    58% {
        opacity: .68;
    }

    100% {
        background-position: 160% 0;
        opacity: .08;
    }
}

@keyframes jvueMorphNodeTravel {
    0% {
        opacity: 0;
        transform: translate3d(-22vw, 12vh, 0) scale(.56);
    }

    22%,
    62% {
        opacity: var(--morph-node-opacity);
    }

    100% {
        opacity: 0;
        transform: translate3d(24vw, -12vh, 0) scale(1.12);
    }
}

@keyframes jvueFluidFlow {
    0% {
        opacity: 0;
        transform: translate3d(-38%, 0, 0) scaleX(.62) skewX(-8deg);
        filter: blur(.6px) brightness(.86);
    }

    24%,
    58% {
        opacity: .72;
        filter: blur(.15px) brightness(1.12);
    }

    100% {
        opacity: 0;
        transform: translate3d(42%, 0, 0) scaleX(1.18) skewX(7deg);
        filter: blur(.7px) brightness(.92);
    }
}

@keyframes jvueFluidNode {
    0% {
        opacity: 0;
        transform: translate3d(-18vw, 9vh, 0) scale(.58);
    }

    26%,
    64% {
        opacity: var(--fluid-node-opacity);
    }

    100% {
        opacity: 0;
        transform: translate3d(20vw, -9vh, 0) scale(1.08);
    }
}

@keyframes jvueStreamBeam {
    0% {
        opacity: 0;
        transform: rotate(var(--stream-angle)) translate3d(-42%, 0, 0) scaleX(.58);
    }

    16% {
        opacity: .2;
    }

    38%,
    58% {
        opacity: .74;
        transform: rotate(var(--stream-angle)) translate3d(0, 0, 0) scaleX(1);
    }

    100% {
        opacity: 0;
        transform: rotate(var(--stream-angle)) translate3d(44%, 0, 0) scaleX(1.18);
    }
}

@keyframes jvueStreamNode {
    0% {
        opacity: 0;
        transform: translate3d(-16vw, 8vh, 0) scale(.56);
    }

    20%,
    68% {
        opacity: var(--stream-node-opacity);
    }

    100% {
        opacity: 0;
        transform: translate3d(18vw, -8vh, 0) scale(1.08);
    }
}

@keyframes jvueFlowRibbon {
    0% {
        opacity: 0;
        transform: rotate(var(--flow-angle)) translate3d(-44vw, 0, 0) scaleX(.28);
    }

    18% {
        opacity: .72;
    }

    48% {
        opacity: .48;
        transform: rotate(var(--flow-angle)) translate3d(34vw, 0, 0) scaleX(1.12);
    }

    72% {
        opacity: .2;
    }

    100% {
        opacity: 0;
        transform: rotate(var(--flow-angle)) translate3d(118vw, 0, 0) scaleX(.46);
    }
}

@keyframes jvueFlowNode {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) scale(.45);
    }

    24% {
        opacity: var(--flow-node-opacity);
    }

    56% {
        opacity: calc(var(--flow-node-opacity) + .18);
        transform: translate3d(calc(-50% + 22px), calc(-50% - 18px), 0) scale(1.08);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% - 18px), calc(-50% + 16px), 0) scale(.64);
    }
}

@keyframes jvueFlowPlane {
    0% {
        opacity: 0;
        transform: translate3d(calc(-50% - 34px), calc(-50% + 16px), 0) rotateX(62deg) rotateZ(var(--flow-plane-rot, -8deg)) scale(.9);
    }

    28% {
        opacity: var(--flow-plane-opacity);
    }

    58% {
        opacity: calc(var(--flow-plane-opacity) + .08);
        transform: translate3d(calc(-50% + 24px), calc(-50% - 12px), 0) rotateX(58deg) rotateZ(var(--flow-plane-rot, -8deg)) scale(1.05);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% + 64px), calc(-50% - 30px), 0) rotateX(64deg) rotateZ(var(--flow-plane-rot, -8deg)) scale(.92);
    }
}

@keyframes jvueKineticGrid {
    0% {
        background-position: 0 0, 0 0, -120px 0, 0 -80px;
        transform: rotateX(58deg) rotateZ(-7deg) translate3d(-3%, 5%, -120px) scale(1.06);
    }

    50% {
        background-position: 0 0, 0 0, 80px 0, 0 60px;
        transform: rotateX(56deg) rotateZ(-5deg) translate3d(1%, 2%, -90px) scale(1.12);
    }

    100% {
        background-position: 0 0, 0 0, 220px 0, 0 180px;
        transform: rotateX(60deg) rotateZ(-8deg) translate3d(4%, -2%, -130px) scale(1.08);
    }
}

@keyframes jvueKineticDust {
    0% {
        opacity: .28;
        background-position: 0 0, 18px 12px;
        transform: rotateZ(8deg) translate3d(-18px, 10px, 0) scale(1);
    }

    50% {
        opacity: .48;
        background-position: 92px 54px, 132px 96px;
        transform: rotateZ(6deg) translate3d(20px, -12px, 0) scale(1.03);
    }

    100% {
        opacity: .3;
        background-position: 184px 108px, 246px 184px;
        transform: rotateZ(9deg) translate3d(42px, -28px, 0) scale(1.01);
    }
}

@keyframes jvueKineticLine {
    0% {
        opacity: 0;
        transform: rotate(var(--kinetic-line-angle, -8deg)) translate3d(-44vw, 0, 0) scaleX(.24);
        filter: blur(.2px);
    }

    18% {
        opacity: .58;
    }

    48% {
        opacity: .44;
        transform: rotate(var(--kinetic-line-angle, -8deg)) translate3d(22vw, 0, 0) scaleX(1.18);
        filter: blur(0);
    }

    76% {
        opacity: .22;
    }

    100% {
        opacity: 0;
        transform: rotate(var(--kinetic-line-angle, -8deg)) translate3d(126vw, 0, 0) scaleX(.42);
        filter: blur(.4px);
    }
}

@keyframes jvueKineticNode {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) scale(.46);
    }

    24% {
        opacity: var(--kinetic-node-opacity);
    }

    58% {
        opacity: calc(var(--kinetic-node-opacity) + .18);
        transform: translate3d(calc(-50% + 30px), calc(-50% - 22px), 0) scale(1.1);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% - 24px), calc(-50% + 18px), 0) scale(.58);
    }
}

@keyframes jvueKineticPanel {
    0% {
        opacity: 0;
        transform: translate3d(calc(-50% - 42px), calc(-50% + 22px), 0) rotateX(64deg) rotateZ(var(--kinetic-card-rot, -7deg)) scale(.86);
    }

    30% {
        opacity: var(--kinetic-panel-opacity);
    }

    58% {
        opacity: calc(var(--kinetic-panel-opacity) + .1);
        transform: translate3d(calc(-50% + 18px), calc(-50% - 12px), 0) rotateX(58deg) rotateZ(var(--kinetic-card-rot, -7deg)) scale(1.04);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% + 76px), calc(-50% - 34px), 0) rotateX(62deg) rotateZ(var(--kinetic-card-rot, -7deg)) scale(.92);
    }
}

@keyframes jvueReelScan {
    0% {
        transform: translate3d(-48%, 0, 0);
        opacity: 0;
    }

    28% {
        opacity: .46;
    }

    100% {
        transform: translate3d(48%, 0, 0);
        opacity: 0;
    }
}

@keyframes jvueFrameTitle {
    0%,
    72%,
    100% {
        opacity: .42;
        transform: translate3d(-50%, -50%, -180px) skewX(-6deg);
    }

    10% {
        opacity: .66;
        transform: translate3d(calc(-50% - 14px), calc(-50% + 3px), -180px) skewX(-9deg);
    }

    16% {
        opacity: .36;
        transform: translate3d(calc(-50% + 10px), calc(-50% - 2px), -180px) skewX(-3deg);
    }

    46% {
        opacity: .58;
    }
}

@keyframes jvueFramePlate {
    0% {
        opacity: .08;
        filter: blur(.5px);
        transform:
            translate3d(calc(-50% - 26px), calc(-50% + 6px), var(--frame-z, -120px))
            rotateX(var(--frame-rx, 0deg))
            rotateY(var(--frame-ry, 0deg))
            rotateZ(var(--frame-rz, -8deg))
            skewX(var(--frame-skew, -5deg))
            scaleX(.88);
    }

    28% {
        opacity: var(--frame-o, .42);
        filter: blur(.05px);
    }

    58% {
        opacity: calc(var(--frame-o, .42) + .08);
        transform:
            translate3d(calc(-50% + 10px), calc(-50% - 4px), var(--frame-z, -120px))
            rotateX(var(--frame-rx, 0deg))
            rotateY(var(--frame-ry, 0deg))
            rotateZ(var(--frame-rz, -8deg))
            skewX(var(--frame-skew, -5deg))
            scaleX(1.04);
    }

    100% {
        opacity: .1;
        filter: blur(.45px);
        transform:
            translate3d(calc(-50% + 36px), calc(-50% - 8px), var(--frame-z, -120px))
            rotateX(var(--frame-rx, 0deg))
            rotateY(var(--frame-ry, 0deg))
            rotateZ(var(--frame-rz, -8deg))
            skewX(var(--frame-skew, -5deg))
            scaleX(.92);
    }
}

@keyframes jvueFrameGlint {
    0% {
        opacity: 0;
        transform: translate3d(-76%, 0, 0);
    }

    46% {
        opacity: .3;
    }

    100% {
        opacity: 0;
        transform: translate3d(76%, 0, 0);
    }
}

@keyframes jvueFrameLine {
    0% {
        opacity: 0;
        transform: rotate(var(--frame-line-r, -8deg)) translate3d(-72%, -50%, 0) scaleX(.2);
    }

    34% {
        opacity: var(--frame-line-o, .34);
        transform: rotate(var(--frame-line-r, -8deg)) translate3d(-50%, -50%, 0) scaleX(1);
    }

    100% {
        opacity: 0;
        transform: rotate(var(--frame-line-r, -8deg)) translate3d(44%, -50%, 0) scaleX(.34);
    }
}

@keyframes jvueDomShard {
    0% {
        opacity: .08;
        filter: blur(.6px);
        transform:
            translate3d(-50%, -50%, var(--shard-z, 0px))
            rotate(var(--shard-rot, -8deg))
            skewX(var(--shard-skew, -10deg))
            translate3d(-22px, 0, 0)
            scaleX(.46);
    }

    34% {
        opacity: var(--shard-o, .48);
        filter: blur(0);
        transform:
            translate3d(-50%, -50%, var(--shard-z, 0px))
            rotate(var(--shard-rot, -8deg))
            skewX(var(--shard-skew, -10deg))
            translate3d(0, 0, 0)
            scaleX(var(--shard-sx, 1));
    }

    68% {
        opacity: calc(var(--shard-o, .48) + .08);
        transform:
            translate3d(-50%, -50%, var(--shard-z, 0px))
            rotate(var(--shard-rot, -8deg))
            skewX(var(--shard-skew, -10deg))
            translate3d(16px, -2px, 0)
            scaleX(calc(var(--shard-sx, 1) + .14));
    }

    100% {
        opacity: .1;
        filter: blur(.5px);
        transform:
            translate3d(-50%, -50%, var(--shard-z, 0px))
            rotate(var(--shard-rot, -8deg))
            skewX(var(--shard-skew, -10deg))
            translate3d(42px, 0, 0)
            scaleX(.52);
    }
}

@keyframes jvueDomShardScan {
    0% {
        opacity: 0;
        transform: translate3d(-72%, 0, 0);
    }

    42% {
        opacity: .34;
    }

    100% {
        opacity: 0;
        transform: translate3d(72%, 0, 0);
    }
}

@keyframes jvueStageIndexNumber {
    0%,
    100% {
        opacity: .18;
        filter: blur(.2px);
        transform: translate3d(0, -50%, -240px) rotateY(12deg) skewX(-4deg);
    }

    46% {
        opacity: .28;
        filter: blur(0);
        transform: translate3d(12px, -51%, -210px) rotateY(9deg) skewX(-6deg);
    }

    50% {
        opacity: .12;
        filter: blur(.8px);
        transform: translate3d(-10px, -49%, -260px) rotateY(16deg) skewX(-2deg);
    }
}

@keyframes jvueStageIndexScan {
    0% {
        opacity: 0;
        transform: translate3d(-62%, 0, 0);
    }

    38% {
        opacity: .5;
    }

    100% {
        opacity: 0;
        transform: translate3d(64%, 0, 0);
    }
}

@keyframes jvueStageIndexRail {
    0% {
        opacity: 0;
        background-position: -120px 0, calc(var(--stage-index-scan) - 160px) 0;
        transform:
            translate3d(-50%, -50%, var(--stage-index-rail-z, -120px))
            rotate(var(--stage-index-rail-rot, -8deg))
            scaleX(.55);
    }

    32% {
        opacity: var(--stage-index-rail-opacity, .28);
        transform:
            translate3d(-50%, -50%, var(--stage-index-rail-z, -120px))
            rotate(var(--stage-index-rail-rot, -8deg))
            scaleX(1);
    }

    70% {
        opacity: calc(var(--stage-index-rail-opacity, .28) + .08);
        background-position: 60px 0, calc(var(--stage-index-scan) + 60px) 0;
    }

    100% {
        opacity: 0;
        background-position: 240px 0, calc(var(--stage-index-scan) + 220px) 0;
        transform:
            translate3d(-50%, -50%, var(--stage-index-rail-z, -120px))
            rotate(var(--stage-index-rail-rot, -8deg))
            scaleX(.72);
    }
}

@keyframes jvueStageIndexNode {
    0%,
    100% {
        opacity: .12;
        filter: blur(.45px);
        transform: translate3d(-50%, -50%, var(--stage-index-node-z, -80px)) scale(.72);
    }

    44% {
        opacity: var(--stage-index-node-opacity, .42);
        filter: blur(0);
        transform: translate3d(calc(-50% + 10px), calc(-50% - 8px), var(--stage-index-node-z, -80px)) scale(1);
    }

    72% {
        opacity: calc(var(--stage-index-node-opacity, .42) + .12);
        transform: translate3d(calc(-50% + 18px), calc(-50% - 14px), var(--stage-index-node-z, -80px)) scale(1.16);
    }
}

@keyframes jvueStageFlashTitle {
    0%,
    100% {
        opacity: .06;
        transform: translate3d(-50%, -50%, -180px) skewX(-7deg);
    }

    48% {
        opacity: .16;
        transform: translate3d(calc(-50% + 12px), calc(-50% - 5px), -160px) skewX(-10deg);
    }

    52% {
        opacity: .04;
        transform: translate3d(calc(-50% - 9px), calc(-50% + 3px), -210px) skewX(4deg);
    }
}

@keyframes jvueStageFlashStrip {
    0% {
        opacity: 0;
        transform:
            rotate(var(--flash-strip-rot, -7deg))
            translate3d(calc(var(--flash-strip-x, -18vw) - 24vw), 0, 0)
            skewX(var(--flash-strip-skew, -8deg))
            scaleX(.42);
    }

    36% {
        opacity: var(--flash-strip-opacity, .26);
        transform:
            rotate(var(--flash-strip-rot, -7deg))
            translate3d(var(--flash-strip-x, -18vw), 0, 0)
            skewX(var(--flash-strip-skew, -8deg))
            scaleX(1);
    }

    64% {
        opacity: var(--flash-strip-opacity, .26);
        filter: brightness(1.28);
    }

    100% {
        opacity: 0;
        transform:
            rotate(var(--flash-strip-rot, -7deg))
            translate3d(calc(var(--flash-strip-x, -18vw) + 36vw), 0, 0)
            skewX(8deg)
            scaleX(.62);
    }
}

@keyframes jvueStageFlashLine {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) rotate(var(--flash-node-rot, -8deg)) translate3d(-18vw, 0, 0) scaleX(.12);
    }

    38% {
        opacity: var(--flash-node-opacity, .28);
        transform: translate3d(-50%, -50%, 0) rotate(var(--flash-node-rot, -8deg)) translate3d(0, 0, 0) scaleX(1);
    }

    100% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) rotate(var(--flash-node-rot, -8deg)) translate3d(22vw, 0, 0) scaleX(.2);
    }
}

@keyframes jvueStageFlashInvert {
    0%,
    100% {
        opacity: .06;
        filter: invert(0);
    }

    48% {
        opacity: .16;
        filter: invert(.12);
    }

    52% {
        opacity: .08;
        filter: invert(.04);
    }
}

@keyframes jvueHotspotSlice {
    0% {
        opacity: 0;
        transform:
            rotate(var(--component-stage-angle))
            translate3d(calc(var(--component-shard-x) - 18vw), var(--component-shard-y), 0)
            scaleX(.32);
    }

    38% {
        opacity: var(--hotspot-line-opacity, .44);
        transform:
            rotate(var(--component-stage-angle))
            translate3d(var(--component-shard-x), var(--component-shard-y), 0)
            scaleX(var(--hotspot-line-scale, .86));
    }

    100% {
        opacity: 0;
        transform:
            rotate(var(--component-stage-angle))
            translate3d(calc(var(--component-shard-x) + 24vw), var(--component-shard-y), 0)
            scaleX(.5);
    }
}

@keyframes jvueHotspotNode {
    0%,
    100% {
        opacity: .18;
        transform: translate3d(-50%, -50%, 0) translate3d(var(--hotspot-node-x, 0px), var(--hotspot-node-y, 0px), 0) scale(.72);
    }

    48% {
        opacity: .84;
        transform: translate3d(-50%, -50%, 0) translate3d(var(--hotspot-node-x, 0px), var(--hotspot-node-y, 0px), 0) scale(1.12);
    }
}

@keyframes jvueHotspotPlate {
    0%,
    100% {
        opacity: .18;
        transform: rotate(var(--component-stage-angle)) skewX(-6deg) scale(.96);
    }

    52% {
        opacity: .34;
        transform: rotate(var(--component-stage-angle)) skewX(-8deg) scale(1.02);
    }
}

@keyframes jvueOrbitFieldGrid {
    0% {
        opacity: .22;
        background-position:
            calc(var(--stage-field-scan) - 120px) 0,
            0 calc(0px - var(--stage-field-scan));
    }

    50% {
        opacity: .46;
        background-position:
            calc(var(--stage-field-scan) + 40px) 0,
            0 calc(40px - var(--stage-field-scan));
    }

    100% {
        opacity: .26;
        background-position:
            calc(var(--stage-field-scan) + 180px) 0,
            0 calc(80px - var(--stage-field-scan));
    }
}

@keyframes jvueOrbitFieldRail {
    0% {
        opacity: 0;
        filter: blur(.6px);
        transform:
            translate3d(-50%, -50%, var(--field-line-z, -120px))
            rotate(var(--field-line-r, -8deg))
            translate3d(-20vw, 0, 0)
            scaleX(.34);
    }

    28% {
        opacity: var(--field-line-o, .22);
        filter: blur(0);
        transform:
            translate3d(-50%, -50%, var(--field-line-z, -120px))
            rotate(var(--field-line-r, -8deg))
            translate3d(-4vw, 0, 0)
            scaleX(var(--field-line-scale, .82));
    }

    62% {
        opacity: calc(var(--field-line-o, .22) + .16);
        background-position: calc(var(--stage-field-scan) + 140px) 0, calc(var(--stage-field-scan) - 80px) 0;
        transform:
            translate3d(-50%, -50%, var(--field-line-z, -120px))
            rotate(var(--field-line-r, -8deg))
            translate3d(10vw, -1vh, 0)
            scaleX(var(--field-line-scale, .82))
            scaleX(1.18);
    }

    100% {
        opacity: 0;
        filter: blur(.5px);
        transform:
            translate3d(-50%, -50%, var(--field-line-z, -120px))
            rotate(var(--field-line-r, -8deg))
            translate3d(28vw, -2vh, 0)
            scaleX(.5);
    }
}

@keyframes jvueOrbitFieldNode {
    0% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--field-node-z, -80px))
            rotate(var(--field-node-r, -8deg))
            translate3d(var(--field-node-start, -18vw), 1vh, 0)
            scale(.58);
    }

    22% {
        opacity: var(--stage-field-node-opacity);
    }

    56% {
        opacity: calc(var(--stage-field-node-opacity) + .16);
        transform:
            translate3d(-50%, -50%, var(--field-node-z, -80px))
            rotate(var(--field-node-r, -8deg))
            translate3d(4vw, -1vh, 0)
            scale(1.08);
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--field-node-z, -80px))
            rotate(var(--field-node-r, -8deg))
            translate3d(24vw, -3vh, 0)
            scale(.64);
    }
}

@keyframes jvueOrbitFieldRing {
    0%,
    100% {
        opacity: var(--field-ring-o, .16);
        filter: brightness(.88) saturate(.96);
        transform:
            translate3d(-50%, -50%, var(--field-ring-z, -260px))
            rotateX(62deg)
            rotateZ(var(--field-ring-r, -8deg))
            scale(var(--field-ring-scale, .9));
    }

    46% {
        opacity: calc(var(--field-ring-o, .16) + .12);
        filter: brightness(1.16) saturate(1.08);
        transform:
            translate3d(calc(-50% + 16px), calc(-50% - 8px), var(--field-ring-z, -260px))
            rotateX(58deg)
            rotateZ(var(--field-ring-r, -8deg))
            rotateZ(6deg)
            scale(var(--field-ring-scale, .9))
            scale(1.08);
    }
}

@keyframes jvueStoryWallGrid {
    0% {
        opacity: .18;
        background-position:
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) - 160px) 0,
            0 0,
            0 calc(0px - var(--stage-story-scan));
    }

    48% {
        opacity: .38;
        background-position:
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) + 48px) 0,
            22px 0,
            0 calc(38px - var(--stage-story-scan));
    }

    100% {
        opacity: .22;
        background-position:
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) + 220px) 0,
            44px 0,
            0 calc(76px - var(--stage-story-scan));
    }
}

@keyframes jvueStoryWallPulse {
    0%,
    100% {
        opacity: .22;
        filter: brightness(.9) saturate(.94);
        transform: rotateX(62deg) rotateZ(-8deg) translate3d(0, 0, -120px) scale(.94);
    }

    50% {
        opacity: .44;
        filter: brightness(1.18) saturate(1.08);
        transform: rotateX(58deg) rotateZ(-4deg) translate3d(18px, -8px, -90px) scale(1.02);
    }
}

@keyframes jvueStoryWallPanel {
    0%,
    100% {
        opacity: var(--story-o, .22);
        filter: blur(.35px) saturate(.96);
        transform:
            translate3d(-50%, -50%, var(--story-z, -230px))
            rotateX(var(--story-rx, 58deg))
            rotateY(var(--story-ry, 0deg))
            rotateZ(var(--story-rz, -8deg))
            skewX(-4deg)
            scale(var(--story-scale, .9));
        background-position:
            0 0,
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan)) 0,
            0 0;
    }

    42% {
        opacity: calc(var(--story-o, .22) + .14);
        filter: blur(.1px) saturate(1.08) brightness(1.12);
        transform:
            translate3d(calc(-50% + 14px), calc(-50% - 8px), var(--story-z, -230px))
            rotateX(calc(var(--story-rx, 58deg) - 4deg))
            rotateY(var(--story-ry, 0deg))
            rotateZ(calc(var(--story-rz, -8deg) + 3deg))
            skewX(-3deg)
            scale(var(--story-scale, .9))
            scale(1.045);
        background-position:
            0 0,
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) + 112px) 0,
            28px 0;
    }

    72% {
        opacity: calc(var(--story-o, .22) + .05);
        filter: blur(.25px) saturate(1.02);
        transform:
            translate3d(calc(-50% - 8px), calc(-50% + 4px), var(--story-z, -230px))
            rotateX(var(--story-rx, 58deg))
            rotateY(var(--story-ry, 0deg))
            rotateZ(calc(var(--story-rz, -8deg) - 2deg))
            skewX(-4deg)
            scale(var(--story-scale, .9));
        background-position:
            0 0,
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) - 54px) 0,
            -18px 0;
    }
}

@keyframes jvueStoryWallPanelActive {
    0%,
    100% {
        opacity: .78;
        filter: brightness(1.16) saturate(1.06);
        transform:
            translate3d(-50%, calc(-50% + var(--story-active-shift, 0px)), calc(var(--story-z, -230px) + 98px))
            rotateX(52deg)
            rotateY(var(--story-ry, 0deg))
            rotateZ(var(--story-rz, -8deg))
            skewX(-3deg)
            scale(.98);
        background-position:
            0 0,
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan)) 0,
            0 0;
    }

    46% {
        opacity: .92;
        filter: brightness(1.3) saturate(1.14);
        transform:
            translate3d(calc(-50% + 16px), calc(-50% + var(--story-active-shift, 0px) - 10px), calc(var(--story-z, -230px) + 132px))
            rotateX(48deg)
            rotateY(var(--story-ry, 0deg))
            rotateZ(calc(var(--story-rz, -8deg) + 3deg))
            skewX(-2deg)
            scale(1.04);
        background-position:
            0 0,
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + var(--stage-story-focus-scan) + 140px) 0,
            30px 0;
    }
}

@keyframes jvueStoryWallRail {
    0% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--story-line-z, -180px))
            rotateX(62deg)
            rotateZ(var(--story-line-r, -8deg))
            translate3d(-18vw, 0, 0)
            scaleX(.24);
    }

    32% {
        opacity: var(--story-line-o, .2);
        transform:
            translate3d(-50%, -50%, var(--story-line-z, -180px))
            rotateX(60deg)
            rotateZ(var(--story-line-r, -8deg))
            translate3d(-4vw, 0, 0)
            scaleX(var(--story-line-scale, .8));
    }

    64% {
        opacity: calc(var(--story-line-o, .2) + .2);
        background-position:
            calc(var(--stage-story-scan) + var(--stage-story-ambient-scan) + 120px) 0,
            0 0;
        transform:
            translate3d(-50%, -50%, var(--story-line-z, -180px))
            rotateX(58deg)
            rotateZ(var(--story-line-r, -8deg))
            translate3d(10vw, -1vh, 0)
            scaleX(var(--story-line-scale, .8))
            scaleX(1.22);
    }

    100% {
        opacity: 0;
        transform:
            translate3d(-50%, -50%, var(--story-line-z, -180px))
            rotateX(62deg)
            rotateZ(var(--story-line-r, -8deg))
            translate3d(28vw, -2vh, 0)
            scaleX(.4);
    }
}

@keyframes jvueGalleryPanel {
    0%,
    100% {
        opacity: var(--gallery-o, .16);
        filter: blur(.45px) saturate(.96);
        transform:
            translate3d(-50%, -50%, var(--gallery-z, -220px))
            rotateX(var(--gallery-rx, 58deg))
            rotateY(var(--gallery-ry, 0deg))
            rotateZ(var(--gallery-rz, -8deg))
            skewX(-4deg)
            scale(var(--gallery-scale, .88));
        background-position:
            0 0,
            calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan)) 0,
            0 calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan));
    }

    42% {
        opacity: calc(var(--gallery-o, .16) + .1);
        filter: blur(0) saturate(1.12);
        transform:
            translate3d(calc(-50% + 12px), calc(-50% - 8px), var(--gallery-z, -220px))
            rotateX(var(--gallery-rx, 58deg))
            rotateY(var(--gallery-ry, 0deg))
            rotateZ(var(--gallery-rz, -8deg))
            skewX(-4deg)
            scale(var(--gallery-scale, .88));
        background-position:
            0 0,
            calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan) + 86px) 0,
            0 calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan) - 52px);
    }

    68% {
        opacity: calc(var(--gallery-o, .16) + .05);
        filter: blur(.2px) saturate(1.04);
        transform:
            translate3d(calc(-50% - 8px), calc(-50% + 6px), var(--gallery-z, -220px))
            rotateX(var(--gallery-rx, 58deg))
            rotateY(var(--gallery-ry, 0deg))
            rotateZ(var(--gallery-rz, -8deg))
            skewX(-4deg)
            scale(var(--gallery-scale, .88));
        background-position:
            0 0,
            calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan) - 34px) 0,
            0 calc(var(--stage-gallery-scan) + var(--stage-gallery-ambient-scan) + 28px);
    }
}

@keyframes jvueGalleryScan {
    0% {
        opacity: 0;
        transform: translate3d(-58%, 0, 0) skewX(-12deg);
    }

    36% {
        opacity: .5;
    }

    100% {
        opacity: 0;
        transform: translate3d(58%, 0, 0) skewX(-12deg);
    }
}

@keyframes jvueGalleryLine {
    0%,
    100% {
        opacity: var(--gallery-line-o, .2);
        filter: blur(.5px);
        transform:
            translate3d(-52%, -50%, var(--gallery-line-z, -180px))
            rotate(var(--gallery-line-r, -8deg))
            scaleX(.72);
    }

    48% {
        opacity: calc(var(--gallery-line-o, .2) + .16);
        filter: blur(0);
        transform:
            translate3d(-48%, -50%, var(--gallery-line-z, -180px))
            rotate(var(--gallery-line-r, -8deg))
            scaleX(1.08);
    }
}

@keyframes jvueWorkstripTitle {
    0%,
    100% {
        opacity: .12;
        filter: blur(.35px);
        transform: translate3d(-50%, -50%, -250px) skewX(-9deg) rotate(-2deg);
    }

    45% {
        opacity: .28;
        filter: blur(0);
        transform: translate3d(calc(-50% + 18px), calc(-50% - 8px), -210px) skewX(-12deg) rotate(-3deg);
    }

    52% {
        opacity: .08;
        filter: blur(.7px);
        transform: translate3d(calc(-50% - 12px), calc(-50% + 4px), -280px) skewX(-3deg) rotate(1deg);
    }
}

@keyframes jvueWorkstripPanel {
    0%,
    100% {
        opacity: var(--workstrip-o, .14);
        filter: blur(.45px) saturate(.96);
        background-position:
            0 0,
            calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan)) 0,
            calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan)) 0;
        transform:
            translate3d(-50%, -50%, var(--workstrip-z, -180px))
            rotateX(var(--workstrip-rx, 62deg))
            rotateY(var(--workstrip-ry, 0deg))
            rotateZ(var(--workstrip-rz, -8deg))
            skewX(-12deg)
            scale(var(--workstrip-scale, .86));
    }

    46% {
        opacity: calc(var(--workstrip-o, .14) + .1);
        filter: blur(0) saturate(1.12);
        background-position:
            0 0,
            calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan) + 120px) 0,
            calc(var(--stage-workstrip-scan) + var(--stage-workstrip-ambient-scan) - 42px) 0;
        transform:
            translate3d(calc(-50% + 18px), calc(-50% - 10px), var(--workstrip-z, -180px))
            rotateX(var(--workstrip-rx, 62deg))
            rotateY(var(--workstrip-ry, 0deg))
            rotateZ(var(--workstrip-rz, -8deg))
            skewX(-12deg)
            scale(var(--workstrip-scale, .86));
    }

    72% {
        opacity: calc(var(--workstrip-o, .14) + .04);
        filter: blur(.18px) saturate(1.04);
        transform:
            translate3d(calc(-50% - 10px), calc(-50% + 5px), var(--workstrip-z, -180px))
            rotateX(var(--workstrip-rx, 62deg))
            rotateY(var(--workstrip-ry, 0deg))
            rotateZ(var(--workstrip-rz, -8deg))
            skewX(-12deg)
            scale(var(--workstrip-scale, .86));
    }
}

@keyframes jvueWorkstripLine {
    0% {
        opacity: 0;
        filter: blur(.6px);
        transform: translate3d(-50%, -50%, var(--workstrip-line-z, -110px)) rotate(var(--workstrip-line-r, -12deg)) translate3d(-14vw, 0, 0) scaleX(.38);
    }

    36% {
        opacity: var(--workstrip-line-o, .18);
        filter: blur(0);
        transform: translate3d(-50%, -50%, var(--workstrip-line-z, -110px)) rotate(var(--workstrip-line-r, -12deg)) translate3d(0, 0, 0) scaleX(var(--workstrip-line-scale, .82));
    }

    100% {
        opacity: 0;
        filter: blur(.4px);
        transform: translate3d(-50%, -50%, var(--workstrip-line-z, -110px)) rotate(var(--workstrip-line-r, -12deg)) translate3d(18vw, 0, 0) scaleX(.52);
    }
}

@keyframes jvueChapterTitle {
    0%,
    100% {
        opacity: .1;
        filter: blur(.5px);
        transform: translate3d(-50%, -50%, -190px) skewX(-12deg);
    }

    42% {
        opacity: .24;
        filter: blur(0);
        transform: translate3d(calc(-50% + 14px), calc(-50% - 7px), -150px) skewX(-17deg);
    }

    52% {
        opacity: .06;
        filter: blur(.8px);
        transform: translate3d(calc(-50% - 12px), calc(-50% + 4px), -230px) skewX(-4deg);
    }
}

@keyframes jvueChapterChip {
    0%,
    100% {
        opacity: var(--chapter-chip-o, .16);
        filter: blur(.35px);
        transform:
            translate3d(-50%, -50%, var(--chapter-chip-z, -120px))
            rotateX(58deg)
            rotateZ(var(--chapter-chip-r, -8deg))
            skewX(-10deg)
            scale(var(--chapter-chip-scale, .84));
    }

    46% {
        opacity: calc(var(--chapter-chip-o, .16) + .09);
        filter: blur(0);
        transform:
            translate3d(calc(-50% + 9px), calc(-50% - 6px), var(--chapter-chip-z, -120px))
            rotateX(58deg)
            rotateZ(var(--chapter-chip-r, -8deg))
            skewX(-10deg)
            scale(var(--chapter-chip-scale, .84));
    }
}

@keyframes jvueChapterSlit {
    0% {
        opacity: 0;
        background-position: calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan) - 120px) 0, calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan) - 120px) 0;
        transform:
            translate3d(-50%, -50%, var(--chapter-slit-z, -80px))
            rotate(var(--chapter-slit-r, -12deg))
            translate3d(-12vw, 0, 0)
            skewX(-12deg)
            scaleX(.38);
    }

    38% {
        opacity: var(--chapter-slit-o, .12);
        transform:
            translate3d(-50%, -50%, var(--chapter-slit-z, -80px))
            rotate(var(--chapter-slit-r, -12deg))
            translate3d(0, 0, 0)
            skewX(-12deg)
            scaleX(var(--chapter-slit-scale, .84));
    }

    100% {
        opacity: 0;
        background-position: calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan) + 180px) 0, calc(var(--stage-chapter-scan) + var(--stage-chapter-ambient-scan) + 180px) 0;
        transform:
            translate3d(-50%, -50%, var(--chapter-slit-z, -80px))
            rotate(var(--chapter-slit-r, -12deg))
            translate3d(18vw, 0, 0)
            skewX(-12deg)
            scaleX(.58);
    }
}

@keyframes jvueChapterMask {
    0%,
    100% {
        opacity: var(--chapter-mask-o, .18);
        filter: blur(.4px);
        transform:
            translate3d(-50%, -50%, var(--chapter-mask-z, -220px))
            rotateX(64deg)
            rotateZ(var(--chapter-mask-r, -10deg))
            skewX(-10deg)
            scale(.92);
    }

    50% {
        opacity: calc(var(--chapter-mask-o, .18) + .08);
        filter: blur(0);
        transform:
            translate3d(calc(-50% + 18px), calc(-50% - 8px), var(--chapter-mask-z, -220px))
            rotateX(64deg)
            rotateZ(var(--chapter-mask-r, -10deg))
            skewX(-10deg)
            scale(1.04);
    }
}

@keyframes jvuePosterCard {
    0%,
    100% {
        opacity: var(--poster-o, .13);
        filter: blur(.45px) saturate(.96);
        background-position:
            0 0,
            0 0,
            0 0,
            calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan)) 0;
        transform:
            translate3d(-50%, -50%, var(--poster-z, -260px))
            rotateX(var(--poster-rx, 54deg))
            rotateY(var(--poster-ry, 0deg))
            rotateZ(var(--poster-rz, -8deg))
            skewX(-5deg)
            scale(var(--poster-scale, .84));
    }

    44% {
        opacity: calc(var(--poster-o, .13) + .1);
        filter: blur(0) saturate(1.1);
        background-position:
            0 0,
            0 0,
            0 0,
            calc(var(--stage-poster-scan) + var(--stage-poster-ambient-scan) + 96px) 0;
        transform:
            translate3d(calc(-50% + 14px), calc(-50% - 9px), var(--poster-z, -260px))
            rotateX(var(--poster-rx, 54deg))
            rotateY(var(--poster-ry, 0deg))
            rotateZ(var(--poster-rz, -8deg))
            skewX(-5deg)
            scale(var(--poster-scale, .84));
    }

    72% {
        opacity: calc(var(--poster-o, .13) + .04);
        filter: blur(.18px) saturate(1.04);
        transform:
            translate3d(calc(-50% - 8px), calc(-50% + 5px), var(--poster-z, -260px))
            rotateX(var(--poster-rx, 54deg))
            rotateY(var(--poster-ry, 0deg))
            rotateZ(var(--poster-rz, -8deg))
            skewX(-5deg)
            scale(var(--poster-scale, .84));
    }
}

@keyframes jvuePosterRail {
    0%,
    100% {
        opacity: var(--poster-rail-o, .14);
        filter: blur(.45px);
        transform:
            translate3d(-50%, -50%, var(--poster-rail-z, -180px))
            rotate(var(--poster-rail-r, -8deg))
            scaleX(.62);
    }

    48% {
        opacity: calc(var(--poster-rail-o, .14) + .14);
        filter: blur(0);
        transform:
            translate3d(-50%, -50%, var(--poster-rail-z, -180px))
            rotate(var(--poster-rail-r, -8deg))
            scaleX(var(--poster-rail-scale, .88));
    }
}

@keyframes jvueAnimeLine {
    0% {
        opacity: 0;
        transform: rotate(var(--anime-rot, -12deg)) translate3d(-52vw, 0, 0) scaleX(.18);
        filter: blur(.35px);
    }

    16% {
        opacity: .34;
    }

    48% {
        opacity: .2;
        transform: rotate(var(--anime-rot, -12deg)) translate3d(26vw, 0, 0) scaleX(1.18);
        filter: blur(.05px);
    }

    100% {
        opacity: 0;
        transform: rotate(var(--anime-rot, -12deg)) translate3d(128vw, 0, 0) scaleX(.44);
        filter: blur(.5px);
    }
}

@keyframes jvueStageFractureSweep {
    0% {
        opacity: 0;
        background-position:
            calc(var(--scene-fracture-scan) - 42vw) 0,
            calc(var(--scene-impact-scan) - 18vw) 0,
            0 var(--scene-fracture-scan-reverse);
        transform:
            translate3d(calc(var(--scene-fracture-x) - 18vw), var(--scene-fracture-y), 0)
            rotate(var(--scene-fracture-angle))
            skewX(-16deg)
            scale(.82);
        filter: blur(.65px) saturate(1.05) contrast(1.05);
    }

    42%,
    64% {
        opacity: var(--scene-fracture-line-opacity);
        filter: blur(.12px) saturate(1.24) contrast(1.22) brightness(1.08);
    }

    100% {
        opacity: .04;
        background-position:
            calc(var(--scene-fracture-scan) + 44vw) 0,
            calc(var(--scene-impact-scan) + 22vw) 0,
            0 calc(var(--scene-fracture-scan-reverse) - 90px);
        transform:
            translate3d(calc(var(--scene-fracture-x) + 18vw), var(--scene-fracture-y), 0)
            rotate(var(--scene-fracture-angle))
            skewX(-8deg)
            scale(var(--scene-fracture-scale));
        filter: blur(.35px) saturate(1.14) contrast(1.1);
    }
}

@keyframes jvueStageFractureGrain {
    0% {
        opacity: 0;
        background-position:
            calc(var(--scene-fracture-scan) - 120px) 0,
            calc(var(--scene-fracture-scan-reverse) + 80px) var(--scene-fracture-scan),
            0 0;
        filter: blur(.45px) saturate(1.02);
    }

    33% {
        opacity: var(--scene-fracture-grain-opacity);
        background-position:
            calc(var(--scene-fracture-scan) + 34px) -18px,
            calc(var(--scene-fracture-scan-reverse) - 42px) calc(var(--scene-fracture-scan) + 20px),
            0 0;
        filter: blur(.12px) saturate(1.24);
    }

    66% {
        opacity: var(--scene-fracture-grain-opacity);
        background-position:
            calc(var(--scene-fracture-scan) - 28px) 16px,
            calc(var(--scene-fracture-scan-reverse) + 36px) calc(var(--scene-fracture-scan) - 24px),
            0 0;
    }

    100% {
        opacity: .02;
        background-position:
            calc(var(--scene-fracture-scan) + 160px) 0,
            calc(var(--scene-fracture-scan-reverse) - 120px) var(--scene-fracture-scan),
            0 0;
        filter: blur(.38px) saturate(1.08);
    }
}

@keyframes jvueStageFractureDrift {
    0% {
        background-position:
            calc(var(--scene-fracture-scan) - 26vw) 0,
            calc(var(--scene-impact-scan) - 12vw) 0,
            0 calc(var(--scene-fracture-scan-reverse) + 42px);
        transform:
            translate3d(calc(var(--scene-fracture-x) - 12vw), var(--scene-fracture-y), 0)
            rotate(var(--scene-fracture-angle))
            skewX(-14deg)
            scale(var(--scene-fracture-scale));
        filter: blur(.32px) saturate(1.18) contrast(1.16);
    }

    100% {
        background-position:
            calc(var(--scene-fracture-scan) + 28vw) 0,
            calc(var(--scene-impact-scan) + 16vw) 0,
            0 calc(var(--scene-fracture-scan-reverse) - 58px);
        transform:
            translate3d(calc(var(--scene-fracture-x) + 12vw), var(--scene-fracture-y), 0)
            rotate(var(--scene-fracture-angle))
            skewX(-8deg)
            scale(var(--scene-fracture-scale));
        filter: blur(.12px) saturate(1.28) contrast(1.24) brightness(1.06);
    }
}

@keyframes jvueStageFractureGrainDrift {
    0% {
        background-position:
            calc(var(--scene-fracture-scan) - 90px) -18px,
            calc(var(--scene-fracture-scan-reverse) + 72px) var(--scene-fracture-scan),
            0 0;
        transform:
            translate3d(var(--scene-fracture-counter-x), var(--scene-fracture-counter-y), 0)
            rotate(var(--scene-fracture-counter-angle))
            scale(var(--scene-fracture-grain-scale));
        filter: blur(.22px) saturate(1.14);
    }

    50% {
        background-position:
            calc(var(--scene-fracture-scan) + 40px) 14px,
            calc(var(--scene-fracture-scan-reverse) - 38px) calc(var(--scene-fracture-scan) + 28px),
            0 0;
        filter: blur(.12px) saturate(1.3);
    }

    100% {
        background-position:
            calc(var(--scene-fracture-scan) + 126px) -10px,
            calc(var(--scene-fracture-scan-reverse) - 94px) calc(var(--scene-fracture-scan) - 18px),
            0 0;
        transform:
            translate3d(calc(var(--scene-fracture-counter-x) - 20px), calc(var(--scene-fracture-counter-y) + 12px), 0)
            rotate(var(--scene-fracture-counter-angle))
            scale(var(--scene-fracture-grain-scale));
        filter: blur(.3px) saturate(1.12);
    }
}

@keyframes jvueAnimeSpark {
    0% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) scale(.44);
    }

    28% {
        opacity: .36;
    }

    54% {
        opacity: .18;
        transform: translate3d(calc(-50% + 22px), calc(-50% - 18px), 0) scale(1.18);
    }

    100% {
        opacity: 0;
        transform: translate3d(calc(-50% - 16px), calc(-50% + 12px), 0) scale(.62);
    }
}

@keyframes jvueAnimeSlash {
    0% {
        opacity: 0;
        transform: rotate(var(--anime-slash-rot, -12deg)) translate3d(-62vw, 0, 0) scaleX(.12);
    }

    18% {
        opacity: .46;
    }

    48% {
        opacity: .26;
        transform: rotate(var(--anime-slash-rot, -12deg)) translate3d(8vw, 0, 0) scaleX(1.04);
    }

    100% {
        opacity: 0;
        transform: rotate(var(--anime-slash-rot, -12deg)) translate3d(118vw, 0, 0) scaleX(.38);
    }
}

@keyframes jvueStageWipePanel {
    0% {
        opacity: 0;
        transform: translate3d(-72vw, 0, 0) scaleX(.12);
    }

    20% {
        opacity: .72;
    }

    50% {
        opacity: .34;
        transform: translate3d(4vw, 0, 0) scaleX(1.02);
    }

    100% {
        opacity: 0;
        transform: translate3d(116vw, 0, 0) scaleX(.36);
    }
}

@keyframes jvueStageWipeLine {
    0% {
        opacity: 0;
        transform: translate3d(-74vw, 0, 0) scaleX(.08);
        filter: blur(.3px);
    }

    18% {
        opacity: .86;
    }

    46% {
        opacity: .46;
        transform: translate3d(12vw, 0, 0) scaleX(1.08);
        filter: blur(0);
    }

    100% {
        opacity: 0;
        transform: translate3d(128vw, 0, 0) scaleX(.22);
        filter: blur(.45px);
    }
}

@keyframes jvueStageWipeScan {
    0% {
        opacity: 0;
        background-position: 0 -120px, 50% 50%;
        transform: scale(1.08);
    }

    34% {
        opacity: .38;
    }

    100% {
        opacity: 0;
        background-position: 0 120px, 50% 50%;
        transform: scale(1);
    }
}

@keyframes jvueLensLine {
    0% {
        opacity: .12;
        transform: rotate(var(--lens-angle)) translate3d(var(--lens-pull), 0, 0) scaleX(.42);
        filter: blur(.4px);
    }

    42% {
        opacity: .72;
        transform: rotate(var(--lens-angle)) translate3d(0, 0, 0) scaleX(1.08);
        filter: blur(0);
    }

    100% {
        opacity: .08;
        transform: rotate(var(--lens-angle)) translate3d(var(--lens-tail), 0, 0) scaleX(.34);
        filter: blur(.5px);
    }
}

@keyframes jvueLensRing {
    0% {
        opacity: .08;
        transform: translate3d(-50%, -50%, 0) rotate(var(--lens-angle)) scale(.72);
    }

    45% {
        opacity: .42;
        transform: translate3d(-50%, -50%, 0) rotate(var(--lens-angle)) scale(1.08);
    }

    100% {
        opacity: .1;
        transform: translate3d(-50%, -50%, 0) rotate(var(--lens-angle)) scale(1.28);
    }
}

@keyframes jvueLensScan {
    0% {
        background-position: -90px 0, 0 0, 0 0;
    }

    100% {
        background-position: 90px 0, 0 0, 0 0;
    }
}

@keyframes jvueEchoTitle {
    0%,
    64%,
    100% {
        transform: translate3d(-50%, -50%, 0) scaleX(1.18);
        opacity: .56;
        filter: blur(.15px);
    }

    8% {
        transform: translate3d(calc(-50% - 18px), calc(-50% + 2px), 0) scaleX(1.2);
        opacity: .74;
    }

    12% {
        transform: translate3d(calc(-50% + 14px), calc(-50% - 1px), 0) scaleX(1.14);
        opacity: .48;
    }

    19%,
    48% {
        transform: translate3d(-50%, -50%, 0) scaleX(1.18);
        opacity: .68;
    }

    53% {
        transform: translate3d(calc(-50% + 8px), calc(-50% + 5px), 0) scaleX(1.22);
        opacity: .42;
        filter: blur(.45px);
    }
}

@keyframes jvueEchoSlice {
    0% {
        opacity: 0;
        transform: skewX(var(--echo-slice-skew, -12deg)) translate3d(-62vw, 0, 0) scaleX(.24);
    }

    18% {
        opacity: var(--echo-slice-opacity, .46);
    }

    42% {
        opacity: .22;
        transform: skewX(var(--echo-slice-skew, -12deg)) translate3d(var(--echo-slice-x, 0), 0, 0) scaleX(1.08);
    }

    100% {
        opacity: 0;
        transform: skewX(var(--echo-slice-skew, -12deg)) translate3d(92vw, 0, 0) scaleX(.36);
    }
}

@keyframes jvueEchoBlock {
    0%,
    76%,
    100% {
        opacity: 0;
        transform: translate3d(-50%, -50%, 0) skewX(-10deg) scaleX(.74);
    }

    8% {
        opacity: .32;
        transform: translate3d(calc(-50% - 18px), calc(-50% + 4px), 0) skewX(-10deg) scaleX(1.08);
    }

    16% {
        opacity: .14;
        transform: translate3d(calc(-50% + 16px), calc(-50% - 3px), 0) skewX(-10deg) scaleX(.92);
    }

    24%,
    44% {
        opacity: .28;
        transform: translate3d(-50%, -50%, 0) skewX(-10deg) scaleX(1);
    }
}

@keyframes jvueEchoGrid {
    0% {
        opacity: .2;
        background-position:
            0 -80px,
            -80px 0,
            0 0;
    }

    50% {
        opacity: .38;
    }

    100% {
        opacity: .18;
        background-position:
            0 90px,
            90px 0,
            0 0;
    }
}

@keyframes jvueDepthSlide {
    0% {
        background-position: -80px 0, 0 0;
        opacity: .28;
    }

    50% {
        background-position: 60px 0, 120px 0;
        opacity: .72;
    }

    100% {
        background-position: 180px 0, 240px 0;
        opacity: .32;
    }
}

@keyframes jvueRunnerPass {
    0% {
        opacity: 0;
        transform: rotate(var(--runner-angle)) translate3d(-18vw, 0, 0) scaleX(.42);
    }

    18%,
    42% {
        opacity: .74;
    }

    100% {
        opacity: 0;
        transform: rotate(var(--runner-angle)) translate3d(130vw, 0, 0) scaleX(1.24);
    }
}

@keyframes jvueRadialBreath {
    0% {
        filter: brightness(.86) saturate(.92);
        transform: translate3d(-50%, -50%, 0) rotate(var(--fx-orbit-angle)) rotate(var(--ambient-orbit-angle)) scale(var(--radial-scale, 1));
    }

    48% {
        filter: brightness(1.18) saturate(1.08);
        transform: translate3d(-50%, -50%, 0) rotate(var(--fx-orbit-angle)) rotate(var(--ambient-orbit-angle)) scale(var(--radial-scale-peak, 1.04));
    }

    100% {
        filter: brightness(.96) saturate(1);
        transform: translate3d(-50%, -50%, 0) rotate(var(--fx-orbit-angle)) rotate(var(--ambient-orbit-angle)) scale(var(--radial-scale, 1));
    }
}

@keyframes jvuePortalScan {
    0% {
        filter: brightness(.82);
        background-position: -120px 0, 0 0, 0 0;
    }

    46% {
        filter: brightness(1.12);
        background-position: 0 0, 80px 0, 0 44px;
    }

    100% {
        filter: brightness(.92);
        background-position: 140px 0, 160px 0, 0 88px;
    }
}

@keyframes jvuePortalLine {
    0% {
        opacity: 0;
        transform: translate3d(-12%, 0, 0) scaleX(.42);
    }

    28%,
    62% {
        opacity: .68;
    }

    100% {
        opacity: 0;
        transform: translate3d(14%, 0, 0) scaleX(1);
    }
}

@keyframes jvueWakeDrift {
    0% {
        transform: translate3d(-12%, 0, 0) scaleX(.78);
    }

    100% {
        transform: translate3d(12%, 0, 0) scaleX(1.08);
    }
}

@keyframes jvuePixelScatter {
    0% {
        background-position:
            var(--fx-grid-x) var(--fx-grid-y),
            var(--fx-grid2-x) var(--fx-grid2-y),
            var(--fx-diagonal-x) 0;
        transform: translate3d(-3px, 2px, 0);
    }

    42% {
        background-position:
            calc(var(--fx-grid-x) + 22px) calc(var(--fx-grid-y) - 18px),
            calc(var(--fx-grid2-x) - 34px) calc(var(--fx-grid2-y) + 26px),
            calc(var(--fx-diagonal-x) + 18px) 12px;
        transform: translate3d(5px, -4px, 0);
    }

    100% {
        background-position:
            calc(var(--fx-grid-x) - 28px) calc(var(--fx-grid-y) + 18px),
            calc(var(--fx-grid2-x) + 24px) calc(var(--fx-grid2-y) - 22px),
            calc(var(--fx-diagonal-x) - 16px) -14px;
        transform: translate3d(-2px, 3px, 0);
    }
}

@keyframes jvueMeterBeat {
    0%,
    100% {
        opacity: .28;
        transform: scaleX(.28);
    }

    48% {
        opacity: .86;
        transform: scaleX(.96);
    }
}

@keyframes jvueGrainMove {
    0% {
        transform: translate3d(0, 0, 0);
    }

    33% {
        transform: translate3d(1px, -1px, 0);
    }

    66% {
        transform: translate3d(-1px, 1px, 0);
    }

    100% {
        transform: translate3d(0, 0, 0);
    }
}

@keyframes jvueCursorWake {
    0% {
        background-position: -120% 0, 0 0, 0 0, 0 0;
    }

    100% {
        background-position: 120% 0, 0 0, 0 0, 0 0;
    }
}

@media (max-width: 1120px) {
    .jvue-nav {
        display: none;
    }

    .jvue-header-jumps {
        margin-left: auto;
    }

    .jvue-header-jumps a {
        max-width: 78px;
        padding: 0 8px;
    }

    .jvue-immersive-grid,
    .jvue-scene-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .jvue-work-panel {
        min-height: 0;
    }

    .jvue-cursor-trail,
    .jvue-cursor-ring,
    .jvue-cursor-label {
        display: none;
    }

    .jvue-home.is-fx-0 .jvue-stage-storywall,
    .jvue-home.is-fx-1 .jvue-stage-gallery,
    .jvue-home.is-fx-2 .jvue-stage-poster,
    .jvue-home.is-fx-3 .jvue-stage-workstrip,
    .jvue-home.is-fx-4 .jvue-stage-chapter,
    .jvue-home.is-fx-5 .jvue-stage-reel {
        display: none !important;
        opacity: 0 !important;
    }

    .jvue-project-preview {
        min-height: 142px;
        opacity: .54;
    }

    .jvue-feature-grid,
    .jvue-news-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jvue-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jvue-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    body.platform-pro-vue-element {
        overflow-x: hidden;
    }

    .jvue-container,
    .jvue-header {
        width: min(100% - 28px, 640px);
    }

    .jvue-header {
        top: 10px;
        min-height: 56px;
        padding: 0 10px 0 12px;
    }

    .jvue-header-jumps {
        display: none;
    }

    .jvue-brand {
        min-width: 0;
        flex: 1 1 auto;
    }

    .jvue-brand b {
        font-size: 14px;
    }

    .jvue-brand img {
        max-width: 126px;
        max-height: 32px;
    }

    .jvue-header-actions .el-button:first-child,
    .jvue-header-actions .jvue-native-btn:first-child {
        display: none;
    }

    .jvue-header-actions .el-button,
    .jvue-header-actions .jvue-native-btn {
        min-width: 78px;
        padding: 0 12px;
    }

    .jvue-motion-field {
        inset: -28%;
        opacity: .46;
        filter: saturate(1.04) contrast(1.08);
    }

    .jvue-motion-field i:nth-of-type(n + 5),
    .jvue-motion-field span:nth-of-type(n + 5),
    .jvue-motion-field b:nth-of-type(n + 4) {
        display: none;
    }

    .jvue-motion-field b {
        width: clamp(128px, 34vw, 210px);
        height: clamp(56px, 15vw, 92px);
    }

    .jvue-chapter-particles {
        inset: -22%;
        opacity: min(.3, var(--chapter-field-opacity));
        filter: blur(var(--chapter-field-blur)) saturate(1.12) contrast(1.08);
    }

    .jvue-chapter-particles i:nth-of-type(n + 8),
    .jvue-chapter-particles b:nth-of-type(n + 5),
    .jvue-chapter-particles em:nth-of-type(n + 4) {
        display: none;
    }

    .jvue-stage-projector {
        inset: -24%;
        opacity: min(.28, var(--projector-opacity));
        filter: blur(var(--projector-blur)) saturate(1.1) contrast(1.08) brightness(1.02);
    }

    .jvue-stage-projector article {
        width: clamp(210px, 68vw, 380px);
        height: clamp(124px, 39vw, 230px);
    }

    .jvue-stage-projector article:nth-child(n + 4),
    .jvue-stage-projector em:nth-of-type(n + 3),
    .jvue-stage-projector b:nth-of-type(n + 4) {
        display: none;
    }

    .jvue-stage-projector strong {
        font-size: clamp(34px, 12vw, 72px);
    }

    .jvue-scroll-sculpture {
        inset: -32%;
        opacity: .44;
        filter: saturate(1.02) contrast(1.06);
    }

    .jvue-scroll-sculpture i:nth-of-type(n + 6),
    .jvue-scroll-sculpture b:nth-of-type(n + 5),
    .jvue-scroll-sculpture em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-scroll-sculpture em {
        width: clamp(128px, 34vw, 210px);
        height: clamp(54px, 14vw, 90px);
    }

    .jvue-scrollworld {
        inset: -34%;
        opacity: .34;
        filter: saturate(1.02) contrast(1.06);
    }

    .jvue-scrollworld i:nth-of-type(n + 5),
    .jvue-scrollworld b:nth-of-type(n + 6),
    .jvue-scrollworld em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-scrollworld::before {
        --sw-grid-step: 92px;
    }

    .jvue-scrollworld em {
        width: clamp(128px, 34vw, 220px);
        height: clamp(52px, 14vw, 92px);
    }

    .jvue-anime-transition-field {
        inset: -16%;
        opacity: .12;
    }

    .jvue-anime-transition-field i:nth-of-type(n + 5),
    .jvue-anime-transition-field b:nth-of-type(n + 5),
    .jvue-anime-transition-field em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-anime-transition-field::after {
        opacity: .08;
    }

    .jvue-work-cinema-field {
        inset: -14%;
    }

    .jvue-work-cinema-field::before {
        width: 170vw;
        height: clamp(120px, 26vh, 260px);
        filter: blur(.45px);
    }

    .jvue-work-cinema-field::after {
        opacity: .12;
    }

    .jvue-work-cinema-field b:nth-of-type(n + 4),
    .jvue-work-cinema-field em:nth-of-type(n + 3),
    .jvue-work-cinema-field i:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-work-cinema-field strong {
        opacity: .18;
    }

    .jvue-work-cinema-field span::before {
        width: min(72vw, 360px);
        height: min(34vh, 240px);
        opacity: .18;
    }

    .jvue-work-cinema-field span::after {
        max-width: 78vw;
        font-size: clamp(32px, 13vw, 72px);
        opacity: .16;
    }

    .jvue-home .jvue-stage-wake,
    .jvue-home .jvue-stage-runners,
    .jvue-home .jvue-stage-workcuts,
    .jvue-home .jvue-stage-cut {
        display: none !important;
    }

    .jvue-home .jvue-stage-scenes,
    .jvue-home .jvue-stage-director,
    .jvue-home .jvue-scene-magnet,
    .jvue-home .jvue-stage-cuts,
    .jvue-home .jvue-stage-flowfield,
    .jvue-home .jvue-stage-kinetic,
    .jvue-home .jvue-anime-transition-field,
    .jvue-home .jvue-stage-flash,
    .jvue-home .jvue-stage-anime,
    .jvue-home .jvue-stage-echo,
    .jvue-home .jvue-stage-wipe,
    .jvue-home .jvue-stage-storywall,
    .jvue-home .jvue-stage-gallery,
    .jvue-home .jvue-stage-poster,
    .jvue-home .jvue-stage-workstrip,
    .jvue-home .jvue-stage-chapter,
    .jvue-home .jvue-stage-reel {
        display: none !important;
    }

    .jvue-home .jvue-stage-pixels {
        opacity: min(.2, calc(var(--fx-pixel-opacity) + .04));
    }

    .jvue-stage-depth {
        opacity: .22;
    }

    .jvue-stage-radials {
        opacity: .28;
    }

    .jvue-stage-portals {
        opacity: .22;
    }

    .jvue-stage-portals i:nth-child(n + 4) {
        display: none;
    }

    .jvue-stage-scenes {
        inset: -24%;
        opacity: .42;
    }

    .jvue-stage-director {
        inset: -30%;
        opacity: .34;
        filter: saturate(1.02);
    }

    .jvue-scene-magnet,
    .jvue-stage-cuts {
        display: none !important;
    }

    .jvue-stage-director i {
        animation-duration: 16s;
    }

    .jvue-stage-director b:nth-of-type(n + 7) {
        display: none;
    }

    .jvue-stage-morph {
        inset: -26%;
        opacity: .26;
    }

    .jvue-stage-morph b:nth-of-type(n + 5) {
        display: none;
    }

    .jvue-home.is-scroll-active .jvue-stage-morph i,
    .jvue-home.is-scroll-active .jvue-stage-morph b {
        animation-duration: 7.2s;
    }

    .jvue-stage-fluid {
        inset: -26%;
        opacity: .24;
        filter: saturate(1.04);
    }

    .jvue-stage-fluid i:nth-child(n + 4),
    .jvue-stage-fluid b:nth-of-type(n + 4) {
        display: none;
    }

    .jvue-home.is-scroll-active .jvue-stage-fluid i,
    .jvue-home.is-scroll-active .jvue-stage-fluid b {
        animation-duration: 6.8s;
    }

    .jvue-stage-streams {
        inset: -24%;
        opacity: .3;
        filter: saturate(1.02);
    }

    .jvue-stage-flowfield {
        inset: -28%;
        opacity: .22;
        filter: saturate(1.02);
    }

    .jvue-stage-kinetic {
        inset: -30%;
        opacity: .26;
        filter: saturate(1.04);
    }

    .jvue-stage-frames {
        inset: -30%;
        opacity: .18;
    }

    .jvue-stage-frames strong {
        font-size: clamp(58px, 26vw, 128px);
        opacity: .26;
    }

    .jvue-stage-frames small,
    .jvue-stage-frames b {
        display: none;
    }

    .jvue-stage-frames i:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-stage-shards {
        inset: -28%;
        opacity: .22;
    }

    .jvue-stage-shards i:nth-child(n + 9) {
        display: none;
    }

    .jvue-stage-index {
        inset: -30%;
        opacity: .2;
    }

    .jvue-stage-index strong {
        left: 4vw;
        font-size: clamp(72px, 32vw, 154px);
        opacity: .14;
    }

    .jvue-stage-index small {
        display: none;
    }

    .jvue-stage-index span {
        width: 132px;
        min-height: 48px;
        padding: 8px 9px;
        opacity: .1;
    }

    .jvue-stage-index span b {
        font-size: 13px;
    }

    .jvue-stage-index span em {
        display: none;
    }

    .jvue-stage-index span:nth-of-type(n + 4),
    .jvue-stage-index > i:nth-of-type(n + 4),
    .jvue-stage-index > b:nth-of-type(n + 5) {
        display: none;
    }

    .jvue-stage-flash {
        inset: -34%;
        opacity: .18;
    }

    .jvue-stage-flash strong {
        font-size: clamp(64px, 28vw, 132px);
        opacity: .06;
    }

    .jvue-stage-flash small,
    .jvue-stage-flash i:nth-of-type(n + 3),
    .jvue-stage-flash b:nth-of-type(n + 2) {
        display: none;
    }

    .jvue-stage-hotspot {
        display: none;
    }

    .jvue-stage-orbit-field {
        inset: -34%;
        opacity: .2;
        filter: saturate(1) contrast(1.04);
    }

    .jvue-stage-orbit-field::before {
        opacity: .14;
    }

    .jvue-stage-orbit-field i {
        width: 72vw;
        opacity: .16;
    }

    .jvue-stage-orbit-field span {
        width: 4px;
        opacity: .22;
    }

    .jvue-stage-orbit-field b {
        opacity: .08;
    }

    .jvue-stage-storywall {
        inset: -30%;
        opacity: .24;
        filter: saturate(1) contrast(1.05);
    }

    .jvue-stage-storywall::before {
        opacity: .16;
    }

    .jvue-stage-storywall::after {
        opacity: .18;
    }

    .jvue-stage-storywall article {
        width: 172px;
        min-height: 82px;
        padding: 10px 11px;
        opacity: .14;
    }

    .jvue-stage-storywall article i {
        padding: 1px 7px;
        font-size: 10px;
    }

    .jvue-stage-storywall article strong {
        margin-top: 7px;
        font-size: 24px;
        line-height: .98;
    }

    .jvue-stage-storywall article small,
    .jvue-stage-storywall article em {
        display: none;
    }

    .jvue-stage-storywall article b {
        margin: 9px 0 0;
    }

    .jvue-stage-storywall article:nth-of-type(n + 4),
    .jvue-stage-storywall span:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-stage-gallery {
        inset: -30%;
        opacity: .18;
        filter: saturate(1) contrast(1.05);
    }

    .jvue-stage-gallery article {
        width: 168px;
        min-height: 76px;
        padding: 10px 11px;
        opacity: .12;
    }

    .jvue-stage-gallery article strong {
        margin-top: 7px;
        font-size: 13px;
        line-height: 1.2;
    }

    .jvue-stage-gallery article small,
    .jvue-stage-gallery article em {
        display: none;
    }

    .jvue-stage-gallery article:nth-of-type(n + 4),
    .jvue-stage-gallery span:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-stage-workstrip {
        inset: -34%;
        opacity: .16;
        filter: saturate(1) contrast(1.04);
    }

    .jvue-stage-workstrip strong {
        top: 40%;
        font-size: clamp(72px, 26vw, 142px);
        opacity: .12;
    }

    .jvue-stage-workstrip small {
        display: none;
    }

    .jvue-stage-workstrip span {
        width: 172px;
        min-height: 58px;
        padding: 9px 10px;
        opacity: .1;
    }

    .jvue-stage-workstrip span i {
        font-size: 22px;
    }

    .jvue-stage-workstrip span b,
    .jvue-stage-workstrip span:nth-of-type(n + 4),
    .jvue-stage-workstrip em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-stage-chapter {
        inset: -36%;
        opacity: .09;
        filter: saturate(1) contrast(1.04);
    }

    .jvue-stage-chapter strong {
        font-size: clamp(64px, 24vw, 132px);
        opacity: .1;
    }

    .jvue-stage-chapter small {
        display: none;
    }

    .jvue-stage-chapter span {
        min-width: 88px;
        padding: 6px 8px;
        opacity: .1;
    }

    .jvue-stage-chapter span b {
        font-size: 10px;
    }

    .jvue-stage-chapter span:nth-of-type(n + 4),
    .jvue-stage-chapter em:nth-of-type(n + 3),
    .jvue-stage-chapter > i:nth-of-type(n + 2) {
        display: none;
    }

    .jvue-stage-poster {
        inset: -34%;
        opacity: .12;
        filter: saturate(1) contrast(1.04);
    }

    .jvue-stage-poster article {
        width: 152px;
        min-height: 132px;
        padding: 10px;
        opacity: .1;
    }

    .jvue-stage-poster article strong {
        margin-top: 10px;
        font-size: 14px;
        line-height: 1.12;
    }

    .jvue-stage-poster article small,
    .jvue-stage-poster article em,
    .jvue-stage-poster article:nth-of-type(n + 4),
    .jvue-stage-poster span:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-stage-reel {
        inset: -24%;
        opacity: .42;
    }

    .jvue-stage-reel strong {
        top: 17vh;
        right: 4vw;
        font-size: clamp(58px, 28vw, 132px);
        opacity: .16;
    }

    .jvue-stage-reel small {
        display: none;
    }

    .jvue-stage-reel span {
        width: 156px;
        min-height: 62px;
        padding: 10px 11px;
        opacity: .12;
    }

    .jvue-stage-reel span b {
        font-size: 14px;
    }

    .jvue-stage-reel span em {
        display: none;
    }

    .jvue-stage-anime {
        inset: -30%;
        opacity: .46;
    }

    .jvue-stage-lens {
        display: none;
    }

    .jvue-stage-echo {
        display: none;
    }

    .jvue-stage-wipe {
        inset: -32%;
    }

    .jvue-stage-streams i:nth-child(n + 5),
    .jvue-stage-streams b:nth-of-type(n + 5),
    .jvue-stage-flowfield i:nth-child(n + 5),
    .jvue-stage-flowfield b:nth-of-type(n + 7),
    .jvue-stage-flowfield em:nth-of-type(n + 3),
    .jvue-stage-kinetic i:nth-child(n + 4),
    .jvue-stage-kinetic b:nth-of-type(n + 5),
    .jvue-stage-kinetic em:nth-of-type(n + 2),
    .jvue-stage-frames i:nth-of-type(n + 3),
    .jvue-stage-shards i:nth-child(n + 9),
    .jvue-stage-index span:nth-of-type(n + 4),
    .jvue-stage-index > i:nth-of-type(n + 4),
    .jvue-stage-index > b:nth-of-type(n + 5),
    .jvue-stage-flash i:nth-of-type(n + 3),
    .jvue-stage-flash b:nth-of-type(n + 2),
    .jvue-stage-orbit-field i:nth-of-type(n + 4),
    .jvue-stage-orbit-field span:nth-of-type(n + 5),
    .jvue-stage-orbit-field b:nth-of-type(n + 3),
    .jvue-stage-storywall article:nth-of-type(n + 4),
    .jvue-stage-storywall span:nth-of-type(n + 3),
    .jvue-stage-gallery article:nth-of-type(n + 4),
    .jvue-stage-gallery span:nth-of-type(n + 3),
    .jvue-stage-workstrip span:nth-of-type(n + 4),
    .jvue-stage-workstrip em:nth-of-type(n + 3),
    .jvue-stage-chapter span:nth-of-type(n + 4),
    .jvue-stage-chapter em:nth-of-type(n + 3),
    .jvue-stage-chapter > i:nth-of-type(n + 2),
    .jvue-stage-poster article:nth-of-type(n + 4),
    .jvue-stage-poster span:nth-of-type(n + 3),
    .jvue-stage-reel span:nth-of-type(n + 4),
    .jvue-stage-anime i:nth-child(n + 3),
    .jvue-stage-anime b:nth-of-type(n + 3),
    .jvue-stage-anime em:nth-of-type(n + 2),
    .jvue-stage-echo i:nth-child(n + 3),
	    .jvue-stage-echo b:nth-of-type(n + 2),
	    .jvue-stage-wipe i:nth-child(n + 2),
	    .jvue-stage-wipe b:nth-of-type(n + 2),
	    .jvue-stage-workcuts i:nth-child(n + 3),
	    .jvue-stage-workcuts b:nth-of-type(n + 3),
	    .jvue-scroll-director-field i:nth-of-type(n + 3),
	    .jvue-scroll-director-field b:nth-of-type(n + 5),
	    .jvue-scroll-director-field em:nth-of-type(n + 3) {
	        display: none;
	    }

	    .jvue-scroll-director-field {
	        inset: -18%;
	        opacity: min(.42, var(--scroll-director-visual-opacity));
	        filter: saturate(1.05) contrast(1.08);
	    }

	    .jvue-home.is-cursor-visible .jvue-scroll-director-field {
	        opacity: min(.86, var(--scroll-director-visual-opacity)) !important;
	    }

	    .jvue-scroll-director-field strong {
	        max-width: 88vw;
	        font-size: clamp(58px, 18vw, 132px);
	        opacity: .05;
	    }

	    .jvue-scroll-director-field em {
	        width: clamp(140px, 42vw, 280px);
	        height: clamp(70px, 22vw, 150px);
	    }

    .jvue-home.is-scroll-active .jvue-stage-streams i,
    .jvue-home.is-scroll-active .jvue-stage-streams b,
    .jvue-home.is-scroll-active .jvue-stage-flowfield i,
    .jvue-home.is-scroll-active .jvue-stage-flowfield b,
    .jvue-home.is-scroll-active .jvue-stage-flowfield em,
    .jvue-home.is-scroll-active .jvue-stage-kinetic i,
    .jvue-home.is-scroll-active .jvue-stage-kinetic b,
    .jvue-home.is-scroll-active .jvue-stage-kinetic em {
        animation-duration: 6.8s;
    }

    .jvue-stage-cut {
        inset: -28%;
        opacity: 1;
    }

    .jvue-stage-cut i:nth-child(1) {
        height: 12vh;
        min-height: 86px;
    }

    .jvue-stage-cut i:nth-child(3) {
        height: 7vh;
        min-height: 58px;
    }

    .jvue-home.is-fx-0 .jvue-stage-scenes i:nth-child(1),
    .jvue-home.is-fx-1 .jvue-stage-scenes i:nth-child(2),
    .jvue-home.is-fx-2 .jvue-stage-scenes i:nth-child(3),
    .jvue-home.is-fx-3 .jvue-stage-scenes i:nth-child(4),
    .jvue-home.is-fx-4 .jvue-stage-scenes i:nth-child(5),
    .jvue-home.is-fx-5 .jvue-stage-scenes i:nth-child(6) {
        opacity: .18 !important;
    }

    .jvue-stage-wake {
        opacity: .18;
    }

    .jvue-stage-pixels {
        opacity: .12;
    }

    .jvue-stage-pixels i:nth-child(n + 3) {
        display: none;
    }

    .jvue-stage-runners {
        opacity: .32;
    }

    .jvue-stage-meter {
        display: none;
    }

    .jvue-hero {
        min-height: 100vh;
        padding: 110px 0 70px;
        align-items: flex-start;
    }

    .jvue-immersive-grid {
        gap: 24px;
    }

    .jvue-hero-copy h1 {
        font-size: clamp(44px, 15vw, 68px);
    }

    .jvue-title-main {
        font-size: clamp(23px, 7vw, 34px);
    }

    .jvue-hero-copy p {
        font-size: 15px;
        line-height: 1.75;
    }

    .jvue-hero-actions {
        gap: 10px;
    }

    .jvue-hero-actions .el-button,
    .jvue-hero-actions .jvue-native-btn {
        min-width: 132px;
        flex: 1 1 132px;
    }

    .jvue-metrics {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        margin-top: 30px;
    }

    .jvue-metrics span {
        min-height: 74px;
        padding: 12px 8px;
    }

    .jvue-metrics b {
        font-size: 20px;
    }

    .jvue-metrics em {
        font-size: 12px;
    }

    .jvue-work-panel {
        min-height: 0;
        padding: 20px;
        grid-template-rows: auto minmax(110px, auto) auto auto auto;
        gap: 14px;
    }

    .jvue-work-panel h2 {
        margin-top: 0;
        font-size: 28px;
    }

    .jvue-work-switch {
        left: auto;
        right: auto;
        bottom: auto;
    }

    .jvue-section {
        padding: 76px 0;
    }

    .jvue-section-head {
        margin-bottom: 26px;
    }

    .jvue-section-head h2 {
        font-size: clamp(30px, 10vw, 42px);
    }

    .jvue-feature-grid,
    .jvue-news-grid,
    .jvue-product-grid,
    .jvue-footer-main {
        grid-template-columns: 1fr;
    }

    .jvue-feature-card {
        min-height: 184px;
    }

    .jvue-market-toolbar {
        grid-template-columns: 1fr;
    }

    .jvue-market-toolbar .el-segmented {
        overflow-x: auto;
    }

    .jvue-product-card {
        min-height: 190px;
        padding: 16px;
    }

    .jvue-product-body {
        min-height: 158px;
    }

    .jvue-scene-list button {
        min-height: 88px;
    }

    .jvue-scene-orbit {
        position: relative;
        top: auto;
        min-height: 280px;
    }

    .jvue-floating-tools {
        display: none;
    }

    .jvue-mobile-dock {
        position: fixed;
        left: 10px;
        right: 10px;
        bottom: max(10px, env(safe-area-inset-bottom));
        z-index: 60;
        min-height: 58px;
        padding: 6px;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 4px;
        border: 1px solid rgba(232, 237, 247, .16);
        border-radius: 8px;
        background: rgba(4, 6, 10, .78);
        backdrop-filter: blur(18px);
        box-shadow: 0 18px 42px rgba(0, 0, 0, .34);
    }

    .jvue-mobile-dock a {
        min-width: 0;
        display: grid;
        place-items: center;
        gap: 2px;
        border-radius: 8px;
        color: rgba(224, 232, 244, .74);
        font-size: 12px;
    }

    .jvue-mobile-dock b,
    .jvue-mobile-dock span {
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .jvue-mobile-dock b {
        color: #fff;
        font-size: 13px;
    }

    .jvue-mobile-dock span {
        color: rgba(224, 232, 244, .46);
        font-size: 10px;
    }

    .jvue-footer {
        padding-bottom: 96px;
    }
}

@media (max-width: 380px) {
    .jvue-header-actions .el-button,
    .jvue-header-actions .jvue-native-btn {
        min-width: 68px;
        padding: 0 10px;
    }

    .jvue-metrics {
        grid-template-columns: 1fr;
    }

    .jvue-product-card {
        min-height: auto;
    }
}

@media (max-width: 780px) {
    .jvue-live-backdrop {
        inset: -32%;
        opacity: min(.42, calc(var(--live-bg-opacity) + .08));
        filter: saturate(1.04) contrast(1.06);
    }

    .jvue-live-backdrop i:nth-of-type(n + 6),
    .jvue-live-backdrop b:nth-of-type(n + 5),
    .jvue-live-backdrop span:nth-of-type(n + 4),
    .jvue-live-backdrop em:nth-of-type(n + 4) {
        display: none;
    }

    .jvue-live-backdrop::after,
    .jvue-live-backdrop em {
        filter: blur(12px);
    }

    .jvue-energy-field {
        inset: -30%;
        opacity: min(.34, var(--energy-field-opacity));
        filter: saturate(1.04) contrast(1.06);
    }

    .jvue-energy-field i:nth-of-type(n + 6),
    .jvue-energy-field b:nth-of-type(n + 7),
    .jvue-energy-field em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-depth-particles {
        display: block !important;
        opacity: .36 !important;
        filter: saturate(1.08) contrast(1.12) brightness(.94) drop-shadow(0 0 14px rgba(105, 199, 240, .1)) !important;
    }

    .jvue-at-scroll-stage {
        inset: -18%;
        opacity: .46;
        filter: saturate(1.02) contrast(1.08) brightness(.92);
    }

    .jvue-home.is-scroll-active .jvue-at-scroll-stage,
    .jvue-home.is-scene-switching .jvue-at-scroll-stage,
    .jvue-home.is-work-transitioning .jvue-at-scroll-stage {
        opacity: .58;
    }

    .jvue-at-scroll-stage::before {
        opacity: .22;
        background-size: auto, 120px 100%, 100% 72px;
    }

    .jvue-at-scroll-stage::after {
        opacity: .18;
    }

    .jvue-at-scroll-stage span {
        width: clamp(220px, 78vw, 420px);
        height: clamp(220px, 78vw, 420px);
    }

    .jvue-at-scroll-stage i:nth-of-type(n + 4),
    .jvue-at-scroll-stage b:nth-of-type(n + 6),
    .jvue-at-scroll-stage em:nth-of-type(n + 3) {
        display: none;
    }

    .jvue-at-scroll-stage i {
        --at-line-w: 92vw;
        --at-line-o: .16;
        animation-duration: 7.2s;
    }

    .jvue-at-scroll-stage em {
        --at-card-w: clamp(118px, 48vw, 220px);
        --at-card-h: clamp(42px, 15vw, 72px);
        --at-card-o: .12;
    }

    .jvue-at-work-reel {
        inset: -16%;
        opacity: min(.28, var(--at-work-opacity));
        transform:
            translate3d(var(--at-work-x), var(--at-work-y), var(--at-work-depth))
            rotateZ(var(--at-work-tilt))
            scale(var(--at-work-scale));
        filter: saturate(1.02) contrast(1.08) brightness(.9);
    }

    .jvue-at-work-reel article {
        width: clamp(180px, 58vw, 280px);
        height: clamp(110px, 35vw, 180px);
    }

    .jvue-at-work-reel article:not(.active) {
        display: none;
    }

    .jvue-at-work-reel::before,
    .jvue-at-work-reel::after,
    .jvue-at-work-reel i:nth-of-type(n + 3),
    .jvue-at-work-reel b:nth-of-type(n + 3),
    .jvue-at-work-reel em:nth-of-type(n + 2) {
        display: none;
    }

    .jvue-stage-tableau,
    .jvue-home .jvue-stage-tableau {
        display: none !important;
    }
}

/* Native-pixel UI layer above the adaptive WebGL stage. */
body.platform-pro-vue-element {
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto;
    text-rendering: optimizeLegibility;
    font-synthesis: none;
}

.jvue-home.is-stage-webgl .jvue-unified-stage {
    z-index: 1;
    opacity: .98;
    image-rendering: auto;
    filter: none;
    transform: none;
    will-change: auto;
}

.jvue-home.is-stage-webgl::before {
    opacity: .72;
    filter: none;
}

.jvue-home.is-stage-webgl::after {
    opacity: .34;
    filter: none;
}

.jvue-home.is-stage-webgl.is-fx-0::before {
    background:
        radial-gradient(ellipse at 58% 46%, rgba(105, 199, 240, .2), transparent 34%),
        radial-gradient(ellipse at 78% 28%, rgba(201, 154, 85, .1), transparent 30%),
        linear-gradient(180deg, rgba(3, 8, 13, .2), rgba(2, 4, 8, .76));
}

.jvue-home.is-stage-webgl.is-fx-1::before {
    background:
        linear-gradient(104deg, transparent 18%, rgba(216, 241, 255, .08) 42%, transparent 62%),
        radial-gradient(ellipse at 34% 52%, rgba(80, 142, 176, .2), transparent 38%),
        linear-gradient(180deg, rgba(4, 7, 12, .28), rgba(2, 4, 8, .78));
}

.jvue-home.is-stage-webgl.is-fx-2::before {
    background:
        repeating-linear-gradient(90deg, transparent 0 88px, rgba(105, 199, 240, .025) 89px 90px),
        radial-gradient(ellipse at 72% 48%, rgba(86, 196, 155, .12), transparent 34%),
        radial-gradient(ellipse at 38% 30%, rgba(201, 154, 85, .08), transparent 28%),
        rgba(2, 6, 10, .72);
}

.jvue-home.is-stage-webgl.is-fx-3::before {
    background:
        radial-gradient(ellipse at 50% 52%, rgba(216, 241, 255, .16), transparent 20%),
        radial-gradient(ellipse at 50% 52%, transparent 22%, rgba(105, 199, 240, .1) 38%, transparent 58%),
        linear-gradient(180deg, rgba(2, 5, 9, .22), rgba(1, 3, 7, .8));
}

.jvue-home.is-stage-webgl.is-fx-4::before {
    background:
        linear-gradient(118deg, transparent 20%, rgba(105, 199, 240, .09) 46%, transparent 58%),
        radial-gradient(ellipse at 32% 56%, rgba(77, 161, 184, .18), transparent 36%),
        linear-gradient(180deg, rgba(3, 7, 12, .26), rgba(2, 4, 8, .78));
}

.jvue-home.is-stage-webgl.is-fx-5::before {
    background:
        radial-gradient(circle at 62% 48%, transparent 0 17%, rgba(201, 154, 85, .12) 24%, transparent 38%),
        radial-gradient(ellipse at 62% 48%, rgba(105, 199, 240, .12), transparent 42%),
        linear-gradient(180deg, rgba(4, 6, 10, .26), rgba(2, 3, 7, .8));
}

.jvue-home.is-stage-gpu-trail .jvue-cursor-trail {
    display: block !important;
    transition: opacity .12s linear;
}

.jvue-cursor-trail svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.jvue-cursor-energy-glow,
.jvue-cursor-energy-core {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
}

.jvue-cursor-energy-glow {
    stroke: rgba(105, 199, 240, .2);
    stroke-width: 7;
}

.jvue-cursor-energy-core {
    stroke-width: 1.8;
}

.jvue-cursor-energy-head {
    fill: rgba(232, 248, 255, .96);
    stroke: rgba(105, 199, 240, .46);
    stroke-width: 1.2;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 5px rgba(105, 199, 240, .52));
}

.jvue-click-burst {
    opacity: 0;
    pointer-events: none;
}

.jvue-click-burst.is-active {
    opacity: 1;
}

.jvue-click-ring,
.jvue-click-rays {
    fill: none;
    vector-effect: non-scaling-stroke;
    transform-box: fill-box;
    transform-origin: center;
}

.jvue-click-ring.is-outer {
    stroke: rgba(105, 199, 240, .8);
    stroke-width: 1.4;
}

.jvue-click-ring.is-inner {
    stroke: rgba(216, 241, 255, .88);
    stroke-width: 1;
}

.jvue-click-rays {
    stroke: rgba(201, 154, 85, .82);
    stroke-width: 1.15;
    stroke-linecap: round;
}

.jvue-click-burst.is-active .jvue-click-ring.is-outer {
    animation: jvueClickRingOuter .58s var(--jv-ease) both;
}

.jvue-click-burst.is-active .jvue-click-ring.is-inner {
    animation: jvueClickRingInner .46s var(--jv-ease) both;
}

.jvue-click-burst.is-active .jvue-click-rays {
    animation: jvueClickRays .5s var(--jv-ease) both;
}

@keyframes jvueClickRingOuter {
    0% { opacity: 0; transform: scale(.35); }
    18% { opacity: 1; }
    100% { opacity: 0; transform: scale(1.75); }
}

@keyframes jvueClickRingInner {
    0% { opacity: 0; transform: scale(.4); }
    24% { opacity: .9; }
    100% { opacity: 0; transform: scale(2.1); }
}

@keyframes jvueClickRays {
    0% { opacity: 0; transform: scale(.5) rotate(0deg); }
    22% { opacity: .86; }
    100% { opacity: 0; transform: scale(1.42) rotate(8deg); }
}

.jvue-home.is-unified-stage .jvue-header,
.jvue-home.is-unified-stage .jvue-header > *,
.jvue-home.is-unified-stage .jvue-immersive-grid,
.jvue-home.is-unified-stage .jvue-section > .jvue-container,
.jvue-home.is-unified-stage .jvue-cta > .jvue-container,
.jvue-home.is-unified-stage .jvue-section-head,
.jvue-home.is-unified-stage .jvue-metrics span,
.jvue-home.is-unified-stage .jvue-work-panel,
.jvue-home.is-unified-stage .jvue-feature-card,
.jvue-home.is-unified-stage .jvue-market-card,
.jvue-home.is-unified-stage .jvue-product-card,
.jvue-home.is-unified-stage .jvue-scene-list button,
.jvue-home.is-unified-stage .jvue-scene-orbit,
.jvue-home.is-unified-stage .jvue-news-grid article {
    transform: none !important;
    transform-style: flat !important;
    backface-visibility: visible !important;
    will-change: auto !important;
}

.jvue-home.is-unified-stage .jvue-section-head,
.jvue-home.is-unified-stage .jvue-metrics span,
.jvue-home.is-unified-stage .jvue-work-panel,
.jvue-home.is-unified-stage .jvue-feature-card,
.jvue-home.is-unified-stage .jvue-market-card,
.jvue-home.is-unified-stage .jvue-product-card,
.jvue-home.is-unified-stage .jvue-scene-list button,
.jvue-home.is-unified-stage .jvue-scene-orbit,
.jvue-home.is-unified-stage .jvue-news-grid article,
.jvue-home.is-unified-stage .jvue-cta > .jvue-container {
    opacity: 1 !important;
    transition-property: border-color, background-color, box-shadow, opacity !important;
    transition-duration: .22s !important;
    transition-delay: 0ms !important;
}

.jvue-home.is-unified-stage .jvue-feature-card::before,
.jvue-home.is-unified-stage .jvue-market-card::before,
.jvue-home.is-unified-stage .jvue-product-card::before,
.jvue-home.is-unified-stage .jvue-scene-list button::before,
.jvue-home.is-unified-stage .jvue-scene-orbit::after,
.jvue-home.is-unified-stage .jvue-news-grid article::before,
.jvue-home.is-unified-stage .jvue-project-preview {
    transform: none !important;
}

.jvue-home.is-unified-stage .jvue-metrics span,
.jvue-home.is-unified-stage .jvue-feature-card,
.jvue-home.is-unified-stage .jvue-market-card,
.jvue-home.is-unified-stage .jvue-product-card,
.jvue-home.is-unified-stage .jvue-news-grid article,
.jvue-home.is-unified-stage .jvue-floating-tools,
.jvue-home.is-unified-stage .jvue-floating-tools a,
.jvue-home.is-unified-stage .jvue-floating-tools button {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

.jvue-home.is-unified-stage .jvue-feature-card.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-market-card.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-product-card.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-news-grid article.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-scene-orbit.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-work-panel.is-pointer-hot,
.jvue-home.is-unified-stage .jvue-scene-list button.is-pointer-hot {
    transform: none !important;
    filter: none !important;
    border-color: rgba(105, 199, 240, .38) !important;
    box-shadow:
        0 22px 52px rgba(0, 0, 0, .3),
        inset 0 1px 0 rgba(255, 255, 255, .08),
        0 0 0 1px rgba(105, 199, 240, .08) !important;
}

/* Denser desktop rhythm keeps the 3D field visible without wasting content space. */
.jvue-section {
    padding: 76px 0;
}

.jvue-capability-section {
    padding-top: 84px;
}

.jvue-section-head {
    max-width: 820px;
    margin-bottom: 30px;
}

.jvue-feature-card {
    min-height: 198px;
    padding: 20px;
}

.jvue-product-card {
    min-height: 184px;
    padding: 16px;
}

.jvue-product-body {
    min-height: 152px;
}

.jvue-product-body h3 {
    margin-top: 9px;
}

.jvue-product-body p {
    margin-top: 7px;
}

.jvue-scene-grid {
    gap: 32px;
}

.jvue-scene-list {
    gap: 8px;
}

.jvue-scene-list button {
    min-height: 84px;
}

.jvue-scene-orbit {
    min-height: 360px;
}

.jvue-news-grid article {
    min-height: 260px;
}

.jvue-cta {
    padding: 72px 0;
}

@media (min-width: 1500px) {
    .jvue-container,
    .jvue-header {
        width: min(1440px, calc(100% - 64px));
    }

    .jvue-immersive-grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(440px, .72fr);
        gap: 52px;
    }

    .jvue-work-panel {
        min-height: 480px;
    }

    .jvue-product-grid {
        gap: 14px;
    }
}

@media (max-width: 760px) {
    .jvue-hero {
        min-height: auto;
        padding: 96px 0 56px;
    }

    .jvue-immersive-grid {
        gap: 20px;
    }

    .jvue-work-panel {
        padding: 18px;
        gap: 12px;
    }

    .jvue-section {
        padding: 56px 0;
    }

    .jvue-section-head {
        margin-bottom: 24px;
    }

    .jvue-feature-card {
        min-height: 168px;
        padding: 18px;
    }

    .jvue-product-card {
        min-height: 178px;
        padding: 15px;
    }

    .jvue-product-body {
        min-height: 146px;
    }

    .jvue-scene-grid {
        gap: 22px;
    }

    .jvue-scene-list button {
        min-height: 80px;
    }

    .jvue-scene-orbit {
        min-height: 280px;
    }

    .jvue-news-grid article {
        min-height: 220px;
    }

    .jvue-cta {
        padding: 56px 0;
    }

    .jvue-home.is-unified-stage .jvue-mobile-dock {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        background: rgba(4, 6, 10, .92);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }

    .jvue-live-backdrop,
    .jvue-chapter-particles,
    .jvue-stage-projector,
    .jvue-motion-field,
    .jvue-energy-field,
    .jvue-depth-particles,
    .jvue-at-scroll-stage,
    .jvue-at-work-reel,
    .jvue-scroll-sculpture,
    .jvue-scrollworld,
	    .jvue-kinetic-cursor-field,
	    .jvue-anime-transition-field,
	    .jvue-work-cinema-field,
	    .jvue-scroll-director-field,
	    .jvue-motion-bands,
    .jvue-cursor-trail,
    .jvue-stage-depth,
    .jvue-stage-radials,
    .jvue-stage-portals,
    .jvue-stage-scenes,
    .jvue-stage-director,
    .jvue-scene-magnet,
    .jvue-stage-tableau,
    .jvue-stage-cuts,
    .jvue-stage-morph,
    .jvue-stage-fluid,
    .jvue-stage-streams,
    .jvue-stage-flowfield,
    .jvue-stage-kinetic,
    .jvue-stage-frames,
    .jvue-stage-shards,
    .jvue-stage-index,
    .jvue-stage-flash,
    .jvue-stage-hotspot,
    .jvue-stage-orbit-field,
    .jvue-stage-storywall,
    .jvue-stage-gallery,
    .jvue-stage-workstrip,
    .jvue-stage-chapter,
    .jvue-stage-poster,
    .jvue-stage-reel,
    .jvue-stage-anime,
    .jvue-stage-lens,
    .jvue-stage-echo,
    .jvue-stage-wipe,
    .jvue-stage-workcuts,
    .jvue-stage-cut,
    .jvue-stage-wake,
    .jvue-stage-pixels,
    .jvue-stage-runners,
    .jvue-stage-meter {
        display: none !important;
    }

    .jvue-home .jvue-live-backdrop,
    .jvue-home .jvue-chapter-particles,
    .jvue-home .jvue-stage-projector,
    .jvue-home .jvue-motion-field,
    .jvue-home .jvue-energy-field,
    .jvue-home .jvue-scroll-sculpture,
    .jvue-home .jvue-motion-bands,
    .jvue-home .jvue-stage-scenes,
    .jvue-home .jvue-stage-director,
    .jvue-home .jvue-scene-magnet,
    .jvue-home .jvue-stage-tableau,
    .jvue-home .jvue-stage-cuts,
    .jvue-home .jvue-stage-flowfield,
	    .jvue-home .jvue-stage-kinetic,
	    .jvue-home .jvue-anime-transition-field,
	    .jvue-home .jvue-scroll-director-field,
	    .jvue-home .jvue-stage-flash,
    .jvue-home .jvue-stage-anime,
    .jvue-home .jvue-stage-echo,
    .jvue-home .jvue-stage-wipe,
    .jvue-home .jvue-stage-wake,
    .jvue-home .jvue-stage-pixels,
    .jvue-home .jvue-stage-runners,
    .jvue-home .jvue-stage-workcuts,
    .jvue-home .jvue-stage-cut {
        display: none !important;
    }

    .jvue-home.is-fx-0 .jvue-stage-storywall,
    .jvue-home.is-fx-1 .jvue-stage-gallery,
    .jvue-home.is-fx-2 .jvue-stage-poster,
    .jvue-home.is-fx-3 .jvue-stage-workstrip,
    .jvue-home.is-fx-4 .jvue-stage-chapter,
    .jvue-home.is-fx-5 .jvue-stage-reel {
        display: none !important;
        opacity: 0 !important;
    }

    .jvue-webgl-stage {
        opacity: .72;
        transform: none !important;
    }

    .jvue-feature-card.is-pointer-hot,
    .jvue-market-card.is-pointer-hot,
    .jvue-product-card.is-pointer-hot,
    .jvue-news-grid article.is-pointer-hot,
    .jvue-scene-orbit.is-pointer-hot,
    .jvue-work-panel.is-pointer-hot,
    .jvue-scene-list button.is-pointer-hot {
        transform: none !important;
        filter: none !important;
    }
}
