/* Approved XR core artwork, with lightweight decorative motion. */
.hero{background:#080c0f}
.hero-art{inset:80px -4% 0 40%;opacity:1;mix-blend-mode:lighten;contain:layout style;pointer-events:none}
.core-stage{position:absolute;inset:0;display:grid;place-items:center;transform:translate3d(var(--core-x,0px),var(--core-y,0px),0);transition:transform 1.2s cubic-bezier(.2,.7,.3,1)}
.core-frame{width:100%;max-width:1254px;position:relative;aspect-ratio:1;animation:xr-core-float 12s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 53%}
.hero-art.is-in-view .core-frame{animation-play-state:running}
.core-frame picture,.core-image{display:block;width:100%;height:auto}.core-image{aspect-ratio:1;object-fit:contain}
.core-streams{position:absolute;inset:0;width:100%;height:100%;overflow:visible;opacity:.55}
.core-stream{stroke:url(#xr-core-stream-light);stroke-width:1.3;stroke-linecap:round;stroke-dasharray:10 560;stroke-dashoffset:570;filter:drop-shadow(0 0 3px #b7ffe8);animation:xr-core-flow 5s linear infinite;animation-play-state:paused}
.hero-art.is-in-view .core-stream{animation-play-state:running}.core-stream.upper{animation-direction:reverse}.core-stream.secondary{animation-delay:-2.5s;opacity:.55;stroke-width:.9}
.core-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#080c0f 0%,#080c0f00 16%,transparent 100%);pointer-events:none}
@keyframes xr-core-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes xr-core-flow{to{stroke-dashoffset:0}}
@media(min-width:1101px){
 .hero{background:radial-gradient(ellipse at 79% 51%,#152e251c,transparent 55%),#080c0f}
 .hero-art{inset:68px -4% 0 42%}
 .hero-content{width:58%}
 .hero:after{height:115px;background:linear-gradient(transparent,#080c0f 93%)}
 .hero:before{opacity:.018}
}
@media(min-width:1600px){.hero-art{left:44%;right:-3%;top:45px}.hero-content{max-width:920px}}
@media(min-width:761px) and (max-width:1100px){.hero h1{font-size:clamp(76px,9.2vw,94px)}.hero-content>p{max-width:350px}.hero-art{left:58%;right:-8%;top:100px;opacity:1}.core-vignette{background:linear-gradient(90deg,#080c0f,transparent 20%)}}
@media(max-width:760px){
 .hero-art{inset:445px -12% 25px -12%;mix-blend-mode:lighten;filter:none}
 .core-stage{transform:none;transition:none}.core-frame{max-width:620px}
 .core-vignette{background:linear-gradient(180deg,#080c0f 0%,transparent 16%,transparent 85%,#080c0f 100%)}
 .core-streams{opacity:.4}
}
@media(max-width:370px){.hero-art{top:500px;bottom:5px}}
@media(prefers-reduced-motion:reduce){.core-stage,.core-frame{transform:none!important;animation:none!important;transition:none}.core-streams{display:none}}
/* Clearer motion: a slow hover cycle, perspective response and animated light. */
.core-stage{transform:perspective(1200px) translate3d(var(--core-x,0px),var(--core-y,0px),0) rotateX(var(--core-tilt-x,0deg)) rotateY(var(--core-tilt-y,0deg));transition:transform .85s cubic-bezier(.2,.7,.3,1)}
.core-frame{animation-name:xr-core-hover;animation-duration:7.2s;animation-timing-function:cubic-bezier(.45,.05,.55,.95)}
.core-energy{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
.core-streams{opacity:.7}.core-stream{stroke-width:1.6;stroke-dasharray:22 520;animation-duration:2.8s}.core-stream.secondary{animation-delay:-1.4s}
@keyframes xr-core-hover{0%,100%{transform:translate3d(0,9px,0) rotate(-.5deg) scale(.995)}25%{transform:translate3d(3px,-7px,0) rotate(0deg) scale(1)}50%{transform:translate3d(0,-19px,0) rotate(.5deg) scale(1.008)}75%{transform:translate3d(-3px,-6px,0) rotate(0deg) scale(1)}}
@media(max-width:760px){.core-stage{transform:none}.core-frame{animation-name:xr-core-mobile-hover;animation-duration:7s}.core-energy{opacity:.8}}
@keyframes xr-core-mobile-hover{0%,100%{transform:translateY(4px)}50%{transform:translateY(-12px)}}
@media(prefers-reduced-motion:reduce){.core-energy{display:none}.core-frame{animation:none!important}.core-stage{transform:none!important}}
