@media (max-width: 1200px) {
    .footer__top {
        grid-template-columns: 1fr;
    }

    .footer__menu-groups {
        grid-template-columns: repeat(2, minmax(160rem, 1fr));
    }

    .footer__badge {
        align-items: flex-start;
    }

    .footer__registry {
        text-align: left;
    }

    .footer__brand {
        justify-content: flex-start;
    }

    .group-page__hero {
        padding: 120rem 0 90rem;
    }

    .group-page__hero-title {
        font-size: 52rem;
    }

    .group-page__posts-row {
        grid-auto-columns: minmax(300rem, 1fr);
        gap: 28rem;
    }

    .napr-hero {
        padding: 120rem 0 90rem;
    }

    .napr-hero__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 48rem;
    }

    .napr-hero__media {
        max-width: 100%;
        width: 100%;
    }

    .napr-section-title {
        font-size: 40rem;
    }

    .napr-services__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16rem;
    }

    .napr-steps__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16rem;
    }

    .napr-guarantee-row {
        padding: 24rem 28rem;
        gap: 20rem 24rem;
        grid-template-columns: minmax(0, 60rem) minmax(0, 240rem) minmax(0, 1fr);
    }

    .napr-guarantee-row__title {
        font-size: 22rem;
    }

    .napr-guarantee-row__text {
        font-size: 16rem;
        line-height: 150%;
    }

    .napr-cooperation__inner {
        gap: 32rem;
    }

    .napr-cooperation__grid {
        justify-content: center;
    }

    .napr-cooperation::before {
        width: 820rem;
        height: 820rem;
    }

    .napr-cooperation::after {
        width: 660rem;
        height: 660rem;
    }
}

@media (max-width: 768px) {
    html{
        font-size: 0.16666666vw;
    }

    .container {
        width: 100%;
        padding: 0 20rem;
    }

    .header {
        padding: 0;
        transform: none;
    }

    .header__container {
        padding: 12rem 20rem;
        border-radius: 0 0 18rem 18rem;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 12rem;
    }

    .header__logo-img {
        width: 112rem;
        height: auto;
    }

    .header__sections {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12rem;
        flex: 1;
        min-width: 0;
    }

    .header__search--inline {
        display: none;
    }

    .header__language {
        font-size: 13rem;
        padding: 0;
        border: none;
        background: transparent;
        color: #2f4858;
        line-height: 1;
    }

    .header__actions {
        display: flex;
        align-items: center;
        gap: 12rem;
    }

    .header__share {
        width: 38rem;
        height: 38rem;
        border-radius: 12rem;
    }

    .header__contact {
        padding: 10rem 18rem;
        border-radius: 16rem;
    }

    .header__contact-text {
        font-size: 12rem;
        white-space: nowrap;
    }

    .header__burger {
        width: 38rem;
        height: 38rem;
        border-radius: 12rem;
        border: 1rem solid rgba(47, 72, 88, 0.16);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .header__burger svg {
        width: 20rem;
        height: auto;
    }

    .header__search--offcanvas {
        display: flex;
        padding: 14rem 18rem;
        border-radius: 16rem;
        border: 1rem solid rgba(255, 255, 255, 0.16);
        background: rgba(255, 255, 255, 0.08);
    }

    .header__search--offcanvas .header__search-label {
        gap: 12rem;
    }

    .header__search--offcanvas .header__search-input {
        color: #ffffff;
    }

    .header__search--offcanvas .header__search-input::placeholder {
        color: rgba(255, 255, 255, 0.6);
    }

    .footer {
        padding: 30rem 0 20rem;
    }

    .footer__inner {
        gap: 24rem;
    }

    .footer__top {
        display: flex;
        flex-direction: column;
        gap: 32rem;
    }

    .footer__contacts-block {
        width: 100%;
        gap: 24rem;
    }

    .footer__contacts-buttons {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 12rem;
    }

    .footer__language {
        font-size: 17rem;
        padding: 10rem 18rem;
        border-radius: 14rem;
        min-width: unset;
        width: auto;
        height: auto;
    }

    .footer__menu-groups {
        display: grid;
        grid-template-columns: 1fr;
        gap: 22rem;
        width: 100%;
    }

    .footer__group-title {
        font-size: 18rem;
    }

    .footer__group-list {
        display: flex;
        flex-direction: column;
        gap: 14rem;
    }

    .footer__group-link,
    .footer__legal,
    .footer__registry,
    .footer__copy {
        font-size: 17rem;
        line-height: 155%;
    }

    .footer__motto {
        font-size: 28rem;
        line-height: 125%;
    }

    .footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 28rem;
        width: 100%;
    }

    .footer__bottom-right,
    .footer__bottom-left {
        width: 100%;
    }

    .footer__legal {
        max-width: 100%;
    }

    .footer__copy {
        text-align: left;
        width: 100%;
    }

    .home-hero {
        position: relative;
        padding: 0;
    }

    .home-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(20, 21, 28, 0.72) 0%, rgba(20, 21, 28, 0.38) 55%, rgba(20, 21, 28, 0.85) 100%);
        z-index: 0;
    }

    .home-hero__container {
        position: relative;
        z-index: 1;
        min-height: 420rem;
        height: auto;
        padding: 120rem 20rem 40rem;
        align-items: flex-start;
        justify-content: flex-end;
        gap: 32rem;
    }

    .home-hero__title {
        width: 100%;
    }

    .home-hero__title h2 {
        width: 100%;
        font-size: 36rem;
        line-height: 120%;
        letter-spacing: -0.5rem;
    }

    .home-line {
        padding: 40rem 0 20rem;
    }

    .home-line__items {
        margin: 12rem 0 48rem;
    }

    .home-line__item {
        padding: 22rem 18rem;
        gap: 18rem;
        align-items: center;
        border-radius: 18rem;
        box-shadow: 0 16rem 40rem rgba(21, 23, 31, 0.12);
        border: none;
    }

    .home-line__item img {
        width: 70rem;
        height: 70rem;
        border-radius: 14rem;
    }

    .home-line__item span {
        font-size: 20rem;
        font-weight: 600;
        color: #1F1F1F;
    }

    .home-deyat {
        padding: 70rem 0 40rem;
    }

    .home-deyat__container > h2 {
        font-size: 36rem;
        margin-bottom: 28rem;
        text-align: left;
    }

    .home-deyat__items.swiper {
        padding: 0;
    }

    .home-deyat__items .swiper-wrapper {
        margin: 0;
    }

    .home-deyat__item {
        flex-direction: column;
        align-items: flex-start;
        padding: 26rem 22rem;
        border-radius: 26rem;
        background: #ffffff;
        box-shadow: 0 20rem 50rem rgba(13, 18, 30, 0.12);
    }

    .home-deyat__item > img {
        width: 100%;
        height: 220rem;
        border-radius: 18rem;
        object-fit: cover;
    }

    .home-deyat__items .home-deyat__info {
        width: 100%;
    }

    .home-deyat__info h3 {
        font-size: 24rem;
        line-height: 120%;
    }

    .home-deyat__info h3 a {
        font-size: 24rem;
    }

    .home-deyat__info p {
        font-size: 18rem;
        line-height: 155%;
    }

    .home-deyat__controll {
        width: 100%;
        justify-content: space-between;
    }

    .home-solution__container {
        padding: 40rem 24rem;
        min-height: auto;
        gap: 20rem;
        border-radius: 32rem;
        background: linear-gradient(145deg, rgba(27, 44, 88, 0.95) 0%, rgba(14, 23, 55, 0.88) 55%, rgba(8, 13, 31, 0.92) 100%);
        position: relative;
        overflow: hidden;
    }

    .home-solution__container img {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        opacity: 0.28;
    }

    .home-solution__container h3,
    .home-solution__container h2 {
        position: relative;
        z-index: 1;
    }

    .home-solution__container h3 {
        font-size: 16rem;
        line-height: 150%;
    }

    .home-solution__container h2 {
        font-size: 30rem;
    }

    .home-solution__items {
        flex-direction: column;
        gap: 16rem;
        max-width: 100%;
        position: relative;
        z-index: 1;
    }

    .home-solution__item {
        width: 100%;
        text-align: center;
        padding: 18rem 24rem;
        border-radius: 16rem;
        background: rgba(255, 255, 255, 0.12);
        color: #fff;
        font-weight: 600;
        letter-spacing: 0.6rem;
    }

    .group-page__hero {
        padding: 110rem 0 80rem;
        text-align: left;
    }

    .group-page__hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(9, 12, 24, 0.82) 0%, rgba(9, 12, 24, 0.74) 45%, rgba(9, 12, 24, 0.92) 100%);
        z-index: 0;
    }

    .group-page__hero-container {
        gap: 32rem;
    }

    .group-page__hero-container,
    .group-page__hero-content,
    .group-page__hero-links {
        position: relative;
        z-index: 1;
    }

    .group-page__hero-title {
        font-size: 38rem;
        line-height: 130%;
    }

    .group-page__hero-subtitle {
        font-size: 30rem;
        line-height: 130%;
        color: rgba(255, 255, 255, 0.86);
        width: 100%;
    }

    .group-page__hero-content > p,
    .group-page__hero-text p {
        font-size: 18rem;
        line-height: 160%;
        color: rgba(255, 255, 255, 0.85);
    }

    .group-page__hero-links {
        flex-direction: column;
        align-items: stretch;
        gap: 12rem;
        max-width: 100%;
    }

    .group-page__hero-link {
        justify-content: center;
        padding: 18rem;
        font-size: 18rem;
        font-weight: 600;
        border-radius: 18rem;
    }

    .group-page__info {
        position: relative;
        margin-top: 0;
        padding: 60rem 0 80rem;
        overflow: hidden;
    }

    .group-page__info::before {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(244, 248, 255, 0.92) 0%, rgba(235, 242, 255, 0.94) 100%);
        z-index: 0;
    }

    .group-page__background {
        opacity: 0.25;
        mix-blend-mode: multiply;
    }

    .group-page__info .container {
        position: relative;
        z-index: 1;
        padding: 0 20rem;
        display: flex;
        flex-direction: column;
        gap: 28rem;
    }

    .group-page__hero-label {
        align-self: flex-start;
        padding: 8rem 14rem;
        border-radius: 12rem;
        background: rgba(33, 65, 124, 0.08);
        color: #21417C;
        font-size: 15rem;
        font-weight: 600;
        letter-spacing: 0.6rem;
    }

    .group-page__hero-subtitle {
        font-size: 28rem;
        line-height: 135%;
        color: #1F2C3D;
    }

    .group-page__info-box {
        display: flex;
        flex-direction: column;
        gap: 24rem;
        padding: 32rem 26rem;
        border-radius: 28rem;
        background: rgba(255, 255, 255, 0.96);
        box-shadow: 0 24rem 60rem rgba(17, 32, 58, 0.12);
        backdrop-filter: blur(8rem);
    }

    .group-page__hero-text,
    .group-page__info-content {
        display: flex;
        flex-direction: column;
        gap: 18rem;
    }

    .group-page__hero-text p,
    .group-page__info-content p {
        margin: 0;
        font-size: 18rem;
        line-height: 160%;
        color: #2F4858;
    }

    .group-page__info-content p {
        padding: 22rem 24rem;
        border-radius: 22rem;
        border: 1rem solid rgba(33, 65, 124, 0.18);
        background: rgba(255, 255, 255, 0.92);
        box-shadow: 0 12rem 30rem rgba(17, 32, 58, 0.08);
    }

    .group-page__info-content p + p {
        margin-top: 8rem;
    }

    .group-page__posts {
        padding: 70rem 0 90rem;
    }

    .group-page__posts-grid {
        gap: 28rem;
    }

    .group-page__posts-row {
        grid-template-columns: 1fr;
        gap: 24rem;
        justify-content: stretch;
    }

    .group-page-card__body {
        padding: 28rem 26rem 32rem;
        gap: 22rem;
    }

    .group-page-card__media img {
        height: 200rem;
    }

    .group-page-card__cta {
        font-size: 16rem;
    }

    .napr-hero {
        position: relative;
        padding: 100rem 0 80rem;
    }

    .napr-hero::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(10, 14, 28, 0.86) 0%, rgba(10, 14, 28, 0.76) 55%, rgba(10, 14, 28, 0.88) 100%);
        z-index: 0;
    }

    .napr-hero__container {
        position: relative;
        z-index: 1;
    }

    .napr-hero__title {
        font-size: 40rem;
        line-height: 125%;
    }

    .napr-hero__label {
        font-size: 16rem;
        padding: 12rem 22rem;
    }

    .napr-hero__text {
        font-size: 18rem;
        line-height: 160%;
        color: rgba(255, 255, 255, 0.82);
    }

    .napr-line {
        padding: 12rem 0;
        overflow: hidden;
    }

    .napr-line__viewport {
        padding: 0 12rem;
    }

    .napr-line__track {
        --napr-line-duration: 48s;
    }

    .napr-line__label {
        font-size: 16rem;
    }

    .napr-section-header {
        margin-bottom: 32rem;
    }

    .napr-section-title {
        font-size: 34rem;
    }

    .napr-section-subtitle,
    .napr-section-note {
        font-size: 16rem;
    }

    .napr-services {
        padding-top: 70rem;
    }

    .napr-services,
    .napr-steps,
    .napr-guarantee,
    .napr-cooperation {
        padding: 80rem 0;
    }

    .napr-services__grid,
    .napr-steps__grid,
    .napr-cooperation__grid {
        grid-template-columns: 1fr;
        gap: 24rem;
    }

    .napr-service-card__link {
        padding: 26rem 24rem;
        gap: 18rem;
        border-radius: 26rem;
    }

    .napr-step-card {
        padding: 32rem 26rem 80rem;
        min-height: auto;
    }

    .napr-step-card__title {
        font-size: 24rem;
    }

    .napr-step-card__text {
        font-size: 17rem;
        line-height: 150%;
    }

    .napr-step-card__number {
        left: 20rem;
        bottom: -26rem;
        font-size: 120rem;
    }

    .napr-guarantee-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16rem;
        padding: 20rem;
        border-radius: 26rem;
        background: #ffffff;
        box-shadow: 0 20rem 40rem rgba(14, 22, 36, 0.08);
    }

    .napr-guarantee-row__number {
        min-width: auto;
        font-size: 20rem;
    }

    .napr-guarantee-row__title {
        flex: none;
        font-size: 20rem;
        width: 100%;
    }

    .napr-guarantee-row__text {
        width: 100%;
        font-size: 15rem;
        line-height: 150%;
    }

    .napr-guarantee-row__text p {
        font-size: 17rem;
        line-height: 155%;
    }

    .napr-cooperation {
        padding: 60rem 0;
    }

    .napr-cooperation::before {
        width: 620rem;
        height: 620rem;
    }

    .napr-cooperation::after {
        width: 520rem;
        height: 520rem;
        top: 54%;
    }

    .napr-cooperation__heading {
        font-size: 18rem;
    }

    .napr-cooperation__grid {
        flex-direction: column;
    }

    .napr-cooperation-card {
        max-width: 100%;
        padding: 26rem;
        border-radius: 26rem;
        background: rgba(255, 255, 255, 0.9);
        backdrop-filter: blur(8rem);
        flex: 1 1 auto;
    }
}
