/* Title */

.title-section {
    background-position: center 24%;
}

.title-main-div-logo {
    display: none;
}

.title-main-div {
    padding-top: clamp(36px, 5vw, 70px);
    padding-bottom: clamp(56px, 8vw, 96px);
}

.title-title {
    font-weight: 800;
    font-size: clamp(38px, 5vw, 48px);
    line-height: 1.08;
    width: min(100%, 640px);
    margin-bottom: 16px;
}

.title-text {
    font-size: 18px;
    width: min(100%, 560px);
}

/* services */

.services-list {
    justify-content: center;
    row-gap: 34px;
    column-gap: 34px;
}

.service-item {
    width: min(100%, 470px);
}

/* Choose */

.choose-decor-1,
.choose-decor-2 {
    width: 320px;
    top: -30px;
}

.choose-decor-1 {
    left: -70px;
}

.choose-decor-2 {
    right: -70px;
}

.choose-list {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 56px;
    column-gap: 44px;
}

/* Work */

.work-abs-div {
    flex-direction: column;
    gap: 44px;
}

.work-main-img {
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: cover;
    border-radius: 20px;
}

/* Pain */

.pain-list {
    justify-content: center;
    row-gap: 34px;
    gap: 50px;
}

/* Reviews */

.reviews-fallback-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Partners */

.partners-img-div {
    gap: 40px;
}

/* Contact */

.contact-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 42%);
    align-items: start;
    column-gap: 20px;

    padding-bottom: 96px;
    padding-top: 110px;
}

.contact-left-div,
.contact-right-div {
    width: auto;
    max-width: none;
}

.contact-right-div {
    min-width: 0;
    height: clamp(380px, 38vw, 500px);
    overflow: hidden;
    border-radius: 20px;
}

.contact-map {
    width: min(100%, 900px);
    height: clamp(280px, 34vw, 360px);

    margin-top: 70px;
}

.contact-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin-top: 0;
}

@media (orientation: portrait) {
    .title-main-div {
        padding-top: 32px;
    }

    .title-text {
        font-size: 17px;
    }

    .contact-container {
        grid-template-columns: minmax(0, 1fr) minmax(240px, 38%);
    }

    .contact-right-div {
        height: clamp(340px, 44vw, 460px);
    }
}

@media (max-width: 900px) {
    .services-list {
        row-gap: 28px;
    }

    .reviews-fallback-list {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .contact-container {
        grid-template-columns: minmax(0, 1fr) minmax(220px, 36%);
        column-gap: 16px;
        padding-top: 92px;
    }

    .contact-right-div {
        height: clamp(320px, 42vw, 420px);
    }
}
