@media screen and (max-width: 1949.9px) {
    html { font-size: 11px }
}

@media screen and (max-width: 1799.9px) {
    html { font-size: 9px }
}

@media screen and (max-width: 1499.9px) {
    html { font-size: 8.5px }
}

@media screen and (max-width: 1399.9px) {
    html { font-size: 6.6px }
}

@media screen and (max-width: 1199.9px) {
    html { font-size: 6.08px }
}

@media screen and (max-width: 767.9px) {
    html { font-size: 10px }
}

@media screen and (max-width: 373.9px) {
    html { font-size: 8px }
}

/* Header & Mobile Menu */
@media screen and (max-width: 767.9px) {
    .header { width: 100vw; padding: 0 }
    .header__wrap { overflow-y: auto }
    .header__wrap .header__nav { display: none }
    .header__logo img { width: 12rem }
    .header__nav { margin-bottom: auto; position: relative; z-index: 1 }
    .header__nav-list { display: block; margin-right: 0; margin-bottom: auto }
    .header__nav-item { font-size: 3rem; line-height: 3.6rem }
    .header__nav-item:not(:last-child) { margin-right: 0; margin-bottom: 2rem }
    .header__acc { margin-right: 2.5rem }
    .header__menu-contacts { padding: 3rem 0 }
    .header__github { display: none }
    .header__logo .logo-placeholder { width: 12rem }
}

@media screen and (max-width: 767.9px) {
    main { padding-top: 10.5rem }
}

/* Layout helpers */
@media screen and (max-width: 991.9px) {
    .--narrow { padding-left: 7rem; padding-right: 7rem }
}

@media screen and (max-width: 767.9px) {
    .--narrow { padding: 0 1.6rem }
}

/* Typography */
@media screen and (max-width: 767.9px) {
    .heading-primary { font-size: 6rem; line-height: 7.2rem }
    .heading-secondary { font-size: 3rem; line-height: 3.6rem }
    .heading-tertiary { font-size: 2.4rem; line-height: 2.8rem }
}

/* Visibility */
@media screen and (min-width: 768px) {
    .hidden-mobile { display: block }
}

@media screen and (max-width: 767.9px) {
    .hidden-desktop { display: block }
}

/* Footer */
@media screen and (max-width: 767.9px) {
    .footer { padding: 4rem 0 3rem }
    .footer__top { grid-template-columns: 100%; grid-gap: 3rem }
    .footer__top:not(:last-child) { margin-bottom: 4rem }
    .footer__logo { grid-column: auto }
    .footer__sub { grid-column: auto; margin-bottom: 1rem }
    .footer__nav { grid-column: auto }
    .footer__contacts { grid-column: auto }
    .footer__contacts-item { display: flex; align-items: center }
    .footer__contacts-item:not(:last-child) { margin-bottom: 2rem }
    .footer__contacts-subtitle { margin-bottom: 0; margin-right: 1rem }
    .footer__bottom { padding-top: 4rem; grid-template-columns: repeat(2, .5fr); grid-gap: 4rem 1rem }
}

/* Main Start */
@media screen and (max-width: 767.9px) {
    .main-start { padding: 6.4rem 0 5rem }
    .main-start__anim { width: 33.6rem; height: 17.6rem; position: absolute; top: -1rem; left: 5rem }
    .main-start__anim img:first-child { width: 26.3rem; height: 15.3rem }
    .main-start__anim img:nth-child(2) { width: 18.9rem; height: 11.3rem }
    .main-start__anim img:nth-child(3) { width: 16.4rem; height: 9.6rem }
    .main-start__anim.active img:first-child { top: 2.3rem }
    .main-start__anim.active img:nth-child(3) { top: 6.4rem; right: 6.5rem }
    .main-start__wrap { grid-template-columns: 100%; grid-gap: 0; margin-bottom: -3rem }
    .main-start__wrap .icon-bg { display: none; width: 100%; top: 1rem; right: 0; left: auto }
    .main-start__text .heading-secondary { margin-bottom: 3rem }
    .main-start__descr { font-size: 1.67rem; line-height: 2.4rem }
    .main-start__img { max-width: 45rem; margin: -3rem auto 0 }
    .main-start__slider-item { width: 28rem; padding: 2rem; border-radius: 20px }
    .main-start__slider-name { font-size: 1.6rem; line-height: 2.4rem }
}

@media screen and (max-width: 991.9px) {
    .main-start__wrap { grid-template-columns: 56.6rem auto; grid-gap: 5rem }
}

/* Main Introduction */
@media screen and (max-width: 767.9px) {
    .main-introduction { padding: 5rem 0 }
    .main-introduction__wrap .icon-bg { width: 100%; left: -1.6rem; top: -4rem }
    .main-introduction__wrap .sub-h2 { font-size: 2rem }
    .main-introduction__wrap { display: block; margin-bottom: 10rem }
    .main-introduction__wrap.--narrow { padding: 0 }
    .main-introduction__wrap .heading-secondary { margin-bottom: 2rem }
    .main-introduction__text { font-size: 1.6rem; line-height: 2.4rem }
    .main-introduction__info { padding-left: 0 }
    .main-introduction__info-btn { flex: 1; padding: 1rem; text-align: center; font-size: 3rem; line-height: 3.6rem; border-radius: 20px 20px 0 0 }
    .main-introduction__tab:first-child { padding-bottom: 22rem }
    .main-introduction__tab:first-child .main-introduction__tab-descr { max-width: none }
    .main-introduction__tab:first-child .main-introduction__tab-img { width: 43rem; right: -10rem; bottom: -9rem }
    .main-introduction__tab:nth-child(2) { padding-bottom: 8rem }
    .main-introduction__tab:nth-child(2) -img { width: 43.7rem; right: -22rem; bottom: -15rem }
    .main-introduction__tab { min-height: auto; padding: 2rem 1.6rem }
    .main-introduction__tab-descr { font-size: 1.6rem; line-height: 2.4rem }
}

@media screen and (max-width: 991.9px) {
    .main-introduction__tab:nth-child(2) -img { right: -59rem; bottom: -39rem }
    .main-introduction__tab { padding: 6rem 9rem }
    .main-introduction__tab-descr { font-size: 1.6rem; line-height: 2.4rem }
}

/* Main Info */
@media screen and (max-width: 767.9px) {
    .main-info { padding: 0 0 5rem }
    .main-info.--other { padding-bottom: 10rem }
    .main-info.--other .main-info__item:nth-child(2) .icon-bg { width: 100%; left: 0; top: 1rem }
    .main-info.--other .main-info__item:nth-child(4) .icon-bg { width: 100%; left: 0; bottom: -7rem }
    .main-info__item { display: block; padding-top: 5rem }
    .main-info__item:not(:last-child) { margin-bottom: 5rem }
    .main-info__item .icon-bg { width: 100%; left: 1.1rem; top: -3.8rem }
    .main-info__item .heading-secondary { max-width: none; margin-bottom: 2rem }
    .main-info__descr { font-size: 1.6rem; line-height: 2.4rem }
}

@media screen and (max-width: 991.9px) {
    .main-info.--other .main-info__item:nth-child(4) .icon-bg { right: 0 }
}

/* Main Messages */
@media screen and (max-width: 767.9px) {
    .main-messages { padding: 5rem 0 }
    .main-messages .heading-secondary { margin-bottom: 2rem }
    .main-messages__wrap { display: block }
    .main-messages__wrap .icon-bg { width: 100%; left: 0; bottom: -4.8rem }
    .main-messages__descr { font-size: 1.6rem; line-height: 2.4rem }
    .main-messages__descr:first-child { margin-bottom: 2rem }
}

@media screen and (max-width: 991.9px) {
    .main-messages__wrap .icon-bg { right: 5rem }
}

/* Main Inspecting */
@media screen and (max-width: 767.9px) {
    .main-inspecting { padding: 5rem 0 }
    .main-inspecting__wrap { grid-template-columns: 100%; grid-gap: 3rem }
    .main-inspecting__text .heading-secondary { margin-bottom: 2rem }
    .main-inspecting__descr { font-size: 1.6rem; line-height: 2.4rem }
    .main-inspecting__list { grid-template-columns: 100%; grid-gap: 1.6rem }
    .main-inspecting__item { min-height: 34.5rem }
    .main-inspecting__name { font-size: 1.6rem; line-height: 2.4rem }
    .client__page__sidebar-left, .client__page__sidebar-right { display: none; }
    .client__page-bg { top: -6rem; }
    .container { padding: 0 1.6rem; }
    .client__wrap { flex-direction: column; }
    .client__page { max-width: 100%; }
}

@media screen and (max-width: 991.9px) {
    .main-inspecting__wrap { grid-template-columns: 40% auto; grid-gap: 5rem }
}

/* Swiper logic */
@media (max-width: 768px) {
    .swiper-slide { width: 308px !important; margin-right: 10px; }
}

@media (min-width: 1920px) {
    .swiper-slide { width: 445px !important; }
}

@media (hover: none) and (pointer: coarse) {
    .main-start__slider { -webkit-overflow-scrolling: touch; }
}

/* Pricing Grid */
@media (max-width:980px) {
    .aethernet-wrapper .grid { grid-template-columns: 1fr; }
}