/* Page preloader — Visiblo-style percent counter, Hitm palette */
.page-preloader{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#0a0a0b;
  color:#f4f4f5;
  pointer-events:all;
  will-change:transform;
  transition:transform 1s cubic-bezier(.16,1,.3,1), opacity .35s ease;
}
.page-preloader.is-leaving{
  transform:translate3d(0,-100%,0);
  pointer-events:none;
}
.page-preloader.is-gone{
  display:none!important;
}
.page-preloader__ring{
  position:absolute;
  left:50%;
  top:50%;
  width:min(65vw,520px);
  height:min(65vw,520px);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.page-preloader__ring svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  transform-origin:50% 50%;
  transition:transform .2s ease;
}
.page-preloader__ring .circle-bg{
  fill:none;
  stroke:rgba(255,255,255,.12);
  stroke-width:2;
}
.page-preloader__ring .circle{
  fill:none;
  stroke:#e11d37;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-dasharray:1884;
  stroke-dashoffset:1884;
  transition:stroke-dashoffset .32s cubic-bezier(.19,1,.22,1);
}
.page-preloader__percent{
  position:relative;
  z-index:2;
  overflow:hidden;
  height:clamp(64px,12vw,92px);
  text-align:center;
  transform:scale(1.15);
}
.page-preloader__percent .number{
  display:block;
  line-height:0;
  font-family:Syne,Outfit,system-ui,sans-serif;
  font-weight:600;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.page-preloader__percent .number > span{
  display:inline-block;
  font-size:clamp(56px,14vw,100px);
  line-height:clamp(64px,12vw,92px);
  opacity:.72;
  color:#f4f4f5;
  transition:transform .22s cubic-bezier(.19,1,.22,1);
  will-change:transform;
}
.page-preloader__label{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  margin-top:clamp(110px,18vw,150px);
  font-family:Outfit,system-ui,sans-serif;
  font-weight:400;
  font-size:.95rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(244,244,245,.45);
  transition:opacity .45s ease;
}
.page-preloader.is-finishing .page-preloader__label{
  opacity:0;
}
.page-preloader__brand{
  position:absolute;
  top:clamp(1.25rem,4vw,2rem);
  left:50%;
  transform:translateX(-50%);
  font-family:Syne,Outfit,sans-serif;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(225,29,55,.9);
  opacity:.85;
}
@media (prefers-reduced-motion:reduce){
  .page-preloader,
  .page-preloader__percent .number > span,
  .page-preloader__ring .circle{
    transition-duration:.01ms!important;
  }
}
