#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

#preloader-canvas {
    width: 100%;
    height: 100%;
}

/* Предотвращаем горизонтальный скролл во время анимации */
body.loading {
    overflow-x: hidden;
}

/* --- Стили для десктопа --- */

/* Начальное состояние для появления сверху/снизу */
.content-hidden-up {
    opacity: 0;
    transform: translateY(-30px);
}
.content-hidden-down {
    opacity: 0;
    transform: translateY(30px);
}
/* Плавный переход для хедера и основного контента на десктопе */
header,
.main-page-content {
    transition: opacity 1s ease-out, transform 1s ease-out;
}


/* --- Стили для мобильной анимации --- */
@media (max-width: 1024px) {
    /* Переопределяем переход для вылета слева */
    header,
    .main-page {
         transition: opacity 1s ease-out, transform 1s ease-out;
    }
    
    /* Новый класс для начального состояния "за экраном слева" */
    .content-hidden-left {
        transform: translateX(-100%);
    }
}


/*
  Эти стили остаются без изменений, они отвечают за анимацию
  колонок в блоке .main-page-bottom
*/
.main-page-bottom {
  position: relative;
  opacity: 1; 
}

.bottom-column .botom-imagine,
.bottom-column .bottom-comment {
  opacity: 0;
}

.bottom-column .botom-imagine {
  transform: translateY(-20px); 
}

.bottom-column .bottom-comment {
   transform: translateY(20px); 
}

.main-page-bottom.is-animated .botom-imagine,
.main-page-bottom.is-animated .bottom-comment {
  animation: fadeInUp 0.5s ease-out forwards;
}

.main-page-bottom.is-animated .botom-imagine {
  animation-delay: calc(0s + var(--delay)); 
}

.main-page-bottom.is-animated .bottom-comment {
  animation-delay: calc(0.5s + var(--delay));
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Стили для логотипа (только десктоп) */
.main-page-bottom::after {
  opacity: 0;
  transition: opacity 0.3s ease-in;
}

.main-page-bottom.logo-visible::after {
  opacity: 1;
}