/* Shared ambient lighting for the home hero and the guest landing. */
.vm-hero-characters img{filter:url('#vm-clean-render') saturate(.64) sepia(.18) brightness(.86) contrast(.96) drop-shadow(1.3px -1px 2.6px #f1ce9652) drop-shadow(3px -2px 7px #d5aa6233) drop-shadow(-2px 1px 4px #8da8a92e) drop-shadow(0 12px 18px #0005)}
.landing-characters img{filter:url('#landing-clean-render') saturate(.64) sepia(.18) brightness(.86) contrast(.96) drop-shadow(1.3px -1px 2.6px #f1ce9652) drop-shadow(3px -2px 7px #d5aa6233) drop-shadow(-2px 1px 4px #8da8a92e) drop-shadow(0 12px 18px #0005);mask-image:linear-gradient(#000 35%,#000e 50%,#000a 68%,#0004 83%,transparent 96%)}
.vm-character-aura,.landing-aura{background:radial-gradient(ellipse at 70% 27%,#e7bc7359,transparent 56%),radial-gradient(ellipse at 24% 52%,#8cacb32b,transparent 49%)}
.vm-hero-characters:after,.landing-characters:after{content:'';position:absolute;inset:58% -25% -4%;z-index:2;pointer-events:none;background:radial-gradient(ellipse at 50% 60%,#bbbab012,transparent 67%);filter:blur(10px);opacity:.6}
.vm-scene-rays{position:absolute;inset:-20% -12% 0 18%;pointer-events:none;background:linear-gradient(117deg,transparent 33%,#f1d29a13 39%,transparent 44%,#f1d29a0c 54%,transparent 61%);filter:blur(10px);opacity:.42;transform:rotate(-5deg);transform-origin:80% 0}
.vm-scene-haze{position:absolute;inset:48% -10% -5% 27%;pointer-events:none;background:radial-gradient(ellipse at 65% 55%,#a8b6ac1c,transparent 55%),radial-gradient(ellipse at 25% 60%,#d7bc9020,transparent 52%);filter:blur(16px);opacity:.55}
.vm-motion-ready .vm-scene-rays{animation:vm-scene-light 19s ease-in-out -7s infinite alternate}
.vm-motion-ready .vm-scene-haze{animation:vm-scene-drift 24s ease-in-out -9s infinite alternate}
.vm-motion-ready .vm-hero-characters:after,.vm-motion-ready .landing-characters:after{animation:vm-scene-drift 21s ease-in-out -6s infinite alternate}
.vm-atmosphere{mask-image:linear-gradient(90deg,transparent 12%,#0005 33%,#000 55%)}
.vm-spirit-motes span,.landing-motes>span{width:var(--size,3px);height:var(--size,3px);box-shadow:0 0 5px 1px #e7c07cb0,0 0 13px 3px #d6ac5c30}
.vm-spirit-motes span:nth-child(5n),.landing-motes>span:nth-child(5n){background:#d3e5df;box-shadow:0 0 5px 1px #adcbc17a,0 0 12px 3px #adcbc122}
.vm-spirit-motes span:nth-child(7n):before,.landing-motes>span:nth-child(7n):before{content:'';position:absolute;width:13px;height:1px;left:calc(50% - 6.5px);top:calc(50% - .5px);background:linear-gradient(90deg,transparent,#fff0c8c9,transparent)}
.landing-motes{height:min(800px,calc(100% - 85px));mask-image:linear-gradient(90deg,transparent 8%,#0005 32%,#000 54%),linear-gradient(0deg,transparent,#000 20%);mask-composite:intersect}
.landing-motes>span{animation-duration:var(--duration);border-radius:50%}
.vm-rim-glint{position:absolute;z-index:2;width:4px;height:4px;background:#fff0cd;border-radius:50%;box-shadow:0 0 6px 2px #f0d39899,0 0 16px 4px #d9ad5a40;opacity:0;pointer-events:none}
.vm-rim-glint:before,.vm-rim-glint:after{content:'';position:absolute;width:15px;height:1px;left:-5.5px;top:1.5px;background:linear-gradient(90deg,transparent,#fff1ce,transparent)}.vm-rim-glint:after{transform:rotate(90deg)}
.vm-rim-glint-one{left:76%;top:26%}.vm-rim-glint-two{left:33%;top:35%}.vm-rim-glint-three{left:60%;top:52%}
.vm-motion-ready .vm-rim-glint-one{animation:vm-scene-glint 13s ease-in-out -4s infinite}.vm-motion-ready .vm-rim-glint-two{animation:vm-scene-glint 17s ease-in-out -10s infinite}.vm-motion-ready .vm-rim-glint-three{animation:vm-scene-glint 21s ease-in-out -15s infinite}
.vm-motion-paused .vm-scene-rays,.vm-motion-paused .vm-scene-haze,.vm-motion-paused .vm-rim-glint,.vm-motion-paused .vm-hero-characters:after,.vm-motion-paused .landing-characters:after{animation-play-state:paused!important}
@keyframes vm-scene-light{from{opacity:.25;transform:translateX(-18px) rotate(-5deg)}to{opacity:.75;transform:translateX(18px) rotate(-2deg)}}
@keyframes vm-scene-drift{from{opacity:.3;transform:translate(-18px,6px)}to{opacity:.65;transform:translate(18px,-6px)}}
@keyframes vm-scene-glint{0%,54%,84%,100%{opacity:0;transform:scale(.5)}65%{opacity:.85;transform:scale(1)}73%{opacity:.4;transform:scale(.8)}}
@media(max-width:760px){
 .vm-atmosphere{mask-image:linear-gradient(180deg,transparent 40%,#000 68%)}
 .vm-scene-rays{inset:18% -35% 0 10%;opacity:.3}.vm-scene-haze{inset:60% -10% 0 5%}
 .landing-motes{mask-image:linear-gradient(90deg,transparent 20%,#000 72%);height:calc(100% - 120px)}
 .landing-motes>span{left:var(--x)}
 .vm-spirit-motes span:nth-child(2n),.landing-motes>span:nth-child(2n){display:none}
 .landing-characters:after,.vm-hero-characters:after{filter:none}
}
@media(prefers-reduced-motion:reduce){
 .vm-scene-rays,.vm-scene-haze,.vm-rim-glint,.vm-hero-characters:after,.landing-characters:after{animation:none!important}
 .vm-rim-glint,.vm-spirit-motes,.landing-motes>span{display:none!important}
}
