/* REALISTIC ENGINE (assets/v5d/engine-video.js): the photo-real engine video that takes over
   from the 3D engine once it has built itself. Size 88% of the engine box so it matches the 3D one. */
.eng-real-wrap{position:absolute;left:50%;top:50%;width:88%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:2;pointer-events:none;
  opacity:0;transition:opacity 1.1s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.eng-real-video{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%;
  -webkit-mask-image:radial-gradient(circle closest-side,#000 92%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 92%,transparent 100%)}
.eng-real-hl{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.eng-real-seg{fill:rgba(150,240,255,.3);stroke:#c8f8ff;stroke-width:.9;stroke-linejoin:round;mix-blend-mode:screen}
.eng-real-seg.pop{animation:engSegPop .7s cubic-bezier(.2,.9,.25,1)}
@keyframes engSegPop{0%{opacity:0;transform:scale(.96)}60%{opacity:1;transform:scale(1.015)}100%{opacity:1;transform:none}}
.eng.eng-real-on .eng-real-wrap{opacity:1}
.eng.eng-real-on .engine-metal-canvas{opacity:0;transition:opacity 1.1s ease}
.eng.eng-real-on .engine-centre-brand{visibility:hidden}
@media (prefers-reduced-motion:reduce){.eng-real-wrap{transition:none}}

/* The original model appears only during assembly, then the approved video takes over. */
.eng .eng-svg,.eng .eng-logo,.eng .engine-centre-brand{display:none!important}
.eng::before,.eng::after{display:none!important}
.eng .eng-real-wrap{opacity:0;transition:opacity .7s ease,transform .6s ease}
.eng.eng-real-on .eng-real-wrap{opacity:1}
.eng .engine-metal-canvas{opacity:1;transition:opacity .7s ease}
.eng.eng-real-on .engine-metal-canvas{opacity:0;visibility:hidden;transition:opacity .7s ease,visibility 0s .7s}
@media(prefers-reduced-motion:reduce){.eng .eng-real-wrap{transition:none}}

/* Once complete, remove the assembly renderer from display entirely. */
.eng.eng-real-on .engine-metal-canvas{display:none!important}

/* No crossfade or old-engine hold at the end of assembly. */
.eng .eng-real-wrap{transition:transform .6s ease}
.eng .engine-metal-canvas{transition:none}
@media(prefers-reduced-motion:reduce){.eng .eng-real-wrap{transition:none}}
