/* Visible light for the existing AVIXI monochrome system. No particle layer. */
.hero-light-orbit,
.hero-light-wash { position: absolute; display: block; pointer-events: none; }
.hero-light-orbit {
  width: min(64vw, 900px); aspect-ratio: 1; right: -2vw; top: 50%;
  transform: translateY(-50%) rotate(-38deg); opacity: .9;
}
.hero-light-orbit::before,
.hero-light-orbit::after {
  content: ""; position: absolute; inset: 0; border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 214deg, rgba(242,240,233,.04) 246deg, rgba(242,240,233,.34) 280deg, rgba(242,240,233,.94) 311deg, rgba(205,222,143,.64) 330deg, transparent 355deg);
  mask-image: radial-gradient(closest-side, transparent 96.2%, #000 97.2% 99%, transparent 100%);
  -webkit-mask-image: radial-gradient(closest-side, transparent 96.2%, #000 97.2% 99%, transparent 100%);
}
.hero-light-orbit::after { inset: -3%; filter: blur(16px); opacity: .62; }
.hero-light-wash {
  width: min(52vw, 740px); aspect-ratio: 1; right: -6vw; top: 50%;
  transform: translateY(-50%); opacity: .72;
  background: radial-gradient(ellipse at 56% 48%, rgba(242,240,233,.12), rgba(205,222,143,.035) 36%, transparent 67%);
}
.hero-field .field-ring--one { opacity: .72; border-color: rgba(242,240,233,.17); }
.hero-field .field-ring--two { animation: none; opacity: .68; }
.home-hero.is-motion-active .hero-light-orbit { animation: avixi-hero-orbit 8.4s linear infinite; }
.home-hero.is-motion-active .hero-light-wash { animation: avixi-hero-wash 8.4s ease-in-out infinite; }
.home-hero.is-motion-active .field-ring--two { animation: avixi-field-ticks 18s linear infinite; }
@keyframes avixi-hero-orbit { to { transform: translateY(-50%) rotate(322deg); } }
@keyframes avixi-hero-wash {
  0%, 100% { transform: translateY(-50%) translateX(-6%) scale(.96); opacity: .5; }
  50% { transform: translateY(-50%) translateX(8%) scale(1.08); opacity: .9; }
}
@keyframes avixi-field-ticks { to { transform: translateY(-48%) rotate(-360deg); } }
.motion-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 104px; font-size: 11px; letter-spacing: .08em; z-index: 8; }
.home-hero .motion-toggle { top: auto; bottom: 26px; left: auto; right: var(--page); }
.home-hero .scroll-note { padding-right: 136px; }
.conversion-track--home .motion-toggle { display: none !important; }
.conversion-track--home .conversion-step::after {
  content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 2px;
  background: var(--signal); transform: scaleX(0); transform-origin: left;
}
.conversion-track--home.is-motion-active .conversion-step::after { animation: avixi-conversion-flow 8s ease-in-out infinite; }
.conversion-track--home .conversion-step:nth-child(2)::after { animation-delay: .9s; }
.conversion-track--home .conversion-step:nth-child(3)::after { animation-delay: 1.8s; }
.conversion-track--home .conversion-step:nth-child(4)::after { animation-delay: 2.7s; }
.conversion-track--home .conversion-step:nth-child(5)::after { animation-delay: 3.6s; }
@keyframes avixi-conversion-flow {
  0%, 3% { transform: scaleX(0); opacity: .3; }
  20%, 64% { transform: scaleX(1); opacity: .9; }
  88%, 100% { transform: scaleX(1); opacity: .12; }
}
/* Pause every decorative animation, including pseudo elements and title entrance. */
:is(.motion-paused, .motion-manual-paused) .v4-motion-stage,
:is(.motion-paused, .motion-manual-paused) .v4-motion-stage *,
:is(.motion-paused, .motion-manual-paused) .v4-motion-stage *::before,
:is(.motion-paused, .motion-manual-paused) .v4-motion-stage *::after { animation-play-state: paused !important; }
@media (max-width: 640px) {
  .hero-light-orbit { width: 92vw; right: -16vw; top: 44%; }
  .hero-light-wash { width: 90vw; right: -30vw; top: 44%; opacity: .65; }
  .home-hero .motion-toggle { bottom: 24px; right: 20px; min-width: 96px; }
  .home-hero .scroll-note { padding-right: 106px; }
  .home-hero .scroll-note span:last-child { display: none; }
}
@media (hover: none), (pointer: coarse) {
  .motion-toggle { display: inline-flex !important; }
  .v4-motion-stage *::before, .v4-motion-stage *::after { animation-iteration-count: 1 !important; animation-fill-mode: both !important; }
  /* A connected mouse can be used even when the device reports touch as primary. */
  body.has-mouse-pointer :is(.context-lens-canvas, .context-lens-core) { display: block !important; }
}
body.has-mouse-pointer.cursor-orbit-enabled,
body.has-mouse-pointer.cursor-orbit-enabled * { cursor: none !important; }
body.has-mouse-pointer.cursor-orbit-enabled :is(input, textarea, select, [contenteditable]:not([contenteditable="false"]), dialog, dialog *, .mobile-menu, .mobile-menu *) { cursor: auto !important; }
body.has-mouse-pointer:is(.menu-open, .detail-open), body.has-mouse-pointer:is(.menu-open, .detail-open) * { cursor: auto !important; }
@media (prefers-reduced-motion: reduce) {
  .motion-toggle { display: none !important; }
  .hero-light-orbit { transform: translateY(-50%) rotate(-38deg); opacity: .62; }
  .hero-light-wash { opacity: .5; }
  .hero-field *, .hero-field *::before, .hero-field *::after { animation: none !important; }
  .conversion-step::after { animation: none !important; transform: scaleX(1); opacity: .35; }
  body.has-mouse-pointer :is(.context-lens-canvas, .context-lens-core) { display: none !important; }
  body.has-mouse-pointer.cursor-orbit-enabled, body.has-mouse-pointer.cursor-orbit-enabled * { cursor: auto !important; }
}
