/* PRELOADER – premium minimal */
.preloader{
  position: fixed;
  inset: 0;
  z-index: 9999;

  /* тонкая пленка, не мутная "каша" */
  background: rgba(247,248,250,.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);

  display: grid;
  place-items: center;

  opacity: 1;
  visibility: visible;
  transition: opacity .45s ease, visibility 0s linear .45s;
}

.preloader.is-hide{
  opacity: 0;
  visibility: hidden;
}

.preloader__inner{
  width: min(420px, 86vw);
  display: grid;
   justify-content: center;
  align-items: center;
  gap: 18px;
  text-align: center;
}

/* Бренд-блок */
.preloader__brand{
  display: grid;
  gap: 10px;
}

/* ЛОГО – без подложки */
.preloader__logo{
  display: grid;
  place-items: center;
  margin: 0 auto;
}

.preloader__logo .logo-img{
  width: 56px;
  height: 56px;
  object-fit: contain;

  /* легкая премиум-глубина, без "пластика" */
  filter: drop-shadow(0 14px 28px rgba(0,0,0,.08));
}

/* Текст – минимально, можно вообще убрать */
.preloader__title{
  font-family: var(--title-font);
  letter-spacing: .02em;
  font-size: 14px;
  line-height: 120%;
  opacity: .9;
}

.preloader__subtitle{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  opacity: .55;
}

/* Линия прогресса – тонкая, дорогая */
.preloader__line{
  height: 1px;
  width: 100%;
  min-width: 280px;
  max-width: 390px;
  background: rgba(34,34,34,.10);
  overflow: hidden;
  border-radius: 999px;
}

.preloader__line-fill{
  display: block;
  height: 100%;
  width: 38%;
  background: rgba(34,34,34,.55);

  /* “плавающая” линия – премиум минимал */
  animation: preloaderLine 1.15s ease-in-out infinite;
}
/* Desktop upscale – только с 1024px */
@media (min-width: 1024px) {
  .preloader__inner{
    width: min(760px, 86vw);
    gap: 26px;
    transform: translateY(-2vh);
  }

  .preloader__logo .logo-img{
    width: 110px;
    height: 110px;
    filter: drop-shadow(0 22px 48px rgba(0,0,0,.10));
  }

  .preloader__title{
    font-size: 16px;
    letter-spacing: .07em;
  }

  .preloader__subtitle{
    font-size: 13px;
    letter-spacing: .24em;
    opacity: .62;
  }

  .preloader__line{
    width: min(620px, 80vw);
    height: 1px;
    background: rgba(34,34,34,.12);
  }

  .preloader__line-fill{
    background: rgba(34,34,34,.62);
  }
}
@keyframes preloaderLine{
  0%   { transform: translateX(-120%); opacity: .35; }
  35%  { opacity: .85; }
  100% { transform: translateX(260%); opacity: .35; }
}