#main {
    min-height: 100vh;
    display: flex;
    align-items: center;
    position: relative;
    color: #fff;
    text-align: center;
}

#main:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background: var(--color-2);
    opacity: 0.2;
}

.image-bg {
    position: absolute;
    top: 0;
    z-index: -2;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.image-bg > * {
    height: 100%;
    width: 100%;
    position: relative;
}

#main .text {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

#main h1 {
    font-size: 5rem;
    font-weight: 300;
}

#main .text h2 {
    font-size: 1.4rem;
    /* color: #eee; */
}

#main a.next {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
}







.directions {
    display: flex;
}

.directions .item {
    position: relative;
    flex: 1 0 25%;
    background-position: center;
    transition: all 1s ease;
    -o-transition: all 1s;
    -webkit-transition: all 1s ease 0s;
}

.directions .item.active {
    flex: 1 0 50%;
}

.directions .text {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    padding: 50px;
    height: 500px;
    white-space: nowrap;
}

.directions .text h3 {
    background: rgb(150 40 32 / 75%);
    height: 150px;
    display: flex;
    align-items: center;
    padding: 50px;
    border-radius: 10px;
}

.directions .item:nth-child(2) .text h3 {
    background: rgb(7 53 60 / 75%);
}

.directions .item:nth-child(3) .text h3 {
    background: rgb(99 139 30 / 75%);
}

.directions .image {
    position: absolute;
    z-index: -1;
    height: 100%;
    background: rgb(0 0 0 / 20%);
    top: 0;
    width: 100%;
    overflow: hidden;
}

.directions img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}




/* .container-half-left {
    max-width: 880px;
    margin-left: auto;
    padding-left: var(--bs-gutter-x, 0.75rem);
}

!!! Не должно быть снаружи .row и .col

.container-half-right {
    max-width: 880px;
    padding-right: var(--bs-gutter-x, 0.75rem);
} */








.images {
    padding-right: 75px;
}

.images img {
    height: 100%;
    border-radius: 15px;
}


.banner {
    background: var(--color-1);
    background: linear-gradient(45deg, var(--color-1), var(--color-1-2));
    color: #fff;
    padding: 30px;
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    line-height: 135%;
    border-radius: 15px;
}

.banner h3 {
    font-size: 1.4rem;
}




#stages h3 {
    font-size: 1.2rem;
}



#spheres {
    position: relative;
}

#spheres h2 {
    color: #fff;
    font-size: 3rem;
}

#spheres:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    background: #170a36;
}

#spheres > img {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    object-fit: cover;
}

.spheres .item > * {
    padding: 60px 30px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.spheres .text {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.spheres .text h3 {
    font-size: 1.4rem;
}



.smart .item > * {
    overflow: hidden;
}

.smart .text {
    padding: 50px;
    display: flex;
    flex-direction: column;
    gap: 15px;
    line-height: 135%;
}

.smart .text h3 {
    font-size: 1.4rem;
}

.after-text {
    margin-top: 50px;
    font-size: 1.2rem;
    line-height: 150%;
}




#save .image {
    padding-right: 75px;
    height: 100%;
}

#save .image img {
    height: 100%;
    object-fit: cover;
    border-radius: 15px;
}

#save .area {
    margin-bottom: 30px;
}

#save .number-text h3 {
    font-size: 1.4rem;
}




/* #cases .image-text {
    max-width: 1200px;
    margin: 0 auto;
} */

#cases .image-text h3 {
    font-size: 1.4rem;
    line-height: 135%;
}


.second-title {
    margin-top: 75px;
}





#tepilux {
    position: relative;
}

/* #tepilux .image:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    background: #170a36;
} */

#tepilux .image {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    height: 100%;
    width: 50%;
    padding-left: 75px;
}

#tepilux .image img {
    position: absolute;
    height: 100%;
    object-fit: cover;
}


#tepilux .title span {
    color: var(--color-3);
    display: inline-block;
    font-weight: 500;
}

.left-border {
    position: relative;
    background: var(--color-line);
    padding: 15px 30px;
    font-weight: 500;
}

.left-border:before {
    content: "";
    height: 100%;
    width: 4px;
    background: var(--color-3);
    position: absolute;
    left: 0;
    top: 0;
}

#tepilux ul li::marker {
    color: var(--color-3);
}





#partner .title span {
    display: inline-block;
}

#partner h3 {
    font-size: 1.2rem;
}

#partner .image {
    background: var(--color-1);
    background: linear-gradient(45deg, var(--color-1), var(--color-1-2));
    padding: 30px;
    aspect-ratio: 1 / 1;
    max-width: 100px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
}