@keyframes loaderLogo {
  from { opacity: 0; transform: scale(.94); }
  to   { opacity: 1; transform: scale(1); }
}

.page-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  background: #050505;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}
.page-loader.hidden {
  opacity: 0;
  pointer-events: none;
}
.page-loader img {
  height: 84px;
  width: auto;
  opacity: 0;
  animation: loaderLogo .5s cubic-bezier(0.22, 1, 0.36, 1) .1s forwards;
}

#pageContent {
  transition: opacity 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .65s cubic-bezier(0.22, 1, 0.36, 1),
              transform .65s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
