/* VerTopic cinematic entrance. All visual assets are local. */
.page-loader{display:none!important}
html.vt-intro-pending{overflow:hidden}
html.vt-intro-pending body{visibility:hidden}
#vt-intro{visibility:visible;position:fixed;inset:0;z-index:2147483647;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#10233c 0%,#090e20 35%,#030307 72%);color:#eafaff;font-family:system-ui,sans-serif;opacity:1;transition:opacity .55s ease;isolation:isolate}
#vt-intro.vt-exit{opacity:0;pointer-events:none}
.vt-intro-grid{position:absolute;inset:38% -50% -60%;background:linear-gradient(#24bde91c 1px,transparent 1px),linear-gradient(90deg,#24bde91c 1px,transparent 1px);background-size:64px 64px;transform:perspective(450px) rotateX(62deg);mask-image:linear-gradient(transparent,#000,transparent);animation:vt-grid 3.8s ease-out both}
.vt-intro-stage{position:relative;width:min(760px,88vw);text-align:center;perspective:1100px}
.vt-intro-label{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:#6eddeb;margin-bottom:44px;animation:vt-copy 1s .25s both}
.vt-intro-logo{position:relative;width:100%;aspect-ratio:1998/787;transform-style:preserve-3d;filter:drop-shadow(0 0 26px #009de850);animation:vt-logo-settle 2.3s ease-out both}
.vt-intro-logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.vt-logo-slice{animation:vt-assemble 1.7s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--delay)}
.vt-logo-whole{opacity:0;animation:vt-whole .2s 2s forwards}
.vt-intro-orbit{position:absolute;left:9%;right:9%;top:-12%;height:115%;border:1px solid #4fdce526;border-radius:50%;transform:rotateX(68deg) rotateZ(-15deg);pointer-events:none;box-shadow:0 0 34px #298fff12}
.vt-intro-orbit::before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--vt-intro-angle),transparent 0 15%,#00dfff 20%,#344cff 35%,transparent 40% 60%,#ff285f 66%,#923bff 80%,transparent 85%);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:drop-shadow(0 0 8px #00dfff)}
.vt-intro-tagline{margin:38px 0 25px;font-size:clamp(12px,2.4vw,16px);letter-spacing:.14em;color:#c7daee;animation:vt-copy .8s 1.45s both}
.vt-intro-track{height:2px;width:180px;margin:auto;background:#ffffff12;border-radius:3px;overflow:hidden}
.vt-intro-track span{display:block;width:100%;height:100%;transform-origin:left;background:linear-gradient(90deg,#344cff,#00dfff,#00ed87,#ffdb22,#ff285f,#923bff);box-shadow:0 0 14px #00dfff;animation:vt-progress 3.1s cubic-bezier(.2,.5,.5,1) both}
.vt-intro-caption{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:#7994af;margin-top:15px;animation:vt-copy .8s .4s both}
.vt-intro-skip{position:absolute;right:25px;bottom:25px;color:#b6cada;background:#0a1624;border:1px solid #44617a;border-radius:30px;padding:10px 18px;font-size:12px;cursor:pointer}
.vt-intro-skip:focus-visible{outline:2px solid #00dfff;outline-offset:4px}
.vt-spark{position:absolute;left:50%;top:43%;width:3px;height:3px;border-radius:50%;background:var(--color);box-shadow:0 0 12px var(--color);pointer-events:none;animation:vt-particle 2.6s var(--delay) ease-out both}
@keyframes vt-particle{0%{opacity:0;transform:translate(var(--x),var(--y)) scale(.3)}20%{opacity:1}76%{opacity:.9}100%{opacity:0;transform:translate(0,0) scale(.2)}}
@keyframes vt-assemble{from{opacity:0;filter:blur(12px);transform:translate3d(var(--x),var(--y),-250px) rotateY(var(--turn)) scale(.6)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotateY(0) scale(1)}}
@keyframes vt-logo-settle{from{transform:rotateX(14deg) scale(.92)}to{transform:rotateX(0) scale(1)}}
@keyframes vt-whole{to{opacity:1}}
@keyframes vt-copy{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes vt-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes vt-grid{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.vt-intro-label{margin-bottom:35px;font-size:9px}.vt-intro-tagline{letter-spacing:.06em;line-height:1.7}.vt-intro-orbit{left:0;right:0}.vt-intro-skip{bottom:20px;right:20px}}
@media(prefers-reduced-motion:reduce){#vt-intro{display:none!important}html.vt-intro-pending{overflow:auto}html.vt-intro-pending body{visibility:visible}}

/* RGB clock belongs only to the loader's orbit, never the website pages. */
@property --vt-intro-angle {syntax:'<angle>';initial-value:0deg;inherits:false;}
@keyframes vt-intro-rgb-orbit {to{--vt-intro-angle:360deg;}}
#vt-intro .vt-intro-orbit::before {animation:vt-intro-rgb-orbit 1.6s linear infinite;}
@media(prefers-reduced-motion:reduce){#vt-intro .vt-intro-orbit::before{animation:none;}}
