.site-loader{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  place-items:center;
  background:#090a0f;
  opacity:1;
  visibility:visible;
  transition:opacity .42s ease, visibility .42s ease;
  animation:siteLoaderFailsafe .35s ease 4s forwards;
}

.site-loader::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  background:rgba(139,92,246,.13);
  filter:blur(60px);
}

.site-loader__logo{
  position:relative;
  width:88px;
  height:88px;
  object-fit:cover;
  border-radius:22px;
  box-shadow:0 18px 60px rgba(0,0,0,.46);
  animation:siteLogoPulse 1.15s cubic-bezier(.4,0,.2,1) infinite;
}

.site-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@keyframes siteLogoPulse{
  0%,100%{ transform:scale(.96); opacity:.78; }
  50%{ transform:scale(1.04); opacity:1; }
}

@keyframes siteLoaderFailsafe{
  to{ opacity:0; visibility:hidden; pointer-events:none; }
}

@media (max-width:600px){
  .site-loader__logo{
    width:72px;
    height:72px;
    border-radius:18px;
  }
}

@media (prefers-reduced-motion:reduce){
  .site-loader,
  .site-loader__logo{
    animation:none;
    transition:none;
  }
}
