Производство каркасных бань и домов
С-Петербург и Москва
10:00 до 21:00 ежедневно
С-Петербург и Москва
Производство каркасных бань и домов
С-Петербург и Москва
10:00 до 21:00 ежедневно
С-Петербург и Москва

Строим с 2018 года 
По договору 
С фиксированной ценой и сроками

Проекты 14–50 м²  | Материалы уровня тёплого дома | Комфорт — в приоритете
Прозрачная                без скрытых работ

КАРКАСНЫЕ БАНИ ПОД КЛЮЧ

КАРКАСНЫЕ БАНИ ПОД КЛЮЧ

                5.0 ⭐ на Яндекс с 2018 года

Меньше минуты. Без обязательств.

5 вопросов. Меньше минуты. Без обязательств.

Любая планировка — без удорожания
Строим по типовому или индивидуальному проекту

Проекты 14–50 м²  
Материалы уровня тёплого домаКомфорт — в приоритете

от 1 000 000 ₽ Цена фиксируется в договоре и не меняется в процессе строительства

внутренняя рассрочка 0% без кредита банка

КАРКАСНЫЕ БАНИ ПОД КЛЮЧ

КАРКАСНЫЕ БАНИ ПОД КЛЮЧ

5 вопросов. Меньше минуты. Без обязательств.

Расчёт стоимости с фиксацией цены
Меньше минуты. Без обязательств.

Проекты 14–50 м²  
Материалы уровня тёплого дома
Комфорт — в приоритете

Проекты 14–50 м²  
Материалы уровня тёплого домаКомфорт — в приоритете

внутренняя рассрочка 0% без кредита банка

Цена фиксируется в договоре 

от 1 000 000 ₽

} catch (e) { } console.log("🌙 Дневной счетчик сброшен в полночь"); resetDailyCounterAtMidnight(); }; setTimeout(midnightHandler, midnight - now); } function addEventHandlers() { var events = ["mousemove", "keydown", "touchstart", "touchmove", "touchend", "click"]; var i; var activityHandler = throttle(function() { handleUserActivity(); }, 250); var scrollActivityHandler = throttle(function() { handleUserActivity(); }, 250); if (eventHandlersAdded) return; eventHandlersAdded = true; window.addEventListener("scroll", throttle(handleScroll, 100)); document.addEventListener(events[i], activityHandler); } document.addEventListener("scroll", scrollActivityHandler); console.log("👂 Обработчики событий добавлены"); } function init() { addEventHandlers(); resetDailyCounterAtMidnight(); if (TRACK_PAGE_VIEWS === true || TRACK_PAGE_VIEWS === "true") { incrementPageViewCounter(); } console.log("🚀 Скрипт заинтересованного пользователя инициализирован"); console.log("⚙️ Настройки:"); console.log(" - Мин. время на сайте:", Math.round(MIN_TIME_ON_SITE/1000) + "с"); console.log(" - Мин. время взаимодействия:", Math.round(MIN_INTERACTION_TIME/1000) + "с"); console.log(" - Порог прокрутки:", SCROLL_PERCENTAGE_THRESHOLD + "%"); console.log(" - Мин. пауз прокрутки:", MIN_SCROLL_PAUSES); console.log(" - Макс. целей в день:", MAX_GOAL_COUNT_PER_DAY); console.log(" - Отслеживание страниц:", TRACK_PAGE_VIEWS); if (TRACK_PAGE_VIEWS === true || TRACK_PAGE_VIEWS === "true") { console.log(" - Мин. страниц:", MIN_PAGE_VIEWS); } console.log(" - ID счетчика:", COUNTER_ID); console.log("💡 Откройте консоль для отслеживания прогресса"); } window.checkInterestedUserStatus = debugStatus; if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", init); } else { init(); } function initImageTracking() { var imageClickHandler = function(e) { if (e.target.tagName.toLowerCase() === "img" && typeof ym !== "undefined") { ym(COUNTER_ID, "reachGoal", "ImageClick"); console.log("🖼️ Клик по изображению отслежен"); } }; document.addEventListener("click", imageClickHandler); if ("IntersectionObserver" in window) { var observerCallback = function(entries) { var i; var entry = entries[i]; ym(COUNTER_ID, "reachGoal", "ImageView"); observer.unobserve(entry.target ); console.log("👁️ Просмотр изображения отслежен"); } } }; var observer = new IntersectionObserver(observerCallback, { threshold: 0.5 }); var images = document.querySelectorAll("img"); var j; observer.observe(images[j]); } } console.log("🖼️ Отслеживание изображений инициализировано"); } if (TRACK_IMAGES === true || TRACK_IMAGES === "true") { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", initImageTracking); } else { initImageTracking(); } }