main {
    max-width: 100dvw;
    overflow: hidden;
}
.promo {
    display: flex;
    flex-direction: column;
    gap: 64px;
    padding: 120px 0;
    background: var(--bg-2);
    .info {
        display: grid;
        grid-template-columns: 1fr 315px;
        align-items: flex-end;
        gap: 32px;
        .text {
            h1 {
                margin-bottom: 16px;
                font-size: 60px;
                line-height: 64px;
                font-weight: 600;
                color: var(--title);
            }
            p {
                font-size: 20px;
                line-height: 28px;
                margin-bottom: 16px;
                max-width: 640px;
            }
            .btn {
                display: flex;
                max-width: max-content;
                white-space: nowrap;
            }
        }
        .list {
            display: flex;
            flex-direction: column;
            gap: 16px;
            margin-bottom: 24px;
            p {
                display: flex;
                align-items: center;
                gap: 12px;
                font-size: 20px;
                line-height: 28px;
                span {
                    font-size: 24px;
                    line-height: 28px;
                    color: var(--green-text);
                }
            }
        }
    }
    .img {
        position: relative;
        div {
            border-radius: 30px;
            height: 552px;
            overflow: hidden;
            position: relative;
            img {
                position: absolute;
                left: 0;
                right: 0;
                top: -125px;
                width: 100%;
            }
        }
        &::before {
            content: '';
            display: flex;
            width: 143px;
            height: 194px;
            position: absolute;
            bottom: -100px;
            left: -85px;
            background: url(../images/index/flash.svg) center no-repeat;
        }
    }
}
.advantages-cards {
    background: var(--bg-2);
    padding-bottom: 120px;
    margin-bottom: 120px;
    position: relative;
    overflow: hidden;
    &::after {
        content: '';
        position: absolute;
        right: 14%;
        bottom: -675px;
        width: 675px;
        aspect-ratio: 1 / 1;
        border-radius: 50%;
        background: #6BBBB099;
        filter: blur(50px);
        z-index: 0;
    }
    .wrapper {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        position: relative;
        z-index: 2;
        .item {
            display: flex;
            flex-direction: column;
            padding: 40px;
            border-radius: 24px;
            background: var(--main-bg);
            border: 1px solid var(--border);
            img {
                object-fit: contain;
                width: auto;
                max-height: 60px;
                margin-right: auto;
                margin-bottom: 12px;
            }
            h2 {
                font-size: 24px;
                line-height: 28px;
                font-weight: 500;
                margin-bottom: 16px;
                color: var(--title);
            }
            p {
                font-size: 16px;
                line-height: 20px;
                margin-bottom: 16px;
            }
            a {
                font-size: 16px;
                line-height: 20px;
                font-weight: 600;
                color: var(--text-3);
            }
        }
    }
}
.submit-work {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-bottom: 120px;
    padding: 3px 0px;
    border: 1px solid #dce0df;
    border-radius: 32px;
    overflow: hidden;
    .img-wrapper {
        position: relative;
        overflow: hidden;
        border-radius: 32px 0 0 32px;
        height: 100%;
        .img {
            position: absolute;
            object-position: center -225px;
            border-radius: 32px 0 0 32px;
        }
        .text {
            position: absolute;
            max-width: 472px;
            left: 50%;
            transform: translate(-50%);
            bottom: 24px;
        }
    }
    .info {
        display: flex;
        flex-direction: column;
        padding: 37px 40px;
        & > span {
            display: flex;
            gap: 8px;
            align-items: center;
            width: max-content;
            padding: 8px 12px;
            margin-bottom: 24px;
            border: 1px solid #dce0df;
            border-radius: 999px;
            font-size: 14px;
            line-height: 20px;
            font-weight: 500;
            color: var(--green-text);
            &::before {
                content: '';
                display: flex;
                width: 8px;
                height: 8px;
                border-radius: 50%;
                background: var(--green-text);
            }
        }
        h2 {
            margin-bottom: 16px;
            font-size: 36px;
            line-height: 40px;
            font-weight: 600;
            letter-spacing: -0.3px;
            color: var(--title);
        }
        & > p {
            font-size: 20px;
            line-height: 28px;
            margin-bottom: 24px;
        }
        .list {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 24px;
            margin-bottom: 40px;
            div {
                display: flex;
                flex-direction: column;
                gap: 4px;
            }
            p {
                font-size: 20px;
                line-height: 24px;
                font-weight: 600;
                color: var(--green-text);
            }
            span, a {
                font-size: 16px;
                line-height: 20px;
                &:not(span):hover {
                    color: var(--green-link);
                }
            }
        }
        .btns {
            display: flex;
            gap: 16px;
        }
    }
}
.activity {
    display: flex;
    flex-direction: column;
    gap: 34px;
    position: relative;
    padding-top: 120px;
    padding-bottom: 120px;
    &::after {
        content: url(../images/index/heart.svg);
        display: flex;
        width: 417px;
        height: 185px;
        position: absolute;
        top: 57px;
        right: -24%;
    }
    .top {
        display: flex;
        flex-direction: column;
        gap: 16px;
        h2 {
            font-weight: 600;
            font-size: 36px;
            letter-spacing: -0.3px;
            color: var(--title);
        }
        p {
            font-size: 20px;
            max-width: 768px;
        }
    }
    .info {
        display: grid;
        grid-template-columns: 46% 48%;
        gap: 64px;
        .list {
            display: grid;
            grid-template-rows: repeat(auto-fit, minmax(max-content, max-content));
            gap: 48px;
            padding: 40px 0;
            .item {
                display: grid;
                grid-template-columns: 48px 1fr;
                gap: 12px 16px;
                img {
                    max-width: 48px;
                    grid-area: 1/1/3/2;
                }
                h3 {
                    font-size: 20px;
                    font-weight: 600;
                    color: var(--title);
                }
            }
        }
        .img {
            img {
                object-position: center;
                border-radius: 32px;
            }
        }
    }
}
.news {
    background: var(--bg-2);
    padding-top: 120px;
    padding-bottom: 120px;
    .wrapper {
        display: flex;
        flex-direction: column;
        gap: 64px;
        .top {
            display: grid;
            grid-template-columns: 1fr 145px;
            gap: 16px;
            align-items: flex-start;
            h2 {
                font-weight: 600;
                font-size: 36px;
                letter-spacing: -0.3px;
                color: var(--title);
            }
            p {
                font-size: 20px;
                max-width: 768px;
            }
            .btn {
                grid-area: 1/2/3/3;
            }
        }
        .items {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 32px;
            .item {
                display: flex;
                flex-direction: column;
                position: relative;
                img {
                    border-radius: 20px;
                    aspect-ratio: 8/5;
                    max-height: 240px;
                    min-height: 240px;
                    object-position: center;
                    margin-bottom: 12px;
                }
                .info {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    margin-bottom: 16px;
                    span {
                        font-size: 14px;
                    }
                    .hashtag {
                        font-weight: 500;
                        color: var(--text-3);
                    }
                    .date {
                        color: var(--text-2);
                    }
                }
                h3 {
                    display: inline-flex;
                    width: 100%;
                    gap: 12px;
                    align-items: start;
                    justify-content: space-between;
                    font-size: 20px;
                    font-weight: 600;
                    color: var(--title);
                    margin-bottom: 8px;
                    transition: 0.3s;
                    &::after {
                        content: '\e002';
                        font-family: 'icon';
                        font-size: 10px;
                        width: 24px;
                        aspect-ratio: 1/1;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }
                }
                &:hover h3 {
                    color: var(--green-link);
                }
                p {
                    font-size: 16px;
                    line-height: 20px;
                }
                a {
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                }
            }
        }
    }
}
.map-block {
    padding-top: 120px;
    padding-bottom: 120px;
    h2 {
        font-weight: 600;
        font-size: 36px;
        letter-spacing: -0.3px;
        color: var(--title);
        margin-bottom: 16px;
    }
    >p {
        font-size: 20px;
        max-width: 768px;
        margin-bottom: 64px;
    }
    .items {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 32px;
        p {
            display: flex;
            align-items: center;
            justify-content: center;
            white-space: nowrap;
            padding: 8px 12px;
            font-size: 14px;
            font-weight: 500;
            color: var(--green-text);
            border: 1px solid #DCE0DF;
            background: var(--main-bg);
            border-radius: 999px;
            cursor: pointer;
            transition: 0.3s;
            &:hover, &.active {
                background: var(--green-soft-bg);
                border-color: var(--green-bg);
            }
        }
    }
    .map {
        height: 516px;
        border-radius: 32px;
        overflow: hidden;
        .ymaps3x0--map-copyrights__logo,
        .ymaps3x0--map-copyrights__container {
            display: none;
        }
        [class*="-ground-pane"] {
            filter: grayscale(1);
        }
        .ymaps3--map-copyrights_right,
        .ymaps3--control-button,
        .ymaps-2-1-79-copyrights-pane{
            display: none;
        }
        .marker {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 30px;
            position: relative;
            left: -15px;
            top: -35px;
        }
    }
}
@media screen and (max-width: 1440px) {
    .promo {
        padding: 96px 0;
        .img {
            &::before {
                left: -62px;
                bottom: -25px;
                z-index: 3;
            }
        }
    }
    .advantages-cards {
        padding-bottom: 96px;
        margin-bottom: 96px;
        &::after {
            bottom: -550px;
            right: -15%; 
        }
    }
    .submit-work {
        margin-bottom: 96px;
    }
    .activity {
        padding-top: 96px;
        padding-bottom: 96px;
        gap: 64px;
        &::after {
            right: -4%;
            top: 90px;
        }
    }
    .news {
        padding-top: 96px;
        padding-bottom: 96px;
    }
    .map-block {
        padding-top: 96px;
        padding-bottom: 96px;
    }
}
@media screen and (max-width: 1279px) {
    .promo {
        gap: 40px;
        padding: 64px 0;
        background: var(--bg-2);
        .info {
            grid-template-columns: 1fr 344px;
            .text {
                h1 {
                    font-size: 40px;
                    line-height: 48px;
                }
                p {
                    font-size: 18px;
                }
            }
            .list {
                margin-bottom: 20px;
                p {
                    font-size: 18px;
                    span {
                        font-size: 20px;
                    }
                }
            }
        }
        .img {
            div {
                img {
                    left: -60px;
                    right: 0;
                    top: 0px;
                    width: 115%;
                }
            }
            &::before {
                bottom: -50px;
                left: -15px;
            }
        }
    }
    .advantages-cards {
        padding-bottom: 64px;
        margin-bottom: 64px;
        &::after {
            display: none;
        }
        .wrapper {
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
            .item {
                &:nth-child(3) {
                    grid-column: 1/-1;
                }
                padding: 32px;
                h2 {
                    font-size: 20px;
                    line-height: 24px;
                }
                p {
                    font-size: 14px;
                    line-height: 16px;
                }
                a {
                    font-size: 16px;
                    line-height: 16px;
                }
            }
        }
    }
    .submit-work {
        margin-bottom: 65px;
        .img-wrapper {
            .img {
                object-position: -40px center;
                width: calc(100% + 40px);
                min-height: 100%;
            }
            .text {
                max-width: 500px;
                width: 340px;
                bottom: 60px;
                transform: translateX(-50%) skew(-16deg, -12deg) scaleX(0.9);
                object-fit: unset;
            }
        }
        .info {
            padding: 29px 32px;
            & > span {
                margin-bottom: 20px;
                font-size: 12px;
                line-height: 16px;
            }
            h2 {
                font-size: 28px;
                line-height: 32px;
            }
            & > p {
                font-size: 18px;
                margin-bottom: 20px;
            }
            .list {
                grid-template-columns: 1fr;
                gap: 20px;
                p {
                    font-size: 18px;
                }
                span, a {
                    font-size: 14px;
                    line-height: 16px;
                }
            }
            .btns {
                flex-direction: column;
                align-items: flex-start;
            }
        }
    }
    .activity {
        padding-top: 65px;
        padding-bottom: 65px;
        gap: 40px;
        &::after {
            display: none;
        }
        .top {
            h2 {
                font-size: 28px;
            }
            p {
                font-size: 18px;
                line-height: 28px;
            }
        }
        .info {
            gap: 40px;
            .list {
                padding: 24px 0;
                .item {
                    h3 {
                        font-size: 18px;
                    }
                    p {
                        font-size: 14px;
                    }
                }
            }
            .img {
                img {
                    min-height: 100%;
                }
            }
        }
    }
    .news {
        padding-top: 65px;
        padding-bottom: 65px;
        .wrapper {
            gap: 40px;
            .top {
                h2 {
                    font-size: 28px;
                }
                p {
                    font-size: 18px;
                    line-height: 28px;
                }
            }
            .items {
                gap: 48px 32px;
                grid-template-columns: repeat(2, 1fr);
                .item {
                    .info {
                        span {
                            font-size: 12px;
                        }
                    }
                    h3 {
                        font-size: 18px;
                    }
                    p {
                        font-size: 14px;
                        line-height: 16px;
                    }
                    &:last-child {
                        grid-column: 1/-1;
                    }
                }
            }
        }
    }
    .map-block {
        padding-top: 65px;
        padding-bottom: 65px;
        h2 {
            font-size: 28px;
        }
        >p {
            font-size: 18px;
            line-height: 28px;
            margin-bottom: 40px;
        }
        .items {
            margin-bottom: 24px;
            p {
                font-size: 12px;
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .promo {
        gap: 32px;
        padding: 48px 0;
        .info {
            grid-template-columns: 1fr;
            gap: 32px;
            .text {
                h1 {
                    margin-bottom: 12px;
                    font-size: 36px;
                    line-height: 40px;
                    letter-spacing: -0.3px;
                }
                p {
                    font-size: 16px;
                    line-height: 24px;
                    margin-bottom: 12px;
                }
                .btn {
                    justify-content: center;
                    align-items: center;
                    max-width: 343px;
                }
            }
            .list {
                gap: 12px;
                margin-bottom: 16px;
                p {
                    gap: 12px;
                    font-size: 16px;
                    line-height: 24px;
                    span {
                        font-size: 20px;
                        line-height: 24px;
                    }
                }
            }
        }
        .img {
            div {
                height: 343px;
                img {
                    left: -90px;
                    right: 0;
                    top: -5px;
                    width: 154%;
                }
            }
            &::before {
                content: '';
                display: flex;
                width: 143px;
                height: 194px;
                position: absolute;
                bottom: -40px;
                left: -55px;
                background: url(../images/index/flash.svg) center no-repeat;
            }
        }
    }
    .advantages-cards {
        padding-bottom: 48px;
        margin-bottom: 48px;
        .wrapper {
            grid-template-columns: 1fr;
            gap: 16px;
            .item {
                padding: 24px;
            }
        }
    }
    .submit-work {
        grid-template-columns: 1fr;
        margin-bottom: 48px;
        padding: 0px;
        .img-wrapper {
            height: 360px;
            border-radius: 32px 32px 0 0;
            .img {
                width: 100%;
                height: auto;
                object-position: center -82px;
                border-radius: 32px 32px 0 0;
            }
            .text {
                max-width: 289px;
                bottom: 24px;
                transform: rotate(-3deg) translateX(-50%);
            }
        }
        .info {
            padding: 24px;
            & > span {
                margin-bottom: 16px;
                font-size: 12px;
                line-height: 16px;
            }
            h2 {
                font-size: 28px;
                line-height: 32px;
            }
            & > p {
                font-size: 16px;
                line-height: 24px;
                margin-bottom: 16px;
            }
            .list {
                gap: 16px;
                margin-bottom: 40px;
            }
            .btns {
                a, button.btn {
                    font-size: 16px;
                }
            }
        }
    }
    .activity {
        padding-top: 48px;
        padding-bottom: 48px;
        gap: 32px;
        .top {
            p {
                font-size: 16px;
                line-height: 24px;
            }
        }
        .info {
            grid-template-columns: 100%;
            gap: 32px;
            .list {
                padding: 0;
            }
            .img {
                img {
                    height: clamp(343px, 50vw, 560px);
                    object-position: top;
                }
            }
        }
    }
    .news {
        padding-top: 48px;
        padding-bottom: 48px;
        .wrapper {
            gap: 32px;
            .top {
                grid-template-columns: 100%;
                p {
                    font-size: 16px;
                    line-height: 24px;
                }
                .btn {
                    grid-area: unset;
                }
            }
            .items {
                grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
                gap: 48px 24px;
            }
        }
    }
    .map-block {
        padding-top: 48px;
        padding-bottom: 48px;
        >p {
            font-size: 16px;
            line-height: 24px;
            margin-bottom: 32px;
        }
        .items {
            margin-bottom: 16px;
        }
    }
}