.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:28px;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.98) 0 18%,rgba(251,246,235,.96) 43%,rgba(224,202,158,.94) 100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .42s ease,visibility .42s ease;
}
body.loader-locked{overflow:hidden}
.site-loader.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.site-loader::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 22% 26%,rgba(255,255,255,.94) 0 1px,transparent 2px),
    radial-gradient(circle at 73% 31%,rgba(246,214,139,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 64% 72%,rgba(255,255,255,.9) 0 1px,transparent 2px),
    radial-gradient(circle at 31% 76%,rgba(220,177,85,.65) 0 1px,transparent 2px);
  background-size:126px 126px,164px 164px,142px 142px,188px 188px;
  animation:site-loader-sparkle 2.8s ease-in-out infinite alternate;
}
.site-loader-inner{
  position:relative;
  width:min(500px,84vw);
  text-align:center;
}
.site-loader-logo{
  position:relative;
  isolation:isolate;
  width:100%;
  filter:drop-shadow(0 12px 24px rgba(111,76,13,.2));
}
.site-loader-logo img{
  display:block;
  width:100%;
  height:auto;
  animation:site-loader-glow 1.7s ease-in-out infinite alternate;
}
.site-loader-shine{
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.2) 41%,#fff 49%,rgba(255,235,181,.95) 54%,transparent 66%);
  -webkit-mask:url("logo.png") center/contain no-repeat;
  mask:url("logo.png") center/contain no-repeat;
  transform:translateX(-135%);
  animation:site-logo-sweep 1.45s cubic-bezier(.52,.05,.33,.98) infinite;
}
.site-loader-line{
  position:relative;
  width:min(260px,58vw);
  height:2px;
  margin:24px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:rgba(155,111,34,.18);
}
.site-loader-line::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent,#fff1c8,#b68b3c,#fff,transparent);
  transform:translateX(-105%);
  animation:site-loader-line 1.35s ease-in-out infinite;
}
@keyframes site-logo-sweep{
  0%,14%{transform:translateX(-135%)}
  72%,100%{transform:translateX(135%)}
}
@keyframes site-loader-line{
  0%{transform:translateX(-105%)}
  100%{transform:translateX(105%)}
}
@keyframes site-loader-glow{
  from{filter:brightness(1) saturate(1)}
  to{filter:brightness(1.13) saturate(1.18) drop-shadow(0 0 12px rgba(255,220,140,.48))}
}
@keyframes site-loader-sparkle{
  from{opacity:.38;transform:scale(1)}
  to{opacity:.82;transform:scale(1.015)}
}
@media(prefers-reduced-motion:reduce){
  .site-loader,.site-loader-logo img,.site-loader-shine,.site-loader-line::after,.site-loader::before{
    animation:none!important;
    transition:none!important;
  }
  .site-loader-shine{display:none}
}
