qwmaxc — Qwen3.8-MaxСравнение с master 3d131f2 · ветка design/conv-qwmax · f5cdaac fix(page): qwmaxc — замечания ревью
assets/scss/_b24qwmaxc.scss | 693 ++++++++++++++++++++++++++++ assets/scss/custom.scss | 1 + content/russian/service/deployment/index.md | 576 ++++++++++++----------- layouts/partials/b24/qwmaxc/block-a.html | 80 ++++ layouts/partials/b24/qwmaxc/block-b.html | 124 +++++ layouts/partials/b24/qwmaxc/block-c.html | 137 ++++++ layouts/partials/b24/qwmaxc/head.html | 17 + layouts/partials/b24/qwmaxc/hero.html | 39 ++ layouts/partials/b24/qwmaxc/img.html | 22 + layouts/partials/b24/qwmaxc/page.html | 40 ++ layouts/service/single.html | 9 + 11 files changed, 1474 insertions(+), 264 deletions(-)
+693 −0diff --git a/assets/scss/_b24qwmaxc.scss b/assets/scss/_b24qwmaxc.scssnew file mode 100644index 0000000..9a81f6d--- /dev/null+++ b/assets/scss/_b24qwmaxc.scss@@ -0,0 +1,693 @@+/* ============================================================================+ Вариант b24-qwmaxc — страница /service/deployment/ (вход через AI Советник).+ Скоуп: .b24-qwmaxc (корневой div своего partial-дерева). Глобальные цвета+ темы (шапка/футер/другие страницы) не затрагиваются.++ Палитра AA (контраст посчитан, обе темы) — та же система токенов, что+ проверена в соседних вариантах:+ светлая: #4d5a58/белый 7.19 · #556563/белый 6.13 · #0a6e6e/белый 6.05+ #fff/#0a7d4f 5.17 · #17313a/белый 13.66 · #4d5a58/#eaf4f2 6.8+ тёмная: #b9c7ca/#1b2229 9.24 · #f2f2f2/#1b2229 14.35 · #7fd8cf/#1b2229 9.66+ ============================================================================ */++.b24-qwmaxc {+ --b24-bg: #fff;+ --b24-alt: #f4f8f7;+ --b24-card: #fff;+ --b24-border: #dbe6e4;+ --b24-text: #4d5a58;+ --b24-heading: #17313a;+ --b24-muted: #556563;+ --b24-accent: #0a6e6e;+ --b24-fill: #0a7d4f;+ --b24-fill-h: #08663f;+ --b24-chip: #eaf4f2;+ --b24-shadow: 0 8px 28px rgba(23,49,58,.07);+ --b24-img-plate: #fff;+ background: var(--b24-bg);+ color: var(--b24-text);+}++body.dark .b24-qwmaxc {+ --b24-bg: #1e262c;+ --b24-alt: #1b2229;+ --b24-card: #1b2229;+ --b24-border: #3a4750;+ --b24-text: #b9c7ca;+ --b24-heading: #f2f2f2;+ --b24-muted: #b9c7ca;+ --b24-accent: #7fd8cf;+ --b24-fill: #0a7d4f;+ --b24-fill-h: #08663f;+ --b24-chip: #22303a;+ --b24-shadow: 0 8px 28px rgba(0,0,0,.35);+ --b24-img-plate: #1e262c;+}++/* ---- общая сетка секций ---- */+.b24-qwmaxc .b24qwc-sec {+ padding: 3.25rem 0;+ background: var(--b24-bg);+ scroll-margin-top: 90px;+}+.b24-qwmaxc .b24qwc-sec--alt { background: var(--b24-alt); }+.b24-qwmaxc .b24qwc-hero { padding-top: 2.5rem; padding-bottom: 2.25rem; }++/* ---- типографика ---- */+.b24-qwmaxc h1, .b24-qwmaxc h2, .b24-qwmaxc h3, .b24-qwmaxc h4 { color: var(--b24-heading); }+.b24-qwmaxc p, .b24-qwmaxc li { max-width: 64ch; }+.b24-qwmaxc p, .b24-qwmaxc li, .b24-qwmaxc td, .b24-qwmaxc th,+.b24-qwmaxc dd, .b24-qwmaxc dt, .b24-qwmaxc label, .b24-qwmaxc span,+.b24-qwmaxc caption, .b24-qwmaxc summary { color: var(--b24-text); }+.b24-qwmaxc strong { color: var(--b24-heading); }+.b24-qwmaxc .b24qwc-h1 {+ font-size: clamp(1.7rem, 3.2vw, 2.85rem);+ line-height: 1.14;+ margin-bottom: 1rem;+ letter-spacing: -.01em;+ text-wrap: balance;+}+.b24-qwmaxc .b24qwc-h2 {+ font-size: clamp(1.5rem, 2.2vw, 2.05rem);+ line-height: 1.22;+ margin-bottom: .85rem;+ overflow-wrap: anywhere;+}+.b24-qwmaxc .b24qwc-kicker {+ font-size: .95rem;+ font-weight: 600;+ line-height: 1.45;+ color: var(--b24-accent);+ margin-bottom: .8rem;+}+.b24-qwmaxc .b24qwc-hero__lead {+ font-size: 1.0625rem;+ line-height: 1.62;+ max-width: 58ch;+ margin-bottom: 1.2rem;+}+.b24-qwmaxc .b24qwc-price-note {+ margin: 1.1rem 0 0;+ padding: .8rem 1rem;+ border-left: 3px solid var(--b24-fill);+ border-radius: 0 12px 12px 0;+ background: var(--b24-chip);+ font-size: .9375rem;+ line-height: 1.55;+ max-width: 62ch;+}++/* ---- шапка секции ---- */+.b24-qwmaxc .b24qwc-head { margin-bottom: 1.5rem; }+.b24-qwmaxc .b24qwc-sec__num {+ display: inline-block;+ font-size: .875rem;+ font-weight: 700;+ letter-spacing: .09em;+ color: var(--b24-accent);+ margin-bottom: .45rem;+}+.b24-qwmaxc .b24qwc-sec__lead {+ font-size: 1rem;+ line-height: 1.6;+ max-width: 64ch;+ margin: 0;+}++/* ---- кнопки: штатные классы, цвета внутри скоупа дают AA ---- */+.b24-qwmaxc .btn {+ min-height: 48px;+ display: inline-flex;+ align-items: center;+ justify-content: center;+ text-align: center;+ font-weight: 600;+}+.b24-qwmaxc .btn-primary,+.b24-qwmaxc .btn-primary:active { background: var(--b24-fill) !important; border-color: var(--b24-fill) !important; color: #fff !important; }+.b24-qwmaxc .btn-primary:hover,+.b24-qwmaxc .btn-primary:focus { background: var(--b24-fill-h) !important; border-color: var(--b24-fill-h) !important; color: #fff !important; }+.b24-qwmaxc .btn-primary:before { display: none; }+.b24-qwmaxc .btn-outline-primary { color: var(--b24-fill); border-color: var(--b24-fill); background: transparent; }+.b24-qwmaxc .btn-outline-primary:hover,+.b24-qwmaxc .btn-outline-primary:focus { background: var(--b24-fill) !important; border-color: var(--b24-fill) !important; color: #fff !important; }+body.dark .b24-qwmaxc .btn-outline-primary { color: #7fd8cf; border-color: #7fd8cf; }+body.dark .b24-qwmaxc .btn-outline-primary:hover,+body.dark .b24-qwmaxc .btn-outline-primary:focus { background: #7fd8cf !important; border-color: #7fd8cf !important; color: #0f2b22 !important; }+.b24-qwmaxc .btn:focus-visible { outline: 3px solid var(--b24-accent); outline-offset: 3px; }++.b24-qwmaxc .b24qwc-cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.4rem; }++/* ---- иллюстрации: light/dark пары, plate = фон темы ---- */+.b24-qwmaxc .b24qwc-figure { margin: 0; }+.b24-qwmaxc .b24qwc-figure img,+.b24-qwmaxc .b24qwc-screen__shot img {+ display: block;+ width: 100%;+ height: auto;+ max-height: 380px;+ object-fit: contain;+ border-radius: 16px;+ border: 1px solid var(--b24-border);+ background: var(--b24-img-plate);+}+.b24-qwmaxc .b24qwc-figure--hero img { max-height: 520px; }+/* иллюстрация в шапке секции: колонка col-lg-4, компактнее — секция цен ≤1350px */+.b24-qwmaxc .b24qwc-head .b24qwc-figure img { max-height: 300px; }+/* показываем только версию под текущую тему */+.b24-qwmaxc img.b24qwc-img--dark { display: none; }+body.dark .b24-qwmaxc img.b24qwc-img--light { display: none; }+body.dark .b24-qwmaxc img.b24qwc-img--dark { display: block; }++/* ---- факты под hero ---- */+.b24-qwmaxc .b24qwc-facts {+ display: grid;+ grid-template-columns: repeat(3, minmax(0, 1fr));+ gap: 1rem;+ margin: 2rem 0 0;+ padding: 0;+}+.b24-qwmaxc .b24qwc-fact {+ display: block;+ padding: 1rem 1.15rem;+ border: 1px solid var(--b24-border);+ border-radius: 14px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-fact__title {+ display: block;+ font-weight: 700;+ font-size: 1rem;+ line-height: 1.35;+ color: var(--b24-heading);+ margin-bottom: .8rem;+}+.b24-qwmaxc .b24qwc-fact__text {+ display: block;+ font-size: .9375rem;+ line-height: 1.5;+ color: var(--b24-muted);+}++/* ---- сетки карточек ---- */+.b24-qwmaxc .b24qwc-grid { display: grid; gap: 1rem; }+.b24-qwmaxc .b24qwc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }+.b24-qwmaxc .b24qwc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }+.b24-qwmaxc .b24qwc-grid--pains { grid-template-columns: repeat(3, minmax(0, 1fr)); }+.b24-qwmaxc .b24qwc-grid--gap-s { gap: .85rem; }++.b24-qwmaxc .b24qwc-card {+ padding: 1.35rem 1.4rem;+ border: 1px solid var(--b24-border);+ border-radius: 16px;+ background: var(--b24-card);+ box-shadow: var(--b24-shadow);+}+.b24-qwmaxc .b24qwc-card__num {+ display: inline-block;+ font-size: .875rem;+ font-weight: 700;+ color: var(--b24-accent);+ margin-bottom: .5rem;+}+.b24-qwmaxc .b24qwc-card__title {+ font-size: 1.06rem;+ line-height: 1.35;+ margin-bottom: .8rem;+}+.b24-qwmaxc .b24qwc-card__text {+ font-size: .9688rem;+ line-height: 1.58;+ margin: 0;+}+.b24-qwmaxc .b24qwc-card--small { padding: 1.1rem 1.15rem; box-shadow: none; }+.b24-qwmaxc .b24qwc-card--proof { display: flex; flex-direction: column; }+.b24-qwmaxc .b24qwc-card__source {+ margin: auto 0 0;+ padding-top: .6rem;+ font-size: .875rem;+ line-height: 1.45;+ color: var(--b24-muted);+ border-top: 1px solid var(--b24-border);+}+.b24-qwmaxc .b24qwc-card__source span { color: var(--b24-accent); }+.b24-qwmaxc .b24qwc-badge {+ display: inline-block;+ font-size: .8125rem;+ font-weight: 600;+ letter-spacing: .02em;+ padding: .25rem .6rem;+ border-radius: 999px;+ background: var(--b24-chip);+ color: var(--b24-accent);+ margin-bottom: .6rem;+}++/* ---- экраны приложения (блок «как это выглядит») ---- */+.b24-qwmaxc .b24qwc-screens { display: grid; gap: 1.35rem; }+.b24-qwmaxc .b24qwc-screen {+ display: grid;+ grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);+ gap: 1.35rem;+ align-items: center;+ margin: 0;+ padding: 1.25rem;+ border: 1px solid var(--b24-border);+ border-radius: 18px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-screen:nth-child(even) { direction: rtl; }+.b24-qwmaxc .b24qwc-screen:nth-child(even) > * { direction: ltr; }+.b24-qwmaxc .b24qwc-screen__shot img {+ max-height: 420px;+ border-radius: 12px;+}+.b24-qwmaxc .b24qwc-screen figcaption { padding: .2rem 0; }+.b24-qwmaxc .b24qwc-screen__title { font-size: 1.15rem; line-height: 1.3; margin-bottom: .8rem; }+.b24-qwmaxc .b24qwc-screen__text { font-size: .9688rem; line-height: 1.6; margin: 0; }++/* ---- неделя по дням ---- */+.b24-qwmaxc .b24qwc-steps {+ display: grid;+ grid-template-columns: repeat(5, minmax(0, 1fr));+ gap: .9rem;+ margin: 0;+ padding: 0;+}+.b24-qwmaxc .b24qwc-step {+ padding: 1.15rem 1.15rem 1.25rem;+ border: 1px solid var(--b24-border);+ border-radius: 16px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-step__day {+ display: inline-block;+ font-size: .875rem;+ font-weight: 700;+ color: var(--b24-accent);+ margin-bottom: .4rem;+}+.b24-qwmaxc .b24qwc-step__title { font-size: 1rem; line-height: 1.35; margin-bottom: .8rem; }+.b24-qwmaxc .b24qwc-step__text { font-size: .9375rem; line-height: 1.5; margin-bottom: .6rem; }+.b24-qwmaxc .b24qwc-step__artefact {+ font-size: .875rem;+ line-height: 1.45;+ margin: 0;+ color: var(--b24-muted);+}+.b24-qwmaxc .b24qwc-step__artefact span { color: var(--b24-accent); font-weight: 600; }++/* ---- примечания ---- */+.b24-qwmaxc .b24qwc-note {+ margin-top: 1.25rem;+ padding: .85rem 1.1rem;+ border-left: 3px solid var(--b24-accent);+ border-radius: 0 12px 12px 0;+ background: var(--b24-chip);+}+.b24-qwmaxc .b24qwc-note p { margin: 0; font-size: 1rem; line-height: 1.58; }+.b24-qwmaxc .b24qwc-note--final { margin-top: 1.2rem; }++/* ---- правила перед тарифами ---- */+.b24-qwmaxc .b24qwc-rules {+ display: grid;+ grid-template-columns: repeat(3, minmax(0, 1fr));+ gap: .85rem;+ margin: 0 0 1rem;+ padding: 0;+}+.b24-qwmaxc .b24qwc-rule {+ padding: .85rem 1rem;+ border: 1px solid var(--b24-border);+ border-radius: 14px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-rule p { margin: 0; font-size: .9688rem; line-height: 1.55; }++/* ---- пакеты ---- */+.b24-qwmaxc .b24qwc-plans {+ display: grid;+ grid-template-columns: repeat(3, minmax(0, 1fr));+ gap: 1rem;+ margin-bottom: 1.15rem;+}+/* секция цен ≤1.5 экрана (1350px @1440×900): карточки уплотнены */+.b24-qwmaxc .b24qwc-plan {+ display: flex;+ flex-direction: column;+ padding: 1.15rem 1.1rem;+ border: 1px solid var(--b24-border);+ border-radius: 16px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-plan--rec { border: 2px solid var(--b24-fill); box-shadow: var(--b24-shadow); }+.b24-qwmaxc .b24qwc-plan__badge {+ align-self: flex-start;+ font-size: .8125rem;+ font-weight: 600;+ padding: .22rem .55rem;+ border-radius: 999px;+ background: var(--b24-chip);+ color: var(--b24-accent);+ margin-bottom: .45rem;+}+.b24-qwmaxc .b24qwc-plan__title { font-size: 1.1rem; line-height: 1.35; margin-bottom: .8rem; }+.b24-qwmaxc .b24qwc-plan__price {+ font-size: 1.5rem;+ font-weight: 700;+ line-height: 1.2;+ color: var(--b24-heading);+ margin-bottom: .2rem;+}+.b24-qwmaxc .b24qwc-plan__term { font-size: .875rem; line-height: 1.45; color: var(--b24-muted); margin-bottom: .5rem; }+.b24-qwmaxc .b24qwc-plan__for { font-size: .9375rem; line-height: 1.5; margin-bottom: .7rem; }+.b24-qwmaxc .b24qwc-plan__list { list-style: none; margin: 0 0 .9rem; padding: 0; }+.b24-qwmaxc .b24qwc-plan__list li {+ position: relative;+ padding-left: 1.15rem;+ font-size: .9063rem;+ line-height: 1.5;+ margin-bottom: .35rem;+ max-width: 100%;+}+.b24-qwmaxc .b24qwc-plan__list li::before {+ content: "";+ position: absolute;+ left: 0;+ top: .55em;+ width: .33rem;+ height: .33rem;+ border-radius: 50%;+ background: var(--b24-fill);+}+.b24-qwmaxc .b24qwc-plan__btn { margin-top: auto; }++/* ---- addon «Портал под ключ» ---- */+.b24-qwmaxc .b24qwc-addon {+ display: flex;+ flex-wrap: wrap;+ align-items: center;+ gap: 1.1rem;+ padding: 1rem 1.25rem;+ border: 1px solid var(--b24-border);+ border-radius: 16px;+ background: var(--b24-chip);+}+.b24-qwmaxc .b24qwc-addon__left { flex: 1 1 380px; min-width: 0; }+.b24-qwmaxc .b24qwc-addon__right { flex: 0 0 auto; text-align: right; }+.b24-qwmaxc .b24qwc-addon__title { font-size: 1.1rem; line-height: 1.3; margin-bottom: .8rem; }+.b24-qwmaxc .b24qwc-addon__sub { font-size: .9375rem; line-height: 1.5; color: var(--b24-accent); margin-bottom: .5rem; }+.b24-qwmaxc .b24qwc-addon__text { font-size: .9375rem; line-height: 1.55; margin: 0; }+.b24-qwmaxc .b24qwc-addon__price {+ font-size: 1.4rem;+ font-weight: 700;+ color: var(--b24-heading);+ margin: 0 0 .6rem;+ white-space: nowrap;+}++/* ---- таблицы (tco + лицензии) ---- */+.b24-qwmaxc .b24qwc-tablewrap {+ border: 1px solid var(--b24-border);+ border-radius: 16px;+ background: var(--b24-card);+ overflow: hidden;+}+/* тема красит table/tbody глобально — внутри скоупа гасим эти фоны */+.b24-qwmaxc .b24qwc-table {+ width: 100%;+ margin: 0;+ border: 0;+ background: transparent;+ border-collapse: collapse;+ table-layout: fixed;+ font-size: .9375rem;+}+.b24-qwmaxc .b24qwc-table tbody,+.b24-qwmaxc .b24qwc-table thead,+.b24-qwmaxc .b24qwc-table tr { background: transparent; }+.b24-qwmaxc .b24qwc-table tr:not(:last-child) { border-bottom: 0; }+.b24-qwmaxc .b24qwc-table__cap {+ caption-side: top;+ padding: .7rem 1rem;+ font-size: .875rem;+ line-height: 1.45;+ color: var(--b24-muted);+ text-align: left;+}+.b24-qwmaxc .b24qwc-table th,+.b24-qwmaxc .b24qwc-table td {+ padding: .62rem .7rem;+ text-align: left;+ vertical-align: top;+ overflow-wrap: anywhere;+ text-wrap: pretty;+ max-width: none;+}+.b24-qwmaxc .b24qwc-table thead th {+ background: var(--b24-chip);+ color: var(--b24-heading);+ font-weight: 600;+ font-size: .9375rem;+ line-height: 1.35;+ border-bottom: 1px solid var(--b24-border);+}+.b24-qwmaxc .b24qwc-table tbody td {+ border-top: 1px solid var(--b24-border);+ line-height: 1.5;+}+.b24-qwmaxc .b24qwc-table tbody tr:first-child td { border-top: 0; }+.b24-qwmaxc .b24qwc-table tbody td:first-child { color: var(--b24-heading); font-weight: 600; }+.b24-qwmaxc .b24qwc-table--num { font-weight: 700; color: var(--b24-heading) !important; white-space: nowrap; }+.b24-qwmaxc .b24qwc-table--total td {+ border-top: 2px solid var(--b24-border);+ background: var(--b24-chip);+}+.b24-qwmaxc .b24qwc-table--total td:first-child { font-size: 1rem; }++/* ---- TCO: строка примера + карточка итога ---- */+.b24-qwmaxc .b24qwc-tco__example {+ font-size: .9688rem;+ line-height: 1.55;+ margin: 0 0 1rem;+}+.b24-qwmaxc .b24qwc-tco__example span { color: var(--b24-accent); font-weight: 600; }+.b24-qwmaxc .b24qwc-tco__card {+ padding: 1.6rem 1.5rem;+ border: 2px solid var(--b24-fill);+ border-radius: 18px;+ background: var(--b24-card);+ text-align: center;+ position: sticky;+ top: 100px;+}+.b24-qwmaxc .b24qwc-tco__sum-label {+ font-size: .9375rem;+ font-weight: 600;+ color: var(--b24-accent);+ margin: 0 0 .4rem;+}+.b24-qwmaxc .b24qwc-tco__sum {+ font-size: 2.4rem;+ font-weight: 700;+ line-height: 1.15;+ color: var(--b24-heading);+ margin: 0 0 .5rem;+}+.b24-qwmaxc .b24qwc-tco__next {+ font-size: .9375rem;+ line-height: 1.5;+ color: var(--b24-muted);+ margin: 0;+}++/* ---- аккордеоны (возражения) ---- */+.b24-qwmaxc .b24qwc-accs { display: grid; gap: .6rem; }+.b24-qwmaxc .b24qwc-acc {+ border: 1px solid var(--b24-border);+ border-radius: 14px;+ background: var(--b24-card);+}+.b24-qwmaxc .b24qwc-acc summary {+ display: flex;+ align-items: flex-start;+ gap: .75rem;+ min-height: 48px;+ padding: 1rem 1.15rem;+ cursor: pointer;+ list-style: none;+ font-size: 1rem;+ font-weight: 600;+ line-height: 1.45;+ color: var(--b24-heading);+}+.b24-qwmaxc .b24qwc-acc summary::-webkit-details-marker { display: none; }+.b24-qwmaxc .b24qwc-acc summary::after {+ content: "+";+ margin-left: auto;+ flex: 0 0 auto;+ font-size: 1.25rem;+ line-height: 1;+ color: var(--b24-accent);+}+.b24-qwmaxc .b24qwc-acc[open] summary::after { content: "–"; }+.b24-qwmaxc .b24qwc-acc summary:focus-visible { outline: 3px solid var(--b24-accent); outline-offset: -3px; border-radius: 14px; }+.b24-qwmaxc .b24qwc-acc__body { padding: 0 1.15rem 1.15rem; }+.b24-qwmaxc .b24qwc-acc__body p { margin: 0; font-size: .9688rem; line-height: 1.6; }++/* ---- форма приманки: 2 поля, submit-кнопка ---- */+.b24-qwmaxc .b24qwc-form {+ padding: 1.5rem 1.5rem 1.35rem;+ border: 1px solid var(--b24-border);+ border-radius: 18px;+ background: var(--b24-card);+ box-shadow: var(--b24-shadow);+}+.b24-qwmaxc .b24qwc-form__title { font-size: 1.15rem; line-height: 1.35; margin-bottom: 1rem; }+.b24-qwmaxc .b24qwc-form__field { margin-bottom: .9rem; }+.b24-qwmaxc .b24qwc-form__label {+ display: block;+ font-size: .9375rem;+ font-weight: 600;+ color: var(--b24-heading);+ margin-bottom: .4rem;+}+.b24-qwmaxc .b24qwc-form__input {+ width: 100%;+ min-height: 50px;+ padding: .8rem 1rem;+ border: 1px solid var(--b24-border);+ border-radius: 12px;+ background: var(--b24-bg);+ color: var(--b24-heading);+ font-size: 1rem;+}+.b24-qwmaxc .b24qwc-form__input::placeholder { color: var(--b24-muted); opacity: 1; }+.b24-qwmaxc .b24qwc-form__input:focus { outline: 3px solid var(--b24-accent); outline-offset: 2px; border-color: var(--b24-accent); }+.b24-qwmaxc .b24qwc-form__submit { width: 100%; margin-top: .35rem; }+.b24-qwmaxc .b24qwc-form__note { margin: .8rem 0 0; font-size: .875rem; line-height: 1.5; color: var(--b24-muted); }+.b24-qwmaxc .b24qwc-friction { margin: 1rem 0 0; font-size: .875rem; line-height: 1.55; color: var(--b24-muted); }+.b24-qwmaxc .b24qwc-friction__link {+ display: inline-flex;+ align-items: center;+ min-height: 44px; /* тап-таргет: голый URL-текст даёт 19px */+ color: var(--b24-accent);+ font-weight: 600;+ text-decoration: underline;+ text-underline-offset: 3px;+}++/* ---- финальная полоса ---- */+.b24-qwmaxc .b24qwc-final { padding-bottom: 3.75rem; }+.b24-qwmaxc .b24qwc-final__box {+ padding: 2rem 2rem 1.85rem;+ border: 1px solid var(--b24-border);+ border-radius: 20px;+ background: var(--b24-alt);+}+.b24-qwmaxc .b24qwc-final__text { font-size: 1rem; line-height: 1.6; margin-bottom: .7rem; }++/* ---- sticky CTA на мобиле ---- */+.b24-qwmaxc .b24qwc-sticky {+ display: none;+ position: fixed;+ left: 0;+ right: 0;+ bottom: 0;+ z-index: 900;+ padding: .6rem .9rem calc(.6rem + env(safe-area-inset-bottom, 0px));+ background: var(--b24-card);+ border-top: 1px solid var(--b24-border);+ box-shadow: 0 -6px 24px rgba(0,0,0,.12);+}+.b24-qwmaxc .b24qwc-sticky .btn { width: 100%; }++/* ---- подписи логотипов клиентов (partners.html) в тёмной теме:+ цвет темы #666 на тёмном фоне = 2.67:1; по образцу ai_adoption ---- */+body.dark:has(.b24-qwmaxc) .brand-caption { color: #b9c7ca; }++/* ---- зазор h3→текст ≥12px: правило в конце файла, каскад не перебивает ---- */+.b24-qwmaxc h3 { margin-bottom: .8rem; line-height: 1.32; }++/* ---- адаптив ---- */+@media (max-width: 1199.98px) {+ .b24-qwmaxc .b24qwc-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }+ .b24-qwmaxc .b24qwc-screen { grid-template-columns: minmax(0, 1fr); }+ .b24-qwmaxc .b24qwc-screen:nth-child(even) { direction: ltr; }+}+@media (max-width: 991.98px) {+ .b24-qwmaxc .b24qwc-sec { padding: 2.5rem 0; }+ .b24-qwmaxc .b24qwc-grid--2,+ .b24-qwmaxc .b24qwc-grid--3,+ .b24-qwmaxc .b24qwc-grid--pains,+ .b24-qwmaxc .b24qwc-plans,+ .b24-qwmaxc .b24qwc-rules { grid-template-columns: minmax(0, 1fr); }+ .b24-qwmaxc .b24qwc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }+ .b24-qwmaxc .b24qwc-figure img { max-height: 300px; }+ .b24-qwmaxc .b24qwc-tco__card { position: static; }+ /* таблицы → карточки */+ .b24-qwmaxc .b24qwc-tablewrap { border: 0; background: transparent; overflow: visible; }+ .b24-qwmaxc .b24qwc-table { display: block; font-size: .9375rem; }+ .b24-qwmaxc .b24qwc-table thead { display: none; }+ .b24-qwmaxc .b24qwc-table tbody,+ .b24-qwmaxc .b24qwc-table tr,+ .b24-qwmaxc .b24qwc-table td { display: block; width: auto; }+ .b24-qwmaxc .b24qwc-table__cap { padding: .2rem 0 .8rem; }+ .b24-qwmaxc .b24qwc-table tr {+ margin-bottom: .75rem;+ padding: .35rem 0 .45rem;+ border: 1px solid var(--b24-border);+ border-radius: 14px;+ background: var(--b24-card);+ }+ .b24-qwmaxc .b24qwc-table tbody td {+ border-top: 0;+ padding: .4rem 1rem;+ display: grid;+ grid-template-columns: minmax(0, 42%) minmax(0, 1fr);+ gap: .6rem;+ align-items: start;+ white-space: normal;+ }+ .b24-qwmaxc .b24qwc-table tbody td::before {+ content: attr(data-label);+ font-size: .875rem;+ font-weight: 600;+ line-height: 1.4;+ color: var(--b24-accent);+ }+ .b24-qwmaxc .b24qwc-table tbody td:first-child::before { display: none; }+ .b24-qwmaxc .b24qwc-table tbody td:first-child {+ display: block;+ font-size: 1rem;+ padding-top: .55rem;+ }+ .b24-qwmaxc .b24qwc-table--total td { border-top: 0; background: transparent; }+ .b24-qwmaxc .b24qwc-table--total { border: 2px solid var(--b24-fill) !important; }+}+@media (max-width: 767.98px) {+ .b24-qwmaxc .b24qwc-steps { grid-template-columns: minmax(0, 1fr); }+ .b24-qwmaxc .b24qwc-final__box { padding: 1.4rem 1.25rem 1.25rem; }+ .b24-qwmaxc .b24qwc-addon__right { text-align: left; width: 100%; }+ .b24-qwmaxc .b24qwc-addon__right .btn { width: 100%; }+ .b24-qwmaxc .b24qwc-sticky { display: block; }+ .b24-qwmaxc .b24qwc-final { padding-bottom: 6.5rem; }+ /* sticky-панель (~71px) не должна перекрывать футер: запас снизу (Bootstrap .pb-0 — !important) */+ body:has(.b24qwc-sticky) footer { padding-bottom: 5.5rem !important; }+}+@media (max-width: 575.98px) {+ /* первый экран: убираем «воздух», primary-CTA и цена выше сгиба */+ .b24-qwmaxc .b24qwc-hero { padding-top: 1.35rem; padding-bottom: 1.75rem; }+ .b24-qwmaxc .b24qwc-hero .b24qwc-kicker { margin-bottom: .55rem; }+ .b24-qwmaxc .b24qwc-h1 { margin-bottom: .75rem; }+ .b24-qwmaxc .b24qwc-hero__lead { font-size: 1rem; line-height: 1.5; margin-bottom: 1rem; }+ .b24-qwmaxc .b24qwc-cta { margin-top: 1rem; gap: .6rem; }+ .b24-qwmaxc .b24qwc-cta .btn { width: 100%; }+ .b24-qwmaxc .b24qwc-price-note { font-size: .875rem; }+ .b24-qwmaxc .b24qwc-facts { grid-template-columns: minmax(0, 1fr); }+ .b24-qwmaxc .b24qwc-card { padding: 1.15rem; }+ .b24-qwmaxc .b24qwc-form { padding: 1.2rem 1.15rem 1.1rem; }+ .b24-qwmaxc .b24qwc-screen { padding: .85rem; }+ .b24-qwmaxc .b24qwc-screen__shot img { max-height: 260px; }+ .b24-qwmaxc .b24qwc-tco__sum { font-size: 2rem; }+}
+1 −0diff --git a/assets/scss/custom.scss b/assets/scss/custom.scssindex ffaf1dd..a505eab 100644--- a/assets/scss/custom.scss+++ b/assets/scss/custom.scss@@ -1576,3 +1576,4 @@ h1.blog-post-title { } @import 'aiad';+@import 'b24qwmaxc';
+312 −264diff --git a/content/russian/service/deployment/index.md b/content/russian/service/deployment/index.mdindex 15a5606..5a2eebb 100644--- a/content/russian/service/deployment/index.md+++ b/content/russian/service/deployment/index.md@@ -1,271 +1,319 @@ ----date: "2021-07-14"+date: "2026-10-29" draft: false-title: "Внедрение Битрикс24 под ключ от 19 900р"-description: "Настраиваем CRM и бизнес-процессы"-icon: "fas fa-users" # fontawesome icon pack : https://fontawesome.com/icons/-layout : "single"--######################### banner #####################-bannertwo:- title: "Внедрение Битрикс24 <br />под ключ <br />от 19 900р"- subtitle: Лаборатория Павла Жукова- image: "images/service/301840.png"- content : "Настраиваем CRM и бизнес-процессы"- button:- enable : true- label : "Заказать консультацию"- link : "contact/"- background_class: "bg-light"--######################### about this product #####################-about_this_product:- enable: true- title: "Рутину должны делать роботы. "- content: "Снимем эти задачи с ваших сотрудников"-- features:- - title: "Дашборды руководства"- icon: "fa-solid fa-chart-line"- content: "Контролируйте всю происходящую в компании деятельность на удобных дашбордах. Максимально используем дашборды Битрикс24, а при необходимости пишем свои приложения."-- - title: "Контроль деятельности"- icon: "fa-solid fa-clock"- content: "Обеспечиваем строгое выполнение бизнес-процессов. От продаж до производства, не даем сотрудникам выйти за рамки процесса, «забыть о сроках» или «потерять результаты» выполнения задач."-- - title: "Процессы на задачах"- icon: "fa-solid fa-list-check"- content: "Никто не забудет про клиента. Задачи встают по расписанию, каждый чих на контроле у робота. Вышестоящее руководство уведомляется о нарушениях в процедурах."- - title: "Собираем результаты"- icon: "fa-solid fa-layer-group"- content: "Каждый документ, звонок или любая информация проходящая в рамках процесса сохраняется. Специальное хранилище документов с категориями и возможностью использовать бизнес-процессы."- - title: "Финансовый контроль"- icon: "fa-solid fa-coins"- content: "Мы разработали собственное приложение для контроля финансов в Битрикс24. Сохраняем платежи, расходы, предоставляем удобные отчеты."- - title: "Личный кабинет"- icon: "fa-solid fa-users-gear"- content: "Мы разработали собственное приложение для создания зоны самообслуживания ваших клиентов. Централизованное общение с менеджерами, загрузка результатов и т.д."---######################### product_info #####################-product_info:- enable : true- title: "Почему мы?"- content: "Мы знаем Битрикс24 изнутри и готовы предложить то, что не могут конкуренты"- background_class: "bg-light"- features:- - image: "images/service/081703.png"- button:- enable : false- label : "Заказать сейчас"- link : "get-demo/"- content : "##### Опыт внедрения в различных компаниях- - От фотостудии до юридического бюро. Мы знаем универсальные принципы, но всегда дорабатываем их с учетом задач Заказчика.- - ##### Готовый стек собственных приложений- - Продажи, производство, учет финансов, личный кабинет для ваших клиентов. Дашборды для руководителя. Мы уже сделали 95% работы."-- - image: "images/service/fplus.png"- button:- enable : false- label : "Заказать сейчас"- link : "get-demo/"- content : "##### Разработка приложений под требования заказчика- - В случаях когда возможностей Битрикс24 или готовых приложений не хватает для решения ваших задач, мы готовы разработать приложения индивидуально под ваш Бизнес."-- ---##################################################--pricing:- enable: true- title: "Варианты внедрения"- subtitle: "Внедряем Битрикс24 для компаний любого размера"- fixed_plans_enable: true-- custom_plan:- enable: true- title: "Нет подходящего плана??"- button:- label: "Напишите нами"- link: "contact/"-- fixed_plans:- - title : "Старт"- currency: "₽"- price: "₽19 900"- price_per : "шт"- subtitle : "Базовая настройка: внедрение системы"- button:- enable : true- label : "Связаться"- link : "contact/"--- - title: "Взлёт"- subtitle: "Настройка для средних компаний: внедрение системы"- price: "₽89 900"- price_per: "шт"+title: "Внедрение Битрикс24: готовый AI-отдел продаж на базе AI Советника"+description: "AI Советник уже внутри Битрикс24: распределяет лиды, держит клиента 360°, ловит недозвоны, разбирает звонки и переписку, ставит задачи менеджеру. Включаем работающий AI-отдел продаж за неделю и доводим портал до него. Внедрение от 19 250 ₽, подписки по прайсам вендоров без наценки."+image: "images/service/b24/hero.png"+icon: "fas fa-users"+layout: "single"+b24_variant: "qwmaxc"++######################### hero #####################+hero:+ kicker: "AI Советник внутри Битрикс24 · 430 установок · оценка 5,0 из 19 отзывов"+ title: "Готовый AI-отдел продаж внутри вашего Битрикс24"+ lead: "AI Советник уже делает то, ради чего «настраивают CRM»: распределяет лиды, держит клиента 360°, ловит недозвоны, разбирает звонки и переписку, ставит задачи менеджеру и показывает РОПу дашборд. Мы не настраиваем CRM с нуля — включаем работающий AI-отдел продаж и доводим портал до него: воронки, поля, каналы (Wappi), дашборды."+ image: "images/service/b24/hero.png"+ image_alt: "Портал Битрикс24, AI-советник в карточке сделки и диалог с клиентом собираются в один контур"+ buttons:+ - label: "Попробовать AI Советник 14 дней"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment"+ style: "primary"+ - label: "Забрать буклет и расчёт первого года"+ link: "contact_form/"+ style: "outline"+ price_note: "Внедрение — от **19 250 ₽** (пакет «Старт», 5 часов; ставка 3 850 ₽/час). Подписки — по прайсам вендоров, без наценки: AI Советник от 990 ₽/мес, Wappi «Полный» 1 690 ₽/мес, облако Б24 от 2 490 ₽/мес. Первый год целиком — в блоке «Цена»."+ facts:+ - title: "430 установок, 5,0"+ text: "AI Советник в Маркетплейсе Б24; 19 отзывов — все пять звёзд"+ - title: "31 приложение"+ text: "собственные приложения лаборатории в Маркетплейсе Битрикс24"+ - title: "567 проектов"+ text: "автоматизации с 2020 года; медианный чек 38 тыс. ₽"++######################### blocks #####################+blocks:+ - role: "pains"+ num: 1+ title: "Портал куплен — а продаж больше не стало"+ lead: "Пять признаков, что Битрикс24 работает «для галочки». Если узнаёте хотя бы два — дело не в платформе, а в том, что её не довезли до продукта."+ image: "images/service/b24/pains.png"+ image_alt: "Заявка из мессенджера не доходит до карточки сделки"+ items:+ - title: "Лиды раздают в общем чате"+ text: "Кто первый ответил — того и клиент. Клиент звонит повторно и попадает в новую карточку: история обнуляется."+ - title: "«Не дозвонился» — и тишина"+ text: "Комментарий в карточке есть, а следующей попытки нет: ни задачи, ни напоминания, ни строки в отчёте."+ - title: "Переписка живёт в телефоне менеджера"+ text: "Звонки и чаты — в личном WhatsApp, карточка сделки пустая. Менеджер увольняется — история клиента уходит вместе с ним."+ - title: "Воронку собирают руками"+ text: "На вопрос руководителя «что с воронкой» ответ готовится вечером в Excel. Сделки — в CRM, часть в таблице, часть в переписке."+ - title: "Менеджеры работают «мимо» CRM"+ text: "Портал оплачен, но заявки дублируют в блокнот и мессенджер: ручной ввод отнимает время, а контроля не даёт."+ note: "Ни один пункт не лечится «ещё одной настройкой полей»: нужен слой, который сам распределяет, напоминает, разбирает и показывает — то есть продукт."++ - role: "mechanics"+ num: 2+ title: "Что вы получаете: механики AI Советника, а не «настройку CRM»"+ lead: "Шесть модулей приложения archeon.ai_rop работают внутри карточки лида и сделки — их не нужно разрабатывать, они уже в Маркетплейсе Битрикс24."+ image: "images/service/b24/ai.png"+ image_alt: "AI-ассистент внутри карточки сделки: разбор диалога, рекомендация, задача менеджеру"+ items:+ - title: "Анализ сделок и звонков"+ text: "Расшифровка звонков и чатов ложится в карточку: вероятность договора %, качество коммуникации, рекомендация AI и нарушения сценария — 11 полей UF_CRM_AIROP24_*."+ - title: "Распределение лидов и CRM-контроль"+ text: "Лиды распределяются поровну, по нагрузке или по должности; дедупликация; повторные попытки связи при «нет связи» по графику 1 / 5 / 24 / 72 часа."+ - title: "Клиент 360°"+ text: "Блок «Клиент» в карточке: связанные сделки, каналы коммуникации, дата следующего контакта. Лид прикрепляется к сделке одной кнопкой."+ - title: "Чат-бот по базе знаний"+ text: "Отвечает клиентам 24/7 по вашим документам, спорное передаёт менеджеру. В отладочном режиме видно рассуждение бота до отправки."+ - title: "Дашборды и дайджест РОПа"+ text: "Сигналы «требуют внимания руководителя / ответственного», KPI дня, конверсия за период, приоритетные задачи менеджера, ежедневный дайджест."+ - title: "Возврат зависших и мультиканальность"+ text: "Авто-напоминания «остывшим» клиентам, AI-рассылки по кластерам базы, автопереключение каналов WhatsApp → Telegram → MAX → Email → SMS."+ note: "Тарифы приложения: «Пульсар» — в подписке Б24, далее 990 / 4 990 / 9 990 / 24 990 ₽/мес — отличаются квотой анализов и моделью (Стандарт / Прайм). 14 дней бесплатно."++ - role: "ui"+ num: 3+ title: "Как это выглядит: живые экраны приложения"+ lead: "Три экрана из демо-портала. Всего в приложении 21 маршрут: дашборды, аналитика сделок, чат-бот, CRM-контроль, кластеризация и рассылки, доступы."+ screens:+ - image: "images/service/b24/ui-dashboard.png"+ image_alt: "Дашборд AI Советника: сигналы внимания, KPI дня, конверсия за период"+ title: "Дашборд"+ text: "«Требуют внимания руководителя: 14» — кликом открывает список. Ниже KPI дня (лиды, качественные, продажи) и показатели за период: новых сделок, успешных продаж, конверсия. Фильтры: направление, менеджеры, день / неделя / месяц / год."+ - image: "images/service/b24/ui-analytics.png"+ image_alt: "Очередь анализа сделок: вероятность договора, оценка коммуникации, флаги внимания"+ title: "Аналитика сделок"+ text: "Очередь задач на AI-разбор: профиль сценария, статус, вероятность заключения договора, оценка коммуникации, флаги «требует внимания». Квота тарифа видна сразу: лимит, использовано, остаток."+ - image: "images/service/b24/ui-card.png"+ image_alt: "Поля AI-анализа в карточке: вероятность договора, качество коммуникации, рекомендация AI"+ title: "Карточка лида и сделки"+ text: "Результат разбора — 11 полей UF_CRM_AIROP24_*: среднее время ответа сотрудника и клиента, вероятность договора, качество коммуникации, рекомендация AI, нарушения сценария, эскалация руководителю, дата анализа."+ note: "Скриншоты демо-портала: данные тестовые, интерфейс — живой продукт, который ставится из Маркетплейса за 2 минуты."++ - role: "week_plan"+ num: 4+ title: "Как проходит неделя запуска — по дням и с артефактом каждого дня"+ lead: "Приложение разрабатывать не нужно — оно уже готово. Неделя уходит на то, чтобы портал, воронки и каналы начали его кормить данными."+ image: "images/service/b24/funnel.png"+ image_alt: "Воронка продаж: заявки входят сверху, сделки с историей выходят снизу"+ steps:+ - day: "День 1"+ title: "Портал и лиды"+ text: "Доступы, структура компании, права, импорт базы, источники заявок: сайт, телефония, мессенджеры."+ artefact: "лиды падают в CRM и распределяются автоматически"+ - day: "День 2–3"+ title: "Воронки и поля"+ text: "Стадии под ваш процесс, обязательные поля, роботы и автозадачи, регламент «что считается обработанным лидом»."+ artefact: "карта воронки, живущая в CRM, а не в голове РОПа"+ - day: "День 4"+ title: "AI Советник"+ text: "Установка из Маркетплейса (2 минуты), сценарии анализа по вашим стадиям, правила распределения, чат-бот, дашборды."+ artefact: "AI-поля в карточках на реальных диалогах"+ - day: "День 5"+ title: "Каналы: Wappi"+ text: "Профили WhatsApp / Telegram / MAX, открытые линии, база знаний для бота, шаблоны ответов."+ artefact: "диалог из WhatsApp виден внутри сделки"+ - day: "День 6–7"+ title: "Обкатка и обучение"+ text: "Два занятия с командой, правка правил по живым лидам, приёмка по чек-листу из 18 пунктов."+ artefact: "подписанный чек-лист запуска"+ note: "**Неделя** — срок на готовом стеке для портала с одним каналом связи и типовым отделом продаж. Миграция большой базы, коробка, 1С и несколько юрлиц — дольше: срок фиксируем в смете до договора."++ - role: "price"+ num: 5+ title: "Цена: пакеты работ и подписки — раздельно"+ lead: "Пакеты внедрения AI Советника опубликованы на странице приложения — те же цифры попадают в договор. Лицензии и подписки платите вендорам по их прайсу: мы на них не нацениваем."+ image: "images/service/b24/calc.png"+ image_alt: "Смета: работы, лицензия и подписки отдельными строками"+ intro:+ - text: "В пакетах — только работы по запуску AI Советника. Лицензия Б24, подписка приложения и профили Wappi — отдельные строки, оплата вендорам."+ - text: "Работы по порталу (воронки, права, миграция, каналы, телефония, 1С) — по ставке 3 850 ₽/час, смета после разбора 60 минут."+ - text: "Вышли за пакет — согласуем письменно до начала работ. Сюрпризов в счёте нет."+ packages:+ - title: "Старт"+ price: "19 250 ₽"+ term: "5 часов"+ for_whom: "Проверить AI Советник в бою на одном направлении продаж."+ includes:+ - "Запуск AI-анализа по 1 воронке"+ - "Чат-бот «Продажи» по 1 направлению"+ - "1 база знаний (до 10 документов)"+ - "Расшифровка звонков, автообзоры сделок"+ - "Открытая линия, 1 сессия обучения"+ button:+ label: "Попробовать 14 дней"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment"+ - title: "Рост"+ price: "38 500 ₽"+ term: "10 часов"+ recommended: true+ for_whom: "Отдел продаж 5–20 человек, несколько направлений и воронки, которые надо контролировать."+ includes:+ - "До 3 воронок и 3 чат-ботов"+ - "Контроль недозвонов, возврат зависших"+ - "CRM-контроль: квалификация, распределение, дубли"+ - "Дашборд и дайджест РОПа"+ - "Поддержка 1 месяц"+ button:+ label: "Попробовать 14 дней"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment"+ - title: "Максимум"+ price: "77 000 ₽"+ term: "20 часов"+ for_whom: "Отдел с большим потоком диалогов, мультиканальностью и базой, которую надо сегментировать."+ includes:+ - "До 5 воронок, чат-боты «Продажи» и «Забота»"+ - "Мультиканальность с автопереключением"+ - "Кластеризация базы и AI-рассылки (до 3)"+ - "Тюнинг промптов под ваши сценарии"+ - "Поддержка 2 месяца"+ button:+ label: "Попробовать 14 дней"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment"+ addon:+ title: "Портал под ключ"+ subtitle: "Воронки, права, миграция базы, каналы Wappi, телефония, 1С, коробка"+ price: "3 850 ₽/час"+ text: "Если Битрикс24 ещё не настроен или куплен и простаивает: считаем работы по часам после 60-минутного разбора. Миграция базы из Excel или другой CRM входит в смету." button:- label: "Связаться"+ label: "Записаться на разбор 60 минут" link: "contact/"-- - title: "Полёт"- subtitle: "Для крупного, действующего бизнеса: внедрение от"- price: "₽149 000"- price_per: "шт"- button:- label: "Связаться"+ note: "Цены пакетов и ставка — со страницы приложения archeon.ai_rop: те же, что в буклете. Сверьте на дату договора."++ - role: "tco"+ num: 6+ title: "Первый год целиком — на посчитанном примере"+ lead: "Рынок показывает цену работ и прячет ежемесячные расходы. Мы кладём на стол полную стоимость первого года: работы + лицензия + подписки, построчно, по прайсам вендоров."+ image: "images/service/b24/finance.png"+ image_alt: "Стоимость первого года складывается из работ, лицензии и подписок"+ example: "30 сотрудников · облако Б24 «Стандартный» · AI Советник «Метеор» · 1 профиль Wappi · оплата облака и Wappi за год"+ rows:+ - item: "Облако Битрикс24 «Стандартный»"+ calc: "6 990 ₽/мес → 5 590 ₽/мес при оплате за год (−20%)"+ year: "67 080 ₽"+ - item: "AI Советник, тариф «Метеор»"+ calc: "990 ₽/мес · 20 анализов в сутки (600 в месяц)"+ year: "11 880 ₽"+ - item: "Wappi «WhatsApp Полный», 1 профиль"+ calc: "1 350 ₽/мес при оплате за 12 мес"+ year: "16 200 ₽"+ - item: "Работы, пакет «Рост»"+ calc: "10 часов × 3 850 ₽/час, разово"+ year: "38 500 ₽"+ total:+ label: "Первый год"+ sum: "133 660 ₽"+ card_note: "работы 38 500 ₽ разово + подписки 95 160 ₽/год"+ next: "Со второго года — только подписки: 95 160 ₽/год. Портал и данные — ваши, подписки отключаются в любой момент."+ note: "Расчёт по прайсам вендоров на октябрь 2026. Лицензия Б24 уже оплачена — минусуйте её строку. Тариф «Пульсар» входит в подписку Б24: тогда строка AI Советника — 0 ₽."++ - role: "licenses"+ num: 7+ title: "Что платите не нам: лицензии и подписки по прайсам вендоров"+ lead: "Эти суммы идут напрямую вендорам. Мы не нацениваем: лицензия — не наша выручка, но без неё внедрения не бывает, поэтому она в смете отдельной строкой."+ table:+ caption: "Прайсы вендоров, октябрь 2026. Проверяйте на дату оплаты."+ headers:+ - "Что"+ - "Тарифы"+ - "Цена"+ - "Как платить"+ rows:+ - ["Облако Битрикс24", "Базовый / Стандартный / Профессиональный / Энтерпрайз", "2 490 / 6 990 / 13 990 / 33 990 ₽/мес за компанию", "Подписка; −20% при оплате за год"]+ - ["Коробка Битрикс24", "CRM (12) / КП-50 / КП-100 / КП-250", "59 000 / 159 000 / 229 000 / 349 000 ₽", "Срочная лицензия на 12 месяцев; продление в срок — 30%, после истечения — 100%. Без продления отключаются Маркетплейс, REST и телефония"]+ - ["AI Советник", "Пульсар / Метеор / Луч / Туманность / Вселенная", "в подписке Б24 / 990 / 4 990 / 9 990 / 24 990 ₽/мес", "Оплата в Маркетплейсе Б24; 14 дней бесплатно. Тарифы отличаются квотой анализов и моделью (Стандарт / Прайм)"]+ - ["Wappi (мессенджеры)", "«WhatsApp Полный» — единственный тариф с интеграцией Б24", "1 690 ₽/мес за профиль; 1 350 ₽/мес при оплате за 12 мес", "Пробный период 5 дней; счёт, акт УПД. «Базовый» (от 550 ₽) — без интеграции с CRM: диалоги в Б24 не приедут"]+ note: "Сопровождение после запуска — линия 3 850 ₽/час (рынок 3 500–4 000 ₽/час), без обязательной абонентки."++ - role: "proof"+ num: 8+ title: "Что можно открыть и проверить до оплаты"+ lead: "Только проверяемое: карточки в Маркетплейсе, прайсы вендоров и агрегаты нашего собственного портала. Кейсов «выручка выросла на N%» нет — публичных замеров нет, и выдумывать мы их не будем."+ image: "images/service/b24/audit.png"+ image_alt: "Открытая карточка приложения в Маркетплейсе с рейтингом и отзывами"+ items:+ - fact: "31 собственное приложение в Маркетплейсе Битрикс24."+ source: "archeon.io/apps/"+ - fact: "AI Советник (archeon.ai_rop): 430 установок, рейтинг 5,0, 19 отзывов — все пять звёзд."+ source: "карточка приложения, Маркетплейс Б24"+ - fact: "Отзывы с именами и датами: Дарья С. 28.09.2026, Динара 02.09.2026, Дауд 01.09.2026, Ivanka 22.07.2026."+ source: "страница приложения"+ - fact: "567 проектов автоматизации с 2020 года, 137 клиентов; 50 из них (каждый третий) вернулись со вторым проектом."+ source: "воронка «Автоматизация: Проекты», 9 398 сделок"+ - fact: "Медианный чек проекта — 38 тыс. ₽, крупнейший — 8,6 млн ₽; 730 обращений в поддержку за 2025 год."+ source: "выгрузка собственного Б24, сверка crm.deal.get"+ - fact: "Цифры страницы совпадают с прайсами bitrix24.ru, 1c-bitrix.ru и wappi.pro — сверьте сами."+ source: "сайты вендоров, октябрь 2026"++ - role: "offer"+ num: 9+ title: "Буклет «Как развернуть AI-отдел продаж за 1 день» + расчёт первого года"+ lead: "PDF на 12 страниц: пошаговый план на базе AI Советника — тот же, по которому мы запускаем порталы. Плюс 5 писем мини-курса и расчёт стоимости под вашу команду."+ image: "images/service/b24/course.png"+ image_alt: "Буклет с планом запуска AI-отдела продаж за один день"+ items:+ - title: "План дня по часам"+ text: "Установка из Маркетплейса (2 минуты), распределение лидов, клиент 360°, контроль недозвонов, дашборды, чат-бот по базе знаний, подключение Wappi."+ - title: "Чек-лист и тарифы"+ text: "18 пунктов приёмки запуска, тарифы AI Советника (Пульсар → Вселенная), раздел «чего не делать» и пять типовых ошибок."+ - title: "5 писем мини-курса"+ text: "«Система продаж в Битрикс24 за 5 шагов» — первое сразу, остальные по одному в день."+ - title: "Расчёт первого года"+ text: "Работы, лицензия, подписки — построчно под вашу команду, как в таблице выше."+ form:+ title: "Куда прислать буклет и расчёт"+ name_label: "Имя"+ name_placeholder: "Как к вам обращаться"+ contact_label: "E-mail или телефон"+ contact_placeholder: "name@company.ru или +7…"+ cta: "Забрать буклет и расчёт"+ action: "contact_form/"+ note: "Два поля, без «должности и размера команды». Буклет и первое письмо приходят сразу; звонок — только если сами попросите."+ friction:+ text: "Регистрация Wappi по нашей партнёрской ссылке цену не меняет: скидок по ссылке нет, она привязывает профиль к нам для поддержки."+ link_label: "wappi.pro/registration — открыть"+ link_url: "https://wappi.pro/registration?ref=350dfa3e"++ - role: "objections"+ num: 10+ title: "Возражения, которые слышим чаще всего"+ image: "images/service/b24/migration.png"+ image_alt: "Перенос базы из старой системы в настроенный портал"+ items:+ - q: "«Дорого. Настройка Битрикс24 предлагается от 25 000 ₽»"+ a: "Сравнивайте состав, а не первую цифру. За 25 000 на рынке обычно настраивают воронки и поля — без AI-разбора, чат-бота и контроля недозвонов. «Рост» за 38 500 ₽ — это до 3 воронок, 3 чат-бота, CRM-контроль, дашборд РОПа и месяц поддержки; подписки видны сразу и считаются по прайсам вендоров."+ - q: "«Сами настроим»"+ a: "Установка приложения действительно занимает 2 минуты — попробуйте: 14 дней бесплатно. Недели обычно уходят на сценарии анализа, стадии, базу знаний и правила распределения. В буклете — план на день, сделайте по нему; застрянете — подключимся пакетом, приложение к тому моменту уже установлено."+ - q: "«У нас своя CRM, не Битрикс24»"+ a: "AI Советник работает внутри Битрикс24 — это платформа. Перенос базы из Excel, amoCRM или самописной системы считаем в смете портала. Данные остаются у вас: экспорт — штатная функция Б24."+ - q: "«Сотрудники не будут пользоваться — уже пробовали»"+ a: "Саботируют ручной ввод, а не CRM. Здесь лиды создаются сами, следующий шаг ставит Советник, история диалогов собирается без усилий менеджера — ему остаётся один список «кому ответить и кому позвонить». В пакетах — обучение и регламент «что считается обработанным лидом»."+ - q: "«А это точно ИИ, а не скрипт?»"+ a: "Разбор делает языковая модель: в неё уходят чаты, расшифровки звонков, задачи и комментарии, а в карточку — рекомендация и нарушения сценария человеческим языком. В отладочном режиме чат-бота видно рассуждение «писать / не писать / позвать менеджера» до отправки. Тарифы отличаются моделью (Стандарт / Прайм) и квотой анализов — у скриптов так не тарифицируют."+ - q: "«А если WhatsApp заблокируют?»"+ a: "Риск есть: Wappi работает через WhatsApp Web, это не официальный Business API, лимиты — порядка 5–10 сообщений в минуту. Поэтому каналы дублируем: Telegram, MAX, Авито, ВК, чат на сайте, а Советник автопереключает цепочку WhatsApp → Telegram → MAX → Email → SMS при недоставке."++ - role: "final"+ num: 11+ title: "Включите AI-отдел продаж — и посчитайте первый год до договора"+ image: "images/service/b24/support.png"+ image_alt: "Поддержка отвечает на вопросы команды после запуска"+ items:+ - "Начните с демо: установите AI Советник из Маркетплейса за 2 минуты — 14 дней бесплатно, без обязательств. Интерфейс и логику увидите на своём портале."+ - "Или запишитесь на разбор 60 минут бесплатно: портал, воронки, каналы. На выходе — карта проблем, план на 30 дней и смета первого года построчно. Если хватит пакета «Старт» — скажем."+ buttons:+ - label: "Попробовать AI Советник 14 дней"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment"+ style: "primary"+ - label: "Разбор портала, 60 минут бесплатно" link: "contact/"+ style: "outline"+ note: "Процессы и данные остаются в вашем портале; подписки вендоров отключаются в любой момент. Объём, часы и срок фиксируются в смете до старта." - - # fixed plans features- fixed_plan_rows:- # table row- - title: "Внедрение учета финансов"- features:- - name: "Старт"- availability: true- other:-- - name: "Взлёт"- availability: true-- - name: "Полёт"- availability: true-- # table row- - title: "Настройка лидов"- features:- - name: "Старт"- availability: true-- - name: "Взлёт"- availability: true-- - name: "Полёт"- availability: true-- # table row- - title: "Воронки продаж"- features:- - name: "Старт"- availability: true- other: 1-- - name: "Взлёт"- availability: true- other: 2-- - name: "Полёт"- availability: true- other: не ограничено-- # table row- - title: "Обучение"- features:- - name: "Старт"- availability: true- other: Базовое-- - name: "Взлёт"- availability: true- other: Сотрудников-- - name: "Полёт"- availability: true- other: Сотрудников-- # table row- - title: "Автоматизация производства"- features:- - name: "Старт"- availability: false- other: -- - name: "Взлёт"- availability: true- other: Базовая-- - name: "Полёт"- availability: true- other: Любой уровень-- # table row- - title: "Управленческий учет финансов"- features:- - name: "Старт"- availability: false- other: -- - name: "Взлёт"- availability: false- other: -- - name: "Полёт"- availability: true- other: -- # table row- - title: "Личный кабинет для клиентов"- features:- - name: "Старт"- availability: false- other: -- - name: "Взлёт"- availability: false- other: -- - name: "Полёт"- availability: true- other: -- # table row- - title: "Индивидуальная автоматизация"- features:- - name: "Старт"- availability: false- other: -- - name: "Взлёт"- availability: false- other: -- - name: "Полёт"- availability: true- other: -- # table row- - title: "Индивидуальная разработка решений"- features:- - name: "Старт"- availability: false- other: -- - name: "Взлёт"- availability: false- other: -- - name: "Полёт"- availability: true- other: ---######################### CTA #####################-cta:- enable : true- title : "Запросите условия прямо сейчас"- content : "Свяжитесь с нами для поучения условий"- background_class: "bg-light"- button:- enable : true- label : "Связаться"- link : "contact_form/"--+######################### sticky mobile CTA #####################+sticky_cta:+ label: "Попробовать AI Советник"+ link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/?utm_source=archeon&utm_medium=site&utm_campaign=deployment" ---
+80 −0diff --git a/layouts/partials/b24/qwmaxc/block-a.html b/layouts/partials/b24/qwmaxc/block-a.htmlnew file mode 100644index 0000000..651b85f--- /dev/null+++ b/layouts/partials/b24/qwmaxc/block-a.html@@ -0,0 +1,80 @@+{{/* ============================================================================+ b24/qwmaxc/block-a.html — блоки: pains, mechanics, ui, week_plan.+ Контекст — элемент .Params.blocks[] (поле role задаёт тип).+ ============================================================================ */}}+{{ $b := . }}+{{ $alt := modBool $b.num 2 }}++<section class="b24qwc-sec{{ if $alt }} b24qwc-sec--alt{{ end }}" id="b24qwc-{{ $b.role }}">+ <div class="container">++ {{ if eq $b.role "ui" }}+ {{/* экраны приложения: шапка без картинки, иллюстрации внутри карточек */}}+ <div class="b24qwc-head row g-4 align-items-center">+ <div class="col-lg-10">+ <span class="b24qwc-sec__num">{{ printf "%02d" $b.num }}</span>+ <h2 class="b24qwc-h2">{{ $b.title }}</h2>+ {{ with $b.lead }}<p class="b24qwc-sec__lead">{{ . }}</p>{{ end }}+ </div>+ </div>+ <div class="b24qwc-screens">+ {{ range $b.screens }}+ <figure class="b24qwc-screen">+ <div class="b24qwc-screen__shot">+ {{ partial "b24/qwmaxc/img.html" (dict "Src" .image "Alt" .image_alt "Size" "1100x" "Class" "b24qwc-img--ui") }}+ </div>+ <figcaption>+ <h3 class="b24qwc-screen__title">{{ .title }}</h3>+ <p class="b24qwc-screen__text">{{ .text }}</p>+ </figcaption>+ </figure>+ {{ end }}+ </div>++ {{ else }}++ {{ partial "b24/qwmaxc/head.html" (dict+ "num" $b.num "title" $b.title "lead" $b.lead+ "image" $b.image "alt" $b.image_alt) }}++ {{ if eq $b.role "pains" }}+ <div class="b24qwc-grid b24qwc-grid--pains">+ {{ range $i, $it := $b.items }}+ <article class="b24qwc-card b24qwc-card--pain">+ <span class="b24qwc-card__num" aria-hidden="true">{{ add $i 1 }}</span>+ <h3 class="b24qwc-card__title">{{ $it.title }}</h3>+ <p class="b24qwc-card__text">{{ $it.text }}</p>+ </article>+ {{ end }}+ </div>++ {{ else if eq $b.role "mechanics" }}+ <div class="b24qwc-grid b24qwc-grid--2">+ {{ range $b.items }}+ <article class="b24qwc-card b24qwc-card--mech">+ <span class="b24qwc-badge">внутри карточки, без разработки</span>+ <h3 class="b24qwc-card__title">{{ .title }}</h3>+ <p class="b24qwc-card__text">{{ .text }}</p>+ </article>+ {{ end }}+ </div>++ {{ else if eq $b.role "week_plan" }}+ <ol class="b24qwc-steps list-unstyled">+ {{ range $b.steps }}+ <li class="b24qwc-step">+ <span class="b24qwc-step__day">{{ .day }}</span>+ <h3 class="b24qwc-step__title">{{ .title }}</h3>+ <p class="b24qwc-step__text">{{ .text }}</p>+ <p class="b24qwc-step__artefact"><span>артефакт:</span> {{ .artefact }}</p>+ </li>+ {{ end }}+ </ol>+ {{ end }}++ {{ end }}++ {{ with $b.note }}<div class="b24qwc-note"><p>{{ . | markdownify }}</p></div>{{ end }}++ </div>+</section>
+124 −0diff --git a/layouts/partials/b24/qwmaxc/block-b.html b/layouts/partials/b24/qwmaxc/block-b.htmlnew file mode 100644index 0000000..c7edb1c--- /dev/null+++ b/layouts/partials/b24/qwmaxc/block-b.html@@ -0,0 +1,124 @@+{{/* ============================================================================+ b24/qwmaxc/block-b.html — блоки: price (пакеты+addon), tco (первый год),+ licenses (таблица прайсов вендоров).+ Контекст — элемент .Params.blocks[] (поле role задаёт тип).+ Ширины колонок таблиц — на <th>: минификатор Hugo выбрасывает colgroup/col.+ ============================================================================ */}}+{{ $b := . }}+{{ $alt := modBool $b.num 2 }}++<section class="b24qwc-sec{{ if $alt }} b24qwc-sec--alt{{ end }}" id="b24qwc-{{ $b.role }}">+ <div class="container">++ {{ partial "b24/qwmaxc/head.html" (dict "num" $b.num "title" $b.title+ "lead" $b.lead "image" $b.image "alt" $b.image_alt) }}++ {{ if eq $b.role "price" }}+ {{ with $b.intro }}+ <ul class="b24qwc-rules list-unstyled">+ {{ range . }}+ <li class="b24qwc-rule"><p>{{ .text | markdownify }}</p></li>+ {{ end }}+ </ul>+ {{ end }}++ <div class="b24qwc-plans">+ {{ range $b.packages }}+ <article class="b24qwc-plan{{ if .recommended }} b24qwc-plan--rec{{ end }}">+ {{ if .recommended }}<span class="b24qwc-plan__badge">выбирают чаще всего</span>{{ end }}+ <h3 class="b24qwc-plan__title">{{ .title }}</h3>+ <p class="b24qwc-plan__price">{{ .price }}</p>+ <p class="b24qwc-plan__term">{{ .term }}</p>+ <p class="b24qwc-plan__for">{{ .for_whom }}</p>+ <ul class="b24qwc-plan__list">+ {{ range .includes }}<li>{{ . }}</li>{{ end }}+ </ul>+ <a class="btn btn-outline-primary b24qwc-plan__btn" href="{{ .button.link }}"{{ if hasPrefix .button.link "http" }} target="_blank" rel="noopener"{{ end }}>{{ .button.label }}</a>+ </article>+ {{ end }}+ </div>++ {{ with $b.addon }}+ <div class="b24qwc-addon">+ <div class="b24qwc-addon__left">+ <h3 class="b24qwc-addon__title">{{ .title }}</h3>+ <p class="b24qwc-addon__sub">{{ .subtitle }}</p>+ <p class="b24qwc-addon__text">{{ .text }}</p>+ </div>+ <div class="b24qwc-addon__right">+ <p class="b24qwc-addon__price">{{ .price }}</p>+ <a class="btn btn-outline-primary contact_form" href="{{ .button.link | relLangURL }}">{{ .button.label }}</a>+ </div>+ </div>+ {{ end }}++ {{ else if eq $b.role "tco" }}+ <div class="row g-4 g-lg-5 align-items-start">+ <div class="col-lg-7">+ {{ with $b.example }}<p class="b24qwc-tco__example"><span>пример:</span> {{ . }}</p>{{ end }}+ <div class="b24qwc-tablewrap">+ <table class="b24qwc-table b24qwc-table--tco">+ <caption class="b24qwc-table__cap">Первый год: работы разово, подписки помесячно, суммы за 12 месяцев</caption>+ <thead>+ <tr>+ <th scope="col" style="width:44%">Строка</th>+ <th scope="col" style="width:36%">Расчёт</th>+ <th scope="col" style="width:20%">За год</th>+ </tr>+ </thead>+ <tbody>+ {{ range $b.rows }}+ <tr>+ <td data-label="Строка">{{ .item }}</td>+ <td data-label="Расчёт">{{ .calc }}</td>+ <td data-label="За год" class="b24qwc-table--num">{{ .year }}</td>+ </tr>+ {{ end }}+ {{ with $b.total }}+ <tr class="b24qwc-table--total">+ <td data-label="Итого">{{ .label }}</td>+ <td data-label="Расчёт">{{ .next }}</td>+ <td data-label="За год" class="b24qwc-table--num">{{ .sum }}</td>+ </tr>+ {{ end }}+ </tbody>+ </table>+ </div>+ </div>+ <div class="col-lg-5">+ <div class="b24qwc-tco__card">+ <p class="b24qwc-tco__sum-label">{{ $b.total.label }} под ключ</p>+ <p class="b24qwc-tco__sum">{{ $b.total.sum }}</p>+ {{ with $b.total.card_note }}<p class="b24qwc-tco__next">{{ . }}</p>{{ end }}+ </div>+ </div>+ </div>++ {{ else if eq $b.role "licenses" }}+ <div class="b24qwc-tablewrap">+ <table class="b24qwc-table">+ <caption class="b24qwc-table__cap">{{ with $b.table.caption }}{{ . }}{{ end }}</caption>+ <thead>+ <tr>+ {{ range $i, $h := $b.table.headers }}+ <th scope="col"{{ if eq $i 0 }} style="width:16%"{{ else if eq $i 1 }} style="width:24%"{{ else if eq $i 2 }} style="width:24%"{{ else }} style="width:36%"{{ end }}>{{ $h }}</th>+ {{ end }}+ </tr>+ </thead>+ <tbody>+ {{ range $b.table.rows }}+ <tr>+ {{ range $i, $cell := . }}+ <td data-label="{{ index $b.table.headers $i }}">{{ $cell }}</td>+ {{ end }}+ </tr>+ {{ end }}+ </tbody>+ </table>+ </div>+ {{ end }}++ {{ with $b.note }}<div class="b24qwc-note"><p>{{ . | markdownify }}</p></div>{{ end }}++ </div>+</section>
+137 −0diff --git a/layouts/partials/b24/qwmaxc/block-c.html b/layouts/partials/b24/qwmaxc/block-c.htmlnew file mode 100644index 0000000..c945955--- /dev/null+++ b/layouts/partials/b24/qwmaxc/block-c.html@@ -0,0 +1,137 @@+{{/* ============================================================================+ b24/qwmaxc/block-c.html — блоки: proof, offer, objections, final.+ Контекст — элемент .Params.blocks[] (поле role задаёт тип).+ Кнопка формы — <button type="submit"> внутри <form>: <a class="btn"> внутри+ формы теряет введённые поля (проверенный питфолл).+ ============================================================================ */}}+{{ $b := . }}+{{ $alt := modBool $b.num 2 }}++{{ if eq $b.role "final" }}+<section class="b24qwc-sec b24qwc-final" id="b24qwc-final">+ <div class="container">+ <div class="b24qwc-final__box row g-4 align-items-center">+ <div class="col-lg-8">+ <span class="b24qwc-sec__num">{{ printf "%02d" $b.num }}</span>+ <h2 class="b24qwc-h2">{{ $b.title }}</h2>+ {{ range $b.items }}<p class="b24qwc-final__text">{{ . }}</p>{{ end }}+ <div class="b24qwc-cta">+ {{ range $b.buttons }}+ {{ $href := .link }}{{ if not (hasPrefix .link "http") }}{{ $href = .link | relLangURL }}{{ end }}+ <a class="btn {{ if eq .style "outline" }}btn-outline-primary contact_form{{ else }}btn-primary{{ end }}"+ href="{{ $href }}"{{ if hasPrefix .link "http" }} target="_blank" rel="noopener"{{ end }}>{{ .label }}</a>+ {{ end }}+ </div>+ {{ with $b.note }}<div class="b24qwc-note b24qwc-note--final"><p>{{ . | markdownify }}</p></div>{{ end }}+ </div>+ <div class="col-lg-4">+ <figure class="b24qwc-figure">+ {{ partial "b24/qwmaxc/img.html" (dict "Src" $b.image "Alt" $b.image_alt "Size" "480x") }}+ </figure>+ </div>+ </div>+ </div>+</section>++{{ else }}++<section class="b24qwc-sec{{ if $alt }} b24qwc-sec--alt{{ end }}" id="b24qwc-{{ $b.role }}">+ <div class="container">++ {{ partial "b24/qwmaxc/head.html" (dict "num" $b.num "title" $b.title+ "lead" $b.lead "image" $b.image "alt" $b.image_alt) }}++ {{ if eq $b.role "proof" }}+ <div class="b24qwc-grid b24qwc-grid--3">+ {{ range $b.items }}+ <article class="b24qwc-card b24qwc-card--proof">+ <p class="b24qwc-card__text">{{ .fact }}</p>+ <p class="b24qwc-card__source"><span>источник:</span> {{ .source }}</p>+ </article>+ {{ end }}+ </div>++ {{ else if eq $b.role "objections" }}+ <div class="b24qwc-accs">+ {{ range $b.items }}+ <details class="b24qwc-acc">+ <summary>{{ .q }}</summary>+ <div class="b24qwc-acc__body"><p>{{ .a }}</p></div>+ </details>+ {{ end }}+ </div>++ {{ else if eq $b.role "offer" }}+ <div class="row g-4 g-lg-5">+ <div class="col-lg-6">+ <div class="b24qwc-grid b24qwc-grid--2 b24qwc-grid--gap-s">+ {{ range $b.items }}+ <article class="b24qwc-card b24qwc-card--small">+ <h3 class="b24qwc-card__title">{{ .title }}</h3>+ <p class="b24qwc-card__text">{{ .text }}</p>+ </article>+ {{ end }}+ </div>+ </div>+ <div class="col-lg-6">+ {{ with $b.form }}+ <form class="b24qwc-form" id="b24qwc-offer-form" action="{{ .action | relLangURL }}" method="get">+ <h3 class="b24qwc-form__title">{{ .title }}</h3>+ <div class="b24qwc-form__field">+ <label class="b24qwc-form__label" for="b24qwc-name">{{ .name_label }}</label>+ <input class="b24qwc-form__input" id="b24qwc-name" type="text" name="name"+ placeholder="{{ .name_placeholder }}" autocomplete="name" required>+ </div>+ <div class="b24qwc-form__field">+ <label class="b24qwc-form__label" for="b24qwc-contact">{{ .contact_label }}</label>+ <input class="b24qwc-form__input" id="b24qwc-contact" type="text" name="contact"+ placeholder="{{ .contact_placeholder }}" autocomplete="email" required>+ </div>+ <button class="btn btn-primary b24qwc-form__submit" type="submit">{{ .cta }}</button>+ <p class="b24qwc-form__note">{{ .note }}</p>+ </form>+ {{/* Отправка — в штатную CRM-форму Битрикс24 (#btn_bx_form, partial form.html темы):+ GET на /contact_form/ терял введённые значения — inline-форма Б24 не читает URL-параметры.+ Перехватываем submit, открываем штатную форму и переносим имя/контакт; без JS — fallback на action. */}}+ <script>+ (function(){+ var f = document.getElementById('b24qwc-offer-form');+ if (!f) return;+ f.addEventListener('submit', function(e){+ var nm = f.querySelector('input[name=name]'), ct = f.querySelector('input[name=contact]');+ if (!nm.value.trim() || !ct.value.trim()) return;+ var trigger = document.getElementById('btn_bx_form');+ if (!trigger) return;+ e.preventDefault();+ trigger.click();+ var tries = 0;+ var t = setInterval(function(){+ tries++;+ var nf = document.querySelector('.b24-form-field-name input');+ var pf = document.querySelector('.b24-form-field-phone input');+ if (nf && !nf.value) { nf.value = nm.value.trim(); nf.dispatchEvent(new Event('input',{bubbles:true})); }+ if (pf && !pf.value) {+ var v = ct.value.trim();+ if (/^[+0-9()\-\s]{6,}$/.test(v)) { pf.value = v; pf.dispatchEvent(new Event('input',{bubbles:true})); }+ }+ if ((nf && pf) || tries > 25) clearInterval(t);+ }, 150);+ });+ })();+ </script>+ {{ end }}+ {{ with $b.friction }}+ <p class="b24qwc-friction">{{ .text }}+ <a class="b24qwc-friction__link" href="{{ .link_url }}" target="_blank" rel="noopener">{{ .link_label }}</a>+ </p>+ {{ end }}+ </div>+ </div>+ {{ end }}++ {{ with $b.note }}<div class="b24qwc-note"><p>{{ . | markdownify }}</p></div>{{ end }}++ </div>+</section>++{{ end }}
+17 −0diff --git a/layouts/partials/b24/qwmaxc/head.html b/layouts/partials/b24/qwmaxc/head.htmlnew file mode 100644index 0000000..fc598aa--- /dev/null+++ b/layouts/partials/b24/qwmaxc/head.html@@ -0,0 +1,17 @@+{{/* b24/qwmaxc/head.html — шапка секции: номер, H2, лид, необязательная иллюстрация.+ dict: num, title, lead, image, alt */}}+{{ $d := . }}+<div class="b24qwc-head row g-4 align-items-center">+ <div class="{{ if $d.image }}col-lg-8{{ else }}col-lg-10{{ end }}">+ <span class="b24qwc-sec__num">{{ printf "%02d" $d.num }}</span>+ <h2 class="b24qwc-h2">{{ $d.title }}</h2>+ {{ with $d.lead }}<p class="b24qwc-sec__lead">{{ . }}</p>{{ end }}+ </div>+ {{ with $d.image }}+ <div class="col-lg-4">+ <figure class="b24qwc-figure">+ {{ partial "b24/qwmaxc/img.html" (dict "Src" . "Alt" $d.alt "Size" "560x") }}+ </figure>+ </div>+ {{ end }}+</div>
+39 −0diff --git a/layouts/partials/b24/qwmaxc/hero.html b/layouts/partials/b24/qwmaxc/hero.htmlnew file mode 100644index 0000000..0ad9b4e--- /dev/null+++ b/layouts/partials/b24/qwmaxc/hero.html@@ -0,0 +1,39 @@+{{/* b24/qwmaxc/hero.html — первый экран: продукт, а не услуга.+ Данные: .Params.hero. Кнопки — штатные .btn-primary / .btn-outline-primary.+ Цена и срок — мелкой строкой до сгиба (требование брифа). */}}+{{ $d := . }}+<section class="b24qwc-sec b24qwc-hero" id="b24qwc-hero">+ <div class="container">+ <div class="row g-4 g-lg-5 align-items-center">+ <div class="col-lg-6">+ {{ with $d.kicker }}<p class="b24qwc-kicker">{{ . }}</p>{{ end }}+ <h1 class="b24qwc-h1">{{ $d.title }}</h1>+ {{ with $d.lead }}<p class="b24qwc-hero__lead">{{ . }}</p>{{ end }}+ <div class="b24qwc-cta">+ {{ range $d.buttons }}+ {{ $href := .link }}{{ if not (hasPrefix .link "http") }}{{ $href = .link | relLangURL }}{{ end }}+ <a class="btn {{ if eq .style "outline" }}btn-outline-primary contact_form{{ else }}btn-primary{{ end }}"+ href="{{ $href }}"{{ if hasPrefix .link "http" }} target="_blank" rel="noopener"{{ end }}>{{ .label }}</a>+ {{ end }}+ </div>+ {{ with $d.price_note }}<p class="b24qwc-price-note">{{ . | markdownify }}</p>{{ end }}+ </div>+ <div class="col-lg-6">+ <figure class="b24qwc-figure b24qwc-figure--hero">+ {{ partial "b24/qwmaxc/img.html" (dict "Src" $d.image "Alt" $d.image_alt "Size" "760x" "Loading" "eager") }}+ </figure>+ </div>+ </div>++ {{ with $d.facts }}+ <ul class="b24qwc-facts list-unstyled">+ {{ range . }}+ <li class="b24qwc-fact">+ <span class="b24qwc-fact__title">{{ .title }}</span>+ <span class="b24qwc-fact__text">{{ .text }}</span>+ </li>+ {{ end }}+ </ul>+ {{ end }}+ </div>+</section>
+22 −0diff --git a/layouts/partials/b24/qwmaxc/img.html b/layouts/partials/b24/qwmaxc/img.htmlnew file mode 100644index 0000000..8ee0c6f--- /dev/null+++ b/layouts/partials/b24/qwmaxc/img.html@@ -0,0 +1,22 @@+{{/* b24/qwmaxc/img.html — иллюстрация в двух версиях: светлая и тёмная.+ Тёмная тема: <slot>-dark.png; скрытый вариант display:none + loading=lazy.+ dict: Src, Alt, Size, Class, Loading, Wide (широкий бокс 16:9) */}}+{{ $d := . }}+{{ $src := $d.Src }}+{{ $size := $d.Size | default "620x" }}+{{ $loading := $d.Loading | default "lazy" }}+{{ $dark := replaceRE `\.(png|jpe?g|webp)$` "-dark.$1" $src }}++{{ with resources.Get $src }}+ {{ $base := "b24qwc-img" }}+ {{ with $d.Class }}{{ $base = printf "%s %s" $base . }}{{ end }}++ {{ partial "image" (dict "Src" $src "Alt" $d.Alt "Size" $size+ "Class" (printf "%s b24qwc-img--light" $base) "Loading" $loading) }}++ {{ if resources.Get $dark }}+ {{/* alt дублируем: в тёмной теме светлый вариант скрыт display:none */}}+ {{ partial "image" (dict "Src" $dark "Alt" $d.Alt "Size" $size+ "Class" (printf "%s b24qwc-img--dark" $base) "Loading" $loading) }}+ {{ end }}+{{ end }}
+40 −0diff --git a/layouts/partials/b24/qwmaxc/page.html b/layouts/partials/b24/qwmaxc/page.htmlnew file mode 100644index 0000000..c6e93a9--- /dev/null+++ b/layouts/partials/b24/qwmaxc/page.html@@ -0,0 +1,40 @@+{{/* ============================================================================+ b24/qwmaxc/page.html — страница «Внедрение Битрикс24: AI-отдел продаж»+ (вариант qwmaxc, вход через продукт AI Советник).+ Вызывается из layouts/service/single.html только когда .Params.b24_variant == "qwmaxc".++ Порядок секций задаётся данными .Params.blocks[] (поле role):+ pains, mechanics, ui, week_plan → block-a.html+ price, tco, licenses → block-b.html+ proof, offer, objections, final → block-c.html++ Класс-скоуп — .b24-qwmaxc. Все стили — assets/scss/_b24qwmaxc.scss.+ ============================================================================ */}}+{{ $d := . }}+<div class="b24-qwmaxc">++ {{ with .Params.hero }}+ {{ partial "b24/qwmaxc/hero.html" . }}+ {{ end }}++ {{ range .Params.blocks }}+ {{ $role := .role }}+ {{ if in (slice "pains" "mechanics" "ui" "week_plan") $role }}+ {{ partial "b24/qwmaxc/block-a.html" . }}+ {{ else if in (slice "price" "tco" "licenses") $role }}+ {{ partial "b24/qwmaxc/block-b.html" . }}+ {{ else }}+ {{ partial "b24/qwmaxc/block-c.html" . }}+ {{ end }}+ {{ end }}++ {{ with .Params.sticky_cta }}+ <div class="b24qwc-sticky">+ <a class="btn btn-primary" href="{{ .link }}" rel="noopener"{{ if hasPrefix .link "http" }} target="_blank"{{ end }}>{{ .label }}</a>+ </div>+ {{ end }}++</div>++{{/* логотипы клиентов — вне скоупа варианта: содержимое сайта не должно теряться */}}+{{ partial "partners.html" }}
+9 −0diff --git a/layouts/service/single.html b/layouts/service/single.htmlindex 79f1a90..eaebf90 100644--- a/layouts/service/single.html+++ b/layouts/service/single.html@@ -1,5 +1,12 @@ {{define "main"}} +{{/* Вариант qwmaxc: страница «Внедрение Битрикс24» целиком собирается своими+ partials (layouts/partials/b24/qwmaxc/…), gated по .Params.b24_variant == "qwmaxc".+ Для всех прочих service-страниц разметка ниже остаётся оригинальной, без изменений. */}}+{{ if eq .Params.b24_variant "qwmaxc" }}+{{ partial "b24/qwmaxc/page.html" . }}+{{ else }}+ {{/* Вариант V1 «Тихий апгрейд»: точечные ветки gated по .Params.aiad_v1 (только ai_adoption). Для остальных service-страниц разметка = оригинал темы. Стили V1 — в конце, тоже под $v1. */}} {{ $v1 := .Params.aiad_v1 }}@@ -1008,4 +1015,6 @@ <!-- ===== Вариант B: клавиатурная навигация табов (roving tabindex, стрелки/Home/End) ===== --> <script src="{{ $tabs.RelPermalink }}" integrity="{{ $tabs.Data.Integrity }}" defer></script> {{ end }}++{{ end }}{{/* /if qwmaxc */}} {{end}}