#swt-preloader{
  position:fixed;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:#fff;
  z-index:99999;
  overflow:hidden;
}
#swt-preloader::before{
  content:'';
  position:absolute;
  top:50%;left:50%;
  width:min(70vw,640px);height:min(70vw,640px);
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(201,3,6,.07) 0%, rgba(201,3,6,0) 70%);
  pointer-events:none;
}
#swt-preloader::after{
  content:'';
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(17,17,17,.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,17,17,.028) 1px, transparent 1px);
  background-size:34px 34px;
  -webkit-mask-image:radial-gradient(ellipse at center, #000 0%, transparent 68%);
  mask-image:radial-gradient(ellipse at center, #000 0%, transparent 68%);
  pointer-events:none;
}
html:has(#swt-preloader:not(.pl-hide)){overflow:hidden;}

.pl-inner{
  position:relative;
  display:flex;flex-direction:column;align-items:center;
  gap:22px;
  padding:0 24px;
}
.pl-logo-wrap{
  position:relative;
  width:clamp(220px,42vw,389px);
  aspect-ratio:389/68;
}
.pl-logo-wrap img{
  display:block;width:100%;height:100%;
  animation:pl-logo-reveal 1.15s .35s var(--ease,cubic-bezier(0.25,0.1,0.25,1)) forwards;
  clip-path:inset(0 100% 0 0);
}
@keyframes pl-logo-reveal{ to{ clip-path:inset(0 0% 0 0); } }
.pl-caret{
  position:absolute;
  top:0;bottom:0;left:0;
  width:3px;
  background:var(--red,#c90306);
  border-radius:2px;
  opacity:0;
  animation:pl-caret-move 1.15s .35s var(--ease,cubic-bezier(0.25,0.1,0.25,1)) forwards;
  box-shadow:0 0 10px rgba(201,3,6,.55);
}
@keyframes pl-caret-move{
  0%{ left:0%; opacity:1; }
  92%{ opacity:1; }
  100%{ left:100%; opacity:0; }
}
.pl-tagline{
  font-family:'Unbounded',sans-serif;
  font-weight:500;
  font-size:clamp(12.5px,2.2vw,15px);
  letter-spacing:.02em;
  color:var(--text-2,#5c5b58);
  text-align:center;
  min-height:1.4em;
  opacity:0;
  animation:pl-tagline-in .4s 1.35s var(--ease,cubic-bezier(0.25,0.1,0.25,1)) forwards;
}
@keyframes pl-tagline-in{ to{ opacity:1; } }
.pl-tagline .pl-cursor{
  display:inline-block;
  width:2px;height:.95em;
  background:var(--red,#c90306);
  margin-left:2px;
  transform:translateY(2px);
  animation:pl-blink 1s step-end infinite;
}
@keyframes pl-blink{
  0%,100%{opacity:1;}
  50%{opacity:0;}
}
.pl-bar-track{
  width:clamp(140px,22vw,200px);
  height:2px;
  background:var(--line,#e2dede);
  border-radius:2px;
  overflow:hidden;
  margin-top:6px;
}
.pl-bar-fill{
  height:100%;width:0%;
  background:var(--red,#c90306);
  border-radius:2px;
  animation:pl-bar-grow 3.1s .35s var(--ease,cubic-bezier(0.25,0.1,0.25,1)) forwards;
}
@keyframes pl-bar-grow{
  0%{ width:0%; }
  100%{ width:100%; }
}
.pl-pct{
  position:absolute;
  bottom:-26px;left:50%;
  transform:translateX(-50%);
  font-family:'Manrope',sans-serif;
  font-size:11px;font-weight:700;
  letter-spacing:.06em;
  color:var(--text-3,#8a8a8a);
  white-space:nowrap;
}
#swt-preloader.pl-hide{
  animation:pl-fade-out .5s var(--ease,cubic-bezier(0.25,0.1,0.25,1)) forwards;
  pointer-events:none;
}
@keyframes pl-fade-out{
  to{ opacity:0; visibility:hidden; }
}
