html {
    scroll-behavior: smooth;
}


/* ТЕКСТ */
.m-about__top,
.m-about__inner--descriptions {
    opacity: 0;
    transform: translateX(80px);
    transition: all 0.8s ease;
}

/* КАРТОЧКИ */
.m-about__card {
    opacity: 0;
    transform: translateY(60px);
    transition: all 0.6s ease;
}

/* КАРТИНКИ */
.m-about__image {
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.9s ease;
}

.m-about.is-visible .m-about__top,
.m-about.is-visible .m-about__inner--descriptions {
    opacity: 1;
    transform: translateX(0);
}

.m-about.is-visible .m-about__card {
    opacity: 1;
    transform: translateY(0);
}

.m-about.is-visible .m-about__image {
    opacity: 1;
    transform: scale(1);
}

.m-about__card:nth-child(1) { transition-delay: 0.1s; }
.m-about__card:nth-child(2) { transition-delay: 0.25s; }
.m-about__card:nth-child(3) { transition-delay: 0.4s; }
.m-about__card:nth-child(4) { transition-delay: 0.55s; }


/* ОБЩИЙ КЛАСС АНИМАЦИИ ИЗОБРАЖЕНИЙ */
.img-scale-animate {
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 0.8s ease, transform 0.8s ease;
    will-change: transform, opacity;
}

/* АКТИВАЦИЯ */
/* ОБЩИЙ КЛАСС АНИМАЦИИ ИЗОБРАЖЕНИЙ */
/* Фон структуры — старт */
.m-structure__bg--item {
    opacity: 0;
    transform: scale(0.85);
    transition: opacity 1s ease, transform 1s ease;
    will-change: transform, opacity;
}

/* Активное состояние */
.m-structure__bg--item.is-visible {
    opacity: 1;
    transform: scale(1);
}


/* Mission company */


/* Карточки */
.achievement-card {
    opacity: 0;
    transform: translateX(0);
    transition: transform 0.8s ease, opacity 0.8s ease;
    will-change: transform, opacity;
}

/* выезд слева */
.achievement-card.from-left {
    transform: translateX(-160px);
}

/* выезд справа */
.achievement-card.from-right {
    transform: translateX(160px);
}

/* когда карточка становится видимой */
.achievement-card.is-visible {
    opacity: 1;
    transform: translateX(0);
}


/* COMPANY HISTORY */

/* Стартовое состояние */
.year-card {
    opacity: 0;
    transform: translateY(50px);
    transition:
            opacity 0.7s ease,
            transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity;
}

/* Когда карточка в зоне видимости */
.year-card.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.a-h-list__card:nth-child(1) { transition-delay: 0ms; }
.a-h-list__card:nth-child(2) { transition-delay: 120ms; }
.a-h-list__card:nth-child(3) { transition-delay: 240ms; }
.a-h-list__card:nth-child(4) { transition-delay: 360ms; }
.a-h-list__card:nth-child(5) { transition-delay: 480ms; }

.a-h-image-wrapper {
    position: relative;
    overflow: hidden;
}

.a-h-image-wrapper__bg--image {
    width: 100%;
    height: auto;
    transform: translateY(0);
    transition: transform 0.1s linear;
    will-change: transform;
}

.career-about__content {
    opacity: 0;
    transform: translateY(40px);
    transition:
            opacity 0.8s ease-out,
            transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.career-about__content.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Можно добавить небольшой stagger для элементов внутри */
.career-about__content .title,
.career-about__content .career-about__description p {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.career-about__content.is-visible .title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.1s;
}

.career-about__content.is-visible .career-about__description p:nth-child(1) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.3s;
}

.career-about__content.is-visible .career-about__description p:nth-child(2) {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
}

.career-services__bg {
    transform: scale(1.05); /* чуть увеличено */
    opacity: 0;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out;
    will-change: transform, opacity;
}

.career-services__bg.is-visible {
    transform: scale(1);
    opacity: 1;
}

/* Начальное состояние */
.image-block__image,
.image-block__content {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity;
}

/* Выезд слева/справа для изображений */
.image-block.image-block_reverse .image-block__image {
    transform: translateX(50px);
}

.image-block:not(.image-block_reverse) .image-block__image {
    transform: translateX(-50px);
}

.image-block.is-visible .image-block__image,
.image-block.is-visible .image-block__content {
    opacity: 1;
    transform: translateX(0) translateY(0);
}

/* Можно добавить небольшую задержку для контента */
.image-block__content {
    transition-delay: 0.2s;
}

/* Zakup */

/* Общая подготовка */
.purchases-images-block,
.map-block,
.purchase-partner,
.purchases-principles,
.compliance-block {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity;
}

/* Для картинок — scale эффект */
.purchases-images-block__image img,
.map-block__image img {
    transform: scale(0.95);
    transition: transform 0.8s ease-out;
}

/* Когда блок виден */
.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Картинки увеличиваются */
.is-visible .purchases-images-block__image img,
.is-visible .map-block__image img {
    transform: scale(1);
}

/* Можно добавить задержку для текста/карточек */
.purchase-partner__list .step-card,
.purchases-principles__list .principles-card,
.map-block__list .contact-wrapper {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.is-visible .purchase-partner__list .step-card,
.is-visible .purchases-principles__list .principles-card,
.is-visible .map-block__list .contact-wrapper {
    opacity: 1;
    transform: translateY(0);
}

/* pwt */

/* Общие стили для анимации */
[data-animate] {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.6s ease-out;
}

[data-animate].show {
    opacity: 1;
    transform: translateY(0);
}

/* Можно сделать разные задержки через data-delay */
[data-delay] {
    transition-delay: var(--delay, 0s);
}

.project-card__img {
    position: relative;
    overflow: hidden;
}

.project-card__img::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
            to left,
            rgba(0, 0, 0, 0.45) 0%,
            rgba(0, 0, 0, 0.25) 50%,
            rgba(0, 0, 0, 0) 73%
    );
    pointer-events: none;
}

.specialization-card {
    position: relative;
}

/* КОНТЕНТ — всегда сверху */
.specialization-card__wrapper {
    position: relative;
    z-index: 3;
}

/* КАРТИНКА */
.specialization-card__image {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
}

/* ЗАТЕМНЕНИЕ ТОЛЬКО ФОНА */
.specialization-card__image::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
            to right,
            rgba(0, 0, 0, 0.8) 0%,
            rgba(0, 0, 0, 0.6) 35%,
            rgba(0, 0, 0, 0.25) 60%,
            rgba(0, 0, 0, 0) 85%
    );
    pointer-events: none;
}

/* САМА КАРТИНКА */
.specialization-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

