@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');



.contact-section {
    background: url('../how-we-build/uploads/Page/91/1ee2641ac8ec10d179ae31f2bdb27170689abe1d.jpg') center / cover no-repeat;
}


.features {
    background: url('../how-we-build/uploads/Page/91/f86c1f11e66bcb9b831d592e7764e5aae3172afe.jpg');
}




.title-page {
    display: none;
}

#ct,
#current-pricing {
    scroll-margin-top: 130px;
}

/* header */
.header-m {
    position: relative;
    background-color: #2a3640;
    background-image: url('../how-we-build/uploads/Page/91/1ee2641ac8ec10d179ae31f2bdb27170689abe1d.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    height: calc(100vh - 158px);
    overflow: hidden;
}

.container {
    width: auto;
    padding: 0px 0px 0px 0px;
}

header .container,
.wrapper-breadcrumb .container {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:768px) {

    header .container,
    .wrapper-breadcrumb .container {
        width: 750px
    }
}

@media (min-width:992px) {

    header .container,
    .wrapper-breadcrumb .container {
        width: 970px
    }
}

@media (min-width:1200px) {

    header .container,
    .wrapper-breadcrumb .container {
        width: 1170px
    }
}

.container-m {
    margin: 0 auto;
    padding: 0px 15px 0px 15px;
}

@media (min-width:768px) {
    .container-m {
        width: 750px
    }
}

@media (min-width:992px) {
    .container-m {
        width: 970px
    }
}

@media (min-width:1200px) {
    .container-m {
        width: 1170px
    }
}

.header-m::before {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: 1;
}

.header-m .box-header h1,
.header-m .box-header p {
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9);
}

.header-m>* {
    position: relative;
    z-index: 2;
}

.header-m .box-header {
    margin-bottom: 20vh;
}


h1 {
    color: white;
    font-weight: 700;
    font-size: 55px;
    padding-bottom: 0%;
    text-align: left;
    margin-bottom: 0;
}
h1:after{
    display: none;
}
.header-m p {
    color: white;
    font-weight: 400;
    line-height: 115%;
    margin-top: 10px;
}

.header-m a {
    margin-top: 43px;
    display: block;
    width: fit-content;
    color: #363636;
    background-color: white;
    transition: .2s;
    text-align: center;
    padding: 19px 0px;
    width: 364px;
}


.header-m a:hover {
    text-decoration: none;
    background: #363636;
    color: white;
}







/* ----------------------------- */
/* nav */

section.dinamic_page {
    padding: 0;
}

input {
    border: none;
    border-bottom: 2px solid #999;
    padding: 18px 10px;
    font-size: 14px;
    outline: none;
    transition: 0.2s;
    cursor: pointer;
    background: transparent;
}

input:hover {
    border-bottom: 2px solid black;
}



h4 {
    font-weight: 700;
    font-size: 25px;
    line-height: 100%;
    text-transform: math-auto;
    letter-spacing: 0.5px;
    text-align: left;
}

h3 {
    font-weight: 700;
    font-size: 25px;
    text-transform: math-auto;


}

h2 {
    font-weight: 400;
    font-size: 38px;
    text-align: center;
    text-transform: uppercase;
    color: #363636;
}

p {
    font-size: 20px;
}

button {
    font-size: 20px;
}

.links {
    display: flex;
    gap: 32px;
    align-items: center;
    margin-left: 43px;
    font-size: 19px;
    font-weight: 400;

}

.links a {
    transition: 0.2s;
}

.links a:hover {
    text-decoration: underline;
}

.contact-nav {
    margin-left: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}

.contact-nav a {
    color: #818282;
    font-size: 28px;
    font-weight: Bold;
}

.contact-nav span {
    font-weight: 700;
    font-size: 19px;
}



/* ===== CORE VALUES ===== */

.core-values {
    position: relative;
    padding: 6vh 0;
    background: url('../how-we-build/uploads/Page/91/f86c1f11e66bcb9b831d592e7764e5aae3172afe.jpg') center center / cover no-repeat;
}

.core-values::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.18);
}

.core-values .sec-head h2,
.core-values .sec-head p {
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9);
}

.core-values .container-m {
    position: relative;
    z-index: 1;
}

.core-values .sec-head h2,
.core-values .sec-head p {
    color: #fff;
}

.core-values .sec-head .divider {
    background-color: #fff;
}

.core-values .cta-text {
    color: #fff;
}

.core-values .core-cta {
    border-left-color: rgba(255, 255, 255, 0.5);
    margin-top: 5vh;
}

.core-values .card-item {
    background: transparent;
    padding: 30px 22px;
}

.core-values .card-item h3,
.core-values .card-item p {
    color: #fff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), 0 1px 3px rgba(0, 0, 0, 0.9);
}

.core-values .card-item img {
    filter: brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.7));
}

.core-values .card-item:not(:nth-child(3n))::after {
    display: none;
}

.sec-head {
    text-align: center;
    display: flex;
    align-items: center;
    gap: 3vh;
    flex-direction: column;
}

.sec-head h2 {
    line-height: 120%;
}


.sec-head .divider {
    display: block;
    width: 129px;
    line-height: 0px;
    height: 1px;
    background: #363636;
}

.sec-head p {
    color: black;
    line-height: 1.6;
}

/* items */

.core-items {
    display: flex;
    justify-content: space-between;
    gap: 70px;
    margin-top: 8vh;
}

.core-item {
    min-width: 330px;
    text-align: center;
}

.core-item img {
    height: 69px !important;
    margin-bottom: 25px;
}

.core-item h3 {
    font-size: 25px;
    font-weight: 600;
    margin-bottom: 25px;
}

.core-item p {
    color: #666;
    line-height: 1.6;
}

/* CTA */

.core-cta {
    margin-top: 10vh;
    width: 100%;
    margin-bottom: 3vh;
    padding-left: 25px;
    gap: 30px;
    border-left: 1px solid #363636;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cta-text {
    font-size: 30px;
    font-weight: 600;
    color: #363636;
    text-align: left;
}

.cta-btn {
    background: #363636;
    color: #fff;
    white-space: nowrap;
    padding: 2vh 0px;
    max-width: 364px;
    width: 364px;
    text-align: center;
    text-decoration: none;
    font-size: 22px;
    transition: .2s;
    border: 1.5px solid #363636;

}

.cta-btn:hover {
    text-decoration: none;
    background: none;
    color: #363636;

}

.about-gallery-btn {
    align-self: center;
    margin-top: 1vh;
}

.core-cta-divider {
    background: #f0f0f0;
    border-left: none;
    padding: 3vh 4vw;
    border-radius: 4px;
    margin-top: 3vh;
}

.article-divider {
    margin: 7vh 0;
    display: flex;
    justify-content: center;
}

.service-area {
    max-width: 700px;
    margin: 5vh auto 0 auto;
    text-align: center;
}

.service-area h4 {
    font-weight: 700;
    font-size: 20px;
    color: #363636;
    margin: 0 0 10px 0;
    text-align: center;
}

.service-area p {
    font-size: 16px;
    line-height: 1.6;
    color: #363636;
}

.service-area-cities {
    margin-top: 12px;
}

.service-area-cities a {
    display: inline-block;
    margin: 0 8px;
    font-size: 15px;
    font-weight: 700;
    color: #363636;
    text-decoration: underline;
}

.service-area-cities a:hover {
    color: #797978;
}

/* lead form (reused from the main landing page) */

.btn-contact-us { display: inline-block; font-family: 'OpenSans-Light', sans-serif; background-color: #797978; border: none; text-transform: uppercase; color: #fff !important; font-size: 20px; padding: 16px 50px; text-decoration: none; transition: background-color 0.2s, color 0.2s; }
.btn-contact-us:hover { background-color: #d0d7db; color: #363636 !important; text-decoration: none; }
.small_form .cta_only { display: flex; justify-content: center; align-items: center; min-height: 100px; }

#contact-form { max-width: 720px; margin: 0 auto; text-align: center; padding: 50px 0; }
#contact-form h3 { font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 2em; color: #363636; margin: 0 0 10px 0; }
#contact-form .contact_subtitle { font-size: 16px; color: #6a6a6a; margin-bottom: 30px; }
#contact-form .anketa_row { display: flex; gap: 16px; margin-bottom: 16px; }
#contact-form .anketa_row.stack { flex-direction: column; }
#contact-form input, #contact-form select, #contact-form textarea { width: 100%; box-sizing: border-box; border: 1px solid #d0d0d0; padding: 14px 16px; font-family: 'OpenSans-Regular', sans-serif; font-size: 16px; color: #363636; }
#contact-form textarea { min-height: 120px; resize: vertical; }
#contact-form .anketa_submit { margin-top: 6px; }
@media (max-width: 600px) { #contact-form .anketa_row { flex-direction: column; gap: 16px; } }

/* ===== PROJECTS LIST ===== */

.projects-list {
    display: flex;
    gap: 0.80%;
    margin-top: 6vh;
}

.project-item {
    position: relative;
    flex: 1;
    overflow: hidden;
    cursor: pointer;
    background: #000;
}

/* image */

.project-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s ease;
}

/* hover zoom */

.project-item:hover img {
    transform: scale(1.06);
}

/* overlay info */

.project-info {
    position: absolute;
    inset: auto 0 0 0;
    padding: 11px 0;
    text-align: center;

    background: #00000047;

    color: #fff;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

/* ===== CONTACT SECTION ===== */


.contact-section {
    padding: 7vh 0;
    margin: 10vh 0px;
}

.contact-box {
    background: rgba(255, 255, 255, 0.758);
    padding: 31px 78px;
    text-align: center;
    margin: 0 auto;
    width: 50vw;
}

/* form */

.contact-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    width: 100%;
    margin-top: 3vh;
}


.contact-form button {
    grid-column: 1 / -1;
    margin-top: 10px;
    width: 100%;
    padding: 25px 0;
    background: #333;
    color: #fff;
    border: none;
    letter-spacing: 1px;
    border: 1.5px solid #363636;
    transition: .2s;
    cursor: pointer;
}


.contact-form input[type="text"] {
    grid-column: 1 / -1;
}

/* ===== ABOUT ===== */

.about {
    margin-bottom: 10vh;
}

.about .container-m {
    padding-left: 0px;
    padding-right: 0px;
    width: 100%;
    max-width: 100%;
}

.about-inner {
    display: flex;
    align-items: stretch;
    gap: 40px;
}

.about-image {
    flex: 0 0 44%;
    max-width: 44%;

    overflow: hidden;
}

.about-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.about-content {
    flex: 1;
    display: flex;
    gap: 20px;
    flex-direction: column;
    justify-content: space-between;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    text-align: center;
}


.about-content h2 {
    text-align: center;
    font-weight: 400;
    letter-spacing: 2px;
    /* margin-bottom: 5vh; */
}

.about-content p {
    line-height: 1.6;
    text-align: center;
    /* margin-bottom: 40px; */
    color: #363636;
}


.features {
    padding: 100px 0px;
    background-size: cover;
}
.features .divider {
    background: white;
}

.features h3,
.features h2,
.features p {
    color: white;
}



.card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5vh 2vw;
    margin-top: 4vh;
}

.card-item {
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
}

.card-item:not(:nth-child(3n))::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    height: 100%;
    right: -20px;
    width: 2px;
    background: #D9D9D9;
}

.card-item p {
    font-weight: 300;
    line-height: 1.7;
}

.card-item img {
    width: 65px;
    height: 65px !important;
}

/* ===== REVIEWS ===== */

.reviews {
    padding: 10vh 0;
    background: #fff;
}

.reviews-quote {
    text-align: center;
    font-size: 49px;
    line-height: 0.6;
    margin-top: 30px;
    margin-bottom: 40px;
}

.reviews-slider {
    position: relative;
}

.review {
    display: none;
}

.review.active {
    display: block;
}

.reviews h3 {
    font-weight: 600;
    padding-left: 20px;
    text-align: left;
    border-left: 1px solid #333;
    margin-bottom: 3vh;
}

.review p {
    line-height: 1.7;
    color: #555;
    text-align: left;
    margin-bottom: 3vh;
}

.review-author {
    letter-spacing: 1.5px;
    color: #363636;
}

.read-more {
    background: none;
    border: none;
    padding: 0;
    margin-bottom: 20px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
}

.r-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* controls */

.reviews-controls {
    display: flex;
    margin-left: auto;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 1vh;
}

.reviews-controls button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    font-size: 18px;
}

.reviews-controls .prev {
    transform: rotate(180deg);
}

.card-grid-manual {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6vh 3vw;
    margin-top: 7vh;
}

.card-item-manual img {
    width: 65px;
}

.card-item-manual {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.card-item-manual {
    padding-left: 10px;
    border-left: 1px solid #363636;
}

.card-item-manual p {
    line-height: 1.7;
    text-align: left;
}

.photo {
    margin-bottom: 6px;
}

.form-started {
    margin: 148px 0px 97px 0px;
}

.photo-list-footer {
    display: flex;
    gap: 6px;
    max-width: 100%;
}

.photo-list-footer img {
    width: 19.75%;
}

.mob {
    display: none;
}

input::placeholder {
    color: rgb(48, 46, 46);
}

@media (min-width: 1921px) {

    /* nav */
    nav {
        padding: 1vw 0;
    }

    .logo {
        width: 6vw;
    }



    .links {
        gap: 2.5vw;
        margin-left: 3.3vw;
        font-size: 1.15vw;
    }

    .contact-nav {
        gap: 0.45vw;
    }

    .contact-nav a {
        font-size: 1.75vw;
    }

    .contact-nav span {
        font-size: 1.15vw;
    }



    h1 {
        font-size: 3.4vw;
    }


    .header-m .container,
    .wrapper-breadcrumb .container {
        padding: 0px 6vw;
    }

    .header-m {
        height: calc(100vh - 6.2vw);
    }

    .header-m .box-header {
        margin-bottom: 22vh;
    }

    h1 {
        font-size: 3.4vw;
    }

    .header-m p {
        font-size: 1.3vw;
        margin-top: 0.6vw;
    }

    .header-m a {
        margin-top: 2.2vw;
        padding: 1vw 5.3vw;
        font-size: 1vw;
    }
}

@media(max-width: 1400px) {
    .cta-btn {
        padding: 2vh 9vw;
    }
}

@media (max-width: 1350px) {
    .sec-head {
        gap: 3vh !important;
    }
}

@media(max-width: 1200px) {
    .core-item {
        min-width: 220px;
    }

    .core-items {
        gap: 20px;

    }

    h2 {
        font-size: 35px;
    }

    .sec-head {
        gap: 3vh !important;
    }
}

@media(max-width: 1000px) {
    .card-grid {
        gap: 9vh 5vw;
    }

    .card-item:not(:nth-child(3n))::after {
        right: -25px;
    }

    .core-items {
        flex-wrap: wrap;
        gap: 20px;
    }

    .core-item {
        width: 48%;
        margin: 0 auto;
    }

    .header-m a {
        margin: 22vh auto 0px auto;
    }

    .header-m .box-header {
        margin-bottom: 0vh;
    }

    h1 {
        text-align: center;
    }

    .header-m p {
        text-align: center;
        margin-top: 15px;
    }

    .header-m .container-m {
        height: 100%;
        display: flex;
    }

    .header-m .box-header {
        margin: auto 0px 7vh 0px;
    }

    .contact-box {
        padding: 31px 40px;

        width: 55vw;
    }

    .card-grid-manual {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .card-item-manual img {
        width: 48px;
    }

    h2 {
        font-size: 27px;
    }
}



@media(max-width: 850px) {
    .about-content h2 br {
        display: none;
    }

    .core-cta {
        display: flex;
        flex-direction: column;
        margin-top: 5vh;
        margin-bottom: 0vh;
        padding-left: 0px;
        border-left: 0px solid #363636;
        gap: 15px;
        align-items: flex-start;
    }

    .cta-btn {
        width: 100%;
        max-width: 100%;
        white-space: normal;
    }

    .cta-text {
        padding-left: 20px;
        border-left: 1px solid #363636;
    }

    .card-item:nth-child(2)::after,
    .card-item:nth-child(4)::after {
        display: none;
    }

    .about-content {
        width: 100%;
        margin-bottom: 20px;
    }

    .card-item-manual {
        gap: 8px;
        padding-left: 20px;
    }

    h4 {

        font-size: 20px;
    }

    .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .card-item:not(:nth-child(2n))::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        height: 100%;
        right: -20px;
        width: 2px;
        background: #D9D9D9;
    }


    .about-inner {
        flex-direction: column-reverse;
        gap: 0px;
    }

    .about-image {
        max-width: 100%;
    }

    .projects-list {
        flex-direction: column;
        gap: 20px;
    }

    .contact-box {
        width: 90vw;
    }

    .sec-head br {
        display: none;
    }

    .contact-box {
        padding: 4vh 4vh;
    }

    .core-cta {
        gap: 30px;
    }

    .photo-list-footer>*:nth-child(5) {
        display: none;
    }

    .photo-list-footer img {
        width: 24.2%;
    }
}

@media(max-width: 700px) {
    .header-m a {
        width: 100%;
        text-align: center;
    }

    .header-m a {
        padding: 19px 0px;
    }

}

@media(max-width: 600px) {
    .cta-text {
        font-size: 23px;
    }

    .photo-list-footer>*:nth-child(4) .photo-list-footer>*:nth-child(5) {
        display: none;
    }
}

@media(max-width: 550px) {
    .contact-section {
        margin: 3vh 0px;
    }





    .reviews-controls button {
        width: 68px;
        height: 68px;
        font-size: 33px;
    }

    .core-items {
        margin-bottom: 35px;
        margin-top: 35px;
    }

    .card-grid-manual {
        display: grid;
        gap: 30px;
        grid-template-columns: repeat(1, 1fr);
    }

    .core-values {
        padding: 7vh 0;
    }

    .form-started {
        margin: 47px 0px 35px 0px;
    }

    .card-item-manual img {
        margin-bottom: 10px;
    }

    .reviews-quote {
        text-align: center;
        font-size: 57px;
        line-height: 0;
        margin-top: 50px;
        margin-bottom: 30px;
    }

    .features {
        background-size: cover;
        background-position: -68%;
    }

    .review p {
        line-height: 1.79;
    }

    .about-image {
        max-width: 100%;
    }

    .mob {
        display: block;
    }

    .pk {
        display: none;
    }


    .about {
        margin-bottom: 5vh;
    }

    h2 {
        font-size: 25px;
    }

    p {
        font-size: 16px;
    }

    .reviews-controls {
        justify-content: center;
        margin: 35px auto 59px auto;
        gap: 129px;
    }

    .reviews {
        padding: 5vh 0;
    }

    .contact-form {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: 0vh;
    }

    .card-item:not(:nth-child(2n))::after,
    .card-item:not(:nth-child(3n))::after {
        display: none;
    }



    .features {
        padding: 5vh 0;
    }

    .contact-section {
        padding: 3vh 0;
    }

    .contact-box {
        padding: 2vh 2vh;
    }

    .cta-text {
        padding-left: 20px;
        border-left: 1px solid #363636;
        font-size: 18px;
    }

    .cta-btn {
        width: 100%;
        padding: 1.6vh 9vw;
        font-size: 20px;
    }

    .contact-form button {
        padding: 18px 0;
    }

    input {
        padding: 0px 5px;
    }

    .core-cta {
        gap: 10px;
        width: 100%;
    }

    .sec-head h2 span {
        display: none;
    }

    h3 {
        font-size: 20px;
    }



    .card-item img {
        width: 48px;
    }

    .card-item {
        gap: 6px;
    }

    .card-grid { 
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
        margin-top: 0px;
    }

    .core-item h3 {
        font-size: 20px;
    }

    .core-item img {
        height: auto;
        width: 48px;
    }

    .core-item {
        width: 100%;
    }

    .project-info {
        padding: 1px 0;
    }

    h1 {
        font-size: 35px;
    }


    .photo-list-footer>*:nth-child(3),
    .photo-list-footer>*:nth-child(4),
    .photo-list-footer>*:nth-child(5) {
        display: none;
    }


    .photo-list-footer img {
        width: 49.7%;
    }

    .photo-list-footer {
        gap: 2px;
    }

    .photo {
        margin-bottom: 2px;
    }

    .cta-text {
        font-size: 18px;
        padding-left: 10px;
        margin-right: auto;
    }

    .projects-list {
        margin-top: 32px;
    }
}



footer {
    border-top: 0px solid #e4e6e7;
}

.pricing-block {
    padding: 10vh 0;
}

.pricing-subhead {
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #363636;
    margin: 4vh 0 6vh 0;
}

.pricing-checklist {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4vh 6vw;
    max-width: 1100px;
    margin: 0 auto;
}

.check-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    text-align: left;
}

.check-item img {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    margin-top: 2px;
}

.check-item p {
    margin: 0;
    line-height: 1.6;
    color: #363636;
}

@media (max-width: 850px) {
    .pricing-checklist {
        grid-template-columns: 1fr;
    }
}

.not-included-head {
    position: relative;
    margin-top: 10vh;
    padding-top: 6vh;
}

.not-included-head::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #d9d9d9;
}

.check-item.not-included img {
    opacity: 0.55;
}

.check-item.not-included p {
    color: #6a6a6a;
}

.pricing-fineprint {
    max-width: 700px;
    margin: 3vh auto 0 auto;
    text-align: center;
    font-size: 16px;
    line-height: 1.6;
    color: #888;
}

.pricing-highlight {
    max-width: 700px;
    margin: 5vh auto 0 auto;
    text-align: center;
    font-size: 19px;
    font-weight: 700;
    color: #363636;
}