@media (max-width: 768px) {

    .desktop-hidden {
        display: block;
    }

    a:not(.nounderscore)::after {
        display: none;
    }

    .desktop-br {
        display: none;
    }

    .cookie-banner {
        bottom: 16px;
    }

    .cookie-banner-card {
        flex-direction: column;
        gap: 16px;
        padding: 20px;
        text-align: center;
    }

    .cookie-banner-text {
        font-size: 14px;
        max-width: none;
    }

    .cookie-banner-btn {
        width: 100%;
    }

    .container {
        padding: 0;
        width: 100%;
    }


    .services-page {
        margin-bottom: 84px;
    }

    .header {
        padding: 23px 0 51px;
        background-color: #081B35;
    }

    .breadcrumbs {
        display: none;
    }

    /* Header */
    .header-content {
        flex-wrap: wrap;
    }

    .header-content>.hero-text {
        display: block;
        padding: 0px 13px;
        margin-top: 10px;
        text-align: center;
    }

    .header-content>.hero-text .hero-title {
        margin: 0;
    }


    .hero-content>.hero-text {
        display: none;
    }


    .header-left {
        flex-direction: column;
        gap: 10px;
        width: 100%;
        margin-right: 0;
    }

    .header-right {
        position: absolute;
        top: 43px;
        right: 32px;
        gap: 15px;

    }

    .page-header {
        height: 341px;
    }

    .page-title {
        font-weight: 500;
        font-size: 43px;
        line-height: 48px;
        color: #070A0F;
        margin-top: 70px;
        margin-bottom: 54px;
        text-align: center;
        hyphens: auto;
        -webkit-hyphens: auto;
        -ms-hyphens: auto;
        -webkit-text-size-adjust: 100%;

    }

    .logo {
        margin: auto;
    }

    .header-tagline {
        font-size: 17px;
        font-weight: 500;
        line-height: 25px;
        padding-top: 0;
        text-align: center;
        width: 100%;
        margin-top: 5px;
    }

    .header-tagline__first-row {
        width: 100%;
    }


    .btn-outline {
        min-width: auto;
        width: 335px;
        height: 80px;
        margin: 18px auto 0;
        order: 3;
        font-size: 20px;
        font-weight: 500;
        border-color: var(--color-white);
    }

    .btn-short {
        width: 85%;
    }



    .header-contact {
        display: none;
    }

    .social-icons {
        display: none;
    }

    .social-link {
        width: 44px;
        height: 44px;
    }

    .menu-btn {
        width: 55px;
        height: 55px;
    }

    /* Hero */
    .hero {
        min-height: auto;
        padding-bottom: 0px;
    }

    .hero>.container {
        display: none;
    }

    .hero-content {
        flex-direction: column;
        padding-top: 40px;
    }

    .hero-text {
        padding-left: 0;
    }

    .hero-decorator {
        display: none;
    }

    .hero-title {
        font-size: 43px;
        line-height: 48px;
    }

    .hero-title-accent {
        font-size: 33px;
        line-height: 89px;
        display: block;
        margin-top: -20px;
        font-weight: 500;
    }

    .hero-subtitle {
        font-size: 22px;
        line-height: 30px;
        margin-top: -10px;
        font-weight: 400;
    }

    .hero-image {
        position: relative;
        right: 0;
        width: 100%;
        height: 408px;
        background-size: 1078px 602px;
        background-position: -78px -181px;
        background-repeat: no-repeat;
        top: 0px;
    }

    .services {
        margin-bottom: 101px;
    }

    /* Services */
    .services-header {
        flex-direction: column;
        gap: 30px;
        margin-bottom: 51px;
    }

    .services-years {
        width: 100%;
        height: 334px;
        display: flex;
        flex-direction: column;
        justify-content: start;
    }

    .services-header>.services-title {
        display: none;
    }

    .services-years>.services-title {
        display: block;
        padding-top: 0;
        z-index: 11;
        font-weight: 500;
        font-size: 32px;
        line-height: 40px;
        text-align: center;
        margin-top:29px;
    }

    .services-years-number {
        font-size: 60px;
        line-height: 40px;
        z-index: 11;
        margin-top: 75px;
    }

    .services-years-image {
        position: absolute;
        right: 0;
        top: -35px;
        width: 279px;
        height: 369px;
        z-index: 10;
        background-image: url("../images/Vector-mobile.png");
    }



    .services-grid {
        gap: 22px;
        margin-bottom: 0;
        padding-left:33px;
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .services-grid::-webkit-scrollbar {
        display: none;
    }

    .services-slider {
        overflow: hidden;
    }

    .services-grid .service-card:nth-child(3) {
        margin-left: 0;
    }

    .services-grid .service-card:nth-child(4) {
        margin-left: 0;
        align-self: auto;
        margin-bottom: 0;
    }

    .service-card:first-child .service-image,
    .service-card:not(:first-child) .service-image {
        width: 335px;
        height: 370px;
    }

    .service-content {
        padding: 38px 0px 0 45px;
        height: 190px;
        min-height: auto;
    }



    .service-title {
        font-weight: 500;
        font-size: 26px;
        line-height: 36px;
    }

    /* Hide services nav buttons on mobile */
    .services-nav {
        display: none;
    }

    /* Contact */
    .contact {
        margin-bottom: 59px;
    }

    .contact-wrapper {
        flex-direction: column;
    }

    .contact-left {
        width: 100%;
        padding: 66px 0 0;
        text-align: center;
    }

    .contact-title {
        font-size: 32px;
        line-height: 40px;
        font-weight: 500;
        margin-bottom: 14px;
    }

    .contact-text {
        font-size: 22px;
        line-height: 30px;
        margin-bottom: 38px;
    }

    .contact-info {
        margin-bottom: 37px;

    }

    .contact-phone,
    .contact-email {
        font-size: 26px;
        line-height: 27px;
        margin-bottom: 6px;
    }



    .contact-left .btn {
        width: 335px;
        min-width: auto;
        height: 80px;
        font-size: 22px;
        border-color: #00214E;
        color: #00214E;
        margin: 0 auto;
    }

    .contact-left .btn:hover {
        color: #FFF;

    }

    .contact-socials {
        position: static;
        left: auto;
        bottom: auto;
        flex-direction: row;
        gap: 15px;
        margin: 40px auto 82px;
        justify-content: center;
    }

    .contact-social {
        width: 70px;
        height: 70px;
    }

    .contact-image {
        flex: none;
        width: 100%;
        height: 567px;
        margin: 0;
    }

    .contact-image .img {
        background-image: url("../images/contact-photo-mobile.png");
        width: 100%;
        height: 100%;
        display: block;
        transform: none;
        background-size: 100%;
        background-position: 0px;

    }

    /* Features */
    .features-title {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 53px;
        text-align: center;
    }

    .features-grid {
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
        padding: 0 20px;
        align-items: center;
    }

    .feature-card {
        width: 335px;
        height: 324px;
        min-height: 250px;
        padding: 51px 50px 54px;
    }

    .feature-card-2 {
        height: 400px;
    }

    .feature-card-3 {
        height: 373px;
    }

    .feature-card-1::before {
        background-image: url("../images/sheet.svg");
    }

    .feature-card-2::before {
        background-image: url("../images/sheet_2.svg");
    }

    .feature-card-3::before {
        background-image: url("../images/sheet_3.svg");
    }

    .feature-card::before {
        position: absolute;
        width: 115%;
        height: 120%;
        top: -29px;
        left: -26px;
        background-size: 100%;
        background-position: center;
    }

    .feature-icon {
        top: 51px;
        left: 50px;
    }

    .feature-title {
        font-size: 26px;
        line-height: 36px;
    }

    .features-cta {
        margin-top: 0px;
        padding: 0;
        background: #fff;
    }

    .features-cta .container {
        background: #0A192D;
        margin-top: 85px;

    }

    .features-cta-content {
        align-items: center;
        padding: 0 35px;
        text-align: center;
    }

    .features-cta-bg {
        display: none;
    }

    .features-cta-top {
        flex-direction: column;
        gap: 25px;
        margin-top: 40px;
    }

    .features-cta-left {
        max-width: 100%;
    }

    .features-cta-title {
        font-size: 32px;
        line-height: 40px;
        font-family: Montserrat, sans-serif;
        font-weight: 600;
    }

    .features-cta-right {
        font-size: 22px;
        line-height: 33px;
        font-family: Montserrat, sans-serif;
        font-weight: 500;
    }

    .features-cta-text {
        display: none;
    }

    .features-cta-text-mobile {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        color: var(--color-gray-text-2);
        margin-bottom: 91px;
        display: block;
        font-size: 22px;
        line-height: 33px;
        margin-bottom: 0;
    }

    .features-cta-text-mobile span {
        color: var(--color-white);
        font-weight: 600;
    }

    .feature-cta-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
        margin-top: 42px;
        width: 100%;
        text-align: left;
    }

    .features-cta-list {
        flex-direction: column;
        gap: 15px;
    }



    .btn-features {
        font-size: 22px;
        line-height: 36px;
        height: 80px;
        width: 335px;
        border-radius: 2px;
        border: 1px solid #fff;
        margin: 64px auto 107px;

    }

    .btn-primary {
        font-weight: 500;
        font-size: 22px;
        line-height: 36px;
        width: 85%;
        min-width: 0;
        height: 80px;
    }



    /* Partners */
    .partners {
        padding: 0;
        text-align: center;
    }

    .partners-view {
        overflow-x: scroll;
        overflow-y: none;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

    .partners-slider {
        width: auto;
        padding-left: 34px;
    }

    .partners-title,
    .title {
        font-size: 32px;
        line-height: 65px;
        font-weight: 500;
    }

    .service-page-title {
        font-weight: 500;
        font-size: 43px;
        line-height: 48px;
        text-align: center;
        width: 100%;

    }

    .title {
        text-align: center;
    }

    .partners-title {
        margin-bottom: 19px;
        margin-top: 52px;
    }

    .partners-row {
        justify-content: start;
        gap: 47px;

    }

 

    /* Projects */
    .projects {
        padding: 0;
        margin-top: 58px;
        text-align: center;
    }

    .projects-title {
        font-size: 32px;
        line-height: 40px;
        margin: 0 auto 24px;
        width: 254px;

    }

    .projects-content {
        flex-direction: column;
    }

    .projects-left {
        width: 100%;
    }

    .projects-image {
        position: relative;
        width: 100%;
        height: 493px;

    }

    .projects-image .service-image-overlay {
        height: 381px;
    }

    .projects-image>.back {
        width: 50%;
        height: 100%;
        float: right;
        display: block;
        background: #F2F4F6;

    }

    .projects-image-cont {
        height: 381px;
        width: 100%;
        margin-top: 53px;
        overflow: hidden;
        position: absolute;
    }

    .projects-image .img {
        background-image: url("../images/project-photo-mobile.png");
        height: 381px;
        width: 100%;

    }


    .projects-info {
        margin-top: 0;
        height: auto;
    }

    .projects-card {
        position: static;
        width: 100%;
        padding: 36px 36px;
        height: auto;
    }

    .projects-card-title {
        font-size: 26px;
        line-height: 36px;
        text-align: left;
        margin-bottom: 15px;
    }

    .projects-card-text {
        font-size: 22px;
        line-height: 36px;
        text-align: left;
    }

    .projects-nav {
        display: none;
    }

    .projects-nav-mobile {
        display: flex;
        gap: 21px;
        margin: 44px auto 0;
    }

    /* Visit */
    .visit {
        padding: 0;
        margin-top: 102px;
        margin-bottom: 124px;
    }

    .visit-card {
        width: 100%;
        flex-direction: column;
        padding: 0;
        align-items: center;
    }

    .visit-title {
        font-size: 32px;
        line-height: 40px;
        text-align: center;
        margin-bottom: 13px;
    }

    .visit-text {
        font-size: 22px;
        line-height: 30px;
        text-align: center;
        width: 312px;

    }

    .visit-logo {
        position: static;
        width: 115px;
        margin: 52px 0 0;
        order: 0;
    }

    .visit-content {
        order: 1;
        margin-top: 29px;
    }

    .visit-right {
        order: 2;
        width: 100%;
        align-items: flex-start;
        margin: 46px 0 90px;
    }

    .visit-right .btn {
        position: static;
        width: 335px;
        min-width: auto;
        height: 80px;
        font-size: 22px;
        margin: auto;
    }

    /* Footer */
    .footer {
        padding: 0;
    }

    .footer>.container {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .footer-content {
        order: 2;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .mgt-20 {
        margin-top: 20px;
    }

    .mgt-31 {
        margin-top: 31px;
    }

    .mgb-25 {
        margin-bottom: 25px;

    }

    /* Порядок колонок по Figma (mobile): услуги → навигация → контакты */
    .footer-content .footer-col:nth-child(1) {
        order: 2;
    }

    .footer-content .footer-col:nth-child(2) {
        order: 1;
    }

    .footer-content .footer-col:nth-child(3) {
        order: 3;
    }

    /* Figma (mobile): логотип и копирайт — сверху, юр. ссылки и «сделано» — снизу */
    .footer-bottom {
        display: contents;
    }

    .footer-bg {
        background-image: url("../images/footer-texture-mobile.png");
    }

    .footer-bottom-left {
        order: 1;
        align-self: stretch;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }

    .footer-bottom-center {
        order: 3;
        align-self: stretch;
        flex-direction: column;
        gap: 0;
    }

    .footer-bottom-right {
        order: 4;
        align-self: stretch;
        display: flex;
        flex-direction: column;
        gap: 0;
        margin-bottom: 64px;
    }

    .footer-logo {
        width: 101px;
        margin-top: 54px;
        margin-bottom: 23px;
    }

    .footer-copyright-mobile {
        padding-top: 0;
        text-align: center;
        font-size: 16px;
        line-height: 27px;
        margin-bottom: 38px;
        font-weight: 400;
        color: var(--color-gray-text);
        display: block;
        text-align: center;
    }

    .footer-link {
        font-size: 19px;
        line-height: 40px;
        font-weight: 500;
        border: none;
    }

    .footer-services .footer-link {
        line-height: 27px;
        margin-bottom: 13px
    }

    .footer-phone {
        font-size: 27px;
    }

    .footer-work-time {
        margin-bottom: 31px;
    }

    .footer .social-link {
        width: 55px;
        height: 55px;
        border-color: var(--color-dark-bg);
        border-radius: 2px;
    }



    .footer-bottom-center .footer-link {
        font-size: 17px;
        line-height: 58px;
        font-weight: 400;
        font-family: 'Geologica', sans-serif;
        color: var(--color-gray-text-2);
    }

    .footer-bottom-center .footer-link:first-child {
        margin-bottom: -25px;
    }

    .footer-made {
        font-size: 17px;
        line-height: 58px;
    }

    .footer-made-link {
        font-size: 22px;
        line-height: 58px;
        margin-top: -30px;
    }

    /* Mobile menu */
    .mobile-menu {
        height: 100vh;
    }

    .mobile-menu-close {
        right: 33px;
        top: 44px;
        width: 27px;
        height: 27px;
    }

    .mobile-menu-list {
        padding: 46px 52px;
    }

    .mobile-menu-list a {
        font-size: 24px;
        line-height: 55px;
    }

    .mobile-menu-services-list {
        position: static;

    }

    .mobile-menu-services-list li {
        margin-bottom: 12px;
    }

    .mobile-menu-services-list a {
        font-size: 20px;
        line-height: 28px;
        font-weight: 500;
    }

    .menu-link-clickable::after {
        display: none;
    }

    .footer-link:hover {
        border: none;
    }

    .footer-copyright {
        display: none;
    }



    .footer .container {
        width: 294px;

    }

    .modal-form {
        width: 100%;
    }

    .modal-form-group,
    .modal-form-checkbox {
        width: 85%;
        max-width: 360px;
        margin-bottom: 16px;
    }

    .modal-form-content {
        width: 100%;
    }

    .modal-form-subtitle {
        width: 100%;
        max-width: 334px;
        margin-top: 7px;
        font-size: 19px;
        line-height: 27px;
        ;
    }

    .modal-form-label {
        font-size: 17px;
        margin-bottom: 13px;
    }


    #request-form {
        width: 400px;
    }

    .modal-close {
        right: 19px;
        top: 23px;
        width: 40px;
        height: 40px;
    }

    .lh-36 {
        line-height: 36px !important;
    }

    .services-feature-card {
        display: none;
    }

    .services-page-grid {
        row-gap: 50px;
    }

    .services-page-card .service-content {
        height: auto;
        color: #070A0F;
        padding: 38px 42px 44px 45px;
    }

    .services-page-card .service-title {
        font-size: 26px;
        line-height: 36px;
        font-weight: 500;
    }

    .service-image {
        height: 450px;
    }

    .services-page-card {
        width: 84%;
        height: 640px;
    }

    .contacts-page {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 80px;
        margin-bottom: 0;
    }

    .contacts {
        width: 100%;
        padding: 0 17%;

    }



    .contacts-map {
        height: 700px;
        width: 100%;
        background-image: url(../images/map-mobile.png);
        display: flex;
        justify-content: end;
        flex-direction: column;
        align-items: center;
    }

    .contacts-map .btn {
        margin-bottom: 62px;
    }

    .contacts-map .btn:hover {
        background-color: #081B35;
    }

    .service-page-top {
        height: 609px;
        justify-content: center;
    }

    .service-page-text {
        position: relative;
        display: block;
        width: 90%;
        margin: auto;
    }

    .service-page-text .btn {
        display: none;
    }

    .service-page-text-list {
        width: 85%;
    }

    .service-page-price {
        color: var(--color-blue-accent);
        font-size: 32px;
        line-height: 36px;
        font-weight: 500;
        margin-top: 14px;
        text-align: center;
    }

    .service-page-main-content {
        margin-top: 80px;
    }

    .illustration1 {
        background-image: url(../images/service-page-1-illustration-mobile.svg);
    }


    .illustration2 {
        background-image: url(../images/service-page-2-illustration-mobile.svg);
    }

    .illustration3 {
        background-image: url(../images/service-page-3-illustration-mobile.svg);
    }

    .illustration4 {
        background-image: url(../images/service-page-4-illustration-mobile.svg);
    }

    .illustration5 {
        background-image: url(../images/service-page-5-illustration-mobile.svg);
        right: 0;
    }

    .illustration6 {
        background-image: url(../images/service-page-6-illustration-mobile.svg);
    }

    .illustration7 {
        background-image: url(../images/service-page-7-illustration-mobile.svg);
    }

    .illustration {
        width: 100%;
        height: 357px;
    }


    .slider-image {
        height: 500px;

    }



    .slider-image img {
        object-fit: cover;
        height: 500px;
    }

    .slider-controls {
        display: flex;
        justify-content: center;
        gap: 20px;
        margin-top: 41px;
        position: relative;
    }

    .service-page-content {
        width: calc(85% - 42px);
        margin: 53px auto;
    }

    .service-page-text {
        margin: 0;
    }

    .service-page-main-content {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .other-services {
        margin-top: 64px;
    }

    .service-page-breadcrumbs {
        display: none;
    }

    .leap-right {
        margin: 0;
    }

    .slider .nav-btn {
        border: 1px solid var(--color-gray-text-3);
    }

    .slider .service-image-overlay {
        display: none;
    }

    .row {
        flex-direction: column;
        align-items: center;
        margin: 59px auto;
        gap: 65px;
    }

    .col {
        order: 1;
    }

    .col-823 {
        order: 2;
        padding: 0 10%;
        margin-top: 51px;

    }

    .col-823,
    .about-image {
        width: 100%;
    }


    .heading {
        margin-bottom: 30px
    }

    .pd-10 {
        padding: 0 10%
    }

    .gap-99 {
        gap: 0;
    }

    .text-404 {
        order: 1;
        gap: 0;
    }

    .image-404 {
        order: 2;
        height: 586px;
    }

    .title-404 {
        font-weight: 500;
        font-size: 130px;
        line-height: 135px;
        text-align: center;
        ;
        margin-bottom: 15px;
        margin-top: 100px;
    }

    .container-404 {
        flex-direction: column;
        height: auto;
        gap: 49px;
    }

    .content-404 {
        font-weight: 400;
        font-size: 32px;
        line-height: 40px;
        text-align: center;
        width: 100%;
        margin-bottom: 62px;

    }

    .col-flex {
        align-items: center;
    }

    .politics-container {
        width: 85%;
    }

    .modal-form-checkbox input[type="checkbox"] {
        width: 18px;
        margin-top: 0;
    }
}