/* ===== base ===== */
* {
    box-sizing: border-box;
}
body,
html {
    height: 100%;
}
body {
    margin: 0;
    color: #fff;
    background: #000 url("../img/bg.webp") center/cover no-repeat fixed;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}
.page {
    min-height: 100svh;
    position: relative;
}

/* ===== left column: весь блок слева, внутри — центр по оси X ===== */
.left-col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* центрируем содержимое */
    text-align: center;
    gap: 28px;
    /* смещение всего левого блока по ТЗ */
    padding-top: 40px;
    /* отступ сверху для блока */
    width: max-content;
}

/* ===== logo inside column ===== */
.logo {
    width: 130px;
    /* ТЗ */
    height: auto;
    display: block;
    margin-top: 0;
    /* уже учтено в padding-top у left-col */
}

/* headline (текст-картинка) */
.headline {
    width: 727px;
    /* ТЗ */
    max-width: 50vw;
    height: auto;
    margin-top: 40px;
    display: block;
    filter: drop-shadow(0 4px 8px rgba(0,0,0,.25));
    user-select: none;
}

/* ===== CTA button ===== */
.cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    width: 446px;
    height: 100px;
    padding: 0 28px 0 34px;
    border-radius: 16px;
    text-decoration: none;
    color: #fff;

    background: #FF7C1E;
    box-shadow: 0 78.3125px 31.8559px rgba(255,124,30,.04), 0 43.8019px 26.5466px rgba(255,124,30,.13), 0 19.91px 19.91px rgba(255,124,30,.21), 0 5.30932px 10.6186px rgba(255,124,30,.25);

    /* текст по ТЗ */
    font-family: 'Bebas Neue', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 36px;
    letter-spacing: 0.5px;

    position: relative;
    transition: background 0.2s ease, transform 0.12s ease;
    animation: ctaPopGlow 2.2s ease-in-out infinite;
    /* CTA-анимация */
}

.cta .arrow {
    width: 59px;
    height: auto;
    display: block;
}

/* hover / active по ТЗ */
.cta:hover {
    background: linear-gradient(0deg, rgba(255,255,255,0.10), rgba(255,255,255,0.10)), #FF7C1E;
}
.cta:active {
    background: #FF7C1E;
    transform: translateY(1px);
}

/* поп-глоу без сдвига макета */
@keyframes ctaPopGlow {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(255,124,30,0), 0 78px 32px rgba(255,124,30,.04), 0 44px 26px rgba(255,124,30,.13), 0 20px 20px rgba(255,124,30,.21), 0 5px 11px rgba(255,124,30,.25);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 0 40px rgba(255,124,30,.5), 0 78px 32px rgba(255,124,30,.04), 0 44px 26px rgba(255,124,30,.13), 0 20px 20px rgba(255,124,30,.21), 0 5px 11px rgba(255,124,30,.25);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 rgba(255,124,30,0), 0 78px 32px rgba(255,124,30,.04), 0 44px 26px rgba(255,124,30,.13), 0 20px 20px rgba(255,124,30,.21), 0 5px 11px rgba(255,124,30,.25);
    }
}

/* нижнее изображение */
.bottom-img {
    width: 869px;
    /* ТЗ */
    max-width: 65vw;
    height: auto;
    display: block;
    margin-top: -92px;
}

/* ===== responsive ===== */
@media (max-width: 1224px) {
    .logo {
        width: 103px;
    }
    .headline {
        width: 428px;
    }

    .bottom-img {
        width: 650px;
        margin-top: -20px;
    }

    .cta {
        width: 237px;
        height: 56px;
        font-size: 20px;
        padding: 0 22px 0 28px;
        border-radius: 8px;
    }
    .cta .arrow {
        width: 30px;
        height: auto;
        display: block;
    }

}

@media (max-width: 768px) {

    body {
        background: #000 url("../img/bg2.webp") center/cover no-repeat fixed;
    }

    .left-col {
        margin-left: 0;
        padding-top: 30px;
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 22px;
        position: relative; /* чтобы bottom-img позиционировался от left-col */
        padding-bottom: 160px; /* запас под нижнюю картинку */
    }

    .logo {
        width: 100px;
    }

    .headline {
        width: min(560px, 86vw);
        max-width: 56vw;
        margin-top: 20px;
    }

    .cta {
        width: 237px;
        height: 56px;
        font-size: 20px;
        padding: 0 22px 0 28px;
        border-radius: 8px;
    }

    .cta .arrow {
        width: 30px;
        height: auto;
        display: block;
    }

    /* === нижняя картинка фиксируется у низа === */
        .bottom-img {
        position: fixed;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: min(680px, 92vw);
        height: auto;
    }
}


@media (max-width: 520px) {

    body {
        background: #000 url("../img/bg2.webp") center/cover no-repeat fixed;
    }

    .left-col {
        margin-left: 0;
        padding-top: 30px;
        width: 100%;
        max-width: 100%;
        align-items: center;
        text-align: center;
        gap: 22px;
        position: relative; /* чтобы bottom-img позиционировался от left-col */
        padding-bottom: 160px; /* запас под нижнюю картинку */
    }

    .logo {
        width: 100px;
    }

    .headline {
        width: min(560px, 86vw);
        max-width: 56vw;
        margin-top: 20px;
        min-width: 360px;
    }

    .cta {
        width: 237px;
        height: 56px;
        font-size: 20px;
        padding: 0 22px 0 28px;
        border-radius: 8px;
    }

    .cta .arrow {
        width: 30px;
        height: auto;
        display: block;
    }

    /* === нижняя картинка фиксируется у низа === */
        .bottom-img {
        content: url("../img/bottom-img2.webp");
        position: fixed;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        width: min(680px, 92vw);
        height: auto;
        max-width: 80vw;
    }
}
