
.pl-skip .preloader { display: none !important; }

.preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0a0a0a;
  opacity: 1;
  transition: opacity .7s ease;
}
.preloader.is-hiding {
  opacity: 0;
  pointer-events: none;
}

html:not(.has-js) .preloader { display: none; }

.preloader__logo {
  width: 140px;
  height: auto;
  transform: scale(6.5);
  opacity: 1;
  transform-origin: center center;
  animation: pl-logo 2.5s cubic-bezier(0.16, 1, 0.3, 1) both;
  will-change: transform, opacity;
}

@keyframes pl-logo {
  0%   { transform: scale(6.5); opacity: 1; filter: blur(0); }
  64%  { transform: scale(1);   opacity: 1; filter: blur(0); animation-timing-function: linear; }
  76%  { transform: scale(1);   opacity: 1; filter: blur(0); animation-timing-function: cubic-bezier(0.5, 0, 0.85, 1); }
  100% { transform: scale(0.3); opacity: 0; filter: blur(16px); }
}

html.pl-playing { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .preloader__logo { animation: none; transform: none; opacity: 1; }
  .preloader { transition: opacity .3s ease; }
}
