:root {
    --dark: #000000;
    --light: #f5f5f7;
    --shadow: 5px 5px 10px rgba(0, 0, 0, 0.25);
    --padding-inline-container: 13%;
    --padding-inline-footer: 10%;
    --section-space: 5rem;

    @media screen and (max-width: 48rem) {
        --padding-inline-container: 6%;
        --padding-inline-footer: 6%;
    }

    @media screen and (max-width: 23.4375rem) {
        --padding-inline-container: 0.9375rem;
        --padding-inline-footer: 0.9375rem;
        --section-space: 3.125rem;
    }
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html,
body {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    font-size: 16px;
    scroll-behavior: smooth;
    color: var(--dark);
    background-color: var(--light);
}

ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-block: 0;
}

.container {
    padding-inline: var(--padding-inline-container);
}


/* Hero Section */
.hero {
    position: relative;
    min-height: 100vh;
    padding-top: 5rem;
    background-image: url("../img/hero_bg.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: var(--dark);
    color: var(--light);
    margin-bottom: var(--section-space);

    @media screen and (max-width: 90rem) {
        padding-top: 3.5rem;
        background-size: 170%;
    }

    @media screen and (max-width: 48rem) {
        background-image: url("../img/tablet_bg.png");
        background-size: 100%;
        background-position-y: bottom;
    }

    @media screen and (max-width: 23.4375rem) {
        padding-top: 1.5rem;
        min-height: 31.25rem;
        background-image: url("../img/mobile_bg.jpg");
        background-position-y: center;
        background-position-x: right;
    }
}

.hero__title {
    /* padding-top: 4.7rem; */
    font-size: 3.75rem;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--light);
    margin-bottom: 7.8rem;

    @media screen and (max-width: 90rem) {
        font-size: 3.5rem;
    }

    @media screen and (max-width: 48rem) {
        font-size: 3rem;
        margin-bottom: 5rem;
    }

    @media screen and (max-width: 36rem) {
        font-size: 1.625rem;
        margin-bottom: 1.5rem;
    }
}

.hero__subtitle {
    font-weight: 100;
    font-size: 2rem;
    margin-bottom: 1.25rem;

    @media screen and (max-width: 36rem) {
        font-size: 1rem;
    }
}

.btn {
    display: flex;
    align-items: center;
    justify-content: center;
    /* padding: .625rem 3.125rem; */
    background-color: transparent;
    border: 0.0625rem solid var(--light);
    color: var(--light);
    font-weight: 100;
    font-size: 1rem;
    min-height: 2.375rem;
    width: 10rem;
    margin-bottom: 6.25rem;
    transition: all 0.3s ease-in-out;

    &:hover {
        text-shadow: 4px 4px rgba(0, 0, 0, 0.25);
        font-weight: 500;
        box-shadow: var(--shadow);
        transform: translateY(-5px);
    }

    @media screen and (max-width: 36rem) {
        & {
            width: 7.5rem;
            min-height: 1.875rem;
            font-size: 0.875rem;
            margin-bottom: 9rem;
        }
    }
}

.location {
    position: relative;
    font-weight: 100;
    font-size: 1rem;
    padding-block-end: 3rem;
    color: var(--light);

    address {
        font-style: normal;
    }

    &::before {
        content: " ";
        position: absolute;
        top: -20px;
        left: -45px;
        display: block;
        width: 2.5rem;
        height: 3.0625rem;
        background-color: var(--dark);
        margin-left: 0.04375rem;
        background-image: url("../icon/Arrow.svg");
        color: #fff;
    }

    @media screen and (max-width: 90rem) {
        &::before {
            left: -40px;
        }
    }

    @media screen and (max-width: 48rem) {
        &::before {
            width: 1.875rem;
            height: 2.375rem;
            background-image: url("../icon/arrow_tablet.svg");
            top: -5px;
        }
    }

    @media screen and (max-width: 36rem) {
        &::before {
            display: none;
        }
    }
}

.keywords {
    position: absolute;
    width: 100%;
    min-height: 1.25rem;
    bottom: 0;
    padding: 0 360px;
    display: flex;
    justify-content: space-between;
    background: linear-gradient(180deg,
            rgba(255, 255, 255, 0.04) 0%,
            rgba(255, 255, 255, 0.12) 50%,
            rgba(255, 255, 255, 0.2) 100%);
    align-items: center;
    color: var(--light);

    li {
        font-weight: 100;
        font-size: 0.625rem;

        & a {
            font-size: 0.625rem;
            padding: 0.625rem 0;
            font-weight: 100;
            transition: all 0.3s ease-in-out;

            &:hover {
                transform: scale(1.2);
            }
        }
    }

    @media screen and (max-width: 90rem) {
        & {
            padding: 0 2.5rem;
        }
    }

    @media screen and (max-width: 48rem) {
        & {
            padding: 0 1.25rem;
        }

        & li:nth-last-child(-n + 6) {
            display: none;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        & {
            padding: 0 1rem;
        }

        & li:nth-last-child(-n + 11) {
            display: none;
        }
    }
}


/* About  and All Services Section */
.about {
    margin-bottom: var(--section-space);
}

.about__title {
    font-size: 0.75rem;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 20px;

    @media screen and (max-width: 23.4375rem) {
        & {
            font-size: 0.75rem;
        }
    }
}

.about__descr {
    width: 72%;
    font-weight: 400;
    font-size: 2.5rem;
    text-wrap: wrap;
    margin-bottom: var(--section-space);

    span {
        color: #a5a5a5;
    }

    @media screen and (max-width: 64rem) {
        & {
            width: 100%;
            font-size: 2rem;
            margin-bottom: 2.5rem;
        }
    }

    @media screen and (max-width: 48rem) {
        & {
            font-size: 1.5rem;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        & {
            font-size: 1rem;
            margin-bottom: 1.25rem;
        }
    }
}

.about__services {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* flex-wrap: wrap; */
    column-gap: 2rem;

    h3 {
        font-style: italic;
        font-weight: 400;
        margin-bottom: 1.25rem;
    }

    @media screen and (max-width: 48rem) {
        & {
            flex-direction: column;
            row-gap: 2.5rem;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        h3 {
            font-size: 0.75rem;
        }
    }
}

.services__box {
    width: calc(50% - 2rem);

    li {
        position: relative;
        font-weight: 400;
        font-size: 1rem;

        &:first-child::before {
            content: " ";
            display: inline-block;
            position: absolute;
            width: 0.9375rem;
            height: 0.9375rem;
            left: -30px;
            color: var(--dark);
            background: url("../icon/Camera.svg") center center/cover no-repeat;
            margin-right: 0.9375rem;
        }

        &:last-child::before {
            content: " ";
            display: inline-block;
            position: absolute;
            width: 0.9375rem;
            height: 0.9375rem;
            left: -30px;
            color: var(--dark);
            background: url("../icon/Edit.svg") center center/cover no-repeat;
            margin-right: 0.9375rem;
        }
    }

    li:not(:last-child) {
        margin-bottom: 0.625rem;
    }

    @media screen and (max-width: 48rem) {
        & {
            width: 100%;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        &:first-child::before {
            display: none;
        }

        &:last-child::before {
            display: none;
        }
    }
}

.services__text {
    width: calc(50% - 2rem);
    font-weight: 400;
    font-size: 1.25rem;
    letter-spacing: 0.4px;
    text-wrap: balance;

    @media screen and (max-width: 48rem) {
        & {
            width: 100%;
        }
    }
}

.title {
    text-align: center;
    font-size: 2.5rem;
    font-weight: 400;
    color: var(--dark);
    margin-bottom: 3.125rem;

    span {
        position: relative;

        &::after {
            content: " ";
            position: absolute;
            display: block;
            width: 4.6875rem;
            height: 2px;
            background-color: var(--dark);
            right: 0;

            bottom: -3px;
        }
    }

    @media screen and (max-width: 48rem) {
        & {
            font-size: 2.25rem;
            margin-bottom: 2.5rem;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        & {
            font-size: 1.5rem;
        }
    }
}


/* Works Section */

.works {
    margin-bottom: var(--section-space);
}

.works__grid {
    display: grid;
    grid: repeat(2, 1fr) 1.5fr / repeat(2, 1fr);
    gap: 1.875rem;

    @media screen and (max-width: 48rem) {
        column-gap: 1.25rem;
    }

    @media screen and (max-width: 23.4375rem) {
        grid: repeat(4, 1fr) 1.5fr/ 1fr;
        column-gap: 1.875rem;
    }
}

.works__item {
    /* width: 43.4375rem;
    height: 28.9375rem; */
    box-shadow: var(--shadow);


    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }


}


/* Inspiration Section */

.inspiration {
    margin-bottom: var(--section-space);
}

.inspiration__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        box-shadow: var(--shadow);
    }

    #tenement {
        grid-row: span 2;
    }

    #sky {
        grid-column: span 2;
    }

    @media screen and (max-width: 48rem) {
        & {
            grid-template-columns: repeat(2, 1fr);
        }

    }

    @media screen and (max-width: 23.4375rem) {
        & {
            grid-template-columns: 1fr;
            grid-template-rows: repeat(4, 1fr);
            grid-auto-flow: dense;
            row-gap: 1.875rem;
            place-content: center;

        }

        #tenement {
            grid-row: span 2;

        }

        #sky {
            grid-row: span 0.5;

        }


    }
}

/* Customers Section */
.customers {
    margin-bottom: var(--section-space);
}

.customers__grid {
    display: flex;
    gap: 1.875rem;
    flex-wrap: wrap;

    @media screen and (max-width: 48rem) {
        & {
            justify-content: center;
            align-items: center;
        }

    }


}

.customers__items {
    width: 20.8125rem;
    height: 15.625rem;
    box-shadow: var(--shadow);

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    @media screen and (max-width: 70rem) {
        & {
            width: 9.625rem;
            height: 7.25rem;

        }
    }

}


/*Footer Section */
footer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.875rem;
    font-size: 1.25rem;
    background-color: var(--dark);
    color: var(--light);
    padding: var(--padding-inline-footer) 5.5rem;

    address {
        font-style: normal;
        font-weight: 400;
    }

    @media screen and (max-width: 48rem) {
        & {
            padding: 1.875rem var(--padding-inline-footer);
            flex-direction: column;
            align-items: flex-start;
            font-size: 1rem;
        }
    }

    @media screen and (max-width: 23.4375rem) {
        & {

            align-items: center;
        }

        address {
            order: 3;
        }


    }
}

.social {
    display: flex;
    column-gap: 1.875rem;

    a {
        border: 1px solid var(--light);
        width: 2rem;
        height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    img {
        width: 1.375rem;
        height: 1.375rem;
        object-fit: cover;
    }

}