{
  "html": "<section class='projects'><div class='projects__inner'><h2 class='projects__title'>Наши категории</h2><div class='projects__grid'><a href='#' class='projects__card'><div class='projects__icon'><svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-4.35-9.33-8.5C.9 9.1 2.5 5.5 6 5.5c2 0 3.2 1.1 4 2.2.8-1.1 2-2.2 4-2.2 3.5 0 5.1 3.6 3.33 7C19 16.65 12 21 12 21z'/></svg></div><h3 class='projects__card-title'>Интимные аксессуары</h3><p class='projects__card-text'>Шелковые повязки, наручники, перья и наборы для ролевых игр — для мягкого и безопасного эксперимента.</p></a><a href='#' class='projects__card'><div class='projects__icon'><svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg></div><h3 class='projects__card-title'>Массажные масла</h3><p class='projects__card-text'>Натуральные масла и лубриканты на водной и силиконовой основе. Гипоаллергенные составы и приятные ароматы.</p></a><a href='#' class='projects__card'><div class='projects__icon'><svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l2.5 5.5L20 9l-4 4 1 6-5-3-5 3 1-6-4-4 5.5-.5z'/></svg></div><h3 class='projects__card-title'>Подарочные наборы</h3><p class='projects__card-text'>Готовые комплекты для пар: свечи, аксессуары и карточки с идеями. Упакованы в стильную коробку.</p></a><a href='#' class='projects__card'><div class='projects__icon'><svg viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='7' width='18' height='13' rx='2'/><path d='M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/><path d='M12 12v4'/></svg></div><h3 class='projects__card-title'>Анонимная доставка</h3><p class='projects__card-text'>Отправляем в нейтральной упаковке без названия магазина. Курьер не знает, что внутри — только вы и ваш сюрприз.</p></a></div></div></section>",
  "css": ".projects { position: relative; overflow: hidden; animation: projects-breathe 4s ease-in-out infinite; } .projects .projects__title { position: relative; display: inline-block; left: 50%; transform: translateX(-50%); } .projects .projects__title::after { content: ''; position: absolute; left: 0; bottom: -12px; width: 100%; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #2563eb, #60a5fa, #2563eb); transform-origin: left center; animation: projects-wave 0.3s ease-out both; } .projects .projects__card { position: relative; } .projects .projects__card::before { content: ''; position: absolute; top: 18px; right: 18px; width: 8px; height: 8px; border-radius: 50%; background: #3b82f6; box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15); transform: scale(0); transition: transform 0.25s ease; } .projects .projects__card:hover::before { transform: scale(1); } .projects .projects__inner::after { content: ''; position: absolute; top: -80px; right: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(96, 165, 250, 0.35), rgba(96, 165, 250, 0) 70%); pointer-events: none; animation: projects-pulse 5s ease-in-out infinite; } @keyframes projects-breathe { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.01); } } @keyframes projects-wave { 0% { transform: scaleX(0); opacity: 0; } 100% { transform: scaleX(1); opacity: 1; } } @keyframes projects-pulse { 0%, 100% { transform: scale(1); opacity: 0.6; } 50% { transform: scale(1.25); opacity: 1; } }"
}