/* ================================================ FACTORY BASE — Zero Block Styles Tilda: вставить в «Стили сайта» (Settings → More → Custom CSS) ================================================ */ @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300&family=Jost:wght@300;400;500&display=swap'); :root { --r: #A41F23; --rl: rgba(164,31,35,0.07); --rb: rgba(164,31,35,0.15); --d: #1a1a1a; --w: #ffffff; --warm: #f8f5f1; --mu: #6b6058; --bd: rgba(0,0,0,0.09); --g: #1a4730; } /* ── HERO ─────────────────────────────────────── */ .hero { background: var(--r); min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 4rem 2rem; position: relative; } .hero-kicker { font-family: 'Jost', sans-serif; font-size: 9px; letter-spacing: 0.5em; text-transform: uppercase; color: rgba(255,255,255,0.45); margin-bottom: 2.5rem; } .hero-line { width: 36px; height: 1px; background: rgba(255,255,255,0.3); margin: 0 auto 2rem; } .hero-h { font-family: 'Cormorant Garamond', serif; font-size: clamp(42px, 8vw, 76px); font-weight: 300; color: #fff; line-height: 1; margin-bottom: 0.75rem; letter-spacing: 0.01em; } .hero-h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(20px, 3.5vw, 34px); font-weight: 300; color: rgba(255,255,255,0.5); margin-bottom: 1.75rem; } .hero-h2 em { font-style: italic; } .hero-sub { font-family: 'Jost', sans-serif; font-size: 10px; color: rgba(255,255,255,0.38); letter-spacing: 0.35em; text-transform: uppercase; } .hero-scroll { position: absolute; bottom: 2.5rem; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; } .hero-scroll-line { width: 1px; height: 48px; background: rgba(255,255,255,0.2); } /* ── SECTIONS ─────────────────────────────────── */ .section { padding: 5rem 3rem; } .section-alt { background: var(--warm); } .sec-header { margin-bottom: 3rem; } .sec-eye { font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.38em; text-transform: uppercase; color: #444; margin-bottom: 0.6rem; } .sec-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(28px, 3.5vw, 42px); font-weight: 300; color: var(--d); line-height: 1.1; } /* ── PROCESS GRID ─────────────────────────────── */ .process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--bd); overflow: hidden; border-radius: 10px; } .proc-step { background: #fff; padding: 1.75rem 1.5rem; border-right: 1px solid var(--bd); } .proc-step:last-child { border-right: none; } .proc-num { font-family: 'Jost', sans-serif; font-size: 9px; letter-spacing: 0.4em; color: var(--r); font-weight: 500; margin-bottom: 0.6rem; } .proc-title { font-family: 'Jost', sans-serif; font-size: 12px; font-weight: 500; letter-spacing: 0.05em; text-transform: uppercase; color: var(--d); margin-bottom: 0.65rem; } .proc-team { font-size: 10px; color: var(--r); line-height: 1.7; margin-bottom: 0.65rem; font-weight: 300; } .proc-tasks { font-size: 10px; color: #3a3330; font-weight: 300; line-height: 1.8; } /* ── FORM SECTION ─────────────────────────────── */ .form-section { padding: 5rem 3rem; background: #fff; } .form-wrap { max-width: 620px; margin: 0 auto; } .form-step { margin-bottom: 3rem; padding-bottom: 3rem; border-bottom: 1px solid var(--bd); } .form-step:last-of-type { border-bottom: none; } .step-label { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; } .step-num { width: 26px; height: 26px; border-radius: 50%; background: var(--r); color: #fff; font-family: 'Jost', sans-serif; font-size: 9px; font-weight: 500; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .step-txt { font-family: 'Jost', sans-serif; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: #333; } /* Slider */ .slider-top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 1rem; } .slider-lbl { font-family: 'Jost', sans-serif; font-size: 12px; color: #333; font-weight: 300; } .slider-val { font-family: 'Cormorant Garamond', serif; font-size: 48px; font-weight: 300; color: var(--d); line-height: 1; } .tier-tag { font-family: 'Jost', sans-serif; font-size: 8px; letter-spacing: 0.18em; text-transform: uppercase; padding: 3px 10px; background: var(--r); color: #fff; margin-left: 10px; vertical-align: middle; border-radius: 2px; } input[type="range"] { width: 100%; height: 2px; background: var(--bd); -webkit-appearance: none; appearance: none; outline: none; cursor: pointer; border-radius: 1px; } input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--r); cursor: pointer; box-shadow: 0 0 0 4px rgba(164,31,35,0.12); } input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: var(--r); border: none; cursor: pointer; } /* Fields */ .field { width: 100%; border: none; border-bottom: 1.5px solid #ccc; padding: 12px 0; font-size: 15px; font-family: 'Jost', sans-serif; color: #111; font-weight: 300; background: transparent; outline: none; transition: border-color 0.2s; -webkit-appearance: none; } .field:focus { border-color: var(--r); } .field::placeholder { color: #aaa; } textarea.field { resize: vertical; padding: 12px 0; line-height: 1.7; } .field-hint { font-size: 11px; color: #555; font-weight: 300; margin-top: 6px; } .field-group { display: flex; flex-direction: column; gap: 6px; } .field-label { font-family: 'Jost', sans-serif; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #444; font-weight: 400; } .contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 1.25rem; } /* Upload */ .upload-area { border: 1.5px dashed var(--bd); border-radius: 8px; padding: 2.5rem; text-align: center; cursor: pointer; transition: border-color 0.2s, background 0.2s; position: relative; } .upload-area:hover, .upload-area.dragover { border-color: var(--r); background: var(--rl); } .upload-icon { font-size: 24px; color: var(--bd); margin-bottom: 0.75rem; display: block; } .upload-title { font-family: 'Jost', sans-serif; font-size: 14px; font-weight: 500; color: #111; margin-bottom: 0.35rem; } .upload-sub { font-family: 'Jost', sans-serif; font-size: 12px; color: #555; font-weight: 300; line-height: 1.6; } .upload-input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; } .file-previews { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 1rem; } .file-preview-img { width: 72px; height: 72px; object-fit: cover; border-radius: 5px; border: 1px solid var(--bd); } .file-list { display: flex; flex-direction: column; gap: 6px; margin-top: 0.5rem; } .file-item { display: flex; align-items: center; justify-content: space-between; padding: 8px 12px; background: var(--rl); border-radius: 5px; font-size: 10px; } .file-item-name { color: var(--d); font-weight: 300; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .file-item-remove { background: none; border: none; color: var(--mu); cursor: pointer; font-size: 16px; padding: 0 4px; line-height: 1; flex-shrink: 0; } .file-item-remove:hover { color: var(--r); } /* Extras */ .extras-list { border-top: 1px solid var(--bd); } .ex-item { display: flex; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--bd); gap: 1rem; cursor: pointer; } .ex-item:last-child { border-bottom: none; } .ex-item:hover { background: rgba(0,0,0,0.01); } .ex-info { flex: 1; } .ex-name { font-family: 'Jost', sans-serif; font-size: 14px; color: #111; font-weight: 400; margin-bottom: 3px; transition: color 0.2s; } .ex-name.active { color: var(--r); } .ex-desc { font-size: 11px; color: #555; font-weight: 300; line-height: 1.55; } /* Toggle switch */ .tog { width: 46px; height: 26px; border-radius: 13px; background: #ddd6d0; border: none; cursor: pointer; position: relative; transition: background 0.22s; flex-shrink: 0; outline: none; -webkit-tap-highlight-color: transparent; } .tog::after { content: ''; position: absolute; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,0.2); top: 3px; left: 3px; transition: left 0.22s; } .tog.on { background: var(--r); } .tog.on::after { left: 23px; } /* Submit */ .submit-btn { width: 100%; background: var(--r); color: #fff; border: none; padding: 18px; font-family: 'Jost', sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; cursor: pointer; transition: opacity 0.2s; border-radius: 4px; margin-top: 2rem; } .submit-btn:hover { opacity: 0.88; } .submit-btn:disabled { opacity: 0.45; cursor: not-allowed; } /* Success */ .success-msg { display: none; text-align: center; padding: 4rem 2rem; } .success-icon { font-size: 36px; color: var(--g); margin-bottom: 1rem; } .success-title { font-family: 'Cormorant Garamond', serif; font-size: 30px; font-weight: 300; color: var(--d); margin-bottom: 0.5rem; } .success-sub { font-size: 12px; color: var(--mu); font-weight: 300; line-height: 1.8; } /* Final CTA */ .final { background: var(--r); padding: 7rem 2rem; text-align: center; } .final-line { width: 1px; height: 56px; background: rgba(255,255,255,0.2); margin: 0 auto 2.5rem; } .final-h { font-family: 'Cormorant Garamond', serif; font-size: clamp(30px, 4.5vw, 50px); font-weight: 300; color: #fff; line-height: 1.15; margin-bottom: 1rem; } .final-h em { font-style: italic; color: rgba(255,255,255,0.5); } .final-sub { font-family: 'Jost', sans-serif; font-size: 10px; color: rgba(255,255,255,0.38); letter-spacing: 0.3em; text-transform: uppercase; margin-bottom: 3rem; } .final-btn { display: inline-block; background: #fff; color: var(--r); padding: 18px 52px; font-family: 'Jost', sans-serif; font-size: 10px; font-weight: 500; letter-spacing: 0.3em; text-transform: uppercase; text-decoration: none; border-radius: 4px; transition: opacity 0.2s; } .final-btn:hover { opacity: 0.88; } .final-tg { font-size: 10px; color: rgba(255,255,255,0.22); margin-top: 1.5rem; letter-spacing: 0.2em; } /* ── MOBILE ────────────────────────────────────── */ @media (max-width: 767px) { .section, .form-section { padding: 4rem 1.5rem; } .process-grid { grid-template-columns: 1fr 1fr; border-radius: 8px; } .proc-step { padding: 1.25rem 1rem; } .proc-step:nth-child(2n) { border-right: none; } .proc-step:nth-child(1), .proc-step:nth-child(2) { border-bottom: 1px solid var(--bd); } .contact-row { grid-template-columns: 1fr; } .upload-area { padding: 2rem 1rem; } .final { padding: 5rem 1.5rem; } } @media (max-width: 480px) { .process-grid { grid-template-columns: 1fr; } .proc-step { border-right: none !important; border-bottom: 1px solid var(--bd) !important; } .proc-step:last-child { border-bottom: none !important; } .hero-h { font-size: 38px; } } /* ================================================ FACTORY BASE — Zero Block Scripts Tilda: вставить в «Скрипты сайта» (Settings → More → Custom JS) ════════════════════════════════════════════════ ВАЖНО: замените YOUR_FORMSPREE_ID на ваш ID Получить на formspree.io → New Form ================================================ */ var FORMSPREE_URL = 'https://formspree.io/f/YOUR_FORMSPREE_ID'; /* ── СЛАЙДЕР МОДЕЛЕЙ ──────────────────────────── */ function updModels(v) { var mc = parseInt(v); var t = mc <= 2 ? 'basic' : mc <= 6 ? 'growth' : 'scale'; var tLabel = { basic: 'Basic', growth: 'Growth', scale: 'Scale' }[t]; var el = document.getElementById('mc-val'); var tb = document.getElementById('tier-b'); if (el) el.textContent = mc; if (tb) tb.textContent = tLabel; } /* ── ТУМБЛЕРЫ ─────────────────────────────────── */ function togEx(id) { var btn = document.getElementById('t-' + id); var name = document.getElementById('n-' + id); if (!btn) return; var isOn = btn.classList.toggle('on'); if (name) name.classList.toggle('active', isOn); } /* ── ЗАГРУЗКА ФАЙЛОВ ──────────────────────────── */ var uploadedFiles = []; function handleFiles(files) { Array.from(files).forEach(function(f) { if (uploadedFiles.length >= 10) return; if (f.size > 10 * 1024 * 1024) { alert('Файл ' + f.name + ' превышает 10 МБ'); return; } uploadedFiles.push(f); }); renderFiles(); } function renderFiles() { var prev = document.getElementById('file-previews'); var list = document.getElementById('file-list'); if (!prev || !list) return; prev.innerHTML = ''; list.innerHTML = ''; uploadedFiles.forEach(function(f, i) { if (f.type && f.type.startsWith('image/')) { var img = document.createElement('img'); img.className = 'file-preview-img'; img.src = URL.createObjectURL(f); prev.appendChild(img); } var item = document.createElement('div'); item.className = 'file-item'; item.innerHTML = '' + f.name + '' + ''; list.appendChild(item); }); } function removeFile(i) { uploadedFiles.splice(i, 1); renderFiles(); } /* ── DRAG & DROP ──────────────────────────────── */ document.addEventListener('DOMContentLoaded', function() { var ua = document.getElementById('upload-area'); if (!ua) return; ua.addEventListener('dragover', function(e) { e.preventDefault(); ua.classList.add('dragover'); }); ua.addEventListener('dragleave', function() { ua.classList.remove('dragover'); }); ua.addEventListener('drop', function(e) { e.preventDefault(); ua.classList.remove('dragover'); handleFiles(e.dataTransfer.files); }); }); /* ── ОТПРАВКА ФОРМЫ ───────────────────────────── */ function submitForm() { var name = (document.getElementById('f-name') || {}).value || ''; var contact = (document.getElementById('f-contact') || {}).value || ''; var email = (document.getElementById('f-email') || {}).value || ''; var items = (document.getElementById('f-items') || {}).value || ''; var units = (document.getElementById('f-units') || {}).value || ''; var comment = (document.getElementById('f-comment') || {}).value || ''; var mcVal = (document.getElementById('mc-val') || {}).textContent || ''; var tierVal = (document.getElementById('tier-b') || {}).textContent || ''; if (!name.trim() || !contact.trim()) { alert('Пожалуйста, укажите имя и контакт для связи.'); return; } /* Собираем выбранные доп. услуги */ var exLabels = { trend: 'Тренд-аналитика', matrix: 'Ассортиментная матрица', brand: 'Айдентика: нейминг, логотип, бренд-платформа', plan: 'План развития бренда', passport: 'Технический паспорт изделия', site: 'Создание сайта', photo: 'Post production: street style и предметная съёмка', cert: 'Помощь в получении сертификата соответствия', chestniy: 'Маркировка «Честный знак»' }; var selected = Object.keys(exLabels).filter(function(id) { var btn = document.getElementById('t-' + id); return btn && btn.classList.contains('on'); }).map(function(id) { return exLabels[id]; }); var fd = new FormData(); fd.append('_subject', 'Новая заявка Factory Base от ' + name.trim()); fd.append('Имя', name.trim()); fd.append('Контакт', contact.trim()); fd.append('Email', email.trim() || '—'); fd.append('Коллекция', tierVal + ' · ' + mcVal + ' мод.'); fd.append('Изделия', items.trim() || '—'); fd.append('Тираж', units.trim() || '—'); fd.append('Доп. услуги', selected.length ? selected.join(', ') : 'Не выбраны'); if (comment.trim()) fd.append('Комментарий', comment.trim()); uploadedFiles.forEach(function(f, i) { fd.append('Референс ' + (i + 1), f, f.name); }); var btn = document.getElementById('submit-btn'); if (btn) { btn.disabled = true; btn.textContent = 'Отправляем…'; } fetch(FORMSPREE_URL, { method: 'POST', body: fd, headers: { 'Accept': 'application/json' } }) .then(function(r) { return r.json(); }) .then(function(data) { if (data.ok || data.next) { var fb = document.getElementById('form-body'); var sm = document.getElementById('success-msg'); if (fb) fb.style.display = 'none'; if (sm) sm.style.display = 'block'; } else { if (btn) { btn.disabled = false; btn.textContent = 'Отправить заявку →'; } alert('Ошибка отправки. Проверьте Formspree ID в настройках скрипта.'); } }) .catch(function() { if (btn) { btn.disabled = false; btn.textContent = 'Отправить заявку →'; } alert('Ошибка соединения. Попробуйте ещё раз.'); }); }
женская одежда
мужская одежда
детская одежда
аксессуары
Создание бренда одежды «под ключ»
Создание мерча
Обучение
Консультация
Подбор материалов и производства
Для обеспечения оптимальной работы анализа, использования и улучшения пользовательского опыта на сайте используются технологии cookie. Продолжая пользоваться сайтом, Вы соглашаетесь с размещением cookie-файлов на Вашем устройстве на условиях, изложенных в Политике конфиденциальности
принимаю
  • Имеем эксклюзивные выходы напрямую на фабрики по всему миру: Италия, Франция, Турция, Китай.
  • Знаем где купить ткань как у Loro Piana и Lulemon. Или найти супер эксклюзив в Китае, которого нет на российском рынке. Разработать джинсы и бесшовное белье.
  • Умеем делать двустороннюю печать, золотую фурнитуру, ручную вышивку haute couture, шить нитками без использования полиэстера и упаковывать в тишью, сшитую этими нитками вручную в 7 слоев.
Zero Block

Factory Base — Коммерческое предложение

Ваша коллекция.

От эскиза до готовой партии.

Экспертная команда · Полное сопровождение · 4 этапа

Как это работает

4 этапа — и ваша коллекция готова

01
Разработка лекал
Дизайнер · Конструктор · Технолог
Конфекционер · Проджект-менеджер
Технические эскизы · Разработка лекал · 3D-примерка · Подбор материалов · Подбор производств
02
Пошив образцов
Дизайнер · Конструктор · Технолог
Проджект-менеджер
Пошив и проработка образцов · Градация лекал · Разработка этикеток · Примерки · Утверждение эталона
03
Производство
Конструктор · Технолог · Конфекционер
Проджект-менеджер · Юрист
Расчёт расходов · Техдокументация · Закупки · Комплектация · Договор · Коммуникация с фабрикой
04
Контроль качества
Технолог · Проджект-менеджер
Контролёр ОТК · Упаковщик
Контроль пошива · Коммуникация с фабрикой · Контроль качества · Упаковка · Маркировка · Отгрузка

Заявка

Расскажите о своём проекте

1 Количество моделей
Моделей в коллекции 2 Basic
2 Что вы хотите создать?
3 Примерный тираж

Укажите ориентировочное количество

4 Фото-референсы
Загрузите фото-референсы
Нажмите или перетащите файлы сюда
JPG, PNG, HEIC · до 10 файлов · макс. 10 МБ каждый
5 Дополнительные услуги

При необходимости добавьте дополнительные услуги к вашему проекту

Тренд-аналитика
Анализ актуальных трендов, прогноз сезона, референсы для коллекции
Создание ассортиментной матрицы
Структура ассортимента, ценовые категории, логика коллекции
Айдентика: нейминг, логотип, бренд-платформа
Название, визуальный стиль, позиционирование и ценности бренда
План развития бренда
Каналы продаж, ценовая политика, юнит-экономика
Технический паспорт изделия
Техзадание, табель мер, конфекционная карта, раскладка и расходы
Создание сайта
Разработка и запуск сайта бренда под ключ
Post production: street style и предметная съёмка
Профессиональная съёмка готовых изделий для продаж и соцсетей
Помощь в получении сертификата соответствия
Сопровождение процесса сертификации продукции
Маркировка продукции в системе «Честный знак»
Регистрация и нанесение кодов маркировки на всю партию
6 Ваши контакты
7 Комментарий
Заявка отправлена
Мы получили ваши данные и свяжемся с вами
в течение одного рабочего дня.

Запустите бренд
вместе с нами

Экспертная команда · 350+ брендов · Factory Base

Написать в Telegram →

@sewing_factory