.site-preloader{
  position:fixed;
  inset:0;
  z-index:20000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0b0d11;
  transition:opacity .45s ease, visibility .45s ease;
  pointer-events:auto;
}
.site-preloader.is-done{
  opacity:0;
  visibility:hidden;
  pointer-events:none !important;
}
.site-preloader__inner{
  text-align:center;
  padding:24px;
}
.site-preloader__mark{
  position:relative;
  width:72px;
  height:72px;
  margin:0 auto 18px;
}
.site-preloader__ring{
  position:absolute;
  inset:0;
  border:1.5px solid rgba(201,162,39,.25);
  border-top-color:#c9a227;
  border-radius:50%;
  animation:sitePreloaderSpin .9s linear infinite;
}
.site-preloader__dot{
  position:absolute;
  inset:22px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #e8c96a, #c9a227 55%, #8a6a12);
  box-shadow:0 0 24px rgba(201,162,39,.35);
}
.site-preloader__brand{
  font-family:'Fraunces', Georgia, serif;
  font-size:15px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#f3ecdd;
}
.site-preloader__logo{
  display:block;
  max-width:min(220px, 55vw);
  max-height:110px;
  width:auto;
  height:auto;
  margin:0 auto 18px;
  object-fit:contain;
  animation:sitePreloaderPulse 1.4s ease-in-out infinite;
}
.site-preloader__bar{
  width:120px;
  height:2px;
  margin:0 auto;
  background:rgba(243,236,221,.12);
  overflow:hidden;
  border-radius:2px;
}
.site-preloader__bar span{
  display:block;
  width:40%;
  height:100%;
  background:linear-gradient(90deg, transparent, #c9a227, transparent);
  animation:sitePreloaderBar 1.1s ease-in-out infinite;
}

@keyframes sitePreloaderSpin{
  to{ transform:rotate(360deg); }
}
@keyframes sitePreloaderPulse{
  0%,100%{ opacity:.72; transform:scale(.98); }
  50%{ opacity:1; transform:scale(1); }
}
@keyframes sitePreloaderBar{
  0%{ transform:translateX(-120%); }
  100%{ transform:translateX(320%); }
}

@media (prefers-reduced-motion: reduce){
  .site-preloader__ring,
  .site-preloader__logo,
  .site-preloader__bar span{ animation:none; }
}
