/* ============ ШАБЛОН СТАТЬИ — 115-ФЗ простыми словами ============ */
const { useState: useArtS, useEffect: useArtE } = React;

const TOC = [
  ["t1", "Что такое 115-ФЗ"],
  ["t2", "Кого закон касается"],
  ["t3", "Почему блокируют счёт"],
  ["t4", "Что такое ЗСК и «светофор»"],
  ["t5", "Что делать при блокировке"],
  ["t6", "Как снизить риск"],
];

function ReadingProgress() {
  const [w, setW] = useArtS(0);
  useArtE(() => {
    const f = () => {
      const h = document.documentElement;
      const max = h.scrollHeight - h.clientHeight;
      setW(max > 0 ? (h.scrollTop / max) * 100 : 0);
    };
    f(); window.addEventListener("scroll", f, { passive: true });
    return () => window.removeEventListener("scroll", f);
  }, []);
  return <div className="rprog" style={{ width: w + "%" }} />;
}

function ArticleToc() {
  const [active, setActive] = useArtS("t1");
  useArtE(() => {
    const io = new IntersectionObserver((es) => {
      es.forEach(e => { if (e.isIntersecting) setActive(e.target.id); });
    }, { rootMargin: "-30% 0px -60% 0px" });
    TOC.forEach(([id]) => { const el = document.getElementById(id); if (el) io.observe(el); });
    return () => io.disconnect();
  }, []);
  return (
    <div className="tcard">
      <div className="tcard__h" style={{ marginBottom: 12 }}>Содержание</div>
      <div className="toc">
        {TOC.map(([id, t]) => (
          <a key={id} href={"#" + id} className={"toc__link" + (active === id ? " is-active" : "")}>{t}</a>
        ))}
      </div>
    </div>
  );
}

function Article() {
  useReveal();
  return (
    <React.Fragment>
      <ReadingProgress />
      <Nav />
      <Breadcrumbs items={[{ t: "Главная", href: PAGES.home }, { t: "База знаний", href: PAGES.article }, { t: "115-ФЗ простыми словами" }]} />

      <article>
        <header className="thero">
          <div className="container thero__inner">
            <div className="thero__chips">
              <span className="chip">Гайд</span>
              <span className="chip chip--ghost"><Ic.clock style={{width:13,height:13}}/> 12 минут</span>
            </div>
            <h1>115-ФЗ простыми словами: что это и кого касается</h1>
            <p className="thero__lead">Разбираем «антиотмывочный» закон без канцелярита: почему банки блокируют счета, что такое ЗСК и «светофор» ЦБ и что делать, если ограничения уже коснулись вашего бизнеса.</p>
            <div className="amteta">
              <span className="author" style={{ gap: 10 }}>
                <span className="author__ava" style={{ width: 40, height: 40, fontSize: ".9rem" }}>ИК</span>
                <span><span className="author__name" style={{ fontSize: ".95rem" }}>Ирина Крусе</span><br/><span className="author__role">Руководитель практики 115-ФЗ</span></span>
              </span>
              <span><Ic.clock style={{width:15,height:15,verticalAlign:"-2px"}}/> Обновлено 22 мая 2026</span>
            </div>
          </div>
        </header>

        <div className="container" style={{ paddingBottom: "clamp(40px,5vw,72px)" }}>
          <div className="tlayout">
            <div className="prose">
              <div className="figph"><Ic.scale /> Иллюстрация: схема финмониторинга</div>

              <section id="t1" className="reveal">
                <h2>Что такое 115-ФЗ</h2>
                <p><strong>115-ФЗ</strong> — это Федеральный закон «О противодействии легализации (отмыванию) доходов, полученных преступным путём». Он обязывает банки следить за операциями клиентов и сообщать о подозрительных в Росфинмониторинг.</p>
                <p>На практике это значит: банк — не просто хранитель денег, а ещё и «контролёр», который обязан задавать вопросы по операциям, которые выглядят необычно. Если ответы его не устроят — он может приостановить обслуживание.</p>
                <div className="callout callout--info">
                  <Ic.shieldCheck />
                  <div><b>Главное</b>115-ФЗ создан против отмывания, но под его фильтры регулярно попадает добросовестный бизнес — просто из-за «нетипичных» операций.</div>
                </div>
              </section>

              <section id="t2" className="reveal">
                <h2>Кого закон касается</h2>
                <p>Фактически — всех, у кого есть счёт в банке. Но чаще всего под внимание попадают:</p>
                <ul>
                  <li><strong>Собственники ООО</strong> — особенно в торговле, логистике, строительстве и услугах.</li>
                  <li><strong>Индивидуальные предприниматели</strong> с высокой долей наличных расчётов.</li>
                  <li><strong>Компании с большим числом контрагентов</strong> и быстрым оборотом средств.</li>
                </ul>
              </section>

              <section id="t3" className="reveal">
                <h2>Почему блокируют счёт</h2>
                <p>Банк ориентируется на критерии ЦБ (Положение 375-П). Вот самые частые триггеры:</p>
                <ul>
                  <li>Транзитный характер операций — деньги приходят и сразу уходят.</li>
                  <li>Снятие наличных свыше 30% от оборота.</li>
                  <li>Платежи, не соответствующие заявленным ОКВЭД.</li>
                  <li>Контрагенты с признаками «технических» компаний.</li>
                </ul>
                <div className="artcta">
                  <div>
                    <b>Проверьте свой риск блокировки</b>
                    <span>Бесплатный скоринг по ИНН за 30 секунд</span>
                  </div>
                  <a className="btn btn--primary" href={PAGES.home + "#inn"}>Проверить по ИНН <Ic.arrow /></a>
                </div>
              </section>

              <section id="t4" className="reveal">
                <h2>Что такое ЗСК и «светофор»</h2>
                <p>С 2022 года ЦБ запустил <strong>Платформу ЗСК</strong> («Знай своего клиента»). Она присваивает каждой компании уровень риска по принципу светофора:</p>
                <div className="zsk">
                  <div className="zsk__row zsk__row--safe"><span className="dot" style={{background:"var(--safe-500)"}}/> <b>Зелёный</b> — низкий риск, операции проходят свободно.</div>
                  <div className="zsk__row zsk__row--warn"><span className="dot" style={{background:"var(--warn-500)"}}/> <b>Жёлтый</b> — средний риск, банк присматривается к операциям.</div>
                  <div className="zsk__row zsk__row--risk"><span className="dot" style={{background:"var(--risk-500)"}}/> <b>Красный</b> — высокий риск, операции фактически блокируются.</div>
                </div>
                <div className="callout callout--warn">
                  <Ic.alert />
                  <div><b>Красная зона — это серьёзно</b>Из красной зоны нельзя выйти автоматически. Потребуется обращение в межведомственную комиссию (МВК) при ЦБ.</div>
                </div>
              </section>

              <section id="t5" className="reveal">
                <h2>Что делать при блокировке</h2>
                <p>Алгоритм короткий, но порядок действий критичен:</p>
                <ol>
                  <li>Получите от банка точную причину и перечень запрашиваемых документов.</li>
                  <li>Не отправляйте пояснения «на эмоциях» — сначала продумайте формулировки.</li>
                  <li>Соберите первичку, договоры и обоснование экономического смысла операций.</li>
                  <li>Подайте пакет в срок. При отказе — жалоба в МВК ЦБ, затем суд.</li>
                </ol>
                <div className="callout callout--safe">
                  <Ic.check />
                  <div><b>Совет</b>Чем быстрее вы отреагируете, тем выше шансы. По нашей практике до 90% запросов документов закрываются без блокировки, если ответить правильно и вовремя.</div>
                </div>
              </section>

              <section id="t6" className="reveal">
                <h2>Как снизить риск</h2>
                <ul>
                  <li>Держите долю наличных в разумных пределах.</li>
                  <li>Проверяйте контрагентов до оплаты.</li>
                  <li>Следите за соответствием платежей вашим ОКВЭД.</li>
                  <li>Платите налоги в объёме не ниже среднего по отрасли.</li>
                </ul>
                <p>Если сомневаетесь — закажите <a href={PAGES.service}>аудит рисков 115-ФЗ</a> или подключите абонентский комплаенс, чтобы держать риск под контролем постоянно.</p>
              </section>
            </div>

            <aside className="taside">
              <ArticleToc />
              <div className="tcard" style={{ background: "linear-gradient(155deg,var(--navy-800),var(--navy-950))", border: "none" }}>
                <div className="tcard__h" style={{ color: "#fff" }}>Счёт уже заблокирован?</div>
                <p className="tcard__p" style={{ color: "var(--slate-400)" }}>Разберём ситуацию и составим план разблокировки бесплатно.</p>
                <a className="btn btn--primary" href={PAGES.service + "#consult"} style={{ width: "100%" }}>Получить консультацию</a>
              </div>
            </aside>
          </div>

          <section className="reveal" style={{ marginTop: 16 }}>
            <h2 style={{ fontSize: "var(--fs-h3)", marginBottom: 18 }}>Читайте также</h2>
            <div className="related">
              {[["Инструкция","Как ответить на запрос документов от банка","8 мин"],
                ["Разбор","Светофор ЗСК: зелёный, жёлтый, красный","10 мин"],
                ["Чек-лист","11 признаков сомнительных операций по 375-П","6 мин"]].map((a,i)=>(
                <a className="related__card" href={PAGES.article} key={i}>
                  <span className="chip chip--ghost">{a[0]}</span>
                  <h4>{a[1]}</h4>
                  <span className="related__meta"><Ic.clock style={{width:14,height:14}}/> {a[2]}</span>
                </a>
              ))}
            </div>
          </section>
        </div>
      </article>
      <Footer />
    </React.Fragment>
  );
}

ReactDOM.createRoot(document.getElementById("root")).render(<Article />);
