/*
Theme Name: Networks Engineering Theme
Description: Кастомная тема для сайта Networks Engineering
Author: Ваше имя
Version: 1.0
License: GPL v2 or later
Text Domain: anime-theme
*/

/* Подключение шрифтов */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600&family=Roboto:wght@400&family=Inter:wght@600&display=swap');


/* Сброс стилей */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(77, 77, 79, 1);
    background-color: rgba(255, 255, 255, 1);
    overflow-x: hidden;
}

/* Контейнер для шапки */
.container-1400 {
    max-width: 1400px;
    margin: 0 auto;
}

/* Контейнер для основного контента */
.container-1160 {
    max-width: 1160px;
    margin: 0 auto;
}

.container-main-1160 {
    max-width: 1160px;
        margin: 260px auto;
}

.container-contact-1160 {
    max-width: 1160px;
    margin: 110px auto;
}

/* Главная секция с фоновым изображением на всю ширину */
.main-section {
    background: 
    linear-gradient(270deg, rgba(3, 17, 32, 0) 7%, rgba(3, 17, 32, 0.80) 100%),
    url('assets/images/главная-секция.jpg') center 50.4%/cover no-repeat;
    width: 100%;
    opacity: 0.93;
    height: 657px;
    padding: 40px 0;
}

.main-section h1 {
    margin-bottom: 20px;
    max-width: 80%;
    color: rgba(235, 235, 235, 1);
    line-height: 1;
}

.main-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    margin: 0;
    max-width: 40%;
    color: rgba(255, 255, 255, 1);
    line-height: 1;
}

/* Стили для шапки */
.header {
    height: 106px;
    padding: 12px 30px;
    display: flex;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Фиксированная шапка при прокрутке */
.header-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
    height: 70px;
    padding: 10px 30px;
}

/* Уменьшенный логотип в фиксированной шапке */
.header-fixed .logo-image {
    transform: scale(0.67);
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Убираем margin-top у логотипа в фиксированной шапке */
.header-fixed .logo-block {
    margin-top: 0;
}

/* Скрытие верхней части с контактами */
.contact-info-hidden {
    opacity: 0;
    height: 0;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.container-1400 {
    display: flex;
    width: 100%;
}

/* Блок с логотипом - высокий, занимает оба уровня */
.logo-block {
    display: flex;
    align-items: center;
    margin-right: 56px;
    margin-top: 25px;
}

.logo {
    height: 48px;
    width: 78px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Скрытие/показ логотипов для разных разрешений */
.logo-desktop {
    display: block;
}

.logo-mobile {
    display: none;
}

/* Правая часть с контактами и навигацией */
.right-section {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
}

/* Блок с контактной информацией - вверху справа */
.contact-info {
    display: flex;
    gap: 36px;
    justify-content: flex-end;
    align-items: flex-start;
    padding-right: 15px;
}

.phone, .email {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: rgba(77, 77, 79, 1);
}

/* Блок с навигацией и кнопкой - внизу справа */
.navigation-block {
    display: flex;
    align-items: center;
}

.navigation {
    flex-grow: 1;
}

.nav-list {
    display: flex;
    list-style: none;
    gap: 15px;
}

.nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nav-link {
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: rgba(77, 77, 79, 1);
}

.nav-arrow {
    width: 12px;
    height: 6px;
    filter: brightness(0) saturate(100%) invert(67%) sepia(11%) saturate(1234%) hue-rotate(45deg) brightness(94%) contrast(89%);
}

.contact-btn {
    width: 131px;
    height: 43px;
    background-color: rgba(148, 182, 56, 1);
    border: none;
    border-radius: 5px;
    color: rgba(255, 255, 255, 1);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Стили для основного контента */
main {
    padding: 0;
}


/* Секция 1 */
.section-1 {
    background-color: #fff;
}

.section-1 .container-1160 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.section-1-left {
    flex-shrink: 0;
}

.section-1-right {
    flex-shrink: 0;
}

.section-1-title {
    margin-top: 69px;
    max-width: 570px;
    margin-bottom: 20px;
    color: rgba(24, 26, 36, 1);
    line-height: 1;
}

.section-1-description {
    max-width: 361px;
    margin-bottom: 105px;
    color: rgba(24, 26, 36, 1);
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    line-height: 1.2;
}

.section-1-btn {
    width: 165px;
    height: 44px;
    background-color: rgba(148, 182, 56, 1);
    border: none;
    color: rgba(255, 255, 255, 1);
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 20px;
    cursor: pointer;
}

/* Блок с карточками статистики */
.stats-block {
    margin-top: 39px;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 275px);
    grid-template-rows: repeat(3, 136px);
    gap: 0;
    margin-bottom: 72px;
}

.stat-card {
    width: 275px;
    height: 152px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(201, 208, 211, 1);
    border-bottom: 1px solid rgba(201, 208, 211, 1);
}

.stat-card:nth-child(even) {
    border-right: none;
}

.stat-card:nth-child(5),
.stat-card:nth-child(6) {
    border-bottom: none;
}

.stat-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 24px;
    color: rgba(148, 182, 56, 1);
    margin-bottom: 20px;
    line-height: 1;
    max-width: 193px;
}

/* Специальные стили для последних двух карточек */
.stat-card:nth-child(5) .stat-number,
.stat-card:nth-child(6) .stat-number {
    font-size: 20px;
}

/* Стили для текста "years" */
.years-text {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 100%;
    text-align: center;
    vertical-align: middle;
}

.stat-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
    line-height: 1.16;
    max-width: 215px; 
}

/* Секция 2 */
.section-2 {
    background-color: rgba(244, 244, 244, 1);
    padding-top: 80px;
    position: relative;
    
}

.section-2 .container-1160 {
    display: flex;
    flex-direction: column;
}

.section-2-title {
    margin-bottom: 20px;
    color: rgba(24, 26, 36, 1);
    line-height: 1;
}

.section-2-description-1 {
    max-width: 657px;
    margin-bottom: 10px;
    color: rgba(77, 77, 79, 1);
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
}

.section-2-description-2 {
    max-width: 466px;
    margin-bottom: 0;
    color: rgba(77, 77, 79, 1);
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
}

.description-btn-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section-2-btn {
    width: 157px;
    height: 44px;
    background-color: rgba(148, 182, 56, 1);
    border: none;
    color: rgba(255, 255, 255, 1);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    flex-shrink: 0;
}

/* Карточки с услугами */
.services-cards {
    margin-top: 30px;
}

.service-card {
    display: flex;
    align-items: flex-start;
    gap: 30px;
    padding: 35px 30px;
    background-color: #fff;
    border: 1px solid rgba(201, 208, 211, 1);
    border-radius: 5px;
    margin-bottom: 10px;
    height: 102px;
}

.service-card:last-child {
    margin-bottom: 0;
}

.service-icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    background-color: rgba(244, 244, 244, 1);
    border-radius: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-icon img {
    width: 24px;
    height: 24px;
}

.service-content {
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.service-content h3 {
    margin-bottom: 0;
    flex-shrink: 0;
    align-items: flex-start;
}

.service-content p {
    max-width: 399px;
    margin: 0;
    margin-right: 122px;
    line-height: 1;
}

/* Блок с метриками */
.metrics-cards {
    display: flex;
    gap: 19px;
    margin-top: 20px;
    margin-bottom: 86px;
}

.metric-card {
    width: 374px;
    height: 138px;
    background-color: #fff;
    border: 1px solid rgba(201, 208, 211, 1);
    border-radius: 5px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.metric-number {
    font-size: 32px;
    margin-bottom: 30px;
    color: rgba(24, 26, 36, 1);
    line-height: 1;
}

.metric-description {
    margin: 0;
    color: rgba(77, 77, 79, 1);
    line-height: 1;
}

/* Секция 3 */
.section-3 {
    background: linear-gradient(0deg, rgba(24, 33, 36, 0) 0%, rgba(24, 33, 36, 0) 65%),
                url('assets/images/секция 3-фон.jpg') center/cover no-repeat;
    width: 100%;
    height: 1096px;
    padding-top: 86px;
}

.section-3 .container-1160 {
    display: flex;
    flex-direction: column;

}

.section-3-header {
    display: flex;
    gap: 89px;
}

.section-3-title {
    max-width: 501px;
    color: rgba(255, 255, 255, 1);
    flex-shrink: 0;
    line-height: 1;
}

.section-3-descriptions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 50px;
    line-height: 1;
}

.section-3-description-1 {
    max-width: 453px;
    color: rgba(209, 209, 209, 1);
}

.section-3-description-2 {
    max-width: 453px;
    color: rgba(209, 209, 209, 1);
}

/* Сетка с карточками услуг */
.services-grid {
    display: grid;
    grid-template-columns: repeat(4, 282px);
    grid-template-rows: repeat(2, 263px);
    gap: 10px;
    margin-top: 30px;
}

.service-box:nth-child(6) {
    grid-column: 3;
}

/* Карточки во второй строке - высота 247px */
.service-box:nth-child(5),
.service-box:nth-child(6),
.service-box:nth-child(7) {
    height: 247px;
}

/* Описания в карточках второй строки - другая ширина */
.service-box:nth-child(5) p,
.service-box:nth-child(6) p,
.service-box:nth-child(7) p {
    max-width: 260px;
}


.horizontal-block {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(50px);
    border-radius: 5px;
    padding: 35px 30px;
    width: 100%;
    height: 64px;
}

.horizontal-block:last-child {
    margin-bottom: 0;
}

.check-icon {
    flex-shrink: 0;
    width: 17px;
    height: 17px;
    margin-right: 30px;
}

.horizontal-block h3 {
    font-size: 24px;
    color: rgba(255, 255, 255, 1);
    margin: 0;
    flex-shrink: 0;
    line-height: 1;
}

.horizontal-content {
    flex-grow: 1;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.horizontal-content h3 {
    font-size: 24px;
    color: rgba(255, 255, 255, 1);
    margin: 0;
    flex-shrink: 0;
    line-height: 1;
}

.horizontal-content p {
    color: rgba(255, 255, 255, 1);
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    margin: 0;
    max-width: 399px;
    line-height: 1;
    margin-right: 260px;
    align-self: center;
}

/* Специальный отступ для второго блока */
.horizontal-block:nth-child(2) .horizontal-content p {
    margin-right: 218px;
}

.horizontal-block:nth-child(3) .horizontal-content p {
    margin-right: 268px;
}

.service-box {
    width: 282px;
    height: 263px;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(25px);
    border-radius: 5px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
}

.service-number {
    align-self: flex-end;
    color: rgba(167, 167, 167, 1);
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 14px;
}

.service-box h3 {
    color: rgba(255, 255, 255, 1);
    margin-top: 50px;
    margin-bottom: 15px;
    line-height: 1;
}

.service-box p {
    color: rgba(209, 209, 209, 1);
    line-height: 1;
    max-width: 206px;
}

.cta-box {
    background-color: rgba(148, 182, 56, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.cta-content {
    text-align: center;
}

.cta-arrow {
    width: 25px;
    height: 11px;
    margin-bottom: 20px;
}

.cta-box p {
    color: rgba(255, 255, 255, 1);
    font-family: 'Roboto', sans-serif;
    font-weight: 500;
    font-size: 16px;
    margin: 0;
}

/* Стили для текста */
h1 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 60px;
    color: rgba(24, 26, 36, 1);
    text-transform: uppercase;
}

h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 50px;
    color: rgba(24, 26, 36, 1);
    text-transform: uppercase;
}

h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 24px;
    color: rgba(24, 26, 36, 1);
    text-transform: uppercase;
}

p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
}

/* Глобальный цвет кнопок */
.btn {
    background-color: rgba(148, 182, 56, 1);
}

/* Глобальные стили для белых заголовков */
h1.white, h2.white, h3.white {
    color: rgba(255, 255, 255, 1);
}

/* Стили для текстового логотипа */
.text-logo {
    height: 25px;
    width: 255px;
    margin-top: 8px;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Секция 4 - Контактная информация */
.section-4 {
    background-color: #181A24;
    padding: 40px 0;
}

.section-4 .container-1160 {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.section-4-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 50px;
    color: rgba(255, 255, 255, 1);
    margin: 0;
}

.section-4-contact {
    display: flex;
    align-items: center;
    gap: 9px;
}

.phone-icon {
    width: 29px;
    height: 29px;
    margin-left: 380px;
}

.phone-number {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 25px;
    color: rgba(255, 255, 255, 1);
    margin-right: 50px;
    line-height: 1.7;
    
}

.section-4-btn {
    width: 131px;
    height: 44px;
    background-color: rgba(255, 255, 255, 1);
    border: none;
    color: rgba(77, 77, 79, 1);
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    cursor: pointer;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Секция 5 - Аккредитации и партнерства */
.section-5 {
    background-color: #FFFFFF;
    padding: 80px 0 93px 0;
}

.section-5-content {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.section-5-left {
    flex: 1;
    max-width: 592px;
}

.section-5-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 50px;
    color: rgba(24, 26, 36, 1);
    margin: 4px 0 40px 0;
    line-height: 1;

}

.section-5-list {
    list-style: none;
    margin: 0 0 30px 0;
    padding: 0;
}

.section-5-list li {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    gap: 5px;
}

.section-5-list li:last-child {
    margin-bottom: 0;
}

.check-icon-green {
    width: 17px;
    height: 17px;
    flex-shrink: 0;
}

.section-5-list li span {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
}

.section-5-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
    line-height: 1.2;
    margin: 0 0 51px 0;
    max-width: 423px;
}

/* Скрываю мобильное описание на десктопе */
.section-5-description-mobile {
    display: none;
}

/* Скрываю мобильную навигацию на десктопе */
.section-6-content .section-6-navigation {
    display: none;
}

/* Скрываю мобильную кнопку на десктопе */
.section-2-btn-mobile {
    display: none;
}

.section-5-right {
    flex: 1;
    max-width: 500px;
}

.logos-grid {
    display: grid;
    grid-template-columns: repeat(3, 177px);
    grid-template-rows: repeat(2, 108px);
    margin-left: 18px;
}

.logo-item {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #FFFFFF;
    width: 177px;
    height: 108px;
    padding: 0;
    position: relative;
}

.logo-item:nth-child(1),
.logo-item:nth-child(2),
.logo-item:nth-child(4),
.logo-item:nth-child(5) {
    border-right: 1px solid rgba(201, 208, 211, 1);
}

.logo-item:nth-child(1),
.logo-item:nth-child(2),
.logo-item:nth-child(3) {
    border-bottom: 1px solid rgba(201, 208, 211, 1);
}

/* Индивидуальные настройки для каждой карточки */
.logo-item:nth-child(1) {
    padding: 26px;
}

.logo-item:nth-child(1) img {
    width: 125px;
    height: 57px;
}

.logo-item:nth-child(2) {
    padding: 14px 33px;
}

.logo-item:nth-child(2) img {
    width: 110px;
    height: 80px;
}

.logo-item:nth-child(3) {
    padding: 11px 46px;
}

.logo-item:nth-child(3) img {
    width: 85px;
    height: 86px;
}

.logo-item:nth-child(4) {
    padding: 10px 44px;
}

.logo-item:nth-child(4) img {
    width: 89px;
    height: 88px;
}

.logo-item:nth-child(5) {
    padding: 14px 37px;
}

.logo-item:nth-child(5) img {
    width: 102px;
    height: 80px;
}

.logo-item:nth-child(6) {
    padding: 23px 26px;
}

.logo-item:nth-child(6) img {
    width: 124px;
    height: 61px;
}

.logo-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* Секция 6 - Пятизвездочный сервис */
.section-6 {
    background-color: #F4F4F4;
    padding-bottom: 74px;
}

.section-6-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
}

.section-6-left {
    flex: 0 0 auto;
    width: auto;
}

.section-6-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 0 0;
}

.section-6-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 50px;
    color: rgba(24, 26, 36, 1); 
    text-transform: uppercase;
    margin: 0;
    line-height: 1;
    margin-top: 70px;
}

.section-6-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 373px;
    margin-top: 32px;
}

.section-6-text p {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
    line-height: 1.2;
    margin: 0;
}

.section-6-contacts {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
}

.section-6-contacts .contact-phone,
.section-6-contacts .contact-email {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
}

.section-6-right {
    flex: 0 0 auto;
    width: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}



.reviews-wrapper {
    display: flex;
    flex-direction: row;
    gap: 20px;
    margin-top: 25px;
}

/* Кнопки навигации */
.section-6-navigation {
    display: flex;
    gap: 5px;
    margin-top: 85px;
}

.nav-btn {
    width: 35px;
    height: 35px;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-btn img {
    width: 100%;
    height: 100%;
}

/* Карточки с отзывами */
.review-card {
    background-color: #FFFFFF;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 374px;
    height: 220px;
    flex-shrink: 0;
    border: 1px solid #C9D0D3;
}

/* Специальный отступ для второй карточки */
.review-card-second .review-header {
    margin-bottom: 58px;
}




.review-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 32px;
}

.review-logo {
    width: 100px;
    height: 44px;
}

.review-stars {
    width: 112px;
    height: 20px;
}

.review-text {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
    line-height: 1.2;
    margin-bottom: 20px;
}

.review-author {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: #94A2A8;
    line-height: 1.2;
}

/* Секция 7 - Бренды */
.section-7 {
    height: 169px;
    background-color: #FFFFFF;
    display: flex;
    align-items: center;
}

.brands-image {
    width: 100%;
    height: 94px;
    object-fit: contain;
}

/* Секция 8 - Контактная информация */
.section-8 {
    background: 
        linear-gradient(rgba(24, 26, 36, 0.1), rgba(24, 26, 36, 0.1)),
        url('assets/images-подвал.jpg') center/cover no-repeat;
    width: 100%;
    height: 336px;
    align-items: center;
    padding-top: 83px;
}


.section-8-content-wrapper {
    display: flex;
    align-items: flex-start;
    width: 100%;
}


.section-8-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 50px;
    color: rgba(255, 255, 255, 1);
    text-transform: uppercase;
    margin: 0 0 31px 0;
    line-height: 1;
    max-width: 918px;
}

.section-8-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    line-height: 1.2;
    margin-top: 9px;
    max-width: 415px;

}

.section-8-contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-phone,
.contact-email {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 24px;
    color: rgba(255, 255, 255, 1);
    line-height: 1.2;
    margin-left: 40px;
}

/* Футер */
.footer {
    background: linear-gradient(to right, 
        rgba(24, 26, 36, 1) 0%, 
        rgba(24, 26, 36, 1) 39.5%, 
        rgba(55, 55, 64, 1) 39.5%, 
        rgba(55, 55, 64, 1) 100%);
    color: rgba(255, 255, 255, 1);
    padding: 60px 0 37px 0;
}

.footer-content {
    display: flex;
}

/* Левая часть - форма */
.footer-left {
    flex: 1;
    max-width: 350px;
}

.footer-form-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 40px;
    color: rgba(255, 255, 255, 1);
    text-transform: uppercase;
    margin: 0 0 21px 0;
}

.footer-form-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    line-height: 1.4;
    margin: 0 0 10px 0;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-input,
.form-textarea {
    background-color: #3A3D47;
    border: none;
    border-radius: 5px;
    padding: 15px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: rgba(255, 255, 255, 1);
    width: 372px;
    height: 37px;
    box-sizing: border-box;
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.form-textarea {
    min-height: 100px;
    height: 100px;
    resize: none;
}

.form-submit-btn {
    background-color: rgba(148, 182, 56, 1);
    border: none;
    border-radius: 5px;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    cursor: pointer;
    width: 377px;
    height: 44px;
    margin-top: 10px;
}

.form-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
}

.checkbox-input {
    width: 16px;
    height: 16px;
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 1);
    border-radius: 1px;
    appearance: none;
    cursor: pointer;
}

.checkbox-input:checked {
    background-color: rgba(255, 255, 255, 1);
}

.checkbox-label {
    font-family: 'Roboto', sans-serif;
    font-size: 12px;
    color: rgba(255, 255, 255, 1);
}

/* Правая часть - информация */
.footer-right {
    flex: 2;
    margin-left: 100px;
}

.footer-logo {
    margin-bottom: 46px;
}

.footer-company-name {
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    font-size: 41px;
    color: rgba(255, 255, 255, 1);
    margin: 0;
}

.logo-green {
    color: rgba(148, 182, 56, 1);
}

.footer-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 30px;
}

.footer-services-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 47px;
    margin-top: 67px;
}

.footer-column-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    text-transform: uppercase;
    margin: 0 0 10px 0;
}

/* Специальные стили для верхних блоков (HEAD OFFICE, EMAIL, CALL) */
.footer-info-grid .footer-column-title {
    font-size: 18px;
}

/* Специальные стили для нижних блоков (IT SERVICES, INDUSTRIES, MICROSOFT SOLUTIONS, RESOURCES) */
.footer-services-grid .footer-column-title {
    margin-bottom: 20px;
}

.footer-resources-title {
    margin-top: 30px;
}

.footer-column-text {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1;
    margin: 0;
}

.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1;
    margin-bottom: 5px;
}

.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-bottom .footer-link {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.footer-link {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
}

.footer-link:hover {
    color: rgba(148, 182, 56, 1);
}

/* Стили для страницы контактов */
.contact-main-section {
    background: 
    linear-gradient(270deg, rgba(3, 17, 32, 0) 7%, rgba(3, 17, 32, 0.80) 100%),
    url('assets/images/главная-секция.jpg') center 50.4%/cover no-repeat;
    width: 100%;
    opacity: 0.93;
    height: 421px;
    padding: 40px 0;
}

.contact-main-section h1 {
    margin-bottom: 20px;
    max-width: 80%;
    color: rgba(235, 235, 235, 1);
    line-height: 1;
}

.contact-main-section .main-description {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    margin: 0;
    max-width: 45%;
    color: rgba(255, 255, 255, 1);
    line-height: 1;
}

/* Секция с картой */
.contact-map-section {
    height: 546px;
    width: 100%;
    position: relative;
    background: url('assets/images/карта.jpg') center 2%/cover no-repeat;
    padding: 150px 0 0 0;
}

.map-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

#map {
    width: 100%;
    height: 100%;
    border-radius: 0;
}

/* Серая карта */
.gray-map {
    filter: grayscale(100%) brightness(0.8) contrast(1.2);
}

/* Скрываем все элементы атрибуции Leaflet */
.leaflet-control-attribution {
    display: none !important;
}

.leaflet-control-attribution a {
    display: none !important;
}

/* Дополнительно скрываем через JavaScript */
.map-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, 0.9);
    padding: 15px 25px;
    border-radius: 8px;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    color: #333;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Оптимизация для мобильных */
@media (max-width: 768px) {
    .map-background {
        touch-action: manipulation; /* Улучшает отзывчивость касаний */
    }
    
    #map {
        -webkit-tap-highlight-color: transparent; /* Убирает подсветку при касании на iOS */
    }
}

/* Блок с контактной информацией на карте */
.contact-info-block {
    width: 370px;
    height: 217px;
    background-color: #FFFFFF;
    border-radius: 8px;
    padding: 30px 40px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    margin: 0 auto 0 0;
    position: relative;
    z-index: 2;
    border: 1px solid #E2ECEF;
}

.contact-info-title {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: rgba(148, 182, 56, 1);
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.contact-info-item {
    display: flex;
    gap: 20px;
    margin-bottom: 12px;
}

.contact-info-item:last-child {
    margin-bottom: 0;
}

.contact-info-item:nth-child(2) {
    margin-bottom: 10px;
}

.contact-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.contact-text {
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    font-size: 16px;
    color: rgba(77, 77, 79, 1);
    line-height: 1.2;
}

/* Медиа-запрос для планшетов (981-1220px) */
@media (min-width: 981px) and (max-width: 1220px) {
    /* Уменьшаем размеры шапки в 1.2 раза */
    .header {
        height: 88px; /* 106px ÷ 1.2 = 88px */
        padding: 12px 5px; /* 15px 30px ÷ 1.2 = 12px 25px */
    }
    
    .header-fixed {
        height: 58px; /* 70px ÷ 1.2 = 58px */
        padding: 8px 10px; /* 10px 30px ÷ 1.2 = 8px 25px */
    }
    
    /* Уменьшаем логотип в 1.2 раза */
    .logo {
        height: 40px; /* 71px ÷ 1.2 = 59px */
        margin-left: -15px;
    }

    .text-logo {
        width: 230px;
        height: 20px;
        margin-top: 5px;
        margin-left: -35px;
    }
    
    .header-fixed .logo {
        transform: scale(0.56); /* 0.67 ÷ 1.2 = 0.56 */
    }
    
    /* Уменьшаем отступы и размеры в шапке в 1.2 раза */
    .logo-block {
        margin-right: 5%; /* 161px ÷ 1.2 = 134px */
    }
    
    .contact-info {
        gap: 30px; /* 36px ÷ 1.2 = 30px */
        padding-right: 12px; /* 15px ÷ 1.2 = 12px */
    }
    
    .phone, .email {
        font-size: 12px; /* 14px ÷ 1.2 = 12px */
    }
    
    .navigation-block {
        gap: 27px; /* 32px ÷ 1.2 = 27px */
        justify-content: flex-end; /* Прижимаем содержимое к правому краю */
    }
    
    .navigation {
        flex-grow: 0; /* Отключаем растягивание навигации */
        flex-shrink: 0; /* Запрещаем сжатие */
    }
    
    .nav-list {
        gap: 4px; /* 30px ÷ 1.2 = 25px */
        margin-right: 0; /* Убираем margin */
    }
    
    .nav-link {
        font-size: 13px; /* 16px ÷ 1.2 = 13px */
    }
    
    .contact-btn {
        width: 109px; /* 131px ÷ 1.2 = 109px */
        height: 36px; /* 43px ÷ 1.2 = 36px */
        font-size: 13px; /* 16px ÷ 1.2 = 13px */
        flex-shrink: 0; /* Запрещаем сжатие кнопки */
    }
    
    /* Контейнер 1160 для планшетов */
    .container-1160 {
        max-width: 95%; /* 1160px → 90% ширины */
        margin: 0 auto; /* Центрируем контейнер */
    }
    
    /* Контейнер main-1160 для планшетов */
    .container-main-1160 {
        max-width: 95%; /* 1160px → 95% ширины */
        margin: 217px auto; /* 260px ÷ 1.2 = 217px */
    }
    
    /* Уменьшаем заголовок h1 в main-section в 1.2 раза */
    .main-section h1 {
        font-size: 50px !important; /* 60px ÷ 1.2 = 50px */
    }
    
    /* Уменьшаем заголовки в 1.2 раза */
    .section-1-title.animate,
    .section-2-title.animate {
        font-size: 42px !important; /* 50px ÷ 1.2 = 41.7px → 42px */
    }

    .section-1-title.animate {
        max-width: 100%;
    }
    
    /* Прижимаем карточки ближе к тексту в section-1 */
    .section-1 .container-1160 {
        justify-content: flex-start; /* Убираем space-between */
    }
    
    .section-1-left {
        flex-shrink: 0;
        max-width: 48%; /* Ограничиваем ширину левой части */
    }

    .service-content p {
        margin-right: 0px;
    }
    
    /* Уменьшаем размеры карточек в services-grid в 1.2 раза */
    .services-grid {
        grid-template-columns: repeat(4, minmax(228px, 1fr)); /* Минимальная ширина 228px, максимальная - доступное пространство */
        grid-template-rows: repeat(2, 219px); /* 263px ÷ 1.2 = 219px */
        gap: 8px; /* 10px ÷ 1.2 = 8px */
        margin-top: 25px; /* 30px ÷ 1.2 = 25px */
        width: 100%; /* Занимаем всю доступную ширину */
    }
    
    .service-box {
        width: 100%; /* Карточки растягиваются на всю ширину колонки */
        min-width: 228px; /* Минимальная ширина 228px */
        height: 219px; /* 263px ÷ 1.2 = 219px */
        padding: 25px 17px; /* 30px 20px ÷ 1.2 = 25px 17px */
    }
    
    /* Уменьшаем максимальную ширину заголовка section-3-title */
    .section-3-title.animate {
        max-width: 418px !important; /* 501px ÷ 1.2 = 418px */
    }

    .section-3-header {
        gap: 40px;
    }
    
    /* Убираем margin-right у всех трех карточек horizontal-content p */
    .horizontal-content p {
        margin-right: 0 !important;
    }
    
    /* Специальные отступы для второго и третьего блока тоже убираем */
    .horizontal-block:nth-child(2) .horizontal-content p {
        margin-right: 0 !important;
    }
    
    .horizontal-block:nth-child(3) .horizontal-content p {
        margin-right: 0 !important;
    }
    
    /* Уменьшаем отступы в section-4 для более компактного расположения */
    .section-4 {
        padding: 33px 0; /* 40px ÷ 1.2 = 33px */
    }
    
    .phone-icon {
        margin-left: 200px !important; /* 380px ÷ 1.2 = 317px, дополнительно уменьшаем */
    }
    
    .phone-number {
        margin-right: 25px !important; /* 50px ÷ 1.2 = 42px, дополнительно уменьшаем */
    }
    
    .section-4-contact {
        gap: 7px; /* 9px ÷ 1.2 = 7px */
    }
    
    /* Карточки во второй строке - уменьшенная высота */
    .service-box:nth-child(5),
    .service-box:nth-child(6),
    .service-box:nth-child(7) {
        height: 206px; /* 247px ÷ 1.2 = 206px */
    }
    
    /* Уменьшаем шрифты в карточках в 1.2 раза */
    .service-box h3 {
        margin-top: 42px; /* 50px ÷ 1.2 = 42px */
        margin-bottom: 12px; /* 15px ÷ 1.2 = 12px */
        font-size: 20px !important; /* 24px ÷ 1.2 = 20px */
    }
    
    .service-box p {
        max-width: 172px; /* 206px ÷ 1.2 = 172px */
        font-size: 13px !important; /* 16px ÷ 1.2 = 13px */
    }
    
    .service-number {
        font-size: 12px !important; /* 14px ÷ 1.2 = 12px */
    }
    
    /* Описания в карточках второй строки - уменьшенная ширина */
    .service-box:nth-child(5) p,
    .service-box:nth-child(6) p,
    .service-box:nth-child(7) p {
        max-width: 217px; /* 260px ÷ 1.2 = 217px */
    }
    
    .section-1-right {
        flex-shrink: 0;
        margin-left: 0; /* Убираем автоматический отступ */
    }
    
    /* Также для заголовков без .animate */
    .section-1-title,
    .section-2-title {
        font-size: 42px !important; /* 50px ÷ 1.2 = 41.7px → 42px */
    }
    
    /* Уменьшаем описания в 1.2 раза */
    .section-2-description-2.animate {
        font-size: 13px !important; /* 16px ÷ 1.2 = 13px */
    }
    
    /* Уменьшаем остальные заголовки в 1.2 раза */
    .section-3-title.animate,
    .section-4-title.animate,
    .section-5-title.animate,
    .section-6-title.animate,
    .section-8-title.animate {
        font-size: 42px !important; /* 50px ÷ 1.2 = 41.7px → 42px */
    }
    
    /* Также для заголовков без .animate */
    .section-3-title,
    .section-4-title,
    .section-5-title,
    .section-6-title,
    .section-8-title {
        font-size: 42px !important; /* 50px ÷ 1.2 = 41.7px → 42px */
    }
}

/* Медиа-запрос для больших планшетов (1221-1410px) */
@media (min-width: 1221px) and (max-width: 1410px) {
    /* Увеличиваем размеры шапки в 1.15 раза от значений 981-1220px */
    .header {
        height: 101px; /* 88px × 1.15 = 101px */
        padding: 14px 12px; /* 12px 10px × 1.15 = 14px 12px */
    }
    
    .header-fixed {
        height: 67px; /* 58px × 1.15 = 67px */
        padding: 9px 12px; /* 8px 10px × 1.15 = 9px 12px */
    }
    
    /* Увеличиваем логотип в 1.15 раза */
    .logo {
        height: 40px; 
    }

    .text-logo {
        width: 230px;
        height: 20px;
        margin-left: -25px;
        margin-top: 5px;
    }
    
    .header-fixed .logo {
        transform: scale(0.64); /* 0.56 × 1.15 = 0.64 */
    }

    .header-fixed .logo-block {
        margin-top: 5px;
    }
    
    /* Увеличиваем отступы и размеры в шапке в 1.15 раза */
    .logo-block {
        margin-right: 5.75%; /* 5% × 1.15 = 5.75% */
    }
    
    .contact-info {
        gap: 35px; /* 30px × 1.15 = 35px */
        padding-right: 14px; /* 12px × 1.15 = 14px */
    }
    
    .phone, .email {
        font-size: 14px; /* 12px × 1.15 = 14px */
    }
    
    .navigation-block {
        gap: 31px; /* 27px × 1.15 = 31px */
        justify-content: flex-end;
    }
    
    .navigation {
        flex-grow: 0;
        flex-shrink: 0;
    }
    
    .nav-list {
        gap: 5px; /* 4px × 1.15 = 5px */
        margin-right: 0;
    }
    
    .nav-link {
        font-size: 15px; /* 13px × 1.15 = 15px */
    }
    
    .contact-btn {
        width: 125px; /* 109px × 1.15 = 125px */
        height: 41px; /* 36px × 1.15 = 41px */
        font-size: 15px; /* 13px × 1.15 = 15px */
        flex-shrink: 0;
    }
}
