Loading...

Дизайн-проект интерьера.
От концепции до реализации в Санкт-Петербурге

Полный цикл услуг: от разработки уникальной идеи и 3D-визуализации до авторского надзора за ремонтом. Создаем пространства, которые отражают ваш характер и работают на вас.

  • Более 200 реализованных проектов
  • Фиксированная смета без скрытых платежей
  • Гарантия 2 года на все работы
????

3D-визуализация проекта
в современном стиле

Как мы создаём дизайн-проект

Четкий план и контроль на каждом этапе — залог результата, который превзойдет ожидания

01

Бриф и техническое задание

Глубокое интервью, выявление потребностей, замеры помещения, анализ планировки. Формируем подробное ТЗ, с которым согласны обе стороны.

  • Встреча на объекте или онлайн
  • Опросник по стилю жизни и эстетике
  • Технические обмеры и фотофиксация
02

Концепция и планировочные решения

Разрабатываем 2-3 варианта планировки с расстановкой мебели и оборудования. Утверждаем стилевое направление, колористику и основные материалы.

  • Планы с зонированием
  • Мудборды (доски настроения)
  • Подбор референсов
03

3D-визуализация и рабочие чертежи

Создаём фотореалистичные 3D-модели всех помещений. Подготавливаем полный пакет чертежей для строителей: от демонтажа до схемы раскладки плитки.

  • Обмерный план и план демонтажа/монтажа
  • План полов, потолков, освещения
  • Развертки стен с привязкой сантехники
04

Комплектация и авторский надзор

Помогаем подобрать и заказать все материалы, мебель и декор. Контролируем выполнение ремонтных работ на объекте, чтобы результат точно соответствовал проекту.

  • Ведомость чистовых материалов и оборудования
  • Поиск поставщиков и расчет бюджета
  • Регулярные выезды на объект

Выберите свой пакет услуг

Мы создали гибкие варианты сотрудничества, чтобы вы платили только за то, что вам действительно нужно

Базовый

от 2 500 ₽/м²

Идеально для тех, кто ищет грамотную планировку и основные чертежи

Обмерочный план
2 варианта планировочного решения
План расстановки мебели
План полов и потолков
3D-визуализация
Подбор материалов
Выбрать пакет

Оптимальный

от 3 800 ₽/м²

Полное представление о будущем интерьере до начала ремонта

Всё из пакета «Базовый»
3D-визуализация (5+ ракурсов)
План освещения и электроснабжения
План сантехнических приборов
Ведомость отделочных материалов
Авторский надзор
Выбрать пакет

Премиум «Под ключ»

от 5 500 ₽/м²

Максимальная детализация и полное сопровождение ремонта

Всё из пакета «Оптимальный»
Детальные 3D-визуализации (10+ ракурсов)
Подбор всех материалов, мебели, декора
Авторский надзор (5 выездов)
Составление сметы на ремонтные работы
Консультации по выбору подрядчиков
Выбрать пакет

Почему клиенты выбирают Flora Art

Наша философия — создавать не просто красивые картинки, а продуманные пространства для жизни

????

Функциональный дизайн

Каждый сантиметр пространства работает на вас. Мы учитываем ваш образ жизни, привычки и потребности каждого члена семьи.

????

Честная смета

Фиксируем стоимость проекта до начала работ. Никаких скрытых платежей или неожиданных доплат в процессе реализации.

????

Прозрачность на всех этапах

Регулярные отчеты, обсуждение всех решений в чате, доступ к облаку с чертежами и визуализациями.

Соблюдение сроков

Четкий календарный план с дедлайнами для каждого этапа. Мы ценим ваше время так же, как и вы.

Ответы на частые вопросы

Мы собрали вопросы, которые нам задают чаще всего

Сколько времени занимает разработка дизайн-проекта? +

Срок зависит от площади и сложности:

  • Квартира 50-80 м²: 3-4 недели
  • Квартира 80-120 м²: 4-6 недель
  • Загородный дом: от 6 недель

Точные сроки фиксируем в договоре.

Можно ли вносить правки в проект в процессе работы? +

Да, конечно. Мы предусмотрели несколько итераций на каждом этапе:

  • 2-3 варианта планировки для выбора
  • Корректировки концепции на основе ваших правок
  • Возможность внесения изменений в чертежи до их финального утверждения

Наша задача — создать проект, который будет вам идеально подходить.

Выдаете ли вы какие-то документы по завершении проекта? +

По окончании работы вы получаете полный пакет документов:

  • Альбом рабочих чертежей в печатном и электронном виде (PDF, DWG)
  • Фотореалистичные 3D-визуализации
  • Ведомости с артикулами и контактами поставщиков материалов и мебели
  • Техническое задание для строительной бригады
Работаете ли вы с удаленными клиентами? +

Да, мы успешно реализуем проекты для клиентов из других городов. Работа строится так:

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

Рассчитайте стоимость вашего дизайн-проекта

Ответьте на несколько вопросов, и мы подготовим для вас предварительный расчет в течение 24 часов

  • Расчет будет привязан к вашему планировочному решению
  • Укажем стоимость по каждому пакету услуг
  • Пришлем примеры наших работ в похожем стиле
20 160 300
/* Основные стили в духе T-Bank */ :root { --primary-green: #4A9C6D; --primary-dark: #3a7c55; --secondary-dark: #2d3436; --light-gray: #f8f9fa; --medium-gray: #e9ecef; --text-gray: #6c757d; --white: #ffffff; --border-radius: 12px; --transition: all 0.3s ease; } /* Базовые стили */ body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; color: var(--secondary-dark); background-color: var(--white); line-height: 1.6; } .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } section { padding: 80px 0; } .section-dark { background-color: var(--secondary-dark); color: var(--white); } .section-light { background-color: var(--light-gray); } .section-title { font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; text-align: center; } .section-subtitle { font-size: 1.125rem; color: var(--text-gray); text-align: center; max-width: 700px; margin: 0 auto 3rem; } .section-dark .section-subtitle { color: rgba(255, 255, 255, 0.8); } /* Герой секция */ .hero-section { padding: 100px 0; } .hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } .hero-title { font-size: 3rem; font-weight: 800; line-height: 1.2; margin-bottom: 1.5rem; } .gradient-text { background: linear-gradient(90deg, var(--primary-green) 0%, var(--primary-dark) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero-description { font-size: 1.25rem; color: var(--text-gray); margin-bottom: 2rem; } .hero-cta { display: flex; gap: 15px; margin-bottom: 3rem; } .primary-button, .secondary-button, .card-button { display: inline-block; padding: 16px 32px; border-radius: var(--border-radius); text-decoration: none; font-weight: 600; transition: var(--transition); text-align: center; } .primary-button { background-color: var(--primary-green); color: var(--white); border: 2px solid var(--primary-green); } .primary-button:hover { background-color: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(74, 156, 109, 0.2); } .secondary-button { background-color: transparent; color: var(--secondary-dark); border: 2px solid var(--medium-gray); } .secondary-button:hover { border-color: var(--primary-green); color: var(--primary-green); } .hero-features { display: flex; gap: 30px; list-style: none; padding: 0; } .hero-features li { font-size: 0.95rem; } /* Процесс работы */ .process-steps { max-width: 800px; margin: 0 auto; } .step { display: flex; gap: 30px; margin-bottom: 60px; padding-bottom: 60px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .step:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .step-number { font-size: 2.5rem; font-weight: 800; color: var(--primary-green); min-width: 60px; } .step-content h3 { font-size: 1.5rem; margin-bottom: 1rem; } .step-features { list-style: none; padding: 0; margin-top: 1rem; } .step-features li { padding: 5px 0; color: rgba(255, 255, 255, 0.8); } .step-features li:before { content: "— "; color: var(--primary-green); margin-right: 5px; } /* Тарифы */ .pricing-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 50px; } .pricing-card { background: var(--white); border-radius: var(--border-radius); padding: 30px; box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); border: 1px solid var(--medium-gray); transition: var(--transition); position: relative; } .pricing-card:hover { transform: translateY(-10px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); } .pricing-card.highlighted { border: 2px solid var(--primary-green); } .popular-badge { position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--primary-green); color: var(--white); padding: 6px 20px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; } .card-header { text-align: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--medium-gray); } .card-header h3 { font-size: 1.5rem; margin-bottom: 10px; } .price { font-size: 2.5rem; font-weight: 800; color: var(--primary-green); margin: 10px 0; } .price-note { color: var(--text-gray); font-size: 0.9rem; } .card-features { margin-bottom: 30px; } .feature { display: flex; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--light-gray); } .feature:last-child { border-bottom: none; } .feature-check { color: var(--primary-green); font-weight: 700; margin-right: 10px; min-width: 20px; } .feature.disabled { color: var(--text-gray); opacity: 0.6; } .feature.disabled .feature-check { color: var(--text-gray); } .card-button { display: block; width: 100%; margin-top: 20px; } /* Преимущества */ .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 40px; margin-top: 50px; } .benefit-card { text-align: center; } .benefit-icon { font-size: 3rem; margin-bottom: 20px; } .benefit-card h3 { font-size: 1.25rem; margin-bottom: 15px; } /* FAQ */ .faq-list { max-width: 800px; margin: 50px auto 0; } .faq-item { border: 1px solid var(--medium-gray); border-radius: var(--border-radius); margin-bottom: 15px; overflow: hidden; } .faq-item[open] { border-color: var(--primary-green); } .faq-question { padding: 25px 30px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; list-style: none; background: var(--white); } .faq-question::-webkit-details-marker { display: none; } .faq-item[open] .faq-question .faq-icon { transform: rotate(45deg); } .faq-answer { padding: 0 30px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; background: var(--white); } .faq-item[open] .faq-answer { padding: 0 30px 30px; max-height: 1000px; } /* Форма */ .form-container { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } .form-title { font-size: 2rem; margin-bottom: 1.5rem; } .form-description { font-size: 1.125rem; margin-bottom: 2rem; opacity: 0.9; } .form-benefits { list-style: none; padding: 0; } .form-benefits li { padding: 10px 0; position: relative; padding-left: 30px; } .form-benefits li:before { content: "✓"; position: absolute; left: 0; color: var(--primary-green); font-weight: 700; } .design-form { background: var(--white); padding: 40px; border-radius: var(--border-radius); box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); } .form-group { margin-bottom: 25px; } .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } label { display: block; margin-bottom: 8px; font-weight: 500; color: var(--secondary-dark); } input, select, textarea { width: 100%; padding: 15px; border: 1px solid var(--medium-gray); border-radius: var(--border-radius); font-family: 'Inter', sans-serif; font-size: 1rem; transition: var(--transition); } input:focus, select:focus, textarea:focus { outline: none; border-color: var(--primary-green); box-shadow: 0 0 0 3px rgba(74, 156, 109, 0.1); } .area-slider { margin-top: 15px; } .area-slider input[type="range"] { -webkit-appearance: none; width: 100%; height: 4px; background: var(--medium-gray); border-radius: 2px; outline: none; } .area-slider input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; background: var(--primary-green); border-radius: 50%; cursor: pointer; } .slider-values { display: flex; justify-content: space-between; margin-top: 5px; font-size: 0.85rem; color: var(--text-gray); } .checkbox-group { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; } .checkbox { display: flex; align-items: center; cursor: pointer; padding: 10px; border-radius: 8px; transition: var(--transition); } .checkbox:hover { background: var(--light-gray); } .checkbox input { display: none; } .checkmark { width: 20px; height: 20px; border: 2px solid var(--medium-gray); border-radius: 4px; margin-right: 10px; position: relative; transition: var(--transition); } .checkbox input:checked + .checkmark { background: var(--primary-green); border-color: var(--primary-green); } .checkbox input:checked + .checkmark:after { content: "✓"; position: absolute; color: white; font-size: 14px; top: 50%; left: 50%; transform: translate(-50%, -50%); } .form-footer { margin-top: 30px; } .submit-button { width: 100%; padding: 18px; background: var(--primary-green); color: white; border: none; border-radius: var(--border-radius); font-size: 1.125rem; font-weight: 600; cursor: pointer; transition: var(--transition); } .submit-button:hover { background: var(--primary-dark); transform: translateY(-2px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .form-note { text-align: center; margin-top: 15px; font-size: 0.85rem; color: var(--text-gray); } .form-note a { color: var(--primary-green); text-decoration: none; } /* Адаптивность */ @media (max-width: 992px) { .hero-grid, .form-container { grid-template-columns: 1fr; gap: 40px; } .section-title { font-size: 2rem; } .hero-title { font-size: 2.5rem; } } @media (max-width: 768px) { section { padding: 60px 0; } .hero-section { padding: 60px 0; } .pricing-cards { grid-template-columns: 1fr; } .form-row { grid-template-columns: 1fr; } .hero-cta { flex-direction: column; } } // Интерактивность для страницы дизайн-проекта document.addEventListener('DOMContentLoaded', function() { // 1. Слайдер площади const areaInput = document.getElementById('area'); const areaRange = document.getElementById('area-range'); if (areaRange && areaInput) { areaRange.addEventListener('input', function() { areaInput.value = this.value; }); areaInput.addEventListener('input', function() { if (this.value >= 20 && this.value <= 300) { areaRange.value = this.value; } }); } // 2. Заполнение скрытого поля выбранным пакетом при клике на кнопку const packageButtons = document.querySelectorAll('[data-package]'); const selectedPackageField = document.getElementById('selected-package'); packageButtons.forEach(button => { button.addEventListener('click', function(e) { if (this.getAttribute('href') === '#contact-form') { e.preventDefault(); const packageName = this.getAttribute('data-package'); selectedPackageField.value = packageName; // Плавный скролл к форме document.querySelector('#contact-form').scrollIntoView({ behavior: 'smooth' }); // Фокус на первом поле формы setTimeout(() => { document.getElementById('property-type').focus(); }, 800); } }); }); // 3. Валидация и отправка формы const contactForm = document.getElementById('project-calc-form'); if (contactForm) { contactForm.addEventListener('submit', function(e) { e.preventDefault(); // Простая валидация const phoneInput = document.getElementById('phone'); const phonePattern = /^[\+]?[7-8]?[\s]?\(?[0-9]{3}\)?[\s]?[0-9]{3}[\s]?[0-9]{2}[\s]?[0-9]{2}$/; if (!phonePattern.test(phoneInput.value.replace(/\s/g, ''))) { alert('Пожалуйста, введите корректный номер телефона'); phoneInput.focus(); return; } // Сбор данных формы const formData = new FormData(this); const data = Object.fromEntries(formData); // В реальном проекте здесь отправка на сервер console.log('Данные формы:', data); // Показать сообщение об успехе const submitButton = this.querySelector('.submit-button'); const originalText = submitButton.textContent; submitButton.textContent = 'Отправлено!'; submitButton.style.backgroundColor = '#3a7c55'; submitButton.disabled = true; // Через 3 секунды сбросить setTimeout(() => { submitButton.textContent = originalText; submitButton.style.backgroundColor = ''; submitButton.disabled = false; contactForm.reset(); }, 3000); // Здесь должна быть интеграция с Tilda // Пример: отправка данных в Tilda Forms // sendToTildaForm(data); }); } // 4. Интерактивность FAQ const faqItems = document.querySelectorAll('.faq-item'); faqItems.forEach(item => { item.addEventListener('toggle', function() { if (this.open) { // Закрыть другие открытые FAQ faqItems.forEach(otherItem => { if (otherItem !== this && otherItem.open) { otherItem.open = false; } }); } }); }); // 5. Анимация появления элементов при скролле const observerOptions = { root: null, rootMargin: '0px', threshold: 0.1 }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('animate-in'); } }); }, observerOptions); // Наблюдаем за элементами для анимации document.querySelectorAll('.step, .benefit-card, .pricing-card').forEach(el => { observer.observe(el); }); }); // Функция для отправки в Tilda (пример) function sendToTildaForm(data) { // Пример отправки данных в форму Tilda const tildaData = { formid: 'YOUR_FORM_ID', ProjectType: data.property_type, Area: data.area, Rooms: data.rooms, Package: data.selected_package, Name: data.name, Phone: data.phone, Comment: data.comment || '' }; // Используйте API Tilda или другой метод интеграции // fetch('https://forms.tildacdn.com/proccesform/', { // method: 'POST', // headers: { // 'Content-Type': 'application/x-www-form-urlencoded', // }, // body: new URLSearchParams(tildaData) // }) // .then(response => response.json()) // .then(result => { // console.log('Успешно отправлено в Tilda:', result); // }) // .catch(error => { // console.error('Ошибка отправки в Tilda:', error); // }); }