WhatsApp:6902 4131
Browse dishes first, then go to the order page to organise and send via WhatsApp
Yoichi CATERING
Selected 0 items, total HK$0
📋 View Order
Yoichi Ordering

Order Online Online Ordering

Select dishes from 8 categories, set quantities and add to cart. When ready, go to the order page to fill in delivery details and generate a WhatsApp message with one click.

Menu Tabs

Select a Category to Start Adding Dishes

Each category includes sample items and prices as a starting point for budgeting and menu planning.

/* ===== SCROLL REVEAL ANIMATIONS ===== */ (function() { const revealElements = document.querySelectorAll('.reveal, .reveal-scale'); if (!revealElements.length) return; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('visible'); observer.unobserve(entry.target); } }); }, { threshold: 0.15, rootMargin: '0px 0px -40px 0px' }); revealElements.forEach(el => observer.observe(el)); })(); /* ===== COUNTER ANIMATION ===== */ (function() { const counters = document.querySelectorAll('.about-highlight strong, .about-stats strong, .stat-number'); if (!counters.length) return; const animateCounter = (el) => { const text = el.textContent.trim(); const match = text.match(/^(\d+)([+]?.*)$/); if (!match) return; const target = parseInt(match[1]); const suffix = match[2] || ''; const duration = 1800; const start = performance.now(); const step = (now) => { const elapsed = now - start; const progress = Math.min(elapsed / duration, 1); const eased = 1 - Math.pow(1 - progress, 3); const current = Math.round(eased * target); el.textContent = current + suffix; if (progress < 1) requestAnimationFrame(step); }; requestAnimationFrame(step); }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { animateCounter(entry.target); observer.unobserve(entry.target); } }); }, { threshold: 0.5 }); counters.forEach(el => observer.observe(el)); })(); >
🌐 中文