Задать вопрос директору
Telegram
VK
Звонок

Первый экран для сайта наставника предпринимателей

Главный экран наставника: оффер про выход из операционки, список «для кого», карточка с тремя форматами работы и три цифры, которые набегают при прокрутке.

Живое демо — блок работает прямо здесь

Код блока

<section class="vbpn">
  <div class="vbpn-wrap">
    <div class="vbpn-main">
      <span class="vbpn-tag">Наставничество и закрытый клуб для собственников</span>
      <h1 class="vbpn-h1">Разбираю бизнес по цифрам и помогаю <span>выйти из операционки</span></h1>
      <p class="vbpn-lead">Работаю с владельцами компаний с выручкой от 3 млн рублей в месяц. На старте смотрим финмодель, воронку и вашу роль в компании, дальше собираем план на квартал и держим его на регулярных встречах.</p>

      <ul class="vbpn-who">
        <li>
          <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M3 20v-1.5c0-2.5 2.2-4 5-4s5 1.5 5 4V20"/><circle cx="8" cy="7.5" r="3.5"/><path d="M15.5 20v-1.2c0-2-1-3.4-2.5-4.2M16 4.4a3.5 3.5 0 0 1 0 6.6"/></g></svg>
          <b>Собственникам с командой от 5 человек</b><span>когда решения всё ещё замкнуты на вас</span>
        </li>
        <li>
          <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><path d="M4 19h16M6 19V9M11 19V5M16 19v-7M21 19v-4"/></g></svg>
          <b>Тем, кто третий год стоит на одной выручке</b><span>оборот держится, прибыль не растёт</span>
        </li>
        <li>
          <svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v5l3 2"/></g></svg>
          <b>Кто работает в бизнесе по 12 часов</b><span>и давно не был в отпуске без ноутбука</span>
        </li>
      </ul>

      <div class="vbpn-acts">
        <a class="vbpn-btn" href="#diagnostika">Записаться на диагностику</a>
        <a class="vbpn-btn vbpn-btn--gh" href="#programma">Как устроена работа</a>
      </div>
      <p class="vbpn-hint">Диагностика длится 50 минут и проходит по видеосвязи. По итогу вы получаете разбор узких мест, даже если дальше мы не работаем.</p>
    </div>

    <aside class="vbpn-side">
      <h2 class="vbpn-side__ttl">Три формата работы</h2>
      <div class="vbpn-tabs" role="tablist">
        <button type="button" class="vbpn-tab vbpn-tab--on" data-k="solo" role="tab">Лично</button>
        <button type="button" class="vbpn-tab" data-k="group" role="tab">Группа</button>
        <button type="button" class="vbpn-tab" data-k="club" role="tab">Клуб</button>
      </div>
      <div class="vbpn-pane" id="vbpn-pane" aria-live="polite"></div>
    </aside>
  </div>

  <div class="vbpn-wrap vbpn-wrap--nums">
    <ul class="vbpn-nums" id="vbpn-nums">
      <li><b data-to="240" data-pre="" data-post="">0</b><span>предпринимателей прошли программу с 2016 года</span></li>
      <li><b data-to="11" data-pre="" data-post="">0</b><span>лет собственной практики: два своих бизнеса и работа с чужими</span></li>
      <li><b data-to="34" data-pre="+" data-post="%">0</b><span>средний рост выручки у участников за год по их анкетам</span></li>
    </ul>
    <p class="vbpn-note">Цифра роста собрана по опросу 84 участников, которые дошли до конца программы. Результат зависит от рынка и от того, сколько вы вкладываете в работу, поэтому повторить его я не обещаю.</p>
  </div>
</section>

<style>
.vbpn, .vbpn *, .vbpn *::before, .vbpn *::after { box-sizing: border-box; }
.vbpn {
  --acc: #c9a253; --acc-dark: #ac8840; --bg: #13161c; --panel: #1b1f27; --ink: #e9ecf1; --muted: #939cab; --line: #2a3039;
  --f: var(--t-text-font, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif);
  --fh: var(--t-headline-font, var(--f));
  background: var(--bg); color: var(--ink); font-family: var(--f); padding: clamp(38px, 5.5vw, 92px) 20px clamp(30px, 4vw, 64px);
}
.vbpn-wrap { max-width: 1220px; margin: 0 auto; padding: 0 clamp(0px, 2vw, 36px);
  display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: clamp(26px, 4vw, 58px); align-items: start; }
.vbpn-tag { display: inline-block; font-size: 12.5px; letter-spacing: .04em; text-transform: uppercase; color: var(--acc);
  border: 1px solid var(--line); border-radius: 999px; padding: 7px 15px; margin-bottom: 20px; }
.vbpn-h1 { font-family: var(--fh); font-size: clamp(29px, 4.2vw, 53px); line-height: 1.07; font-weight: 700; letter-spacing: -.025em; margin: 0 0 18px; }
.vbpn-h1 span { color: var(--acc); }
.vbpn-lead { font-size: clamp(15.5px, 1.3vw, 18px); line-height: 1.65; color: var(--muted); margin: 0 0 28px; max-width: 34em; }

.vbpn-who { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 10px; }
.vbpn-who li { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 14px; align-items: center;
  border-top: 1px solid var(--line); padding: 14px 2px; }
.vbpn-who svg { grid-row: 1 / 3; width: 24px; height: 24px; color: var(--acc); }
.vbpn-who b { font-size: 15.5px; font-weight: 600; }
.vbpn-who span { font-size: 13.5px; color: var(--muted); }

.vbpn-acts { display: flex; flex-wrap: wrap; gap: 10px; }
.vbpn-btn, .vbpn-btn:link, .vbpn-btn:visited, .vbpn-btn:active, .vbpn-btn:focus { display: inline-flex; align-items: center; justify-content: center;
  min-height: 56px; padding: 0 30px; border-radius: 12px; font-size: 16px; font-weight: 600; text-decoration: none !important;
  background: var(--acc); color: #17191d !important; transition: background .2s ease; }
.vbpn-btn:hover { background: var(--acc-dark); color: #17191d !important; }
.vbpn-btn--gh, .vbpn-btn--gh:link, .vbpn-btn--gh:visited, .vbpn-btn--gh:active, .vbpn-btn--gh:focus { background: transparent; border: 1px solid var(--line); color: var(--ink) !important; }
.vbpn-btn--gh:hover { background: var(--panel); border-color: var(--acc); color: var(--ink) !important; }
.vbpn-hint { margin: 16px 0 0; font-size: 12.5px; line-height: 1.6; color: #6f7889; max-width: 36em; }

.vbpn-side { background: var(--panel); border: 1px solid var(--line); border-radius: 22px; padding: clamp(20px, 2.4vw, 28px); }
.vbpn-side__ttl { font-family: var(--fh); font-size: 19px; line-height: 1.25; font-weight: 700; margin: 0 0 16px; }
.vbpn-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; background: #151920; border-radius: 12px; padding: 5px; margin-bottom: 18px; }
.vbpn-tab { border: 0; margin: 0; padding: 11px 4px; -webkit-appearance: none; appearance: none; font: inherit; font-size: 13.5px; font-weight: 600;
  cursor: pointer; border-radius: 9px; background: transparent !important; color: var(--muted) !important; transition: .18s ease; }
.vbpn-tab:hover { color: var(--ink) !important; }
.vbpn-tab--on, .vbpn-tab--on:hover { background: var(--acc) !important; color: #17191d !important; }
.vbpn-pane__n { display: block; font-family: var(--fh); font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.vbpn-pane__t { display: block; font-size: 14.5px; line-height: 1.65; color: var(--muted); margin-bottom: 16px; }
.vbpn-pane ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.vbpn-pane li { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.5; color: var(--muted); }
.vbpn-pane li::before { content: ''; flex: 0 0 6px; width: 6px; height: 6px; margin-top: 7px; border-radius: 50%; background: var(--acc); }

.vbpn-wrap--nums { display: block; margin-top: clamp(34px, 4.5vw, 66px); border-top: 1px solid var(--line); padding-top: clamp(24px, 3vw, 40px); }
.vbpn-nums { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: clamp(18px, 2.4vw, 34px); }
.vbpn-nums b { display: block; font-family: var(--fh); font-size: clamp(32px, 3.6vw, 46px); line-height: 1; font-weight: 700; color: var(--acc); letter-spacing: -.02em; }
.vbpn-nums span { display: block; font-size: 14px; line-height: 1.55; color: var(--muted); margin-top: 10px; max-width: 22em; }
.vbpn-note { margin: clamp(20px, 2.6vw, 30px) 0 0; font-size: 12.5px; line-height: 1.6; color: #6f7889; max-width: 62em; }

@media (max-width: 940px) { .vbpn-wrap { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .vbpn-h1 { font-size: clamp(25px, 7.4vw, 34px); } .vbpn-btn, .vbpn-btn--gh { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .vbpn * { transition: none !important; } }
</style>

<script>
(function () {
  var FORMATS = {
    solo: { n: 'Личная работа', t: 'Встречи один на один раз в две недели, между ними переписка. Разбираем вашу компанию и решения, которые вы откладываете.',
      li: ['Финмодель и точка безубыточности', 'План на квартал с недельным контролем', 'Переписка с ответом в течение суток'] },
    group: { n: 'Групповая программа', t: 'Шесть собственников из разных сфер идут три месяца одним потоком. Каждую неделю живая встреча и разбор одного участника.',
      li: ['12 встреч по два часа', 'Разбор вашей компании при группе', 'Общий чат потока и записи встреч'] },
    club: { n: 'Закрытый клуб', t: 'Годовое участие для тех, кто уже прошёл программу или пришёл с рекомендацией. Регулярные мастермайнды и рабочий круг рядом.',
      li: ['Две встречи в месяц и мастермайнды', 'База разборов и шаблонов', 'Офлайн-встречи четыре раза в год'] }
  };

  var roots = document.querySelectorAll('.vbpn');
  for (var i = 0; i < roots.length; i++) init(roots[i]);

  function init(root) {
    if (root.__vb) return; root.__vb = 1;
    var pane = root.querySelector('#vbpn-pane');
    var tabs = root.querySelectorAll('.vbpn-tab');

    function draw(k) {
      var f = FORMATS[k] || FORMATS.solo;
      pane.innerHTML = '<b class="vbpn-pane__n">' + f.n + '<\/b><span class="vbpn-pane__t">' + f.t + '<\/span><ul>' +
        f.li.map(function (s) { return '<li>' + s + '<\/li>'; }).join('') + '<\/ul>';
    }

    for (var j = 0; j < tabs.length; j++) {
      tabs[j].addEventListener('click', function () {
        for (var m = 0; m < tabs.length; m++) tabs[m].className = 'vbpn-tab';
        this.className = 'vbpn-tab vbpn-tab--on';
        draw(this.getAttribute('data-k'));
      });
    }
    draw('solo');

    var nums = root.querySelectorAll('#vbpn-nums b');
    function run(el) {
      var to = +el.getAttribute('data-to') || 0, pre = el.getAttribute('data-pre') || '', post = el.getAttribute('data-post') || '';
      var step = 0, total = 34;
      var id = setInterval(function () {
        step++;
        var v = Math.round(to * (1 - Math.pow(1 - step / total, 3)));
        el.textContent = pre + v + post;
        if (step >= total) { el.textContent = pre + to + post; clearInterval(id); }
      }, 26);
    }
    function all() { for (var n = 0; n < nums.length; n++) run(nums[n]); }

    if (!('IntersectionObserver' in window)) { all(); return; }
    var io = new IntersectionObserver(function (es) {
      for (var e = 0; e < es.length; e++) { if (es[e].isIntersecting) { all(); io.disconnect(); return; } }
    }, { rootMargin: '0px 0px -12% 0px' });
    io.observe(root.querySelector('#vbpn-nums'));
    setTimeout(function () { if (nums[0] && nums[0].textContent === '0') all(); }, 2600);
  }
})();
</script>

Вставляется целиком в блок T123 «HTML-код». Внутри уже есть стили и скрипт, подключать ничего не нужно.

Как вставить блок в Tilda

  1. Скопируйте кодКнопка «Скопировать код» выше кладёт всё содержимое в буфер обмена.
  2. Добавьте блок T123В редакторе страницы: «Библиотека блоков» → «Другое» → T123 «HTML-код».
  3. Вставьте и сохранитеНажмите «Контент», вставьте код в поле, сохраните и обновите страницу.
  4. ОпубликуйтеВ превью скрипты Tilda работают не всегда — проверяйте на опубликованной странице.

Подробная инструкция с граблями — как вставить вайб-блок в Tilda.

Что менять под себя

Где в кодеЗа что отвечает
текст h1 и абзац под нимоффер и описание того, с кем вы работаете
три пункта списка vbpn-whoпризнаки, по которым человек узнаёт себя
FORMATS в начале скриптаназвания форматов, описания и списки того, что входит
data-to у трёх цифрчисла, до которых доходят счётчики
текст vbpn-noteоговорка о том, откуда взяты цифры роста
href у двух ссылокадреса записи на диагностику и страницы программы

Первый экран наставника: зачем он нужен

Собственник, который зашёл на сайт наставника, за первые секунды решает два вопроса: про него ли это и что вообще предлагают. Блок отвечает сразу на оба. Слева стоит заголовок, короткий абзац про то, с кем идёт работа, и три строки с признаками клиента: размер команды, застывшая выручка, рабочий день по 12 часов. Ниже две ссылки: на диагностику и на описание программы.

Справа лежит карточка с тремя форматами: личная работа, групповая программа и клуб. Переключатель меняет описание и список того, что входит, тексты хранятся в объекте FORMATS в начале скрипта. Под всей полосой идут три цифры: участники, годы практики и средний рост выручки. Значения набегают от нуля, когда полоса попадает в экран, а рядом стоит оговорка о том, что результат зависит от рынка и вложенной работы. Палитра тёмная, графит с песочным акцентом, форм внутри нет.

Вопросы по этому блоку

  • Да. Впишите готовые значения прямо в теги b вместо нуля и удалите блок кода с IntersectionObserver в конце скрипта. Разметка и оформление останутся прежними.

  • Допишите объект в FORMATS и добавьте кнопку с нужным data-k в разметку. В оформлении поменяйте grid-template-columns у vbpn-tabs с трёх колонок на четыре.

  • Да, поменяйте на корне --bg и --panel на светлые оттенки, --ink на тёмный, --muted на серый. Акцент --acc в песочном оттенке читается и на светлом фоне.

  • Да. Код на этой странице копируется целиком, без регистрации и подписки. Указывать авторство не нужно, использовать можно в коммерческих проектах.

  • Нет. Все классы внутри имеют собственный префикс vbpn, поэтому не пересекаются ни со стилями Tilda, ни с другими блоками. Скрипт привязан к своему элементу и запускается один раз, даже если блок вставлен дважды.

  • Раскладка перестраивается под узкие экраны, размеры заданы через clamp, поля ввода имеют шрифт 16 пикселей — iOS не будет зумить страницу при фокусе. Отдельной мобильной версии подключать не нужно.

Другие главные экраны

Ещё блоки для коучинга и бизнес-клубов

Собрать сайт целиком, а не по блокам

Дровосеки делают сайты на Tilda под ключ: структура, тексты, дизайн, вёрстка и вайб-блоки под задачи бизнеса.