

@media (max-width:1440px) {

    .hero_top {
        background: url(../image/decor/hero-bg.webp) center bottom / cover no-repeat;
    }

    .service-right .oferta_text {
        right: -65px;
    }

    .service_archive {
        background: url(../image/decor/service-archive.webp) center center / cover no-repeat;
    }

    .contacts {
        background: url(../image/decor/contacts-bg.webp) center bottom / cover no-repeat;
    }
}



@media (max-width:1000px) {

    .header_logo {
        font-size: 18px;
    }

    .scrolled .header_center-btn {
        margin-left: 0;
    }






    .hero_img-wrapper {
        max-width: none;
    }


    .works_slider-title {
        max-width: 300px;
    }

    .service_card {
        max-height: 339px;
    }

    .service-left {
        background: url(../image/decor/service-bg.webp) right center / cover no-repeat;
    }

    .service_head-title svg {
        display: none;
    }

    .service-right .oferta_text {
        right: -32px;
    }


    .error_inner-main {
        padding: 50px;

    }
}


@media (max-width:835px) {
    .menu_btn, .header_email-link {
        font-size: 12px;
    }
}


@media (max-width:768px) {

    .container {
        padding: 0 8px;
    }

    .close {
        display: block;
    }

    .title {
        font-size: 26px;
        letter-spacing: 0;
        font-weight: 500;
        text-align: left;
    }

    .header_pin {
        display: none;
    }


    main {
        padding-top: 62px;
    }

    .header_inner {
        padding: 18px 8px;
    }

    .scrolled .header_inner {
        padding: 18px 8px;
    }

    .header_logo span {
        display: none;
    }

    .header_logo {
        max-width: 70px;
    }

    .menu_btn, .header_tg-link {
        font-size: 16px;
    }

    .header_tg-link {
        display: flex;
    }

    .header_right-btn,
    .header_email-link {
        display: none;
    }

    .scrolled .header_right-btn {
        display: none;
    }

    .cookie_wrapper {
        border-radius: 18px 18px 0 0;
        left: 0;
        transform: none;
        bottom: 0;
        font-size: 18px;
        width: 100%;
        padding: 16px 16px 16px 24px;
        gap: 24px;
    }




    .header_dropdown {
        position: fixed;
        top: 60px;
        bottom: 0;
        left: 0;
        flex-direction: column;
        border-radius: 0;
        width: 100%;
        height: 100%;
        box-shadow: none;
    }

    .scrolled .header_dropdown {
        top: 60px;
    }

    .header_dropdown-left {
        border-right: none;
        border-bottom: 1px solid #ECDED5;
        box-shadow: 0 1px 0 0 #fff;
    }



    .dropdown_left-item img {
        display: none;
    }

    .dropdown_left-link {
        align-items: center;
        gap: 12px;
        padding: 26px 16px;
    }

    .link_img-wrap {
        display: none;
    }

    .header_dropdown {
        background: #f5f0e3;
        max-height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 60px;
    }

    .dropdown_right-inner {
        padding: 0;
        gap: 0;
    }

    .header_dropdown-contacts {
        gap: 0;
    }

    .dropdown_right-inner li a {
        display: block;
        padding: 16px;
    }

    .dropdown_right-inner li {
        border-bottom: 1px solid #ECDED5;
        box-shadow: 0 1px 0 0 #fff;
    }

    .header_dropdown-contacts li:last-child {
        border: none;
        box-shadow: none;
    }

    .nav_menu-list {
        gap: 0;
    }

    .header_close {
        box-shadow: 0 -1px 0 0 #ECDED5;
        border-top: 1px solid #fff;

    }

    /***************************************/

    .hero_top-inner {
        padding: 0 8px;
    }

    .hero_top {
        margin-top: 24px;
        background-size: cover;
    }

    .hero_top-title {
        font-size: 40px;
        text-align: left;
    }

    .hero_top-title span::before {
        top: -4px;
    }



    .hero_top-title svg {
        display: flex;
        flex-shrink: 0;
        margin: auto 15px;
    }

    .hero_top-descript {
        text-align: left;
        max-width: max-content;
    }

    .hero_img-wrapper {
        height: 355px;
    }

    .hero_img-wrapper img {
        position: absolute;
        width: 530px;
        bottom: 0;
        right: -260px;
    }

    .hero_img-text {
        left: -155px;
        width: 300px;
    }

    .hero_bottom-inner {
        gap: 20px;
        padding: 72px 8px;
        border: none;
        box-shadow: none;
    }

    .hero_bottom-descript, .hero_bottom-accent {
        font-size: 20px;
    }

    /***************************************/
    .works {
        padding: 72px 0 100px;
    }

    .works_top {
        padding: 0 8px;
        margin-bottom: 40px;
    }

    .works_top-content {
        margin-left: 0;
    }

    .works_top-nav {
        display: none;
    }

    .works_slider-content {
        padding: 16px 8px;
    }

    .works_slider-title {
        max-width: 50vw;
    }

    .works_slider-img {
        border-radius: 18px;
    }

    .works_slider-link:hover .works_slider-img img {
        transform: scale(1);
    }

    /**************************************/

    body:has(.ask_accord-item.open-answer),
    body:has(.service_body-price.open-oferta) {
        overflow: hidden;
    }

    .ask {
        padding: 72px 0;
    }

    .ask .container {
        padding: 0;
    }

    .ask_immer-top {
        padding: 0 16px;
        margin-bottom: 47px;
    }


    .ask_immer-main {
        padding: 0;
        border: none;
        border-radius: 0;
        background-color: transparent;
    }

    .ask_accord-list {
        gap: 0;
    }

    .ask_accord-item {
        padding: 15px 16px;
        background-color: transparent;
        border-radius: 0;
        border-bottom: 1px solid #ECDED5;
        box-shadow: 0 1px 0 0 #fff;
    }

    .oferta_text,
    .ask_accord-answer {
        position: fixed;
        bottom: 0;
        left: 0;
        color: var(--general-black);
        transition: all 0.1s;
        background-color: transparent;
        max-width: none;
        width: 100%;
        padding: 0;
        height: 100%;
        background: #34180A80;
        display: flex;
        flex-direction: column;
        justify-content: end;
        border-radius: 0;
        pointer-events: auto;
        transform: translateY(100%)
    }

    .open-oferta .oferta_text,
    .open-answer .ask_accord-answer {
        opacity: 1;
        transform: translateY(0);
        z-index: 20;

    }



    .oferta_text p,
    .ask_accord-answer p {
        padding: 18px 16px;
        background-color: #f5f0e3;
        border-radius: 18px 18px 0 0;
        border-bottom: 1px solid #ECDED5;
    }

    .oferta_close,
    .answer_close {
        display: block;
        width: 100%;
        background-color: #f5f0e3;
        border-top: 1px solid #fff;


    }

    .ask_accord-title::before,
    .ask_accord-title::after {
        display: none;
    }


    /************************************/
    .service_top {
        gap: 12px;
        margin: 0 0 40px 0;
        padding: 0 8px;
    }

    .service_main {
        flex-direction: column;
    }

    .service_card {
        gap: 36px;
        max-height: none;
        padding: 18px 24px;
        border-radius: 18px;

    }

    .service_card::after {
        border-radius: 18px;
    }



    .service-left {
        max-width: none;
        border: none;
    }

    .service-right {
        border: 1px solid #462409;
    }

    .service_inner-top {
        padding: 72px 0 100px;
    }


    .service_card-head:hover .service_head-title {
        color: var(--general-white);
    }


    .service_head-ic {
        display: none;

    }

    .service_details {
        display: flex;
        margin-top: -14px;
    }

    .service-right {
        max-width: none;
        width: 100%;
    }

    .service_inner-bottom {
        padding: 0 8px;
    }

    .service_bottom {
        padding: 72px 0;
        border: none;
        box-shadow: none;
    }

    .service_bottom-text {
        font-size: 20px;
    }


    /*********************************************************/

    .error_inner-top {
        margin: 72px 0 48px;
        padding: 0 8px;
    }

    .error_top-text {
        margin-top: 12px;
    }


    .error_inner-main {
        position: relative;
        border-radius: 32px;
        padding: 8px;
        background: linear-gradient(to bottom, rgba(255, 250, 234, 0) 60%, #fdfcf2 100%),
            url(../image/decor/err-bg.webp) center top / cover no-repeat;
    }

    .error_inner-main::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: inherit;
        padding: 2px;
        background: linear-gradient(to bottom,
                #f60 0%,
                #ffd6c200 95%);
        ;
        -webkit-mask:
            linear-gradient(#fff 0 0) content-box,
            linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }

    .error_face {
        gap: 24px;
        border-radius: 32px;
        padding: 24px 36px 24px 24px;
        flex-direction: column;
        align-items: start;
    }

    .error_back {
        padding: 18px 36px 18px;
        margin-top: -10px;
        max-width: 364px;
    }

    .error_main-content {
        margin-bottom: 40px;
    }

    .error_main-btn {
        width: 100%;
        margin-bottom: 52px;
    }



    /*************************************************/

    .guarantees_inner {
        padding: 100px 8px;
        gap: 12px;
        align-items: start;
        text-align: left;
    }

    /*********************************************************/

    .footer {
        align-items: start;
    }

    .footer_inner-top {
        text-align: left;
        align-items: start;
        gap: 24px;
        padding: 72px 8px;
        border: none;
        box-shadow: none;

    }

    .footer_top-content {
        width: 100%;
    }

    .footer_btn {
        width: 100%;
    }

    .footer_inner-bottom {
        padding: 16px 8px;
    }

    .footer_inner-list {
        align-items: start;
        gap: 12px;
        flex-direction: column;
    }


    /********************************************/
    .portfolio_hero-top {
        background: url(../image/decor/portfolio-bg-mb.webp) 30% center / cover no-repeat;
    }

    .portfolio_hero-inner {
        align-items: start;
        padding: 0 8px;
    }

    .potfolio_title {
        font-weight: 600;
        letter-spacing: 0;
        text-align: left;
    }

    .portfolio_archive-inner {
        margin: 72px 0;
    }

    .portfolio_archive-list {
        gap: 40px;
    }

    .portfolio_card-img {
        border-radius: 18px;
    }

    .portfolio_card-img::after {
        border-radius: 18px;
    }

    .portfolio_card-content {
        padding: 16px 8px;
        gap: 4px;
    }

    .portfolio_card-title {
        max-width: 49vw;
    }

    .posrtfolio_btn-wrap {
        margin: 40px 8px 0;
    }

    /****************************************************/

    .article_header {
        margin-top: 24px;
        padding: 0 8px;
    }

    .article__title {
        font-size: 40px;
    }

    .article__excerpt {
        margin-top: 24px;

    }

    .text {
        margin-bottom: 100px;
        gap: 20px;
    }

    .text img {
        border-radius: 18px;
        margin: 20px 0;
    }

    .text ul, .text p {
        padding: 0 8px;
    }

    .text figure {
        gap: 70px;
        margin: 40px 0;
        border-radius: 18px;
    }

    .text figcaption {
        font-size: 20px;
    }

    .text figcaption::after {
        bottom: -50px;
        left: 45%;
        height: 35px;
        width: 35px;
        background: url(../image/icons/Star-tall.svg) center;
    }

    .text figure img {
        max-width: 65vw;
    }


    .text blockquote {
        padding: 16px;
        height: 70vw;
        margin: 40px 0;
        border-radius: 18px;
    }

    .text blockquote p {
        font-size: 2.5vw;
    }

    .text blockquote cite span, .text blockquote cite {
        font-size: 2vw;
    }


    /**********************************************************/
    .service_page {
        height: 600px;
    }

    .service_page-inner {
        gap: 24px;
        align-items: start;
    }

    .service_page-title {
        font-weight: 600;
        font-size: 40px;
        margin-top: 24px;
        text-align: left;
    }

    .service_page-descript {
        text-align: left;
    }

    .benefits_top-inner {
        margin: 72px 8px 52px;
    }

    .benefits_bottom {
        padding: 52px 8px 100px;
    }

    .benefits_list {
        align-items: start;
        flex-direction: column;
        gap: 40px;
    }

    .sample .container {
        padding: 0;
    }

    .sample_title {
        padding: 0 16px;
    }

    .sample_inner {
        gap: 40px;
        align-items: start;
        border: none;
        box-shadow: none;
    }

    .sample_list-item {
        flex-direction: column;
        align-items: start;
        gap: 12px;
        padding: 18px 16px;
    }

    .sample_item-title {
        max-width: none;
        font-size: 20px;
    }

    .sample_btn-wrap {
        padding: 0 16px;
    }

    .stage {
        padding: 72px 0 100px;
    }

    .stage_top {
        margin: 0 8px 40px;
    }

    .stage_descript {
        margin-top: 12px;
    }

    .stage_list {
        grid-template-columns: repeat(2, 1fr);
    }

    .stage_card-link {
        height: 200px;
        padding: 18px 24px;
        border-radius: 18px;
    }

    /*******************************************/

    .platform {
        padding: 72px 0 100px;
    }

    .platform_inner {
        gap: 40px;
    }

    .pltaform_top {
        padding: 0 8px;
    }



    .platform_list {
        grid-template-columns: 1fr;
    }

    .platform_card {
        padding: 18px 24px 0;
        max-width: none;
    }

    .platform_card-descript {
        margin-bottom: 18px;
    }

    .platform_card-img-item {
        height: 45vw;
    }

    /******************************************/
    .service_archive {
        padding: 24px 0 8px;
        height: 920px;
    }

    .service_archive-title,
    .service_archive-descript {
        text-align: left;
    }

    .service_archive-title {
        font-size: 40px;
        margin-bottom: 24px;
    }

    .service_archive-bottom {
        flex-direction: column;
    }

    .service_archive-circle {
        display: none;
    }


    .archive_right .archive_show {
        margin-left: 0;
    }

    .archive_card {
        max-width: none;
        border-radius: 18px;
    }

    .archive_right .archive_card-text,
    .archive_card-text {
        color: var(--grey-text);
    }

    .message {
        padding: 72px 0 100px;
    }

    .message_inner {
        gap: 40px;
    }

    .message_inner-top {
        padding: 0 8px;
    }

    .message_face {
        gap: 24px;
        border-radius: 32px;
        padding: 24px 36px 24px 24px;
        flex-direction: column;
        align-items: start;
        width: 100%;
        z-index: 5;
    }


    .message_inner-main {
        position: relative;
        border-radius: 32px;
        padding: 8px;
        background: linear-gradient(180deg, #f5f0e3 0%, rgba(245, 240, 227, 0) 100%), url(../image/decor/Union.svg) center center / cover no-repeat;
    }

    .message_main {
        padding: 50px 24px 18px;
        margin: -40px 16px 0;
        font-size: 16px;
        z-index: 1;


    }

    .message_back {
        padding: 50px 24px 18px;
        margin: -40px 32px 0;
        font-size: 16px;
        background: transparent;
        box-shadow: none;
    }

    /**************************************************************************/


    .contacts {
        padding: 24px 0 30px;
        height: 740px;
    }

    .contacts_top {
        margin: 0 8px;
        gap: 24px;
    }

    .contacts_title {
        font-weight: 600;
        font-size: 40px;
        line-height: 130%;
        letter-spacing: -0.02em;
    }


    .contacts_bottom {
        gap: 12px;
        margin: 0 8px;
        width: 100%;
    }

}

@media (max-width:450px) {
    .hero_top-title span::before {
        display: none;
    }

    .works_slider-title {
        max-width: 73vw;
    }


    .service-left {
        background: url(../image/decor/card-design-mb.webp) center center / cover no-repeat;

    }


    .error_back {
        padding: 20px 24px 18px;
        margin: -12px 16px 0;
    }

    .portfolio_hero-top {
        background: url(../image/decor/portfolio-bg-mb.webp) center center / cover no-repeat;
        height: 180vw;
    }

    .potfolio_title {
        font-size: 40px;
        margin-top: 24px;
    }

    .portfolio_card-title {
        max-width: 79vw;
    }


    .article__title,
    .article__excerpt {
        text-align: left;
    }


    .text figcaption {
        font-size: 3vw;
    }

    .text figcaption::after {
        bottom: -50px;
        left: 45%;
        height: 35px;
        width: 35px;
        background: url(../image/icons/Star-tall.svg) center;
    }

    .service_page {
        height: 170vw;
    }

    .stage_list {
        grid-template-columns: 1fr;
    }

    .stage_card-link {
        height: auto;
    }

    .platform_card-img-item {
        height: 37vw;
    }


    .service_archive {
        background: url(../image/decor/service-archive-mb.webp) center center / cover no-repeat;
        height: 1045px;
    }

    .service_archive-inner {
        gap: 10px;

    }


    .contacts {
        background: url(../image/decor/contacts-bg-mb.webp) center center / cover no-repeat;
        height: 180vw;
        border: none;
        box-shadow: none;
    }

    .contacts_top {
        text-align: left;
    }


}