/* Velo Global Express: 3-second 3D logo intro. Pure CSS; the overlay always removes itself at 3s. */
.no-intro .vgx-splash{display:none!important}
.vgx-splash{position:fixed;inset:0;z-index:99999;background:#050505;display:flex;align-items:center;justify-content:center;overflow:hidden;
  animation:vgxOut .5s ease 2.5s forwards}
.vgx-glow{position:absolute;inset:0;background:radial-gradient(60% 45% at 50% 52%,rgba(238,0,0,.34),rgba(238,0,0,0) 70%);opacity:0;animation:vgxGlow 3s ease-out both}
.vgx-stage{position:relative;width:min(78vw,430px);aspect-ratio:1;perspective:1000px;perspective-origin:50% 45%}
.vgx-card{position:absolute;inset:0;transform-style:preserve-3d;border-radius:26px;animation:vgxSpin 3s cubic-bezier(.22,.7,.2,1) both;will-change:transform}
.vgx-card img{display:block;width:100%;height:100%;border-radius:26px;box-shadow:0 30px 70px rgba(238,0,0,.28),0 0 0 1px rgba(255,255,255,.04)}
.vgx-shine{position:absolute;inset:0;border-radius:26px;overflow:hidden;pointer-events:none}
.vgx-shine::after{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:-50%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);animation:vgxShine 1s ease-in-out 1.35s both}
.vgx-orbit{position:absolute;inset:-9%;transform-style:preserve-3d;transform:rotateX(72deg);animation:vgxOrbitIn 3s ease-out both}
.vgx-orbit::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(238,0,0,.75);box-shadow:0 0 22px rgba(238,0,0,.65),inset 0 0 22px rgba(238,0,0,.35)}
.vgx-orbit i{position:absolute;inset:0;animation:vgxRing 1.5s linear infinite}
.vgx-orbit i::after{content:"";position:absolute;left:50%;top:-6px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#fff;box-shadow:0 0 14px 4px rgba(255,60,60,.9)}
.vgx-floor{position:absolute;left:12%;right:12%;bottom:-13%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(238,0,0,.55),transparent);filter:blur(10px);opacity:0;animation:vgxFloor 3s ease-out both}
@keyframes vgxSpin{
  0%{transform:rotateY(-110deg) rotateX(20deg) translateZ(-420px) scale(.5);opacity:0}
  12%{opacity:1}
  42%{transform:rotateY(14deg) rotateX(-5deg) translateZ(40px) scale(1)}
  60%{transform:rotateY(-9deg) rotateX(3deg) translateZ(20px) scale(1)}
  80%{transform:rotateY(5deg) rotateX(-1deg) translateZ(40px) scale(1.03)}
  100%{transform:rotateY(0) rotateX(0) translateZ(70px) scale(1.07);opacity:1}}
@keyframes vgxShine{from{left:-50%}to{left:130%}}
@keyframes vgxOrbitIn{0%{opacity:0;transform:rotateX(72deg) scale(.5)}25%{opacity:1}100%{opacity:1;transform:rotateX(72deg) scale(1.05)}}
@keyframes vgxRing{from{transform:rotateZ(0)}to{transform:rotateZ(360deg)}}
@keyframes vgxGlow{0%{opacity:0}40%{opacity:1}100%{opacity:.8}}
@keyframes vgxFloor{0%{opacity:0;transform:scaleX(.4)}50%{opacity:1}100%{opacity:.85;transform:scaleX(1)}}
@keyframes vgxOut{to{opacity:0;visibility:hidden;transform:scale(1.06)}}
@media (prefers-reduced-motion:reduce){
  .vgx-card{animation:vgxFade 3s ease both}.vgx-orbit,.vgx-shine,.vgx-floor{display:none}
  @keyframes vgxFade{from{opacity:0}30%{opacity:1}to{opacity:1}}}
