.mi-home-loader {
  align-items: center;
  background: #1f0812;
  display: flex;
  inset: 0;
  justify-content: center;
  overflow: hidden;
  position: fixed;
  z-index: 99999;
}

.mi-home-loader::before,
.mi-home-loader::after,
.mi-home-loader__smoke {
  background: radial-gradient(circle, rgba(255, 105, 98, .48) 0, rgba(255, 105, 98, 0) 66%);
  border-radius: 50%;
  content: '';
  filter: blur(18px);
  height: min(65vw, 680px);
  opacity: .68;
  position: absolute;
  transform: translate3d(0, 0, 0);
  width: min(65vw, 680px);
}

.mi-home-loader::before { animation: mi-loader-drift-one 2.4s ease-in-out infinite alternate; background: radial-gradient(circle, rgba(68, 255, 209, .34) 0, rgba(68, 255, 209, 0) 66%); left: -18%; top: -18%; }
.mi-home-loader::after { animation: mi-loader-drift-two 2.9s ease-in-out infinite alternate; right: -20%; bottom: -20%; }
.mi-home-loader__smoke--one { animation: mi-loader-drift-two 2.1s ease-in-out infinite alternate; background: radial-gradient(circle, rgba(240, 235, 216, .25) 0, rgba(240, 235, 216, 0) 66%); left: 22%; top: 17%; }
.mi-home-loader__smoke--two { animation: mi-loader-drift-one 2.7s ease-in-out infinite alternate-reverse; left: 44%; top: 38%; }
.mi-home-loader__smoke--three { animation: mi-loader-drift-two 2.3s ease-in-out infinite alternate-reverse; background: radial-gradient(circle, rgba(115, 133, 120, .35) 0, rgba(115, 133, 120, 0) 66%); bottom: -25%; left: -10%; }

.mi-home-loader__mark { animation: mi-loader-mark .65s ease-out both; position: relative; text-align: center; z-index: 1; }
.mi-home-loader__mark img { height: auto; max-width: min(58vw, 250px); width: 180px; }
.mi-home-loader.is-leaving { animation: mi-loader-out .42s ease-in forwards; pointer-events: none; }

@keyframes mi-loader-drift-one { to { transform: translate3d(14%, 10%, 0) scale(1.14); } }
@keyframes mi-loader-drift-two { to { transform: translate3d(-14%, -10%, 0) scale(.9); } }
@keyframes mi-loader-mark { from { opacity: 0; transform: scale(.82); } to { opacity: 1; transform: scale(1); } }
@keyframes mi-loader-out { to { opacity: 0; visibility: hidden; } }

@media (prefers-reduced-motion: reduce) {
  .mi-home-loader::before,
  .mi-home-loader::after,
  .mi-home-loader__smoke,
  .mi-home-loader__mark,
  .mi-home-loader.is-leaving { animation: none; }
}
