@import url('https://fonts.googleapis.com/css2?family=Play:wght@400;700&display=swap');

html {
    scrollbar-width: thin;
    scrollbar-color: #2e2e2e #121212;
}

body {
    background: #121212;
    color: #fff;
    font-size: 16px;
    font-family: "Play", sans-serif;
    margin: auto;
}

a:link,
a:visited {
    color: #fff;
    text-decoration: none;
}

img {
    vertical-align: -2px;
    border: 0px;
    margin: 0;
    padding: 0;
}

main {
    margin-top: 30px;
}

.conteiner {
    max-width: 1300px;
    padding: 0 15px;
    margin: auto;
}

header {
    background: #121212;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 64px;
}

.header-logo img {
    width: 200px;
}

.header-nav {
    display: flex;
    align-items: center;
    gap: 20px;
}

.header-nav button {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(#ad2e1f 50%, #9b2b1e 50%);
    color: #ffffff;
    font-weight: 700;
    font-size: 1rem;
    padding: 12px 32px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 8px 32px rgba(173, 46, 31, 0.55);
    border: none;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.header-nav button:hover {
    background: linear-gradient(#bb3828 50%, #a53427 50%);
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 18px 48px rgba(173, 46, 31, 0.75);
}

.header-nav button span {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

.header-hr {
    height: 35px;
    border-left: 1px solid #242424;
}

.hero-bg {
    position: absolute;
    inset: 0;
    background: url(../images/bg.jpg) center/cover no-repeat;
    opacity: 0.16;
    z-index: 1;
}

.hero-bg::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, #121212 0%, #00000059 30%, #00000014 50%, #121212 70%);
    pointer-events: none;
    z-index: 1;
}

.hero {
    position: relative;
}

.hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    min-height: 80vh;
}

.hero-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
    z-index: 2;
}

.hero-title {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.5px;
    margin: 0;
    color: #ffffff;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
}

.hero-subtitle {
    font-size: 1.28rem;
    line-height: 1.55;
    color: #efefef;
    font-weight: 400;
    opacity: 0.92;
    max-width: 460px;
}

.hero-subtitle b {
    color: #c75e52;
    font-weight: 600;
    background: linear-gradient(135deg, #ff8c69, #ff4540);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-buttons {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(#ad2e1f 50%, #9b2b1e 50%);
    color: #ffffff;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 16px 42px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 8px 32px rgba(173, 46, 31, 0.55);
    border: none;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.glow-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.30), transparent);
    transform: translateX(-100%);
    transition: transform 0.7s ease;
}

.glow-btn:hover::before {
    transform: translateX(100%);
}

.btn-primary:hover {
    background: linear-gradient(#bb3828 50%, #a53427 50%);
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 18px 48px rgba(173, 46, 31, 0.75);
}

.btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 16px 38px;
    border-radius: 999px;
    background: rgb(242 106 106 / 12%);
    border: 1px solid rgb(242 106 106 / 35%);
    font-weight: 600;
    font-size: 1.05rem;
    backdrop-filter: blur(8px);
    transition: all 0.3s ease;
}

.btn-secondary:hover {
    background: rgb(242 106 106 / 18%);
    border: 1px solid rgb(242 106 106 / 45%);
    transform: translateY(-2px);
}

.btn-primary span,
.btn-secondary span {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

.hero-image {
    position: relative;
    perspective: 1200px;
    z-index: 1;
}

.hero-main-img {
    width: 100%;
    max-width: 580px;
    border-radius: 28px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.7), 0 0 0 1px rgb(242 106 106 / 18%), inset 0 0 60px rgba(106, 178, 242, 0.08);
    transform: rotateY(-12deg) rotateX(8deg);
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hero-image:hover .hero-main-img {
    transform: rotateY(-4deg) rotateX(4deg) scale(1.03);
}

.hero-float-item {
    position: absolute;
    background: rgba(106, 178, 242, 0.25);
    pointer-events: none;
}

.float-1 {
    width: 140px;
    height: 140px;
    top: 15%;
    right: 12%;
    background: url(../images/logo2.png) no-repeat;
    background-size: 120px 120px;
    animation: float 14s infinite ease-in-out;
}

.float-2 {
    width: 140px;
    height: 140px;
    bottom: 18%;
    left: 10%;
    background: url(../images/logo1.png) no-repeat;
    background-size: 120px 120px;
    animation: float 18s infinite ease-in-out reverse;
}

@keyframes float {

    0%,
    100% {
        transform: translate(0, 0) rotate(0deg);
    }

    25% {
        transform: translate(30px, -40px) rotate(10deg);
    }

    50% {
        transform: translate(-20px, 50px) rotate(-8deg);
    }

    75% {
        transform: translate(40px, 20px) rotate(15deg);
    }
}


.box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
    max-width: 1200px;
    margin: auto auto 100px auto;
    padding: 50px;
    border-radius: 32px;
    background: linear-gradient(90deg,
            #121212 0%,
            #121212 20%,
            rgba(18, 18, 18, 0.9) 30%,
            rgba(18, 18, 18, 0.6) 40%,
            rgba(18, 18, 18, 0.3) 50%,
            rgba(18, 18, 18, 0.1) 60%,
            rgba(18, 18, 18, 0) 70%,
            rgba(18, 18, 18, 0) 100%);
    background-size: 300% 100%;
    animation: bgFlow 15s ease infinite alternate;
    backdrop-filter: blur(4px);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);
}

@keyframes bgFlow {
    0% {
        background-position: 0% 0%;
    }

    25% {
        background-position: 50% 0%;
    }

    50% {
        background-position: 100% 0%;
    }

    75% {
        background-position: 150% 0%;
    }

    100% {
        background-position: 200% 0%;
    }
}

@keyframes bgFlowSmooth {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 200% 0%;
    }
}

.box::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(173, 46, 31, 0.3) 10%,
            rgba(255, 69, 0, 0.7) 20%,
            rgba(255, 107, 74, 1) 30%,
            rgba(255, 140, 105, 1) 40%,
            rgba(255, 107, 74, 0.9) 50%,
            rgba(255, 69, 0, 0.6) 60%,
            rgba(173, 46, 31, 0.3) 70%,
            transparent 85%,
            transparent 100%);
    background-size: 400% 100%;
    border-radius: 34px;
    animation: borderFlow 10s linear infinite;
    mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    mask-composite: exclude;
    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    padding: 2px;
    z-index: -1;
    filter: drop-shadow(0 0 6px rgba(255, 69, 0, 0.4));
}

@keyframes borderFlow {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 400% 0%;
    }
}

.box>* {
    position: relative;
    z-index: 1;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
    animation: contentFade 1s ease;
}

@keyframes contentFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.box-image-full,
.box-image-mini {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    flex-shrink: 0;
    perspective: 1000px;
    flex-direction: column;
}

.box-image-full img,
.box-image-mini img {
    max-width: 300px;
    width: 100%;
    height: auto;
    transform: perspective(900px) rotateX(12deg) rotateY(-8deg) rotateZ(4deg);
    transition: transform 0.4s ease;
    filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45)) drop-shadow(0 60px 80px rgba(0, 0, 0, 0.25));
}

.box-image-full img:hover {
    transform: perspective(900px) rotateX(18deg) rotateY(-12deg) rotateZ(6deg) translateY(-10px);
    filter: drop-shadow(0 50px 70px rgba(0, 0, 0, 0.55)) drop-shadow(0 100px 140px rgba(0, 0, 0, 0.35));
}

.box-image-full button {
    padding: 12px 24px;
    transform: perspective(900px) rotateX(12deg) rotateY(-8deg) rotateZ(4deg);
    font-size: 14px;
    margin: -10px 40px 0 0;
    border-radius: 10px;
    color: #121212;
    border: 2px solid #101010;
}

.box-content {
    position: relative;
    flex: 1;
}

.box-content::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: radial-gradient(80% 80%, rgb(255 0 0 / 25%) 0%, rgb(255 0 0 / 8%) 35%, rgb(255 0 0 / 1%) 55%, rgba(0, 0, 0, 0) 75%);
    filter: blur(45px);
    transform: scale(1);
    opacity: 1;
}

.box-content h1 {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-size: 40px;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
    margin: 0;
}

.box-content p {
    color: #d5d5d5;
    font-size: 20px;
}

.box-content p b {
    color: #c75e52;
    font-weight: 600;
    background: linear-gradient(135deg, #ff8c69, #ff4540);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.box-actions {
    position: absolute;
    bottom: -25px;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: linear-gradient(#ad2e1f 50%, #9b2b1e 50%);
    color: #121212;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 16px 42px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
    box-shadow: 0 8px 32px rgba(173, 46, 31, 0.55);
    border: none;
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.btn:hover {
    background: linear-gradient(#bb3828 50%, #a53427 50%);
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 18px 48px rgba(173, 46, 31, 0.75);
}

.btn span {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-weight: 600;
    text-transform: uppercase;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
}

.box-content hr {
    height: 2px;
    background: linear-gradient(90deg, transparent 15%, #ad2e1f, transparent 85%);
    border: none;
    margin: 15px 0;
}


/* Вариант 4: Пульсация с эффектом ряби (самый эффектный) */
.chevron-down {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
    position: relative;
}

.chevron-down div {
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 24 24" fill="none" stroke="%23ff4540" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolyline points="6 9 12 15 18 9"%3E%3C/polyline%3E%3C/svg%3E') no-repeat center;
    width: 60px;
    height: 60px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
    position: relative;
    animation: ripplePulse 2s ease-out infinite;
    cursor: pointer;
}

/* Эффект ряби (волны) */
.chevron-down div::before,
.chevron-down div::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border: 2px solid rgba(255, 69, 0, 0.5);
    border-radius: 50%;
    opacity: 0;
    pointer-events: none;
}

.chevron-down div::before {
    animation: ripple 2s ease-out infinite;
}

.chevron-down div::after {
    animation: ripple 2s ease-out 0.5s infinite;
}

@keyframes ripplePulse {

    0%,
    100% {
        transform: scale(1);
        filter: drop-shadow(0 4px 8px rgba(255, 69, 0, 0.3));
    }

    50% {
        transform: scale(1.1);
        filter: drop-shadow(0 15px 25px rgba(255, 69, 0, 0.7));
    }
}

@keyframes ripple {
    0% {
        width: 100%;
        height: 100%;
        opacity: 0.5;
    }

    100% {
        width: 200%;
        height: 200%;
        opacity: 0;
    }
}


.title {
    background-image: linear-gradient(169deg, #fff 50%, #fff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 3.8rem;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -0.5px;
    margin: 0;
    color: #ffffff;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
    text-align: center;
    margin-bottom: 80px;
}

/* Контейнер для блоков */
.items-content {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 80px;
}

/* Стилизация блоков в стиле .box */
.items {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 250px;
    padding: 30px;
    border-radius: 32px;

    /* Градиентный фон как у .box */
    background: linear-gradient(90deg,
            #121212 0%,
            #121212 20%,
            rgba(18, 18, 18, 0.9) 30%,
            rgba(18, 18, 18, 0.6) 40%,
            rgba(18, 18, 18, 0.3) 50%,
            rgba(18, 18, 18, 0.1) 60%,
            rgba(18, 18, 18, 0) 70%,
            rgba(18, 18, 18, 0) 100%);
    background-size: 300% 100%;
    animation: bgFlow 15s ease infinite alternate;

    /* Эффект размытия и тени как у .box */
    backdrop-filter: blur(4px);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);

    /* Анимация появления контента */
    animation: bgFlow 15s ease infinite alternate, contentFade 1s ease;
}

/* Анимация фона из .box */
@keyframes bgFlow {
    0% {
        background-position: 0% 0%;
    }

    25% {
        background-position: 50% 0%;
    }

    50% {
        background-position: 100% 0%;
    }

    75% {
        background-position: 150% 0%;
    }

    100% {
        background-position: 200% 0%;
    }
}

/* Анимация появления контента из .box */
@keyframes contentFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Псевдоэлемент для градиентной обводки как у .box::before */
.items::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(173, 46, 31, 0.3) 10%,
            rgba(255, 69, 0, 0.7) 20%,
            rgba(255, 107, 74, 1) 30%,
            rgba(255, 140, 105, 1) 40%,
            rgba(255, 107, 74, 0.9) 50%,
            rgba(255, 69, 0, 0.6) 60%,
            rgba(173, 46, 31, 0.3) 70%,
            transparent 85%,
            transparent 100%);
    background-size: 400% 100%;
    border-radius: 34px;
    animation: borderFlow 10s linear infinite;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    padding: 2px;
    z-index: 0;
    filter: drop-shadow(0 0 6px rgba(255, 69, 0, 0.4));
    pointer-events: none;
}

/* Анимация обводки из .box */
@keyframes borderFlow {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 400% 0%;
    }
}

/* Стили для контента внутри блоков */
.items>* {
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.7);
}

/* Стили для SVG иконок */
.items img {
    margin-bottom: 20px;
    width: 120px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
    transition: transform 0.3s ease;
}

.items svg:hover {
    transform: scale(1.05);
}

/* Стили для текста */
.items span {
    color: #ffffff;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 1.4;
    margin: 5px 0;
}

.items div {
    color: #c5c5c5;
    font-size: 18px;
    text-align: center;
    margin-top: 8px;
}

.items div b {
    color: #c75e52;
    font-weight: 600;
    background: linear-gradient(135deg, #ff8c69, #ff4540);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Дополнительные эффекты как в .box-content */
.items::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: radial-gradient(80% 80%, rgb(255 0 0 / 25%) 0%, rgb(255 0 0 / 8%) 35%, rgb(255 0 0 / 1%) 55%, rgba(0, 0, 0, 0) 75%);
    filter: blur(45px);
    transform: scale(1);
    opacity: 0.8;
    z-index: 1;
    pointer-events: none;
    border-radius: 32px;
}

/* Стили для текста внутри div как в .box-content p strong */
.items div span {
    color: #c5c5c5;
    font-size: 18px;
}

hr {
    height: 2px;
    background: linear-gradient(90deg, transparent 15%, #ad2e1f, transparent 85%);
    border: none;
    margin: 50px 0;
}


/* Стилизация endBlock в стиле .box с анимированным фоном */
.endBlock {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    padding: 60px 50px;
    border-radius: 32px;
    margin-bottom: 50px;
    text-align: center;

    /* Фоновое изображение с анимацией */
    background: url(../images/bg.jpg) center/cover no-repeat;

    /* Дополнительный цвет поверх изображения для затемнения */
    background-color: #00000021;
    background-blend-mode: overlay;

    /* Анимация для фона */
    animation: slowZoom 20s ease infinite alternate;

    /* Эффекты как у .box */
    backdrop-filter: blur(4px);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);

    /* Анимация появления */
    animation: slowZoom 20s ease infinite alternate, contentFade 1s ease;
}

/* Анимация медленного зума для фонового изображения */
@keyframes slowZoom {
    0% {
        background-size: 100%;
        background-position: center;
    }

    50% {
        background-size: 110%;
        background-position: center;
    }

    100% {
        background-size: 120%;
        background-position: center;
    }
}

/* Альтернативная анимация - движение фона */
@keyframes slowPan {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 50% 50%;
    }

    100% {
        background-position: 100% 50%;
    }
}

/* Анимация появления контента */
@keyframes contentFade {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Псевдоэлемент для градиентной обводки как у .box::before */
.endBlock::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(90deg,
            transparent 0%,
            rgba(173, 46, 31, 0.3) 10%,
            rgba(255, 69, 0, 0.7) 20%,
            rgba(255, 107, 74, 1) 30%,
            rgba(255, 140, 105, 1) 40%,
            rgba(255, 107, 74, 0.9) 50%,
            rgba(255, 69, 0, 0.6) 60%,
            rgba(173, 46, 31, 0.3) 70%,
            transparent 85%,
            transparent 100%);
    background-size: 400% 100%;
    border-radius: 34px;
    animation: borderFlow 10s linear infinite;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    padding: 2px;
    z-index: 1;
    filter: drop-shadow(0 0 6px rgba(255, 69, 0, 0.4));
    pointer-events: none;
}

/* Анимация обводки */
@keyframes borderFlow {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 400% 0%;
    }
}

/* Затемняющий градиент поверх фона */
.endBlock::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
            rgba(18, 18, 18, 0.9) 0%,
            rgba(0, 0, 0, 0.5) 30%,
            rgba(0, 0, 0, 0.3) 50%,
            rgba(18, 18, 18, 0.9) 70%,
            rgba(18, 18, 18, 1) 100%);
    pointer-events: none;
    z-index: 2;
    border-radius: 32px;
}

/* Дополнительный слой для усиления эффекта */
.endBlock .overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at center, transparent 0%, rgba(0, 0, 0, 0.4) 100%);
    z-index: 3;
    border-radius: 32px;
    pointer-events: none;
}

/* Все элементы внутри должны быть выше псевдоэлементов */
.endBlock>*:not(.overlay) {
    position: relative;
    z-index: 10;
}

/* Стили для изображения */
.endImage {
    position: relative;
    z-index: 10;
    margin-bottom: 10px;
    perspective: 1000px;
}

.endImage img {
    width: 80%;
    max-width: 40%;
    height: auto;
    filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.45)) drop-shadow(0 60px 80px rgba(0, 0, 0, 0.25));
    transform: perspective(900px) rotateX(2deg) rotateY(-2deg);
    transition: transform 0.4s ease;
    animation: floatImage 6s ease-in-out infinite;
}

.endImage img:hover {
    transform: perspective(900px) rotateX(4deg) rotateY(-4deg) translateY(-8px);
    filter: drop-shadow(0 40px 50px rgba(0, 0, 0, 0.55)) drop-shadow(0 80px 100px rgba(0, 0, 0, 0.35));
}

/* Анимация плавания для изображения */
@keyframes floatImage {

    0%,
    100% {
        transform: perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(0);
    }

    50% {
        transform: perspective(900px) rotateX(4deg) rotateY(-4deg) translateY(-10px);
    }
}

/* Стили для заголовка */
.endTitle {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 2rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -0.5px;
    color: #ffffff;
    text-transform: uppercase;
    max-width: 800px;
    margin: 10px 0;
    background: linear-gradient(135deg, #ffffff, #f0f0f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    text-shadow: 0 2px 10px rgba(255, 69, 0, 0.3);
}

.endTitle b {
    background: linear-gradient(135deg, #ff8c69, #ff4540);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-weight: 900;
}

/* Стили для описания */
.endAbout {
    color: #e0e0e0;
    font-size: 1.3rem;
    line-height: 1.5;
    max-width: 700px;
    margin-bottom: 20px;
    font-weight: 400;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
}

.endAbout b {
    color: #c75e52;
    font-weight: 600;
    background: linear-gradient(135deg, #ff8c69, #ff4540);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.steps-conteiner {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 25px;
    max-width: 1300px;
    width: 100%;
    margin: 0 auto 80px auto;
    flex-wrap: wrap;
}

.step {
    position: relative;
    flex: 1 1 220px;
    min-width: 220px;
    padding: 30px 20px 40px;
    border-radius: 32px;
    text-align: center;
    background: linear-gradient(135deg,
            #121212 0%,
            #1a1a1a 30%,
            rgba(26, 26, 26, 0.9) 50%,
            rgba(18, 18, 18, 0.8) 70%,
            rgba(18, 18, 18, 0.6) 85%,
            rgba(18, 18, 18, 0.4) 100%);
    background-size: 300% 100%;
    animation: bgFlow 15s ease infinite alternate;
    backdrop-filter: blur(4px);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.5);
    animation: bgFlow 15s ease infinite alternate, contentFade 0.8s ease;
    transition: all 0.3s ease;
}

.step:nth-child(1) {
    animation-delay: 0s, 0.1s;
}

.step:nth-child(2) {
    animation-delay: 0s, 0.3s;
}

.step:nth-child(3) {
    animation-delay: 0s, 0.5s;
}

.step:nth-child(4) {
    animation-delay: 0s, 0.7s;
}

.step:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 40px rgba(255, 69, 0, 0.2);
}

@keyframes bgFlow {
    0% {
        background-position: 0% 0%;
    }

    25% {
        background-position: 50% 0%;
    }

    50% {
        background-position: 100% 0%;
    }

    75% {
        background-position: 150% 0%;
    }

    100% {
        background-position: 200% 0%;
    }
}

@keyframes contentFade {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.step::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    right: -2px;
    bottom: -2px;
    background: linear-gradient(135deg,
            transparent 0%,
            rgba(173, 46, 31, 0.2) 15%,
            rgba(255, 69, 0, 0.5) 25%,
            rgba(255, 107, 74, 0.8) 35%,
            rgba(255, 140, 105, 0.9) 45%,
            rgba(255, 107, 74, 0.7) 55%,
            rgba(255, 69, 0, 0.4) 65%,
            rgba(173, 46, 31, 0.2) 75%,
            transparent 90%);
    background-size: 400% 100%;
    border-radius: 34px;
    animation: borderFlow 8s linear infinite;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    padding: 2px;
    z-index: 0;
    filter: drop-shadow(0 0 8px rgba(255, 69, 0, 0.3));
    pointer-events: none;
}

@keyframes borderFlow {
    0% {
        background-position: 0% 0%;
    }

    100% {
        background-position: 400% 0%;
    }
}

.step::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at center, rgba(255, 69, 0, 0.15) 0%, transparent 70%);
    filter: blur(20px);
    border-radius: 32px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.step:hover::after {
    opacity: 0.8;
}

.step>* {
    position: relative;
    z-index: 2;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.step-image {
    margin-bottom: 25px;
    perspective: 1000px;
}

.step-image img {
    width: 120px;
    object-fit: contain;
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.5)) drop-shadow(0 40px 50px rgba(255, 69, 0, 0.2));
}

.step:nth-child(1) .step-image img {
    animation-delay: 0s;
}

.step:nth-child(2) .step-image img {
    animation-delay: 0.5s;
}

.step:nth-child(3) .step-image img {
    animation-delay: 1s;
}

.step:nth-child(4) .step-image img {
    animation-delay: 1.5s;
}

.step-image img:hover {
    transform: perspective(800px) rotateX(8deg) rotateY(-5deg) rotateZ(3deg) scale(1.1) translateY(-8px);
    filter: drop-shadow(0 30px 40px rgba(0, 0, 0, 0.6)) drop-shadow(0 50px 60px rgba(255, 69, 0, 0.4));
}

@keyframes floatImage {

    0%,
    100% {
        transform: perspective(800px) rotateX(5deg) rotateY(-3deg) rotateZ(2deg) translateY(0);
    }

    50% {
        transform: perspective(800px) rotateX(7deg) rotateY(-4deg) rotateZ(3deg) translateY(-8px);
    }
}

.step-title {
    background: linear-gradient(135deg, #ffffff, #f0f0f0);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1px #fff;
    background-clip: text;
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 12px;
    letter-spacing: 1px;
    text-shadow: 0 2px 10px rgba(255, 69, 0, 0.3);
}

.step-about {
    color: #d5d5d5;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
    max-width: 200px;
    margin: 0 auto;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    text-transform: uppercase;
}

footer {
    background: linear-gradient(to bottom, #121212 0%, #121212 30%, #121212 50%, #0a0a0a 70%);
    color: #fff;
    padding: 60px;
}

.footer-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 50px;
}

.footer-description {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.2;
}

.footer-links {
    display: flex;
    gap: 150px;
}

.footer-links-column ul {
    list-style: none;
}

.footer-links-column li {
    margin-bottom: 16px;
}

.footer-links-column a {
    color: #ccc;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s;
}

.footer-links-column a:hover {
    color: #fff;
}

.footer-bottom-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.footer-logo img {
    width: 200px;
}

.footer-bottom-right {
    text-align: right;
}

.footer-social-icons {
    display: flex;
    gap: 24px;
}

.footer-social-icons a {
    color: #ad2e1f;
    font-size: 24px;
    text-decoration: none;
    transition: color 0.2s;
}

.footer-social-icons a:hover {
    color: #fff;
}

/* Язык */
.language {
    display: flex;
    justify-content: flex-end;
    margin: -30px 0;
}

.lang-select {
    background: #121212;
    color: #ccc;
    border: 1px solid #242424;
    padding: 10px 32px 10px 16px;
    font-size: 16px;
    cursor: pointer;
    outline: none;
    min-width: 180px;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
    transition: all 0.2s ease;
}

.lang-select:hover {
    background-color: #191919;
}

.lang-select:focus {
    border-color: #be4001;
}

.lang-select option {
    background: #1d1d1d;
    color: #ccc;
    padding: 10px;
}