/* ABM — сценовая scrollytelling-анимация главной (Dala-style), светлая тема.
 * Каждая секция: контент в одну половину, фигура частиц — в другую (фон-слой на всю
 * страницу, фигура позиционируется JS под активную секцию). Секции прозрачны — фигура
 * видна в своей половине; контент над белым — читаем. */

/* === фикс «вспышки»: прячем старый граф сразу === */
body.home .elementor-section.abm-hero-bg .elementor-widget-abm_simulation_graph,
body.front-page .elementor-section.abm-hero-bg .elementor-widget-abm_simulation_graph,
body.home .elementor-section.abm-hero-bg .abm-w-simulation-graph,
body.front-page .elementor-section.abm-hero-bg .abm-w-simulation-graph { visibility: hidden; }

/* === фоновый слой сцены на всю страницу (главная + /laboratory/) === */
body.abm-brain-page .abm-brain-stage { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; will-change: opacity; }
body.abm-brain-page .abm-brain-canvas { display: block; position: relative; z-index: 1; width: 100%; height: 100%; }
body.abm-brain-page .abm-brain-stage::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(38% 48% at 72% 40%, rgba(124, 58, 237, 0.09), transparent 70%),
    radial-gradient(34% 40% at 60% 76%, rgba(239, 138, 23, 0.05), transparent 70%);
}

/* === порядок секций теперь НАТИВНЫЙ в Elementor _elementor_data (можно тасовать в редакторе);
   важно: держите 4 секции с фигурами (мозг→Россия→решётка→глобус) подряд, иначе анимация прервётся === */
/* «Публикации» — отдельная страница, на главной скрыта */
body.abm-brain-page .elementor-element-f4ea8f6 { display: none !important; }

/* === контент над сценой, секции прозрачные === */
body.abm-brain-page .elementor-top-section { position: relative; z-index: 1; background: transparent !important; }
/* подвал тёмный по дизайну (текст светлый) — НЕ заливаем белым (иначе текст сливается);
   z-index держит подвал над фон-сценой */
body.abm-brain-page .abm-footer,
body.abm-brain-page footer { position: relative; z-index: 1; background: var(--color-primary, #1b3b6f); }
/* блок «Подписка» (инъектируется после контента) — над фон-сценой */
body.abm-brain-page .abm-w-subscribe-page { position: relative; z-index: 1; }

/* === герой: типографика — контраст + ритм отступов === */
body.abm-brain-page .elementor-section.abm-hero-bg { min-height: clamp(600px, 90vh, 940px); overflow: hidden; }
body.abm-brain-page .abm-w-hero-text .home-hero__eyebrow { display: inline-block; margin-bottom: 22px; }
body.abm-brain-page .abm-w-hero-text .home-hero__title {
  color: #13141a;
  font-size: clamp(32px, 2.9vw, 44px);
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.015em;
  margin: 0;
}
/* мини-статистика героя дублирует блок KPI ниже — убираем (и она была светлой/нечитаемой) */
body.abm-brain-page .home-hero__meta { display: none !important; }
/* акцент в заголовке — бренд-синий (без фиолетового) */
body.abm-brain-page .abm-w-hero-text .home-hero__title em { color: #1565c0; font-style: normal; }
body.abm-brain-page .abm-w-hero-text .home-hero__lead {
  color: #45506a;
  margin-top: 22px;
  max-width: 46ch;
  font-size: clamp(17px, 1.2vw, 20px);
  line-height: 1.55;
  font-weight: 400;
}
body.abm-brain-page .abm-w-hero-text .home-hero__actions { margin-top: 30px; }
/* вторая кнопка героя: на светлом фоне делаем тёмный контур (была белая = невидима) */
body.abm-brain-page .abm-btn--outline-light { color: #1b3b6f !important; border-color: rgba(27, 59, 111, 0.45) !important; background: rgba(255, 255, 255, 0.5) !important; }
/* заголовки секций не прячутся под липкую шапку */
body.abm-brain-page .elementor-top-section { scroll-margin-top: 96px; }

/* кнопки героя в один ряд (обе над фолдом, не в столбик) */
body.abm-brain-page .home-hero__actions { flex-wrap: nowrap; gap: 14px; }

/* публикации: убираем сырые фигуры/формулы/скрины из карточек на главной — чистые тексто-карточки */
body.abm-brain-page .elementor-element-f4ea8f6 .abm-card__media,
body.abm-brain-page .elementor-element-f4ea8f6 .abm-card img { display: none !important; }

/* === дайджест: КОМПАКТНЫЕ карточки — картинка + заголовок === */
body.abm-brain-page .elementor-element-cdf7203 .home-digest { display: grid; gap: var(--sp-5, 24px); grid-template-columns: 1fr; }
@media (min-width: 640px) {
  body.abm-brain-page .elementor-element-cdf7203 .home-digest { grid-template-columns: repeat(3, 1fr); }
  /* колонку мелких карточек «растворяем» — её карточки встают в общую сетку */
  body.abm-brain-page .elementor-element-cdf7203 .home-digest__col-small { display: contents; }
}
/* карточка всегда колонкой: медиа сверху, заголовок снизу */
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__link { flex-direction: column !important; align-items: stretch; }
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__media {
  width: 100% !important; aspect-ratio: 16 / 9 !important; height: auto !important;
  padding: 0 !important; align-self: stretch;
}
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__image {
  width: 100% !important; height: 100% !important; object-fit: cover !important;
}
/* только заголовок: прячем дату-eyebrow, описание и CTA; тело плотное */
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__eyebrow,
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__excerpt,
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__cta { display: none !important; }
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__body { padding: var(--sp-4, 16px) !important; gap: 0 !important; }
body.abm-brain-page .elementor-element-cdf7203 .abm-card--digest .abm-card__title {
  font-size: var(--fs-h4, 1.0625rem) !important; line-height: 1.32 !important; margin: 0 !important;
}

/* === блок «Научный журнал» = промо-коробка как у конференции, но ЗЕРКАЛЬНО: текст-рамка СПРАВА, фигура СЛЕВА === */
body.abm-brain-page .elementor-element-cdf7203 .home-digest { display: none !important; }
body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head {
  background: linear-gradient(135deg, #eef2fb 0%, #f7f9fd 100%);
  border: 1px solid rgba(27, 59, 111, 0.12); border-radius: 20px;
  padding: clamp(28px, 3vw, 40px);
}
body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head .abm-eyebrow { color: #e8810f; }
body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head :is(h2, p) { color: #1b1b22; }
body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head__lead { color: #45506a; }
body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head__cta { display: inline-flex; margin-top: var(--sp-5, 24px); }
@media (min-width: 1024px) {
  /* секция повыше, чтобы фигура не «слипалась» с соседними */
  body.abm-brain-page .elementor-element-cdf7203 { padding-top: 12vh; padding-bottom: 12vh; }
  /* коробку прижимаем ВПРАВО в стандартном boxed-контейнере (фигура-логотип слева) */
  body.abm-brain-page .elementor-element-cdf7203 .abm-w-section-head { max-width: 560px; margin-left: auto; margin-right: 0; }
}

/* === читаемость: eyebrow и плашки === */
body.abm-brain-page .abm-eyebrow,
body.abm-brain-page .home-hero__eyebrow { color: #2e4a73 !important; letter-spacing: .08em; }
/* eyebrow на тёмных секциях (блок подписки) — светлый, иначе тёмный-на-тёмном = нечитаемо */
body.abm-brain-page .abm-section--dark .abm-eyebrow { color: var(--color-accent-soft, #DCEEFA) !important; }
body.abm-brain-page .home-hero__eyebrow { border: 0 !important; background: none !important; padding-left: 0; }

/* === контраст: затемняем приглушённый текст и светло-голубые CTA-ссылки на главной === */
body.abm-brain-page { --color-muted: #3e4a63; }   /* было #5A6A8A (5.4:1) → ~7.8:1: описания, eyebrow-даты, лиды, партнёры */
body.abm-brain-page .abm-card__cta,
body.abm-brain-page .abm-direction__cta,
body.abm-brain-page .abm-card__title-link:hover { color: #1565c0; }   /* было accent #4FA3E3 (2.7:1) → ~5.6:1 */

/* === KPI «21 год» и промо «Конференция» — светлые (текст тёмный) === */
body.abm-brain-page .elementor-element-e84f243 :is(h1, h2, h3, h4, p) { color: #1b1b22; }
body.abm-brain-page .abm-w-kpi .abm-kpi__num { color: #1b3b6f; }
body.abm-brain-page .abm-w-kpi .abm-kpi__num small { color: #d9821a; font-size: 0.46em; margin-left: 0.12em; vertical-align: baseline; font-weight: 700; }
body.abm-brain-page .abm-w-kpi .abm-kpi__label { color: #3c4250; }
body.abm-brain-page .abm-w-promo { background: linear-gradient(135deg, #eef2fb 0%, #f7f9fd 100%) !important; color: #1b1b22 !important; border: 1px solid rgba(27, 59, 111, 0.12); padding: clamp(28px, 3vw, 40px) !important; border-radius: 20px; }
body.abm-brain-page .abm-w-promo :is(h1, h2, h3, h4, p) { color: #1b1b22 !important; }
body.abm-brain-page .abm-w-promo .abm-promo__eyebrow { color: #e8810f !important; }

/* === сценовая раскладка: контент в половину, сетки переложены (десктоп) === */
@media (min-width: 1024px) {
  /* герой: текст шире (распределяем по горизонтали — справа есть место до мозга) */
  body.abm-brain-page .elementor-element-ed86ab2 > .elementor-container {
    max-width: 62%; margin-left: max(32px, calc((100vw - 1240px) / 2)); margin-right: auto;
  }
  /* контент слева (фигура справа): публикации, KPI */
  body.abm-brain-page .elementor-element-f4ea8f6 > .elementor-container,
  body.abm-brain-page .elementor-element-e84f243 > .elementor-container {
    max-width: 50%; margin-left: max(32px, calc((100vw - 1200px) / 2)); margin-right: auto;
  }
  /* направления (ТЗ 07.07 §3): «в строчку» — контент во всю ширину, 4 карточки в ряд,
     фигура-сетка уходит на фон (карточки с белой подложкой остаются читаемыми) */
  body.abm-brain-page .elementor-element-85f1cb6 > .elementor-container {
    max-width: min(1180px, 92vw); margin-left: auto; margin-right: auto;
  }
  /* контент справа (фигура слева): партнёры (дайджест оставляем во всю ширину — сложная вёрстка) */
  body.abm-brain-page .elementor-element-c71fc19 > .elementor-container {
    max-width: 50%; margin-right: max(32px, calc((100vw - 1200px) / 2)); margin-left: auto;
  }
  /* переложить карточные сетки под узкую половину */
  body.abm-brain-page .elementor-element-85f1cb6 .abm-w-directions { grid-template-columns: repeat(4, 1fr) !important; }
  body.abm-brain-page .elementor-element-f4ea8f6 .home-grid-3,
  body.abm-brain-page .elementor-element-f4ea8f6 .abm-w-publications { grid-template-columns: 1fr !important; }
  /* партнёры — гибкие скруглённые карточки (flex-wrap), сетка не нужна */

  /* секции-сцены — почти полноэкранные: фигура (центр вьюпорта) совпадает с контентом,
     соседние секции не «слипаются» */
  body.abm-brain-page .elementor-element-85f1cb6,
  body.abm-brain-page .elementor-element-f4ea8f6,
  body.abm-brain-page .elementor-element-e84f243,
  body.abm-brain-page .elementor-element-c71fc19 {
    min-height: 88vh; display: flex; flex-direction: column; justify-content: center;
    padding-top: 104px; padding-bottom: 56px;   /* контент-eyebrow не уходит под липкую шапку */
  }
}

/* === мобайл: фигура — деликатный фон, контент с подложкой для читаемости === */
@media (max-width: 1023px) {
  body.abm-brain-page .elementor-top-section:not(.abm-hero-bg) { background: rgba(255, 255, 255, 0.88) !important; }
  /* фигуру-частицы на мобиле/планшете скрываем: при одной колонке она наезжает на текст (особенно в герое) */
  body.abm-brain-page .abm-brain-stage { display: none !important; }

  /* === лаконичность: меньше воздуха между блоками (было 96px — десктопное значение) === */
  body.abm-brain-page .elementor-top-section:not(.abm-hero-bg):not(.elementor-element-1c5c6cb) {
    padding-top: 44px !important; padding-bottom: 44px !important;
  }
  /* герой: пустой виджет-график (фигура скрыта) убираем, высота по контенту — без растянутости */
  body.abm-brain-page .elementor-section.abm-hero-bg {
    min-height: 0 !important; padding-top: 60px !important; padding-bottom: 44px !important;
  }
  body.abm-brain-page .elementor-element-ed86ab2 .elementor-widget-abm_simulation_graph { display: none !important; }
  /* подписка («материалы и анонсы»): форма в столбик, все объекты во всю ширину и по ЛЕВОМУ краю
     (поле e-mail было сужено и прижато вправо внутри ряда — выравниваем с кнопкой и согласием) */
  body.abm-brain-page .abm-subscribe__row { flex-direction: column !important; align-items: stretch !important; gap: var(--sp-3, 12px); }
  body.abm-brain-page .abm-subscribe__row > *,
  body.abm-brain-page .abm-subscribe .abm-field,
  body.abm-brain-page .abm-subscribe input[type="email"],
  body.abm-brain-page .abm-subscribe button[type="submit"],
  body.abm-brain-page .abm-subscribe .abm-btn {
    width: 100% !important; max-width: none !important; align-self: stretch !important; margin-left: 0 !important; margin-right: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .abm-brain-stage,
  body.front-page .abm-brain-stage { will-change: auto; }
}

/* ============================================================
   Правки по обратной связи заказчика (01.07.2026)
   ============================================================ */

/* P7 — в eyebrow героя добавлено полное название лаборатории;
   длинную строку переносим читаемо, без «уползания» под сцену */
body.abm-brain-page .abm-w-hero-text .home-hero__eyebrow {
  max-width: 54ch;
  line-height: 1.5;
  text-wrap: balance;
}

/* P9 — на невысоких экранах (ноутбуки) лид и кнопки героя «зарезались»:
   min-height:90vh + overflow:hidden обрезали контент, приходилось листать.
   На короткой высоте отдаём высоту контенту — ничего не обрезается. */
@media (min-width: 1024px) and (max-height: 900px) {
  body.abm-brain-page .elementor-section.abm-hero-bg {
    min-height: 0;
    padding-top: 96px;
    padding-bottom: 56px;
  }
}

/* P14 — «Лаборатория в цифрах»: подписи выравниваем по центру под числами */
body.abm-brain-page .abm-w-kpi .abm-kpi__item { text-align: center; }

/* P18 — «Четыре направления»: карточки-ссылки держим поверх фон-сцены
   с читаемой подложкой — фигура-частицы больше не «глушит» кнопки «К проектам»
   (карточка целиком кликабельна, ведёт на /projects/) */
body.abm-brain-page .elementor-element-85f1cb6 .abm-w-directions { position: relative; z-index: 2; }
body.abm-brain-page .elementor-element-85f1cb6 .abm-direction {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.94);
}

/* P28 — «Конференция»: воздух снизу, чтобы следующий блок (подписка)
   не «подглядывал» из-под секции на десктопе */
@media (min-width: 1024px) {
  body.abm-brain-page .elementor-element-a197b57 { padding-bottom: clamp(80px, 11vh, 140px); }
}

/* ============================================================
   Читаемость текста поверх анимации (правка 02.07.2026)
   ============================================================ */

/* Мягкое «засветление» под контентом сцен: фигура в текст не заходит (авто-фит в JS),
   но фоновые треугольники дрейфуют по всему экрану — вуаль гасит шум за буквами.
   Края растворяются радиально — коробки не видно, только чистый текст. */
@media (min-width: 1024px) {
  body.abm-brain-page .elementor-element-ed86ab2 .abm-w-hero-text,
  body.abm-brain-page .elementor-element-e84f243 > .elementor-container,
  body.abm-brain-page .elementor-element-85f1cb6 > .elementor-container,
  body.abm-brain-page .elementor-element-c71fc19 > .elementor-container {
    position: relative;
  }
  body.abm-brain-page .elementor-element-ed86ab2 .abm-w-hero-text::before,
  body.abm-brain-page .elementor-element-e84f243 > .elementor-container::before,
  body.abm-brain-page .elementor-element-85f1cb6 > .elementor-container::before,
  body.abm-brain-page .elementor-element-c71fc19 > .elementor-container::before {
    content: "";
    position: absolute;
    inset: -36px -56px;
    z-index: -1;
    pointer-events: none;
    background: radial-gradient(105% 105% at 50% 50%,
      rgba(247, 249, 252, 0.9) 0%,
      rgba(247, 249, 252, 0.62) 58%,
      rgba(247, 249, 252, 0) 82%);
  }
}
