#preloader {
position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.75); 
  
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;

  backdrop-filter: blur(19px);
  -webkit-backdrop-filter: blur(19px);

  transition: opacity 0.5s ease, visibility 0.5s;
}

.no-scroll {
    overflow: hidden !important;
    height: 100vh;
    width: 100%;
    position: fixed;
}

#fillGradient stop {
  animation: fill-animation 2s infinite ease-in-out;
}

@keyframes fill-animation {
  0% {
    offset: 0%;
  }
  50% {
    /* В середине цикла логотип полностью окрашен */
    offset: 100%;
  }
  100% {
    offset: 100%;
  }
}

/* Настройка контрольных точек градиента для эффекта "заливки" */
.stop-1 { stop-offset: 0%; }
.stop-2 { stop-offset: var(--progress, 0%); }
.stop-3 { stop-offset: var(--progress, 0%); }
.stop-4 { stop-offset: 100%; }

/* Упрощенная анимация через изменение смещения (offset) */
@keyframes fill-animation {
  0% { stop-offset: 0%; }
  50% { stop-offset: 100%; }
  100% { stop-offset: 100%; }
}

/* Стили для скрытия прелоадера */
.preloader-hidden {
  opacity: 0;
  visibility: hidden;
}


.loading-logo {
  transform-origin: center;
  animation: 
    logoAppear 0.6s ease-out forwards, 
    logoBreathe 2.5s ease-in-out 0.6s infinite alternate;
}

@keyframes logoAppear {
  0% { opacity: 0; transform: scale(0.9); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes logoBreathe {
  0% { transform: scale(1);}
  100% { transform: scale(1.09);}
}