/* Alphorys site loader */
html.site-loading,
html.site-loading body{
  overflow:hidden;
  background:#080808;
}

.site-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:#080808;
  color:#ece8df;
  transform:translateZ(0);
  will-change:transform,opacity;
}

html.site-loading .site-loader{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.site-loader::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  background:
    linear-gradient(rgba(236,232,223,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(236,232,223,.06) 1px,transparent 1px);
  background-size:clamp(110px,14vw,210px) clamp(110px,14vw,210px);
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 74%);
}

.site-loader__inner{
  position:relative;
  z-index:2;
  display:flex;
  width:min(520px,calc(100vw - 48px));
  flex-direction:column;
  align-items:center;
}

.site-loader__brand{
  margin-left:.42em;
  font-family:var(--sans,"Manrope",sans-serif);
  font-size:clamp(.78rem,1vw,.96rem);
  font-weight:500;
  letter-spacing:.42em;
  opacity:0;
  transform:translateY(8px);
  filter:blur(4px);
  transition:
    opacity .55s cubic-bezier(.19,1,.22,1),
    transform .55s cubic-bezier(.19,1,.22,1),
    filter .55s cubic-bezier(.19,1,.22,1);
}

.site-loader.is-running .site-loader__brand{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

.site-loader__route{
  position:relative;
  width:min(360px,74vw);
  height:42px;
  margin-top:29px;
}

.site-loader__rail,
.site-loader__progress{
  position:absolute;
  left:0;
  top:20px;
  width:100%;
  height:1px;
  transform-origin:left center;
}

.site-loader__rail{
  background:rgba(236,232,223,.12);
}

.site-loader__progress{
  background:linear-gradient(90deg,rgba(255,106,61,.18),#ff6a3d 55%,#ff9873);
  box-shadow:0 0 10px rgba(255,106,61,.20);
  transform:scaleX(0);
  transition:transform .78s cubic-bezier(.65,0,.35,1) .12s;
}

.site-loader.is-running .site-loader__progress{
  transform:scaleX(1);
}

.site-loader__node{
  position:absolute;
  top:16px;
  width:9px;
  height:9px;
  border:1px solid rgba(236,232,223,.35);
  border-radius:50%;
  background:#080808;
  transform:scale(.72);
  opacity:.35;
  transition:
    border-color .28s ease,
    box-shadow .28s ease,
    transform .28s ease,
    opacity .28s ease;
}

.site-loader__node::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#d9d3ca;
  transform:translate(-50%,-50%);
}

.site-loader__node--1{left:0}
.site-loader__node--2{left:50%;transform:translateX(-50%) scale(.72)}
.site-loader__node--3{right:0}

.site-loader.is-running .site-loader__node--1{
  opacity:1;
  transform:scale(1);
  border-color:#ff7b50;
  box-shadow:0 0 9px rgba(255,106,61,.34);
  transition-delay:.18s;
}
.site-loader.is-running .site-loader__node--2{
  opacity:1;
  transform:translateX(-50%) scale(1);
  border-color:#ff7b50;
  box-shadow:0 0 9px rgba(255,106,61,.34);
  transition-delay:.46s;
}
.site-loader.is-running .site-loader__node--3{
  opacity:1;
  transform:scale(1);
  border-color:#ff7b50;
  box-shadow:0 0 9px rgba(255,106,61,.34);
  transition-delay:.76s;
}

.site-loader__places{
  display:flex;
  width:min(360px,74vw);
  justify-content:space-between;
  margin-top:3px;
  color:#716b64;
  font-family:var(--sans,"Manrope",sans-serif);
  font-size:.49rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(5px);
  transition:
    opacity .45s ease .48s,
    transform .45s cubic-bezier(.19,1,.22,1) .48s;
}

.site-loader.is-running .site-loader__places{
  opacity:.9;
  transform:translateY(0);
}

.site-loader__mark{
  position:absolute;
  left:50%;
  bottom:clamp(26px,5vh,52px);
  color:#5e5953;
  font-family:var(--sans,"Manrope",sans-serif);
  font-size:.48rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  transform:translateX(-50%);
  white-space:nowrap;
  opacity:0;
  transition:opacity .45s ease .55s;
}

.site-loader.is-running .site-loader__mark{
  opacity:.8;
}

.site-loader.is-exiting{
  transform:translateY(-100%);
  transition:transform .72s cubic-bezier(.76,0,.24,1);
}

.site-loader.is-exiting::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:#ff6a3d;
  box-shadow:0 0 22px rgba(255,106,61,.34);
}

@media(max-width:680px){
  .site-loader__inner{width:calc(100vw - 40px)}
  .site-loader__brand{font-size:.76rem}
  .site-loader__route,
  .site-loader__places{width:min(300px,76vw)}
  .site-loader__mark{font-size:.44rem}
}

@media(prefers-reduced-motion:reduce){
  .site-loader__brand,
  .site-loader__progress,
  .site-loader__node,
  .site-loader__places,
  .site-loader__mark{
    transition:none!important;
  }
  .site-loader.is-running .site-loader__brand,
  .site-loader.is-running .site-loader__places,
  .site-loader.is-running .site-loader__mark{
    opacity:1;
    transform:none;
    filter:none;
  }
  .site-loader.is-running .site-loader__progress{transform:scaleX(1)}
  .site-loader.is-exiting{transition:opacity .18s linear;transform:none;opacity:0}
}