/* Additive virtual experience — existing styles remain untouched */
.virtual-experience{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 76% 38%,#243b8d 0%,transparent 45%),radial-gradient(ellipse at 12% 80%,#113f6d 0%,transparent 46%),#07132d;color:#fff;padding:85px max(22px,calc((100vw - 1240px)/2)) 28px}
.virtual-experience:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.vx-shell{max-width:1240px;margin:auto;display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:35px;min-height:525px}.vx-intro{position:relative;z-index:3}.vx-eyebrow{display:inline-flex;letter-spacing:2.2px;font-size:11px;font-weight:800;color:#8ed9ff;background:#ffffff0d;border:1px solid #ffffff25;border-radius:30px;padding:10px 15px}.vx-intro h2{font-size:clamp(39px,4.3vw,68px);line-height:1.09;letter-spacing:-2.5px;margin:25px 0}.vx-intro h2 em{font-style:normal;background:linear-gradient(100deg,#7fe2ff,#b6a7ff);color:transparent;background-clip:text}.vx-intro p{color:#c5d4f2;max-width:530px;line-height:1.8;font-size:16px}.vx-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.vx-actions button,.vx-actions a{border-radius:14px;padding:15px 19px;text-decoration:none;font-weight:800;font-size:13px;cursor:pointer}.vx-primary{border:0;background:linear-gradient(110deg,#68d8ff,#8b8aff);color:#07132d;box-shadow:0 12px 38px #42baff55}.vx-secondary{border:1px solid #a9c8ff77;color:#fff;background:#ffffff0b}.vx-trust{display:flex;gap:15px;flex-wrap:wrap;color:#a8c3e8;font-size:11px}.vx-scene{height:530px;position:relative;perspective:900px;transform-style:preserve-3d}.vx-halo{position:absolute;inset:8% 9%;background:radial-gradient(circle,#3e89ff55,transparent 65%);filter:blur(15px)}.vx-orbit{position:absolute;inset:12% 13%;border:1px solid #9ec7ff33;border-radius:50%;transform:rotate(-22deg) scaleY(.62)}.vx-orbit-two{inset:5% 5%;transform:rotate(35deg) scaleY(.72);border-style:dashed}.vx-world{position:absolute;left:18%;right:15%;top:23%;height:55%;border:1px solid #ffffff66;border-radius:25px;background:linear-gradient(140deg,#ffffff33,#9dc8ff11 65%);box-shadow:0 30px 80px #0007,inset 0 1px #fff7;backdrop-filter:blur(22px);display:flex;align-items:center;flex-direction:column;justify-content:center;transform:rotateY(-8deg) rotateX(5deg);transition:transform .2s}.vx-world-top{position:absolute;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#bfe8ff}.vx-live{color:#89ffdf}.vx-campus{height:150px;width:190px;position:relative;filter:drop-shadow(0 16px 16px #030d2b77);animation:vx-float 6s ease-in-out infinite}.vx-roof{position:absolute;top:4px;left:13px;width:164px;height:60px;background:linear-gradient(135deg,#9edbff,#5c88e5);clip-path:polygon(50% 0,100% 80%,100% 100%,0 100%,0 80%)}.vx-building{position:absolute;top:62px;left:25px;width:140px;height:82px;background:linear-gradient(120deg,#e9f8ff,#7aa8e4);border:4px solid #b8e6ff;border-radius:4px;display:flex;gap:11px;justify-content:center;padding:14px 8px}.vx-window{height:23px;width:17px;background:#234d8a;border:3px solid #f3fbff;box-shadow:inset 0 0 8px #80d6ff}.vx-door{position:absolute;bottom:0;width:26px;height:33px;background:#27487d;border:3px solid #d8f4ff}.vx-steps{position:absolute;bottom:0;left:60px;width:70px;height:7px;background:#9bd2ff}.vx-world strong{font-size:12px;letter-spacing:1.2px;margin-top:14px;text-align:center}.vx-world small{color:#b7d3f7;margin-top:6px}.vx-float{position:absolute;z-index:2;min-width:153px;padding:15px;border:1px solid #ffffff55;border-radius:17px;background:linear-gradient(130deg,#234a86d9,#192a58dd);box-shadow:0 18px 42px #0006;backdrop-filter:blur(15px);color:#fff;text-decoration:none;display:grid;gap:3px;animation:vx-float 5s ease-in-out infinite;cursor:pointer;text-align:left}.vx-float span{font-size:24px}.vx-float b{font-size:12px}.vx-float small{color:#b8d4f5;font-size:10px}.vx-float-a{top:10%;left:0}.vx-float-b{top:13%;right:0;animation-delay:-2s}.vx-float-c{bottom:8%;left:3%;animation-delay:-1s}.vx-float-d{bottom:9%;right:0;animation-delay:-3s}.vx-bottom{max-width:1240px;margin:30px auto 0;border-top:1px solid #ffffff2b;padding-top:18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#93b4e2;font-size:10px;letter-spacing:1.6px;font-weight:700}@keyframes vx-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
#bodh-ai .bodh-ai-panel{width:min(420px,calc(100vw - 24px));height:min(580px,78vh);border:1px solid #9fc8ff77;border-radius:25px;box-shadow:0 25px 90px #061a4a70}#bodh-ai .bodh-ai-head{background:linear-gradient(120deg,#081a3a,#284b9e,#624bb6);padding:20px}#bodh-ai .bodh-ai-launch{background:linear-gradient(110deg,#152b68,#4766db,#8b5adf);border:1px solid #a6caff80;box-shadow:0 14px 38px #253d91a0}#bodh-ai .bodh-ai-tools{display:flex;align-items:center;gap:7px;padding:10px 12px;background:#edf3ff}#bodh-ai .bodh-ai-tools button{border:1px solid #c9d7f4;background:#fff;color:#24457f;border-radius:20px;padding:7px 11px;font-size:12px;cursor:pointer}#bodh-ai .bodh-ai-mode{margin-left:auto;font-size:10px;color:#6980a4}#bodh-ai .bodh-ai-voice.is-listening{background:#ffe4eb;color:#b51c51}
@media(max-width:850px){.virtual-experience{padding:65px 20px 24px}.vx-shell{grid-template-columns:1fr}.vx-intro h2{letter-spacing:-1.5px}.vx-scene{height:460px;max-width:600px;width:100%;margin:auto}}@media(max-width:440px){.vx-scene{height:370px}.vx-float{min-width:120px;padding:10px}.vx-float b{font-size:10px}.vx-float small{font-size:9px}.vx-world{left:13%;right:13%;top:24%;height:53%}.vx-float-a{left:0;top:5%}.vx-float-b{right:0;top:5%}.vx-float-c{left:0;bottom:0}.vx-float-d{right:0;bottom:0}.vx-campus{transform:scale(.8)}.vx-bottom{line-height:1.8}}@media(prefers-reduced-motion:reduce){.vx-float,.vx-campus{animation:none}}

/* V2: cinematic immersive layers; additive to existing layout */
.virtual-experience{min-height:710px;background:radial-gradient(ellipse at 80% 10%,#28318a 0%,transparent 40%),radial-gradient(ellipse at 15% 90%,#075b86 0%,transparent 40%),#050b22}
.vx-aurora{position:absolute;inset:-20%;pointer-events:none;background:conic-gradient(from 0deg at 68% 48%,transparent 0deg,#2cc9ff25 55deg,transparent 100deg,#b64bff22 175deg,transparent 240deg,#25f0cc1b 320deg,transparent 360deg);filter:blur(75px);animation:vx-aurora 19s linear infinite}
.vx-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.vx-particle{position:absolute;width:var(--size,3px);height:var(--size,3px);left:var(--x);top:var(--y);border-radius:50%;background:#b4e8ff;box-shadow:0 0 12px 3px #46d9ff88;opacity:0;animation:vx-drift var(--duration,8s) ease-in-out infinite;animation-delay:var(--delay,0s)}
.vx-cursor-glow{position:absolute;width:430px;height:430px;left:var(--mx,70%);top:var(--my,50%);transform:translate(-50%,-50%);background:radial-gradient(circle,#5aaaff21,transparent 68%);pointer-events:none;transition:left .14s,top .14s}
.vx-scene{filter:drop-shadow(0 30px 55px #0007)}
.vx-energy-ring{position:absolute;left:12%;top:9%;width:76%;height:80%;border-radius:50%;border:2px solid transparent;border-top-color:#5ce7ff99;border-bottom-color:#9c7cff88;transform:rotateX(70deg) rotateZ(-18deg);box-shadow:0 0 35px #35d5ff22;animation:vx-ring 12s linear infinite;pointer-events:none}
.vx-energy-ring-b{inset:17% 18%;width:64%;height:64%;animation-direction:reverse;animation-duration:8s;border-top-color:#c393ff;border-bottom-color:#3fe8ff}
.vx-beam{position:absolute;left:40%;top:13%;width:25%;height:78%;background:linear-gradient(180deg,transparent,#80d9ff12 25%,#7b91ff22 60%,transparent);filter:blur(15px);clip-path:polygon(50% 0,100% 100%,0 100%);animation:vx-beam 5s ease-in-out infinite}
.vx-ground{position:absolute;bottom:10%;left:10%;width:80%;height:25%;border-radius:50%;background:radial-gradient(ellipse,#30d8ff45,transparent 68%);filter:blur(14px);transform:rotateX(65deg)}
.vx-world{background:linear-gradient(130deg,#ffffff45,#a0b8ff16 45%,#6deaff1b);border:1px solid #b2e6ff8c;box-shadow:0 30px 80px #0009,inset 0 1px #fff9,0 0 35px #48bfff28;animation:vx-card-glow 6s ease-in-out infinite;overflow:hidden}
.vx-world:before{content:"";position:absolute;inset:-60%;background:linear-gradient(110deg,transparent 38%,#ffffff20 49%,transparent 57%);animation:vx-shimmer 8s linear infinite;pointer-events:none}
.vx-scan{position:absolute;left:8%;right:8%;top:20%;height:2px;background:linear-gradient(90deg,transparent,#8ff5ff,transparent);box-shadow:0 0 18px 4px #55dfff88;animation:vx-scan 5s ease-in-out infinite;pointer-events:none}
.vx-campus{transform-style:preserve-3d;filter:drop-shadow(0 14px 16px #03152f);animation:vx-campus-lift 5s ease-in-out infinite}
.vx-campus-glow{position:absolute;inset:20%;border-radius:50%;background:#56dfff88;filter:blur(35px)}
.vx-flag{position:absolute;top:-26px;left:95px;width:3px;height:36px;background:#e2f8ff;z-index:3}.vx-flag span{display:block;position:absolute;left:3px;top:0;width:23px;height:14px;background:linear-gradient(#ffac58 0 33%,#fff 33% 66%,#63d58d 66%);clip-path:polygon(0 0,100% 12%,87% 100%,0 88%);animation:vx-flag 3s ease-in-out infinite}
.vx-tree{position:absolute;bottom:3px;color:#4df3c3;font-size:45px;text-shadow:0 0 20px #31ffbb;z-index:2}.vx-tree-left{left:0}.vx-tree-right{right:0}
.vx-float{transition:transform .3s,border-color .3s,box-shadow .3s;background:linear-gradient(130deg,#295aa4d9,#141b48ed);border-color:#8fd9ff70}
.vx-float:hover,.vx-float:focus-visible{transform:translateY(-9px) scale(1.06);border-color:#b9f8ff;box-shadow:0 20px 55px #1bc8ff66;outline:none}
.vx-float:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,transparent,#ffffff16,transparent);pointer-events:none}
.vx-control{position:relative;z-index:3;display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;max-width:1240px;margin:0 auto 18px}
.vx-control-label{font-size:10px;letter-spacing:2px;color:#9fd8f8;font-weight:800}
.vx-control-buttons{display:flex;gap:5px;padding:5px;background:#ffffff13;border:1px solid #ffffff30;border-radius:50px;backdrop-filter:blur(12px)}
.vx-control-buttons button{background:transparent;border:0;color:#b9c9ed;padding:8px 15px;border-radius:40px;font-size:11px;cursor:pointer;transition:background .2s,color .2s}
.vx-control-buttons button.is-active{background:linear-gradient(110deg,#74e4ff,#b3a3ff);color:#08163a;font-weight:800}
.vx-scene.vx-mode-focus .vx-world{transform:rotateY(0deg) rotateX(0deg) scale(1.12)!important}
.vx-scene.vx-mode-focus .vx-float{opacity:.35}
.vx-scene.vx-mode-pulse .vx-energy-ring{animation-duration:2.5s;filter:drop-shadow(0 0 14px #7cdeff)}
.vx-scene.vx-mode-pulse .vx-halo{background:radial-gradient(circle,#3de8ff88,transparent 65%)}
@keyframes vx-aurora{to{transform:rotate(360deg)}}@keyframes vx-drift{0%{transform:translateY(40px) scale(.4);opacity:0}30%,70%{opacity:.75}100%{transform:translateY(-100px) scale(1.3);opacity:0}}
@keyframes vx-ring{to{transform:rotateX(70deg) rotateZ(342deg)}}@keyframes vx-beam{50%{opacity:.35;transform:scaleX(1.4)}}@keyframes vx-card-glow{50%{box-shadow:0 30px 90px #0009,inset 0 1px #fff9,0 0 55px #48bfff66}}
@keyframes vx-shimmer{to{transform:translateX(70%)}}@keyframes vx-scan{0%,100%{top:20%;opacity:0}15%{opacity:1}85%{opacity:1}95%{top:80%;opacity:0}}@keyframes vx-campus-lift{50%{transform:translateY(-11px) rotate(-1deg)}}@keyframes vx-flag{50%{transform:skewY(10deg)}}
@media(max-width:850px){.virtual-experience{min-height:auto}.vx-control{margin-top:0}}@media(prefers-reduced-motion:reduce){.vx-aurora,.vx-particle,.vx-energy-ring,.vx-beam,.vx-world,.vx-world:before,.vx-scan,.vx-campus,.vx-flag{animation:none!important}.vx-cursor-glow{display:none}}
