/* ==========================================
   ПОДКЛЮЧЕНИЕ ЛОКАЛЬНЫХ ШРИФТОВ
   ========================================== */

/* montserrat-regular - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* montserrat-500 - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* montserrat-600 - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/montserrat-v31-cyrillic_cyrillic-ext_latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* golos-text-regular - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* golos-text-500 - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* golos-text-600 - cyrillic_cyrillic-ext_latin */
@font-face {
  font-display: swap;
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/golos-text-v7-cyrillic_cyrillic-ext_latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* ==========================================
   ШАБЛОН АДАПТИВА
   ========================================== */

@media (max-width: 3440px) {
	
}

@media (max-width: 2560px) {
	
}

@media (max-width: 1920px) {
	
}

@media (max-width: 1680px) {
	
}

@media (max-width: 1440px) {
	
}

@media (max-width: 1440px) {
	
}

@media (max-width: 1366px) {
	
}

@media (max-width: 1024px) {

}

@media (max-width: 768px) {

}

@media (max-width: 480px) {

}

@media (max-width: 320px) {

}

.avia body {
	overscroll-behavior-y: none;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	min-height: 100vh;
	scroll-padding-top: var(--flow);
	text-underline-offset: .1em;
}
.avia :focus-visible {
	outline:currentcolor solid 2px
}
.avia:not(.is-ready) body {
	opacity:0
}
.avia:not(.is-ready) body *{
	transition:none!important
}
.avia.is-loading {
	opacity:.5;transition:opacity,.3s
}
.avia.is-loading *{
	pointer-events:none!important
}

/* ==========================================
   ПЕРЕОПРЕДЕЛЕНИЕ ШРИФТОВ (Google Fonts)
   ========================================== */

:root {
    /* Шрифт для всех заголовков (h1-h6) */
    --heading-font-family: 'Montserrat', sans-serif !important;
    
    /* Шрифт для основного текста (body, p, span, инпуты) */
    --body-font-family: 'Golos Text', sans-serif !important;
}

:root {
  /* ==========================================
     1. ТВОИ ФИРМЕННЫЕ ЦВЕТА (Брендбук)
     ========================================== */
  --black: #071839;
  --primary: #122c5f;
  --black-opacity--10: #122c5f1a;
  --white: #f9f9f9;
  --white-opacity--30: #f9f9f94d;
  --white-opacity--10: #f9f9f91a;
  --white-opacity--3: #f9f9f908;
  --black-opacity--70: #122c5fb3;
  --white-opacity--70: #f9f9f9b3;
  --white-opacity--20: #f9f9f933;
  --primary-light: #254583;
  --secondary: #eb5c1e;
  --black-opacity--50: #122c5f80;
  --black-opacity--7: #122c5f12;
  --grey: #dcdee3;
  --white-opacity--50: #f9f9f980;
  --black-text: #212121;
  --step--1: 16px;
  --step--2: 18px;
  --step--3: 20px;
  --body-font-size: 20px;
  --body-font-size-big: 22px;
  --step-5: 56px;
  --step-4: 56px;

  /* ==========================================
     2. ПЕРЕОПРЕДЕЛЕНИЕ БАЗОВЫХ ЦВЕТОВ САЙТА
     ========================================== */
  
  /* Светлые оттенки и фоны */
  --color-white: var(--white);             /* Изначально #fff */
  --color-white-3: var(--white-opacity--20); /* Изначально прозрачный белый */
  --color-gray: var(--grey);               /* Изначально #f1f1f1 */
  --color-placeholder: var(--grey);

  /* Основной темный (заменяем старый #0d1c28 на твой фирменный Primary) */
  --color-blue: var(--primary);            
  --color-blue-3: var(--black-opacity--50); /* Для подложек и оверлеев */
  --color-blue-7: var(--black-opacity--70); 

  /* Промежуточные светлые/синие оттенки */
  --color-pale-blue: var(--grey);          /* Изначально #e4e8f1 */
  --color-pale-blue-dark: var(--primary-light); /* Изначально #7888b9 */

  /* Самый темный (черный текст и элементы) */
  --color-black: var(--black);             /* Изначально #000 */


  /* ==========================================
     3. ОРАНЖЕВЫЙ ЦВЕТ ДЛЯ МЕЛКИХ ДЕТАЛЕЙ
     ========================================== */
  
  /* Слайдеры и галереи (Swiper & Fancybox) */
  --swiper-theme-color: var(--secondary);
  --f-carousel-theme-color: var(--secondary);
  --f-progress-color: var(--secondary);
  
  /* Инпуты с ползунками (Dual Range Input) */
  --dri-track-filled-color: var(--secondary);
  --dri-thumb-active-color: var(--secondary);
}

body {
    color: var(--black-text, #000);
}
h1, h2, h3, h4, h5 {
	color: var(--body-color, #000);
}
.dark-section h1, .dark-section h2, .dark-section h3, .dark-section h4, .dark-section h5 {
	color: var(--color-white);
}
h1, h2, h3, h4, h5, h6, .c-site-menu__nav a, .c-header-hp__accent p, .c-header-hp__accent a {
    font-family: var(--heading-font-family);
}

/* ==========================================
   4. ТОЧЕЧНАЯ ПОКРАСКА (КНОПКИ, ФИЛЬТРЫ, ХОВЕРЫ)
   ========================================== */

/* Главные кнопки сайта (делаем оранжевыми с белым текстом) */
.o-button,
.c-anchor-nav__items a,
.c-anchor-nav__toggle,
.FormBuilder button[type=submit] {
    --btn-swatch-bg: var(--secondary);
    --btn-swatch-fg: var(--white);
    --btn-wave-color: var(--primary); /* Волна при наведении будет фирменно-синей */
}

/* Второстепенные кнопки (чтобы не перегружать интерфейс, их делаем синими) */
.o-button--secondary {
    --btn-swatch-bg: var(--primary);
    --btn-swatch-fg: var(--white);
}

/* Активные фильтры-пилюли (Сектор, Тип бассейна и т.д.) */
.u-filter-chip li:has(input:checked) {
    background-color: var(--secondary);
    border-color: var(--secondary);
    color: var(--white);
}

/* Перекрашиваем активные буллиты в слайдерах */
.swiper-pagination-bullet-active {
    background: var(--secondary);
}

/* Оранжевые акценты на ссылках в футере и меню при наведении */
.c-site-footer a:hover,
.c-site-menu__nav a:hover {
    color: var(--secondary);
    transition: color 0.3s ease;
}

/* Перекрашиваем фокусы инпутов в формах */
.FormBuilder input[type=text]:focus,
.FormBuilder input[type=email]:focus,
.FormBuilder input[type=date]:focus,
.FormBuilder textarea:focus,
.FormBuilder select:focus {
    border-color: var(--secondary);
}

@media (min-width: 768px) {
  /* Сбрасываем специфичные настройки для ломаной сетки */
  .c-grid-projects__item,
  .c-grid-projects.first-lg .c-grid-projects__item {
      --column-start: auto !important;
      grid-row-start: auto !important;
      margin-top: 0 !important;
	  --ratio: 4/3;
      --column-span: 3 !important; /* 4 элемента в ряд */
  }
  .c-grid-projects.first-lg .c-grid-projects__item:first-child {--ratio:4/3}
}

.u-has-lanes::after {
    --col-size: calc((100% - var(--container-padding) * 2 - var(--gutter-x) * 11) / 12);
    --col-size-gutter: calc(var(--col-size) + var(--gutter-x));
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 50%;
    
    /* 1. Делаем блок шириной ровно в 6 колонок (с отступами) */
    width: calc(var(--col-size-gutter) * 6);
    
    /* 2. Левая и правая рамки встанут ИДЕАЛЬНО после 3-й и 9-й колонок */
    border: 1px solid currentcolor;
    border-top-width: 0;
    border-bottom-width: 0;
    
    /* 3. Центральная линия встанет ИДЕАЛЬНО после 6-й колонки (по центру блока) */
    background-image: linear-gradient(currentcolor, currentcolor);
    background-size: 1px 100%;
    background-position: center;
    background-repeat: no-repeat;
    
    opacity: .3;
    pointer-events: none;
    content: "";
    transform: translateX(-50%);
    will-change: opacity;
}

/* =========================================================
   ПЕРЕОПРЕДЕЛЕНИЕ СЕТКИ ДЛЯ 4-Х КОЛОНОЧНОГО РЕЖИМА (КРАТНО 3)
   ========================================================= */

  .c-banner-media__title {
    --column-span: 12;
    --column-start: 1;
  }
   .c-banner-media__text {
    --column-span: 12;
    --column-start: 1;
  }

@media (min-width: 768px) {
.special-product .c-banner-media__title {
	--column-span: 12;
	--column-start: 1;
	grid-row-start: 2;
}
.special-product .c-banner-media__text {
	--column-span: 12;
	--column-start: 1;
	grid-row-start: 3;
}
.full-quality .c-banner-media__title {
	--column-span: 6;
	--column-start: 4;
}
.full-quality .c-banner-media__text {
	--column-span: 6;
	--column-start: 4;
}
.special-product .c-banner-media__content {
    grid-template-rows: 1fr 1fr 1fr 1fr;
    color: var(--color-white);
}
.full-quality .c-banner-media__content {
    grid-template-rows: 1fr;
    color: var(--color-white);
}
.special-product .c-banner-media__content, .full-quality .c-banner-media__content {
    color: var(--black-text);
}
}


@media (min-width: 768px) {
  .c-banner-navigation__title {
    --column-span: 9; 
    --column-start: 4; 
  }
}

@media (min-width: 768px) { 
  /* Сама форма */
  .o-container.o-grid > [data-component="form"].o-col-sm-8.o-col-start-sm-5 {
    --column-span: 9;
    --column-start: 4;
  }
}

@media (min-width: 768px) {
.c-text-list__image {
    --column-start: 4;
}
.c-text-list__item-title {
    --column-start: 7;
}
.c-job-list__item-counter {
    --column-span: 3;
}
.c-job-list__item-header {
    --column-span: 6;
    --column-start: 4;
}
.c-job-list__item-icon {
    --column-span: 3;
    --column-start: 10;
}
.u-fs-6 {
    --column-span: 3;
}
}

@media (min-width: 992px) {
    .c-textmedia__text {
        --column-span: 6;
    }
}
@media (min-width: 768px) {
    .u-image-lg {
        --column-span: 6;
        --column-start: 7;
    }
}
@media (min-width: 992px) {
    .c-grid-accessories__item {
        --column-span: 3;
    }
}
@media (min-width: 992px) {
    .c-dl__items {
        --column-span: 6;
        --column-start: 4;
    }
}
.c-site-footer__info {
    --column-span: 3;
}
@media (min-width: 1024px) {
    .c-site-footer__nav>ul {
        --column-span: 9;
		--column-start: 4;
    }
}
@media (min-width: 768px) {
    /* 1. Превращаем контейнер списка в 12-колоночную сетку (имитируем .o-grid) */
    .c-project-list__wrapper {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        column-gap: var(--gutter-x);
    }
    
    /* 2. Сдвигаем шапку таблицы и сам список на 4-ю колонку */
    .c-project-list__header,
    .c-project-list__items {
        grid-column: 4 / span 9; 
        /* 4 - старт (ровно по первой полосе), span 9 - занимаем оставшуюся ширину */
    }
}
@media (min-width: 768px) {
    /* Включаем сетку для контейнера фильтров */
    #filters-nav {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        column-gap: var(--gutter-x);
    }
    
    /* Сдвигаем сами кнопки фильтров на 4-ю колонку */
    .c-filters-nav {
        grid-column: 4 / span 9;
    }
}

.u-bg-blue .o-media {
    --media-bg-default: #fff;
}
.c-filters-nav {
    background-color: var(--white);
}

/* ==========================================
   5. АНИМАЦИЯ САМОЛЕТА (Взлет при наведении)
   ========================================== */

.o-button, .c-site-menu__cta, .c-banner-navigation__link, .c-banner-next__link, .FormBuilder button[type=submit] {
    position: relative;
    overflow: hidden; /* Чтобы самолет не вылетал за границы раньше времени */
	font-size: var(--step--3);
}

/* Элемент самолета */
.o-button__plane {
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: 0;
    width: 40px; /* Увеличено в 2 раза */
    height: 40px; /* Увеличено в 2 раза */
    background-color: currentColor; /* Цвет самолета будет таким же, как у текста кнопки */
    opacity: 0;
    pointer-events: none;
    
    /* Трафарет самолета */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,16V14L13,9V3.5A1.5,1.5 0 0,0 11.5,2A1.5,1.5 0 0,0 10,3.5V9L2,14V16L10,13.5V19L8,20.5V22L11.5,21L15,22V20.5L13,19V13.5L21,16Z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21,16V14L13,9V3.5A1.5,1.5 0 0,0 11.5,2A1.5,1.5 0 0,0 10,3.5V9L2,14V16L10,13.5V19L8,20.5V22L11.5,21L15,22V20.5L13,19V13.5L21,16Z'/%3E%3C/svg%3E");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    
    /* Начальная позиция: чуть за краем слева внизу, повернут на 45 градусов к цели */
    transform: translate(-100%, 100%) rotate(45deg);
}

/* Запуск анимации при наведении */
.o-button:hover .o-button__plane,
.c-site-menu__cta:hover .o-button__plane,
.c-banner-navigation__link:hover .o-button__plane,
.c-banner-next__link:hover .o-button__plane {
    animation: plane-takeoff 2.4s cubic-bezier(0.4, 0, 0.2, 1) forwards; /* Замедлено в 2 раза */
}

@keyframes plane-takeoff {
    0% {
        transform: translate(-100%, 100%) rotate(45deg);
        opacity: 0;
    }
    20% {
        opacity: 0.7; /* Прозрачность 70% */
    }
    80% {
        opacity: 0.7;
    }
    100% {
        /* Улетает далеко за верхний правый край */
        transform: translate(1000%, -1000%) rotate(45deg);
        opacity: 0;
    }
}

/* ==========================================
   6. ЗАМЕНА ВОЛНЫ НА ПЛАВНОЕ ДИАГОНАЛЬНОЕ ЗАПОЛНЕНИЕ
   ========================================== */

/* Используем маску для создания идеально ровной линии, 
   которая движется плавно, как старые волны */
.can-hover .o-button::after, 
.can-hover .c-site-menu__cta::after, 
.can-hover .c-header-hp__accent::after,
.can-hover .c-banner-next__link::after,
.FormBuilder .can-hover button[type=submit]::after,
.can-hover .FormBuilder button[type=submit]::after {
    /* Создаем диагональную маску: 50% прозрачно, 50% залито */
    -webkit-mask-image: linear-gradient(225deg, transparent 50%, #000 50%) !important;
    mask-image: linear-gradient(225deg, transparent 50%, #000 50%) !important;
    -webkit-mask-size: 400% 400% !important; /* Увеличиваем маску для плавного хода */
    mask-size: 400% 400% !important;
    -webkit-mask-position: 100% 0% !important; /* Стартовая позиция (пусто) */
    mask-position: 100% 0% !important;
    
    animation: none !important; /* Отключаем старые волны */
    transform: none !important; /* Убираем старый вертикальный сдвиг */
    
    /* Сохраняем оригинальные цвета и прозрачность волны (0.2) */
    background-color: var(--btn-wave-color, var(--btn-swatch-fg)) !important;
    opacity: var(--btn-wave-opacity, .2);
    
    /* Скорость заполнения такая же, как у самолета (2.4s) */
    transition: -webkit-mask-position 2.4s cubic-bezier(0.4, 0, 0.2, 1), 
                mask-position 2.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
    
    /* Растягиваем на всю кнопку ровно */
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: -2 !important;
}

/* При наведении — маска плавно смещается, заполняя кнопку */
.can-hover .o-button:hover::after, 
.can-hover .c-site-menu__cta:hover::after, 
.can-hover .c-header-hp__accent:hover::after,
.can-hover .c-banner-next__link:hover::after,
.FormBuilder .can-hover button[type=submit]:hover::after,
.can-hover .FormBuilder button[type=submit]:hover::after {
    -webkit-mask-position: 0% 100% !important;
    mask-position: 0% 100% !important;
}

.can-hover .c-header-hp__accent::after {
	opacity: 0.05;
}

.c-header-hp__accent {
    background-color: var(--white-opacity--10);
}

.c-header-hp .o-text-reveal-lines {
    --line-height: 1.1;
    line-height: var(--line-height);
}

/* Поднимаем текст и иконки над заполнителем, не ломая позиционирование самолета */
.o-button > span:not(.o-button__plane), 
.o-button > svg {
    position: relative;
    z-index: 2;
}

.c-banner-navigation .c-banner-navigation__item .o-button--secondary {
    --btn-swatch-bg: #fff;
	color: #fff;
}
@media (min-width: 768px) {
    .c-header-hp__accent {
        --column-span: 4;
        --column-start: 9;
        font-size: var(--step-1);
    }
}

/* .c-site-header__nav {
    position: relative;
    display: flex;
    align-items: center;
} */

.c-header-phone {
    position: relative;
    color: white;
    text-decoration: none;
    font-size: var(--body-font-size);
    font-weight: 400;
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    z-index: 1;
    transition: width 1s ease, opacity 1s ease, margin 0.3s ease, padding 0.3s ease;
	overflow: hidden;
}

.c-header-phone img {
    width: 20px;
    filter: brightness(0) invert(1);
    height: auto;
    transition: transform 0.3s ease;
}

/* Эффект при скролле вниз */
.c-site-header.is-scrolled .c-header-phone {
    height: calc(var(--btn-min-height)*1.0488);
    width: calc(var(--btn-min-height)*1.0488);
    justify-content: center;
    gap: 0;
    padding: 0;	
	background-color: var(--color-blue-3);
    border-radius: var(--btn-border-radius);
    -webkit-backdrop-filter: var(--blur-effect);
    backdrop-filter: var(--blur-effect);
}

.header-invert .c-site-header.is-scrolled .c-header-phone {
    background-color: var(--color-white-3);
}

.c-site-header.is-scrolled .c-header-phone span {
    display: none;
}


/* Стили для поиска, чтобы он перекрывал телефон */
.c-site-header__search {
    position: relative;
    z-index: 10; /* Выше чем у телефона */
}

/* Фон для формы поиска, чтобы она была непрозрачной и закрывала телефон */
#search-box {
    z-index: 11;
}

@media (min-width: 992px) {
    .c-about-main__text {
        --column-span: 6;
        --column-start: 4;
    }
}
.c-grid-projects__header {
    margin-bottom: auto;
}

.u-has-lanes:not(.u-bg-blue):has(+.u-bg-blue) {
    padding-bottom: initial;
}

.o-slider-posts {
    gap: var(--space-2xl-3xl);
}

.c-job-list .o-slider-posts__header {
	padding-bottom: var(--space-2xl-3xl);
}

.c-job-list__item-content {
    --column-start: 4;
}

.FormBuilder input[type=color], .FormBuilder input[type=date], .FormBuilder input[type=datetime-local], .FormBuilder input[type=datetime], .FormBuilder input[type=email], .FormBuilder input[type=file], .FormBuilder input[type=month], .FormBuilder input[type=number], .FormBuilder input[type=password], .FormBuilder input[type=search], .FormBuilder input[type=tel], .FormBuilder input[type=text], .FormBuilder input[type=time], .FormBuilder input[type=url], .FormBuilder input[type=week], .FormBuilder textarea, .FormBuilder select {
    border: none;
    border-radius: initial;
    background-color: var(--body-bg, #fff);
    border-bottom: 1px solid rgba(0, 0, 0, .1);
	padding: .5em .5em .5em 0em;
	font-size: var(--step--3);
}

.FormBuilder textarea {
	min-height: 150px;
}

.avi-file-upload-trigger span{
	font-size: var(--step--3);
}

.FormBuilder .InputfieldCheckbox.InputfieldStateRequired label>span.pw-no-select::after, .FormBuilder .InputfieldStateRequired>.InputfieldHeader:first-child::after {
    content: none;
}


@media (min-width: 1300px) {
.o-slider-posts .swiper-slide {
    width: calc(var(--column-width-gutter) * var(--cols) * 0.989);
}
}
@media (min-width: 1900px) {
.o-slider-posts .swiper-slide {
    width: calc(var(--column-width-gutter) * var(--cols) * 0.992);
}
}
@media (min-width: 2500px) {
.o-slider-posts .swiper-slide {
    width: calc(var(--column-width-gutter) * var(--cols) * 0.994);
}
}
@media (min-width: 3300px) {
.o-slider-posts .swiper-slide {
    width: calc(var(--column-width-gutter) * var(--cols) * 0.997);
}
}
@media (max-width: 768px) {
.o-slider-posts .swiper-slide {
    width: calc(var(--column-width-gutter) * var(--cols) * 1);
}
}

.c-card-category__title {
    max-width: none;
}

/* ==========================================
   ИЗМЕНЕНИЯ ПО ТЗ
   ========================================== */

/* Затемнение видео в секции героя на 10% синим фоном */
#hero .o-media::after {
    background-color: var(--color-blue) !important;
    opacity: 0.1 !important;
    z-index: 2;
}

/* Заголовки капсом */
h1, h2, h3 {
    text-transform: uppercase;
}

.u-text-none-transform {
    text-transform: none;
}

/* Блок #hero - плашка с цифровыми данными */
@media (min-width: 768px) {
    #hero .c-header-hp__content {
        position: relative;
    }
    #hero .c-header-hp__accent {
		bottom: 0;
        /* right: calc(((var(--container-padding) * 1) / 2) - 1px);
		width: 108%; */
		border-bottom-right-radius: 0;
        border-top-right-radius: 0;
		width: 100%;
        padding-right: var(--container-padding);
        right: calc(var(--container-padding) * -1);
        z-index: 3;
		}
}
#hero .c-header-hp__accent .o-media {
    width: 30%;
    height: fit-content;
}

/* Блок #benefits - иконки */
.c-banner-tris__item-title {
    position: relative;
    display: flex;
    align-items: center;
    text-transform: uppercase;
}

.c-benefit-icon {
    position: absolute;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: inline-block;
    width: 35px;
    height: 35px;
    background-color: var(--secondary);
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
	transform: none !important;
	pointer-events: none;
}

.c-banner-tris__grid-item:hover .c-benefit-icon {
    opacity: 1;
}

.icon-book-open { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>'); mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>'); }
.icon-bar-chart { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="20" x2="12" y2="10"/><line x1="18" y1="20" x2="18" y2="4"/><line x1="6" y1="20" x2="6" y2="16"/></svg>'); mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="20" x2="12" y2="10"/><line x1="18" y1="20" x2="18" y2="4"/><line x1="6" y1="20" x2="6" y2="16"/></svg>'); }
.icon-shield { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>'); mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/></svg>'); }
.icon-users { -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>'); mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>'); }

/* Анимация при наведении: двигаем текст (как раньше это делал класс u-text-dot) */
.c-banner-tris__item-title span:nth-child(2) {
    transition: transform 0.3s ease;
    display: inline-block;
}
.c-banner-tris__grid-item:hover .c-banner-tris__item-title span:nth-child(2) {
    transform: translateX(50px);
}

/* Стили для списков в преимуществах */
.c-banner-tris__item-description ul {
    list-style: none;
    padding-left: 0;
    margin-top: 15px;
}
.c-banner-tris__item-description ul li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    line-height: 1.4;
}
.c-banner-tris__item-description ul li::before {
    content: '•';
    color: var(--secondary);
    position: absolute;
    left: 0;
    top: 0;
    font-size: var(--step--2);
}
.c-banner-tris__grid::before {
    background-color: var(--color-blue);
    opacity: initial;
}
.c-banner-tris__grid-item {
    padding-top: 33vh;
}

.c-grid-projects__item-header span:last-child {
    font-weight: bold;
    color: var(--secondary);
}

/* Блок #faq - цвет иконок */
#faq .o-icon {
    color: var(--secondary);
}

/* Блоки с текстом (Спецпредложение, Обучение) */
.c-custom-list ul {
    list-style: none;
    padding-left: 0;
}
.c-custom-list ul li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.5rem;
}
.c-custom-list ul li::before {
    content: '●';
    color: var(--secondary);
    position: absolute;
    left: 0;
    top: 0;
}
.c-custom-list h4 {
    margin-bottom: 1rem;
}
.c-contact-large {
    font-size: var(--step-2);
    font-weight: bold;
    color: var(--color-blue);
    margin: 0;
    display: block;
}
.orange-large {
	color: var(--secondary);
}
.blue-text {
	color: var(--primary);
}

/* Блок формы - контакты */
.c-form-contact-info {
    margin-bottom: var(--space-m);
}
.c-form-contact-info h4 {
    margin-bottom: 20px;
}
.c-attach-resume {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 2rem;
    margin-top: 2rem;
    color: var(--color-black);
    font-weight: 500;
    font-size: var(--step-0);
    cursor: pointer;
	padding: 0 calc(var(--gutter-x) * .5);
}
.icon-paperclip {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: var(--secondary);
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
}

#avi-back-to-top {
	position: fixed; bottom: 13px; right: 13px; width: 30px; height: 30px; background: #EB5C1E; border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; pointer-events: none; transition: all 0.3s ease; z-index: 9900;
}

.u-bg-media::before {
    background: none;
}

.c-cta-footer__title {
    --measure: 34ch;
}
.c-card-category__content .c-card-category__desc {
	margin: 10px 0 0 0;
}
@media (min-width: 992px) {
    .c-job-list__item-title {
        --measure: auto;
    }
}
.c-card-category .c-card-category__childs .o-button--secondary {
    --btn-swatch-bg: var(--white);
    --btn-swatch-fg: var(--primary);
}

/* --- FOOTER THEMES --- */

/* LIGHT THEME (c-site-footer--light) */
.c-site-footer--light {
    background-color: var(--body-bg); /* Светлый фон */
    color: #122c5f;
}
.c-site-footer--light a, 
.c-site-footer--light .c-site-footer__anagraphic p,
.c-site-footer--light .c-site-footer__legals span,
.c-site-footer--light .c-site-footer__legals p {
    color: #122c5f;
    text-decoration: none;
	font-size: 18px;
}
.c-site-footer__nav ul li span {
	font-size: 18px;
}
.c-site-footer__anagraphic p {
	font-size: 18px;
	margin-bottom: 40px;
}
.c-site-footer__anagraphic .logo {
	display:inline-block;
	margin-bottom: 20px;
}
.c-site-footer--light .c-site-footer__anagraphic .footer-legal-inline p {
	opacity: 0.7;
}
.c-site-footer--light a:hover {
    color: var(--secondary);
}
.c-site-footer--light .has-children > span {
    color: rgba(18, 44, 95, 0.5) !important;
}
.c-site-footer__nav>ul>li>span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: var(--space-s);
}
.c-site-footer__nav>ul>li>a+*, .c-site-footer__nav>ul>li>span+*, .c-site-footer__section-title+* {
    margin-top: var(--space-s);
}
.c-site-footer--light .c-site-footer__legals {
    border-top: 1px solid rgba(18, 44, 95, 0.2);
}
.c-site-footer--light .logo-symbol,
.c-site-footer--light .footer-big-logo {
    filter: none;
}

.footer-big-logo {
	width: 100%;
	display: block;
	margin-top: 50px;
}
.c-site-footer--light .footer-big-logo {
	opacity: 0.4;
}

@media (min-width:768px) {
	.c-cta-footer .o-button{
		width:calc(25% - var(--gutter-x))
		}
}
.c-site-footer__nav {
    margin-top: auto;
}

.c-site-footer--light.u-has-lanes::after {
    opacity: .1;
}

/* Смена изображения при наведении на плашку hero */
.c-header-hp__accent .o-media__image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('../images/two_cadr_button_main.jpg');
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 2;
}

.c-header-hp__accent:hover .o-media__image::after {
    opacity: 1;
}

/* FAQ Images */
.faq-image-single {
    width: 100%;
    border-radius: 8px;
    margin-top: 24px;
    object-fit: cover;
}

.faq-image-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 24px;
}

.faq-image-grid img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    margin: 0 !important;
}

@media (max-width: 767px) {
    .faq-image-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

.FormBuilder .InputfieldHeader {
    display: inline-block;
    margin-bottom: .2em;
    font-size: var(--step--1);
    color: #bbb;
}

/* Form Refinements */
.avi-placeholder-light::placeholder {
  color: #bbb !important;
  opacity: 1; /* Firefox */
}
input[type="date"].avi-placeholder-light::before {
  color: #bbb !important;
  opacity: 1;
}
input[type="date"].InputfieldMaxWidth {
	border: none;
    border-radius: initial;
    background-color: var(--body-bg, #fff);
    border-bottom: 1px solid rgba(0, 0, 0, .1);  
	font-size: var(--step--3);
	padding: .5em .5em .4em 0em;
}

div.InputfieldMaxWidth.avi-file-upload-trigger {
	min-height: 48px; 
	border: none;
    border-radius: initial;
    background-color: var(--body-bg, #fff);
    border-bottom: 1px solid rgba(0, 0, 0, .1);  
}
div.InputfieldMaxWidth.avi-file-upload-trigger span {
	color: #bbb;
    flex-grow: 1;	
}
div.InputfieldMaxWidth.avi-file-upload-trigger:hover {
  background: none !important;
}
div.InputfieldContent:hover {
  background: none !important;
}

/* Custom Checkbox */
.avi-checkbox-wrapper {
  display: flex !important;
  align-items: flex-start !important;
  cursor: pointer !important;
  font-size: var(--step--3) !important;
  line-height: 1.4 !important;
  position: relative !important;
}
.avi-checkbox-wrapper input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  cursor: pointer !important;
  height: 0 !important;
  width: 0 !important;
}
.avi-custom-checkbox {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  border: 1px solid #dcdee3 !important;
  border-radius: 4px !important;
  margin-right: 10px !important;
  background-color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}
.avi-secondary-filters .avi-custom-checkbox {
  margin-right: 0px !important;
}
.avi-checkbox-wrapper:hover input ~ .avi-custom-checkbox {
  border-color: #EB5C1E !important;
}
.avi-checkbox-wrapper input:checked ~ .avi-custom-checkbox {
  background-color: #EB5C1E !important;
  border-color: #EB5C1E !important;
}
.avi-checkbox-wrapper input:checked ~ .avi-custom-checkbox::after {
  content: "" !important;
  width: 5px !important;
  height: 10px !important;
  border: solid white !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
  margin-bottom: 2px !important;
}

.feedback-form .avi-checkbox-wrapper .avi-custom-checkbox {
  position: relative;
  top: 2px;
}

input[type="date"] {
    position: relative;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: auto;
    color: transparent;
    background: transparent;
    cursor: pointer;
}

input[type="date"] {
    /* Убираем стандартные стили оформления */
    appearance: none;
    -moz-appearance: textfield;
}

.header .c-site-header__nav .o-icon {
    top: 1px;
}

.c-site-footer__anagraphic {
    z-index: 1;
}

/* Modals */
.avi-vacancy-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 900px) {
    .avi-vacancy-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 576px) {
    .avi-vacancy-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 413px) {
    .avi-vacancy-grid {
        flex-wrap: wrap;
		display: flex;
		justify-content: center;
    }
}

/* --- SEARCH MODAL STYLES --- */

/* Body scroll lock class */
body.search-modal-open {
    overflow: hidden !important;
}

/* Modal Specific Adjustments */
#avi-search-modal ::-webkit-scrollbar {
    width: 8px;
}
#avi-search-modal ::-webkit-scrollbar-track {
    background: transparent; 
}
#avi-search-modal ::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3); 
}
#avi-search-modal ::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5); 
}

/* --- SEARCH CUSTOM --- */

.avi-search-modal .u-bg-blue {
	background-color: transparent;
}

.is-smooth .c-main .c-grid-projects__item-link {
    transform: none;
}
.c-header-hp {
    background-color: var(--color-blue);
}

body.search-bg-flash {
    background-color: #122c5f !important;
    transition: none; /* Темнеет моментально */
}

body.is-search-open .c-header-phone {
    width: 0 !important;
    opacity: 0;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

#search-box-toggle {
    position: relative;
    z-index: 50;
}

.c-site-header__search form {
    display: flex;
    width: 0;
    opacity: 0;
    overflow: hidden !important;
    transition: width 0.4s ease, opacity 0.3s ease; 
}

body.is-search-open .c-site-header__search form {
    width: calc(73vw - 43px);
    max-width: calc(100vw - 580px);
    opacity: 1;
}

.c-site-header__search-input {
    width: 100%;
}

#hero,
#hero-inner {
    transition: opacity 0.3s ease;
}
.hero-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
.hero-absolute {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: -10;
}

@media (max-width: 1919.98px) {
    .c-header-hp__accent.u-bg-blur.u-image-rounded .o-media {
        display: none !important;
    }
}
.c-site-header__brand {
    height: auto;
    width: 15%;
	flex-shrink: 0;
}

.u-image-rounded.o-media {
    overflow: hidden;
    border-radius: var(--border-radius);
}

@media (min-width: 992px) {
    .c-about-main__content .c-text-title {
        --column-span: 3;
    }
}
@media (min-width: 992px) {
    .c-about-main__content .c-about-main__text {
        --column-span: 6;
    }
}

/* Блок #about - выравнивание по центру */
.c-about-main__content .c-about-main__text {
    text-align: justify;
}

.o-grid {
    display: grid;
    grid-template-rows: repeat(var(--rows, 1), 1fr);
    grid-template-columns: repeat(var(--columns, 12), 1fr);
    grid-gap: calc(var(--gutter-y) + 0.8rem) var(--gutter-x);
}
.c-grid-projects {
    gap: calc(var(--space-l-xl) + 0.8rem);
	display: flex;
    flex-direction: column;
    overflow: hidden;
}
.FormBuilder .InputfieldCheckbox .InputfieldContent label, .FormBuilder .InputfieldRadio .InputfieldContent label {
    padding-left: 0;
}
.c-job-list__item {
    position: relative;
    grid-gap: 0 var(--gutter-x);
}
.c-job-list__item:not(:first-child)::before{position:absolute;top:0;right:0;left:0;height:1px;background-color:#000;opacity:.15;transition:transform 1s cubic-bezier(.86,0,.07,1) .1s;transform:scaleX(0);transform-origin:left;content:""}
.u-bg-blue .c-job-list__item:not(:first-child)::before{background-color:var(--white);opacity:.15}
.c-dl__item {
    border-top: 1px solid rgba(255, 255, 255, .15);
}
.c-text-list__item:not(:first-child)::before{background-color:var(--white);opacity:.15}
@media (min-width: 992px) {
    .c-dl__item-dd {
        flex: 5;
    }
}
:not(.u-bg-blue)+.u-bg-blue:has(.c-grid-projects__header) {
    padding-top: var(--flow);
}
.u-image-lg.u-image-quality {
    --ratio: 5 / 4;
}
.u-image-lg.u-image-special-product {
    --ratio: 5 / 4;
}
.c-header-hp__accent-content p {
	font-size: var(--step--1);
}
.c-header-hp__accent-content p strong {
	font-size: 28px;
}
.c-header-hp__accent-content p strong span {
	font-size: 24px;
	font-weight: 500;
}
.c-header-hp__accent-cta {
    justify-content: right;
    color: var(--secondary);
	font-weight: bold;
/* 	font-size: inherit; */
}
.c-header-hp__accent-cta:hover {
    color: var(--white);
}

@media (min-width: 768px) {
    .c-header-text-inner .c-header-text__title {
        font-size: 56px;
    }
}
.c-header-text-inner .c-header-text__title {
    --measure: auto;
    font-weight: 500;
}
.c-header-text-inner {
    padding-top: var(--space-2xl);
}
@media (min-width: 768px) {
    .c-header-text-inner {
        padding-top: var(--space-3xl);
    }
}
.header-inner .c-header-phone img {
	filter: brightness(0) saturate(100%) invert(14%) sepia(57%) saturate(1200%) hue-rotate(200deg) brightness(85%);
}
.is-scrolled.header-inner .c-header-phone img {
	filter: brightness(0) invert(1);
}
.header-inner .c-header-phone span {
	color: var(--primary);
}
.c-main .urgent-vacancies-search {
	margin-top: 0;
	margin-bottom: var(--flow);
    padding-bottom: var(--flow);
}
.c-main-inner .u-bg-blue+.u-bg-blue:not(.c-site-footer) {
    padding-top: var(--flow);
}
.c-main-inner .u-bg-blue+.u-bg-blue {
    margin-top: var(--flow);
}
.c-main-inner .u-bg-blue+.u-bg-blue {
    margin-top: 0;
}
.c-main-inner .urgent-vacancies-search {
	margin-bottom: 0;
     padding-bottom: 40px;
}
.c-main-inner .hero-inner {
	margin-bottom: var(--flow);
}
.is-search-open .c-site-header__search {
    background-color: var(--color-white-3);
}
.is-search-open .c-site-header__container .o-button {
    --btn-swatch-fg: var(--color-white);
    --btn-swatch-bg: var(--color-white-3);
}
/* .header-inner .img_logo {
	filter: brightness(0) saturate(100%) invert(14%) sepia(57%) saturate(1200%) hue-rotate(200deg) brightness(85%);
} */
.is-search-open .header-inner .img_logo {
	filter: brightness(0) invert(1);
}

/* ==========================================
   URGENT VACANCIES SEARCH SECTION (Premium)
   ========================================== */

.urgent-vacancies-search {
    display: none;
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    padding-top: 140px;
    min-height: 100vh;
    z-index: 5;
    position: relative;
}

body.is-search-open .urgent-vacancies-search {
    display: flex;
}

/* Filter Pils */
.urgent-vacancies-search .o-filter-pils {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
}

.urgent-vacancies-search .o-tag {
    display: inline-flex;
    align-items: center;
    padding: 12px 24px;
    border-radius: var(--btn-border-radius);
    font-size: var(--step--3);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: all 0.3s ease;
    text-decoration: none;
    white-space: nowrap;
}

.urgent-vacancies-search .o-tag--outline {
    border: 1px solid #f9f9f94d;
    color: rgba(255, 255, 255, 0.7);
    background: transparent;
}

.urgent-vacancies-search .o-tag--outline:hover {
    border-color: var(--secondary);
    color: var(--white);
}

.urgent-vacancies-search .is-active .o-tag--outline:hover {
    border-color: var(--white);
}

.o-filter-pils li.is-active .o-tag--outline,
.urgent-vacancies-search .o-tag--outline.active {
    background-color: var(--white);
    color: var(--black);
}

/* Secondary Filters Layout */
.urgent-vacancies-search .avi-secondary-filters {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    margin-bottom: 75px;
    padding-top: 30px;
    border-top: 1px solid #f9f9f94d;
}

.urgent-vacancies-search .avi-secondary-filters__left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.urgent-vacancies-search .avi-secondary-filters__right {
    position: relative;
}

/* Salary Input */
.urgent-vacancies-search .avi-field {
    display: flex;
    align-items: center;
    gap: 15px;
}

.urgent-vacancies-search .avi-field span {
    color: rgba(255, 255, 255, 0.5);
    font-weight: 500;
    font-size: var(--step--3);
}

.urgent-vacancies-search .avi-input {
    background: transparent;
	border: none;
    color: var(--white);
    width: 91px;
    transition: all 0.3s ease;	
    border-radius: initial;
    border-bottom: 1px solid #f9f9f94d;
    padding: .5em;
    font-size: var(--step--3);
}

.urgent-vacancies-search .avi-input:focus {
    outline: none;
    border-color: var(--secondary);
    background: transparent;
}

/* Unified Custom Dropdowns Styling */
.urgent-vacancies-search .avi-custom-select-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
}

.urgent-vacancies-search .avi-custom-select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    color: var(--white);
    padding: 8px 16px;
    background: transparent;
    border-bottom: 1px solid #f9f9f94d;
    transition: all 0.3s ease;
    font-size: var(--step--3);
    min-width: 140px;
}

.urgent-vacancies-search .avi-custom-select-trigger:hover {
    border-color: var(--secondary);
}

.urgent-vacancies-search .avi-custom-select-trigger .o-icon {
    width: 14px;
    height: 14px;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Arrow flipping on open state */
.urgent-vacancies-search .avi-custom-select-trigger.is-open .o-icon {
    transform: rotate(180deg);
}

.urgent-vacancies-search .avi-custom-select-dropdown {
    display: none;
    top: calc(100% + 8px);
    left: 0;
    width: 100%;
    min-width: 200px;
    background: var(--primary);
    border: 1px solid #f9f9f94d;
    border-radius: var(--btn-border-radius);
    overflow: hidden;
    position: absolute;
    z-index: 999;
}

/* Specific positioning for Sort dropdown */
.urgent-vacancies-search .avi-secondary-filters__right .avi-custom-select-dropdown {
    right: 0;
    left: auto;
}

.urgent-vacancies-search .avi-custom-select-dropdown ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.urgent-vacancies-search .avi-custom-select-dropdown ul li {
    padding: 10px 16px;
    color: var(--white);
    transition: all 0.2s ease;
    font-size: var(--step--3);
    cursor: pointer;
}

/* Hover effects for all custom dropdown options */
.urgent-vacancies-search .avi-custom-select-dropdown ul li:hover {
    color: var(--secondary);
}

/* Checkboxes (Advanced) */
.urgent-vacancies-search .avi-conditions-row {
    display: flex;
    gap: 25px;
}

.urgent-vacancies-search .avi-checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    color: rgba(255, 255, 255, 0.8);
    font-size: var(--step--3) !important;
    transition: color 0.3s ease;
}

.urgent-vacancies-search .avi-checkbox-wrapper:hover {
    color: var(--white);
}

.urgent-vacancies-search .avi-checkbox-wrapper input {
    display: none;
}

.urgent-vacancies-search .avi-custom-checkbox {
    position: relative;
    top: 3px;
}

.urgent-vacancies-search .avi-checkbox-wrapper input:checked + .urgent-vacancies-search .avi-custom-checkbox {
    background: var(--white);
    border-color: var(--secondary);
}

.urgent-vacancies-search .avi-custom-checkbox::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 3px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.urgent-vacancies-search .avi-checkbox-wrapper input:checked + .urgent-vacancies-search .avi-custom-checkbox::after {
    transform: rotate(45deg) scale(1);
}



.contacts-adress a {
	text-decoration: none;
}
.contacts-adress a:hover {
	text-decoration: underline;
}

/* Media Queries for Filters */
@media (max-width: 1200px) {
    .urgent-vacancies-search .avi-secondary-filters {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .urgent-vacancies-search .avi-secondary-filters__left {
        flex-wrap: wrap;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .urgent-vacancies-search {
        padding-top: 100px;
    }
    
    .urgent-vacancies-search .avi-secondary-filters__left {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    
    .urgent-vacancies-search .avi-conditions-row {
        flex-direction: column;
        gap: 12px;
    }
}
.urgent-vacancies-search .o-grid.filter-wrapper {
	display: block;
}
.load-more-container {
	align-items: center;
    flex-direction: column;
	margin-top: 70px;
	display: flex;
}.c-site-menu::after {
	background: rgba(18, 44, 95, 0.8) !important;
}
.c-site-menu__innerlink {
    display: flex;
    align-items: center;
    font-size: var(--step--1);
    text-transform: uppercase;
    background: 0 0;
    border: none;
    -webkit-appearance: none;
    appearance: none;
    gap: .5em;
}
.c-site-menu__innerlink {
    margin-right: 20px;
}
.c-site-menu__innerlink:hover {
    color: var(--secondary);
}
.quality .c-textmedia__text {
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.quality .c-custom-list ul li {
    margin-bottom: 0;
}
.quality .c-custom-list ul {
    margin-bottom: 20px;
}

/* ==========================================
   ИКОНКИ В МЕНЮ (CTA)
   ========================================== */

/* Общие стили для иконок */
.icon_cta-title {
  width: 40px;
  height: 40px;
  display: inline-block;
  margin-right: 15px;
  flex-shrink: 0;
}

/* 1. Телефонная трубка оранжевого цвета var(--secondary) */
.icon-phone_cta-title {
  fill: var(--secondary); 
}

/* Остальные иконки остаются без специфичного цвета */

/* Выравнивание CTA в меню */
.c-site-menu__cta {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    gap: 0;
    min-height: 140px;
}
.dark-section .c-text-list__item-body {
    color: var(--white);
}

.jobs-info .c-text-list__image {
	--ratio: 1 / 1;
	--column-start: 1;
	--column-span: 4;
	border-radius: var(--btn-border-radius);
}
.jobs-info .o-media::before, .jobs-info .o-media .o-media__image {
    border-radius: var(--btn-border-radius);
	background-color: transparent;
}
.jobs-info .avi-job-pill.salary-pill {
	font-size: var(--step-2);
    color: var(--secondary);
    padding-left: 0;
}
.jobs-info .avi-job-pill.dependency-pill {
	text-transform: lowercase;
	background: none;
    color: var(--white-opacity--70);
    font-weight: 400;
    padding-left: 0;
    padding-top: 0;
	margin-top: 0;
}
.jobs-info .avi-job-pill.urgent-pill, .jobs-info .avi-job-pill.stipend-pill {
	border-radius: var(--btn-border-radius);
	text-transform: none;
}
.jobs-info .c-text-list__item-title {
	--column-start: 5;
	--column-span: 4;
}
.jobs-info .c-text-list__item-body {
	--column-start: 5;
	--column-span: 6;
	display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: start;
}

.jobs-info .c-text-list__item-body h3, .jobs-info .c-text-list__item-body span, .jobs-info .c-text-list__item-body a {
	display: table;
}
@media (min-width: 1890px) {
.c-grid-projects .c-grid-projects__item h4 {
	font-size: 32px;
}
}@media (min-width: 768px) {
    .jobs-info.c-text-list:has(.c-text-list__image) {
        --item-image-span: 4 !important;
    }
}
@media (min-width: 992px) {
    .c-text-list__item-title {
        --measure: auto;
    }
}

.jobs-info .c-text-list__item-title {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
	gap: 10px;
}

.avi-job-pill {
    display: inline-block;
    padding: 4px 12px;
    margin-top: 8px;
    background-color: var(--color-pale-blue);
    color: var(--color-blue);
    border-radius: 20px;
    font-size: var(--step--2);
    font-weight: 500;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.avi-job-pill.urgent-pill {
    background-color: transparent;
    color: var(--white);
    border: 1px solid #f9f9f94d;
    font-weight: 400;
}

.avi-job-pill.salary-pill {
    background-color: var(--color-blue);
    color: var(--white);
}

.avi-job-pill.stipend-pill {
    background-color: transparent;
    color: var(--white);
    border: 1px solid #f9f9f94d;
    font-weight: 400;
}

.o-breadcrumbs a {
    text-decoration: auto;
}
.o-breadcrumbs a:hover {
    color: var(--secondary);
}
.o-breadcrumbs a:first-child {
   padding-left: .15em;
}
.c-grid-category__item .c-card-category__title a {
	text-decoration: none;
    color: var(--white);
}

.c-dl__item-dt {
    flex: 3;
    font-size: var(--step--2);
    text-transform: uppercase;
}

/* 1. Задаем белый фон для всей секции */
section.special-product {
    background-color: var(--white);
}

.special-product h3 {
	margin-bottom: 20px;
}

.quality h3 {
	margin-bottom: 10px;
}

/* 2. Ограничиваем высоту секции до 950px на экранах до 2560px */
@media (max-width: 2560px) {
    section.special-product {
        max-height: 950px;
        overflow: hidden; /* Скрываем все, что может выпадать за пределы */
    }
}

/* 3. Смещаем фон-картинку ровно на правую половину экрана */
section.special-product .u-bg-media {
    inset: 0 0 0 50% !important; /* Переопределяем inset: 0 (отступ слева теперь 50%) */
}

/* 4. Максимально центрируем само изображение внутри правой половины */
section.special-product .o-media__image img,
section.special-product .o-media__image source {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center; /* Точное центрирование картинки */
}

section.special-product .c-banner-media__content {
    width: 50%; /* Ограничиваем контент левой половиной */
    padding-right: 40px; /* Даем небольшой отступ от картинки справа */
    box-sizing: border-box;
}

.c-grid-projects.u-bg-blue.urgent-vacancies {
	margin-top: 0;
}

@media (min-width: 768px) {
    section.special-product .c-banner-media__content {
        /* 1. Задаем контейнеру высоту 100%, чтобы ему было относительно чего центрировать контент */
        height: 100%;
        
        /* 2. Отменяем 4 равные доли (1fr). 
           Делаем две строки (для заголовка и текста), которые обжимают контент по высоте */
        grid-template-rows: auto auto; 
        
        /* 3. Центрируем получившийся блок строк строго по центру высоты родителя */
        align-content: center; 
    }
		/* Обнуляем общий зазор сетки, чтобы он не мешал */
		section.special-product .c-banner-media__content {
			row-gap: 0;
		}
		.special-product .c-banner-media__text p {
			margin-top: 0;
		}
}

.special-product .c-banner-media__text, .quality .c-textmedia__desc {
	margin-top: var(--flow);
}

.c-banner-media.special-product {
	margin-top: 0;		
}

.c-grid-projects .c-grid-projects__item h4 .c-grid-projects__item-title-second {
    font-size: 20px;
    width: fit-content;
    display: block;
}
/* 1. Основной контейнер секции */
section.special-product {
    position: relative;
    background-color: #ffffff;
    display: block;
    width: 100%;
    /* Ваша пропорция: общая 10:4 дает правой половине ровно 5:4 */
    aspect-ratio: 10 / 4; 
    min-height: auto !important; 
    overflow: hidden;
}

@media (max-width: 2560px) {
    section.special-product {
        max-height: 950px; 
    }
}

/* 2. ИСПРАВЛЕНИЕ ВЫРАВНИВАНИЯ: Растягиваем контейнер на всю высоту секции */
section.special-product .o-container {
    height: 100%; 
}

/* 3. Левый блок (контент) */
section.special-product .c-banner-media__content {
    width: 50%;
    height: 100% !important; /* Теперь ему есть относительно чего растягиваться на 100% */
    min-height: 0 !important;  
    
    /* Вертикальное центрирование внутри этой высоты */
    display: grid;
    align-content: center; 
    
    padding-right: 40px; 
    box-sizing: border-box;
    color: #333333; 
}

/* Сброс лишних строк сетки */
@media (min-width: 768px) {
    .special-product .c-banner-media__content {
        grid-template-rows: auto auto; 
        row-gap: 0;
    }
}

/* 4. Правый блок (фон/медиа) */
section.special-product .u-bg-media {
    position: absolute;
    inset: 0 0 0 50% !important; 
    width: 50%;
    height: 100%;
}

section.special-product .o-media {
    position: relative;
    width: 100%;
    height: 100%;
    aspect-ratio: unset !important; 
}

section.special-product .o-media__image,
section.special-product .o-media__image .lazyloaded,
section.special-product .o-media__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover; 
    object-position: center; 
}
.c-site-menu__nav-childs {
	display: none;
}
.jobs-info .c-text-list__item-body a.o-button {
	margin-top: 30px;
}
.jobs-info .c-text-list__item-body p.avi-job-description b {
	margin-bottom: 10px;
	margin-top: 15px;
	display: inline-block;
}
.jobs-info .c-text-list__item-body p.avi-job-description b:last-child {
	margin-bottom: 0;
	margin-top: 0;
}
.jobs-info .c-text-list__item-body p.avi-job-description b:first-child {
	margin-top: 0;
}

.c-banner-next__text {
    font-size: var(--step--3);
}

.o-slider-posts__cta {
    font-size: var(--step--3);
}

.c-card-related__meta {
    display: flex;
    justify-content: space-between;
    font-size: var(--step--1);
    text-transform: uppercase;
}

.news-slide .c-card-related__meta span {
    color: var(--white-opacity--50);
}

/* ==========================================================================
   1. ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ (TYPOGRAPHY TOKENS)
   Поддержка масштабирования: от 360px (Mobile) до 3440px (Ultrawide)
   ========================================================================== */
:root {
  /* Токены размеров */
  --fs-hero: clamp(40px, 5.9vw + 18.78px, 220px);   /* База: 132px */
  --fs-h1: clamp(28px, 1.79vw + 21.64px, 84px);     /* База: 56px */
  --fs-h2: clamp(24px, 1.02vw + 20.42px, 56px);     /* База: 40px */
  --fs-h3: clamp(20px, 0.77vw + 17.24px, 44px);     /* База: 32px */
  --fs-h4: clamp(18px, 0.64vw + 15.7px, 38px);      /* База: 28px */
  --fs-h5: clamp(18px, 0.45vw + 16.4px, 32px);      /* База: 25px */
  --fs-body-lg: clamp(16px, 0.26vw + 15.1px, 24px); /* База: 20px */
  --fs-body-md: clamp(14px, 0.26vw + 13.1px, 22px); /* База: 18px */
  --fs-body-xs: clamp(12px, 0.43vw + 10.6px, 18px);	/* База: 18px */
  --fs-body-sm: clamp(14px, 0.13vw + 13.55px, 18px);/* База: 16px */

}

@media (max-width: 414px) {
  :root {
    --fs-h1: clamp(24px, 4.25vw + 10.4px, 28px);
  }
}

/* ==========================================================================
   2. ПРИМЕНЕНИЕ К СЕКЦИЯМ (С УЧЕТОМ РОДИТЕЛЬСКИХ КЛАССОВ)
   ========================================================================== */

/* --- Шапка сайта --- */
.header a.c-header-phone {
  font-size: var(--fs-body-lg); 
}
.header .c-site-header__search input {
  font-size: var(--fs-body-xs); 
}
.header button.c-site-header__menu-toggle {
  font-size: var(--fs-body-sm);
}

/* --- Меню (Бургер) --- */
.c-site-menu .c-site-menu__nav a {
  font-size: var(--fs-h1); 
}
.c-site-menu a.c-site-menu__innerlink {
  font-size: var(--fs-body-sm); 
}
.c-site-menu a.c-site-menu__cta {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Герой" --- */
.hero h1.c-header-hp__title {
  font-size: var(--fs-hero); 
}
.hero a.c-header-hp__accent-cta {
  font-size: var(--fs-body-md); 
}
.hero .c-header-hp__accent-content strong {
  font-size: var(--fs-h4); 
}
.hero .c-header-hp__accent-content span {
  font-size: var(--fs-body-sm); 
}

/* --- Секция "О нас" --- */
.about h2.c-text-title {
  font-size: var(--fs-h1); 
}
.about .c-about-main__text p {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Преимущества" --- */
.benefits h2.c-banner-tris__title {
  font-size: var(--fs-h1); 
}
.benefits h3.c-banner-tris__item-title {
  font-size: var(--fs-h2); 
}
.benefits .c-banner-tris__item-description li {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Спецпредложение" --- */
.special-product h3.c-banner-media__title {
  font-size: var(--fs-h1);
}
@media (min-width:970px) and (max-width:1024px) {
	.special-product h3.c-banner-media__title {
		font-size: calc(var(--fs-h1) - 2px);
	}
}
@media (min-width:870px) and (max-width:970px) {
	.special-product h3.c-banner-media__title {
		font-size: calc(var(--fs-h1) - 5px);
	}
}
@media (min-width:769px) and (max-width:870px) {
	.special-product h3.c-banner-media__title {
		font-size: calc(var(--fs-h1) - 7px);
	}
}
.special-product .c-banner-media__text p {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Обучаем профессиям" --- */
.quality h3.c-textmedia__title {
  font-size: var(--fs-h1); 
}
.quality .c-textmedia__desc p,
.quality .c-textmedia__desc ul li {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Срочные вакансии" --- */
.urgent-vacancies h3.c-grid-projects__title {
  font-size: var(--fs-h1); 
}
.urgent-vacancies h4.c-grid-projects__item-title {
  font-size: var(--fs-h3); 
}
.urgent-vacancies span.c-grid-projects__item-title-second {
  font-size: var(--fs-body-lg); 
}
.urgent-vacancies .c-grid-projects__item-header {
  font-size: var(--fs-body-md); 
}
.urgent-vacancies span.button-state {
  font-size: var(--fs-body-sm); 
}
.urgent-vacancies a.c-grid-projects__cta {
  font-size: var(--fs-body-md); /* База: 18px */
}

/* --- Секция "Категории" --- */
.categories h3.c-card-category__title {
  font-size: var(--fs-h2); 
}
.categories p.c-card-category__desc {
  font-size: var(--fs-body-lg); 
}
.categories .c-card-category__childs a {
  font-size: var(--fs-body-md);
}

/* --- Секция "Вопрос-ответ" --- */
.faq h3.o-slider-posts__title {
  font-size: var(--fs-h1); 
}
.faq h4.c-job-list__item-title {
  font-size: var(--fs-h5); 
}
.faq .c-job-list__item-body p {
  font-size: var(--fs-body-lg); 
}
.faq a.o-slider-posts__cta {
  font-size: var(--fs-body-md); /* База: 18px */
}

/* --- Секция "Новости" --- */
.news-slide h3.o-slider-posts__title {
  font-size: var(--fs-h1); 
}
.news-slide h4.c-card-related__title {
  font-size: var(--fs-h5); 
}
.news-slide .c-card-related__meta span {
  font-size: var(--fs-body-sm); 
}

/* --- Секция "Баннер (Свяжитесь с нами)" --- */
.cta-contact span.c-banner-next__text {
  font-size: var(--fs-body-lg); 
}
.cta-contact h2.c-banner-next__title {
  font-size: var(--fs-h1); 
}

/* --- Секция "Все вакансии (Баннер)" --- */
.all-jobs span.c-banner-next__text {
  font-size: var(--fs-body-lg); 
}
.all-jobs h2.c-banner-next__title {
  font-size: var(--fs-h1); 
}

/* --- Страница "Управление" (Leaders) --- */
.jobs-info ul.c-text-list__items li h3 {
  font-size: var(--fs-h3); 
}
.jobs-info ul.c-text-list__items li span.salary-pill {
  font-size: var(--fs-h3); 
}
.jobs-info ul.c-text-list__items li span.dependency-pill,
.jobs-info ul.c-text-list__items li span.urgent-pill,
.jobs-info ul.c-text-list__items li span.stipend-pill {
  font-size: var(--fs-body-md); 
}
.jobs-info ul.c-text-list__items li p.avi-job-description {
  font-size: var(--fs-body-lg); 
}
.jobs-info a.o-button {
  font-size: var(--fs-body-lg); 
}

/* --- Страница "Контакты" --- */
.contacts-adress p.c-dl__item-dt {
  font-size: var(--fs-body-md); 
}
.contacts-adress .c-dl__item-dd {
  font-size: var(--fs-body-lg); 
}

/* --- Секция "Поиск и фильтры" --- */
.urgent-vacancies-search .avi-field span,
.urgent-vacancies-search input.avi-input,
.urgent-vacancies-search .avi-custom-select-dropdown ul li,
.urgent-vacancies-search .avi-checkbox-wrapper span,
.urgent-vacancies-search a.o-tag,
.urgent-vacancies-search .avi-custom-select-trigger {
  font-size: var(--fs-body-xs);
}

/* --- Секция "Футер" --- */
.c-site-footer .c-site-footer__nav a {
  font-size: var(--fs-body-lg);
}
.c-site-footer .c-site-footer__anagraphic p,
.c-site-footer .c-site-footer__anagraphic a {
  font-size: var(--fs-body-md);
}
.c-site-footer .c-site-footer__nav ul li span {
  font-size: var(--fs-body-sm);
}

/* --- Секция "Форма обратной связи" --- */
.feedback-form h3.feedback-form-title {
  font-size: var(--fs-h1);
}
.feedback-form button.avi-tab-btn,
.feedback-form .FormBuilder input,
.feedback-form .FormBuilder textarea,
.feedback-form .avi-file-upload-trigger span,
.feedback-form .FormBuilder button {
  font-size: var(--fs-body-lg);
}
.feedback-form .InputfieldContent span {
  font-size: var(--fs-body-md);
}
.feedback-form label.InputfieldHeader {
  font-size: var(--fs-body-sm);
}
.feedback-form p.feedback-form-phone {
  font-size: var(--fs-h3); /* База: 32px */
}
.feedback-form p.feedback-form-email {
  font-size: var(--fs-h5); /* База: 25px */
}

/* --- Внутренние страницы --- */
.hero-inner h1.c-header-text__title {
  font-size: var(--fs-h1);
}
.hero-inner ul.o-breadcrumbs li a {
  font-size: var(--fs-body-md);
}

/* --- Модальные окна --- */
.avi-modal-content {
  font-size: var(--fs-body-md);
}
.avi-modal-content .avi-vacancy-grid {
  font-size: var(--fs-body-md);
}
.avi-modal-content button {
  font-size: var(--fs-h5);
}
.avi-modal-content .avi-vacancy-grid ul li {
  font-size: var(--fs-body-md);
}


/* ==========================================
   Сеция ABOUT (about)
   ========================================== */
/*
.about {
    --about-text-size: 20px;
    --about-title-size: calc(var(--about-text-size) * 2.8);
}

.about [data-field="section_about_title"] {
    font-size: var(--about-title-size) !important;
}

.about [data-field="section_about_content"] {
    font-size: var(--about-text-size) !important;
}
*/

@media (max-width: 1366px) {
    .about .c-about-main__text {
        --column-span: 8;
        --column-start: 4;
    }
}

@media (max-width: 1024px) {
    .about .c-about-main__content.o-grid {
        display: block; /* Стек вместо сетки */
    }
    .about .c-text-title {
        margin-bottom: 30px;
    }
    .about .c-about-main__text {
        --column-span: 12 !important;
        --column-start: 1 !important;
    }
}

@media (max-width: 768px) {
    .about .o-container {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 480px) {
    .about .o-grid {
        gap: 0;
    }
    .about .o-container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (min-width: 1025px) {
    .c-text-title {
        display: flex;
		justify-content: flex-end;
    }
}
/* ==========================================
   АДАПТИВ КРАСНОЙ СТРОКИ
   ========================================== */

@media (max-width: 3440px) {
    .u-text-indent {
        width: 50px;
    }
}

@media (max-width: 2560px) {
    .u-text-indent {
        width: 50px;
    }
}

@media (max-width: 1920px) {
    .u-text-indent {
        width: 50px;
    }
}

@media (max-width: 1680px) {
    .u-text-indent {
        width: 50px;
    }
}

@media (max-width: 1440px) {
    .u-text-indent {
        width: 40px;
    }		
}

@media (max-width: 1366px) {
    .u-text-indent {
        width: 40px;
    }
}

@media (max-width: 1024px) {
    .u-text-indent {
        width: 40px;
    }
}

@media (max-width: 768px) {
    .u-text-indent {
        width: 40px;
    }
}
/* ==========================================
   Секция BENEFITS (benefits)
   ========================================== */

/* Глобальный принудительный белый цвет для всей секции */
.benefits.c-banner-tris,
.benefits.c-banner-tris * {
    color: #ffffff !important;
}

/* Исключение для иконок - они остаются оранжевыми */
.benefits .c-benefit-icon {
    background-color: var(--secondary) !important;
}

.benefits {
    --benefits-text-size: 20px;
    --benefits-title-size: calc(var(--benefits-text-size) * 1.96);
}

.benefits .c-banner-tris__item-title {
    font-size: var(--benefits-title-size);
}

.benefits .c-banner-tris__item-description {
    font-size: var(--benefits-text-size);
}

.benefits .c-banner-tris__grid {
    --media-reveal-cols: 4;
}

@media (max-width: 1440px) { 
    .benefits .c-banner-tris__grid {
        position: relative;
    }
    
    /* Рисуем одну линию строго по центру сетки */
    .benefits.u-has-lanes::after {
        width: 1px;
		border: none;
    }
}

@media (max-width: 670px) {
    .benefits .c-banner-tris__grid::after {
        display: none !important;
    }
}

@media (max-width: 1440px) {
    .benefits .c-banner-tris__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        min-height: auto; 
		--media-reveal-cols: 2;
    }
    
    .benefits .c-banner-tris__grid-item {
        padding-top: var(--flow);
        padding-bottom: var(--flow);
        padding-left: var(--container-padding);
        padding-right: var(--container-padding);
        transition: transform 0.2s ease;
        outline: none;
    }

    .benefits .c-benefit-icon {
        opacity: 1;
    }
    
    .benefits .c-banner-tris__item-title span:nth-child(2) {
        transform: translateX(50px);
    }

    .benefits .c-banner-tris__item-description {
        opacity: 1;
        visibility: visible;
        display: block;
        height: auto;
        margin-top: 20px;
    }
	.c-banner-tris__grid .c-banner-tris__item-description {
		margin-top: 5px;
		transition: opacity .3s, transform .3s;
		transform: translateY(5px);
	}
    .benefits .c-banner-tris__grid-item {
        border-bottom: 1px solid #f9f9f94d;
		z-index: 1;
		position: relative;
    }
}

@media (max-width: 1024px) {
    .benefits {
        --benefits-text-size: var(--step--2);
        /* Уменьшаем коэффициент до 1.7 */
        --benefits-title-size: calc(var(--benefits-text-size) * 1.7); 
    }
}

@media (max-width: 670px) {
    .benefits .c-banner-tris__grid {
        grid-template-columns: 1fr;
    }
    
    .benefits {
        --benefits-text-size: 16px;
    }
}

@media (max-width: 414px) {
    .benefits .c-banner-tris__item-title span:nth-child(2) {
        transform: translateX(45px);
    }
}

@media (max-width: 480px) {
    .u-text-indent {
        width: 30px;
    }
}

@media (max-width: 320px) {
    .u-text-indent {
        width: 30px;
    }
}


/* ========================================== 
   Секция SPECIAL PRODUCT (special-product) 
   ========================================== */ 

@media (max-width: 1366px) { 
    section.special-product { 
        aspect-ratio: 10 / 5;
        max-height: unset; 
    } 
} 

@media (max-width: 1024px) { 
    section.special-product { 
        aspect-ratio: 9 / 6;
    } 
} 

@media (max-width: 768px) { 
    section.special-product { 
        display: flex; 
        flex-direction: column; 
        aspect-ratio: unset; 
        height: auto; 
        max-height: unset; 
        min-height: auto !important; 
    } 
 
    section.special-product .u-bg-media { 
        position: relative; 
        inset: auto !important; 
        width: 100%; 
        aspect-ratio: 5 / 4; 
        order: 1; 
    } 
 
    section.special-product .o-media { 
        aspect-ratio: 5 / 4 !important; 
    } 
 
    section.special-product .o-media__image img { 
        object-position: top center; 
    } 
 
    section.special-product .o-container { 
        width: 100%; 
        height: auto; 
        order: 2; 
        padding-top: var(--flow); 
        padding-bottom: var(--flow); 
    } 
 
    section.special-product .c-banner-media__content { 
        width: 100%; 
        padding-right: 0; 
        text-align: left; 
        height: auto !important; 
		gap: 0;
    }  
} 

@media (max-width: 767px) {    
	.special-product .c-banner-media__text p { 
        margin-top: 0;
    } 
}  

@media (max-width: 670px) { 
    section.special-product .o-media__mask { 
        display: none !important; 
    } 
} 

@media (max-width: 480px) {    
    section.special-product .o-container { 
        padding-left: var(--container-padding); 
        padding-right: var(--container-padding); 
    }
}   
 
@media (max-width: 768px) { 
    section.special-product .o-container { 
        padding-top: clamp(2rem, 5vh, 3rem); 
        padding-bottom: clamp(2rem, 5vh, 3rem); 
    } 
}
@media (max-width: 768px) { 
    section.special-product .o-container { 
        padding-top: clamp(2rem, 5vh, 3rem); 
        padding-bottom: clamp(2rem, 5vh, 3rem); 
    } 
}

/* ========================================== 
   Секция URGENT VACANCIES (urgent-vacancies) 
   ========================================== */ 

.urgent-vacancies {
    --urgent-vacancies-h4: var(--step-2);
    --urgent-vacancies-h4-span: calc(var(--urgent-vacancies-h4) / 1.6);
}

.urgent-vacancies .c-grid-projects__items .c-grid-projects__item-title {
	font-size: var(--urgent-vacancies-h4);
}

.urgent-vacancies .c-grid-projects__items .c-grid-projects__item-title span {
	font-size: var(--urgent-vacancies-h4-span);
}

.urgent-vacancies .c-grid-projects__salary-toggle {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 100px;
    height: 32px;
}

.urgent-vacancies .c-grid-projects__salary-toggle .salary-state {
    opacity: 1;
    transition: opacity 0.2s ease;
    white-space: nowrap;
}

.urgent-vacancies .c-grid-projects__salary-toggle .button-state {
    position: absolute;
    right: 0;
    opacity: 0;
    /* Убираем translateY чтобы кнопка появлялась на месте */
    transition: opacity 0.2s ease;
    background-color: var(--primary);
    color: var(--white);
    border: 1px solid var(--white);
    padding: 6px 16px;
    border-radius: var(--btn-border-radius, 4px);
    font-size: 11px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.05em;
    white-space: nowrap;
    pointer-events: none;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.urgent-vacancies .c-grid-projects__item-header { 
    position: relative; 
} 

.urgent-vacancies .c-grid-projects__item:hover .c-grid-projects__salary-toggle .salary-state {
    opacity: 0;
}

.urgent-vacancies .c-grid-projects__item:hover .c-grid-projects__salary-toggle .button-state {
    opacity: 1;
    pointer-events: auto;
}

@media (max-width: 768px) {
    .urgent-vacancies .c-grid-projects__salary-toggle {
        min-width: 0;
    }
}
.urgent-vacancies .c-grid-projects__item-header span.button-state {
    font-weight: 400;
    color: var(--white);
    font-size: var(--step--1);
} 

@media (max-width: 1680px) { 
    .urgent-vacancies .c-grid-projects__item:hover .c-grid-projects__salary-toggle { 
        position: static; 
    } 
    .urgent-vacancies .c-grid-projects__item .c-grid-projects__salary-toggle { 
        position: static; 
    } 
    .urgent-vacancies .c-grid-projects__item .button-state { 
        position: absolute; 
        inset: 0; 
        width: 100%; 
        height: 100%; 
    } 
} 

@media (max-width: 1280px) { 
    .urgent-vacancies .o-grid { 
        grid-template-columns: repeat(2, 1fr); 
		min-height: auto;
    }  
	
	.urgent-vacancies .c-grid-projects__items.o-grid > .c-grid-projects__item {
		/* Отвязываем ширину карточки от переменной --column-span */
		grid-column: span 1 !important; 
	}	
    
    /* Рисуем одну линию строго по центру сетки */
    .urgent-vacancies.u-has-lanes::after {
        width: 1px;
        border: none;
    }

	.urgent-vacancies .c-grid-projects__item:hover .c-grid-projects__salary-toggle .salary-state {
		opacity: 1;
	}

	.urgent-vacancies .c-grid-projects__item .c-grid-projects__salary-toggle .button-state {
		opacity: 1;
		pointer-events: auto;
	}

    .urgent-vacancies .c-grid-projects__item .button-state { 
        bottom: 59px !important;
        width: 96% !important;
		left: 2% !important;
        border: 1px solid #f9f9f94d;
		border-radius: var(--border-radius);
		inset: auto;
		background: transparent;
		z-index: 1;
        /* -webkit-backdrop-filter: var(--blur-effect);
        backdrop-filter: var(--blur-effect);
        backdrop-filter: blur(2px);
        text-shadow: 1px 1px #00000073; */
    } 
} 

@media (max-width: 768px) {
    .urgent-vacancies .c-grid-projects__items.o-grid {
        grid-template-columns: 1fr !important;
    }
    .urgent-vacancies.u-has-lanes::after {
        display: none !important;
    } 
}

@media (min-width:1280px) and (max-width:1560px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--step--1);
	}
}

@media (min-width:768px) and (max-width:1024px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--step--1);
	}
}

@media (min-width:668px) and (max-width:768px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--body-font-size-big);
	}
	.urgent-vacancies {
		--urgent-vacancies-h4: 42px;
	}
}

@media (min-width:568px) and (max-width:668px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--body-font-size);
	}
	.urgent-vacancies {
		--urgent-vacancies-h4: 37px;
	}
}

@media (min-width:414px) and (max-width:568px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--step--2);
	}
	.urgent-vacancies {
		--urgent-vacancies-h4: 32px;
	}
}

@media (max-width:414px) {
	.urgent-vacancies .c-grid-projects__item-header {
		font-size: var(--step--1);
	}
	.urgent-vacancies {
		--urgent-vacancies-h4: 27px;
	}
}

@media (min-width: 768px) {
    .urgent-vacancies .c-grid-projects__item:first-child {
        --column-start: 1;
    }
}

.urgent-vacancies .u-image-rounded .o-media::after,
.jobs-info .u-image-vert .o-media::after {
	background: linear-gradient(to bottom, 
    rgb(0 149 255 / 60%) 0%,       
    transparent 35%,
    transparent 65%,
    rgb(0 114 255 / 60%) 100%
	);
	pointer-events: none;
	opacity: 0.5;
	inset: 0;
	border-radius: var(--border-radius);
}

.jobs-info .u-image-vert .o-media::after {
	opacity: 0.2;
}

.urgent-vacancies .u-image-rounded .o-media::before,
.jobs-info .u-image-vert .o-media::before {
	background-image: url(../images/logo_white.svg);
	background-repeat: no-repeat;
	background-size: 40% auto;
	background-position: left 11% top 8%;
    position: absolute;
    z-index: 1;
    background-color: transparent;
}

.urgent-vacancies .u-image-rounded .o-media .o-media__image,
.jobs-info .u-image-vert .o-media .o-media__image {
	background-position: 50% 50%;
	background-size: cover;
}

.categories .c-grid-category__item .o-media .o-media__image {
	background-position: 50% bottom;
	background-size: cover;
}

/* ========================================== 
   Секция QUALITY (quality) 
   ========================================== */ 
   
@media (max-width: 1023px) {
    .quality .u-image-rounded.o-media {
		grid-row-start: 1;
		--column-span: 12;
		--column-start: 1;
		--ratio: 5 / 3;
	}
/* 	.quality.o-container {
		margin-top: var(--container-padding);
	} */
	.o-grid {
		grid-gap: var(--gutter-y) var(--gutter-x);
	}
}

/* ========================================== 
   Секция FOOTER (footer) 
   ========================================== */

@media (min-width:1024px) {
	.c-site-footer__anagraphic {
		width:calc(24.5% - var(--gutter-x));
		position: absolute;
	}
}

@media (max-width: 1023px) {
	.c-site-footer__content {
		display: flex;
		flex-direction: column;
		width:calc(50% - var(--gutter-x));		
	}
	.c-site-footer__nav {
		order: 1;
	}
	.c-site-footer__anagraphic {
		order: 2;
	}
	.c-site-footer__nav>ul {
        margin-top: 0;
    }
	.c-site-footer__anagraphic p, .c-site-footer__anagraphic a.logo, .footer-legal-inline {
		margin-top: 0;
		margin-bottom: var(--space-m);
	}
}

@media (max-width: 767px) {
	.c-site-footer__content {
		width: auto;		
	}
}
   
/* ========================================== 
   Секция Mobile Menu (c-site-menu) 
   ========================================== */

@media (min-width:768px) and (max-width:1280px) {
    .c-site-menu .c-site-menu__cta {
		justify-content: center;
		flex-direction: column;
	}
	.c-site-menu .icon_cta-title {
		margin-right: 0;
	}
	.c-site-menu .c-site-menu__cta-icon {
		display: none;
	}
}
@media (max-width:1280px) {
	.c-site-menu .c-site-menu__header {
		align-items: flex-start;
		flex-direction: column;
		margin-top: var(--container-padding);
	}
	.c-site-menu .c-site-menu__cta {
		min-height: 90px;
	}
	.c-site-menu .show-menu .c-site-menu__main {
		display: flex;
		flex-direction: column;
		height: 100vh;
	}
	.c-site-menu .c-site-menu__nav-wrapper {
		position: relative;
		overflow: hidden;
		margin: auto 0;
		padding: 0 var(--container-padding);
	}
}
@media (min-width:768px) and (max-width:830px) {
    .c-site-menu .c-site-menu__cta [data-field="header_cta_phone_val"] {
		font-size: 15px !important;
	}
}
@media (max-width:768px) {
	.c-site-menu .c-site-menu__cta {
		min-height: 45px;
	}
}

/* ========================================== 
   Секция FAQ (faq) 
   ========================================== */
@media (max-width:1024px) {
	.c-job-list__item-counter {
        --column-span: 1;
    }
	.c-job-list__item-header {
        --column-span: 10;
        --column-start: 2;
    }
    .c-job-list__item-icon {
        --column-span: 1;
        --column-start: 12;
    }
	.c-job-list__item-content {
		--column-start: 2;
		--column-span: 10;
	}
	.c-job-list__item {
		gap: 0;
	}
}
@media (max-width:479px) {
	.c-job-list__item-header {
		padding-right: 10px;
    }
}
@media (max-width:390px) {
	.c-job-list__item-header {
		padding-right: 15px;
    }
}   

/* ========================================== 
   Секция FORM (feedback-form) 
   ========================================== */
   
@media (max-width:1280px) {
	.o-container.o-grid > [data-component="form"].o-col-sm-8.o-col-start-sm-5 {
		--column-span: 12;
		--column-start: 1;
	}
}

@media (max-width:767px) {
	.feedback-form .FormBuilder .InputfieldSubmit {
		text-align: center;
	}
}


/* ========================================== 
   Секция CATEGORIES (categories) 
   ========================================== */
   
@media (max-width:1365px) {
/* 	.c-card-category {
		min-height: calc(55vh * var(--ratio-size));
	} */
	.categories .o-col-sm-4 {
        --column-span: 12;
    }
	.c-card-category__childs {
		opacity: 1;
	}
	.c-card-category .c-card-category__childs .o-button {
		opacity: 1;
	}
	.c-card-category::after {
		--opacity: 40%;
		-webkit-backdrop-filter: blur(2px);
		backdrop-filter: blur(2px);
	}
	.c-card-category .c-card-category__childs .o-button {
		transform: none;
		opacity: 1;
		transition: opacity .4s, transform .4s cubic-bezier(.23, 1, .32, 1);
		transition-delay: calc((var(--index, 0) + var(--index, 0)) * .01s);
	}
	.c-card-category__icon {
		display: none;
	}
/* 	.categories .c-card-category .o-media__image {
		background-position: 50% 30% !important;
	} */
}
@media (min-width:768px) and (max-width:1365px) {
	.categories .c-grid-category__item .o-media .o-media__image {
		background-size: contain;
	}
}

/* ========================================== 
   Секция JOBS-INFO (jobs-info) 
   ========================================== */
   
@media (max-width:1440px) {
	.jobs-info .c-text-list__item-body {
		--column-start: 5;
		--column-span: 8;
	}
}
@media (max-width:768px) {
	.jobs-info .c-text-list__item-body p.avi-job-description b {
		margin-bottom: 15px;
		margin-top: 20px;
		display: inline-block;
	}
}
@media (max-width:767px) {
	.jobs-info .c-text-list__item-body {
		--column-start: 1;
		--column-span: 12;
	}
	.jobs-info .c-text-list__image {
		--ratio: 1 / 1;
		--column-start: 1;
		--column-span: 12;
		border-radius: var(--btn-border-radius);
	}
	.jobs-info {
		overflow: hidden;
	}
	.jobs-info .c-text-list__item-body .o-button {
		align-self: center; 
	}	
}

/* ========================================== 
   Убираем линии
   ========================================== */

@media (max-width:1023px) {
    .hero.u-has-lanes::after, .news-slide.u-has-lanes::after, .footer.u-has-lanes::after {
        width: 1px;
		border: none;
    }
}
@media (max-width:768px) {
    .hero.u-has-lanes::after {
        display: none !important;
    }
}
@media (max-width:767px) {
    .footer.u-has-lanes::after {
        display: none !important;
    }
}

/* ========================================== 
   Секция HEADER (header), (header-inner) 
   ========================================== */

@media (max-width:3400px) {
	.c-site-header__brand {
		height: auto;
		width: 12%;
	}
}

@media (max-width:1920px) {
	.c-site-header__brand {
		height: auto;
		width: 15%;
	}
}

@media (max-width:1280px) {
	.c-site-header__brand {
		height: auto;
		width: 20%;
	}
}

@media (max-width: 767px) {
    .c-header-phone span {
        display: none;
    }
	.c-header-phone img {
		width: 20px;
	}
	.c-header-phone {
		width: 20px;
	}
	.c-site-header__menu-toggle {
		padding: calc(var(--btn-py) + var(--btn-border-width) * 2) calc(var(--btn-py) + var(--btn-border-width) * 2);
		position: relative;
		z-index: 50;
	}	
	.c-site-header__menu-toggle .menu-word {
		display: none;
	}
	.c-site-header__brand {
		height: auto;
		width: 30%;
	}
}

@media (max-width:530px) {
	.c-site-header__brand {
		height: auto;
		width: 35%;
	}
}

@media (max-width:390px) {
	.c-site-header__brand {
		height: auto;
		width: 36%;
	}
}

/* ========================================== 
   Секция HERO (hero), (hero-inner)
   ========================================== */

@media (max-width: 413px) {
	.hero-inner {
		display: flex;
		flex-direction: column;
	}
	.c-header-text__title {
		order: 1;
	}
	.o-breadcrumbs {
		order: 2;
		margin-top: 10px;
	}
	.o-breadcrumbs a {
		padding: .15em;
	}
	.o-breadcrumbs>li {
		align-items: flex-start;
		flex-direction: column;
	}	
}

/* ========================================== 
   Секция NEWS-SLIDE (news-slide)
   ========================================== */
   
@media (min-width: 1024px) {
	.o-slider-posts .swiper {
		--column-span: 9; 
		--column-start: 4; 
	}
}
@media (max-width: 1023px) {
   .o-slider-posts .swiper-slide {
        --cols: 6;
    }
}
@media (max-width: 767px) {
   .o-slider-posts .swiper-slide {
        --cols: 12;
    }
	.o-slider-posts__footer {
		flex-direction: column;
	}
}

/* ========================================== 
   Секция URGENT-VACANCIES-SEARCH (urgent-vacancies-search)
   ========================================== */
   
@media (max-width: 1440px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 500px);
	}		
}
@media (max-width: 1240px) {
	.urgent-vacancies-search .o-tag {
		padding: 4px 6px;
	}
	.urgent-vacancies-search {
        padding-top: 90px;
    }
	.urgent-vacancies-search .o-filter-pils {
		display: flex;
		gap: 5px 10px;
		margin: 0 0 10px 0;
		justify-content: center;
	}
	.urgent-vacancies-search .avi-secondary-filters {
		display: flex;
		gap: 10px;
		margin-bottom: 30px;
		padding-top: 10px;
		flex-direction: column;
		align-items: center;
		flex-wrap: wrap;
		border: none;
	}
	.urgent-vacancies-search .avi-secondary-filters__left {
		display: flex;
		gap: 10px;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
	}
	.urgent-vacancies-search .avi-field {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.urgent-vacancies-search .avi-input {
		width: 70px;
		padding: 4px;
	}
	.urgent-vacancies-search .avi-custom-select-wrapper {
		display: flex;
		align-items: center;
		gap: 10px;
	}
	.urgent-vacancies-search .avi-custom-select-trigger {
		gap: 10px;
		padding: 4px;
		min-width: 100px;
	}
	.urgent-vacancies-search .avi-conditions-row {
		display: flex;
		gap: 10px;
		flex-direction: row;
	}
	.urgent-vacancies-search .avi-checkbox-wrapper {
		top: 2px;
	}
	.urgent-vacancies-search .avi-checkbox-wrapper span {
		position: relative;
		top: 2px;
	}
}
@media (max-width: 1024px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 450px);
	}
}
@media (max-width: 768px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 390px);
	}
}
@media (max-width: 767px) {
	.urgent-vacancies-search {
        padding-top: 75px;
    }
}
@media (max-width: 660px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 360px);
	}
}
@media (max-width: 560px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 320px);
	}
}
@media (max-width: 480px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 290px);
	}
}
@media (max-width: 450px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 275px);
	}
}
@media (max-width: 414px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 260px);
	}
}
@media (max-width: 375px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 245px);
	}
}
@media (max-width: 350px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 235px);
	}
}
@media (max-width: 320px) {
	body.is-search-open .c-site-header__search form {
		max-width: calc(100vw - 220px);
	}
}

/* ==========================================
   SAFARI MACOS FIX: IntersectionObserver & Repaint Bug
   ========================================== */

/* Убираем стартовый opacity: 0 у body специально для Safari, 
   так как он блокирует расчеты появления элементов при скролле */
@supports (-webkit-hyphens:none) {
    .avia:not(.is-ready) body {
        opacity: 1 !important;
    }
}

/* Форсируем аппаратное ускорение и перерисовку 
   для скрытых элементов, чтобы Safari их не "терял" */
.o-reveal,
.o-card-reveal,
[data-component="in-view"],
.o-text-reveal-lines {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: opacity, transform;
}

/* ==========================================
   FIX: Category Links Double-Tap on Mobile/Touch
   ========================================== */
@media (max-width: 1365px) {
    /* Prevent iOS Safari from intercepting the first tap to play hover animations */
    .c-card-category__childs .o-button:hover .o-button__plane,
    .c-card-category__childs .o-button:active .o-button__plane {
        display: none !important;
        animation: none !important;
        opacity: 0 !important;
    }
    
    .c-card-category__childs .o-button:hover::after,
    .can-hover .c-card-category__childs .o-button:hover::after {
        -webkit-mask-position: 100% 0% !important;
        mask-position: 100% 0% !important;
        transition: none !important;
    }
}
