/* ═══════════════════════════════════════════════════════════════
   manufacture.css — локальные стили /manufacture/
   ═══════════════════════════════════════════════════════════════ */

/* ─── Prevent horizontal scroll on iOS Safari ───────────────── */
html { overflow-x: hidden; }

/* ─── Pain: нет нижнего отступа перед fact-callout ──────────── */
.l-page .pain { padding-bottom: 0; }

/* ─── Security: 2-кол на мобиле (#security ID — landing only) ─ */
@media (max-width: 599px) {
  .l-page #security .features__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .l-page #security .feature-card { padding: 18px 14px; }
  .l-page #security .feature-card__title { font-size: 13px; line-height: 1.3; }
  .l-page #security .feature-card__text { font-size: 12px; line-height: 1.5; }
  .l-page #security .feature-card__icon { width: 40px; height: 40px; }
}

@keyframes halo-breathe {
  0%, 100% { opacity: 1;    transform: scale(1.00); }
  50%       { opacity: 0.38; transform: scale(1.10); }
}
@keyframes halo-breathe-outer {
  0%   { opacity: 0.20; transform: scale(0.95); }
  52%  { opacity: 0.58; transform: scale(1.20); }
  100% { opacity: 0.20; transform: scale(0.95); }
}

/* ─── ФОРМАТ A «Ореол» — тёмный, центрированная композиция. */
.l-page .case-halo { padding: clamp(60px, 7vw, 96px) 0; background: var(--navy); }
.l-page .case-halo__inner { max-width: 840px; margin: 0 auto; padding: 0 var(--container-padding); display: flex; flex-direction: column; align-items: center; text-align: center; }
.l-page .case-halo__brand { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; justify-content: center; margin-bottom: clamp(32px, 4vw, 50px); }
.l-page .case-halo .case-wm { color: #fff; }
.l-page .case-halo__icon { position: relative; width: clamp(150px, 20vw, 224px); aspect-ratio: 1; display: grid; place-items: center; margin-bottom: clamp(30px, 4vw, 46px); }
.l-page .case-halo__icon::before { content: ''; position: absolute; inset: -44%; background: radial-gradient(circle, rgba(70,114,181,0.62), rgba(70,114,181,0.14) 44%, transparent 68%); pointer-events: none; transform-origin: center; animation: halo-breathe 3.4s ease-in-out infinite; }
.l-page .case-halo__icon::after  { content: ''; position: absolute; inset: -62%; background: radial-gradient(circle, rgba(100,148,220,0.30), rgba(70,114,181,0.06) 46%, transparent 68%); pointer-events: none; transform-origin: center; animation: halo-breathe-outer 5.6s ease-in-out infinite; }
.l-page .case-halo__icon img { position: relative; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 22px rgba(86,134,206,0.7)); }
.l-page .case-halo__title { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: #fff; font-size: clamp(22px, 2.2vw, 34px); line-height: 1.08; letter-spacing: -0.4px; margin: 0 0 clamp(22px, 2.8vw, 34px); max-width: 22ch; text-wrap: balance; }
.l-page .case-halo__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(28px, 4vw, 56px); text-align: left; width: 100%; margin-bottom: clamp(26px, 3.5vw, 40px); }
.l-page .case-halo__marker { display: block; font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: var(--coral); font-size: 13px; letter-spacing: 1px; margin-bottom: 9px; }
.l-page .case-halo__p { font-size: var(--text-base); color: rgba(255,255,255,0.7); line-height: 1.62; margin: 0; }
.l-page .case-halo__quote { font-size: clamp(20px, 1.8vw, 26px); max-width: 42ch; text-align: center; margin: 0 auto; color: #fff; font-weight: 400; font-style: normal; }
.l-page .case-halo__foot { max-width: var(--container); margin: clamp(36px, 4vw, 52px) auto 0; padding: clamp(24px, 2.8vw, 36px) var(--container-padding) clamp(48px, 5.5vw, 76px); border-top: 1px solid rgba(255,255,255,0.14); display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 20px 32px; }
.l-page .case-halo .case-stat__cap { color: rgba(255,255,255,0.6); }
.l-page .case-halo__tags { justify-content: center; margin-top: clamp(28px, 3.5vw, 40px); }
.l-page .case-halo__stats { justify-content: center; gap: clamp(28px, 3.5vw, 54px); width: 100%; margin-top: clamp(36px, 4.5vw, 52px); padding-top: clamp(28px, 3.5vw, 42px); border-top: 1px solid rgba(255,255,255,0.14); }
.l-page .case-halo .case-stat { align-items: center; }
@media (max-width: 980px) {
  .l-page .case-halo__copy { grid-template-columns: 1fr; gap: 24px 0; }
  .l-page .case-halo__foot { justify-content: flex-start; }
}
/* case-halo mobile */
@media (max-width: 640px) {
  .l-page .case-halo .case-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .l-page .case-halo .case-stat__num { font-size: clamp(28px, 8vw, 40px) !important; letter-spacing: -0.5px; }
  .l-page .case-halo .case-halo__text-cols { grid-template-columns: 1fr; gap: 14px; }
  .l-page .case-halo .case-halo__summary { font-size: clamp(18px, 5vw, 24px); }
}

/* ─── ФОРМАТ B «Колонка» */
.l-page .case-col { padding: var(--space-md) 0; background: var(--bg-white); }
.l-page .case-col__inner { max-width: var(--container); margin: 0 auto; padding: 0 var(--container-padding); display: grid; grid-template-columns: 1.12fr 0.88fr; gap: clamp(40px, 5vw, 76px); align-items: center; }
.l-page .case-col__brand { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }
.l-page .case-col__title { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: var(--navy); font-size: clamp(22px, 2.1vw, 32px); line-height: 1.12; letter-spacing: -0.4px; margin: 0 0 26px; max-width: 21ch; text-wrap: balance; }
.l-page .case-col__quote { padding-left: 24px; border-left: 3px solid var(--coral); font-size: clamp(19px, 1.6vw, 24px); margin-bottom: 30px; max-width: 38ch; }
.l-page .case-col__tags { margin-bottom: 30px; }
.l-page .case-col__panel { position: relative; border-radius: var(--radius-lg); background: linear-gradient(158deg, #eef3f6 0%, #e2ecef 100%); aspect-ratio: 4/5; display: grid; place-items: center; overflow: hidden; box-shadow: var(--shadow-md); }
.l-page .case-col__panel::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 42%, rgba(65,121,213,0.24), transparent 60%); pointer-events: none; }
.l-page .case-col__icon { position: relative; width: 52%; filter: drop-shadow(0 14px 30px rgba(65,121,213,0.4)); }
@media (max-width: 980px) {
  .l-page .case-col__inner { grid-template-columns: 1fr; gap: 40px; }
  .l-page .case-col__visual { order: -1; }
  .l-page .case-col__panel { aspect-ratio: 16/10; max-width: 460px; }
}

/* ─── case-halo__text — текст под статистикой ─────────────────── */
.l-page .case-halo__text { width: 100%; margin-top: clamp(32px,4vw,50px); padding-top: clamp(26px,3.2vw,40px); border-top: 1px solid rgba(255,255,255,0.12); }
.l-page .case-halo__text-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(28px,4vw,60px); text-align: left; }
.l-page .case-halo__text-col { display: flex; flex-direction: column; }
.l-page .case-halo__p { font-size: var(--text-base); color: rgba(255,255,255,0.7); line-height: 1.62; margin: 0; }
.l-page .case-halo__summary { font-family: var(--font-display); font-weight: 700; text-transform: uppercase; color: #fff; font-size: clamp(20px, 2vw, 30px); letter-spacing: -0.3px; line-height: 1.1; text-wrap: balance; margin-top: clamp(24px,3vw,38px); text-align: center; }
@media (max-width: 640px) {
  .l-page .case-halo__text-cols { grid-template-columns: 1fr; gap: 22px 0; }
}

/* ─── form-points: brand-blue с белой галочкой вместо coral ─── */
.l-page .form-points li::before {
  background-color: var(--brand-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpolyline points='5.5 11 9 14.5 16.5 7.5' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ─── Дополнительные оверрайды, не покрытые landing.css ─────── */

/* steps--3: 3 колонки на десктопе (.steps__grid по умолчанию — 5 колонок) */
.l-page .steps__grid--3 { grid-template-columns: repeat(3, 1fr) !important; }

/* steps--3: коллапс в 1 колонку и скрытие соединителя на мобиле */
@media (max-width: 640px) {
  .l-page .steps__grid--3 { grid-template-columns: 1fr !important; }
  .l-page .steps__grid--3::before { display: none !important; }
}

/* layer-stack--cols: коллапс схемы IT-стека на мобиле */
@media (max-width: 760px) {
  .l-page .layer-stack--cols .layer-stack__diagram { grid-template-columns: 1fr !important; }
  .l-page .layer-stack--cols .layer-stack__join { transform: rotate(90deg); justify-content: center; }
}

/* hero-industry__art: высота на планшете */
@media (max-width: 980px) {
  .l-page .hero-industry__art { min-height: 280px; }
}

/* hero-industry: более точечное свечение под иллюстрацию */
.l-page .hero-industry::before {
  top: 5% !important;
  right: 4% !important;
  width: 36% !important;
  height: 62% !important;
  background: radial-gradient(circle, rgba(65,121,213,0.20), transparent 58%) !important;
}

/* ═══════════════════════════════════════════════════════════════
   TRUST-BAND TICKER — бегущая строка с регалиями
   ═══════════════════════════════════════════════════════════════ */
@keyframes trustTicker {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.l-page .trust-band--ticker {
  overflow: hidden; position: relative;
  padding: 20px 0; background: var(--navy, #0a3a4d);
}
.l-page .trust-band--ticker::before,
.l-page .trust-band--ticker::after {
  content: ''; position: absolute; top: 0; bottom: 0;
  width: 56px; z-index: 2; pointer-events: none;
}
.l-page .trust-band--ticker::before { left: 0;  background: linear-gradient(to right, #0a3a4d, transparent); }
.l-page .trust-band--ticker::after  { right: 0; background: linear-gradient(to left,  #0a3a4d, transparent); }
[data-trust-ticker] {
  display: inline-flex; align-items: center;
  will-change: transform;
  animation: trustTicker 22s linear infinite;
}

/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНЫЕ ДОБАВЛЕНИЯ (≤ 599px)
   ═══════════════════════════════════════════════════════════════ */

/* ─── Hero B: тёмный мобильный герой с иллюстрацией за текстом ── */
@media (max-width: 640px) {
  .l-page .hero-industry {
    background: #0a3a4d;
    position: relative;
    overflow: hidden;
    min-height: 580px;
  }
  /* Ambient glow: ::before (перекрываем десктопный glow) */
  .l-page .hero-industry::before {
    content: '' !important;
    position: absolute !important;
    right: -10% !important; top: -5% !important;
    width: 75% !important; height: 65% !important;
    background: radial-gradient(ellipse at 60% 40%, rgba(65,121,213,0.35) 0%, rgba(65,121,213,0.12) 45%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 1 !important;
    border-radius: 0 !important;
  }
  /* Gradient overlay текста: ::after на секции (не на __inner) */
  .l-page .hero-industry::after {
    content: '';
    position: absolute; inset: 0;
    background: linear-gradient(to right,
      rgba(10,58,77,1) 0%, rgba(10,58,77,.96) 30%,
      rgba(10,58,77,.7) 58%, rgba(10,58,77,.18) 82%,
      rgba(10,58,77,0) 100%);
    pointer-events: none; z-index: 3;
  }
  /* __inner: static — art позиционируется относительно секции */
  .l-page .hero-industry__inner {
    position: static !important;
    display: block !important;
    padding: 40px 20px 32px !important;
    max-width: 100% !important;
  }
  /* Текстовый блок: поверх gradient overlay */
  .l-page .hero-industry__content {
    position: relative;
    z-index: 4;
  }
  /* Иллюстрация: абсолют к секции, справа-снизу (right:0 — не выходим за край) */
  .l-page .hero-industry__art {
    position: absolute !important;
    right: 0 !important; bottom: 0 !important;
    width: 88% !important;
    height: auto !important; min-height: unset !important;
    overflow: visible !important; border-radius: 0 !important;
    z-index: 2 !important; pointer-events: none !important;
    background: transparent !important;
  }
  /* Параллакс: НЕ блокируем transform — JS выставляет --px/--py/--sc */
  .l-page .hero-industry__art-parallax {
    width: 100% !important; height: auto !important;
    display: block !important;
  }
  /* Флоат: НЕ трогаем transform — JS делает entrance-анимацию */
  .l-page .hero-industry__art-float {
    width: 100% !important; height: auto !important;
    display: block !important;
  }
  .l-page .hero-industry__art img {
    width: 100% !important; height: auto !important; max-height: unset !important;
    mix-blend-mode: screen !important; opacity: .88 !important;
    object-fit: contain !important;
  }
  /* Текст hero */
  .l-page .hero-industry__eyebrow {
    font-size: 11px !important; letter-spacing: 2px !important;
  }
  .l-page .hero-industry__title {
    font-size: clamp(22px, 6.5vw, 30px) !important;
    line-height: 1.08 !important;
    hyphens: auto !important;
    -webkit-hyphens: auto !important;
  }
  .l-page .hero-industry__lead {
    font-size: 15px !important; color: rgba(255,255,255,.65) !important;
  }
  .l-page .hero-industry__actions {
    flex-direction: column !important; gap: 12px !important;
  }
  .l-page .hero-industry__actions .btn-primary {
    display: block !important; text-align: center !important;
    width: 100% !important; box-sizing: border-box !important;
  }
  .l-page .hero-industry__actions .hero-industry__ghost {
    display: flex !important; justify-content: center !important;
    text-align: center !important;
    width: 100% !important; box-sizing: border-box !important;
  }
  /* Скрыть SVG-стрелку на мобиле — кнопка и без неё читается */
  .l-page .hero-industry__actions .hero-industry__ghost .l-ico {
    display: none !important;
  }
  /* Trustline: линия вместо плашки */
  .l-page .hero-industry__trustline {
    background: none !important; border: none !important;
    border-top: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 0 !important;
    padding: 16px 0 0 !important; margin-top: 24px !important;
    box-shadow: none !important;
    font-size: 13px !important; line-height: 1.55 !important;
    max-width: 100% !important;
  }
}

/* ─── Features 4-col → 2-col на мобиле ─────────────────────── */
@media (max-width: 599px) {
  .l-page .features__grid--4col {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
    display: grid !important;
    overflow: unset !important;
    margin: unset !important; padding: unset !important;
    width: 100% !important; box-sizing: border-box !important;
  }
  .l-page .features__grid--4col .feature-card {
    flex: unset !important; padding: 18px 14px !important;
    min-width: 0 !important; max-width: none !important;
  }
  .l-page .features__grid--4col .feature-card__icon { width: 40px !important; height: 40px !important; }
  .l-page .features__grid--4col .feature-card__title { font-size: 13px !important; }
  .l-page .features__grid--4col .feature-card__text { font-size: 12px !important; line-height: 1.5 !important; }
}

/* ─── Process-flow timeline: только градиент линии ─────────────
   Структурный вертикальный layout (flex-col, node как flex-item)
   уже сделан в landing.css @media (max-width: 760px) — не трогаем.
   Добавляем только coral-градиент на линию. ─────────────────── */
@media (max-width: 760px) {
  /* ── Зигзаг: линия по центру, текст поочерёдно слева/справа ── */
  .l-page .process-flow--timeline .flow {
    position: relative !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    height: auto !important;
    padding: 4px 0 !important;
  }
  /* Центральная вертикальная линия */
  .l-page .process-flow--timeline .flow::before {
    left: 50% !important; right: auto !important;
    transform: translateX(-50%) !important;
    top: 10px !important; bottom: 10px !important;
    width: 2px !important; height: auto !important;
    margin-top: 0 !important;
    background: linear-gradient(to bottom, #ff7964, rgba(255,121,100,.2)) !important;
  }
  /* Шаг — блочный, без flex */
  .l-page .process-flow--timeline .flow__step {
    position: relative !important;
    display: block !important;
    padding: 14px 0 !important;
    min-height: 48px !important;
    flex: unset !important;
    background: none !important; border: none !important;
  }
  /* Clearfix */
  .l-page .process-flow--timeline .flow__step::after {
    content: '' !important; display: table !important; clear: both !important;
  }
  /* Узел — абсолют по центру (50%) */
  .l-page .process-flow--timeline .flow__node {
    position: absolute !important;
    left: 50% !important; top: 18px !important;
    transform: translateX(-50%) !important;
    width: 14px !important; height: 14px !important;
    border-radius: 50% !important;
    background: #ff7964 !important;
    border: 3px solid #fff !important;
    box-shadow: 0 0 0 5px rgba(255,121,100,.16), 0 0 0 10px rgba(255,121,100,.07) !important;
    z-index: 1 !important; margin-top: 0 !important;
    flex-shrink: unset !important; order: unset !important;
  }
  /* Метка — половина ширины */
  .l-page .process-flow--timeline .flow__label {
    display: block !important;
    width: calc(50% - 22px) !important;
    position: static !important;
    transform: none !important;
    inset: auto !important; top: auto !important; bottom: auto !important;
  }
  .l-page .process-flow--timeline .flow__label strong {
    display: block; font-family: 'DrukTextWideTT','Barlow Condensed',sans-serif;
    font-size: 14px; font-weight: 700; text-transform: uppercase;
    color: #0a3a4d; letter-spacing: -.1px; margin-bottom: 3px;
  }
  .l-page .process-flow--timeline .flow__label span {
    display: block; font-size: 12px; color: #575757; line-height: 1.45;
  }
  /* Нечётные шаги: метка слева, текст по правому краю */
  .l-page .process-flow--timeline .flow__step:nth-child(odd) .flow__label {
    float: left !important; text-align: right !important;
    padding-right: 16px !important; padding-left: 0 !important;
  }
  /* Чётные шаги: метка справа, текст по левому краю */
  .l-page .process-flow--timeline .flow__step:nth-child(even) .flow__label {
    float: right !important; text-align: left !important;
    padding-left: 16px !important; padding-right: 0 !important;
  }
}


/* ─── Trust band: десктоп = b2, мобайл = тикер ──────────────── */
.tb--mob-only { display: none; }
@media (max-width: 599px) {
  .l-page .trust-band--b2 { display: none !important; }
  .tb--mob-only { display: block; }
}