// Year
document.getElementById('year').textContent = new Date().getFullYear();
// Simple form handler (no backend)
const form = document.getElementById('leadForm');
const status = document.getElementById('formStatus');
form.addEventListener('submit', (e) => {
e.preventDefault();
const data = Object.fromEntries(new FormData(form).entries());
// You can replace this with your POST to a form service
console.log('Lead form data:', data);
status.textContent = i18n.t('form_ok');
form.reset();
setTimeout(()=>{ status.textContent=''; }, 3500);
});
// i18n
const i18n = (function(){
const dict = {
es: {
nav_services: "Servicios",
nav_pricing: "Precios",
nav_cases: "Casos",
nav_contact: "Contacto",
hero_title: "Operaciones de clase mundial & Coffee Cart premium",
hero_sub: "One‑stop shop para restaurantes, cafés y eventos en Miami. Implementamos procesos, entrenamos equipos y llevamos café de especialidad a tus invitados.",
cta_quote: "Cotiza ahora",
cta_view_pricing: "Ver precios",
svc_title: "Servicios de Consultoría y Capacitación",
svc_barista_title: "Formación para Baristas",
svc_barista_desc: "Técnicas de café de especialidad, latte art, protocolos de servicio.",
svc_managers_title: "Entrenamientos a Managers",
svc_managers_desc: "Liderazgo, KPIs, control de costos y escalabilidad operativa.",
svc_staff_title: "Formación Integral del Personal",
svc_staff_desc: "Hospitalidad 5★, SOPs FOH/BOH y experiencia del cliente.",
svc_toast_title: "Entrenamiento en Toast POS",
svc_toast_desc: "Menús, modificadores, impresoras/KDS y reportes avanzados.",
svc_delivery_title: "Gestión de DoorDash & Uber Eats",
svc_delivery_desc: "Optimización de preferencias, catálogo y pricing para maximizar ventas.",
svc_scheduling_title: "Gestión de Horarios & Payroll",
svc_scheduling_desc: "Programación eficiente, control de horas extra y procesos de nómina.",
svc_labor_title: "Labor Cost & KPIs",
svc_labor_desc: "Análisis de márgenes, forecast y tableros para decisiones en tiempo real.",
svc_inventory_title: "Inventario con MarketMan",
svc_inventory_desc: "Setup, recetas, compras y reducción de desperdicios.",
svc_openings_title: "Aperturas de Nuevos Locales",
svc_openings_desc: "Plan maestro, selección de talento, pre‑opening y go‑live.",
price_title: "Precios Sugeridos",
price_cart: "Coffee Cart",
price_cart2: "2 h / 50 invitados: ",
price_cart4: "4 h / 100 invitados: ",
price_extra_hour: "Hora extra: ",
price_barista: "Barista adicional (hora): ",
price_consulting: "Consultoría",
price_barista_train: "Barista training (hora): ",
price_manager_train: "Manager training (hora): ",
price_staff_day: "Staff training (8 h): ",
price_toast_setup: "Toast POS setup: ",
price_delivery_opt: "DoorDash/Uber Eats: ",
price_sched_payroll: "Horarios & Payroll: ",
price_labor_plan: "Labor cost plan: ",
price_marketman: "MarketMan setup: ",
price_opening: "Apertura local: ",
price_retainer10: "Retainer 10 h/mes: ",
price_retainer20: "Retainer 20 h/mes: ",
price_notes_title: "Notas Estratégicas",
price_note_deposit: "Depósito mínimo 50% para asegurar fecha/servicio.",
price_note_addons: "Add‑ons: café single origin, branding del carrito, latte art avanzado.",
price_note_discount: "Descuento ~10% en retainers de 3+ meses.",
cases_title: "Casos y Testimonios",
contact_title: "Hablemos",
contact_sub: "Agenda una llamada de diagnóstico o solicita una cotización.",
form_name: "Nombre",
form_phone: "Teléfono",
form_service: "Servicio",
form_date: "Fecha del evento (si aplica)",
form_msg: "Mensaje",
form_send: "Enviar",
form_ok: "¡Gracias! Te contactaremos en breve.",
contact_alt: "Reserva una llamada",
contact_cal: "Integra tu Calendly aquí o usa el botón para agendar.",
cta_calendar: "Abrir Calendario",
legal_note: "Sujeto a disponibilidad. Se aplican términos del contrato."
},
en: {
nav_services: "Services",
nav_pricing: "Pricing",
nav_cases: "Cases",
nav_contact: "Contact",
hero_title: "World‑class Operations & Premium Coffee Cart",
hero_sub: "One‑stop shop for restaurants, cafés and events in Miami. We implement processes, train teams, and bring specialty coffee to your guests.",
cta_quote: "Get a quote",
cta_view_pricing: "View pricing",
svc_title: "Consulting & Training Services",
svc_barista_title: "Barista Training",
svc_barista_desc: "Specialty coffee techniques, latte art, service protocols.",
svc_managers_title: "Manager Training",
svc_managers_desc: "Leadership, KPIs, cost control and scalable ops.",
svc_staff_title: "Full Staff Training",
svc_staff_desc: "5★ hospitality, FOH/BOH SOPs and guest experience.",
svc_toast_title: "Toast POS Training",
svc_toast_desc: "Menus, modifiers, printers/KDS and advanced reports.",
svc_delivery_title: "DoorDash & Uber Eats Management",
svc_delivery_desc: "Preferences, catalog and pricing optimization to maximize sales.",
svc_scheduling_title: "Scheduling & Payroll",
svc_scheduling_desc: "Efficient shifts, overtime control and payroll processes.",
svc_labor_title: "Labor Cost & KPIs",
svc_labor_desc: "Margins, forecast and real‑time decision dashboards.",
svc_inventory_title: "MarketMan Inventory",
svc_inventory_desc: "Setup, recipes, purchasing and waste reduction.",
svc_openings_title: "New Venue Openings",
svc_openings_desc: "Master plan, talent selection, pre‑opening and go‑live.",
price_title: "Suggested Pricing",
price_cart: "Coffee Cart",
price_cart2: "2 h / 50 guests: ",
price_cart4: "4 h / 100 guests: ",
price_extra_hour: "Extra hour: ",
price_barista: "Additional barista (per hour): ",
price_consulting: "Consulting",
price_barista_train: "Barista training (hour): ",
price_manager_train: "Manager training (hour): ",
price_staff_day: "Staff training (8 h): ",
price_toast_setup: "Toast POS setup: ",
price_delivery_opt: "DoorDash/Uber Eats: ",
price_sched_payroll: "Scheduling & Payroll: ",
price_labor_plan: "Labor cost plan: ",
price_marketman: "MarketMan setup: ",
price_opening: "New location opening: ",
price_retainer10: "Retainer 10 h/mo: ",
price_retainer20: "Retainer 20 h/mo: ",
price_notes_title: "Strategic Notes",
price_note_deposit: "Minimum 50% deposit to secure date/service.",
price_note_addons: "Add‑ons: single‑origin coffee, cart branding, advanced latte art.",
price_note_discount: "~10% discount on 3+ month retainers.",
cases_title: "Case Studies & Testimonials",
contact_title: "Let's talk",
contact_sub: "Book a discovery call or request a quote.",
form_name: "Name",
form_phone: "Phone",
form_service: "Service",
form_date: "Event date (if applicable)",
form_msg: "Message",
form_send: "Send",
form_ok: "Thanks! We'll reach out shortly.",
contact_alt: "Book a call",
contact_cal: "Embed your Calendly here or use the button to schedule.",
cta_calendar: "Open Calendar",
legal_note: "Subject to availability. Contract terms apply."
}
};
let current = 'es';
function set(lang){
current = lang;
document.querySelectorAll('[data-i18n]').forEach(el=>{
const key = el.getAttribute('data-i18n');
if(dict[lang][key]){
if(el.tagName === 'INPUT' || el.tagName === 'TEXTAREA'){
el.placeholder = dict[lang][key];
} else {
if(el.innerHTML.includes('')){
// Preserve strong values if present
const strong = el.querySelector('strong')?.outerHTML || '';
el.textContent = dict[lang][key];
if(strong) el.insertAdjacentHTML('beforeend',' '+strong);
} else {
el.textContent = dict[lang][key];
}
}
}
});
}
return {t:(k)=>dict[current][k]||k,set};
})();
document.getElementById('btn-es').addEventListener('click', ()=>{
i18n.set('es');
document.getElementById('btn-es').classList.add('active');
document.getElementById('btn-en').classList.remove('active');
});
document.getElementById('btn-en').addEventListener('click', ()=>{
i18n.set('en');
document.getElementById('btn-en').classList.add('active');
document.getElementById('btn-es').classList.remove('active');
});
// Initialize language
i18n.set('es');