@font-face{font-family:VioxScene;src:url('poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:VioxScene;src:url('poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}
.v3d{--v3d-red:#d71920;--v3d-dark:#101418;--v3d-light:#d7dee6;position:relative;width:100%;max-width:none;margin-block:0;font-family:VioxScene,Poppins,sans-serif;color:#fff;background:var(--v3d-dark);isolation:isolate;overflow:hidden;color-scheme:dark}
.v3d *{box-sizing:border-box}.v3d [hidden]{display:none!important}.v3d ::selection{background:var(--v3d-red);color:#fff}
.v3d button,.v3d a{-webkit-tap-highlight-color:transparent}.v3d button{font:inherit;border:0;border-radius:0;cursor:pointer}.v3d button:focus-visible,.v3d a:focus-visible,.v3d canvas:focus-visible{outline:3px solid #fff;outline-offset:4px}.v3d a{color:#fff;text-underline-offset:5px}
.v3d__stage{position:relative;width:100%;height:clamp(620px,50vw,900px);overflow:hidden}
.v3d__viewport{position:absolute;inset:0;width:100%;height:100%}
.v3d__canvas,.v3d__poster,.v3d__hotspots{position:absolute;inset:0;width:100%;height:100%;margin:0}
.v3d__canvas canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}.v3d__canvas canvas:active{cursor:grabbing}
.v3d__poster{object-fit:cover;transition:opacity .3s}.v3d.is-ready .v3d__poster{opacity:0;pointer-events:none}
.v3d__hotspots{pointer-events:none}
.v3d__hotspot{position:absolute;display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;background:transparent;color:#fff;pointer-events:auto;transform:translate(-50%,-50%)}
.v3d__hotspot::before{content:'';width:13px;height:13px;background:#fff;border:3px solid var(--v3d-red);border-radius:50%;outline:1px solid #fff;outline-offset:4px;transition:transform .2s}
.v3d__hotspot[aria-pressed=true]::before{background:var(--v3d-red);transform:scale(1.35)}
.v3d__hotspot-label{position:absolute;bottom:49px;left:50%;transform:translateX(-50%);width:max-content;max-width:200px;background:#fff;color:#101418;padding:9px 12px;border-radius:4px;font-size:12px;font-weight:600;opacity:0;visibility:hidden;transition:opacity .15s;pointer-events:none}
.v3d__hotspot:is(:hover,:focus-visible,.is-open) .v3d__hotspot-label{opacity:1;visibility:visible}
.v3d__status{position:absolute;top:24px;right:24px;font-size:12px;max-width:34ch;color:var(--v3d-light);background:#101418;padding:8px 12px;margin:0}.v3d.is-ready .v3d__status{display:none}
.v3d__copy{position:absolute;z-index:2;top:clamp(32px,4vw,72px);left:clamp(24px,4vw,72px);width:min(34vw,420px);pointer-events:none;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.v3d .v3d__copy h2{font-size:clamp(34px,3.8vw,58px);font-weight:600;line-height:1.08;letter-spacing:-.035em;margin:0 0 18px;color:#fff;text-wrap:balance}
.v3d .v3d__copy p{font-size:15px;line-height:1.75;color:var(--v3d-light);margin:0;max-width:34ch}
.v3d__details{position:absolute;z-index:2;left:clamp(24px,4vw,72px);bottom:clamp(88px,7vw,116px);width:min(28vw,360px);text-shadow:0 2px 16px rgba(0,0,0,.5)}
.v3d .v3d__details h3{font-size:21px;font-weight:600;line-height:1.25;margin:0 0 10px;color:#fff}.v3d .v3d__details p{font-size:13px;line-height:1.75;color:var(--v3d-light);margin:0}.v3d__details a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;font-weight:600;margin-top:10px;gap:8px}
.v3d__hint{position:absolute;right:28px;bottom:28px;color:var(--v3d-light);font-size:11px;pointer-events:none}
.v3d__tools{position:absolute;top:clamp(72px,7vw,104px);right:clamp(24px,3vw,48px);display:flex;gap:2px;z-index:3;background:#20262d;padding:4px;border-radius:4px}
.v3d__tools button{width:40px;height:40px;background:transparent;color:#fff;display:grid;place-items:center}.v3d__tools button:hover,.v3d__tools button[aria-pressed=true]{background:var(--v3d-red)}.v3d__tools svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v3d__nav{position:absolute;z-index:3;right:clamp(24px,3vw,48px);bottom:clamp(24px,3vw,44px);display:flex;gap:2px;background:rgba(16,20,24,.88);padding:5px;border:1px solid rgba(255,255,255,.08)}
.v3d__nav button{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;color:var(--v3d-light);background:transparent;font-size:13px;text-align:left;padding:10px 14px;white-space:nowrap}
.v3d__nav button::before{content:'';position:absolute;left:0;right:0;top:-1px;height:3px;background:transparent}.v3d__nav button[aria-pressed=true]{color:#fff}.v3d__nav button[aria-pressed=true]::before{background:var(--v3d-red)}.v3d__nav button:hover{background:#252b33}.v3d__nav-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.v3d__nav button[aria-pressed=true] .v3d__nav-dot{background:#ff5258}
@media(max-width:1100px){.v3d__stage{height:clamp(580px,64vw,760px)}.v3d__copy{width:min(42vw,380px)}.v3d__details{width:min(38vw,320px);bottom:76px}.v3d__nav{max-width:calc(100% - 48px);overflow-x:auto}.v3d__nav button{font-size:12px;padding:9px 11px}}
@media(max-width:720px){.v3d__stage{height:clamp(520px,128vw,680px)}.v3d__copy{top:28px;left:22px;width:calc(100% - 44px)}.v3d .v3d__copy h2{font-size:34px}.v3d .v3d__copy p{font-size:13px}.v3d__details{position:relative;inset:auto;width:auto;max-width:none;margin:18px 22px 24px;text-shadow:none}.v3d .v3d__details h3{font-size:19px}.v3d .v3d__details p{font-size:12px}.v3d__tools{top:auto;bottom:74px;right:18px}.v3d__hint{display:none}.v3d__nav{left:0;right:0;bottom:0;justify-content:flex-start;overflow-x:auto;padding:4px}.v3d__nav button{min-height:42px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.v3d *{transition:none!important;scroll-behavior:auto!important}}

/* Full-bleed application landscape; content remains below the scene. */
.v3d{background:#edf0f2;color:#20262d;color-scheme:light}
.v3d__stage{height:auto;min-height:0;padding-top: min(56vw,900px);overflow:visible}
.v3d__viewport{height:min(56vw,900px);min-height:520px}
.v3d__copy{display:none}
.v3d__details{position:relative;inset:auto;width:auto;max-width:650px;padding:28px 36px;margin:0;text-shadow:none}
.v3d .v3d__details h3,.v3d__details a{color:#20262d}
.v3d .v3d__details p{color:#46535f}
.v3d__nav{position:relative;inset:auto;max-width:none;overflow:auto;background:#20262d;border:0;padding:6px 24px}
.v3d__hint{display:none}.v3d__tools{top:auto;bottom:20px;right:24px}
@media(max-width:930px){.v3d__stage{padding-top:520px}.v3d__viewport{height:520px}.v3d__details{margin:0;padding:24px}.v3d__nav{max-width:100%}}

/* CATL reference timing, recolored to VIOX. */
.v3d__hotspot::before{display:none}
.v3d__hotspot{z-index:1}
.v3d__hotspot:is(:hover,:focus-visible,.is-open){z-index:20}
.v3d__hotspot-dot{position:relative;display:block;width:18px;height:18px;border:7px solid var(--v3d-red);border-radius:50%;background:#fff;animation:v3d-dot-glow 3s ease infinite}
.v3d__hotspot-dot::before,.v3d__hotspot-dot::after{content:'';position:absolute;left:50%;top:50%;z-index:-1;width:25px;height:25px;border-radius:50%;background:rgb(215 25 32 / .2);animation:v3d-dot-ring 3s ease infinite;transform:translate(-50%,-50%)}
.v3d__hotspot-dot::before{animation-delay:.75s}
.v3d__hotspot-label{left:56px;top:50%;bottom:auto;transform:translateY(-50%);display:flex;align-items:center;gap:32px;width:max-content;max-width:none;padding:0 23px;height:54px;background:transparent;color:#fff;border-radius:30px;font-size:16px;font-weight:400;opacity:1;visibility:visible;transition:none;pointer-events:none;isolation:isolate}
.v3d__hotspot-label::before{content:'';position:absolute;inset:0 auto 0 0;width:0;background:rgb(215 25 32 / .87);border-radius:30px;z-index:-1}
.v3d__hotspot-label::after{content:'';position:absolute;right:100%;top:0;width:34px;height:100%}
.v3d__hotspot-label>span{opacity:0}
.v3d__hotspot-arrow{font-size:23px;color:#ffd4d4}
.v3d__hotspot:is(:hover,:focus-visible,.is-open) .v3d__hotspot-label{pointer-events:auto}
.v3d__hotspot:is(:hover,:focus-visible,.is-open) .v3d__hotspot-label::before{width:100%;transition:width .4s cubic-bezier(.34,.44,.41,1.12)}
.v3d__hotspot:is(:hover,:focus-visible,.is-open) .v3d__hotspot-label>span{opacity:1;transition:opacity .36s .4s}
.v3d__hotspot.opens-left .v3d__hotspot-label{left:auto;right:56px}
.v3d__hotspot.opens-left .v3d__hotspot-label::before{left:auto;right:0}
.v3d__hotspot.opens-left .v3d__hotspot-label::after{right:auto;left:100%}
@keyframes v3d-dot-ring{0%{transform:translate(-50%,-50%) scale(1);opacity:0}20%{opacity:1}75%{transform:translate(-50%,-50%) scale(2);opacity:0}100%{opacity:0}}
@keyframes v3d-dot-glow{50%{box-shadow:0 0 10px var(--v3d-red)}}
.v3d.motion-paused .v3d__hotspot-dot,.v3d.motion-paused .v3d__hotspot-dot::before,.v3d.motion-paused .v3d__hotspot-dot::after{animation-play-state:paused}
@media(max-width:720px){.v3d__hotspot-label{font-size:12px;height:40px;gap:12px;padding:0 15px;max-width:250px;white-space:normal}.v3d__hotspot-label>span{line-height:1.3}}
@media(prefers-reduced-motion:reduce){.v3d__hotspot-dot,.v3d__hotspot-dot::before,.v3d__hotspot-dot::after{animation:none!important}.v3d__hotspot-label::before,.v3d__hotspot-label>span{transition:none!important}}

@media(max-width:720px){.v3d__hotspot .v3d__hotspot-label,.v3d__hotspot.opens-left .v3d__hotspot-label{left:var(--label-left,0px);right:auto;top:48px;transform:none}}
.v3d a.v3d__hotspot{text-decoration:none}

.v3d__hotspot-icon{display:flex;align-items:center;flex:0 0 28px;width:28px;height:28px;margin-right:-12px;color:#ffd4d4}.v3d__hotspot-icon svg{display:block;width:100%;height:100%}
@media(max-width:720px){.v3d__hotspot-icon{flex-basis:22px;width:22px;height:22px;margin-right:0}.v3d__hotspot-label{max-width:calc(100vw - 24px)}}

/* Production applications module: readable links before WebGL and on mobile. */
.v3d__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:24px 36px}
.v3d a.v3d__card{display:block;background:#fff;color:#20262d;padding:24px;text-decoration:none;border:1px solid #dde1e3}
.v3d__card h3{font-size:18px;line-height:1.4;margin:0 0 12px;color:inherit}.v3d__card p{font-size:14px;line-height:1.65;margin:0 0 18px;color:#46535f}.v3d__card>span{color:var(--v3d-red);font-size:14px}
.v3d:not(.is-ready) .v3d__details,.v3d:not(.is-ready) .v3d__nav{display:none}
.v3d.is-ready .v3d__cards{display:none}
.v3d__start{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);padding:14px 20px;background:var(--v3d-red);color:#fff;white-space:nowrap}
.v3d__status{display:none}.v3d.is-fallback .v3d__status{display:block}
.viox-industry--3d .v3d{margin-top:28px}
@media(max-width:720px){.v3d__cards{grid-template-columns:1fr;padding:16px;gap:12px}.v3d.is-static .v3d__stage{padding-top:47vw}.v3d.is-static .v3d__viewport{height:47vw;min-height:0}.v3d.is-static .v3d__poster{object-fit:contain}.v3d__start{bottom:12px;font-size:12px;padding:10px 14px}}

/* Scene-only presentation requested for the local design. Keep internal selection
   controls hidden so existing hotspot selection continues to work. */
.v3d .v3d__details,.v3d .v3d__nav,.v3d .v3d__cards,.v3d .v3d__tools,.v3d .v3d__hint{display:none!important}
