.vp-home{--vp-ice:#c5edff;--vp-text:#ecf3f7;--vp-dim:#a6bdca;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 65% 56%,#112431,#0b141e 39%,#080c12 76%);color:var(--vp-text);padding:34px 0 22px;min-height:640px;font-family:Arial,Helvetica,sans-serif;box-sizing:border-box;container-type:inline-size}
.vp-home .vp-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;filter:saturate(.2) brightness(.45);pointer-events:none;z-index:0}
.vp-home *{box-sizing:border-box}.vp-home button,.vp-home a{font-family:inherit}.vp-home>canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.vp-home .sw-field-far{z-index:0}.vp-home .sw-field-middle{z-index:1}.vp-home .sw-field-near{z-index:5}.vp-home .sw-electricity{z-index:6}.vp-page-cursor{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:25}
.vp-home .vp-intro{position:relative;z-index:4;text-align:center;padding:0 26px;pointer-events:none}.vp-home .vp-eyebrow{margin:0;color:#9fc7da;font:11px/1.4 Consolas,monospace;letter-spacing:3px;text-transform:uppercase}.vp-home h1{margin:12px auto 0;max-width:1050px;font:500 clamp(30px,4.9cqw,65px)/1.04 Impact,'Arial Narrow',sans-serif;letter-spacing:.025em;text-transform:uppercase;color:#e3edf3;text-shadow:0 3px 25px #000b}.vp-home .vp-intro-copy{max-width:670px;margin:13px auto 0;color:#a5b8c4;font-size:13px;line-height:1.65}
.vp-home .vp-deck{position:relative;z-index:4;height:372px;margin:14px 0 0;perspective:1200px;perspective-origin:50% 48%;touch-action:pan-y;transform-style:preserve-3d}.vp-home .vp-slide{position:absolute;left:50%;top:50%;width:clamp(236px,47cqw,445px);height:306px;padding:0;border:1px solid #9acde84a;border-radius:2px;color:#effaff;background:#08141e;box-shadow:0 24px 60px #0009,inset 0 0 0 1px #d0edff0d;overflow:hidden;text-align:left;font-weight:400;will-change:transform;backface-visibility:hidden;transform-origin:center;touch-action:pan-y;display:block;transition:border-color .2s,box-shadow .2s;min-height:0;letter-spacing:normal}
.vp-home .vp-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#050d16fa 0%,#09131d7a 35%,transparent 66%,#06121b9c 100%);pointer-events:none}.vp-home .vp-slide.vp-front{border-color:#b8e7ff95;box-shadow:0 24px 65px #000b,0 0 42px #80ccff0c,inset 0 0 0 1px #c6eaff1a}.vp-home .vp-slide:hover{border-color:#d1f3ff}.vp-home .vp-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.64);max-width:none;user-select:none}.vp-home .vp-scanlines{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#0002 4px);opacity:.25;pointer-events:none;z-index:1}.vp-home .vp-slide-top{position:absolute;top:18px;left:20px;right:20px;z-index:2;display:flex;justify-content:space-between;gap:10px;color:#d4e8f2;font:11px/1.4 Consolas,monospace;text-transform:uppercase;letter-spacing:1px}.vp-home .vp-card-state{color:#b3d4e3;text-align:right;white-space:nowrap}.vp-home .vp-serial{position:absolute;right:14px;top:44px;z-index:1;font:500 112px/.95 Impact,'Arial Narrow',sans-serif;letter-spacing:-4px;color:#def4ff0e;pointer-events:none}.vp-home .vp-slide-bottom{position:absolute;left:24px;right:20px;bottom:24px;z-index:3}.vp-home .vp-slide-title{display:block;font:500 clamp(32px,5.8cqw,60px)/1 Impact,'Arial Narrow',sans-serif;text-transform:uppercase;letter-spacing:.015em;text-shadow:0 4px 20px #0009;overflow-wrap:anywhere}.vp-home .vp-slide-invitation{display:block;margin-top:14px;color:#a5c6d8;font:11px/1.4 Consolas,monospace;letter-spacing:1.8px}.vp-home .sw-electrode{position:absolute;bottom:0;left:40%;width:20%;height:2px;z-index:4;background:#bedfff;box-shadow:0 0 17px #75caffaa}
.vp-home .vp-controls{position:relative;z-index:5;mix-blend-mode:screen;display:flex;align-items:center;justify-content:center;gap:25px;margin:-2px auto 0}.vp-home .vp-step{border:0;background:transparent;color:#a7c6d8;padding:0;min-width:44px;min-height:44px;border-radius:0;font:400 35px/1 Arial,sans-serif;box-shadow:none}.vp-home .vp-step:hover{color:#effaff;background:transparent}.vp-home .vp-control-logo{display:block;width:70px;height:44px;object-fit:contain;mix-blend-mode:screen;pointer-events:none;user-select:none}.vp-home .vp-selected-summary{position:relative;z-index:4;color:#a8bfcd;text-align:center;min-height:22px;margin:15px 24px 0;font:13px/1.6 Arial,sans-serif}.vp-home .vp-floor{position:relative;z-index:4;display:flex;justify-content:flex-end;align-items:center;gap:16px;padding:0 28px;margin-top:24px}.vp-home .sw-effects{min-height:44px;flex:0 0 auto;font:11px/1.4 Arial,sans-serif;border:0;background:transparent;color:#a9c1cf;padding:8px 0 8px 12px}.vp-home .sw-effects:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#b3e8ff;box-shadow:0 0 8px #80d5ffa0;margin:0 8px 2px 0}.vp-home .sw-effects[aria-pressed=false]:before{background:#7b8d98;box-shadow:none}.vp-home .vp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1400px){.vp-home{min-height:740px;padding-top:44px}.vp-home .vp-deck{height:420px}.vp-home .vp-slide{height:340px;width:470px}}
@media(max-width:520px){.vp-home{padding-top:26px;min-height:640px}.vp-home .vp-intro{padding:0 22px}.vp-home h1{font-size:32px;line-height:1.08;max-width:350px}.vp-home .vp-intro-copy{font-size:12px;line-height:1.6;max-width:340px}.vp-home .vp-eyebrow{font-size:11px;letter-spacing:2px}.vp-home .vp-deck{height:319px;margin-top:12px;perspective:850px}.vp-home .vp-slide{width:clamp(220px,68cqw,300px);height:268px}.vp-home .vp-slide-title{font-size:36px}.vp-home .vp-slide-top{left:15px;right:15px;top:15px;letter-spacing:.2px;font-size:11px}.vp-home .vp-slide-bottom{left:18px;bottom:22px}.vp-home .vp-serial{font-size:100px;top:52px}.vp-home .vp-slide-invitation{font-size:11px;letter-spacing:.8px}.vp-home .vp-controls{gap:24px}.vp-home .vp-selected-summary{font-size:12px;min-height:38px;margin-top:13px}.vp-home .vp-floor{padding:0 20px;margin-top:18px;gap:10px}.vp-home .sw-effects{font-size:11px}}
@media(prefers-reduced-motion:reduce){.vp-home *{transition:none!important}}

/* Holoport projection — 25 October 2026 */
.vp-home .vp-deck{margin-bottom:64px}
.vp-home .vp-slide{overflow:visible;background:#071722;border-color:#66cfff66;box-shadow:0 0 18px #32aaff18}
.vp-home .vp-art{opacity:.88;filter:saturate(.55) contrast(1.06);border-radius:2px}
.vp-home .vp-slide.vp-front{border-color:#a4edffcc;box-shadow:0 0 22px #39bdff30,inset 0 0 24px #42caff25}
.vp-home .vp-front .vp-art{opacity:.97}
.vp-home .vp-slide:before{content:"";position:absolute;left:0;right:0;top:100%;height:56px;pointer-events:none;clip-path:polygon(0 0,100% 0,62% 100%,38% 100%);background:repeating-conic-gradient(from 270deg at 50% 100%,#7be6ff00 0deg 5deg,#72daff66 5.2deg 5.55deg,#38aaff08 5.8deg 10deg),linear-gradient(0deg,#99ecffb0,#299dff1c 70%,#56cfff30);opacity:.55;filter:drop-shadow(0 0 5px #4bcaff);transition:opacity .35s}
.vp-home .vp-front:before{opacity:1}
.vp-home .sw-electrode{bottom:-62px;left:32%;width:36%;height:9px;border-radius:50%;background:linear-gradient(#98eaff,#39bfff 20%,#0a2639 38%,#03090e 70%);border:1px solid #3b9ac088;box-shadow:0 -5px 17px #3dbfff88,0 6px 16px #000,0 13px 28px #239dff26;pointer-events:none}
.vp-home .sw-electrode:after{content:"";position:absolute;left:15%;right:15%;top:0;height:2px;border-radius:50%;background:#d0f7ff;box-shadow:0 0 9px #70e0ff,0 -3px 14px #55cfff}
.vp-home .vp-scanlines{opacity:.4;background:linear-gradient(0deg,transparent 42%,#8eeaff24 49%,#d4faff66 50%,transparent 52%),repeating-linear-gradient(0deg,transparent 0 3px,#62d7ff25 3px 4px);background-size:100% 250%,100% 4px;background-position:0 100%,0 0;box-shadow:inset 0 -2px 12px #4ad1ff66,inset 1px 0 0 #a2edff88}
.vp-home .vp-front .vp-scanlines{animation:vp-holo-resolve 1.1s ease-out both}
@keyframes vp-holo-resolve{0%{background-position:0 0,0 0;opacity:.8}35%{opacity:.34}42%{opacity:.62}100%{background-position:0 100%,0 0;opacity:.4}}
.effects-off .vp-home .vp-scanlines{animation:none!important}
.effects-off .vp-home .vp-slide:before{opacity:.25}
@media(prefers-reduced-motion:reduce){.vp-home .vp-scanlines{animation:none!important}}

/* One unseen projector shared by every destination. */
.vp-home .vp-slide:before,.vp-home .sw-electrode{display:none!important}
.vp-home .vp-shared-projection{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0%,#000 64%,#0009 78%,transparent 99%)}
.vp-projection-ray{opacity:.3;animation:vp-ray-breathe 4s ease-in-out infinite;filter:drop-shadow(0 0 3px #38bfff88)}
@keyframes vp-ray-breathe{0%,100%{opacity:.14}16%{opacity:.74}29%{opacity:.32}43%{opacity:.88}48%{opacity:.5}65%{opacity:.2}82%{opacity:.64}}
.effects-off .vp-projection-ray{animation:none;opacity:.18}
@media(prefers-reduced-motion:reduce){.vp-projection-ray{animation:none;opacity:.24}}

/* Soft light spill and restrained interference within the projection. */
.vp-home .vp-projection-ray{filter:none}
.vp-home .vp-beam-bloom{filter:blur(3.5px)}
.vp-home .vp-projection-leak{opacity:.13;animation:vp-leak-breathe 4s ease-in-out infinite}
@keyframes vp-leak-breathe{0%,100%{opacity:.09}16%{opacity:.34}29%{opacity:.18}43%{opacity:.44}48%{opacity:.26}65%{opacity:.12}82%{opacity:.31}}
.vp-home .vp-projection-crackle{opacity:0;animation:vp-beam-crackle 8s ease-in-out infinite}
@keyframes vp-beam-crackle{0%,59%,78%,100%{opacity:0}63%{opacity:.7}69%{opacity:.22}74%{opacity:.8}}
.vp-home .vp-holo-fuzz,.vp-home .vp-holo-echo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none;border-radius:2px;max-width:none}
.vp-home .vp-holo-fuzz{z-index:1;opacity:.06;clip-path:inset(0);background:repeating-linear-gradient(0deg,transparent 0 7px,#9deaff55 7px 8px,transparent 8px 13px),repeating-linear-gradient(93deg,transparent 0 17px,#99e6ff44 18px,transparent 19px 31px);background-size:100% 47px,67px 100%;animation:vp-holo-grain 1.7s steps(3,end) infinite;mix-blend-mode:screen}
@keyframes vp-holo-grain{0%,100%{background-position:0 0,0 0;opacity:.08}33%{background-position:0 13px,19px 0;opacity:.18}66%{background-position:0 -9px,-7px 0;opacity:.11}}
.vp-home .vp-holo-echo{z-index:1;object-fit:cover;object-position:center;opacity:0;clip-path:inset(44% 3px 52% 3px);filter:saturate(.35);animation:vp-holo-distort 9s steps(1,end) infinite}
@keyframes vp-holo-distort{0%,80%,94%,100%{opacity:0;transform:none}82%{opacity:.55;transform:translateX(4px);clip-path:inset(42% 5px 51% 5px)}86%{opacity:.4;transform:translateX(-4px);clip-path:inset(61% 5px 33% 5px)}91%{opacity:.25;transform:translateX(2px);clip-path:inset(28% 5px 68% 5px)}}
.vp-home.vp-projection-paused .vp-shared-projection path,.vp-home.vp-projection-paused .vp-holo-fuzz,.vp-home.vp-projection-paused .vp-holo-echo{animation-play-state:paused}
.effects-off .vp-home .vp-projection-leak{animation:none;opacity:.07}
.effects-off .vp-home .vp-projection-crackle,.effects-off .vp-home .vp-holo-fuzz,.effects-off .vp-home .vp-holo-echo{animation:none;display:none}
@media(prefers-reduced-motion:reduce){.vp-home .vp-projection-leak{animation:none;opacity:.1}.vp-home .vp-projection-crackle,.vp-home .vp-holo-fuzz,.vp-home .vp-holo-echo{animation:none;display:none}}
/* Charged image frames and upper-corner projection tethers. */
.vp-home .vp-corner-projection{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none;overflow:hidden;mask-image:linear-gradient(to bottom,#000 0%,#000 64%,#0009 78%,transparent 99%)}
.vp-home .vp-corner-ray{opacity:.4;animation:vp-ray-breathe 4s ease-in-out infinite}
.vp-home .vp-corner-leak{opacity:.14;animation:vp-leak-breathe 4s ease-in-out infinite}
.vp-home .vp-energy-rim{position:absolute;left:-1px;top:-1px;width:calc(100% + 2px);height:calc(100% + 2px);overflow:visible;z-index:4;pointer-events:none;filter:drop-shadow(0 0 3px #55ccffbb) drop-shadow(0 0 9px #2aaaff55)}
.vp-home .vp-rim-base{stroke:#70daff;stroke-width:1.1;opacity:.6;animation:vp-rim-hum 3.7s ease-in-out infinite}
.vp-home .vp-rim-charge{stroke:#e4faff;stroke-width:1.8;stroke-dasharray:8 42 3 47;stroke-linecap:round;opacity:.8;animation:vp-rim-travel 5.4s linear infinite}
@keyframes vp-rim-hum{0%,100%{opacity:.35}24%{opacity:.8}41%{opacity:.5}67%{opacity:1}82%{opacity:.55}}
@keyframes vp-rim-travel{0%{stroke-dashoffset:0;opacity:.55}50%{opacity:.95}100%{stroke-dashoffset:-100;opacity:.55}}
.vp-home.vp-projection-paused .vp-corner-projection path,.vp-home.vp-projection-paused .vp-energy-rim rect{animation-play-state:paused}
.effects-off .vp-home .vp-corner-projection path,.effects-off .vp-home .vp-energy-rim rect{animation:none;opacity:.2}
.effects-off .vp-home .vp-energy-rim{filter:none}
@media(prefers-reduced-motion:reduce){.vp-home .vp-corner-projection path,.vp-home .vp-energy-rim rect{animation:none;opacity:.3}}

/* Short, soft-edged discharge fuzz with a luminous centre. */
.vp-home .vp-projection-crackle{filter:blur(.25px) drop-shadow(0 0 2px #67dcff) drop-shadow(0 0 4px #249bff99)}
