/* === НОВЫЙ STYLE.CSS (v9.0 PIXEL-PERFECT - МАКЕТ 1920px) === */
/* v8.2: Services Section карточки исправлены по Anatomy-2.svg */
/* v8.3: Services Section заголовок исправлен по Anatomy-2.svg */
/* v8.4: Services Section layout заголовка и подзаголовка (два столбца) */
/* v8.5: Carousel buttons увеличены до 55×55px */
/* v9.0: Case Studies превращен в разворачиваемый grid (4 карточки в строке) */

/* --- 0. ЗАГРУЗКА ЛОКАЛЬНЫХ ШРИФТОВ GILROY --- */
/* (Предполагается, что файлы лежат в 'assets/') */

@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Regular.woff2') format('woff2');
    font-weight: 400; /* Regular */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Medium.woff2') format('woff2');
    font-weight: 500; /* Medium */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-SemiBold.woff2') format('woff2');
    font-weight: 600; /* SemiBold */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Bold.woff2') format('woff2');
    font-weight: 700; /* Bold */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-ExtraBold.woff2') format('woff2');
    font-weight: 800; /* ExtraBold */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Heavy.woff2') format('woff2');
    font-weight: 900; /* Heavy */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Light.woff2') format('woff2');
    font-weight: 300; /* Light */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-UltraLight.woff2') format('woff2'),
         url('assets/Gilroy-UltraLight.woff') format('woff');
    font-weight: 200; /* UltraLight */
    font-style: normal;
}
@font-face {
    font-family: 'Gilroy';
    src: url('assets/Gilroy-Thin.woff2') format('woff2');
    font-weight: 100; /* Thin */
    font-style: normal;
}

/* --- 0.1 ЗАГРУЗКА ЛОКАЛЬНОГО ШРИФТА INTER --- */
@font-face {
    font-family: 'Inter';
    src: url('assets/Inter-Bold.woff2') format('woff2');
    font-weight: 700; /* Bold */
    font-style: normal;
}


/* --- 1. Глобальные Параметры (v8.0 PIXEL-PERFECT) --- */
:root {
    /* Палитра */
    --color-logo: #CA3A31;
    --color-primary: #004E7B;
    --color-secondary-accent: #0A9396;
    --color-text-headings: #0F1C2D;
    --color-text-body: #495057;
    --color-bg-alt: #F8F9FA;
    --color-bg-main: #FFFFFF;
    --color-border: #DEE2E6;
    --color-placeholder: #ADB5BD;

    /* Шрифты (v8.0) */
    --font-main: 'Gilroy', sans-serif;
    --font-logo: 'Inter', sans-serif;

    /* Сетка - приведено к макету 1920px */
    --layout-max-width: 1920px;  /* Изменено с 1280px для соответствия макету */
    --container-padding-x: 120px; /* Боковые отступы контейнера */
    --section-v-padding: 40px; /* По макету Layout and spacing.svg */

    /* Размеры (v8.0) */
    --header-height: 92px;
    --card-radius: 24px;
    --input-radius: 16px;
    --button-radius: 32px; /* По макету Anatomy-1.svg */

    /* Специфичные border-radius для разных секций (Anatomy-2.svg) */
    --service-card-radius: 36px;
}

/* --- 2. База --- */
html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    font-family: var(--font-main);
    font-weight: 400; /* Regular */
    color: var(--color-text-body);
    background-color: var(--color-bg-main);
    margin: 0;
    padding-top: var(--header-height); /* ИСПРАВЛЕНО: 92px */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 1.2px; /* Применено ко всему тексту на сайте */
}

.container {
    max-width: var(--layout-max-width); /* 1920px */
    width: 100%;
    padding-left: var(--container-padding-x);  /* 120px */
    padding-right: var(--container-padding-x); /* 120px */
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    overflow: visible;
}

.main-section {
    padding-top: var(--section-v-padding);
    padding-bottom: var(--section-v-padding);
    overflow-x: hidden;
}

/* --- 3. Header (Блок 0) (v7.0) --- */
.sticky-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--color-bg-main);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    height: var(--header-height); /* 92px */
    display: flex;
    align-items: center;
    transition: box-shadow 0.3s ease;
}

.sticky-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    font-family: var(--font-logo); /* Inter */
    font-size: 28px;
    font-weight: 400;              /* Regular */
    color: var(--color-logo);      /* #D90429 (Красный) */
    letter-spacing: -0.5px;
    text-transform: lowercase;
    text-decoration: none;         /* Убираем подчеркивание */
    cursor: pointer;
}

.logo:hover,
.logo:focus,
.logo:active,
.logo:visited {
    color: var(--color-logo);      /* Цвет остается неизменным */
    text-decoration: none;         /* Никаких подчеркиваний */
    outline: none;                 /* Убираем outline */
}

#desktop-nav {
    display: flex;
    gap: 2.25rem; /* 36px - по макету Layout and spacing.svg */
}

.nav-link {
    font-family: var(--font-main); /* Gilroy */
    font-size: 20px;               /* ИСПРАВЛЕНО: 20px */
    font-weight: 400;              /* Regular */
    color: #111111;                 /* ИСПРАВЛЕНО: #111111 */
    text-decoration: none;
    transition: color 0.3s ease, font-weight 0.3s ease;

    position: relative;
    padding-bottom: 0;
    letter-spacing: 1.2px; /* ИСПРАВЛЕНО: 1.2px */
}
/* ПОДЧЕРКИВАНИЕ ПОЛНОСТЬЮ УДАЛЕНО */
.nav-link::after {
    display: none;
}
.nav-link:hover {
    color: var(--color-secondary-accent);
}
.nav-link:hover::after {
    display: none;
}
/* СТИЛЬ АКТИВНОЙ ВКЛАДКИ (v7.0) */
.nav-link.active {
    color: #004E7B;      /* ИСПРАВЛЕНО: Новый цвет */
    font-weight: 700;   /* Bold (жирный) */
}
.nav-link.active::after {
    display: none;
}

#mobile-menu-button { display: none; background: none; border: none; cursor: pointer; color: var(--color-text-headings); }
#mobile-menu { display: none; background: var(--color-bg-main); box-shadow: 0 10px 10px rgba(0,0,0,0.05); position: absolute; top: var(--header-height); /* 92px */ left: 0; right: 0; flex-direction: column; padding: 1rem 0; z-index: 999; }
#mobile-menu .nav-link { padding: 1rem 5%; text-align: center; border-bottom: 1px solid var(--color-border); }
#mobile-menu .nav-link:last-child { border-bottom: none; }

/* --- 4. Hero (Блок 1) (v8.0 PIXEL-PERFECT) --- */
/* ИСПРАВЛЕНО: размеры по макету 1920x1114 */
.hero-section { background-color: var(--color-bg-main); padding-top: 0; padding-bottom: 0; position: relative; overflow: hidden; box-sizing: border-box; min-height: clamp(600px, 58vw, 1114px); display: flex; align-items: center; width: 100%; max-width: 1920px; margin-left: auto; margin-right: auto; }
.hero-container { position: relative; width: 100%; }
.hero-text { position: relative; max-width: clamp(400px, 45vw, 850px); z-index: 10; }
.hero-subtitle { font-size: clamp(16px, 2vw, 24px); font-weight: 400; color: var(--color-text-body); letter-spacing: 0.5px; text-transform: uppercase; }
.hero-title { font-size: clamp(36px, 5vw, 64px); font-weight: 200; line-height: 1.2; color: var(--color-text-headings); margin-top: 1rem; margin-bottom: 1.5rem; }
.hero-title strong { font-weight: 500; }
.hero-description { font-family: var(--font-main); font-size: clamp(18px, 2vw, 32px); font-weight: 400; font-style: normal; color: var(--color-text-body); line-height: 1.6; letter-spacing: 0.06em; margin-bottom: 2.5rem; margin-right: 0; width: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.hero-buttons { display: flex; gap: 1rem; flex-wrap: wrap; }
.btn {
    width: auto;
    min-width: 180px;
    height: clamp(52px, 5vw, 64px);
    padding: clamp(14px, 2vw, 20px) clamp(32px, 4vw, 60px);
    gap: 4px;
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 500; /* Medium */
    border-radius: 60px;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 2px solid transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.btn-primary { background-color: var(--color-primary); color: white; }
.btn-primary:hover { background-color: var(--color-secondary-accent); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(10, 147, 150, 0.2); }
.btn-secondary { background-color: #e9ecef; color: var(--color-text-headings); border-color: var(--color-border); }
.btn-secondary:hover { background-color: #e0e0e0; transform: translateY(-2px); }
.hero-image { position: absolute; border-radius: clamp(16px, 2vw, 24px); object-fit: cover; opacity: 1; background: #D9D9D9; width: clamp(280px, 31vw, 601px); height: clamp(162px, 18vw, 347px); }
.hero-image.image-1 { top: 8%; left: 58%; z-index: 9; transform: rotate(12deg); box-shadow: 0px 4px 4px 0px #00000040, -17px 94px 42.5px -7px #86868640; }
.hero-image.image-2 { top: 48%; left: 54%; z-index: 7; transform: rotate(20deg); box-shadow: 0px 4px 4px 0px #00000040, -17px 35px 42.5px -7px #86868640; }
.hero-image.image-3 { top: 33%; left: 68%; z-index: 8; transform: rotate(-15deg); box-shadow: 0px 4px 4px 0px #00000040, -17px 76px 42.5px -7px #86868640; }
.hero-brand { position: absolute; width: clamp(300px, 33vw, 627px); height: auto; bottom: 20px; right: 11px; font-family: var(--font-logo); font-weight: 700; font-size: clamp(60px, 7vw, 128px); line-height: 100%; letter-spacing: 0%; color: #F5F5F5; text-transform: lowercase; z-index: 6; opacity: 1; }

/* --- 4.1 Services Section (Блок 2) --- */
#services {
    min-height: 1039px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

/* --- 5. Общие Заголовки Секций --- */
.section-header { margin-bottom: 4rem; }
.section-header.text-center { text-align: center; }
.section-header .section-title { font-size: 2.5rem; font-weight: 400; color: var(--color-text-headings); margin-bottom: 1.5rem; }
.section-header .section-title strong { font-weight: 700; }
.section-header .section-subtitle { font-size: 1.125rem; font-weight: 400; color: var(--color-text-body); line-height: 1.7; max-width: 800px; }
.section-header.text-center .section-subtitle { margin-left: auto; margin-right: auto; }
.flex-header { display: flex; justify-content: space-between; align-items: flex-end; }
.see-more-link {
    width: 197px;
    height: 64px;
    gap: 4px;
    padding: 20px;
    border-radius: 60px;
    background: #FFFFFF;
    box-shadow: 0px 4px 4px 0px #00000040;
    opacity: 1;
    font-family: var(--font-main); /* Gilroy */
    font-size: 20px;
    font-weight: 500; /* Medium */
    font-style: normal;
    line-height: 24px;
    letter-spacing: 6px; /* 30% от 20px = 6px */
    color: var(--color-primary);
    text-decoration: none;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.see-more-link:hover {
    background: #F5F5F5;
    box-shadow: 0px 6px 6px 0px #00000040;
    transform: translateY(-2px);
}

/* --- 6. Общие Карточки и Карусели --- */
.carousel-wrapper { position: relative; }
.carousel-container {
    display: flex;
    overflow-x: auto;
    overflow-y: visible;              /* ДОБАВЛЕНО: карточки не должны обрезаться по вертикали */
    scroll-behavior: smooth;
    gap: 2.5rem; /* 40px, было 2rem (32px) - по Anatomy-2.svg */
    padding-top: 1rem; /* ДОБАВЛЕНО: чтобы тень и hover не обрезались сверху */
    padding-bottom: 1.5rem;
    -ms-overflow-style: none;
    scrollbar-width: none;
    scroll-snap-type: x mandatory; /* ДОБАВЛЕНО: snap to center */
    scroll-padding: 0 calc(50% - 270px); /* ДОБАВЛЕНО: центрирование карточек (270px = половина ширины карточки 540/2) */
}
.carousel-container::-webkit-scrollbar { display: none; }
.carousel-container .card {
    scroll-snap-align: center; /* ДОБАВЛЕНО: карточки прилипают к центру */
    scroll-snap-stop: always; /* ДОБАВЛЕНО: останавливаться на каждой карточке */
}
.carousel-btn { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; background-color: rgba(255, 255, 255, 0.9); border: 1px solid var(--color-border); border-radius: 50%; width: 55px; /* ИСПРАВЛЕНО: было 44px */ height: 55px; /* ИСПРАВЛЕНО: было 44px */ font-size: 2rem; font-weight: 300; color: var(--color-text-body); cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; opacity: 0; /* ДОБАВЛЕНО: скрыть по умолчанию */ pointer-events: none; /* ДОБАВЛЕНО: отключить клики когда скрыто */ }
.carousel-wrapper:hover .carousel-btn { opacity: 1; /* ДОБАВЛЕНО: показать при наведении */ pointer-events: auto; /* ДОБАВЛЕНО: включить клики при показе */ }
.carousel-btn:hover { background-color: var(--color-secondary-accent); color: white; border-color: var(--color-secondary-accent); }
.carousel-btn svg { flex-shrink: 0; }
.carousel-btn.prev { left: -27.5px; /* ИСПРАВЛЕНО: было -22px, теперь -55/2 */ }
.carousel-btn.next { right: -27.5px; /* ИСПРАВЛЕНО: было -22px, теперь -55/2 */ }
.carousel-nav-simple { display: flex; gap: 0.5rem; }
.carousel-btn.simple { position: static; transform: none; width: 40px; height: 40px; font-size: 1.5rem; }
.card { background: var(--color-bg-main); box-shadow: 0 8px 20px rgba(0,0,0,0.07); transition: box-shadow 0.3s ease, transform 0.3s ease; display: flex; flex-direction: column; }
.card:hover { transform: translateY(-5px); box-shadow: 0 6px 12px rgba(0,0,0,0.06); }
.card-img-top { width: 100%; object-fit: cover; }
.card p { font-size: 16px; font-weight: 400; color: var(--color-text-body); line-height: 1.6; margin: 0; }

/* --- 7. Services (Блок 2) - Спецификации: Anatomy-2.svg --- */
.service-card {
    flex: 0 0 540px;                          /* ИСПРАВЛЕНО: было 532.667px */
    width: 540px;                             /* ИСПРАВЛЕНО: было 532.667px */
    height: 419px;                            /* По Anatomy-2.svg */
    border-radius: 36px;                      /* По Anatomy-2.svg */
    background-color: #F7F7F7;                /* Фон карточки */
    box-shadow: 0px 7px 14.7px 3px #86868640; /* Тень по спецификации */
}

/* Верхний раздел карточки - изображение */
.service-card .card-img-top {
    width: 540px;                             /* ИСПРАВЛЕНО: было 532.667px */
    height: 215px;                            /* ИСПРАВЛЕНО: было 214px */
    border-top-left-radius: 40px;             /* ИСПРАВЛЕНО: было 36px */
    border-top-right-radius: 40px;            /* ИСПРАВЛЕНО: было 36px */
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    object-fit: cover;
    display: block;                           /* ДОБАВЛЕНО: убрать inline пробелы */
    margin: 0;                                /* ДОБАВЛЕНО: убрать margin */
    padding: 0;                               /* ДОБАВЛЕНО: убрать padding */
}

/* Нижний раздел карточки - контент */
.service-card .card-body {
    width: 540px;                             /* ИСПРАВЛЕНО: было 532.667px */
    height: 204px;                            /* По спецификации */
    padding: 24px;                            /* Padding 24px */
    gap: 24px;                                /* Gap между элементами */
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* Заголовок карточки */
.service-card h3 {
    font-family: var(--font-main);            /* Gilroy */
    font-size: 24px;                          /* ИСПРАВЛЕНО: было 20px */
    font-weight: 500;                         /* ИСПРАВЛЕНО: было 700, теперь Medium */
    color: var(--color-text-headings);
    line-height: 48px;                        /* ДОБАВЛЕНО */
    letter-spacing: 0.06em;                   /* ДОБАВЛЕНО: 6% */
    width: 492px;                             /* ИСПРАВЛЕНО: было 484.667px, теперь 540-48=492px */
    height: 48px;                             /* По спецификации */
    margin: 0;                                /* Убираем margin */
}

/* Описание карточки */
.service-card p {
    font-family: var(--font-main);            /* Gilroy */
    font-size: 20px;                          /* ИСПРАВЛЕНО: было 16px */
    font-weight: 400;                         /* Regular */
    color: #5D5D5D;                           /* ИСПРАВЛЕНО: был var(--color-text-body) */
    line-height: 28px;                        /* ИСПРАВЛЕНО: было 1.6 */
    letter-spacing: 0.06em;                   /* ДОБАВЛЕНО: 6% */
    width: 492px;                             /* ИСПРАВЛЕНО: было 484.667px, теперь 540-48=492px */
    height: 84px;                             /* По спецификации */
    margin: 0;
}

/* --- 7.1 Services Section Header (Специфичные стили заголовка) --- */
#services .section-header {
    display: flex;                /* Заголовок и подзаголовок на одной линии */
    gap: 40px;                    /* Отступ между блоками */
    align-items: flex-start;
    margin-bottom: 4rem;
}

#services .section-header .section-title {
    font-size: 48px;              /* По Anatomy-2.svg */
    font-weight: 250;             /* UltraLight для обычного текста */
    color: #111111;
    line-height: 64px;            /* 133% от 48px */
    letter-spacing: 0.04em;       /* 4% letter-spacing */
    flex: 1 1 50%;                /* Гибкая ширина ~50% */
    max-width: 840px;             /* Максимальная ширина */
    min-width: 0;                 /* Позволяет сжиматься */
    margin: 0;                    /* Убираем все отступы */
    padding: 0;                   /* Убираем padding */
    vertical-align: top;          /* ДОБАВЛЕНО: прижать к верху */
    align-self: flex-start;       /* ДОБАВЛЕНО: выравнивание по верху */
}
#services .section-header .section-title strong {
    font-weight: 400;             /* Regular для выделенного текста */
}

#services .section-header .section-subtitle {
    font-size: 24px;              /* По Anatomy-2.svg */
    font-weight: 400;             /* Regular */
    color: var(--color-text-body);
    line-height: 48px;            /* 200% от 24px */
    letter-spacing: 0.06em;       /* 6% letter-spacing */
    flex: 1 1 50%;                /* Гибкая ширина ~50% */
    max-width: 800px;             /* Максимальная ширина */
    min-width: 0;                 /* Позволяет сжиматься */
    height: auto;                 /* Автовысота */
    margin: 0;                    /* ДОБАВЛЕНО: убираем все отступы */
    padding: 0;                   /* ДОБАВЛЕНО: убираем padding */
    vertical-align: top;          /* ДОБАВЛЕНО: прижать к верху */
    align-self: flex-start;       /* ДОБАВЛЕНО: выравнивание по верху */
}

/* Цвет для CFD, FEA, Data Science - выделение первой части */
#services .section-header .section-subtitle .highlight {
    color: #004E7B;               /* Синий цвет для CFD, FEA, Data Science */
}

/* --- 8. Industries (Блок 3) --- */
#industries {
    background-color: #F7F7F7;
    padding-top: 100px;
    padding-bottom: 100px;
    box-sizing: border-box;
    width: 100%;                      /* Фон на всю ширину экрана */
    /* max-width убран чтобы фон расширялся за пределы 1920px */
}

#industries .container {
    max-width: 1920px;                /* Контент ограничен 1920px */
    margin-left: auto;                /* Центрирование контейнера */
    margin-right: auto;               /* Центрирование контейнера */
    padding-left: 120px;              /* ИСПРАВЛЕНО: боковой отступ слева 120px */
    padding-right: 120px;             /* ИСПРАВЛЕНО: боковой отступ справа 120px */
    padding-top: 0;                   /* ИСПРАВЛЕНО: убираем padding-top */
}

/* Industries Section Header */
#industries .section-header {
    width: 600px;                     /* ИСПРАВЛЕНО: было 534px, теперь 600px */
    height: auto;                     /* ИСПРАВЛЕНО: было 108px, теперь auto чтобы не обрезать */
    gap: 20px;                        /* Gap между заголовком и подзаголовком */
    margin-left: auto;                /* Центрирование */
    margin-right: auto;               /* Центрирование */
    margin-bottom: 40px;              /* ИСПРАВЛЕНО: было 4rem (64px), теперь 40px */
    display: flex;
    flex-direction: column;
    align-items: center;
}

#industries .section-header .section-title {
    width: 600px;                     /* ИСПРАВЛЕНО: было 534px, теперь 600px */
    height: auto;                     /* ИСПРАВЛЕНО: было 32px, чтобы не обрезать верх */
    min-height: 48px;                 /* ДОБАВЛЕНО: минимальная высота для font-size 48px */
    font-family: var(--font-main);    /* Gilroy */
    font-size: 48px;                  /* По спецификации */
    font-weight: 500;                 /* Medium */
    line-height: 48px;                /* ИСПРАВЛЕНО: было 32px, теперь 48px чтобы не обрезать */
    letter-spacing: 1.92px;           /* ИСПРАВЛЕНО: 4% от 48px = 1.92px (не em, чтобы не суммировалось с global) */
    text-align: center;
    margin: 0;
    padding: 0;
    white-space: nowrap;              /* ДОБАВЛЕНО: запретить перенос */
    overflow: visible;                /* ИСПРАВЛЕНО: было hidden, теперь visible чтобы не обрезать */
}

#industries .section-header .section-subtitle {
    width: 600px;                     /* ИСПРАВЛЕНО: было 534px, теперь 600px */
    height: 56px;                     /* По спецификации */
    font-family: var(--font-main);    /* Gilroy */
    font-size: 32px;                  /* По спецификации */
    font-weight: 400;                 /* Regular */
    line-height: 56px;                /* По спецификации */
    letter-spacing: 1.92px;           /* ИСПРАВЛЕНО: 6% от 32px = 1.92px (не em, чтобы не суммировалось с global) */
    text-align: center;               /* ДОБАВЛЕНО: центрирование */
    margin: 0;
    padding: 0;
    white-space: nowrap;              /* ДОБАВЛЕНО: запретить перенос на новую строку */
    overflow: hidden;                 /* ДОБАВЛЕНО: скрыть переполнение */
    text-overflow: ellipsis;          /* ДОБАВЛЕНО: многоточие если не помещается */
}

.industry-list {
    display: flex;
    flex-direction: column;
    align-items: center;              /* ДОБАВЛЕНО: центрирование блоков по горизонтали */
    gap: 0;                           /* ИСПРАВЛЕНО: было 40px, теперь 0 - без промежутков */
    width: 100%;                      /* ДОБАВЛЕНО: полная ширина контейнера */
}

.industry-item {
    display: flex;
    align-items: center;
    justify-content: space-between;   /* ДОБАВЛЕНО: прижать кнопку к правому краю */
    width: 100%;                      /* ИЗМЕНЕНО: адаптивная ширина вместо фиксированных 1680px */
    max-width: 1680px;                /* ДОБАВЛЕНО: максимальная ширина */
    min-height: 208px;                /* ИЗМЕНЕНО: min-height вместо height */
    height: auto;                     /* ДОБАВЛЕНО: авто высота */
    padding: 24px;                    /* По спецификации */
    gap: clamp(16px, 2vw, 20px);      /* ИЗМЕНЕНО: адаптивный gap */
    background: #F7F7F7;              /* ИСПРАВЛЕНО: был var(--color-bg-main), теперь #F7F7F7 */
    border-bottom: none;              /* ИСПРАВЛЕНО: убираем обычный border */
    border-radius: 0;                 /* ИСПРАВЛЕНО: было 16px, теперь 0 */
    box-shadow: none;                 /* ИСПРАВЛЕНО: убрали тень */
    transition: none;                 /* ИСПРАВЛЕНО: убрали transition */
    box-sizing: border-box;           /* ДОБАВЛЕНО */
    position: relative;               /* ДОБАВЛЕНО: для псевдоэлемента */
}

/* Тонкая линия 0.5px снизу через псевдоэлемент */
.industry-item::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: #004E7B;
    transform: scaleY(0.5);           /* Уменьшаем высоту в 2 раза для получения 0.5px */
    transform-origin: bottom;
    z-index: 1;                       /* ДОБАВЛЕНО: линия поверх следующего элемента */
}

.industry-item:hover {
    box-shadow: none;                 /* ИСПРАВЛЕНО: убрали hover тень */
}

.industry-img {
    width: clamp(140px, 15vw, 240px); /* ИЗМЕНЕНО: адаптивная ширина */
    height: clamp(100px, 10vw, 160px);/* ИЗМЕНЕНО: адаптивная высота */
    object-fit: cover;
    border-radius: clamp(12px, 1.5vw, 20px);
    border: 2px solid transparent;    /* ДОБАВЛЕНО: border 2px */
    margin-right: 0;                  /* ИСПРАВЛЕНО: было 2rem, теперь 0 (используем gap) */
    flex-shrink: 0;                   /* ДОБАВЛЕНО: не сжимать */
    opacity: 1;                       /* ДОБАВЛЕНО: opacity 1 */
}

.industry-text {
    flex: 1;                          /* ИЗМЕНЕНО: занимает оставшееся пространство */
    min-width: 0;                     /* ДОБАВЛЕНО: позволяет flex-элементу уменьшаться */
    height: auto;                     /* ИЗМЕНЕНО: авто высота */
    padding: clamp(10px, 1.5vw, 20px) clamp(8px, 1vw, 13px);
    gap: 8px;                         /* ДОБАВЛЕНО: gap между элементами */
    opacity: 1;                       /* ДОБАВЛЕНО: opacity */
    box-sizing: border-box;           /* ДОБАВЛЕНО */
    display: flex;                    /* ДОБАВЛЕНО: для gap */
    flex-direction: column;           /* ДОБАВЛЕНО: вертикальное расположение */
}

.industry-text h3 {
    width: 100%;                      /* ИЗМЕНЕНО: адаптивная ширина */
    height: auto;                     /* ИЗМЕНЕНО: авто высота */
    font-family: var(--font-main);    /* Gilroy */
    font-size: clamp(22px, 2.5vw, 32px);
    font-weight: 400;                 /* ИСПРАВЛЕНО: было 700, теперь 400 (Regular) */
    font-style: normal;               /* ДОБАВЛЕНО: Regular */
    line-height: 1.4;                 /* ИЗМЕНЕНО: относительный line-height */
    letter-spacing: 0.06em;           /* ИЗМЕНЕНО: относительный */
    opacity: 1;                       /* ДОБАВЛЕНО */
    margin: 0;                        /* ИСПРАВЛЕНО: было 0 0 0.5rem 0, теперь 0 (используем gap) */
    overflow: visible;                /* ДОБАВЛЕНО: текст не должен обрезаться */
    white-space: normal;              /* ИЗМЕНЕНО: разрешаем перенос */
    text-overflow: clip;              /* ДОБАВЛЕНО: не обрезать */
}

.industry-text p {
    width: 100%;                      /* ИЗМЕНЕНО: адаптивная ширина */
    height: auto;                     /* ИСПРАВЛЕНО: auto вместо фиксированной высоты для переноса текста */
    min-height: 28px;                 /* ДОБАВЛЕНО: минимальная высота */
    font-family: var(--font-main);    /* Gilroy */
    font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 400;                 /* ДОБАВЛЕНО: Regular */
    font-style: normal;               /* ДОБАВЛЕНО: Regular */
    line-height: 1.4;                 /* ИЗМЕНЕНО: относительный */
    letter-spacing: 0.06em;           /* ИЗМЕНЕНО: относительный */
    opacity: 1;                       /* ДОБАВЛЕНО */
    margin: 0;
    overflow: visible;                /* ДОБАВЛЕНО: текст не должен обрезаться */
    white-space: normal;              /* ИСПРАВЛЕНО: normal для переноса текста */
    text-overflow: clip;              /* ДОБАВЛЕНО: не обрезать */
}

.industry-link {
    width: auto;                      /* ИЗМЕНЕНО: авто ширина */
    min-width: 120px;                 /* ДОБАВЛЕНО: минимальная ширина */
    height: auto;                     /* ИЗМЕНЕНО: авто высота */
    font-family: var(--font-main);    /* Gilroy */
    font-size: clamp(14px, 1.3vw, 20px);
    font-weight: 500;                 /* ИСПРАВЛЕНО: было 700, теперь 500 (Medium) */
    font-style: normal;               /* ДОБАВЛЕНО: Medium */
    line-height: 1.2;                 /* ИЗМЕНЕНО: относительный */
    letter-spacing: 0.2em;            /* ИЗМЕНЕНО: относительный */
    opacity: 1;                       /* ДОБАВЛЕНО */
    background: transparent;          /* ИСПРАВЛЕНО: прозрачный фон */
    color: #004E7B;                   /* ИСПРАВЛЕНО: Primary Blue цвет текста */
    text-decoration: none;
    white-space: nowrap;
    padding: 0;                       /* ИСПРАВЛЕНО: убираем padding-left */
    padding-left: clamp(30px, 4vw, 60px); /* ДОБАВЛЕНО: отступ слева от текста */
    display: flex;                    /* ДОБАВЛЕНО: для центрирования */
    align-items: center;              /* ДОБАВЛЕНО: вертикальное центрирование */
    justify-content: flex-start;      /* ИСПРАВЛЕНО: выравнивание по левому краю внутри кнопки */
    flex-shrink: 0;                   /* ДОБАВЛЕНО: не сжимать */
    box-sizing: border-box;           /* ДОБАВЛЕНО */
    margin-left: auto;                /* ДОБАВЛЕНО: прижать к правому краю */
}

.industry-link:hover {
    color: var(--color-secondary-accent); /* ИСПРАВЛЕНО: меняем цвет текста на hover */
    text-decoration: none;            /* ИСПРАВЛЕНО: убираем underline */
}

/* --- 9. Case Studies (Блок 4) - Спецификации: Anatomy-4.txt --- */
#cases {
    max-width: 1920px;                /* ИСПРАВЛЕНО: max-width вместо width */
    width: 100%;                      /* ДОБАВЛЕНО: width 100% для адаптивности */
    min-height: 1008px;               /* ДОБАВЛЕНО: минимальная высота секции */
    padding-top: 100px;               /* ДОБАВЛЕНО: вертикальный отступ сверху */
    padding-bottom: 100px;            /* ДОБАВЛЕНО: вертикальный отступ снизу */
    background: #FFFFFF;              /* ДОБАВЛЕНО: белый фон */
    box-sizing: border-box;           /* ДОБАВЛЕНО */
    opacity: 1;                       /* ДОБАВЛЕНО */
    overflow-x: visible;              /* ДОБАВЛЕНО: разрешаем overflow справа для кнопки see-more */
    margin-left: auto;                /* ДОБАВЛЕНО: центрирование */
    margin-right: auto;               /* ДОБАВЛЕНО: центрирование */
}

#cases .container {
    padding-left: 120px;              /* ДОБАВЛЕНО: боковой отступ слева */
    padding-right: 120px;             /* ДОБАВЛЕНО: боковой отступ справа */
    gap: 40px;                        /* ДОБАВЛЕНО: gap между элементами */
    overflow: visible;                /* ДОБАВЛЕНО: разрешаем overflow для кнопки see-more */
}

/* Case Studies Section Header */
#cases .section-header {
    width: 1172px;                    /* ИСПРАВЛЕНО: было 1072px, теперь 1172px (+100px) */
    height: 108px;                    /* ДОБАВЛЕНО: фиксированная высота */
    gap: 20px;                        /* ДОБАВЛЕНО: gap между элементами */
    opacity: 1;                       /* ДОБАВЛЕНО */
    margin-bottom: 40px;              /* ДОБАВЛЕНО: отступ снизу */
}

/* Кнопка See more для Case Studies - размещение по центру карточек */
#cases .see-more-link {
    position: absolute;               /* ДОБАВЛЕНО: абсолютное позиционирование */
    top: 278px;                       /* ИСПРАВЛЕНО: 310px (низ изображения: wrapper 10px + container 10px + image 288px) - 32px (половина высоты кнопки 64px/2) = 278px */
    right: -40px;                     /* ИЗМЕНЕНО: сдвиг вправо на 50px (было 10px, теперь -40px) */
    transition: top 1.2s ease-in-out; /* УВЕЛИЧЕНО: было 0.6s, теперь 1.2s для синхронизации с контейнером */
}

/* Вложенный div с title и subtitle */
#cases .section-header > div {
    display: flex;                    /* ДОБАВЛЕНО: flex для вертикального расположения */
    flex-direction: column;           /* ДОБАВЛЕНО: вертикальное расположение */
    gap: 20px;                        /* ДОБАВЛЕНО: gap 20px между title и subtitle */
}

#cases .section-header .section-title {
    width: 405px;                     /* ИСПРАВЛЕНО: было 305px, теперь 405px (+100px) */
    height: auto;                     /* ИСПРАВЛЕНО: auto чтобы не обрезать */
    min-height: 32px;                 /* ДОБАВЛЕНО: минимальная высота */
    font-family: var(--font-main);    /* Gilroy */
    font-size: 48px;                  /* ДОБАВЛЕНО */
    font-weight: 500;                 /* ДОБАВЛЕНО: Medium */
    font-style: normal;               /* ДОБАВЛЕНО */
    line-height: 32px;                /* ДОБАВЛЕНО */
    letter-spacing: 1.92px;           /* ДОБАВЛЕНО: 4% от 48px = 1.92px */
    text-align: left;                 /* ИСПРАВЛЕНО: left вместо center */
    opacity: 1;                       /* ДОБАВЛЕНО */
    margin: 0;                        /* ДОБАВЛЕНО */
    padding: 0;                       /* ДОБАВЛЕНО */
    overflow: visible;                /* ДОБАВЛЕНО: текст не должен обрезаться */
}

#cases .section-header .section-subtitle {
    width: 100%;                      /* ИСПРАВЛЕНО: адаптивная ширина вместо 1172px */
    max-width: 1172px;                /* ДОБАВЛЕНО: максимальная ширина */
    height: auto;                     /* ИСПРАВЛЕНО: auto чтобы не обрезать */
    min-height: 56px;                 /* ДОБАВЛЕНО: минимальная высота */
    font-family: var(--font-main);    /* Gilroy */
    font-size: clamp(20px, 2.5vw, 32px); /* ИСПРАВЛЕНО: адаптивный размер шрифта */
    font-weight: 400;                 /* ДОБАВЛЕНО: Regular */
    font-style: normal;               /* ДОБАВЛЕНО */
    line-height: 1.75;                /* ИСПРАВЛЕНО: относительный line-height */
    letter-spacing: 0.06em;           /* ИСПРАВЛЕНО: относительный letter-spacing */
    opacity: 1;                       /* ДОБАВЛЕНО */
    margin: 0;                        /* ДОБАВЛЕНО */
    padding: 0;                       /* ДОБАВЛЕНО */
    overflow: visible;                /* ДОБАВЛЕНО: текст не должен обрезаться */
}

/* Filter Block - Hidden by default, expands with See more button */
#cases .filters-block {
    width: 100%;                      /* ИЗМЕНЕНО: адаптивная ширина */
    max-width: 1680px;                /* ДОБАВЛЕНО: максимальная ширина как у carousel-wrapper */
    max-height: 0;                    /* Скрыто по умолчанию */
    overflow: hidden;                 /* Скрывает содержимое */
    opacity: 0;                       /* Начальная прозрачность */
    margin: 0 auto;                   /* Центрирование */
    transition: max-height 0.6s ease-in-out, opacity 0.4s ease-in-out, margin-top 0.6s ease-in-out;
}

#cases .filters-block.visible {
    max-height: 500px;                /* Достаточная высота для адаптации */
    opacity: 1;                       /* Полностью видимо */
    margin-top: 40px;                 /* Отступ сверху когда видимо */
    margin-bottom: 40px;              /* Отступ снизу когда видимо */
}

#cases .filters-content {
    width: 100%;
    min-height: auto;                 /* Адаптивная высота */
    background: #F7F7F7;              /* Цвет фона */
    border-radius: 24px;              /* Скругление углов */
    padding: 24px;                    /* Увеличенный внутренний отступ для воздушности */
    box-sizing: border-box;
    display: flex;
    align-items: flex-start;          /* Выравнивание по верху */
    justify-content: flex-start;      /* Выравнивание влево */
}

/* Filter Group Container */
#cases .filter-group {
    display: flex;
    flex-direction: column;           /* Вертикальное расположение строк */
    gap: 16px;                        /* Отступ между строками */
    width: 100%;
}

/* Filter Title */
#cases .filter-title {
    font-family: var(--font-main);    /* Gilroy */
    font-size: 20px;
    font-weight: 600;                 /* Semi-bold */
    color: #004E7B;                   /* Синий цвет */
    white-space: nowrap;
    margin-bottom: 4px;               /* Небольшой отступ снизу */
}

/* Filter Row */
#cases .filter-row {
    display: flex;
    align-items: flex-start;          /* ИЗМЕНЕНО: выравнивание по верху */
    gap: 16px 24px;                   /* ИЗМЕНЕНО: row-gap и column-gap */
    flex-wrap: wrap;
    padding-left: clamp(90px, 10vw, 120px); /* ДОБАВЛЕНО: отступ слева для чекбоксов */
    position: relative;               /* ДОБАВЛЕНО: для позиционирования label */
}

/* Filter Label */
#cases .filter-label {
    font-family: var(--font-main);    /* Gilroy */
    font-size: clamp(16px, 1.5vw, 20px); /* ИЗМЕНЕНО: адаптивный размер */
    font-weight: 400;                 /* Regular как у тегов */
    color: #111111;                   /* Черный цвет */
    white-space: nowrap;
    position: absolute;               /* ИЗМЕНЕНО: абсолютное позиционирование */
    left: 0;                          /* ДОБАВЛЕНО: прижать к левому краю */
    top: 0;                           /* ДОБАВЛЕНО: прижать к верху */
}

/* Filter Checkbox Container */
#cases .filter-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;                        /* Отступ между чекбоксом и текстом */
    cursor: pointer;
    user-select: none;
}

#cases .filter-checkbox input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    cursor: pointer;
    border-radius: 8px;               /* Скругленные углы для элегантности */
    border: 1.5px solid #D0D0D0;      /* Менее выразительная рамка */
    background: #FFFFFF;
    position: relative;
    transition: all 0.2s ease;
}

#cases .filter-checkbox input[type="checkbox"]:hover {
    border-color: #004E7B;
}

#cases .filter-checkbox input[type="checkbox"]:checked {
    background: #004E7B;
    border-color: #004E7B;
}

#cases .filter-checkbox input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 45%;
    width: 6px;
    height: 11px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: translate(-50%, -50%) rotate(45deg);
}

#cases .filter-checkbox span {
    font-family: var(--font-main);    /* Gilroy */
    font-size: 20px;
    font-weight: 400;                 /* Regular */
    color: #111111;
    white-space: nowrap;
}

#cases .filter-checkbox:hover span {
    color: #004E7B;                   /* Синий при наведении */
}

/* Case Studies Grid Wrapper */
#cases .carousel-wrapper {
    position: relative;               /* Для позиционирования кнопки see-more */
    overflow: visible;                /* ИЗМЕНЕНО: разрешаем overflow для кнопки see-more */
    transition: max-height 0.6s ease-in-out;
    padding: 10px;                    /* ДОБАВЛЕНО: padding для теней при hover */
    margin: -10px;                    /* ДОБАВЛЕНО: отрицательный margin для компенсации padding */
    max-width: 1680px;                /* ДОБАВЛЕНО: ширина контейнера для 4 карточек + часть 5-й (4*390 + 3*20 + ~100px) */
}

/* Case Studies Grid Container - теперь grid вместо carousel */
#cases .carousel-container {
    display: grid;                    /* ИЗМЕНЕНО: с flex на grid */
    grid-template-columns: repeat(auto-fill, 390px); /* ИЗМЕНЕНО: auto-fill чтобы карточки не переносились */
    grid-auto-flow: column;           /* ДОБАВЛЕНО: карточки идут в одну строку */
    gap: 20px;                        /* Gap между карточками */
    padding: 10px;                    /* ДОБАВЛЕНО: padding для теней при hover */
    margin: -10px;                    /* ДОБАВЛЕНО: отрицательный margin для компенсации padding */
    overflow-x: hidden;               /* ДОБАВЛЕНО: обрезаем карточки по горизонтали (для 5-й карточки) */
    overflow-y: visible;              /* ДОБАВЛЕНО: не обрезаем по вертикали */
    max-height: 700px;                /* ИСПРАВЛЕНО: 680px + 20px (2×10px padding) */
    transition: max-height 1.2s ease-in-out; /* УВЕЛИЧЕНО: было 0.6s, теперь 1.2s для плавного сворачивания */
}

/* Развернутое состояние */
#cases .carousel-container.expanded {
    max-height: 10000px;              /* ДОБАВЛЕНО: большая высота для всех строк */
    grid-template-columns: repeat(auto-fit, minmax(390px, 390px)); /* ИЗМЕНЕНО: фиксированный размер 390px вместо 1fr */
    grid-auto-flow: row;              /* ДОБАВЛЕНО: карточки переносятся на новые строки */
    justify-content: start;           /* ДОБАВЛЕНО: карточки выравниваются по левому краю */
}

.case-card {
    width: 390px;                         /* ИЗМЕНЕНО: фиксированная ширина 390px */
    height: 660px;                        /* ИСПРАВЛЕНО: было 468px, теперь 660px */
    border-radius: 24px;                  /* ИСПРАВЛЕНО: было var(--card-radius), теперь 24px */
    padding: 12px;                        /* ДОБАВЛЕНО: padding 12px */
    background: #E8E8E8;                  /* ДОБАВЛЕНО: фон карточки */
    box-sizing: border-box;               /* ДОБАВЛЕНО: для правильного расчета размеров */
    opacity: 0;                           /* ИЗМЕНЕНО: изначально скрыты для анимации */
    transform: scale(0.8);                /* ДОБАВЛЕНО: начальный масштаб для анимации */
    box-shadow: none;                     /* ДОБАВЛЕНО: убираем тень */
    transition: opacity 0.4s ease, transform 0.4s ease; /* ДОБАВЛЕНО: плавное появление */
}

/* Видимые карточки (первые 4 в свернутом состоянии или все в развернутом) */
.case-card.visible {
    opacity: 1;
    transform: scale(1);
}

/* Скрываем кнопки карусели для секции кейсов */
#cases .carousel-btn {
    display: none;
}

/* Верхняя половина карточки - изображение */
.case-card .card-img-top {
    width: 100%;                          /* ИЗМЕНЕНО: полная ширина */
    height: 288px;                        /* ИСПРАВЛЕНО: было 200px, теперь 288px */
    border-top-left-radius: 24px;        /* ИСПРАВЛЕНО: было var(--card-radius) */
    border-top-right-radius: 24px;       /* ИСПРАВЛЕНО: было var(--card-radius) */
    border-bottom-left-radius: 0;        /* ДОБАВЛЕНО: нет скругления снизу */
    border-bottom-right-radius: 0;       /* ДОБАВЛЕНО: нет скругления снизу */
    background: #FFFFFF;                  /* ДОБАВЛЕНО: белый фон */
    opacity: 1;                           /* ДОБАВЛЕНО */
    object-fit: cover;                    /* ДОБАВЛЕНО: покрытие области */
    display: block;                       /* ДОБАВЛЕНО: убрать inline пробелы */
    margin: 0;                            /* ДОБАВЛЕНО: убрать margin */
    padding: 0;                           /* ДОБАВЛЕНО: убрать padding */
}

/* Нижняя часть карточки - контент */
.case-card .card-body {
    width: 100%;                          /* ИЗМЕНЕНО: полная ширина */
    height: 348px;                        /* ДОБАВЛЕНО: точная высота */
    padding-top: 40px;                    /* ИСПРАВЛЕНО: было 24px, теперь 40px */
    padding-right: 24px;                  /* ДОБАВЛЕНО: правый отступ */
    padding-bottom: 24px;                 /* ДОБАВЛЕНО: нижний отступ */
    padding-left: 24px;                   /* ДОБАВЛЕНО: левый отступ */
    gap: 24px;                            /* ДОБАВЛЕНО: gap между элементами */
    border-bottom-left-radius: 24px;     /* ДОБАВЛЕНО: скругление снизу слева */
    border-bottom-right-radius: 24px;    /* ДОБАВЛЕНО: скругление снизу справа */
    background: #FFFFFF;                  /* ДОБАВЛЕНО: белый фон */
    opacity: 1;                           /* ДОБАВЛЕНО */
    box-sizing: border-box;               /* ДОБАВЛЕНО */
    display: flex;                        /* ДОБАВЛЕНО: для gap */
    flex-direction: column;               /* ДОБАВЛЕНО: вертикальное расположение */
    flex-grow: 0;                         /* ИСПРАВЛЕНО: было 1, теперь 0 - фиксированная высота */
    box-shadow: 0 -4px 36px rgba(0, 0, 0, 0.008); /* ДОБАВЛЕНО: размытая едва заметная тень по верхнему краю для отделения от изображения */
}
/* Заголовок внутри карточки кейса */
.case-card h3 {
    width: 100%;                          /* ИЗМЕНЕНО: адаптивная ширина */
    height: 48px;                         /* ДОБАВЛЕНО: фиксированная высота */
    font-family: var(--font-main);        /* Gilroy */
    font-size: 20px;                      /* По спецификации */
    font-weight: 700;                     /* Bold */
    font-style: normal;                   /* ДОБАВЛЕНО */
    line-height: 24px;                    /* ИСПРАВЛЕНО: было auto, теперь 24px */
    letter-spacing: 2.4px;                /* ДОБАВЛЕНО: 12% от 20px = 2.4px */
    color: var(--color-text-headings);
    opacity: 1;                           /* ДОБАВЛЕНО */
    margin: 0;                            /* ИСПРАВЛЕНО: убираем margin (используем gap в card-body) */
    overflow: visible;                    /* ДОБАВЛЕНО: текст не должен обрезаться */
    display: flex;                        /* ДОБАВЛЕНО: для vertical-align */
    align-items: center;                  /* ДОБАВЛЕНО: vertical-align: middle */
}

/* Описание внутри карточки кейса */
.case-card .card-body > p {
    width: 100%;                          /* ИЗМЕНЕНО: адаптивная ширина */
    height: 156px;                        /* ДОБАВЛЕНО: фиксированная высота */
    font-family: var(--font-main);        /* Gilroy */
    font-size: 16px;                      /* По спецификации */
    font-weight: 400;                     /* Regular */
    font-style: normal;                   /* ДОБАВЛЕНО */
    line-height: 24px;                    /* ДОБАВЛЕНО */
    letter-spacing: 0.96px;               /* ДОБАВЛЕНО: 6% от 16px = 0.96px */
    color: var(--color-text-body);
    opacity: 1;                           /* ДОБАВЛЕНО */
    margin: 0;                            /* ИСПРАВЛЕНО: убираем margin (используем gap в card-body) */
    overflow: visible;                    /* ДОБАВЛЕНО: текст не должен обрезаться */
}
.case-card .card-footer {
    padding: 0;                           /* ИСПРАВЛЕНО: убираем padding, теперь footer внутри card-body */
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.tag {
    height: 32px;                     /* ИСПРАВЛЕНО: фиксированная высота */
    padding: 0 14px;                  /* ИСПРАВЛЕНО: только горизонтальный padding для вертикального центрирования */
    gap: 10px;                        /* ДОБАВЛЕНО */
    border-radius: 60px;              /* ИСПРАВЛЕНО: было 12px, теперь 60px */
    background: #004E7B;              /* ИСПРАВЛЕНО: было #E9ECEF, теперь #004E7B */
    color: #FFFFFF;                   /* По спецификации */
    font-family: var(--font-main);    /* Gilroy */
    font-size: 12px;                  /* По спецификации */
    font-weight: 500;                 /* ИСПРАВЛЕНО: было 700, теперь 500 (Medium) */
    font-style: normal;               /* ДОБАВЛЕНО: Medium */
    line-height: 16px;                /* ДОБАВЛЕНО */
    letter-spacing: 0.72px;           /* ДОБАВЛЕНО: 6% от 12px = 0.72px */
    text-align: center;               /* ДОБАВЛЕНО */
    opacity: 1;                       /* ДОБАВЛЕНО */
    box-sizing: border-box;           /* ДОБАВЛЕНО */
    display: inline-flex;             /* ДОБАВЛЕНО: для правильного выравнивания */
    align-items: center;              /* ДОБАВЛЕНО: вертикальное центрирование (работает теперь без padding-top/bottom) */
    justify-content: center;          /* ДОБАВЛЕНО: горизонтальное центрирование */
    white-space: nowrap;              /* ДОБАВЛЕНО: текст в одну строку */
}

/* --- 10. Customers (Блок 5) --- */
#customers {
    background-color: #F7F7F7;
    padding-top: 100px;
    padding-bottom: 120px;
    position: relative;
    overflow: visible;
    width: 100%;                      /* Фон на всю ширину экрана */
    /* max-width убран чтобы фон расширялся за пределы 1920px */
}

#customers .container {
    max-width: 1920px;                /* Контент ограничен 1920px */
    margin-left: auto;                /* Центрирование контейнера */
    margin-right: auto;               /* Центрирование контейнера */
    padding-left: 120px;
    padding-right: 120px;
    position: relative;
    z-index: 2;  /* Контент выше watermark */
}

.customers-brand {
    position: absolute;
    width: 627px;
    height: 128px;
    top: -25px;
    right: calc(50% - 960px + 11px); /* Привязка к правому краю контента 1920px (960px = 1920/2, 11px = оригинальный отступ) */
    font-family: var(--font-logo);  /* Inter */
    font-weight: 700;
    font-size: 128px;
    line-height: 100%;
    letter-spacing: 0%;
    color: #FFFFFF;
    text-transform: lowercase;
    z-index: 1;
    opacity: 1;
}

/* Для экранов <= 1920px возвращаем обычное позиционирование */
@media (max-width: 1920px) {
    .customers-brand {
        right: 11px;
    }
}

#customers .section-header {
    position: relative;
}

.customers-nav {
    position: absolute;
    bottom: 0;
    right: 0;
    display: flex;
    gap: 30px;
    z-index: 10;
}

.customers-nav-btn {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: none;
    background-color: #FFFFFF;
    color: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
    padding: 0;
    outline: none;
}

.customers-nav-btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.customers-nav-btn:hover {
    background-color: var(--color-secondary-accent);
    color: white;
}

#customers .carousel-wrapper {
    overflow: visible;
}

#customers .carousel-container {
    padding-left: 0;
    padding-right: 0;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 calc(50% - 404px); /* Центрирование карточек (404px = половина ширины карточки 809/2) */
}

#customers .carousel-container .card {
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

#customers .section-header .section-title {
    font-family: 'Gilroy', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 32px;
    letter-spacing: 0.04em;  /* 4% */
    text-align: left;
    margin-bottom: 20px;  /* Gap to subtitle */
}

#customers .section-header .section-subtitle {
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 56px;
    letter-spacing: 0.06em;  /* 6% */
    text-align: left;
}

.testimonial-card {
    flex: 0 0 809px;
    max-width: 809px;
    min-width: 809px;
    width: 100%;
    min-height: 316px;
    border-radius: 36px;
    background: #F7F7F7;
    box-shadow: 0px 7px 14.7px 3px rgba(134, 134, 134, 0.25);
}

.testimonial-card .card-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 32px;
    border-top-left-radius: 36px;
    border-top-right-radius: 36px;
    background: #FFFFFF;
    box-sizing: border-box;
    flex: 1;
    position: relative;
}

.testimonial-card h3 {
    width: 100%;
    max-width: 756px;
    min-height: 24px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.12em; /* 12% */
    color: #004E7B;
    margin: 0;
}

.testimonial-card .card-body p.testimonial-text {
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 20px !important;
    line-height: 28px;
    letter-spacing: 0.06em; /* 6% */
    color: #000000;
    overflow: hidden;
    position: relative;
}

.testimonial-text-wrapper {
    position: relative;
}

.testimonial-text {
    position: relative;
}

.testimonial-text:not(.expanded) {
    max-height: 84px; /* 3 lines × 28px */
    overflow: hidden;
    position: relative;
    padding-right: 60px; /* Место для троеточия */
}

.testimonial-text:not(.expanded)::after {
    content: '... more';
    position: absolute;
    bottom: 0;
    right: 0;
    background: #FFFFFF;
    color: #004E7B;
    font-weight: 700;
    font-size: 20px;
    line-height: 28px;
    padding-left: 10px;
}

.testimonial-text.expanded {
    max-height: none;
}

.testimonial-text.expanded::after {
    display: none;
}

.read-more-btn {
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer;
    background: transparent;
    border: none;
    padding: 0;
    width: 200px;    /* Увеличено с 100px для лучшего попадания */
    height: 56px;    /* Увеличено с 28px для лучшего попадания */
    color: transparent;
    font-size: 0;
    z-index: 10;
}

.testimonial-text.expanded + .read-more-btn {
    position: static;
}
.testimonial-author {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 24px;
    width: 100%;
    height: 128px;
    padding: 32px;
    border-bottom-right-radius: 36px;
    border-bottom-left-radius: 36px;
    border-top: none;
    box-sizing: border-box;
}

.testimonial-author-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    max-width: 640px;
    min-height: 58px;
}

.testimonial-avatar {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.testimonial-author strong {
    display: block;
    width: 100%;
    min-height: 24px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.12em; /* 12% */
    color: var(--color-text-headings);
}

.testimonial-author span {
    display: block;
    width: 100%;
    min-height: 28px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0.06em; /* 6% */
    color: #5D5D5D;
}

/* --- 11. Team (Блок 6) - Спецификации: Anatomy-6.txt --- */
#team {
    padding-top: 100px;
    padding-bottom: 100px;
    background: #FFFFFF;
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

#team .container {
    padding-left: 120px;
    padding-right: 120px;
    overflow: visible;
}

#team .section-header {
    text-align: left;
    position: relative;
}

#team .section-header .section-title {
    font-family: 'Gilroy', sans-serif;
    font-weight: 500;
    font-size: 48px;
    line-height: 32px;
    letter-spacing: 0.04em; /* 4% */
    text-align: left;
    margin-bottom: 20px;
}

#team .carousel-wrapper {
    overflow: visible;
}

#team .section-header .section-subtitle {
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 32px;
    line-height: 56px;
    letter-spacing: 0.06em; /* 6% */
    text-align: left;
}

.team-grid {
    display: flex;
    gap: 40px;
    overflow-x: auto;
    overflow-y: visible;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-top: 1rem;
    padding-bottom: 1.5rem;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 calc(50% - 192px); /* Центрирование карточек (192px = половина ширины карточки 384/2) */
}

.team-grid::-webkit-scrollbar {
    display: none; /* Скрываем скроллбар для Chrome, Safari, Opera */
}

.team-card {
    position: relative;
    width: 384px;
    min-width: 384px;
    height: 546px;
    border-radius: 60px;
    background-color: #f0f0f0; /* Добавляем фон на случай, если фото не загрузится */
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
    scroll-snap-align: center;
    scroll-snap-stop: always;
}

.team-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.1);
}

.team-photo {
    width: 100%;
    height: 546px; /* Задаем фиксированную высоту для самого изображения */
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 60px; /* Переносим скругление на само изображение */
    transition: filter 0.3s ease;
}

.team-info {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    min-height: 200px; /* Используем min-height для гибкости при раскрытии */
    height: 200px;
    background: linear-gradient(179.98deg, rgba(0, 0, 0, 0) 48.5%, #000000 110.21%);
    padding: 24px;
    padding-top: 48px;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    border-radius: 0 0 60px 60px; /* Скругляем нижние углы для градиента */
}
.team-info h3 {
    width: 308px;
    height: 32px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.06em;
    text-align: center;
    color: #FFFFFF;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}
.team-info .team-position {
    width: 336px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 32px;
    letter-spacing: 0.06em;
    text-align: center;
    color: #E8E8E8;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    cursor: pointer;
}

.team-info .team-details {
    width: 336px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.06em;
    text-align: center;
    color: #E8E8E8;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    margin-top: 12px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.4s ease, margin-top 0.4s ease;
}

.team-card.expanded .team-info {
    height: auto;
    min-height: 200px;
}

.team-card.expanded .team-photo {
    filter: brightness(0.4);
    transition: filter 0.3s ease;
}

.team-card.expanded .team-details {
    max-height: 500px;
    opacity: 1;
    margin-top: 12px;
}

/* --- 12. Contact (Блок 7) - Спецификации: Anatomy-8.txt, Anatomy-9.txt --- */
#contact {
    padding-top: 100px;
    padding-bottom: 60px;
    background: #F7F7F7;
    width: 100%;                      /* Фон на всю ширину экрана */
    /* max-width убран чтобы фон расширялся за пределы 1920px */
}

#contact .container {
    max-width: 1920px;                /* Контент ограничен 1920px */
    margin-left: auto;                /* Центрирование контейнера */
    margin-right: auto;               /* Центрирование контейнера */
    padding-left: clamp(20px, 6vw, 120px);
    padding-right: clamp(20px, 6vw, 120px);
}

.contact-section { background-color: var(--color-bg-alt); }
.contact-grid {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) minmax(350px, 1.5fr);
    gap: clamp(30px, 4vw, 60px);
    align-items: flex-start;
}

/* Contact Info - левая секция */
.contact-info {
}

.contact-info .section-title {
    height: auto;
    font-family: 'Gilroy', sans-serif;
    font-weight: 500;
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-align: left;
    color: #111111;
    margin: 0 0 24px 0;
}

.contact-info .section-subtitle {
    height: auto;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.6;
    letter-spacing: 0.06em;
    color: #111111;
    margin: 0 0 24px 0;
}

.contact-info .contact-item {
    height: auto;
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

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

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

.contact-info a,
.contact-info span {
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: clamp(16px, 1.5vw, 24px);
    line-height: 1.5;
    letter-spacing: 0.04em;
    color: #004E7B;
    text-decoration: none;
    word-break: break-word;
}

.contact-info a:hover {
    color: var(--color-secondary-accent);
    text-decoration: underline;
}

.contact-copyright {
    margin-top: 60px;
    height: 48px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 48px;
    letter-spacing: 0.06em; /* 6% */
    color: #5D5D5D;
    text-align: center;
}

#contact-form {
    height: auto;
    padding: clamp(24px, 4vw, 60px);
    border-radius: clamp(20px, 3vw, 40px);
    background: #FFFFFF;
    box-shadow: 2px 2px 14px 0px rgba(134, 134, 134, 0.25), -2px -2px 14px 0px rgba(134, 134, 134, 0.25);
    border: none;
    box-sizing: border-box;
}

#contact-form .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 0;
    height: auto;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

#contact-form .form-group {
    margin-top: 0;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
}

#contact-form > .form-group {
    margin-top: 24px;
}

.form-group {
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
}
#contact-form .form-group label {
    height: 16px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 0.06em; /* 6% */
    text-transform: uppercase;
    color: #111111;
    margin-bottom: 8px;
}

#contact-form .form-group input {
    width: 100%;
    height: 44px;
    padding: 12px;
    font-size: 16px;
    font-family: var(--font-main);
    color: var(--color-text-headings);
    border: 1px solid #E8E8E8;
    border-radius: 8px;
    background: #FFFFFF;
    box-sizing: border-box;
}

#contact-form .form-group textarea {
    width: 100%;
    height: 96px;
    padding: 12px;
    font-size: 16px;
    font-family: var(--font-main);
    color: var(--color-text-headings);
    border: 1px solid #E8E8E8;
    border-radius: 8px;
    background: #FFFFFF;
    box-sizing: border-box;
    line-height: 1.5;
    resize: none;
}

.form-group label {
    font-family: var(--font-main);
    font-size: 12px;
    font-weight: 700;
    color: var(--color-text-body);
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 0 16px;
    height: 56px;
    line-height: 56px;
    font-size: 16px;
    font-family: var(--font-main);
    color: var(--color-text-headings);
    border: 1px solid var(--color-border);
    border-radius: var(--input-radius);
    background-color: var(--color-bg-alt);
    box-sizing: border-box;
}
.form-group textarea {
    height: auto; 
    line-height: 1.5;
    padding: 16px;
}
.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--color-placeholder);
}
.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(0, 95, 115, 0.1);
    background-color: white;
}
#contact-form .form-footer {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin: 0;
    padding: 0;
}

.form-footer {
    text-align: right;
}
#contact-form .btn-primary {
    width: 188px;
    height: 64px;
    padding: 20px 60px;
    border-radius: 60px;
    border-width: 0;
    font-family: 'Gilroy', sans-serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    letter-spacing: 0.3em; /* 30% */
    color: #FFFFFF;
    background: #004E7B;
}

/* --- 13. Footer --- */
#footer {
    padding: 2rem 0;
    background-color: var(--color-bg-main);
    border-top: 1px solid var(--color-border);
    max-width: 1920px;
    margin-left: auto;
    margin-right: auto;
}

#footer p {
    text-align: center;
    height: 48px;
    font-family: 'Gilroy', sans-serif;
    font-weight: 400;
    font-size: 24px;
    line-height: 48px;
    letter-spacing: 0.06em; /* 6% */
    color: #5D5D5D;
    margin: 0;
}

/* --- 14. Адаптивность (Общая) --- */

/* Адаптивные отступы контейнера */
@media (max-width: 1920px) {
    :root {
        --container-padding-x: 80px; /* Уменьшенные отступы для экранов меньше 1920px */
    }
}

@media (max-width: 1440px) {
    :root {
        --container-padding-x: 64px; /* Средние отступы для ноутбуков */
    }
}

@media (max-width: 1280px) {
    :root {
        --container-padding-x: 48px; /* Меньшие отступы */
    }
}

@media (max-width: 1024px) {
    :root {
        --container-padding-x: 24px; /* Минимальные отступы для мобильных */
    }

    /* Мобильное меню начинается с 1024px */
    body { padding-top: 70px; }
    .sticky-header { height: 70px; }
    #mobile-menu { top: 70px; }
    #desktop-nav { display: none; }
    #mobile-menu-button { display: block; }
    #mobile-menu.hidden { display: none; }
    #mobile-menu.visible { display: flex; }
    .main-section { padding-top: 4rem; padding-bottom: 4rem; }

    .hero-container { flex-direction: column; text-align: center; }
    .hero-text { max-width: 100%; order: 2; }
    .hero-buttons { justify-content: center; }
    .flex-header { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .testimonial-card { flex: 0 0 60%; width: 60%; }
    .team-grid { grid-template-columns: repeat(2, 1fr); justify-items: center; }
    .team-card { width: 100%; height: auto; aspect-ratio: 304 / 336; }
    .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
    .contact-info { text-align: center; }
    .contact-info .section-subtitle { margin-left: auto; margin-right: auto; }
    .contact-info ul { align-items: center; }
    .contact-info li { text-align: left; }

    /* Services Section Header - адаптация */
    #services .section-header {
        flex-direction: column;
        gap: 24px;
        align-items: flex-start;
    }
    #services .section-header .section-title {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    #services .section-header .section-subtitle {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    /* Contact Section - адаптация */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .contact-info {
        text-align: left;
    }
    .contact-info .contact-item {
        justify-content: flex-start;
    }
    #contact-form .form-grid {
        grid-template-columns: 1fr 1fr;
    }

    /* === HERO SECTION - MOBILE ADAPTATION === */
    .hero-section {
        padding-top: 80px !important;
        padding-bottom: 60px !important;
        min-height: auto !important;
        height: auto !important;
        flex-direction: column !important;
        overflow: visible !important;
        position: relative !important;
    }

    .hero-container {
        flex-direction: column !important;
        align-items: center !important;
        order: 1 !important;
    }

    .hero-text {
        max-width: 100% !important;
        text-align: center !important;
        z-index: 10;
    }

    .hero-subtitle {
        font-size: 16px !important;
        line-height: 24px !important;
        letter-spacing: 0.3px !important;
    }

    .hero-title {
        font-size: 32px !important;
        line-height: 1.3 !important;
        margin-top: 0.75rem !important;
        margin-bottom: 1rem !important;
    }

    .hero-title strong {
        font-weight: 600 !important;
    }

    .hero-description {
        font-size: 18px !important;
        line-height: 32px !important;
        letter-spacing: 0.5px !important;
        width: 100% !important;
        margin-right: 0 !important;
        margin-bottom: 2rem !important;
    }

    .hero-buttons {
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
        align-items: center !important;
    }

    .hero-buttons .btn {
        width: 100% !important;
        max-width: 300px !important;
        height: 56px !important;
        padding: 16px 40px !important;
        font-size: 18px !important;
    }

    /* Hero Images - показываем под кнопками, сохраняем взаимное расположение как на десктопе (70% от предыдущего) */
    .hero-image {
        display: block !important;
        position: absolute !important;
        width: 224px !important;
        height: 129px !important;
        border-radius: 12px !important;
        box-shadow: 0px 3px 12px rgba(0,0,0,0.2) !important;
    }

    /* Контейнер для картинок - добавляем отступ снизу */
    .hero-section {
        padding-bottom: 340px !important;
    }

    /* Сохраняем относительное расположение как на десктопе, но центрируем группу */
    .hero-image.image-1 {
        bottom: 126px !important;
        left: calc(50% - 140px) !important;
        top: auto !important;
        transform: rotate(12deg) !important;
        z-index: 9 !important;
    }
    .hero-image.image-2 {
        bottom: 14px !important;
        left: calc(50% - 182px) !important;
        top: auto !important;
        transform: rotate(20deg) !important;
        z-index: 7 !important;
    }
    .hero-image.image-3 {
        bottom: 56px !important;
        left: calc(50% - 42px) !important;
        top: auto !important;
        transform: rotate(-15deg) !important;
        z-index: 8 !important;
    }

    /* Hero Brand - скрываем watermark на мобильных */
    .hero-brand {
        display: none !important;
    }

    .section-header .section-title { font-size: 2rem; }
    .carousel-btn { display: none; }
    .carousel-nav-simple { display: none; }

    /* === SERVICES SECTION - MOBILE ADAPTATION === */
    #services {
        padding-top: 60px;
        padding-bottom: 60px;
        min-height: auto !important;
    }

    #services .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #services .section-header {
        flex-direction: column !important;
        gap: 24px !important;
        align-items: flex-start !important;
        margin-bottom: 32px !important;
    }

    #services .section-header .section-title {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 32px !important;
        line-height: 40px !important;
        height: auto !important;
        letter-spacing: 0.02em !important;
    }

    #services .section-header .section-title strong {
        font-weight: 500 !important;
    }

    #services .section-header .section-subtitle {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        font-size: 18px !important;
        line-height: 32px !important;
        letter-spacing: 0.04em !important;
    }

    /* Services Carousel - горизонтальная прокрутка */
    #services .carousel-container {
        gap: 20px !important;
        padding-bottom: 20px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    #services .carousel-container::-webkit-scrollbar {
        height: 8px;
    }

    #services .carousel-container::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 4px;
    }

    #services .carousel-container::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }

    #services .carousel-container::-webkit-scrollbar-thumb:hover {
        background: #aaa;
    }

    /* Service Cards - адаптивные размеры */
    .service-card {
        flex: 0 0 calc(100% - 40px) !important;
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        min-width: calc(100% - 40px) !important;
        height: auto !important;
        border-radius: 24px !important;
        scroll-snap-align: center;
    }

    .service-card .card-img-top {
        width: 100% !important;
        height: 200px !important;
        border-top-left-radius: 24px !important;
        border-top-right-radius: 24px !important;
    }

    .service-card .card-body {
        width: 100% !important;
        height: auto !important;
        padding: 20px !important;
        gap: 16px !important;
    }

    .service-card h3 {
        width: 100% !important;
        height: auto !important;
        font-size: 20px !important;
        line-height: 28px !important;
        letter-spacing: 0.04em !important;
    }

    .service-card p {
        width: 100% !important;
        height: auto !important;
        font-size: 16px !important;
        line-height: 24px !important;
        letter-spacing: 0.04em !important;
    }

    /* === INDUSTRIES SECTION - MOBILE ADAPTATION === */
    #industries {
        padding-top: 60px;
        padding-bottom: 60px;
        min-height: auto !important;
    }

    #industries .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #industries .section-header {
        width: 100% !important;
        height: auto !important;
        margin-bottom: 32px !important;
    }

    #industries .section-header .section-title {
        width: 100% !important;
        font-size: 32px !important;
        line-height: 40px !important;
        height: auto !important;
        min-height: auto !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    #industries .section-header .section-subtitle {
        width: 100% !important;
        font-size: 20px !important;
        line-height: 32px !important;
        height: auto !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    /* Industry List */
    .industry-list {
        gap: 0 !important;
    }

    .industry-item {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        padding: 20px 0 !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 16px !important;
    }

    /* Тонкая линия снизу */
    .industry-item::after {
        left: 0;
        right: 0;
    }

    .industry-img {
        width: 100% !important;
        max-width: 100% !important;
        height: 180px !important;
        border-radius: 16px !important;
        margin-right: 0 !important;
    }

    .industry-text {
        width: 100% !important;
        height: auto !important;
        padding: 0 !important;
        gap: 8px !important;
    }

    .industry-text h3 {
        width: 100% !important;
        height: auto !important;
        font-size: 24px !important;
        line-height: 32px !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }

    .industry-text p {
        width: 100% !important;
        height: auto !important;
        font-size: 16px !important;
        line-height: 24px !important;
        white-space: normal !important;
        text-overflow: clip !important;
    }

    .industry-link {
        width: auto !important;
        height: auto !important;
        font-size: 16px !important;
        line-height: 20px !important;
        letter-spacing: 0.15em !important;
        padding: 0 !important;
        margin-left: 0 !important;
        margin-top: 8px !important;
    }

    /* === CASE STUDIES SECTION - MOBILE ADAPTATION === */
    #cases {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    #cases .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #cases .section-header {
        width: 100% !important;
        height: auto !important;
        margin-bottom: 32px !important;
    }

    #cases .section-header > div {
        gap: 16px !important;
    }

    #cases .section-header .section-title {
        width: 100% !important;
        font-size: 32px !important;
        line-height: 40px !important;
        height: auto !important;
        min-height: auto !important;
    }

    #cases .section-header .section-subtitle {
        width: 100% !important;
        max-width: 100% !important;
        font-size: 20px !important;
        line-height: 32px !important;
        height: auto !important;
        min-height: auto !important;
    }

    /* Filters Block - адаптация для мобильных */
    #cases .filters-block {
        max-width: 100% !important;
    }

    #cases .filters-block.visible {
        max-height: 1200px !important; /* Много высоты для мобильных фильтров с переносами */
    }

    #cases .filters-content {
        padding: 20px !important;
        border-radius: 16px !important;
    }

    #cases .filter-title {
        font-size: 18px !important;
        margin-bottom: 12px !important;
    }

    #cases .filter-row {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        gap: 8px 12px !important;
        padding-left: 0 !important;
        position: relative !important;
        padding-top: 32px !important; /* Место для label сверху */
    }

    #cases .filter-label {
        font-size: 14px !important;
        font-weight: 600 !important;
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        margin-bottom: 8px !important;
    }

    #cases .filter-checkbox {
        width: auto !important;
    }

    #cases .filter-checkbox span {
        font-size: 14px !important;
    }

    #cases .filter-checkbox input[type="checkbox"] {
        width: 20px !important;
        height: 20px !important;
    }

    /* Case Studies - вертикальный grid на мобильных */
    #cases .carousel-wrapper {
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        position: relative !important;
    }

    #cases .carousel-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-auto-flow: row !important;
        gap: 24px !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important;
        max-height: none !important; /* Убираем ограничение высоты для показа всех карточек */
        transition: none !important;
    }

    #cases .carousel-container.expanded {
        max-height: none !important;
        overflow: visible !important;
    }

    /* Case Cards - полная ширина на мобильных */
    .case-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        flex: none !important;
        height: auto !important;
        border-radius: 20px !important;
        padding: 10px !important;
        display: none !important;          /* По умолчанию скрыты */
        opacity: 0 !important;
        transform: none !important;
    }

    .case-card.visible {
        display: block !important;         /* Показываем только с классом visible */
        opacity: 1 !important;
        transform: none !important;
    }

    .case-card.hidden {
        display: none !important;          /* Скрытые фильтром */
        opacity: 0 !important;
    }

    .case-card .card-img-top {
        height: 200px !important;
        border-top-left-radius: 20px !important;
        border-top-right-radius: 20px !important;
    }

    .case-card .card-body {
        width: 100% !important;
        height: auto !important;
        min-height: auto !important;
        padding: 24px 20px !important;
        gap: 16px !important;
        border-bottom-left-radius: 20px !important;
        border-bottom-right-radius: 20px !important;
    }

    .case-card h3 {
        width: 100% !important;
        height: auto !important;
        font-size: 18px !important;
        line-height: 24px !important;
        letter-spacing: 0.08em !important;
    }

    .case-card .card-body > p {
        width: 100% !important;
        height: auto !important;
        font-size: 15px !important;
        line-height: 22px !important;
    }

    .case-card .card-footer {
        gap: 8px !important;
    }

    .tag {
        height: 28px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
        line-height: 14px !important;
        border-radius: 50px !important;
    }

    /* See More кнопка - центрируем под списком */
    #cases .see-more-link {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-top: 32px !important;
        display: flex !important;
        width: auto !important;
        max-width: 240px !important;
        height: 56px !important;
        padding: 16px 32px !important;
        font-size: 18px !important;
        letter-spacing: 0.2em !important;
        transition: margin-top 0.3s ease !important;
    }

    /* === CUSTOMERS/TESTIMONIALS SECTION - MOBILE ADAPTATION === */
    #customers {
        padding-top: 60px;
        padding-bottom: 80px;
    }

    #customers .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Скрываем watermark "segmenta" на мобильных */
    .customers-brand {
        display: none !important;
    }

    #customers .section-header {
        margin-bottom: 40px;
    }

    #customers .section-header .section-title {
        font-size: 32px !important;
        line-height: 40px !important;
        margin-bottom: 16px !important;
    }

    #customers .section-header .section-subtitle {
        font-size: 20px !important;
        line-height: 32px !important;
    }

    /* Скрываем кнопки навигации на мобильных */
    #customers .customers-nav {
        display: none !important;
    }

    /* Testimonials carousel - горизонтальная прокрутка */
    #customers .carousel-container {
        gap: 20px !important;
        padding-bottom: 20px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    #customers .carousel-container::-webkit-scrollbar {
        height: 8px;
    }

    #customers .carousel-container::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 4px;
    }

    #customers .carousel-container::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }

    #customers .carousel-container::-webkit-scrollbar-thumb:hover {
        background: #aaa;
    }

    /* Testimonial Cards - адаптивные размеры */
    .testimonial-card {
        flex: 0 0 calc(100% - 40px) !important;
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        min-width: calc(100% - 40px) !important;
        min-height: auto !important;
        border-radius: 24px !important;
        scroll-snap-align: center;
    }

    .testimonial-card .card-body {
        padding: 24px !important;
        gap: 12px !important;
        border-top-left-radius: 24px !important;
        border-top-right-radius: 24px !important;
    }

    .testimonial-card h3 {
        font-size: 18px !important;
        line-height: 24px !important;
        letter-spacing: 0.08em !important;
    }

    .testimonial-card .card-body p.testimonial-text {
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .testimonial-text:not(.expanded) {
        max-height: 72px !important; /* 3 lines × 24px */
    }

    .testimonial-text:not(.expanded)::after {
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .testimonial-author {
        padding: 24px !important;
        height: auto !important;
        min-height: 100px !important;
        gap: 16px !important;
        border-bottom-right-radius: 24px !important;
        border-bottom-left-radius: 24px !important;
    }

    .testimonial-avatar {
        width: 56px !important;
        height: 56px !important;
    }

    .testimonial-author-text {
        gap: 4px !important;
        min-height: auto !important;
    }

    .testimonial-author strong {
        font-size: 16px !important;
        line-height: 22px !important;
        height: auto !important;
        min-height: auto !important;
    }

    .testimonial-author span {
        font-size: 14px !important;
        line-height: 20px !important;
        height: auto !important;
        min-height: auto !important;
    }

    .industry-item { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
    .industry-img { width: 100%; height: 150px; margin-right: 0; }
    .industry-link { padding-left: 0; margin-top: 1rem; }
    /* === TEAM SECTION - MOBILE ADAPTATION === */
    #team {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    #team .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    #team .section-header {
        margin-bottom: 40px;
    }

    #team .section-header .section-title {
        font-size: 32px !important;
        line-height: 40px !important;
        margin-bottom: 16px !important;
    }

    #team .section-header .section-subtitle {
        font-size: 20px !important;
        line-height: 32px !important;
    }

    /* Скрываем кнопки навигации на мобильных */
    #team .customers-nav {
        display: none !important;
    }

    /* Team Grid - горизонтальная прокрутка на мобильных */
    .team-grid {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        gap: 20px !important;
        padding-bottom: 20px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    .team-grid::-webkit-scrollbar {
        height: 8px;
    }

    .team-grid::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: 4px;
    }

    .team-grid::-webkit-scrollbar-thumb {
        background: #ccc;
        border-radius: 4px;
    }

    .team-grid::-webkit-scrollbar-thumb:hover {
        background: #aaa;
    }

    /* Team Cards - адаптивные размеры */
    .team-card {
        flex: 0 0 280px !important;
        width: 280px !important;
        min-width: 280px !important;
        height: 400px !important;
        aspect-ratio: auto !important;
        border-radius: 40px !important;
        scroll-snap-align: center;
    }

    .team-photo {
        height: 400px !important;
        border-radius: 40px !important;
    }

    .team-info {
        padding: 20px !important;
        padding-top: 40px !important;
        min-height: 180px !important;
        height: 180px !important;
        border-radius: 0 0 40px 40px !important;
    }

    .team-info h3 {
        width: 100% !important;
        max-width: 240px !important;
        font-size: 20px !important;
        line-height: 28px !important;
        height: auto !important;
        white-space: normal !important;
    }

    .team-info .team-position {
        width: 100% !important;
        max-width: 240px !important;
        font-size: 18px !important;
        line-height: 26px !important;
    }

    .team-info .team-details {
        width: 100% !important;
        max-width: 240px !important;
        font-size: 14px !important;
        line-height: 20px !important;
    }

    /* Развернутые карточки */
    .team-card.expanded .team-info {
        height: auto !important;
        min-height: 180px !important;
    }
    .form-grid { grid-template-columns: 1fr; gap: 0; }

    /* === CONTACT SECTION - MOBILE ADAPTATION === */
    #contact {
        padding-top: 60px;
        padding-bottom: 40px;
    }

    #contact .container {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* Сетка контактов - вертикальная на мобильных */
    .contact-grid {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    /* Contact Info - левая секция */
    .contact-info {
        text-align: left;
    }

    .contact-info .section-title {
        font-size: 32px !important;
        line-height: 40px !important;
        height: auto !important;
        margin-bottom: 24px !important;
        text-align: left !important;
    }

    .contact-info .section-subtitle {
        font-size: 18px !important;
        line-height: 32px !important;
        height: auto !important;
        margin-bottom: 32px !important;
        text-align: left !important;
    }

    .contact-info .contact-item {
        height: auto !important;
        flex-direction: row;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
        text-align: left;
    }

    .contact-info .contact-icon {
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        margin-top: 4px;
    }

    .contact-info a,
    .contact-info span {
        font-size: 18px !important;
        line-height: 28px !important;
        word-break: break-word;
        text-align: left;
    }

    /* Contact Form - правая секция */
    #contact-form {
        height: auto !important;
        padding: 30px 20px !important;
        border-radius: 24px !important;
    }

    #contact-form .form-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        height: auto !important;
    }

    #contact-form .form-group {
        margin-bottom: 20px !important;
    }

    #contact-form > .form-group {
        margin-top: 20px !important;
    }

    #contact-form .form-group label {
        font-size: 12px !important;
        margin-bottom: 8px;
    }

    #contact-form .form-group input {
        width: 100% !important;
        max-width: 100% !important;
        height: 48px !important;
        font-size: 16px !important;
        padding: 12px 16px !important;
    }

    #contact-form .form-group textarea {
        width: 100% !important;
        max-width: 100% !important;
        height: 120px !important;
        font-size: 16px !important;
        padding: 12px 16px !important;
        resize: vertical;
    }

    #contact-form .form-footer {
        justify-content: center !important;
        margin-top: 20px;
    }

    #contact-form .btn-primary {
        width: 100% !important;
        max-width: 280px !important;
        height: 56px !important;
        padding: 16px 40px !important;
        font-size: 18px !important;
    }

    /* Copyright */
    .contact-copyright {
        margin-top: 40px !important;
        font-size: 16px !important;
        line-height: 28px !important;
        height: auto !important;
    }
}

/* === ДОПОЛНИТЕЛЬНАЯ АДАПТАЦИЯ ДЛЯ ОЧЕНЬ МАЛЕНЬКИХ ЭКРАНОВ === */
@media (max-width: 480px) {
    :root {
        --container-padding-x: 16px;
    }

    /* Hero Section - маленькие экраны */
    .hero-section {
        padding-top: 60px !important;
        padding-bottom: 300px !important;
    }

    .hero-subtitle {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .hero-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }

    .hero-description {
        font-size: 16px !important;
        line-height: 28px !important;
        margin-bottom: 1.5rem !important;
    }

    .hero-buttons .btn {
        max-width: 100% !important;
        height: 52px !important;
        padding: 14px 32px !important;
        font-size: 16px !important;
    }

    /* Industries Section - маленькие экраны */
    #industries .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #industries .section-header .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    #industries .section-header .section-subtitle {
        font-size: 18px !important;
        line-height: 28px !important;
    }

    .industry-item {
        padding: 16px 0 !important;
        gap: 12px !important;
    }

    .industry-img {
        height: 160px !important;
        border-radius: 12px !important;
    }

    .industry-text h3 {
        font-size: 22px !important;
        line-height: 30px !important;
    }

    .industry-text p {
        font-size: 15px !important;
        line-height: 22px !important;
    }

    .industry-link {
        font-size: 14px !important;
        line-height: 18px !important;
    }

    /* Services Section - маленькие экраны */
    #services .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #services .section-header .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    #services .section-header .section-subtitle {
        font-size: 16px !important;
        line-height: 28px !important;
    }

    .service-card {
        flex: 0 0 calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        min-width: calc(100% - 32px) !important;
        border-radius: 20px !important;
    }

    .service-card .card-img-top {
        height: 180px !important;
        border-top-left-radius: 20px !important;
        border-top-right-radius: 20px !important;
    }

    .service-card .card-body {
        padding: 16px !important;
    }

    .service-card h3 {
        font-size: 18px !important;
        line-height: 26px !important;
    }

    .service-card p {
        font-size: 15px !important;
        line-height: 22px !important;
    }

    /* Case Studies Section - маленькие экраны */
    #cases .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #cases .section-header .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    #cases .section-header .section-subtitle {
        font-size: 18px !important;
        line-height: 28px !important;
    }

    #cases .filters-content {
        padding: 16px !important;
    }

    #cases .filter-title {
        font-size: 16px !important;
    }

    #cases .filter-label,
    #cases .filter-checkbox span {
        font-size: 13px !important;
    }

    #cases .filter-row {
        gap: 6px 10px !important;
        padding-top: 28px !important;
    }

    #cases .filter-checkbox input[type="checkbox"] {
        width: 18px !important;
        height: 18px !important;
    }

    #cases .carousel-container {
        max-height: 2200px !important; /* Меньше для маленьких экранов */
    }

    #cases .carousel-container.expanded {
        max-height: 15000px !important;
    }

    .case-card {
        border-radius: 16px !important;
        padding: 8px !important;
    }

    .case-card .card-img-top {
        height: 180px !important;
        border-top-left-radius: 16px !important;
        border-top-right-radius: 16px !important;
    }

    .case-card .card-body {
        padding: 20px 16px !important;
        border-bottom-left-radius: 16px !important;
        border-bottom-right-radius: 16px !important;
    }

    .case-card h3 {
        font-size: 16px !important;
        line-height: 22px !important;
    }

    .case-card .card-body > p {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .tag {
        height: 24px !important;
        padding: 0 10px !important;
        font-size: 10px !important;
        line-height: 12px !important;
    }

    #cases .see-more-link {
        max-width: 200px !important;
        height: 48px !important;
        padding: 12px 24px !important;
        font-size: 16px !important;
    }

    /* Customers/Testimonials Section - маленькие экраны */
    #customers .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #customers .section-header .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    #customers .section-header .section-subtitle {
        font-size: 18px !important;
        line-height: 28px !important;
    }

    .testimonial-card {
        flex: 0 0 calc(100% - 32px) !important;
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        min-width: calc(100% - 32px) !important;
        border-radius: 20px !important;
    }

    .testimonial-card .card-body {
        padding: 20px !important;
        border-top-left-radius: 20px !important;
        border-top-right-radius: 20px !important;
    }

    .testimonial-card h3 {
        font-size: 16px !important;
        line-height: 22px !important;
    }

    .testimonial-card .card-body p.testimonial-text {
        font-size: 14px !important;
        line-height: 22px !important;
    }

    .testimonial-text:not(.expanded) {
        max-height: 66px !important; /* 3 lines × 22px */
    }

    .testimonial-text:not(.expanded)::after {
        font-size: 14px !important;
        line-height: 22px !important;
    }

    .testimonial-author {
        padding: 20px !important;
        border-bottom-right-radius: 20px !important;
        border-bottom-left-radius: 20px !important;
    }

    .testimonial-avatar {
        width: 48px !important;
        height: 48px !important;
    }

    .testimonial-author strong {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    .testimonial-author span {
        font-size: 13px !important;
        line-height: 18px !important;
    }

    /* Team Section - маленькие экраны */
    #team .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    #team .section-header .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    #team .section-header .section-subtitle {
        font-size: 18px !important;
        line-height: 28px !important;
    }

    .team-card {
        flex: 0 0 260px !important;
        width: 260px !important;
        min-width: 260px !important;
        height: 370px !important;
    }

    .team-photo {
        height: 370px !important;
    }

    .team-info {
        padding: 16px !important;
        padding-top: 32px !important;
    }

    .team-info h3 {
        max-width: 228px !important;
        font-size: 18px !important;
        line-height: 26px !important;
    }

    .team-info .team-position {
        max-width: 228px !important;
        font-size: 16px !important;
        line-height: 24px !important;
    }

    .team-info .team-details {
        max-width: 228px !important;
        font-size: 13px !important;
        line-height: 18px !important;
    }

    /* Contact Section - маленькие экраны */
    #contact .container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .contact-info .section-title {
        font-size: 28px !important;
        line-height: 36px !important;
    }

    .contact-info .section-subtitle {
        font-size: 16px !important;
        line-height: 28px !important;
    }

    .contact-info a,
    .contact-info span {
        font-size: 16px !important;
        line-height: 24px !important;
    }

    #contact-form {
        padding: 24px 16px !important;
    }

    #contact-form .btn-primary {
        max-width: 100% !important;
        font-size: 16px !important;
    }

    .contact-copyright {
        font-size: 14px !important;
        line-height: 24px !important;
    }
}

/* ===================================================================
   CASE STUDY MODAL STYLES
   =================================================================== */

.case-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.case-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    visibility: visible;
}

.case-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    backdrop-filter: blur(4px);
}

.case-modal-content {
    position: relative;
    background: #FFFFFF;
    border-radius: 24px;
    max-width: 720px;
    width: calc(100% - 48px);
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transform: translateY(20px);
    transition: transform 0.3s ease;
    z-index: 10001;
}

.case-modal.active .case-modal-content {
    transform: translateY(0);
}

.case-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    border: none;
    background: #F5F5F5;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1A1A1A;
    transition: background-color 0.2s ease, transform 0.2s ease;
    z-index: 10;
}

.case-modal-close:hover {
    background: #E0E0E0;
    transform: scale(1.05);
}

.case-modal-close:active {
    transform: scale(0.95);
}

.case-modal-header {
    padding: 40px 40px 0 40px;
}

.case-modal-header h2 {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 36px;
    letter-spacing: 0.08em;
    color: #1A1A1A;
    margin: 0;
    padding-right: 40px;
}

.case-modal-body {
    padding: 24px 40px;
}

.case-modal-body p {
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 32px;
    letter-spacing: 0.02em;
    color: #4A4A4A;
    margin: 0;
}

.case-modal-footer {
    padding: 0 40px 40px 40px;
}

.case-modal-footer .card-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

/* Case card with modal - cursor pointer */
.case-card.has-modal {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.case-card.has-modal:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
}

/* Prevent body scroll when modal is open */
body.modal-open {
    overflow: hidden;
}

/* Mobile styles for modal */
@media (max-width: 1024px) {
    .case-modal-content {
        width: calc(100% - 32px);
        max-height: calc(100vh - 48px);
        border-radius: 20px;
    }

    .case-modal-close {
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
    }

    .case-modal-header {
        padding: 32px 24px 0 24px;
    }

    .case-modal-header h2 {
        font-size: 22px;
        line-height: 30px;
        padding-right: 32px;
    }

    .case-modal-body {
        padding: 20px 24px;
    }

    .case-modal-body p {
        font-size: 16px;
        line-height: 28px;
    }

    .case-modal-footer {
        padding: 0 24px 32px 24px;
    }
}

@media (max-width: 480px) {
    .case-modal-content {
        width: calc(100% - 24px);
        max-height: calc(100vh - 32px);
        border-radius: 16px;
    }

    .case-modal-close {
        top: 12px;
        right: 12px;
        width: 32px;
        height: 32px;
    }

    .case-modal-close svg {
        width: 18px;
        height: 18px;
    }

    .case-modal-header {
        padding: 24px 20px 0 20px;
    }

    .case-modal-header h2 {
        font-size: 18px;
        line-height: 26px;
        padding-right: 28px;
    }

    .case-modal-body {
        padding: 16px 20px;
    }

    .case-modal-body p {
        font-size: 15px;
        line-height: 26px;
    }

    .case-modal-footer {
        padding: 0 20px 24px 20px;
    }

    .case-modal-footer .tag {
        height: 26px !important;
        padding: 0 12px !important;
        font-size: 11px !important;
    }
}