:root { --red: #FF0000; --white: #F9F9F9; --black: #0F0F0F; } body { font-family: 'Montserrat', sans-serif; background-color: var(--white); color: var(--black); overflow-x: hidden; } .font-acc { font-family: 'Unbounded', sans-serif; } .font-serif { font-family: 'Lora', serif; } .noise::before { content: ""; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: url('https://grainy-gradients.vercel.app/noise.svg'); opacity: 0.04; pointer-events: none; z-index: 9999; } .pt-header { padding-top: 100px; } .btn-black { background: var(--black); color: white; padding: 1.2rem 2rem; font-family: 'Unbounded', sans-serif; font-weight: 900; text-transform: uppercase; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); display: inline-block; text-align: center; font-size: 0.875rem; border: 4px solid var(--black); cursor: pointer; box-shadow: 4px 4px 0px var(--red); } .btn-black:hover { background: var(--red); transform: translate(-3px, -3px); box-shadow: 7px 7px 0px var(--black); } .btn-outline { border: 4px solid var(--black); color: var(--black); padding: 1.2rem 2rem; font-family: 'Unbounded', sans-serif; font-weight: 900; text-transform: uppercase; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); display: inline-block; text-align: center; font-size: 0.875rem; box-shadow: 4px 4px 0px var(--black); } .btn-outline:hover { background: var(--black); color: white; transform: translate(-3px, -3px); box-shadow: 7px 7px 0px var(--red); } .photo-box { position: relative; overflow: hidden; background-color: #ddd; width: 100%; } .photo-box img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1); } .photo-box:hover img { transform: scale(1.05); } .marquee-container { white-space: nowrap; overflow: hidden; display: inline-block; animation: marquee-flow 25s linear infinite; } @keyframes marquee-flow { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } .vertical-text { writing-mode: vertical-rl; transform: rotate(180deg); } .custom-scroll::-webkit-scrollbar { height: 8px; } .custom-scroll::-webkit-scrollbar-track { background: #f1f1f1; border-top: 4px solid #000; } .custom-scroll::-webkit-scrollbar-thumb { background: #000; } .custom-scroll::-webkit-scrollbar-thumb:hover { background: var(--red); } @media (max-width: 768px) { .pt-header { padding-top: 80px; } }
ЧИСТЫЙ
ДОФАМИН
ФЕДЕРАЛЬНЫЙ КУЛИНАРНЫЙ ПОЕДИНОК

БИТВА
НА КУХНЕ

Масштабная серия поединков шеф-поваров и блогеров в реальном времени.

Площадка шоу
2026
КУХНЯ • ЭМОЦИИ • РОССИЯ • ВКУС • ДРАЙВ • ПОБЕДА • ШОУ • КУХНЯ • ЭМОЦИИ • РОССИЯ • ВКУС • ДРАЙВ • ПОБЕДА • ШОУ •

Суть
проекта

«Шеф-повар — это стратег, который направляет и контролирует, не касаясь продуктов своими руками. Все блюда создаются руками топовых media-персон. В этом кроется невероятный хаос, комедия и настоящая драма высокой кухни».

Жюри за работой
10
Жестких правил поединка

Шеф лишен возможности готовить сам — побеждает тот, кто умеет идеально объяснять процессы на расстоянии.

20М+
Медиа охват сезона

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

В КАЖДОМ ГОРОДЕ НАШЕГО ТУРА:
  • 4 ЗВЕЗДНЫХ ШЕФ-ПОВАРА
  • 4 ТОПОВЫХ МЕДИА-БЛОГЕРА
  • 3 ЭКСПЕРТНЫХ ЧЛЕНА ЖЮРИ
  • 1500+ ЗРИТЕЛЕЙ НА МЕСТЕ
Процесс готовки

5 ОТБОРОЧНЫХ ТУРОВ
ПОЛУФИНАЛ И ФИНАЛ В МОСКВЕ

ГОРОДА
И УЧАСТНИКИ

Выберите город для просмотра роскошной сборной команды

Битва Вкусов

ПЕНЗА

ДАТА ПРОВЕДЕНИЯ: 11 ИЮЛЯ

Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.

Шеф-Повара (4)
Блогеры (4)

А СУДЬИ
КТО?

Жюри, эксперты индустрии и звездные гости.

Листай вправо →
Александр Пушков

Александр Пушков

Шеф-повар и телеведущий

«Рэмбо» кулинарного мира. Следит за идеальным соблюдением поварских стандартов и жестким таймингом.

Денис Крупеня

Денис Крупеня

Бренд-шеф, телеведущий

Один из самых харизматичных шефов страны. Бескомпромиссно оценивает баланс вкуса и командную работу на станциях.

Александр Югра

Александр Югра

Шеф-повар, шоумен

Харизматичный кулинарный амбассадор. Оценивает эмоциональную подачу и общую дофаминовую ценность блюд.

ТВОЙ
ШАНС СТАТЬ
ЗВЕЗДОЙ

Ищем амбициозных шеф-поваров и ярких блогеров для участия в самом громком гастро-шоу страны.

Участники

ПАРТНЕРЫ
МЕРОПРИЯТИЯ

Партнер
Партнер
Партнер
Партнер
Партнер
Партнер
Партнер
Партнер

СТАТЬ
ПАРТНЕРОМ

Получите доступ к миллионной аудитории и станьте частью главного гастрономического события года.

ПО ВСЕМ ВОПРОСАМ:

INFO@OPENGASTRO.RU
// База данных по городам и участникам тура const citiesData = { penza: { title: "ПЕНЗА", date: "20-21 ИЮНЯ", tagline: "Битва Вкусов • Локальные специалитеты Сурского края", desc: "Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.", chefs: [ { name: "Илья Ласкавый", desc: "Шеф-куратор «Крафт»", label: "Баттл-Шеф", img: "https://static.tildacdn.com/tild3834-3863-4432-b863-346139393037/_.JPG", bio: "Амбициозный шеф-повар с глубоким пониманием современной локальной кухни Поволжья. Сторонник чистых, понятных вкусов и безупречной технической дисциплины." }, { name: "Алексей Мещеряков", desc: "Шеф-повар «Gojira»", label: "Баттл-Шеф", img: "https://static.tildacdn.com/tild6130-3330-4266-b165-373661366339/_.JPG", bio: "Опытнейший повар и визионер гастрономической культуры Пензы. Любит переосмыслять классические европейские рецепты с использованием редких сурских продуктов." }, { name: "Сергей Подгорнов", desc: "Шеф-повар кафе Гости", label: "Баттл-Шеф", img: "https://static.tildacdn.com/tild3030-3939-4861-a437-666238323362/_.JPG", bio: "Сергей — профессионал своего дела, который ежедневно создает блюда, объединяющие качество, вкус и авторский подход. Его кулинарный стиль основан на уважении к продукту, внимании к деталям и любви к гастрономии." }, { name: "Станислав Шпагин", desc: "Шеф-повар «Абашево бистро»", label: "Баттл-Шеф", img: "https://static.tildacdn.com/tild3732-3861-4265-a337-386233353466/_.png", bio: "Прогрессивный шеф-новатор, активно использующий локальное сырьё, лесные дикоросы и традиционные техники ферментации в современном авторском ключе." } ], bloggers: [ { name: "Ольга Комазенок", desc: "Популярный лайфстайл-блогер, инфлюенсер", label: "Блогер-Повар", img: "https://static.tildacdn.com/tild3966-3836-4234-b337-653861353937/2026-06-17_151652.jpg", bio: "Оля — блогер и яркая творческая личность, которая привлекает аудиторию своей искренностью, позитивной энергией и умением создавать интересный и живой контент." }, { name: "Жанна Валова", desc: "Педиатр | Эксперт по питанию детей", label: "Блогер-Повар", img: "https://static.tildacdn.com/tild6632-6333-4463-b131-363639623235/_.JPG", bio: "Врач-педиатр, которой ежедневно доверяют самое ценное — здоровье детей. В своих социальных сетях Жанна помогает родителям разбираться в вопросах прикорма." }, { name: "Элина", desc: "Фуд-инфлюенсер, кулинарный блогер", label: "Блогер-Повар", img: "https://static.tildacdn.com/tild3231-6636-4363-a139-396631326234/photo.JPG", bio: "Фуд-блогер, автор популярных рецептов и кулинарного контента, за которым следят более 300 тысяч подписчиков. Элина вдохновляет своей любовью к кулинарии." }, { name: "Павел Волков", desc: "Медиа-блогер, шоумен, ведущий мероприятий", label: "Блогер-Повар", img: "https://static.tildacdn.com/tild3335-3933-4632-b237-323666333735/_.JPG", bio: "Блогер и Stand Up-комик, который умеет находить повод для улыбки в любой ситуации. Свою аудиторию Павел покорил искромётным юмором." } ] }, spb: { title: "СПБ", date: "29 АВГУСТА", tagline: "Vokzal 1853 • Северо-западный кулинарный авангард", desc: "Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.", chefs: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Баттл-Шеф", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })), bloggers: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Блогер-Повар", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })) }, nsk: { title: "НОВОСИБИРСК", date: "12 ИЮЛЯ", tagline: "Фестиваль «В Сибири - есть!» • Мощь сибирского духа", desc: "Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.", chefs: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Баттл-Шеф", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })), bloggers: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Блогер-Повар", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })) }, mhk: { title: "МАХАЧКАЛА", date: "8-9 АВГУСТА", tagline: "Фестиваль «Наследие» • Гастрономический огонь Кавказа", desc: "Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.", chefs: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Баттл-Шеф", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })), bloggers: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Блогер-Повар", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })) }, yar: { title: "ЯРОСЛАВЛЬ", date: "23 АВГУСТА", tagline: "«Пир на Волге» • Финальный аккорд Золотого Кольца", desc: "Суровое противостояние команд в приготовлении из локальных ингредиентов. Никто не знает, что в Черном Ящике.", chefs: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Баттл-Шеф", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })), bloggers: Array(4).fill(null).map(() => ({ name: "Скоро будет известно", desc: "Определяется кастингом", label: "Блогер-Повар", img: "", bio: "Имя участника этого этапа будет объявлено сразу после завершения финального кастинга." })) } }; let activeCity = "penza"; // Управление кнопками городов function renderCityButtons() { const container = document.getElementById('city-buttons-container'); if(!container) return; container.innerHTML = ''; Object.keys(citiesData).forEach(cityKey => { const city = citiesData[cityKey]; const isActive = cityKey === activeCity; const activeClasses = isActive ? 'bg-red-50 border-l-8 border-red-600' : 'hover:bg-gray-50'; container.innerHTML += `
${city.date}
${city.title}
"${city.tagline.split('•')[0].trim()}"
`; }); } // Обновление контента активного города function renderActiveCityData() { const city = citiesData[activeCity]; document.getElementById('active-city-name').innerText = city.title; document.getElementById('active-city-date').innerText = city.date; document.getElementById('active-city-tagline').innerText = city.tagline; document.getElementById('active-city-desc').innerText = city.desc; const chefsContainer = document.getElementById('chefs-container'); const bloggersContainer = document.getElementById('bloggers-container'); chefsContainer.innerHTML = ''; bloggersContainer.innerHTML = ''; city.chefs.forEach((chef, index) => { chefsContainer.innerHTML += createParticipantCard(chef, 'chefs', index); }); city.bloggers.forEach((blogger, index) => { bloggersContainer.innerHTML += createParticipantCard(blogger, 'bloggers', index); }); } // Шаблонизатор карточки участника function createParticipantCard(person, role, index) { const hasImage = person.img && person.img.trim() !== ""; const imageHtml = hasImage ? `${person.name}` : ''; const placeholderHtml = `
КАСТИНГ
`; return `
${imageHtml} ${placeholderHtml}
${person.name}
${person.desc}
${person.label}
`; } // Модальное окно function openModal(role, index) { const person = citiesData[activeCity][role][index]; const modalImg = document.getElementById('modal-img'); const modalPlaceholder = document.getElementById('modal-placeholder'); if (person.img && person.img.trim() !== "") { modalImg.src = person.img; modalImg.classList.remove('hidden'); modalPlaceholder.classList.add('hidden'); modalImg.onerror = function() { this.classList.add('hidden'); modalPlaceholder.classList.remove('hidden'); }; } else { modalImg.classList.add('hidden'); modalPlaceholder.classList.remove('hidden'); } document.getElementById('modal-name').innerText = person.name; document.getElementById('modal-desc').innerText = person.desc; document.getElementById('modal-label').innerText = person.label; document.getElementById('modal-bio').innerText = person.bio; document.getElementById('bio-modal').classList.remove('hidden'); } function closeModal() { document.getElementById('bio-modal').classList.add('hidden'); } function switchCity(cityKey) { activeCity = cityKey; renderCityButtons(); renderActiveCityData(); } // Инициализация при загрузке страницы window.onload = function() { renderCityButtons(); renderActiveCityData(); }
Made on
Tilda