opus55c — Opus 5.5Сравнение с master 3d131f2 · ветка design/conv-opus55 · 8d74899 fix(page): opus55c — замечания ревью (font-size ≥13px, lic a11y, build.log)
.gitignore | 1 + assets/scss/_b24opus55c.scss | 286 +++++++++++++++++ assets/scss/custom.scss | 2 + content/russian/service/deployment/index.md | 460 +++++++++++---------------- layouts/partials/b24/opus55c/final.html | 22 ++ layouts/partials/b24/opus55c/hero.html | 24 ++ layouts/partials/b24/opus55c/magnet.html | 27 ++ layouts/partials/b24/opus55c/modules.html | 25 ++ layouts/partials/b24/opus55c/objections.html | 15 + layouts/partials/b24/opus55c/page.html | 14 + layouts/partials/b24/opus55c/pains.html | 18 ++ layouts/partials/b24/opus55c/pic.html | 9 + layouts/partials/b24/opus55c/pricing.html | 36 +++ layouts/partials/b24/opus55c/proof.html | 14 + layouts/partials/b24/opus55c/screens.html | 46 +++ layouts/partials/b24/opus55c/week.html | 25 ++ layouts/service/single.html | 4 + 17 files changed, 761 insertions(+), 267 deletions(-)
+1 −0diff --git a/.gitignore b/.gitignoreindex cd39788..163b54d 100644--- a/.gitignore+++ b/.gitignore@@ -12,3 +12,4 @@ tmp/ .playwright-mcp .mavis/ .hugo_build.lock+.build.log
+286 −0diff --git a/assets/scss/_b24opus55c.scss b/assets/scss/_b24opus55c.scssnew file mode 100644index 0000000..2a0b06d--- /dev/null+++ b/assets/scss/_b24opus55c.scss@@ -0,0 +1,286 @@+/* ==========================================================================+ /service/deployment/ — вариант opus55c «AI-отдел продаж через AI Советник».+ Все селекторы под .b24-opus55c; тёмная тема — body.dark .b24-opus55c.+ Палитра — из ai_adoption (_aiad.scss): #066e6e, #0a7d4f, #edf6f5, #dbe9e6.+ ========================================================================== */+.b24-opus55c {+ --b24o-ink: #222;+ --b24o-text: #4a5552;+ --b24o-muted: #56615e;+ --b24o-accent: #066e6e;+ --b24o-green: #0a7d4f;+ --b24o-surface: #fff;+ --b24o-soft: #edf6f5;+ --b24o-line: #dbe9e6;+ --b24o-shadow: 0 1px 6px rgba(6, 110, 110, .08);+ color: var(--b24o-text);++ .section { padding-top: 4.5rem; padding-bottom: 4.5rem; }+ .bg-light { background: var(--b24o-soft) !important; }++ /* ---- типографика ---- */+ .b24o-eyebrow {+ font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;+ color: var(--b24o-accent); margin-bottom: .75rem;+ }+ .b24o-h1 { font-size: 3rem; line-height: 1.12; font-weight: 700; color: var(--b24o-ink); margin-bottom: 1.1rem; }+ .b24o-h2 { font-size: 2rem; line-height: 1.2; font-weight: 700; color: var(--b24o-ink); margin-bottom: .9rem; }+ .b24o-h3 { font-size: 1.15rem; line-height: 1.3; font-weight: 700; color: var(--b24o-ink); margin-bottom: .75rem; }+ .b24o-lead { font-size: 1.125rem; line-height: 1.6; color: var(--b24o-text); max-width: 60ch; margin-bottom: 1.5rem; }+ .b24o-sublead { font-size: 1.05rem; line-height: 1.6; color: var(--b24o-text); max-width: 64ch; margin-bottom: 1.5rem; }+ .b24o-head { text-align: center; margin-bottom: 2.25rem; }+ .b24o-head .b24o-sublead { margin-left: auto; margin-right: auto; }+ .b24o-center { text-align: center; margin: 2rem 0 0; }+ p, li { font-size: 1rem; line-height: 1.6; }++ /* ---- кнопки: штатные .btn, тёмный зелёный ради AA (как на ai_adoption) ---- */+ .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }+ .btn-primary { background: var(--b24o-green); box-shadow: 0 4px 15px rgba(10, 125, 79, .25); }+ .btn-primary:hover, .btn-primary:focus { background: #08663f; }+ .btn-outline-primary { color: var(--b24o-accent); border-color: var(--b24o-accent); }+ .btn-outline-primary:hover { background: var(--b24o-accent); color: #fff; }+ .b24o-textlink {+ color: var(--b24o-accent); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;+ display: inline-flex; align-items: center; min-height: 44px; gap: .3rem;+ }++ /* ---- иллюстрации: светлая/тёмная пара ---- */+ .b24o-pic { display: block; }+ .b24o-pic img { display: block; width: 100%; height: auto; border-radius: 16px; }+ .b24o-pic__dark { display: none !important; }+ .b24o-pic--card img { border: 1px solid var(--b24o-line); box-shadow: var(--b24o-shadow); background: #fff; }+ .b24o-pic--sq img { border-radius: 12px; }++ /* ---- hero ---- */+ .b24o-hero { padding-top: 3rem; padding-bottom: 3rem; }+ .b24o-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-bottom: 1.1rem; }+ .b24o-btn-main { padding-left: 1.75rem; padding-right: 1.75rem; font-weight: 700; }+ .b24o-price-line {+ display: flex; gap: .55rem; align-items: baseline; font-size: .95rem; color: var(--b24o-text);+ max-width: 58ch; margin-bottom: 1.25rem; padding: .6rem .9rem; border-radius: 10px;+ background: var(--b24o-surface); border: 1px solid var(--b24o-line);+ }+ .b24o-price-line p { margin: 0; font-size: inherit; }+ .b24o-price-line i { color: var(--b24o-accent); }+ .b24o-price-line strong { color: var(--b24o-ink); }+ .b24o-proofline { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; }+ .b24o-proofline li { font-size: .9rem; color: var(--b24o-muted); }+ .b24o-proofline strong { color: var(--b24o-ink); font-size: 1.05rem; }+ .b24o-hero__media { margin-top: 2rem; }++ /* ---- боли ---- */+ .b24o-pains__list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1.5rem; }+ .b24o-pains__list li { display: flex; gap: .7rem; align-items: flex-start; color: var(--b24o-text); }+ .b24o-pains__list i {+ flex: 0 0 1.6rem; height: 1.6rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;+ font-size: .8rem; background: #fde8ea; color: #b42335; margin-top: .1rem;+ }++ /* ---- карточки модулей ---- */+ .b24o-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }+ .b24o-card {+ background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px;+ padding: 1.4rem 1.4rem 1.2rem; box-shadow: var(--b24o-shadow);+ }+ .b24o-card p { margin: 0; color: var(--b24o-text); }+ .b24o-card__icon {+ width: 2.75rem; height: 2.75rem; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;+ background: var(--b24o-soft); color: var(--b24o-accent); font-size: 1.15rem; margin-bottom: .9rem;+ }++ /* ---- экраны ---- */+ .b24o-screens__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 1.5rem; align-items: start; }+ .b24o-screens__side { display: grid; gap: 1.5rem; }+ .b24o-mock {+ margin: 0; background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px;+ box-shadow: var(--b24o-shadow); overflow: hidden;+ }+ .b24o-mock figcaption {+ font-size: .9rem; font-weight: 600; color: var(--b24o-accent); padding: .7rem 1.1rem;+ border-top: 1px solid var(--b24o-line); background: var(--b24o-soft);+ }+ .b24o-mock__bar {+ display: flex; align-items: center; gap: .35rem; padding: .55rem .9rem; background: #f4f7f7;+ border-bottom: 1px solid var(--b24o-line);+ }+ .b24o-mock__bar span { width: .6rem; height: .6rem; border-radius: 50%; background: #c9d6d3; }+ .b24o-mock__bar em { font-style: normal; font-size: .85rem; color: var(--b24o-muted); margin-left: .5rem; }+ .b24o-mock__body { padding: 1rem 1.1rem .4rem; }+ .b24o-mock__sect { font-size: .8125rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--b24o-accent); margin-bottom: .5rem; }+ .b24o-mock__note { font-size: .85rem; color: var(--b24o-muted); margin: .6rem 0 .5rem; }+ .b24o-fields { margin: 0; }+ .b24o-fields__row { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--b24o-line); }+ .b24o-fields dt { font-weight: 400; font-size: .95rem; color: var(--b24o-text); }+ .b24o-fields dd { margin: 0; font-weight: 600; font-size: .95rem; color: var(--b24o-ink); text-align: right; }+ .b24o-fields dd.is-ok { color: var(--b24o-green); }+ .b24o-fields dd.is-warn { color: #a3470b; }+ .b24o-tasks { list-style: none; margin: 0; padding: .4rem 1.1rem; }+ .b24o-tasks li { display: flex; justify-content: space-between; gap: 1rem; padding: .55rem 0; border-bottom: 1px dashed var(--b24o-line); }+ .b24o-tasks li:last-child { border-bottom: 0; }+ .b24o-tasks span { font-weight: 600; color: var(--b24o-ink); font-size: .95rem; }+ .b24o-tasks small { font-size: .85rem; color: var(--b24o-muted); text-align: right; }+ .b24o-sup { display: grid; grid-template-columns: 150px 1fr; gap: 1rem; align-items: center; padding: 1rem 1.1rem; }++ /* ---- галочки ---- */+ .b24o-checks { list-style: none; padding: 0; margin: 0; }+ .b24o-checks li { position: relative; padding-left: 1.6rem; margin-bottom: .5rem; color: var(--b24o-text); }+ .b24o-checks li::before {+ content: "\f00c"; font-family: "Font Awesome 6 Free", "Font Awesome 5 Free"; font-weight: 900;+ position: absolute; left: 0; top: .05rem; color: var(--b24o-green); font-size: .85rem;+ }+}+/* opus55c — часть 2: неделя, цены, доказательства, форма, FAQ, финал, адаптив, dark */+.b24-opus55c {+ /* ---- неделя ---- */+ .b24o-days { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; counter-reset: none; }+ .b24o-day {+ position: relative; background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px;+ padding: 1.2rem 1.1rem 1.1rem; box-shadow: var(--b24o-shadow);+ }+ .b24o-day__num {+ width: 2.25rem; height: 2.25rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;+ background: var(--b24o-accent); color: #fff; font-weight: 700; margin-bottom: .6rem;+ }+ .b24o-day__d { font-size: .85rem; font-weight: 700; color: var(--b24o-accent); margin-bottom: .25rem; text-transform: uppercase; letter-spacing: .05em; }+ .b24o-day__a { font-size: .95rem; margin: 0; color: var(--b24o-text); }+ .b24o-day__lbl { font-weight: 700; color: var(--b24o-ink); }++ /* ---- цены ---- */+ .b24o-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; align-items: stretch; }+ .b24o-plan {+ background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px;+ padding: 1.5rem 1.4rem; box-shadow: var(--b24o-shadow); display: flex; flex-direction: column;+ }+ .b24o-plan.is-featured { border: 2px solid var(--b24o-green); box-shadow: 0 6px 22px rgba(10, 125, 79, .14); }+ .b24o-plan__sub { font-size: .85rem; font-weight: 700; color: var(--b24o-accent); text-transform: uppercase; letter-spacing: .05em; margin-bottom: .3rem; }+ .b24o-plan.is-featured .b24o-plan__sub { color: var(--b24o-green); }+ .b24o-plan__name { font-size: 1.3rem; font-weight: 700; color: var(--b24o-ink); margin-bottom: .6rem; }+ .b24o-plan__price { font-size: 2rem; font-weight: 700; color: var(--b24o-ink); line-height: 1.1; margin-bottom: .3rem; }+ .b24o-plan__term { font-size: .95rem; color: var(--b24o-muted); margin-bottom: 1rem; }+ .b24o-plan .b24o-checks { margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--b24o-line); }+ .b24o-lic__title { text-align: center; margin-top: 2.5rem; margin-bottom: 1rem; }+ .b24o-lic { border: 1px solid var(--b24o-line); border-radius: 12px; overflow: hidden; background: var(--b24o-surface); }+ .b24o-lic__row { display: grid; grid-template-columns: 1.1fr 1.3fr 2fr; gap: 1rem; padding: .85rem 1.2rem; border-top: 1px solid var(--b24o-line); }+ .b24o-lic__row--head { border-top: 0; background: var(--b24o-soft); }+ .b24o-lic__row--head span { font-size: .85rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--b24o-accent); }+ .b24o-lic__what { font-weight: 700; color: var(--b24o-ink); }+ .b24o-lic__price { font-weight: 600; color: var(--b24o-ink); }+ .b24o-lic__note { font-size: .95rem; color: var(--b24o-text); }++ /* ---- цифры ---- */+ .b24o-stats { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }+ .b24o-stats li {+ background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px; padding: 1.3rem 1rem;+ text-align: center; display: flex; flex-direction: column; gap: .35rem;+ }+ .b24o-stats strong { font-size: 2rem; line-height: 1.1; color: var(--b24o-accent); }+ .b24o-stats span { font-size: .95rem; color: var(--b24o-text); }++ /* ---- приманка ---- */+ .b24o-magnet__box {+ display: grid; grid-template-columns: 1.2fr 1fr; gap: 2.5rem; align-items: center;+ background: var(--b24o-soft); border: 1px solid var(--b24o-line); border-radius: 16px; padding: 2.5rem;+ }+ .b24o-magnet__form { display: grid; grid-template-columns: 1fr; gap: 1rem; }+ .b24o-pic--magnet { max-width: 220px; margin: 0 auto; }+ .b24o-form {+ background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px; padding: 1.4rem;+ display: flex; flex-direction: column; gap: .4rem; box-shadow: var(--b24o-shadow);+ }+ .b24o-form__title { font-weight: 700; color: var(--b24o-ink); font-size: 1.1rem; margin-bottom: .3rem; }+ .b24o-form label { font-size: .9rem; font-weight: 600; color: var(--b24o-ink); }+ .b24o-form .form-control { min-height: 48px; border: 1px solid #9fb3ae; border-radius: 8px; margin-bottom: .5rem; }+ .b24o-form .btn { margin-top: .3rem; width: 100%; }+ .b24o-form__privacy { font-size: .85rem; color: var(--b24o-muted); margin: .4rem 0 0; }++ /* ---- FAQ ---- */+ .b24o-faq__list { max-width: 860px; margin: 0 auto; display: grid; gap: .75rem; }+ .b24o-faq__item { background: var(--b24o-surface); border: 1px solid var(--b24o-line); border-radius: 12px; }+ .b24o-faq__item summary {+ list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem;+ padding: 1rem 1.3rem; min-height: 56px; font-weight: 700; font-size: 1.05rem; color: var(--b24o-ink);+ }+ .b24o-faq__item summary::-webkit-details-marker { display: none; }+ .b24o-faq__item summary i { color: var(--b24o-accent); transition: transform .2s; }+ .b24o-faq__item[open] summary i { transform: rotate(180deg); }+ .b24o-faq__item p { padding: 0 1.3rem 1.1rem; margin: 0; color: var(--b24o-text); max-width: 72ch; }++ /* ---- финал ---- */+ .b24o-final__box {+ display: grid; grid-template-columns: 1fr 260px; gap: 2rem; align-items: center;+ border: 2px solid var(--b24o-green); border-radius: 16px; padding: 2.25rem 2.5rem; background: var(--b24o-surface);+ }+ .b24o-final__box .b24o-hero__cta { margin-bottom: 0; }++ .b24o-sticky { display: none; }++ /* ---- адаптив ---- */+ @media (max-width: 1199px) {+ .b24o-days { grid-template-columns: repeat(3, 1fr); }+ .b24o-stats { grid-template-columns: repeat(3, 1fr); }+ }+ @media (max-width: 991px) {+ .section { padding-top: 3rem; padding-bottom: 3rem; }+ .b24o-h1 { font-size: 2.2rem; }+ .b24o-h2 { font-size: 1.6rem; }+ .b24o-grid3, .b24o-plans { grid-template-columns: 1fr 1fr; }+ .b24o-screens__grid, .b24o-magnet__box { grid-template-columns: 1fr; }+ .b24o-final__box { grid-template-columns: 1fr; }+ .b24o-final__media { display: none; }+ }+ @media (max-width: 767px) {+ .row.g-5 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }+ .b24o-h1 { font-size: 1.85rem; }+ .b24o-pains__list, .b24o-grid3, .b24o-plans, .b24o-days { grid-template-columns: 1fr; }+ .b24o-stats { grid-template-columns: 1fr 1fr; }+ .b24o-stats li:last-child { grid-column: 1 / -1; }+ .b24o-sup { grid-template-columns: 1fr; }+ .b24o-sup .b24o-pic { max-width: 200px; }+ .b24o-lic__row { grid-template-columns: 1fr; gap: .2rem; }+ .b24o-lic__row--head { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }+ .b24o-magnet__box, .b24o-final__box { padding: 1.4rem; }+ .b24o-hero__cta .btn { width: 100%; }+ .b24o-sticky {+ display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; padding: .6rem 1rem;+ background: rgba(255, 255, 255, .96); border-top: 1px solid var(--b24o-line); box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);+ }+ .b24o-sticky .btn { width: 100%; }+ padding-bottom: 4.5rem;+ }+}++/* ---- тёмная тема ---- */+body.dark .b24-opus55c {+ --b24o-ink: #f2f2f2;+ --b24o-text: #cbcbcb;+ --b24o-muted: #a9b7b2;+ --b24o-accent: #7fd8cf;+ --b24o-green: #2ed3a7;+ --b24o-surface: #1b2229;+ --b24o-soft: #182027;+ --b24o-line: #3a4750;+ --b24o-shadow: none;+ .bg-light { background: #182027 !important; }+ .b24o-pic__light { display: none !important; }+ .b24o-pic__dark { display: block !important; }+ .b24o-pic--card img { background: #1b2229; }+ .btn-primary { background: #0a7d4f; color: #fff !important; }+ .btn-primary:hover { background: #0c9460; }+ .btn-outline-primary { color: #7fd8cf; border-color: #7fd8cf; background: transparent; }+ .btn-outline-primary:hover { background: #7fd8cf; color: #0f2b22 !important; }+ .b24o-pains__list i { background: #3b1d22; color: #ff9aa5; }+ .b24o-mock__bar { background: #222c34; }+ .b24o-mock__bar span { background: #4b5c58; }+ .b24o-fields dd.is-warn { color: #ffb37a; }+ .b24o-day__num { background: #2ed3a7; color: #0f2b22; }+ .b24o-plan.is-featured { box-shadow: none; }+ .b24o-form .form-control { background: #141a20; color: #f2f2f2; border-color: #5b6b66; }+ .b24o-sticky { background: rgba(30, 38, 44, .97); }+ h1, h2, h3, strong { color: var(--b24o-ink); }+}++/* Блок клиентов темы (partners.html) на этой странице: подписи читаемы в обеих темах (как на ai_adoption) */+body:has(.b24-opus55c) .brand-caption { color: #5f6b68; }+body:has(.b24-opus55c) .b24-opus55c + .section p { color: #5f6b68; }+body.dark:has(.b24-opus55c) .brand-caption,+body.dark:has(.b24-opus55c) .b24-opus55c + .section p { color: #b9c7ca; }
+2 −0diff --git a/assets/scss/custom.scss b/assets/scss/custom.scssindex ffaf1dd..a4516a4 100644--- a/assets/scss/custom.scss+++ b/assets/scss/custom.scss@@ -1576,3 +1576,5 @@ h1.blog-post-title { } @import 'aiad';++@import 'b24opus55c';
+193 −267diff --git a/content/russian/service/deployment/index.md b/content/russian/service/deployment/index.mdindex 15a5606..d69a179 100644--- a/content/russian/service/deployment/index.md+++ b/content/russian/service/deployment/index.md@@ -1,271 +1,197 @@ --- date: "2021-07-14" 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: "шт"- button:- label: "Связаться"- link: "contact/"-- - title: "Полёт"- subtitle: "Для крупного, действующего бизнеса: внедрение от"- price: "₽149 000"- price_per: "шт"- button:- label: "Связаться"- link: "contact/"-- - # 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/"--+title: "AI-отдел продаж в Битрикс24 за неделю — внедрение с AI Советником"+description: "Готовый отдел продаж с ИИ внутри Битрикс24: распределение лидов, клиент 360°, контроль недозвонов, разбор переписки и звонков, дашборд РОПа. Работы от 42 000 ₽, запуск за неделю."+icon: "fas fa-users"+layout: "single"+b24_variant: "opus55c"++b24:+ hero:+ eyebrow: "AI Советник · Битрикс24 · Wappi"+ title: "Готовый AI-отдел продаж в Битрикс24 — за неделю"+ lead: "AI Советник распределяет лиды, ловит недозвоны, разбирает переписку и звонки и ставит задачи менеджеру. Мы включаем его в вашем портале и доводим портал до него: воронки, поля, мессенджеры, дашборд руководителя."+ cta: "Забрать буклет и расчёт"+ cta2: "Сначала цены"+ price: "Работы от **42 000 ₽**, запуск за 7 дней. Лицензии Битрикс24, AI Советника и Wappi — по ценам вендоров, без наценки."+ proof:+ - { num: "430", label: "установок AI Советника" }+ - { num: "5,0", label: "рейтинг, 19 отзывов" }+ - { num: "567", label: "проектов автоматизации" }+ image: "hero"+ alt: "Схема AI-отдела продаж: лиды из каналов попадают в Битрикс24, AI Советник распределяет их менеджерам"++ pains:+ title: "Портал куплен. Продаж больше не стало"+ lead: "Если узнаёте три пункта из шести — дело не в менеджерах, а в том, что CRM ничего не делает сама."+ image: "pains"+ alt: "Лиды теряются между мессенджерами, почтой и CRM"+ items:+ - "Лиды висят без ответственного по полдня — разбирает тот, «кто первый увидел»."+ - "Клиент пишет в WhatsApp, а в карточке сделки пусто: переписка живёт в телефоне менеджера."+ - "«Не дозвонился» — и сделка тихо умирает: повторный звонок никто не ставит."+ - "Один клиент — три дубля контакта и две сделки у разных менеджеров."+ - "Руководитель узнаёт о провале в конце месяца из отчёта, а не в тот же день."+ - "Воронка нарисована, но стадии двигают руками — или не двигают вовсе."++ modules:+ title: "Что делает AI Советник в вашем портале"+ lead: "Шесть модулей работают внутри Битрикс24 — без внешних скриптов и отдельного кабинета для менеджеров."+ image: "ai"+ alt: "AI Советник анализирует сделку и подсказывает менеджеру следующий шаг"+ items:+ - icon: "fa-solid fa-shuffle"+ title: "Распределение лидов"+ text: "AI выбирает направление по содержанию обращения и назначает ответственного: поровну, по нагрузке или по профилю. Дубли контактов склеиваются."+ - icon: "fa-solid fa-id-card"+ title: "Клиент 360°"+ text: "В карточке — блок «Клиент»: связанные сделки, все каналы связи и дата следующей коммуникации. Менеджер видит историю, а не только последнее сообщение."+ - icon: "fa-solid fa-phone-slash"+ title: "Контроль недозвонов"+ text: "После «нет связи» повторные попытки ставятся по графику: через 1, 5, 24 и 72 часа. График меняется под ваш профиль продаж."+ - icon: "fa-solid fa-magnifying-glass-chart"+ title: "Разбор переписки и звонков"+ text: "Чаты, расшифровки звонков, задачи и комментарии → вероятность договора, оценка коммуникации, нарушения сценария и рекомендация, что делать дальше."+ - icon: "fa-solid fa-gauge-high"+ title: "Дашборды и дайджест"+ text: "Менеджеру — список приоритетных задач. Руководителю — сделки «требуют внимания», конверсия по менеджерам и дайджест за день, неделю, месяц."+ - icon: "fa-solid fa-robot"+ title: "Чат-бот по базе знаний"+ text: "Отвечает клиенту в мессенджере, напоминает, зовёт менеджера, когда нужен человек. В режиме отладки вы пишете как клиент и видите, как бот рассуждает."++ screens:+ title: "Как это выглядит у менеджера и руководителя"+ lead: "Не отдельная программа: результат анализа ложится в поля карточки сделки, задачи — в список менеджера, сигналы — на дашборд руководителя."+ card:+ caption: "Карточка сделки: 11 полей UF_CRM_AIROP24_*"+ deal: "Сделка «Поставка оборудования» · стадия «Переговоры»"+ fields:+ - { k: "Вероятность договора", v: "высокая", tone: "ok" }+ - { k: "Качество коммуникации", v: "оценка AI", tone: "" }+ - { k: "Нарушения сценария", v: "не названа цена", tone: "warn" }+ - { k: "Требует внимания руководителя", v: "нет", tone: "" }+ - { k: "Среднее время ответа сотрудника", v: "по переписке", tone: "" }+ - { k: "Рекомендация AI", v: "отправить КП и назначить звонок", tone: "ok" }+ note: "Значения — пример заполнения; набор полей — реальный, из приложения."+ manager:+ caption: "Приоритетные задачи менеджера"+ rows:+ - { t: "Лиды в ожидании контакта", c: "лид → звонок" }+ - { t: "Сделки «требуют внимания»", c: "причина + вероятность" }+ - { t: "Чаты без ответа", c: "WhatsApp, Telegram, MAX" }+ - { t: "Просроченные коммуникации", c: "дней без контакта" }+ supervisor:+ image: "control"+ alt: "Дашборд руководителя: входящие лиды, конверсия, сделки, требующие внимания"+ caption: "Дашборд руководителя и дайджест"+ points:+ - "Входящие лиды и конверсия в качественные — по направлениям и менеджерам"+ - "Списки «Просрочка до 30» и «30–90 дней» с вероятностью и датой контакта"+ - "Дайджест по расписанию: ежедневный, еженедельный, ежемесячный"++ week:+ title: "Как проходит неделя"+ lead: "Каждый день заканчивается тем, что можно открыть и проверить в портале."+ image: "funnel"+ alt: "Воронка продаж в Битрикс24 со стадиями и роботами"+ days:+ - { d: "День 1", t: "Портал и лиды", a: "Формы, почта и телефония пишут в CRM; у каждого лида есть ответственный." }+ - { d: "Дни 2–3", t: "Воронки и роботы", a: "Стадии, обязательные поля, роботы задач — воронка двигается сама." }+ - { d: "День 4", t: "AI Советник", a: "Профили анализа, распределение, график недозвонов, дашборды РОПа." }+ - { d: "День 5", t: "Каналы и обучение", a: "Wappi: WhatsApp и Telegram в карточке сделки; запись обучения команды." }+ - { d: "Дни 6–7", t: "Обкатка", a: "Живые сделки идут через контур; правим сценарии по первым разборам." }++ pricing:+ title: "Цена — до разговора"+ lead: "Работы — наши. Лицензии — ниже отдельной таблицей, по ценам вендоров, без наценки: платите им напрямую."+ packages:+ - name: "Старт"+ sub: "контур на одном канале"+ price: "42 000 ₽"+ term: "5 рабочих дней"+ items:+ - "1 воронка продаж, поля и роботы"+ - "AI Советник: распределение лидов и недозвоны"+ - "1 канал Wappi в карточке сделки"+ - "Обучение команды, запись"+ - name: "AI-отдел продаж"+ sub: "рекомендуем"+ featured: true+ price: "98 000 ₽"+ term: "7 дней"+ items:+ - "До 3 воронок, дедупликация контактов"+ - "Все 6 модулей AI Советника, профили анализа"+ - "До 3 каналов: WhatsApp, Telegram, MAX"+ - "Дашборд РОПа и дайджест, 2 недели сопровождения"+ - name: "Полный контур"+ sub: "все каналы и коробка"+ price: "198 000 ₽"+ term: "от 2 недель"+ items:+ - "Всё из «AI-отдела продаж»"+ - "Коробочный Битрикс24 или перенос из другой CRM"+ - "Чат-бот по базе знаний, рассылки по кластерам"+ - "Интеграции под задачу, 1 месяц сопровождения"+ licenses_title: "Лицензии — отдельно, по ценам вендоров"+ licenses:+ - { what: "Битрикс24, облако", price: "2 490 / 6 990 / 13 990 ₽ в мес.", note: "Базовый / Стандартный / Профессиональный; −20 % при оплате за год" }+ - { what: "AI Советник", price: "0 / 990 / 4 990 / 9 990 / 24 990 ₽ в мес.", note: "Пульсар — в подписке Битрикс24; дальше Метеор, Луч, Туманность, Вселенная" }+ - { what: "Wappi «WhatsApp Полный»", price: "1 690 ₽ в мес. за профиль", note: "Единственный тариф Wappi с интеграцией Битрикс24; 5 дней пробно" }+ cta: "Посчитать под мою команду"++ proof:+ title: "Проверяемые цифры, а не обещания"+ lead: "Каждую можно открыть: карточка AI Советника в Маркетплейсе Битрикс24 и наш портал проектов."+ stats:+ - { num: "31", label: "приложение лаборатории в Маркетплейсе Битрикс24" }+ - { num: "430", label: "установок AI Советника" }+ - { num: "5,0", label: "рейтинг AI Советника, 19 отзывов" }+ - { num: "567", label: "реализованных проектов автоматизации с 2020 года" }+ - { num: "38 тыс. ₽", label: "медианный чек проекта" }+ reviews_link: "https://www.bitrix24.ru/apps/app/archeon.ai_rop/"+ reviews_label: "Отзывы в Маркетплейсе"+ image: "team"+ alt: "Команда лаборатории за работой над порталом клиента"++ magnet:+ title: "Буклет «AI-отдел продаж за 1 день»"+ lead: "12 страниц: что включить в AI Советнике в первый день и в каком порядке. Плюс 5 писем мини-курса и расчёт стоимости под вашу команду."+ image: "course"+ alt: "PDF-буклет и письма мини-курса"+ points:+ - "План дня: 10 шагов по часам, с результатом каждого шага"+ - "Распределение лидов, 360°, недозвоны, дашборды — пошагово"+ - "Чек-лист запуска на 18 пунктов"+ - "Тарифы AI Советника и Wappi — что выбрать"+ form_title: "Куда прислать буклет"+ name_label: "Имя"+ contact_label: "Телефон или e-mail"+ submit: "Забрать буклет и расчёт"+ privacy: "Пришлём буклет и письма; отписаться можно в любом письме."++ objections:+ title: "Что обычно спрашивают"+ items:+ - q: "Дорого"+ a: "Работы от 42 000 ₽ — медианный чек наших проектов 38 тыс. ₽. AI Советник начинается с Пульсара в подписке Битрикс24 и 990 ₽/мес; лицензии вы платите вендорам напрямую, без нашей наценки."+ - q: "Мы сами настроим"+ a: "Можно: буклет — ровно об этом, AI Советник ставится из Маркетплейса за 2 минуты. Мы нужны, когда воронка, поля и каналы требуют доводки, а у команды нет недели на эксперименты."+ - q: "У нас своя CRM"+ a: "AI Советник работает только внутри Битрикс24. Если вы на другой CRM — переносим данные в пакете «Полный контур»; если переезд не нужен, честно скажем об этом на аудите."+ - q: "Менеджеры не будут пользоваться"+ a: "Им не нужно ничего нового открывать: задачи, поля и подсказки появляются в привычной карточке сделки. Руководитель видит, кто не реагирует на сигналы, — в тот же день."+ - q: "Это точно ИИ, а не скрипт?"+ a: "Анализ читает переписку, расшифровки звонков, задачи и комментарии и пишет вывод своими словами: вероятность, нарушения сценария, рекомендацию. Скрипты — это график недозвонов и роботы стадий; ИИ — разбор и выбор направления."+ - q: "А если не получится за неделю?"+ a: "Неделя — для пакетов «Старт» и «AI-отдел продаж» на облачном портале. Каждый день сдаём результат, который видно в портале, — отставание заметно в тот же день, а не в конце. Коробка и перенос из другой CRM идут дольше, и это сразу написано в цене «Полного контура»."++ final:+ title: "Включим AI-отдел продаж в вашем портале"+ text: "Начните с буклета — или сразу с бесплатного аудита портала на 60 минут: покажем, что AI Советник сделает с вашими сделками, и назовём цену работ."+ cta: "Забрать буклет и расчёт"+ cta2: "Бесплатный аудит 60 минут"+ image: "support"+ alt: "Поддержка после запуска" ---
+22 −0diff --git a/layouts/partials/b24/opus55c/final.html b/layouts/partials/b24/opus55c/final.htmlnew file mode 100644index 0000000..b59e1ae--- /dev/null+++ b/layouts/partials/b24/opus55c/final.html@@ -0,0 +1,22 @@+{{ with .b24.final }}+<section class="section b24o-sec b24o-final" id="b24o-final">+ <div class="container">+ <div class="b24o-final__box">+ <div class="b24o-final__text">+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .text }}</p>+ <div class="b24o-hero__cta">+ <a href="#b24o-magnet" class="btn btn-primary b24o-btn-main">{{ .cta }}</a>+ <a href="{{ "contact/" | relLangURL }}" class="btn btn-outline-primary contact_form">{{ .cta2 }}</a>+ </div>+ </div>+ <div class="b24o-final__media">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 420 "class" "b24o-pic--sq") }}+ </div>+ </div>+ </div>+</section>+<div class="b24o-sticky" aria-hidden="false">+ <a href="#b24o-magnet" class="btn btn-primary b24o-btn-main">{{ .cta }}</a>+</div>+{{ end }}
+24 −0diff --git a/layouts/partials/b24/opus55c/hero.html b/layouts/partials/b24/opus55c/hero.htmlnew file mode 100644index 0000000..687be45--- /dev/null+++ b/layouts/partials/b24/opus55c/hero.html@@ -0,0 +1,24 @@+{{ with .b24.hero }}+<section class="section b24o-hero bg-light" id="b24o-top">+ <div class="container">+ <div class="row align-items-center">+ <div class="col-lg-6 b24o-hero__text">+ <p class="b24o-eyebrow">{{ .eyebrow }}</p>+ <h1 class="b24o-h1">{{ .title | safeHTML }}</h1>+ <p class="b24o-lead">{{ .lead }}</p>+ <div class="b24o-hero__cta">+ <a href="#b24o-magnet" class="btn btn-primary b24o-btn-main">{{ .cta }}</a>+ <a href="#b24o-pricing" class="b24o-textlink">{{ .cta2 }} <span aria-hidden="true">→</span></a>+ </div>+ <p class="b24o-price-line"><i class="fa-solid fa-tag" aria-hidden="true"></i> {{ .price | markdownify }}</p>+ <ul class="b24o-proofline" aria-label="Цифры AI Советника и лаборатории">+ {{ range .proof }}<li><strong>{{ .num }}</strong> <span>{{ .label }}</span></li>{{ end }}+ </ul>+ </div>+ <div class="col-lg-6 b24o-hero__media">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 1100 "class" "b24o-pic--hero" "eager" true) }}+ </div>+ </div>+ </div>+</section>+{{ end }}
+27 −0diff --git a/layouts/partials/b24/opus55c/magnet.html b/layouts/partials/b24/opus55c/magnet.htmlnew file mode 100644index 0000000..fd30a3d--- /dev/null+++ b/layouts/partials/b24/opus55c/magnet.html@@ -0,0 +1,27 @@+{{ with .b24.magnet }}+<section class="section b24o-sec b24o-magnet" id="b24o-magnet">+ <div class="container">+ <div class="b24o-magnet__box">+ <div class="b24o-magnet__info">+ <p class="b24o-eyebrow">Бесплатно · PDF, 12 страниц</p>+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ <ul class="b24o-checks">{{ range .points }}<li>{{ . }}</li>{{ end }}</ul>+ </div>+ <div class="b24o-magnet__form">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 360 "class" "b24o-pic--magnet") }}+ <form class="b24o-form" action="{{ "contact_form/" | relLangURL }}" method="get">+ <p class="b24o-form__title">{{ .form_title }}</p>+ <label for="b24o-name">{{ .name_label }}</label>+ <input id="b24o-name" class="form-control" type="text" name="name" autocomplete="given-name" required>+ <label for="b24o-contact">{{ .contact_label }}</label>+ <input id="b24o-contact" class="form-control" type="text" name="contact" autocomplete="email" required>+ <input type="hidden" name="source" value="deployment-booklet">+ <button type="submit" class="btn btn-primary b24o-btn-main">{{ .submit }}</button>+ <p class="b24o-form__privacy">{{ .privacy }}</p>+ </form>+ </div>+ </div>+ </div>+</section>+{{ end }}
+25 −0diff --git a/layouts/partials/b24/opus55c/modules.html b/layouts/partials/b24/opus55c/modules.htmlnew file mode 100644index 0000000..4fa56c1--- /dev/null+++ b/layouts/partials/b24/opus55c/modules.html@@ -0,0 +1,25 @@+{{ with .b24.modules }}+<section class="section b24o-sec b24o-modules bg-light" id="b24o-modules">+ <div class="container">+ <div class="row align-items-center g-5 mb-4">+ <div class="col-lg-6">+ <p class="b24o-eyebrow">Что вы получаете</p>+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ </div>+ <div class="col-lg-6">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 900 "class" "b24o-pic--card") }}+ </div>+ </div>+ <div class="b24o-grid3">+ {{ range .items }}+ <article class="b24o-card">+ <span class="b24o-card__icon"><i class="{{ .icon }}" aria-hidden="true"></i></span>+ <h3 class="b24o-h3">{{ .title }}</h3>+ <p>{{ .text }}</p>+ </article>+ {{ end }}+ </div>+ </div>+</section>+{{ end }}
+15 −0diff --git a/layouts/partials/b24/opus55c/objections.html b/layouts/partials/b24/opus55c/objections.htmlnew file mode 100644index 0000000..cf75dda--- /dev/null+++ b/layouts/partials/b24/opus55c/objections.html@@ -0,0 +1,15 @@+{{ with .b24.objections }}+<section class="section b24o-sec b24o-faq bg-light" id="b24o-faq">+ <div class="container">+ <div class="b24o-head"><h2 class="b24o-h2">{{ .title }}</h2></div>+ <div class="b24o-faq__list">+ {{ range $i, $o := .items }}+ <details class="b24o-faq__item"{{ if eq $i 0 }} open{{ end }}>+ <summary><span>{{ $o.q }}</span><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></summary>+ <p>{{ $o.a }}</p>+ </details>+ {{ end }}+ </div>+ </div>+</section>+{{ end }}
+14 −0diff --git a/layouts/partials/b24/opus55c/page.html b/layouts/partials/b24/opus55c/page.htmlnew file mode 100644index 0000000..e62657c--- /dev/null+++ b/layouts/partials/b24/opus55c/page.html@@ -0,0 +1,14 @@+{{ $p := .Params }}+<div class="b24-opus55c">+{{ partial "b24/opus55c/hero.html" $p }}+{{ partial "b24/opus55c/pains.html" $p }}+{{ partial "b24/opus55c/modules.html" $p }}+{{ partial "b24/opus55c/screens.html" $p }}+{{ partial "b24/opus55c/week.html" $p }}+{{ partial "b24/opus55c/pricing.html" $p }}+{{ partial "b24/opus55c/proof.html" $p }}+{{ partial "b24/opus55c/magnet.html" $p }}+{{ partial "b24/opus55c/objections.html" $p }}+{{ partial "b24/opus55c/final.html" $p }}+</div>+{{ partial "partners.html" }}
+18 −0diff --git a/layouts/partials/b24/opus55c/pains.html b/layouts/partials/b24/opus55c/pains.htmlnew file mode 100644index 0000000..c4a02c7--- /dev/null+++ b/layouts/partials/b24/opus55c/pains.html@@ -0,0 +1,18 @@+{{ with .b24.pains }}+<section class="section b24o-sec b24o-pains" id="b24o-pains">+ <div class="container">+ <div class="row align-items-center g-5">+ <div class="col-lg-5 order-lg-2">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 900 "class" "b24o-pic--card") }}+ </div>+ <div class="col-lg-7 order-lg-1">+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ <ul class="b24o-pains__list">+ {{ range .items }}<li><i class="fa-solid fa-xmark" aria-hidden="true"></i><span>{{ . }}</span></li>{{ end }}+ </ul>+ </div>+ </div>+ </div>+</section>+{{ end }}
+9 −0diff --git a/layouts/partials/b24/opus55c/pic.html b/layouts/partials/b24/opus55c/pic.htmlnew file mode 100644index 0000000..d89eda1--- /dev/null+++ b/layouts/partials/b24/opus55c/pic.html@@ -0,0 +1,9 @@+{{/* Пара светлая/тёмная иллюстрация. dict: slot, alt, w (px ширина ресайза), class, eager (bool) */}}+{{ $w := .w | default 900 }}+{{ $lo := resources.Get (printf "images/service/b24/%s.png" .slot) }}+{{ $dk := resources.Get (printf "images/service/b24/%s-dark.png" .slot) }}+{{ $prio := cond (.eager | default false) "high" "low" }}+<span class="b24o-pic {{ .class }}">+{{ with $lo }}{{ $r := .Resize (printf "%dx webp q78" $w) }}<img class="b24o-pic__light" src="{{ $r.RelPermalink }}" width="{{ $r.Width }}" height="{{ $r.Height }}" alt="{{ $.alt }}" loading="eager" fetchpriority="{{ $prio }}" decoding="async">{{ end }}+{{ with $dk }}{{ $r := .Resize (printf "%dx webp q78" $w) }}<img class="b24o-pic__dark" src="{{ $r.RelPermalink }}" width="{{ $r.Width }}" height="{{ $r.Height }}" alt="{{ $.alt }}" loading="eager" fetchpriority="low" decoding="async">{{ end }}+</span>
+36 −0diff --git a/layouts/partials/b24/opus55c/pricing.html b/layouts/partials/b24/opus55c/pricing.htmlnew file mode 100644index 0000000..64a678e--- /dev/null+++ b/layouts/partials/b24/opus55c/pricing.html@@ -0,0 +1,36 @@+{{ with .b24.pricing }}+<section class="section b24o-sec b24o-pricing" id="b24o-pricing">+ <div class="container">+ <div class="b24o-head">+ <p class="b24o-eyebrow">Цена</p>+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ </div>+ <div class="b24o-plans">+ {{ range .packages }}+ <article class="b24o-plan{{ if .featured }} is-featured{{ end }}">+ <p class="b24o-plan__sub">{{ if .featured }}<i class="fa-solid fa-star" aria-hidden="true"></i> {{ end }}{{ .sub }}</p>+ <h3 class="b24o-plan__name">{{ .name }}</h3>+ <p class="b24o-plan__price">{{ .price }}</p>+ <p class="b24o-plan__term"><i class="fa-regular fa-clock" aria-hidden="true"></i> {{ .term }}</p>+ <ul class="b24o-checks">{{ range .items }}<li>{{ . }}</li>{{ end }}</ul>+ </article>+ {{ end }}+ </div>+ <h3 class="b24o-h3 b24o-lic__title">{{ .licenses_title }}</h3>+ <div class="b24o-lic" role="table" aria-label="{{ .licenses_title }}">+ <div class="b24o-lic__row b24o-lic__row--head" role="row">+ <span role="columnheader">Что</span><span role="columnheader">Цена вендора</span><span role="columnheader">Пояснение</span>+ </div>+ {{ range .licenses }}+ <div class="b24o-lic__row" role="row">+ <span role="cell" class="b24o-lic__what">{{ .what }}</span>+ <span role="cell" class="b24o-lic__price">{{ .price }}</span>+ <span role="cell" class="b24o-lic__note">{{ .note }}</span>+ </div>+ {{ end }}+ </div>+ <p class="b24o-center"><a href="#b24o-magnet" class="btn btn-outline-primary">{{ .cta }}</a></p>+ </div>+</section>+{{ end }}
+14 −0diff --git a/layouts/partials/b24/opus55c/proof.html b/layouts/partials/b24/opus55c/proof.htmlnew file mode 100644index 0000000..bff15ee--- /dev/null+++ b/layouts/partials/b24/opus55c/proof.html@@ -0,0 +1,14 @@+{{ with .b24.proof }}+<section class="section b24o-sec b24o-proof bg-light" id="b24o-proof">+ <div class="container">+ <div class="b24o-head">+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ </div>+ <ul class="b24o-stats">+ {{ range .stats }}<li><strong>{{ .num }}</strong><span>{{ .label }}</span></li>{{ end }}+ </ul>+ <p class="b24o-center"><a class="b24o-textlink" href="{{ .reviews_link }}" target="_blank" rel="noopener">{{ .reviews_label }} <span aria-hidden="true">↗</span></a></p>+ </div>+</section>+{{ end }}
+46 −0diff --git a/layouts/partials/b24/opus55c/screens.html b/layouts/partials/b24/opus55c/screens.htmlnew file mode 100644index 0000000..fb1b631--- /dev/null+++ b/layouts/partials/b24/opus55c/screens.html@@ -0,0 +1,46 @@+{{ with .b24.screens }}+<section class="section b24o-sec b24o-screens" id="b24o-screens">+ <div class="container">+ <div class="b24o-head">+ <p class="b24o-eyebrow">Как это выглядит</p>+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ </div>+ <div class="b24o-screens__grid">+ {{ with .card }}+ <figure class="b24o-mock b24o-mock--card">+ <div class="b24o-mock__bar"><span></span><span></span><span></span><em>{{ .deal }}</em></div>+ <div class="b24o-mock__body">+ <p class="b24o-mock__sect">AI РОП24</p>+ <dl class="b24o-fields">+ {{ range .fields }}<div class="b24o-fields__row"><dt>{{ .k }}</dt><dd{{ with .tone }} class="is-{{ . }}"{{ end }}>{{ .v }}</dd></div>{{ end }}+ </dl>+ <p class="b24o-mock__note">{{ .note }}</p>+ </div>+ <figcaption>{{ .caption }}</figcaption>+ </figure>+ {{ end }}+ <div class="b24o-screens__side">+ {{ with .manager }}+ <figure class="b24o-mock">+ <div class="b24o-mock__bar"><span></span><span></span><span></span><em>/dashboard/manager</em></div>+ <ul class="b24o-tasks">+ {{ range .rows }}<li><span>{{ .t }}</span><small>{{ .c }}</small></li>{{ end }}+ </ul>+ <figcaption>{{ .caption }}</figcaption>+ </figure>+ {{ end }}+ {{ with .supervisor }}+ <figure class="b24o-mock b24o-mock--sup">+ <div class="b24o-sup">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 420 "class" "b24o-pic--sq") }}+ <ul class="b24o-checks">{{ range .points }}<li>{{ . }}</li>{{ end }}</ul>+ </div>+ <figcaption>{{ .caption }}</figcaption>+ </figure>+ {{ end }}+ </div>+ </div>+ </div>+</section>+{{ end }}
+25 −0diff --git a/layouts/partials/b24/opus55c/week.html b/layouts/partials/b24/opus55c/week.htmlnew file mode 100644index 0000000..9a337d6--- /dev/null+++ b/layouts/partials/b24/opus55c/week.html@@ -0,0 +1,25 @@+{{ with .b24.week }}+<section class="section b24o-sec b24o-week bg-light" id="b24o-week">+ <div class="container">+ <div class="row align-items-center g-5 mb-4">+ <div class="col-lg-6">+ <h2 class="b24o-h2">{{ .title }}</h2>+ <p class="b24o-sublead">{{ .lead }}</p>+ </div>+ <div class="col-lg-6">+ {{ partial "b24/opus55c/pic.html" (dict "slot" .image "alt" .alt "w" 900 "class" "b24o-pic--card") }}+ </div>+ </div>+ <ol class="b24o-days">+ {{ range $i, $d := .days }}+ <li class="b24o-day">+ <span class="b24o-day__num">{{ add $i 1 }}</span>+ <p class="b24o-day__d">{{ $d.d }}</p>+ <h3 class="b24o-h3">{{ $d.t }}</h3>+ <p class="b24o-day__a"><span class="b24o-day__lbl">Артефакт:</span> {{ $d.a }}</p>+ </li>+ {{ end }}+ </ol>+ </div>+</section>+{{ end }}
+4 −0diff --git a/layouts/service/single.html b/layouts/service/single.htmlindex 79f1a90..9482fd6 100644--- a/layouts/service/single.html+++ b/layouts/service/single.html@@ -1,4 +1,7 @@ {{define "main"}}+{{ if eq .Params.b24_variant "opus55c" }}+{{ partial "b24/opus55c/page.html" . }}+{{ else }} {{/* Вариант V1 «Тихий апгрейд»: точечные ветки gated по .Params.aiad_v1 (только ai_adoption). Для остальных service-страниц разметка = оригинал темы. Стили V1 — в конце, тоже под $v1. */}}@@ -1008,4 +1011,5 @@ <!-- ===== Вариант B: клавиатурная навигация табов (roving tabindex, стрелки/Home/End) ===== --> <script src="{{ $tabs.RelPermalink }}" integrity="{{ $tabs.Data.Integrity }}" defer></script> {{ end }}+{{ end }} {{end}}