.hero {
    width: 1024px;
    margin: 75px auto 0 auto;
    @media (max-width: 700px) {
        width: 100%;
        margin-top: 30px;
        padding-inline: 25px;
    }
    h1 {
        font-size: 42px;
        color: var(--secondary-text);
        margin-bottom: 44px;
        @media (max-width: 700px) {
            font-size: 24px;
        }
    }

    .grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 25px;
        justify-content: center;
        @media (max-width: 700px) {
            grid-template-columns: 1fr;
            gap: 10px;
        }
        .card {
            background: #fff;
            padding: 25px 18px 6px 18px;
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow-light);
            transition: all .5s;
            display: flex;
            flex-direction: column;
            position: relative;
            @media (max-width: 700px) {
                padding: 20px 30px;
            }
            &.big {
                grid-row: 1 / span 2;
                grid-column: -2;
                padding-bottom: 20px;
                @media (max-width: 700px) {
                    grid-column: 1 / 1;
                    grid-row: unset;
                }
            }
            .icon {
                width: 200px;
                align-self: center;
                @media (max-width: 700px) {
                    display: none;
                }
                img {
                    width: 100%;
                    object-fit: contain;
                    object-position: center;
                }
            }
            &:hover {
                box-shadow: var(--box-shadow-dark);
                .link {
                    svg {
                        path {
                            fill: var(--hover-text);
                        }
                    }
                }
            }
            .link {
                margin-top: auto;
                @media (max-width: 700px) {
                    position: absolute;
                    top: 10px;
                    right: 10px;
                }
                svg {
                    path {
                        transition: all .5s;
                    }
                }
            }
            p {
                margin-top: 18px;
                color: var(--secondary-text);
            }
            .button {
                padding: 13px 49px;
                border-radius: var(--border-radius);
                align-self: center;
                @media (max-width: 700px) {
                    margin-top: 15px;
                }
            }
        }
    }
}

.products {
    width: 1024px;
    margin: 60px auto 0 auto;
    @media (max-width: 700px) {
        width: 100%;
        margin-top: 44px;
        padding-inline: 25px;
    }
    h2 {
        font-size: 32px;
        color: var(--secondary-text);
        margin-bottom: 44px;
        @media (max-width: 700px) {
            margin-bottom: 30px;
            font-size: 24px;
        }
    }
    .carousel {
        overflow: clip;
        overflow-clip-margin: 10px;
        .slides {
            display: grid;
            grid-template: 1fr / 1fr;
            margin-bottom: 20px;
            .slide {
                grid-area: 1 / 1;
                position: relative;
                &.animating {
                    transition: all .5s;
                }
                &.active {
                    transform: translateX(0);
                    z-index: 2;
                    opacity: 1;
                }
                &.next {
                    opacity: 0;
                    transform: translateX(calc(100% + 20px));
                }
                &.prev {
                    opacity: 0;
                    transform: translateX(calc(-100% - 20px));
                }
                .grid {
                    display: grid;
                    grid-template-columns: 1fr 1fr;
                    gap: 20px 50px;
                    justify-content: center;
                    @media (max-width: 700px) {
                        grid-template-columns: 1fr;
                        gap: 10px;
                    }
                    .card {
                        background: #fff;
                        padding: 25px 30px 5px 30px;
                        border-radius: var(--border-radius);
                        box-shadow: var(--box-shadow-light);
                        transition: all .5s;
                        display: flex;
                        flex-direction: column;
                        position: relative;
                        @media (max-width: 700px) {
                            padding: 20px;
                        }
                        &:hover {
                            box-shadow: var(--box-shadow-dark);
                            .link {
                                svg {
                                    path {
                                        fill: var(--hover-text);
                                    }
                                }
                            }
                        }
                        &.big {
                            grid-row: span 2;
                        }
                        h3 {
                            font-size: 20px;
                            margin-bottom: 16px;
                            font-family: "VTB Group Demi Bold", sans-serif;
                        }
                        ul {
                            font-size: 15px;
                            color: var(--secondary-text);
                        }
                        .icon {
                            width: 135px;
                            height: 150px;
                            position: absolute;
                            bottom: 35px;
                            right: 15px;
                            @media (max-width: 700px) {
                                display: none;
                            }
                            img {
                                width: 100%;
                                height: 100%;
                                object-fit: contain;
                                object-position: center;
                            }
                        }
                        .link {
                            margin-top: auto;
                            @media (max-width: 700px) {
                                position: absolute;
                                top: 10px;
                                right: 10px;
                            }
                            svg {
                                path {
                                    transition: all .5s;
                                }
                            }
                        }
                    }
                }
            }
        }
        .controls {
            display: flex;
            align-items: center;
            gap: 10px;
            .control {
                width: 10px;
                height: 10px;
                border-radius: 10px;
                background: var(--carousel-dot-gray);
                cursor: pointer;
                transition: all .5s;
                &.active {
                    background: var(--primary-blue);
                    width: 60px;
                }
            }
        }
    }
}

.kdif {
    width: 1024px;
    margin: 60px auto 0 auto;
    display: flex;
    justify-content: space-between;
    @media (max-width: 700px) {
        width: 100%;
        flex-direction: column;
        padding-inline: 25px;
        margin-top: 50px;
    }
    .column {
        @media (max-width: 700px) {
            text-align: center;
            font-size: 12px;
        }
        p {
            font-size: 14px;
            margin-bottom: 5px;
            color: var(--secondary-text);
            @media (max-width: 700px) {
                font-size: 12px;
            }
        }
        img {
            height: 90px;
        }
    }
}