/* Entry-only loader; no styles hide or reposition the page underneath. */
.site-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background: #fff;
  opacity: 1;
  transition: opacity .32s ease;
}
.site-loader__wash {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, #d3a0aa 0%, #eee0df 46%, #fff 100%);
  transform: translateY(100%);
  animation: site-loader-fill .65s cubic-bezier(.2,.7,.2,1) forwards;
}
.site-loader__symbol {
  position: relative;
  width: 96px;
  height: 96px;
  filter: brightness(.72);
  transform-origin: center;
  transform: perspective(480px) rotateY(0deg);
  backface-visibility: visible;
  animation: site-loader-spin 1.2s cubic-bezier(.42,0,1,1),
             site-loader-spin .7s linear 1.2s infinite;
}
.site-loader__status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.site-loader.is-leaving { opacity: 0; pointer-events: none; }
@keyframes site-loader-fill { to { transform: translateY(0); } }
@keyframes site-loader-spin {
  from { transform: perspective(480px) rotateY(0deg); }
  to { transform: perspective(480px) rotateY(360deg); }
}
@media (prefers-reduced-motion: reduce) {
  .site-loader { animation: none; transition-duration: .12s; }
  .site-loader__wash { animation: none; transform: none; }
  .site-loader__symbol { animation: none; transform: none; }
}
