/* ==========================================================================
   MONTSERRAT
   ========================================================================== */

/* Regular */
@font-face {
  font-family: 'Montserrat';
  src: url('./../fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Medium */
@font-face {
  font-family: 'Montserrat';
  src: url('./../fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* SemiBold */
@font-face {
  font-family: 'Montserrat';
  src: url('./../fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Bold */
@font-face {
  font-family: 'Montserrat';
  src: url('./../fonts/Montserrat-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* Black */
@font-face {
  font-family: 'Montserrat';
  src: url('./../fonts/Montserrat-Black.ttf') format('truetype');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}


/* ==========================================================================
   ROBOTO
   ========================================================================== */

/* Regular */
@font-face {
  font-family: 'Roboto';
  src: url('./../fonts/Roboto-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Medium */
@font-face {
  font-family: 'Roboto';
  src: url('./../fonts/Roboto-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

/* SemiBold */
@font-face {
  font-family: 'Roboto';
  src: url('./../fonts/Roboto-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

/* Bold */
@font-face {
  font-family: 'Roboto';
  src: url('./../fonts/Roboto-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg-color: #0b220c;
  --text-color: #d1e231;
  --font-family: 'Roboto', sans-serif;
}

/* Базовое правило предотвращения переноса длинных строк */
.typo-wrap {
  word-wrap: break-word;
}

/* 1. Display Mega (Самый крупный, бренд-акцент) */
.text-display-mega {
  font-family: var(--font-main);
  font-size: 180px;
  line-height: 168px;
  font-weight: 900;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 2. Display L (Роботизация) */
.text-display-l {
  font-family: var(--font-main);
  font-size: 88px;
  line-height: 92px;
  font-weight: 900;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 3. H1 Hero (Подберём решение за 90 минут) */
h1 {
  font-family: 'Montserrat';
  font-size: 64px;
  line-height: 72px;
  font-weight: 700;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 4. H2 Section (Решения для линий упаковки) */
h2 {
  font-family:'Montserrat';
  font-size: 48px;
  line-height: 56px;
  font-weight: 700;
  /* color: var(--color-slate-900); */
  word-wrap: break-word;
}

/* 5. H3 Card (Палетировщик «Стандарт») */
h3 {
  font-family: 'Montserrat';
  font-size: 32px;
  line-height: 40px;
  font-weight: 700;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 6. H4 Subtitle (Для каких задач / Шкала размеров) */
h4.subtitle {
  font-family: 'Montserrat';
  font-size: 28px;
  font-weight: 700;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* Шкала размеров 22px вариант */
h4 {
  font-family: 'Montserrat';
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 7. Body L (Lead текст) */
.text-body-l {
  font-family: var(--font-alt);
  font-size: 17px;
  line-height: 28px;
  font-weight: 400;
  color: var(--color-slate-900);
  word-wrap: break-word;
}

/* 8. Body M (Обычный текст) */
.text-body-m {
  font-family: var(--font-alt);
  font-size: 19px;
  line-height: 22px;
  font-weight: 400;
  color: var(--color-gray-500);
  word-wrap: break-word;
}

/* 9. Caption (Характеристики, мелкие подписи) */
.text-caption {
  font-family: var(--font-alt);
  font-size: 12px;
  line-height: 18px;
  font-weight: 500;
  color: var(--color-gray-500);
  word-wrap: break-word;
}

/* 10. Eyebrow (Надзаголовок капсом, например: РЕШЕНИЕ) */
.text-eyebrow {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-brand-green);
  word-wrap: break-word;
}

/* 11. Button (Стиль текста для кнопок и ссылок перехода) */
a {
  font-family: var(--font-alt);
  font-size: 16px;
  font-weight: 700;
  color: var(--color-brand-green);
  letter-spacing: 1px;
  word-wrap: break-word;
}


.promo-banner {
  background-color: var(--bg-color);
  padding: 12px 20px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}

.promo-banner__container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.promo-banner__info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--text-color);
}

.promo-banner__live-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  position: relative;
}

/* Анимированная точка */
.promo-banner__live-badge::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: var(--text-color);
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(209, 226, 49, 0.7);
  animation: pulse-dot 1.6s infinite cubic-bezier(0.66, 0, 0, 1);
}

/* Эффект расширения тени (пульсации) */
@keyframes pulse-dot {
  0% {
    box-shadow: 0 0 0 0 rgba(209, 226, 49, 0.7);
  }
  70% {
    box-shadow: 0 0 0 6px rgba(209, 226, 49, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(209, 226, 49, 0);
  }
}

.promo-banner__separator {
  opacity: 0.7;
}

.promo-banner__link {
  color: var(--text-color);
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: opacity 0.2s ease;
}

.promo-banner__link:hover {
  opacity: 0.8;
}

@media (max-width: 768px) {
  .promo-banner__container {
    flex-direction: column;
    text-align: center;
    justify-content: center;
  }
  
  .promo-banner__info {
    justify-content: center;
  }
}

:root {
  --bg-gradient: linear-gradient(135deg, #1b6320 0%, #0d3810 50%, #041205 100%);
  --brand-lime: #d1e231; /* Неоново-салатовый */
  --text-white: #ffffff;
}

/* Главный контейнер */
.promo-hero {
  position: relative; /* База для абсолютных слоев внутри */
  overflow: hidden; /* Обрезает края кругов, выходящие за границы экрана */
  min-height: 800px;
  /* Градиент выступает самым нижним слоем (подложкой) */
  background: linear-gradient(135deg, #1b6320 0%, #0d3810 50%, #041205 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  box-sizing: border-box;
}

/* Фоновые круги: слой строго над градиентом, но под контентом */
.promo-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 50%; /* Ограничиваем область правой половиной экрана */
  height: 100%;
  /* Прижимаем картинку к правому верхнему углу (right top) */
  background: url('./../images/Окружности-рисунок.png') no-repeat right top / contain;
  pointer-events: none; /* Исключает перекрытие курсора (все элементы кликабельны) */
  z-index: 1; /* Самый низкий z-index среди абсолютных элементов */
  opacity: 0.9;
}


/* Сетка для разделения на левую и правую части */
.promo-hero__columns-container {
  max-width: 1440px;
  width: 100%;
  margin: auto; /* Центрирование контента по вертикали */
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 60px;
  align-items: center;
  padding: 40px 0;
}

/* Левая колонка */
:root {
  --brand-lime: #d1e231; /* Ярко-салатовый цвет текста и главной кнопки */
  --text-white: #ffffff;
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Контейнер левой колонки */
.promo-hero__left-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}

/* Заголовок: Montserrat Black, 88px, строчные буквы */
.promo-hero__main-title {
  font-family: var(--font-main);
  font-size: 88px;
  line-height: 92px;
  font-weight: 900;
  color: var(--brand-lime);
  margin: 0 0 24px 0;
  letter-spacing: -1px;
  word-wrap: break-word;
}

/* Абзац: Roboto Regular, 14px, полупрозрачный белый */
.promo-hero__subtext {
  font-family: var(--font-alt);
  font-size: 19px;
  line-height: 22px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7); /* Приглушенный тон для читаемости на темном фоне */
  max-width: 580px;
  margin: 0 0 40px 0;
  word-wrap: break-word;
}

/* Контейнер кнопок */
.promo-hero__actions-group {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* Главная кнопка: Салатовый овал */
.promo-hero__action-btn {
  background-color: var(--brand-lime);
  color: #041205; /* Темно-зеленый текст на кнопке */
  text-decoration: none;
  font-family: var(--font-alt);
  font-size: 18px;
  font-weight: 500;
  padding: 16px 32px;
  border-radius: 40px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.promo-hero__action-btn:hover {
  transform: translateY(-2px);
  background-color: #c2d128;
}

/* Стрелочка внутри главной кнопки */
.promo-hero__arrow {
  font-size: 18px;
  line-height: 1;
}

/* Вторая кнопка: Контурная */
.promo-hero__secondary-btn {
  background-color: transparent;
  color: var(--text-white);
  text-decoration: none;
  font-family: var(--font-alt);
  font-size: 18px;
  font-weight: 500;
  padding: 15px 32px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 40px;
  display: inline-flex;
  align-items: center;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.promo-hero__secondary-btn:hover {
  transform: translateY(-2px);
  background-color: rgba(255, 255, 255, 0.08);
  border-color: var(--brand-lime);
}

/* Медиа-запросы для адаптации под планшеты и мобильные экраны */
@media (max-width: 1150px) {
  .promo-hero__left-content {
    align-items: center;
    text-align: center;
    max-width: 700px;
    margin: 0 auto;
  }

  .promo-hero__main-title {
    font-size: 64px;
    line-height: 68px;
  }

  .promo-hero__actions-group {
    justify-content: center;
  }
}

@media (max-width: 600px) {
  .promo-hero__main-title {
    font-size: 42px;
    line-height: 46px;
  }

  .promo-hero__actions-group {
    flex-direction: column;
    width: 100%;
  }

  .promo-hero__action-btn,
  .promo-hero__secondary-btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}
/* Правая колонка: Видеокарточка */
.hero-video-card {
  background-color: rgba(22, 66, 17, 0.6); /* Полупрозрачный зеленый для слияния с основным фоном */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 40px;
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 30px;
  z-index: 5;
}

/* Рамка видеоплеера */
.hero-video-card__player-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 24px;
  overflow: hidden;
  background-color: rgba(4, 18, 5, 0.5);
}

.hero-video-card__poster {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Кнопка Play */
.hero-video-card__play-btn {
  background: none;
  border: 2px solid var(--text-white);
  border-radius: 16px;
  width: 72px;
  height: 48px;
  color: var(--text-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.hero-video-card__play-btn svg {
  width: 24px;
  height: 24px;
}

.hero-video-card__play-btn:hover {
  transform: scale(1.05);
  background-color: rgba(255, 255, 255, 0.1);
}

.hero-video-card__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: none;
}

/* Метрики */
.hero-video-card__metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.hero-metric-item {
  color: var(--text-white);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hero-metric-item__value {
  font-family: 'Montserrat', sans-serif;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
}

.hero-metric-item__value--cyan {
  color: #00d2ff; /* Голубой цвет для точности */
}

.hero-metric-item__label {
  font-family: 'Roboto', sans-serif;
  font-size: 11px;
  line-height: 1.3;
  opacity: 0.8;
}
/* Состояние, когда видео запущено (класс добавляется через JS) */
.hero-video-card__player-wrapper.is-playing .hero-video-card__poster {
  display: none; /* Скрываем постер и кнопку Play */
}

.hero-video-card__player-wrapper.is-playing .hero-video-card__video {
  display: block; /* Показываем сам плеер с видео */
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Адаптивность */
@media (max-width: 1150px) {
  .promo-hero__columns-container {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 20px;
  }
  
  .hero-video-card {
    max-width: 520px;
    width: 100%;
    margin: 0 auto;
  }
  
  .promo-hero__left-content {
    align-items: center;
    text-align: center;
  }
}

@media (max-width: 480px) {
  .hero-video-card__metrics {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
:root {
  --color-slate-900: #0F172A; /* Темный цвет для заголовка */
  --font-main: 'Montserrat', sans-serif;
}

/* Основной контейнер секции */
.partners-section {
  background-color: #ffffff; /* Строго белый фон как на картинке */
  padding: 30px 24px 0 24px;
  width: 100%;
  /* max-height: 180px; */
  box-sizing: border-box;
}

.partners-section__container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

/* Заголовок «С нами сотрудничают» */
.partners-section__title {
  font-family: var(--font-main);
  font-size: 28px;
  font-weight: 700;
  color: var(--color-slate-900);
  margin: 0 0 48px 0;
  letter-spacing: -0.5px;
}

/* Ряд с логотипами */
.partners-section__grid {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 64px; /* Оптимальный отступ между логотипами по макету */
  flex-wrap: wrap;
  padding: 0px 24px 30px 24px;
}

/* Контейнер для каждого отдельного логотипа */
.partners-logo-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  height: 60px; /* Фиксированная высота для выравнивания разноформатных картинок */
}

/* Изображение логотипа */
.partners-logo-item__img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; /* Картинки масштабируются без искажения пропорций */
  filter: grayscale(0%); /* Сохраняем оригинальные цвета брендов */
  opacity: 0.9;
  transition: opacity 0.2s ease;
}

/* Эффект при наведении */
.partners-logo-item__img:hover {
  opacity: 1;
}

/* Адаптивность для небольших экранов */
@media (max-width: 768px) {
  .partners-section {
    padding: 40px 16px;
  }
  
  .partners-section__title {
    font-size: 22px;
    margin-bottom: 32px;
  }
  
  .partners-section__grid {
    gap: 40px; /* Уменьшаем отступы на планшетах */
  }
}

@media (max-width: 480px) {
  .partners-section__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* На телефонах выстраиваем сеткой 2х2 */
    gap: 32px 20px;
  }
  
  .partners-logo-item {
    height: 50px;
  }
}
/* Базовое состояние: от 320px до 639px (2 колонки) */
.partners-section__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* От 640px до 799px (3 колонки) */
@media (min-width: 640px) {
  .partners-section__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    padding: 16px;
  }
}

/* От 800px до 1199px (4 колонки) */
@media (min-width: 800px) {
  .partners-section__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
  }
}

/* От 1200px и выше (5 или 6 колонок + ограничение контейнера) */
@media (min-width: 1200px) {
  .partners-section__grid {
    /* grid-template-columns: repeat(6, 1fr); */
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 0;
  }
}

/* Базовый стайлинг карточки */
.partners-section__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  padding: 15px;
}
.partners-section__item img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

:root {
  --stats-bg-gradient: linear-gradient(180deg, #09240b 0%, #051406 100%);
  --color-lime: #D1E231;
  --color-blue: #00D2FF;
  --color-white: #FFFFFF;
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Секция с фоновым градиентом */
.stats-section {
  position: relative;
  background: var(--stats-bg-gradient);
    padding: 50px 24px;
    width: 100%;
    box-sizing: border-box;
    margin: 30px 0 30px 0;
}

/* Верхняя неоновая линия */
.stats-section__top-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--color-lime);
}

/* Контейнер-сетка */
.stats-section__container {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 40px;
  align-items: center;
}

/* Левая текстовая часть */
.stats-section__heading {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.stats-section__title,
.stats-section__subtitle {
  font-family: var(--font-main);
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  margin: 0;
  color: var(--color-white);
}

/* Правая часть с цифрами */
.stats-section__grid {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

/* Блок одного показателя */
.stats-item {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}

/* Большие цифры */
.stats-item__number {
  font-family: var(--font-main);
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -1px;
}

/* Цветовые модификаторы для цифр */
.stats-item__number--lime { color: var(--color-lime); }
.stats-item__number--blue { color: var(--color-blue); }
.stats-item__number--white { color: var(--color-white); }

/* Подписи под цифрами */
.stats-item__desc {
  font-family: var(--font-alt);
  font-size: 11px;
  line-height: 16px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.8);
  /* text-transform: uppercase; */
  letter-spacing: 0.5px;
}

.stats-item__desc strong {
  font-weight: 700;
  color: var(--color-white);
}

/* Адаптивность для планшетов */
@media (max-width: 1024px) {
  .stats-section__container {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  
  .stats-section__grid {
    flex-wrap: wrap;
    gap: 32px;
  }
  
  .stats-item {
    min-width: 200px;
  }
}

/* Адаптивность для мобильных телефонов */
@media (max-width: 560px) {
  .stats-section {
    padding: 60px 16px;
  }

  .stats-section__title,
  .stats-section__subtitle {
    font-size: 22px;
    line-height: 28px;
  }

  .stats-section__grid {
    flex-direction: column;
    gap: 32px;
  }
  
  .stats-item__number {
    font-size: 54px;
  }
}

:root {
  --color-slate-900: #0F172A;
  --color-gray-500: #4B5663;
  --color-brand-green: #43B02A;
  --color-lime-bg: #F4F9F3; /* Светло-зеленый фон правых карточек */
  --card-gradient: linear-gradient(135deg, #09220b 0%, #051406 100%);
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Секция контента */
.solutions {
  background-color: #ffffff;
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
}

.solutions__container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Шапка секции */
.solutions__header {
  margin-bottom: 48px;
  max-width: 900px;
}

.solutions__eyebrow {
  margin-bottom: 12px;
  display: inline-block;
}

.solutions__title {
  margin: 0 0 16px 0;
  color: var(--color-slate-900);
}

.solutions__subtitle {
  margin: 0;
  color: var(--color-gray-500);
  font-size: 14px;
  line-height: 22px;
}

/* Сетка основного контента */
.solutions__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: stretch;
}

/* Левая большая темно-зеленая карточка */
.solution-card-main {
  background: var(--card-gradient);
  border-radius: 24px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 400px;
  box-sizing: border-box;
}

.solution-card-main__number {
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-brand-green);
}

.solution-card-main__content {
  margin-top: 40px;
  margin-bottom: 40px;
}

.solution-card-main__title {
  color: #ffffff;
  margin: 0 0 16px 0;
}

.solution-card-main__text {
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
  font-size: 14px;
  line-height: 22px;
}

/* Салатовая кнопка «Подробнее» */
.solution-card-main__btn {
  background-color: #D1E231;
  color: #051406;
  text-decoration: none;
  font-family: var(--font-alt);
  font-size: 14px;
  font-weight: 700;
  padding: 12px 28px;
  border-radius: 30px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.solution-card-main__btn:hover {
  transform: translateY(-2px);
  background-color: #c2d128;
}

/* Правая колонка списков */
.solutions__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: space-between;
}

/* Маленькая карточка (Блоки 02, 03, 04) */
.solution-item {
  position: relative;
  background-color: var(--color-lime-bg);
  border-radius: 16px;
  padding: 24px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  box-sizing: border-box;
  flex: 1;
}

/* Вертикальный зеленый маркер слева у карточки */
.solution-item__border {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background-color: var(--color-brand-green);
  border-radius: 16px 0 0 16px;
}

.solution-item__content {
  display: flex;
  flex-direction: column;
}

.solution-item__number {
  font-family: var(--font-main);
  font-size: 12px;
  font-weight: 700;
  color: var(--color-brand-green);
  margin-bottom: 8px;
}

.solution-item__title {
  font-family: var(--font-main);
  font-size: 18px;
  font-weight: 700;
  color: var(--color-slate-900);
  margin: 0 0 6px 0;
}

.solution-item__desc {
  font-family: var(--font-alt);
  font-size: 13px;
  color: var(--color-gray-500);
  margin: 0;
}

/* Зеленая круглая кнопка со стрелкой */
.solution-item__circle-btn {
  width: 40px;
  height: 40px;
  background-color: var(--color-brand-green);
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.solution-item__circle-btn:hover {
  transform: scale(1.05);
  background-color: #368e22;
}

/* Адаптивный дизайн для средних экранов (планшетов) */
@media (max-width: 992px) {
  .solutions__grid {
    grid-template-columns: 1fr; /* Перестраиваем структуру в одну колонку */
    gap: 24px;
  }
  
  .solution-card-main {
    min-height: auto;
  }
}

/* Адаптивный дизайн для мобильных телефонов */
@media (max-width: 576px) {
  .solutions {
    padding: 60px 16px;
  }
  
  .solutions__title {
    font-size: 32px;
    line-height: 38px;
  }
  
  .solution-card-main {
    padding: 24px;
  }
  
  .solution-item {
    padding: 20px 24px;
    flex-direction: column; /* Контент внутри плашек встает вертикально */
    align-items: flex-start;
  }
  
  .solution-item__circle-btn {
    align-self: flex-end; /* Кнопочка смещается в правый нижний угол */
  }
}

:root {
  --color-slate-900: #0F172A;
  --color-gray-500: #4B5663;
  --color-brand-green: #43B02A;
  --section-bg-color: #F8FAF8;
  --card-white-bg: #ffffff;
  --card-dark-gradient: linear-gradient(180deg, #173B19 0%, #0B1E0C 100%);
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

.packaging-formats {
  background-color: var(--section-bg-color);
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
}

.packaging-formats__container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Сетка карточек 3х2 */
.packaging-formats__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px; /* Возвращаем стандартный аккуратный отступ */
  margin-top: 40px;
}

/* Базовая карточка */
.format-card {
  background-color: var(--card-white-bg);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden; /* Срезает углы у нижнего шильдика */
  box-sizing: border-box;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.format-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.04);
}

/* Контейнер картинки: теперь внутри карточки и отцентрирован */
.format-card__icon-wrapper,
.format-card__internal-icon {
  width: 100%;
  height: 64px;
  margin-top: 32px; /* Отступ от верхнего края карточки */
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center; /* Центрирование по горизонтали */
}

.format-card__icon,
.format-card__internal-icon img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
}

/* Тело карточки с контентом */
.format-card__body {
  padding: 0 32px 32px 32px; /* Убираем верхний паддинг, так как им управляет контейнер иконки */
  display: flex;
  flex-direction: column;
  /* align-items: center; Центрируем текст внутри карточки */
  text-align: left; /* Выравнивание текста по центру */
  justify-content: flex-start;
  flex-grow: 1;
}

.format-card__number {
  display: block;
  font-family: var(--font-main);
  font-size: 13px;
  font-weight: 700;
  color: var(--color-brand-green);
  text-align: left; /* Выравнивание текста по центру */
  margin-bottom: 12px;
}

.format-card__title {
  font-family: var(--font-main);
  font-size: 20px;
  font-weight: 700;
  color: var(--color-slate-900);
  text-align: left; /* Выравнивание текста по центру */
  margin: 0 0 12px 0;
}

.format-card__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
  color: var(--color-gray-500);
  margin: 0;
}

/* Нижний шильдик для белых карточек */
.format-card__badge {
  background-color: #F4F6F4;
  color: #2E5B30;
  font-family: var(--font-alt);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 14px 32px;
  text-align: center;
}

/* ТЕМНЫЕ КАРТОЧКИ (Блоки 02 и 05) */
.format-card--dark {
  background: var(--card-dark-gradient);
}

.format-card--dark .format-card__body {
  padding: 0 32px 32px 32px;
}

.format-card--dark .format-card__title { color: #ffffff; }
.format-card--dark .format-card__text { color: rgba(255, 255, 255, 0.75); }
.format-card--dark .format-card__badge {
  background-color: #081609;
  color: #43B02A;
}

/* Адаптивность для планшетов */
@media (max-width: 1024px) {
  .packaging-formats__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
}

/* Адаптивность для мобильных телефонов */
@media (max-width: 680px) {
  .packaging-formats {
    padding: 60px 16px;
  }

  .packaging-formats__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

:root {
  --color-slate-900: #0F172A;
  --color-gray-500: #4B5663;
  --color-brand-green: #43B02A;
  --color-lime: #D1E231;
  --cases-card-bg: #09220b; /* Темно-зеленый фон карточек */
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Общий контейнер секции */
.cases-section {
  background-color: #ffffff;
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
}

.cases-section__container {
}

/* Шапка */
.cases-section__header {
  max-width: 1400px; /* Жесткое ограничение максимальной ширины */
  margin: 0 auto;
  margin-bottom: 64px;
}

.cases-section__eyebrow {
  margin-bottom: 16px;
  display: inline-block;
}

.cases-section__main-title {
  font-family: var(--font-main);
  font-size: 48px;
  line-height: 56px;
  font-weight: 700;
  color: var(--color-slate-900);
  margin: 0;
}

/* Список рядов */
.cases-list {
  display: flex;
  flex-direction: column;
  max-width: 1200px; /* Жесткое ограничение максимальной ширины */
  margin: 0 auto;
  gap: 60px; /* Отступ между рядами кейсов */
}

/* Базовый ряд кейса (Текст слева, блок справа) */
.cases-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* Текстовый блок инфо */
.cases-item__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cases-item__meta {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--color-brand-green);
  margin-bottom: 16px;
}

.cases-item__separator {
  margin: 0 4px;
  color: var(--color-gray-500);
  opacity: 0.5;
}

.cases-item__title {
  font-family: var(--font-main);
  font-size: 28px;
  font-weight: 700;
  line-height: 34px;
  color: var(--color-slate-900);
  margin: 0 0 16px 0;
}

.cases-item__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  color: var(--color-gray-500);
  margin: 0 0 32px 0;
  max-width: 480px;
}

/* Овальная кнопка-ссылка */
.cases-item__btn {
  font-family: var(--font-alt);
  font-size: 14px;
  font-weight: 500;
  color: var(--color-brand-green);
  text-decoration: none;
  border: 1px solid rgba(67, 176, 42, 0.3);
  padding: 12px 24px;
  border-radius: 30px;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.cases-item__btn:hover {
  background-color: rgba(67, 176, 42, 0.05);
  border-color: var(--color-brand-green);
}

/* Темно-зеленая графическая карточка */
.cases-card {
  position: relative;
  background-color: var(--cases-card-bg);
  border-radius: 24px;
  padding: 48px;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  box-sizing: border-box;
  overflow: hidden; /* Срезает выходящие края декоративного круга */
}

.cases-card__value {
  font-family: var(--font-main);
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 24px;
  position: relative;
  z-index: 2;
}

.cases-card__value--lime {
  color: var(--color-lime);
}

.cases-card__label {
  font-family: var(--font-alt);
  font-size: 16px;
  line-height: 24px;
  font-weight: 700;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  max-width: 300px;
  position: relative;
  z-index: 2;
}

/* Декоративный зеленый полукруг в углу карточки */
.cases-card__circle {
  position: absolute;
  bottom: auto;
    right: -50px;
    width: 200px;
    height: 200px;
  background-color: rgba(67, 176, 42, 0.25); /* Полупрозрачный зеленый */
  border-radius: 50%;
  z-index: 1;
  pointer-events: none;
}

/* Модификатор для шахматного порядка (Кейс 02): меняем колонки местами */
.cases-item--reverse .cases-item__info {
  order: 2; /* Сдвигает текст вправо */
}

.cases-item--reverse .cases-card {
  order: 1; /* Сдвигает блок влево */
}

/* Адаптивный дизайн для планшетов */
@media (max-width: 992px) {
  .cases-item {
    grid-template-columns: 1fr; /* Перестраиваем всё в одну колонку */
    gap: 32px;
  }
  
  /* Отменяем смену порядка на мобильных, чтобы везде блоки шли одинаково */
  .cases-item--reverse .cases-item__info {
    order: unset;
  }
  
  .cases-item--reverse .cases-card {
    order: unset;
  }
  
  .cases-card {
    min-height: 240px;
    padding: 32px;
  }
  
  .cases-card__value {
    font-size: 54px;
  }
}

/* Адаптивный дизайн для мобильных телефонов */
@media (max-width: 576px) {
  .cases-section {
    padding: 60px 16px;
  }

  .cases-section__main-title {
    font-size: 32px;
    line-height: 38px;
  }
  
  .cases-item__title {
    font-size: 22px;
    line-height: 28px;
  }
  
  .cases-card__value {
    font-size: 44px;
  }
}
:root {
  --holding-bg: #F5F9F4; /* Светлый серо-зеленый фон всей секции по макету */
  --color-slate-holding: #0F172A;
  --color-gray-holding: #4B5663;
  
  /* Цветовые маркеры брендов */
  --brand-green-holding: #43B02A;
  --brand-blue-holding: #00A3FF;
  --brand-lime-holding: #C0E218;
  
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Общий контейнер секции */
.holding-section {
  background-color: var(--holding-bg);
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
}

.holding-section__container {
  max-width: 1200px; /* Ограничение ширины в соответствии с сеткой сайта */
  margin: 0 auto;
}

/* Шапка */
.holding-section__header {
  margin-bottom: 56px;
  text-align: left;
}

.holding-section__eyebrow {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--brand-green-holding);
  margin-bottom: 16px;
  display: inline-block;
}

.holding-section__main-title {
  font-family: var(--font-main);
  font-size: 48px;
  line-height: 56px;
  font-weight: 700;
  color: var(--color-slate-holding);
  margin: 0 0 16px 0;
}

.holding-section__subtext {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  color: var(--color-gray-holding);
  margin: 0;
  max-width: 850px;
}

/* Сетка карточек */
.holding-grid {
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

/* Базовая карточка */
.holding-card {
  background-color: #ffffff;
  border-radius: 0 0 24px 24px; /* Закругление только снизу как на макете */
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.holding-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.05);
}

/* Цветная полоса сверху карточки */
.holding-card__top-bar {
  height: 6px;
  width: 100%;
}

/* Внутренние отступы тела карточки */
.holding-card__body {
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-grow: 1;
}

/* Базовый бейдж */
.holding-card__badge {
  font-family: var(--font-alt);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 32px;
  color: #ffffff;
}

.holding-card__title {
  font-family: var(--font-main);
  font-size: 28px;
  font-weight: 800;
  color: var(--color-slate-holding);
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.holding-card__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  color: var(--color-gray-holding);
  margin: 0;
}

/* МОДИФИКАТОРЫ ЦВЕТОВ ДЛЯ КАЖДОГО БРЕНДА */

/* 1. Зеленый (BEGARAT) */
.holding-card--green .holding-card__top-bar { background-color: var(--brand-green-holding); }
.holding-card__badge--green { background-color: var(--brand-green-holding); }

/* 2. Синий (PAXRA) */
.holding-card--blue .holding-card__top-bar { background-color: var(--brand-blue-holding); }
.holding-card__badge--blue { background-color: var(--brand-blue-holding); }

/* 3. Салатовый (NEWEXX) */
.holding-card--lime .holding-card__top-bar { background-color: var(--brand-lime-holding); }
.holding-card__badge--lime { 
  background-color: var(--brand-lime-holding); 
  color: var(--color-slate-holding); /* Темный текст для лучшей контрастности на салатовом */
}

/* АДАПТИВНОСТЬ */

/* Планшеты */
@media (max-width: 992px) {
  .holding-grid {
    flex-direction: column; /* Перестраиваем карточки вертикально */
    gap: 20px;
  }
  
  .holding-card {
    border-radius: 12px; /* На мобильных логичнее скруглить все углы */
  }
}

/* Мобильные телефоны */
@media (max-width: 576px) {
  .holding-section {
    padding: 60px 16px;
  }

  .holding-section__main-title {
    font-size: 32px;
    line-height: 38px;
  }
  
  .holding-card__body {
    padding: 24px;
  }
  
  .holding-card__badge {
    margin-bottom: 20px;
  }
  
  .holding-card__title {
    font-size: 24px;
  }
}
:root {
  /* Градиент воссоздан по цветам из макета формы */
  --catalog-gradient: linear-gradient(135deg, #0e3d11 0%, #1c6d22 50%, #134e17 100%);
  
  /* ОБНОВЛЕННЫЕ ТОЧНЫЕ ЦВЕТА С МАКЕТА */
  --catalog-eyebrow-color: #60c949; /* Приглушенный светло-зеленый для верхнего текста */
  --catalog-text-white: #ffffff;    /* Чистый белый для заголовка и основного текста */
  
  --catalog-btn-green: #3cb12c;
  --catalog-btn-hover: #329624;
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Общий контейнер секции */
.catalog-download {
  background: var(--catalog-gradient);
  padding: 80px 24px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

.catalog-download__container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 60px;
}

/* Левая колонка */
.catalog-download__info {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: var(--catalog-text-white); /* Весь текст по умолчанию белый */
}

/* ОБНОВЛЕННЫЙ СТИЛЬ: PDF · 16 СТРАНИЦ · ОПРОСНЫЙ ЛИСТ */
.catalog-download__meta {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--catalog-eyebrow-color); /* Новый точный цвет */
  margin-bottom: 20px;
}

/* ОБНОВЛЕННЫЙ СТИЛЬ: Каталог Robotixx 2026 */
.catalog-download__title {
  font-family: var(--font-main);
  font-size: 40px;
  line-height: 48px;
  font-weight: 800;
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
  color: var(--catalog-text-white); /* Строго белый */
}

/* ОБНОВЛЕННЫЙ СТИЛЬ: Описание под заголовком */
.catalog-download__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  opacity: 0.9; /* Повышена контрастность */
  margin: 0 0 40px 0;
  max-width: 540px;
  color: var(--catalog-text-white); /* Строго белый */
}

/* Буллет-список внизу */
.catalog-download__features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  font-family: var(--font-alt);
  font-size: 13px;
  color: var(--catalog-text-white); /* Строго белый */
}

.catalog-download__features li {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Точки-разделители перед пунктами */
.catalog-download__features li::before {
  content: "•";
  color: var(--catalog-eyebrow-color); /* Точки красятся в цвет надзаголовка */
  font-size: 16px;
}

/* Правая колонка: Белая плашка формы */
.catalog-form-block {
  width: 440px;
  background-color: #ffffff;
  border-radius: 24px;
  padding: 40px;
  box-sizing: border-box;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}

.catalog-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.catalog-form__field {
  width: 100%;
}

.catalog-form__input {
  width: 100%;
  background-color: #f4f8f4;
  border: 1px solid rgba(0, 0, 0, 0.03);
  border-radius: 8px;
  padding: 16px 20px;
  font-family: var(--font-alt);
  font-size: 14px;
  color: #0f172a;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.catalog-form__input:focus {
  border-color: var(--catalog-btn-green);
  background-color: #ffffff;
}

.catalog-form__input::placeholder {
  color: #8fa191;
}

.catalog-form__btn {
  width: 100%;
  background-color: var(--catalog-btn-green);
  color: #ffffff;
  border: none;
  border-radius: 40px;
  padding: 16px;
  font-family: var(--font-alt);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.1s ease;
  margin-top: 8px;
}

.catalog-form__btn:hover {
  background-color: var(--catalog-btn-hover);
}

.catalog-form__btn:active {
  transform: scale(0.99);
}

/* АДАПТИВНОСТЬ */
@media (max-width: 1024px) {
  .catalog-download__container {
    flex-direction: column;
    gap: 48px;
  }
  
  .catalog-download__info {
    align-items: center;
    text-align: center;
  }
  
  .catalog-download__features {
    justify-content: center;
  }
  
  .catalog-form-block {
    width: 100%;
    max-width: 460px;
  }
}

@media (max-width: 576px) {
  .catalog-download {
    padding: 60px 16px;
  }

  .catalog-download__title {
    font-size: 30px;
    line-height: 36px;
  }
  
  .catalog-form-block {
    padding: 24px;
    border-radius: 16px;
  }
  
  .catalog-form__input {
    padding: 14px 16px;
  }
  
  .catalog-download__features {
    flex-direction: column;
    gap: 8px;
    align-items: flex-start;
  }
}
:root {
  --rosupak-bg: #00AFFF; /* Ярко-голубой фон макета */
  --rosupak-lime: #D1E231; /* Неоново-салатовый для цифр и акцентов */
  --rosupak-btn-bg: #0B1E0C; /* Темно-зеленый, почти черный цвет кнопки */
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Общий контейнер промо-секции */
.rosupak-promo {
  background-color: var(--rosupak-bg);
  padding: 80px 24px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden; /* Обрезает края кругов таймера при масштабировании */
  position: relative;
}

.rosupak-promo__container {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 40px;
  align-items: center;
  position: relative;
  z-index: 2;
}

/* Левая текстовая колонка */
.rosupak-promo__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #ffffff;
}

.rosupak-promo__meta {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--rosupak-lime);
  margin-bottom: 20px;
}

.rosupak-promo__title {
  font-family: var(--font-main);
  font-size: 40px;
  line-height: 48px;
  font-weight: 800;
  margin: 0 0 16px 0;
  letter-spacing: -0.5px;
}

.rosupak-promo__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  opacity: 0.9;
  margin: 0 0 32px 0;
  max-width: 560px;
}

/* Черная овальная кнопка */
.rosupak-promo__btn {
  background-color: var(--rosupak-btn-bg);
  color: var(--rosupak-lime);
  text-decoration: none;
  font-family: var(--font-alt);
  font-size: 14px;
  font-weight: 700;
  padding: 16px 32px;
  border-radius: 40px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  transition: transform 0.2s ease, background-color 0.2s ease;
}

.rosupak-promo__btn:hover {
  transform: translateY(-2px);
  background-color: #123314;
}

.rosupak-promo__arrow {
  font-size: 16px;
}

/* Правая колонка: Графика таймера */
.rosupak-countdown {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

/* Внешний прозрачный круг */
.rosupak-countdown__outer-circle {
  width: 380px;
  height: 380px;
  background-color: rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Сдвиг вправо-вверх по макету */
  transform: translate(40px, -20px); 
}

/* Внутренний бирюзовый круг */
.rosupak-countdown__inner-circle {
  width: 260px;
  height: 260px;
  background-color: #3BBED8; /* Контрастный мятно-бирюзовый цвет из макета */
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.rosupak-countdown__label {
  font-family: var(--font-alt);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.9;
  margin-bottom: 4px;
}

/* Огромные неоновые цифры дней */
.rosupak-countdown__days {
  font-family: var(--font-main);
  font-size: 72px;
  font-weight: 900;
  line-height: 1;
  color: var(--rosupak-lime);
  letter-spacing: -2px;
}

.rosupak-countdown__sub {
  font-family: var(--font-alt);
  font-size: 12px;
  opacity: 0.8;
  margin-top: 2px;
}

/* АДАПТИВНОСТЬ */

/* Экраны планшетов */
@media (max-width: 992px) {
  .rosupak-promo__container {
    grid-template-columns: 1fr; /* Перестроение в одну колонку */
    gap: 48px;
    text-align: center;
  }
  
  .rosupak-promo__content {
    align-items: center;
  }
  
  .rosupak-countdown__outer-circle {
    transform: none; /* Сбрасываем смещение кругов на планшетах */
    width: 320px;
    height: 320px;
  }
  
  .rosupak-countdown__inner-circle {
    width: 220px;
    height: 220px;
  }
  
  .rosupak-countdown__days {
    font-size: 60px;
  }
}

/* Экраны мобильных телефонов */
@media (max-width: 576px) {
  .rosupak-promo {
    padding: 60px 16px;
  }

  .rosupak-promo__title {
    font-size: 30px;
    line-height: 36px;
  }
  
  .rosupak-promo__btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}
:root {
  --faq-bg: #ffffff;
  --faq-item-bg: #F4F9F3; /* Нежно-зеленый фон плашек с макета */
  --faq-brand-green: #43B02A; /* Насыщенный зеленый для плюсов и цифр */
  --faq-text-dark: #0F172A;
  --faq-text-gray: #4B5663;
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Общий контейнер секции */
.faq-section {
  background-color: var(--faq-bg);
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
}

.faq-section__container {
  max-width: 1440px; /* Общая ширина широкого макета */
  margin: 0 auto;
  padding: 0 120px; /* Сужение контентной зоны до ~1200px */
  box-sizing: border-box;
}

/* Шапка секции */
.faq-section__header {
  margin-bottom: 48px;
}

.faq-section__eyebrow {
  font-family: var(--font-alt);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--faq-brand-green);
  margin-bottom: 16px;
  display: inline-block;
}

.faq-section__main-title {
  font-family: var(--font-main);
  font-size: 48px;
  line-height: 56px;
  font-weight: 800;
  color: var(--faq-text-dark);
  margin: 0;
}

/* Сетка аккордеона */
.faq-accordion {
  display: flex;
  flex-direction: column;
  gap: 12px; /* Расстояние между плашками вопросов */
}

/* Элемент списка вопросов */
.faq-item {
  background-color: var(--faq-item-bg);
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}

/* Скрываем нативный чекбокс */
.faq-item__trigger {
  display: none;
}

/* Шапка плашки вопроса */
.faq-item__header {
  display: flex;
  align-items: center;
  padding: 24px 32px;
  cursor: pointer;
  user-select: none;
  position: relative;
  gap: 24px;
}

/* Порядковый номер вопроса */
.faq-item__number {
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  color: var(--faq-brand-green);
  flex-shrink: 0;
}

/* Текст вопроса */
.faq-item__title {
  font-family: var(--font-main);
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: var(--faq-text-dark);
  margin: 0;
  flex-grow: 1;
  padding-right: 40px; /* Отступ справа, чтобы текст не налезал на кнопку */
}

/* Круглая кнопка плюс/крестик справа */
.faq-item__icon {
  width: 32px;
  height: 32px;
  background-color: #ffffff;
  border-radius: 50%;
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease, transform 0.3s ease;
  flex-shrink: 0;
}

/* Прорисовка знака плюс на чистом CSS */
.faq-item__icon::before,
.faq-item__icon::after {
  content: "";
  position: absolute;
  background-color: #92A194;
  transition: background-color 0.2s ease, transform 0.3s ease;
}

/* Горизонтальная линия */
.faq-item__icon::before {
  width: 12px;
  height: 2px;
}

/* Вертикальная линия */
.faq-item__icon::after {
  width: 2px;
  height: 12px;
}

/* Блок скрытого контента ответа */
.faq-item__content {
  max-height: 0; /* Закрыт по умолчанию */
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0, 1, 0, 1); /* Плавный CSS-слайдер */
  padding: 0 32px 0 70px; /* Нулевой нижний паддинг в закрытом состоянии */
}

.faq-item__text {
  font-family: var(--font-alt);
  font-size: 14px;
  line-height: 22px;
  color: var(--faq-text-gray);
  margin: 0;
  padding-bottom: 24px; /* Паддинг активируется при раскрытии контента */
}

/* ЛОГИКА АКТИВНОГО СОСТОЯНИЯ ПРИ КЛИКЕ (ЧЕРЕЗ КЛАСС :checked) */

/* Раскрытие текстового блока */
.faq-item__trigger:checked ~ .faq-item__content {
  max-height: 1000px; /* Достаточная высота для раскрытия любого объема текста */
  transition: max-height 0.5s ease-in-out;
}

/* Изменение цвета иконки на зеленый */
.faq-item__trigger:checked ~ .faq-item__header .faq-item__icon {
  background-color: var(--faq-brand-green);
  transform: translateY(-50%) rotate(45deg); /* Поворот превращает плюс в крестик */
}

/* Смена цвета линий внутри кружка на белый */
.faq-item__trigger:checked ~ .faq-item__header .faq-item__icon::before,
.faq-item__trigger:checked ~ .faq-item__header .faq-item__icon::after {
  background-color: #ffffff;
}

/* АДАПТИВНОСТЬ */

/* Малые мониторы и планшеты */
@media (max-width: 1150px) {
  .faq-section__container {
    padding: 0 24px;
  }
}

@media (max-width: 768px) {
  .faq-section__main-title {
    font-size: 32px;
    line-height: 38px;
  }

  .faq-item__header {
    padding: 20px;
    gap: 16px;
  }

  .faq-item__title {
    font-size: 15px;
    line-height: 20px;
    padding-right: 30px;
  }

  .faq-item__icon {
    right: 20px;
    width: 28px;
    height: 28px;
  }

  .faq-item__content {
    padding: 0 20px 0 52px;
  }
}

@media (max-width: 480px) {
  .faq-item__header {
    align-items: flex-start;
  }

  .faq-item__icon {
    top: 24px;
    transform: none;
  }

  .faq-item__trigger:checked ~ .faq-item__header .faq-item__icon {
    transform: rotate(45deg);
  }
}
:root {
  /* Градиент: яркий зеленый в центре, переходящий в глубокий темно-зеленый по краям */
  --cta-bg-gradient: radial-gradient(circle at center, #24971b 0%, #114210 60%, #061c06 100%);
  --cta-lime: #D1E231; /* Неоново-салатовый цвет кнопки */
  --cta-text-white: #ffffff;
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Основной контейнер секции */
.cta-section {
  position: relative;
  background: var(--cta-bg-gradient);
  padding: 100px 24px;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden; /* Срезает выходящие за рамки декоративные круги */
}

/* Декоративные контурные круги в правой части секции */
.cta-section__decor-circles {
  position: absolute;
  top: 50%;
  right: -100px;
  transform: translateY(-50%);
  width: 600px;
  height: 600px;
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}

.cta-section__decor-circles::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 400px;
  height: 400px;
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: 50%;
}

.cta-section__container {
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 2; /* Поднимает контент над фоновыми линиями */
}

/* Центрированный блок контента */
.cta-block {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
  color: var(--cta-text-white);
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Надзаголовок */
.cta-block__eyebrow {
  font-family: var(--font-alt);
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #43B02A; /* Приглушенный белый тон по макету */
  margin-bottom: 24px;
}

/* Главный заголовок H1 Hero / Montserrat Bold */
.cta-block__title {
  font-family: var(--font-main);
  font-size: 56px;
  line-height: 72px;
  font-weight: 700;
  margin: 0px 100px 20px 100px;
  letter-spacing: 0;
}

/* Описание */
.cta-block__text {
  font-family: var(--font-alt);
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.85);
  /* max-width: 680px; */
  margin: 0 0 40px 0;
}

/* Неоново-салатовая овальная кнопка */
.cta-block__btn {
  background-color: var(--cta-lime);
  color: #051a05; /* Темно-зеленый цвет текста */
  text-decoration: none;
  font-family: var(--font-alt);
  font-size: 16px;
  font-weight: 700;
  padding: 16px 36px;
  border-radius: 40px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  box-shadow: 0 10px 30px rgba(209, 226, 49, 0.2);
  transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.cta-block__btn:hover {
  transform: translateY(-2px);
  background-color: #bece2a;
  box-shadow: 0 12px 35px rgba(209, 226, 49, 0.35);
}

.cta-block__arrow {
  font-size: 18px;
  line-height: 1;
}

/* АДАПТИВНОСТЬ */

/* Экраны планшетов */
@media (max-width: 992px) {
  .cta-section {
    padding: 80px 24px;
  }
  
  .cta-block__title {
    font-size: 44px;
    line-height: 52px;
  }
  
  .cta-section__decor-circles {
    display: none; /* Отключаем контурную графику на малых экранах */
  }
}

/* Экраны мобильных телефонов */
@media (max-width: 576px) {
  .cta-section {
    padding: 60px 16px;
  }

  .cta-block__title {
    font-size: 32px;
    line-height: 38px;
  }
  
  .cta-block__eyebrow {
    font-size: 11px;
    margin-bottom: 16px;
  }

  .cta-block__text {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 32px;
  }
  
  .cta-block__btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

/**------футер------------*/

:root {
  --footer-dark-green: #061c06; /* Глубокий темно-зеленый фон макета */
  --footer-lime: #C8FA41;       /* Ярко-салатовый акцент для заголовков */
  --footer-text-white: #DFF4D9; /* Белый цвет для ключевого контента */
  --footer-text-muted: #DFF4D9; /* Приглушенный оттенок для второстепенного текста */
  --footer-green: #43B02A;
  
  --font-main: 'Montserrat', sans-serif;
  --font-alt: 'Roboto', sans-serif;
}

/* Основной контейнер подвала */
.site-footer {
  background-color: var(--footer-dark-green);
  padding: 80px 24px 40px 24px;
  width: 100%;
  box-sizing: border-box;
}

.site-footer__container {
  max-width: 1400px;
  margin: 0 auto;
}

/* Сетка Flexbox/Grid для распределения колонок по горизонтали */
.site-footer__grid {
  display: flex;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  padding-bottom: 48px;
}

/* Контейнеры колонок */
.site-footer__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 160px;
}

/* Первая брендированная колонка шире остальных */
.site-footer__col--main {
  max-width: 320px;
  flex-grow: 1.5;
}

/* Логотип */
.site-footer__logo {
  font-family: var(--font-main);
  font-size: 22px;
  font-weight: 700;
  color: var(--footer-green);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}

/* Описание */
.site-footer__desc {
  font-family: var(--font-alt);
  font-size: 13px;
  line-height: 20px;
  color: var(--footer-text-muted);
  margin: 0;
}

/* Заголовки колонок */
.site-footer__title {
  font-family: var(--font-main);
  font-size: 14px;
  font-weight: 700;
  color: var(--footer-lime); /* Салатовые заголовки по макету */
  margin: 0 0 20px 0;
}

/* Списки */
.site-footer__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Ссылки и текстовые элементы */
.site-footer__link,
.site-footer__text-item {
  font-family: var(--font-alt);
  font-size: 13px;
  line-height: 1.4;
  color: var(--footer-text-white);
  text-decoration: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.site-footer__text-item {
  color: var(--footer-text-muted);
}

.site-footer__link:hover {
  opacity: 0.7;
}

/* Выделение телефонного номера */
.site-footer__link--highlight {
  font-weight: 700;
}

/* Нижняя панель копирайта */
.site-footer__bottom {
  margin-top: 16px;
}

.site-footer__copyright {
  font-family: var(--font-alt);
  font-size: 12px;
  color: var(--footer-text-muted);
}

/* АДАПТИВНОСТЬ */

/* Экраны планшетов */
@media (max-width: 1024px) {
  .site-footer__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Перестроение в сетку 3х2 */
    gap: 40px 24px;
  }
  
  .site-footer__col--main {
    grid-column: span 3; /* Логотип занимает всю верхнюю строчку */
    max-width: 100%;
  }
}

/* Мобильные устройства */
@media (max-width: 600px) {
  .site-footer {
    padding: 60px 16px 30px 16px;
  }

  .site-footer__grid {
    grid-template-columns: repeat(2, 1fr); /* Сетка 2х2 на смартфонах */
    gap: 32px 16px;
  }
  
  .site-footer__col--main {
    grid-column: span 2;
  }

  .site-footer__link,
  .site-footer__text-item {
    white-space: normal; /* Разрешаем перенос строк на узких экранах */
  }
}
