/* Only the existing decorative flying saucer beside the VR zones. */
body.home .zone > .zone__el-2.tugan-ufo {
  animation: none;
  transform: none;
  pointer-events: none;
  --ufo-drift: clamp(18px, 2.8vw, 42px);
  --ufo-rise: clamp(14px, 1.7vw, 26px);
  --ufo-bank: 12deg;
}
body.home .tugan-ufo__craft {
  position: relative;
  width: 100%;
  max-width: 223px;
  line-height: 0;
  transform-origin: 51% 34%;
  will-change: transform;
  animation: tugan-ufo-patrol 16s cubic-bezier(.45, 0, .55, 1) infinite both;
}
body.home .tugan-ufo__craft > img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  clip-path: url(#tugan-ufo-hull-clip);
}
body.home .tugan-ufo__beam-layer,
body.home .tugan-ufo__effects {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
body.home .tugan-ufo__beam-layer { z-index: 0; }
body.home .tugan-ufo__effects { z-index: 2; }
body.home .tugan-ufo__beam-direction {
  transform-box: view-box;
  transform-origin: 0 0;
  animation: tugan-ufo-stabilize 16s cubic-bezier(.45, 0, .55, 1) infinite both;
}
body.home .tugan-ufo__lamp {
  opacity: .15;
  filter: drop-shadow(0 0 2px #72e8ff) drop-shadow(0 0 4px #6d9bff);
  animation: tugan-ufo-lamps 2.8s ease-in-out infinite;
  animation-delay: calc(var(--lamp) * .22s);
}
body.home .tugan-ufo__rim {
  opacity: .45;
  filter: drop-shadow(0 0 1.6px #75dfff);
  animation: tugan-ufo-rim 3.6s linear infinite;
}
body.home .tugan-ufo__scan {
  opacity: 0;
  animation: tugan-ufo-scan 16s ease-in-out infinite both;
}
body.home .tugan-ufo__beam-edge { opacity: .26; }
body.home .tugan-ufo__scan-line {
  opacity: 0;
  transform-box: view-box;
  transform-origin: 0 0;
  animation: tugan-ufo-scan-line 2.1s linear infinite;
}
body.home .tugan-ufo__scan-line--second { animation-delay: -1.05s; }
body.home .tugan-ufo__scan-floor {
  opacity: .2;
  filter: drop-shadow(0 0 4px #b990ff);
}
body.home .tugan-ufo__emitter {
  opacity: .1;
  filter: drop-shadow(0 0 1.5px #95eaff) drop-shadow(0 0 3px #ae74ff);
  animation: tugan-ufo-emitter 16s ease-in-out infinite both;
}
body.home .tugan-ufo__drive {
  opacity: 0;
  filter: blur(.6px) drop-shadow(0 0 3px #aaa0ff);
  animation: tugan-ufo-boost 16s ease-in-out infinite both;
}
@keyframes tugan-ufo-patrol {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(-2deg) scale(1); }
  12% { transform: translate3d(calc(var(--ufo-drift) * .72), calc(var(--ufo-rise) * -.5), 0) rotate(calc(var(--ufo-bank) * -.75)) scale(1.03); }
  24% { transform: translate3d(var(--ufo-drift), calc(var(--ufo-rise) * -.15), 0) rotate(calc(var(--ufo-bank) * .35)) scale(1.015); }
  32% { transform: translate3d(calc(var(--ufo-drift) * .35), calc(var(--ufo-rise) * .2), 0) rotate(2deg) scale(1); }
  38% { transform: translate3d(calc(var(--ufo-drift) * .32), calc(var(--ufo-rise) * .12), 0) rotate(0deg) scale(1); }
  50% { transform: translate3d(calc(var(--ufo-drift) * .4), calc(var(--ufo-rise) * .02), 0) rotate(-3deg) scale(1); }
  58% { transform: translate3d(calc(var(--ufo-drift) * .28), calc(var(--ufo-rise) * .1), 0) rotate(1deg) scale(1); }
  62% { transform: translate3d(calc(var(--ufo-drift) * .28), calc(var(--ufo-rise) * .1), 0) rotate(calc(var(--ufo-bank) * -.85)) scale(.98); animation-timing-function: cubic-bezier(.45, .02, .7, .5); }
  68% { transform: translate3d(calc(var(--ufo-drift) * -.6), calc(var(--ufo-rise) * -1), 0) rotate(calc(var(--ufo-bank) * -1)) scale(.91); }
  78% { transform: translate3d(calc(var(--ufo-drift) * -.95), calc(var(--ufo-rise) * -.65), 0) rotate(calc(var(--ufo-bank) * .6)) scale(.97); }
  90% { transform: translate3d(calc(var(--ufo-drift) * -.22), calc(var(--ufo-rise) * .18), 0) rotate(calc(var(--ufo-bank) * .25)) scale(1.025); }
}
@keyframes tugan-ufo-lamps {
  0%, 62%, 100% { opacity: .12; }
  16%, 26% { opacity: 1; }
  43% { opacity: .35; }
}
/* The beam stays vertical as the saucer banks; timing matches its patrol. */
@keyframes tugan-ufo-stabilize {
  0%, 100% { transform: rotate(2deg); }
  12% { transform: rotate(calc(var(--ufo-bank) * .75)); }
  24% { transform: rotate(calc(var(--ufo-bank) * -.35)); }
  32% { transform: rotate(-2deg); }
  38% { transform: rotate(0deg); }
  50% { transform: rotate(3deg); }
  58% { transform: rotate(-1deg); }
  62% { transform: rotate(calc(var(--ufo-bank) * .85)); animation-timing-function: cubic-bezier(.45, .02, .7, .5); }
  68% { transform: rotate(var(--ufo-bank)); }
  78% { transform: rotate(calc(var(--ufo-bank) * -.6)); }
  90% { transform: rotate(calc(var(--ufo-bank) * -.25)); }
}
@keyframes tugan-ufo-rim { to { stroke-dashoffset: -90; } }
@keyframes tugan-ufo-scan {
  0%, 28%, 59%, 100% { opacity: 0; }
  35% { opacity: .92; }
  42% { opacity: .67; }
  50% { opacity: .88; }
  55% { opacity: .5; }
}
@keyframes tugan-ufo-scan-line {
  0% { opacity: 0; transform: translateY(-29.76px) scale(.16); }
  24% { opacity: .6; }
  78% { opacity: .35; }
  100% { opacity: 0; transform: translateY(0) scale(1); }
}
@keyframes tugan-ufo-emitter {
  0%, 25%, 78%, 100% { opacity: .1; }
  32%, 50% { opacity: .9; }
  57% { opacity: .3; }
  64%, 68% { opacity: .95; }
}
@keyframes tugan-ufo-boost {
  0%, 59%, 77%, 100% { opacity: 0; }
  64%, 69% { opacity: .85; }
  73% { opacity: .2; }
}
@media (max-width: 1023px) {
  body.home .zone > .zone__el-2.tugan-ufo { --ufo-drift: 18px; --ufo-rise: 12px; --ufo-bank: 9deg; }
}
@media (max-width: 640px) {
  body.home .zone > .zone__el-2.tugan-ufo { --ufo-drift: 10px; --ufo-rise: 7px; --ufo-bank: 7deg; }
}
