/* Only decorative descendants. No body/main overflow, video transforms or scroll geometry. */
.kinetic-home .cosmic-vfx {
  position: absolute;
  inset: 0;
  overflow: clip;
  contain: strict;
  pointer-events: none;
  user-select: none;
}
.kinetic-home .cosmic-vfx--page { opacity: .94; }
.kinetic-home .cosmic-vfx--hero {
  z-index: 1;
  opacity: .74;
  mask-image: radial-gradient(ellipse at 50% 49%, transparent 36%, #0003 59%, #000 90%);
  -webkit-mask-image: radial-gradient(ellipse at 50% 49%, transparent 36%, #0003 59%, #000 90%);
  transition: opacity .9s ease;
}
.kinetic-home .cosmic-vfx__parallax { position: absolute; inset: -18px; }
.kinetic-home .cosmic-vfx__nebula,
.kinetic-home .cosmic-vfx__stars { position: absolute; inset: -28px; }
.kinetic-home .cosmic-vfx__nebula { inset: -12%; }
.kinetic-home .cosmic-vfx__nebula--violet {
  opacity: .72;
  background:
    radial-gradient(ellipse at 91% 22%, #a445d866, #5e288b32 26%, transparent 56%),
    radial-gradient(ellipse at 8% 76%, #8c43c957, #4d236b28 28%, transparent 58%);
}
.kinetic-home .cosmic-vfx__nebula--cyan {
  opacity: .56;
  background:
    radial-gradient(ellipse at 79% 78%, #43adc739, #1e446b21 26%, transparent 54%),
    radial-gradient(ellipse at 15% 16%, #6c5ab834, transparent 45%);
}
.kinetic-home .cosmic-vfx__stars {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.kinetic-home .cosmic-vfx__stars--0 { opacity: .62; }
.kinetic-home .cosmic-vfx__stars--1 { opacity: .74; }
.kinetic-home .cosmic-vfx__stars--2 { opacity: .84; }
.kinetic-home .cosmic-vfx__streak {
  position: absolute;
  width: clamp(76px, 11vw, 168px);
  height: 1px;
  opacity: 0;
  transform: rotate(18deg);
  transform-origin: right center;
  background: linear-gradient(90deg, transparent, #9e70d98c 55%, #b9a4e6e6 95%, #87caddad);
}
.kinetic-home .cosmic-vfx__streak--0 { left: 2%; top: 16%; }
.kinetic-home .cosmic-vfx__streak--1 { left: 63%; top: 67%; width: clamp(64px, 8vw, 126px); }
/* Stars stay peripheral to the opening. Native interior renders remain unobscured. */
.kinetic-home .tour-interior .cosmic-vfx--hero { opacity: 0; }
.kinetic-home .is-manual .cosmic-vfx--hero,
.kinetic-home .is-static .cosmic-vfx--hero,
.kinetic-home .hero-stage:fullscreen .cosmic-vfx--hero { display: none; }
.kinetic-home .cosmic-vfx[data-motion="static"] .cosmic-vfx__streak { display: none; }
@media (max-width: 750px), (hover: none), (pointer: coarse) {
  .kinetic-home .cosmic-vfx--hero { opacity: .45; }
  .kinetic-home .cosmic-vfx__nebula { opacity: .48; }
  .kinetic-home .cosmic-vfx__stars--2 { display: none; }
  .kinetic-home .cosmic-vfx__streak { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .kinetic-home .cosmic-vfx--hero { transition: none; }
  .kinetic-home .cosmic-vfx__streak { display: none; }
}
@media (forced-colors: active), print {
  .kinetic-home .cosmic-vfx { display: none; }
}
