/* .bg- {
    overflow: visible;
} */
.breadcrumbs {
    margin-bottom: 60px;
}
h1 {
    font-size: 80px;
    line-height: 90%;
    text-transform: none;
}
.promo {
    display: grid;
    grid-template-columns: 1fr 400px;
    /* grid-template-rows: auto auto minmax(200px, 1fr); */
    column-gap: 20px;
    padding-bottom: 90px;
    .content * {
        font-weight: 300;
        color: var(--white);
        letter-spacing: 0.032px;
        line-height: 140%;
        font-size: 18px;
    }
    h1,
    > .content {
        margin-bottom: 20px;
    }
    .content p {
        margin-bottom: 10px;
    }
    > img {
        position: absolute;
        inset: 0;
        grid-area: 3/1/4/2;
        opacity: .5;
        height: 100%;
        object-fit: cover;
    }
    .slider {
        grid-area: 1/2/4/2;
        .slide {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 4px;
            width: 100%;
            flex-shrink: 0;
            padding-bottom: 24px;
            .img {
                width: 100%;
                border-bottom: 1px solid var(--white);
                margin-bottom: 16px;
                img {
                    pointer-events: none;
                    user-select: none;
                    aspect-ratio: 400/327;
                    object-fit: contain;
                    object-position: top center;
                }
            }
            > * {
                text-align: center;
                letter-spacing: 0.2px;
                color: var(--white);
            }
            > p {
                opacity: .7;
                font-weight: 300;
            }
            > a:not(.img) {
                font-size: 16px;
                font-weight: 500;
                &[href^='tel'] {
                    position: relative;
                    margin: 16px 0 -2px;
                    &::before {
                        content: '';
                        position: absolute;
                        left: 50%;
                        bottom: calc(100% + 10px);
                        width: 100px;
                        height: 1px;
                        transform: translateX(-50%);
                        opacity: .5;
                        background: var(--white);
                    }
                }
                &.name {
                    font-size: 24px;
                    font-weight: 500;
                }
            }
        }
        .controls {
            grid-template-columns: 50px 200px 50px;
            .red-btn {
                --padding: 0;
                width: 100%;
                border: none;
                background: rgba(255, 255, 255, 0.2);
            }
        }
    }
}
.page-content {
    position: relative;
    display: grid;
    min-height: 960px;
    aside {
        position: absolute;
        inset: 0;
        padding-bottom: 90px;
        .wrapper {
            position: relative;
            display: grid;
            grid-template-columns: 295px 1fr;
            gap: 20px;
            height: 100%;
            > div {
                position: sticky;
                top: 0;
                z-index: 3;
                align-self: start;
                border-right: 1px solid var(--2);
                padding: 90px 10px 30px 0;
            }
        }
        h2 {
            font-size: 24px;
            font-weight: 500;
            letter-spacing: 1px;
            text-transform: uppercase;
            margin-bottom: 20px;
        }
        nav .ws-menu {
            display: flex;
            flex-direction: column;
            gap: 20px;
            a,
            p {
                font-size: 20px;
                font-weight: 300;
                line-height: 1.4;
                letter-spacing: 0.2px;
            }
            .selected :is(a, p) {
                display: flex;
                border-left: 4px solid var(--2);
                padding-left: 8px;
                color: var(--2);
                font-weight: 500;
            }
        }
    }
    section {
        padding: 90px 0;
        .wrapper {
            display: grid;
            grid-template-columns: 295px 1fr;
            gap: 20px;
            .right {
                position: relative;
                grid-column: 2;
                width: 100%;
                z-index: 1;
                overflow: hidden;
            }
        }
        .slider {
            margin-top: 30px;
            .slides {
                margin-bottom: 30px;
            }
            .arrow-l,
            .arrow-r {
                border: 1px solid hsl(240, 3%, 12%);
                --padding: 0;
                width: 100%;
                .text-h b:first-child {
                    color: hsl(240, 3%, 12%);
                }
            }
            .white-btn {
                border: 1px solid hsl(240, 3%, 12%);
                background: transparent;
                .text-hover {
                    color: hsl(240, 3%, 12%);
                }
            }
        }
        .mobile {
            display: none;
        }
    }
    .our-help .bg {
        background: url(../images/industries/our-help.webp) center top/ cover;
    }
    .projects .slide {
        display: grid;
        grid-template-rows: repeat(2, 1fr);
    }
}
main .bg-box.contact-us {
    background: none;
    .bg {
        background: url(../images/black-form.webp) top center / cover;
        top: -15%;
        height: 125%;
        width: 120%;
    }
    form {
        position: relative;
        z-index: 1;
        background: url(../images/index/bg-text.webp) top -190px right -225px/ auto auto no-repeat, var(--text);
    }
}
@media screen and (max-width: 1279px) {
    h1 {
        font-size: 50px;
    }
    .promo {
        grid-template-columns: 1fr 300px;
    }
    .page-content {
        display: flex;
        flex-direction: column;
        aside {
            position: relative;
            padding-bottom: 0;
            order: 1;
            .wrapper {
                grid-template-columns: 1fr;
                gap: 20px;
                > div {
                    position: static;
                    padding: 60px 0;
                    border-right: none;
                    border-top: 1px solid var(--2);
                }
            }
            h2 {
                font-size: 20px;
            }
            nav .ws-menu {
                a,
                p {
                    font-size: 16px;
                }
            }
        }
        section {
            padding: 60px 0;
            .wrapper {
                grid-template-columns: 1fr;
                .right {
                    grid-column: auto;
                }
            }
            &.projects {
                .slider {
                    display: none;
                }
                .slider.mobile {
                    display: block;
                    .slide {
                        position: relative;
                        border: 1px solid rgba(168, 168, 168, 0.2);
                        padding: 0 10px 10px;
                        display: flex;
                        flex-direction: column;
                        gap: 0;
                        overflow: hidden;
                        .img {
                            position: static;
                            min-height: 160px;
                            margin: 21px 20px 30px;
                            .logo {
                                margin: 0;
                            }
                        }
                        div:has(.arrow) {
                            display: flex;
                            align-items: end;
                            justify-content: space-between;
                            width: 100%;
                            margin-top: auto;
                        }
                    }
                }
            }
            .slider {
                margin-top: 30px;
                .slides {
                    margin-bottom: 30px;
                }
                .controls {
                    max-width: 100%;
                }
            }
        }
    }
}
@media screen and (max-width: 767px) {
    .promo-box {
        padding-top: 70px;
    }
    .breadcrumbs {
        margin-bottom: 27px;
    }
    h1 {
        font-size: 36px;
        font-weight: 600;
        line-height: 1;
    }
    .promo {
        display: flex;
        flex-direction: column;
        padding-bottom: 40px;
        > img {
            position: relative;
            height: 150px;
            margin-bottom: 20px;
        }
        .slider {
            .slide {
                gap: 4px;
                padding-bottom: 10px;
                .img {
                    max-width: 400px;
                    img {
                        aspect-ratio: auto;
                    }
                }
            }
            .controls {
                max-width: 100%;
            }
        }
    }
}