// =====================================================================
// i18n.jsx — bilingual (EN / ES) translation layer
// Exposes: window.TRANSLATIONS, window.LanguageProvider, window.useT
// Language persists to localStorage. Default = 'en'.
// =====================================================================

const TRANSLATIONS = {
  en: {
    // ---------- NAV ----------
    'nav.tagline': 'AM DIGITAL SOLUTIONS · SYSTEMS & AUTOMATION',
    'nav.about':        'About',
    'nav.capabilities': 'Capabilities',
    'nav.cases':        'Case Studies',
    'nav.tools':        'Tools',
    'nav.process':      'Process',
    'nav.contact':      'Contact',
    'nav.cta':          'Book a call',

    // ---------- HERO ----------
    'hero.eyebrow':       'OPERATIONAL INTELLIGENCE · AM DIGITAL SOLUTIONS · LAREDO, TX',
    'hero.h1.main':       'Designing business systems that make companies',
    'hero.h1.accent':     'easier to operate.',
    'hero.lede':          'I design digital systems that turn fragmented operations into clear, measurable, scalable workflows — combining dashboards, automation, CRM architecture, and AI-powered systems.',
    'hero.quote.a':       'I build ',
    'hero.quote.b':       'tools',
    'hero.quote.c':       ' when they solve a specific problem — but my real focus is designing connected ',
    'hero.quote.d':       'systems',
    'hero.quote.e':       ' that make businesses easier to run.',
    'hero.cta.primary':   'Book a discovery call',
    'hero.cta.secondary': 'Or call the AI receptionist',
    'hero.stat1.num':     '30',
    'hero.stat1.label':   'Systems shipped',
    'hero.stat2.num':     '9',
    'hero.stat2.label':   'Industries served',
    'hero.stat3.num':     '5',
    'hero.stat3.label':   'Step methodology',
    'hero.diagram.caption.a': 'FIG · 01',
    'hero.diagram.caption.b': '— Connected systems architecture. One operational core, five integrated layers.',

    // ---------- ABOUT ----------
    'about.eyebrow':      '02 · ABOUT',
    'about.h2.a':         'Most businesses do not have a technology problem.',
    'about.h2.b':         ' They have a systems problem.',
    'about.p1':           'My background combines operations, logistics, customs, market analysis, business consulting, and digital product development. Working inside real operational environments taught me something early:',
    'about.p2':           'Information gets trapped across spreadsheets, WhatsApp conversations, disconnected software, manual processes, and individual knowledge. That fragmentation slows execution, weakens visibility, and makes growth harder.',
    'about.p3.a':         'My role is to turn that fragmentation into ',
    'about.p3.emph':      'structured digital systems',
    'about.p3.b':         ' that are easier to run, easier to measure, and easier to improve.',
    'about.principles.label': 'OPERATIONAL PRINCIPLES',
    'about.principle1':   'Simplicity scales better than complexity.',
    'about.principle2':   'Visibility drives accountability.',
    'about.principle3':   'Technology should simplify operations, not complicate them.',

    // Profile card
    'about.profile.label':    'OPERATOR PROFILE',
    'about.profile.active':   'ACTIVE',
    'about.profile.role':     'Business Systems & Automation Consultant',
    'about.profile.company.a':'Co-Founder · ',
    'about.profile.cred.ccs': 'CCS · CERTIFIED CUSTOMS SPECIALIST',
    'about.profile.cred.ba':  'B.A. MARKETING & ADVERTISING',
    'about.profile.based':    'BASED',
    'about.profile.basedVal': 'Laredo, TX · Nvo. Laredo, Tam.',
    'about.profile.focus':    'FOCUS',
    'about.profile.focusVal': 'Connected operational systems',
    'about.profile.langs':    'LANGUAGES',
    'about.profile.langsVal': 'English · Spanish',
    'about.profile.avail':    'AVAILABILITY',
    'about.profile.availVal': 'Accepting Q3 · 2026',

    // Background stack
    'about.bg.label':   'BACKGROUND · OPERATIONAL STACK',
    'about.bg.note':    'Four operational environments — customs, logistics, own products, consulting — feeding one systems-design practice.',
    'about.bg.role.amds':  'Co-Founder · Business Systems Consultant',
    'about.bg.role.cc':    'Co-Founder · Market Intelligence & Digital Products',
    'about.bg.role.buck':  'Customs Account Analyst',
    'about.bg.role.mast':  'Warehouse Operations Supervisor',
    'about.bg.tag.consulting': 'CONSULTING',
    'about.bg.tag.product':    'OWN PRODUCT',
    'about.bg.tag.customs':    'CUSTOMS',
    'about.bg.tag.logistics':  'LOGISTICS',

    // ---------- CAPABILITIES ----------
    'cap.eyebrow':  '03 · BUSINESS CAPABILITIES',
    'cap.h2':       'What I deliver',
    'cap.lede':     'Eight capabilities, designed to work as one connected system — not eight services on a list.',
    'cap.1.name':   'Process Mapping',
    'cap.1.desc':   'Documenting how operations actually run before any system is built.',
    'cap.2.name':   'Dashboard Design',
    'cap.2.desc':   'Operational views that replace spreadsheets and weekly reports.',
    'cap.3.name':   'Automation Strategy',
    'cap.3.desc':   'Removing repetitive work through structured workflow automation.',
    'cap.4.name':   'CRM Architecture',
    'cap.4.desc':   'Lead capture, qualification, and follow-up logic, mapped end-to-end.',
    'cap.5.name':   'AI Workflow Design',
    'cap.5.desc':   'AI agents and assistants embedded into real operational systems.',
    'cap.6.name':   'Digital Product Design',
    'cap.6.desc':   'Customer-facing booking, ordering, and account experiences.',
    'cap.7.name':   'Operational Analytics',
    'cap.7.desc':   'Measuring what matters — execution, conversion, throughput.',
    'cap.8.name':   'Business Systems Design',
    'cap.8.desc':   'The connective layer between all of the above.',

    // ---------- CASE STUDIES · HEADER ----------
    'cs.eyebrow':    '04 · CASE STUDIES',
    'cs.h2':         'Selected work.',
    'cs.lede.a':     'A curated view of 12 systems from 30',
    'cs.lede.b':     '+',
    'cs.lede.c':     ' shipped since 2021. Two narratives: client work across seven industries, and the CryptoCultura ecosystem I operate and sell.',
    'cs.group.a.title': 'Client work',
    'cs.group.a.desc':  'Seven systems built for operating businesses across hospitality, personal services, healthcare, logistics, customs, and voice AI.',
    'cs.group.a.count': '07\u00a0CASES',
    'cs.group.b.title': 'Own products · CryptoCultura ecosystem',
    'cs.group.b.desc':  'Four connected surfaces: the business itself, the AI research agent, the trading terminal, and the journal.',
    'cs.group.b.count': '04\u00a0CASES',

    // Headliner VIALEDSA
    'cs.vialedsa.badge':     'HEADLINER · 01',
    'cs.vialedsa.launch':    'LAUNCHING AUGUST 2026',
    'cs.vialedsa.client':    'VIALEDSA — Desarrolladora Inmobiliaria',
    'cs.vialedsa.location':  'Nuevo Laredo, Tamaulipas · México',
    'cs.vialedsa.title':     'VIALEDSA · Real Estate Development System',
    'cs.vialedsa.problem.label': 'PROBLEM',
    'cs.vialedsa.problem':   'A full-scale real estate developer needed a single connected system to manage lead capture, sales pipeline, and 280 units of inventory across residential and commercial tracts — replacing scattered spreadsheets, WhatsApp threads, and manual follow-up.',
    'cs.vialedsa.layers.label': 'SYSTEM LAYERS',
    'cs.vialedsa.l1.name':   'CUSTOMER WEB',
    'cs.vialedsa.l1.desc':   'Property browsing, lead capture, contact requests',
    'cs.vialedsa.l2.name':   'CRM DASHBOARD',
    'cs.vialedsa.l2.desc':   'Pipeline, inventory, agent workflow, follow-up automation',
    'cs.vialedsa.l3.name':   'AUTOMATION LAYER',
    'cs.vialedsa.l3.desc':   'Lead routing, notifications, status changes, reporting',
    'cs.vialedsa.stats.label': 'OPERATIONAL METRICS',
    'cs.vialedsa.stat.units': 'UNITS UNDER MGMT',
    'cs.vialedsa.stat.surfaces': 'SURFACES',
    'cs.vialedsa.stat.industry': 'INDUSTRY',
    'cs.vialedsa.stat.industry.val': 'REAL ESTATE',
    'cs.vialedsa.stat.status': 'STATUS',
    'cs.vialedsa.stat.status.val': 'IN DEVELOPMENT',
    'cs.vialedsa.scale':     '280 UNITS · 250 residential · 30 commercial',
    'cs.vialedsa.cta.customer': 'Open customer site',
    'cs.vialedsa.cta.dashboard': 'Open CRM dashboard',
    'cs.vialedsa.arch.label': 'SYSTEM MAP · v1',
    'cs.vialedsa.arch.customer': 'CUSTOMER',
    'cs.vialedsa.arch.automation': 'AUTOMATION',
    'cs.vialedsa.arch.crm': 'CRM',
    'cs.vialedsa.arch.core': 'CORE',

    // ------ Case cards common labels ------
    'cs.card.problem':  'PROBLEM',
    'cs.card.surfaces': 'SURFACES',

    // ----- CLIENT WORK cases (02-08) -----
    // 02 Restaurant
    'cs.02.name':      'Restaurant Ordering & Reservation',
    'cs.02.industry':  'Hospitality',
    'cs.02.problem':   'Orders and reservations handled manually, creating friction between the floor, kitchen, and returning customers.',
    'cs.02.surface1':  'Customer web',
    'cs.02.kpi':       'Customer flow live',
    'cs.02.demo1':     'Live demo',
    'cs.02.demo2':     'Watch on YouTube',

    // 03 Barber
    'cs.03.name':      'Barber Booking System',
    'cs.03.industry':  'Personal Services',
    'cs.03.problem':   'Booking depended on messages and manual scheduling; visibility was reactive, not operational.',
    'cs.03.surface1':  'Customer',
    'cs.03.surface2':  'Operator dashboard',
    'cs.03.kpi':       'End-to-end booking',
    'cs.03.demo1':     'Customer site',
    'cs.03.demo2':     'Operator dashboard',

    // 04 Nails
    'cs.04.name':      'Nails Therapy Booking',
    'cs.04.industry':  'Personal Services · Beauty',
    'cs.04.problem':   'Appointment scheduling and client history lived across DMs and paper — losing repeat visits and slot visibility.',
    'cs.04.surface1':  'Customer',
    'cs.04.surface2':  'Operator dashboard',
    'cs.04.kpi':       'Booking + history unified',
    'cs.04.demo1':     'Customer site',
    'cs.04.demo2':     'Operator dashboard',

    // 05 Clinic
    'cs.05.name':      'Clinic Operations Hub',
    'cs.05.industry':  'Healthcare · Clinics',
    'cs.05.problem':   'Clinic operations depended on reception staff, WhatsApp, and paper-based coordination.',
    'cs.05.surface1':  'Patient web',
    'cs.05.surface2':  'Staff dashboard',
    'cs.05.kpi':       'Unified patient flow',
    'cs.05.demo1':     'Patient site',
    'cs.05.demo2':     'Staff dashboard',

    // 06 Logistics
    'cs.06.name':      'Logistics Operational Dashboard',
    'cs.06.industry':  'Logistics · Warehouse',
    'cs.06.problem':   'Operational visibility fragmented across spreadsheets, manual tracking, and radio-driven decisions.',
    'cs.06.surface1':  'Internal operations tool',
    'cs.06.kpi':       'One operational view',
    'cs.06.demo1':     'Open dashboard',

    // 07 Customs AI
    'cs.07.name':      'Customs Specialist AI',
    'cs.07.industry':  'Customs · Trade Compliance',
    'cs.07.problem':   'Customs teams lost time searching dispersed compliance knowledge across HTS, GRI, and prior rulings.',
    'cs.07.surface1':  'Conversational AI agent',
    'cs.07.kpi':       'HTS · GRI queryable',
    'cs.07.demo1':     'Talk to the agent',
    'cs.07.note':      'Requires free Genspark account.',

    // 08 AI Receptionist
    'cs.08.name':      'AI Receptionist',
    'cs.08.industry':  'Customer Support · AI Voice',
    'cs.08.problem':   'Businesses relied on manual responses for repetitive inbound calls — losing time and losing leads.',
    'cs.08.surface1':  'Voice AI · phone-answering system',
    'cs.08.kpi':       '24/7 qualification',
    'cs.08.demo1':     'Call to see it live',

    // ----- OWN PRODUCTS (09-12) -----
    // 09 CC infra
    'cs.09.name':      'CryptoCultura · Business Infrastructure',
    'cs.09.industry':  'Own product · Business ops',
    'cs.09.problem':   'The public site + lead capture + CRM + workflow automation running the CryptoCultura business itself.',
    'cs.09.surface1':  'Landing',
    'cs.09.surface2':  'Lead capture',
    'cs.09.surface3':  'Internal CRM',
    'cs.09.surface4':  'Automation',
    'cs.09.kpi':       'Live at cryptocultura.io',
    'cs.09.demo1':     'Open site',

    // 10 CC agent
    'cs.10.name':      'CryptoCultura Agent',
    'cs.10.industry':  'AI · Financial markets research',
    'cs.10.problem':   'Research workflows were too dependent on manual lookup across sources.',
    'cs.10.surface1':  'Conversational AI agent',
    'cs.10.kpi':       'Internal research layer',
    'cs.10.demo1':     'Talk to the agent',
    'cs.10.note':      'Requires free Genspark account.',

    // 11 CC terminal
    'cs.11.name':      'CryptoCultura Terminal',
    'cs.11.industry':  'Digital product · Trading',
    'cs.11.problem':   'Traders lack a single connected surface: agents, journal, portfolio, and real-time data live in separate tools.',
    'cs.11.surface1':  '4 trading AI agents',
    'cs.11.surface2':  'Journal',
    'cs.11.surface3':  'Real-time API',
    'cs.11.surface4':  'Portfolio',
    'cs.11.surface5':  'Morning Briefing',
    'cs.11.surface6':  'Trader Workspace Pro',
    'cs.11.kpi':       'Waitlist open',
    'cs.11.demo1':     'Open live workspace',
    'cs.11.demo2':     'Join waitlist',

    // 12 CC journal
    'cs.12.name':      'CryptoCultura Journal Pro',
    'cs.12.industry':  'Digital product · Trader analytics',
    'cs.12.problem':   'Traders keep records but rarely turn them into performance decisions — no discipline layer, no structured review.',
    'cs.12.surface1':  'Dashboard',
    'cs.12.surface2':  'Trade Log',
    'cs.12.surface3':  'Calendar',
    'cs.12.surface4':  'Day Review',
    'cs.12.surface5':  'Reports',
    'cs.12.surface6':  'Playbooks',
    'cs.12.surface7':  'Notebook',
    'cs.12.kpi':       'Commercial product',
    'cs.12.demo1':     'View on cryptocultura.io',
    'cs.12.note':      'Live product · login-gated after purchase.',

    // ---------- ALSO ON THE SHELF ----------
    'shelf.eyebrow':    '05 · ALSO ON THE SHELF',
    'shelf.h2':         'Client tools',
    'shelf.lede':       'Single-purpose tools designed for specific client operations. Narrower scope than the systems above — but built the same way. Client logos redacted; available on request.',
    'shelf.confidential': 'CONFIDENTIAL',
    'shelf.cta':        'Request access',
    'shelf.footnote':   'Each tool was designed with a client-specific workflow in mind and shipped in production. Live demos will be published once client branding is redacted from the surfaces.',

    'shelf.s1.name':    'Warehouse Dock Assignment',
    'shelf.s1.domain':  'Warehouse Operations',
    'shelf.s1.desc':    'Identifies which dock door incoming freight is assigned to — replacing chalkboards and radio coordination.',
    'shelf.s2.name':    'Cargo Manifest & Weight',
    'shelf.s2.domain':  'Warehouse Operations',
    'shelf.s2.desc':    'Registers cargo contents and computes total load weight per shipment — one source of truth for the operations floor.',
    'shelf.s3.name':    'Labeling System',
    'shelf.s3.domain':  'Warehouse Operations',
    'shelf.s3.desc':    'Traceability labels for warehouse inventory operations — designed to fit an existing physical workflow.',

    // ---------- PROCESS ----------
    'proc.eyebrow':    '06 · PROCESS',
    'proc.h2':         'How I work — five steps, no shortcuts.',
    'proc.deliverable': 'DELIVERABLE',
    'proc.1.name':     'Business Discovery',
    'proc.1.desc':     'Listen to how operations actually run. Surface friction points, scattered tools, and tacit knowledge.',
    'proc.1.deliv':    'Discovery brief',
    'proc.2.name':     'Process Mapping',
    'proc.2.desc':     'Document current workflows end-to-end. Identify where information drops, repeats, or stalls.',
    'proc.2.deliv':    'Process map',
    'proc.3.name':     'System Architecture',
    'proc.3.desc':     'Design the connected system — dashboards, automation, CRM, AI layer, integrations.',
    'proc.3.deliv':    'Architecture spec',
    'proc.4.name':     'Implementation',
    'proc.4.desc':     'Build and integrate. Test against real operational scenarios, not lab conditions.',
    'proc.4.deliv':    'Live system',
    'proc.5.name':     'Optimization',
    'proc.5.desc':     'Measure execution, conversion, throughput. Iterate on what the data actually shows.',
    'proc.5.deliv':    'Ongoing review',

    // ---------- CONTACT ----------
    'ctc.eyebrow':     '07 · CONTACT',
    'ctc.h2.a':        'Let\u2019s design ',
    'ctc.h2.b':        'your system.',
    'ctc.lede':        'Most projects start with a 30-minute discovery call. We walk through how your operation runs today, where it\u2019s leaking visibility, and what an integrated system could look like.',
    'ctc.email':       'EMAIL',
    'ctc.linkedin':    'LINKEDIN',
    'ctc.ai':          'AI RECEPTIONIST',
    'ctc.based':       'BASED',
    'ctc.basedVal':    'Laredo, TX · Nvo. Laredo, Tam.',
    'ctc.avail':       'AVAILABILITY',
    'ctc.availVal':    '● Accepting new projects · Q3 2026',
    'ctc.operating':   'OPERATING\u00a0UNDER',
    'ctc.calNote.badge': 'SOON',
    'ctc.calNote.title': 'Booking through my own dashboard',
    'ctc.calNote.body':  'I don\u2019t use Calendly — I\u2019m building the scheduling layer inside my own operator dashboard. Until it ships, discovery calls are booked by email.',
    'ctc.form.title':  'Start a project',
    'ctc.form.meta':   '~ 30 sec',
    'ctc.form.name':   'Full name',
    'ctc.form.namePh': 'Your name',
    'ctc.form.email':  'Email',
    'ctc.form.emailPh':'you@company.com',
    'ctc.form.what':   'What system are you trying to build?',
    'ctc.form.whatPh': 'A few sentences about your operation and what\u2019s fragmented today\u2026',
    'ctc.form.type':   'Project type',
    'ctc.form.chip1':  'Dashboard',
    'ctc.form.chip2':  'Automation',
    'ctc.form.chip3':  'CRM',
    'ctc.form.chip4':  'AI Agent',
    'ctc.form.chip5':  'Full System',
    'ctc.form.chip6':  'Other',
    'ctc.form.submit': 'Send → Book discovery call',
    'ctc.form.foot.a': 'Or email directly · ',

    // ---------- FOOTER ----------
    'foot.tagline':    'Business Systems · Automation · Operational Intelligence',
    'foot.operating.a':'Operating under · ',
    'foot.col.systems':'SYSTEMS',
    'foot.col.cases':  'CASE STUDIES',
    'foot.col.connect':'CONNECT',
    'foot.sys.dash':   'Dashboards',
    'foot.sys.auto':   'Automation',
    'foot.sys.crm':    'CRM Architecture',
    'foot.sys.ai':     'AI Workflows',
    'foot.cases.client': 'Client work',
    'foot.cases.cc':   'CryptoCultura ecosystem',
    'foot.cases.tools':'Client tools',
    'foot.connect.laredo': 'Laredo, TX',
    'foot.copyright':  '\u00a9 2026 Alfredo A. Martínez',
    'foot.version':    'v3.0 · Operational Intelligence',
  },

  es: {
    // ---------- NAV ----------
    'nav.tagline': 'AM DIGITAL SOLUTIONS · SISTEMAS Y AUTOMATIZACIÓN',
    'nav.about':        'Sobre mí',
    'nav.capabilities': 'Capacidades',
    'nav.cases':        'Casos',
    'nav.tools':        'Herramientas',
    'nav.process':      'Proceso',
    'nav.contact':      'Contacto',
    'nav.cta':          'Agendar llamada',

    // ---------- HERO ----------
    'hero.eyebrow':       'INTELIGENCIA OPERACIONAL · AM DIGITAL SOLUTIONS · LAREDO, TX',
    'hero.h1.main':       'Diseño sistemas de negocio que hacen que las empresas sean',
    'hero.h1.accent':     'más fáciles de operar.',
    'hero.lede':          'Diseño sistemas digitales que convierten operaciones fragmentadas en flujos de trabajo claros, medibles y escalables — combinando dashboards, automatización, arquitectura de CRM y sistemas con IA.',
    'hero.quote.a':       'Construyo ',
    'hero.quote.b':       'herramientas',
    'hero.quote.c':       ' cuando resuelven un problema específico — pero mi enfoque real es diseñar ',
    'hero.quote.d':       'sistemas',
    'hero.quote.e':       ' conectados que hacen que los negocios operen mejor.',
    'hero.cta.primary':   'Agendar llamada de descubrimiento',
    'hero.cta.secondary': 'O llama a la recepcionista IA',
    'hero.stat1.num':     '30',
    'hero.stat1.label':   'Sistemas entregados',
    'hero.stat2.num':     '9',
    'hero.stat2.label':   'Industrias atendidas',
    'hero.stat3.num':     '5',
    'hero.stat3.label':   'Pasos de metodología',
    'hero.diagram.caption.a': 'FIG · 01',
    'hero.diagram.caption.b': '— Arquitectura de sistemas conectados. Un núcleo operacional, cinco capas integradas.',

    // ---------- ABOUT ----------
    'about.eyebrow':      '02 · SOBRE MÍ',
    'about.h2.a':         'La mayoría de los negocios no tienen un problema de tecnología.',
    'about.h2.b':         ' Tienen un problema de sistemas.',
    'about.p1':           'Mi experiencia combina operaciones, logística, aduanas, análisis de mercados, consultoría de negocios y desarrollo de productos digitales. Trabajar dentro de operaciones reales me enseñó algo desde temprano:',
    'about.p2':           'La información se atora entre hojas de cálculo, conversaciones de WhatsApp, software desconectado, procesos manuales y conocimiento individual. Esa fragmentación frena la ejecución, quita visibilidad y hace que crecer sea más difícil.',
    'about.p3.a':         'Mi rol es convertir esa fragmentación en ',
    'about.p3.emph':      'sistemas digitales estructurados',
    'about.p3.b':         ' que sean más fáciles de operar, más fáciles de medir y más fáciles de mejorar.',
    'about.principles.label': 'PRINCIPIOS OPERACIONALES',
    'about.principle1':   'La simplicidad escala mejor que la complejidad.',
    'about.principle2':   'La visibilidad impulsa la responsabilidad.',
    'about.principle3':   'La tecnología debe simplificar la operación, no complicarla.',

    // Profile card
    'about.profile.label':    'PERFIL DEL OPERADOR',
    'about.profile.active':   'ACTIVO',
    'about.profile.role':     'Consultor en Sistemas de Negocio y Automatización',
    'about.profile.company.a':'Co-Fundador · ',
    'about.profile.cred.ccs': 'CCS · CERTIFIED CUSTOMS SPECIALIST',
    'about.profile.cred.ba':  'LIC. EN MERCADOTECNIA Y PUBLICIDAD',
    'about.profile.based':    'BASADO EN',
    'about.profile.basedVal': 'Laredo, TX · Nvo. Laredo, Tam.',
    'about.profile.focus':    'ENFOQUE',
    'about.profile.focusVal': 'Sistemas operacionales conectados',
    'about.profile.langs':    'IDIOMAS',
    'about.profile.langsVal': 'Español · Inglés',
    'about.profile.avail':    'DISPONIBILIDAD',
    'about.profile.availVal': 'Aceptando Q3 · 2026',

    // Background stack
    'about.bg.label':   'TRAYECTORIA · STACK OPERACIONAL',
    'about.bg.note':    'Cuatro entornos operacionales — aduanas, logística, productos propios, consultoría — alimentando una sola práctica de diseño de sistemas.',
    'about.bg.role.amds':  'Co-Fundador · Consultor en Sistemas de Negocio',
    'about.bg.role.cc':    'Co-Fundador · Market Intelligence y Productos Digitales',
    'about.bg.role.buck':  'Analista de Cuentas de Aduanas',
    'about.bg.role.mast':  'Supervisor de Operaciones de Almacén',
    'about.bg.tag.consulting': 'CONSULTORÍA',
    'about.bg.tag.product':    'PRODUCTO PROPIO',
    'about.bg.tag.customs':    'ADUANAS',
    'about.bg.tag.logistics':  'LOGÍSTICA',

    // ---------- CAPABILITIES ----------
    'cap.eyebrow':  '03 · CAPACIDADES DE NEGOCIO',
    'cap.h2':       'Lo que entrego',
    'cap.lede':     'Ocho capacidades, diseñadas para operar como un solo sistema conectado — no como ocho servicios en una lista.',
    'cap.1.name':   'Mapeo de Procesos',
    'cap.1.desc':   'Documentar cómo opera un negocio antes de construir cualquier sistema.',
    'cap.2.name':   'Diseño de Dashboards',
    'cap.2.desc':   'Vistas operacionales que reemplazan hojas de cálculo y reportes semanales.',
    'cap.3.name':   'Estrategia de Automatización',
    'cap.3.desc':   'Eliminar trabajo repetitivo mediante automatización estructurada de flujos.',
    'cap.4.name':   'Arquitectura de CRM',
    'cap.4.desc':   'Captura, calificación y seguimiento de leads, mapeados de punta a punta.',
    'cap.5.name':   'Diseño de Flujos con IA',
    'cap.5.desc':   'Agentes y asistentes IA integrados en sistemas operacionales reales.',
    'cap.6.name':   'Diseño de Productos Digitales',
    'cap.6.desc':   'Experiencias de reservación, ordenamiento y cuenta para el cliente final.',
    'cap.7.name':   'Analítica Operacional',
    'cap.7.desc':   'Medir lo que importa — ejecución, conversión, throughput.',
    'cap.8.name':   'Diseño de Sistemas de Negocio',
    'cap.8.desc':   'La capa conectiva entre todo lo anterior.',

    // ---------- CASE STUDIES · HEADER ----------
    'cs.eyebrow':    '04 · CASOS DE ESTUDIO',
    'cs.h2':         'Trabajo seleccionado.',
    'cs.lede.a':     'Una vista curada de 12 sistemas de más de 30',
    'cs.lede.b':     '',
    'cs.lede.c':     ' entregados desde 2021. Dos narrativas: trabajo con clientes en siete industrias, y el ecosistema CryptoCultura que opero y vendo.',
    'cs.group.a.title': 'Trabajo con clientes',
    'cs.group.a.desc':  'Siete sistemas construidos para negocios en operación: hospitalidad, servicios personales, salud, logística, aduanas y voz con IA.',
    'cs.group.a.count': '07\u00a0CASOS',
    'cs.group.b.title': 'Productos propios · Ecosistema CryptoCultura',
    'cs.group.b.desc':  'Cuatro superficies conectadas: el negocio en sí, el agente de investigación IA, la terminal de trading y el journal.',
    'cs.group.b.count': '04\u00a0CASOS',

    // Headliner VIALEDSA
    'cs.vialedsa.badge':     'CASO DESTACADO · 01',
    'cs.vialedsa.launch':    'LANZAMIENTO AGOSTO 2026',
    'cs.vialedsa.client':    'VIALEDSA — Desarrolladora Inmobiliaria',
    'cs.vialedsa.location':  'Nuevo Laredo, Tamaulipas · México',
    'cs.vialedsa.title':     'VIALEDSA · Sistema de Desarrollo Inmobiliario',
    'cs.vialedsa.problem.label': 'PROBLEMA',
    'cs.vialedsa.problem':   'Una desarrolladora inmobiliaria de escala completa necesitaba un solo sistema conectado para gestionar captura de leads, pipeline de ventas e inventario de 280 unidades entre residencial y comercial — reemplazando hojas de cálculo dispersas, cadenas de WhatsApp y seguimiento manual.',
    'cs.vialedsa.layers.label': 'CAPAS DEL SISTEMA',
    'cs.vialedsa.l1.name':   'WEB PARA CLIENTE',
    'cs.vialedsa.l1.desc':   'Búsqueda de propiedades, captura de leads, solicitud de contacto',
    'cs.vialedsa.l2.name':   'DASHBOARD CRM',
    'cs.vialedsa.l2.desc':   'Pipeline, inventario, workflow de agentes, seguimiento automatizado',
    'cs.vialedsa.l3.name':   'CAPA DE AUTOMATIZACIÓN',
    'cs.vialedsa.l3.desc':   'Ruteo de leads, notificaciones, cambios de estado, reportes',
    'cs.vialedsa.stats.label': 'MÉTRICAS OPERACIONALES',
    'cs.vialedsa.stat.units': 'UNIDADES BAJO GESTIÓN',
    'cs.vialedsa.stat.surfaces': 'SUPERFICIES',
    'cs.vialedsa.stat.industry': 'INDUSTRIA',
    'cs.vialedsa.stat.industry.val': 'INMOBILIARIA',
    'cs.vialedsa.stat.status': 'ESTADO',
    'cs.vialedsa.stat.status.val': 'EN DESARROLLO',
    'cs.vialedsa.scale':     '280 UNIDADES · 250 residenciales · 30 comerciales',
    'cs.vialedsa.cta.customer': 'Abrir sitio del cliente',
    'cs.vialedsa.cta.dashboard': 'Abrir dashboard CRM',
    'cs.vialedsa.arch.label': 'MAPA DEL SISTEMA · v1',
    'cs.vialedsa.arch.customer': 'CLIENTE',
    'cs.vialedsa.arch.automation': 'AUTOMATIZACIÓN',
    'cs.vialedsa.arch.crm': 'CRM',
    'cs.vialedsa.arch.core': 'NÚCLEO',

    // ------ Case cards common labels ------
    'cs.card.problem':  'PROBLEMA',
    'cs.card.surfaces': 'SUPERFICIES',

    // ----- CLIENT WORK cases (02-08) -----
    // 02 Restaurant
    'cs.02.name':      'Ordenamiento y Reservación de Restaurante',
    'cs.02.industry':  'Hospitalidad',
    'cs.02.problem':   'Órdenes y reservaciones manejadas manualmente, generando fricción entre el piso, la cocina y clientes recurrentes.',
    'cs.02.surface1':  'Web del cliente',
    'cs.02.kpi':       'Flujo de cliente en producción',
    'cs.02.demo1':     'Demo en vivo',
    'cs.02.demo2':     'Ver en YouTube',

    // 03 Barber
    'cs.03.name':      'Sistema de Reservas de Barbería',
    'cs.03.industry':  'Servicios Personales',
    'cs.03.problem':   'La reservación dependía de mensajes y agenda manual; la visibilidad era reactiva, no operacional.',
    'cs.03.surface1':  'Cliente',
    'cs.03.surface2':  'Dashboard del operador',
    'cs.03.kpi':       'Reserva de punta a punta',
    'cs.03.demo1':     'Sitio del cliente',
    'cs.03.demo2':     'Dashboard del operador',

    // 04 Nails
    'cs.04.name':      'Nails Therapy · Sistema de Reservas',
    'cs.04.industry':  'Servicios Personales · Belleza',
    'cs.04.problem':   'La agenda de citas y el historial de clientes vivían entre DMs y papel — perdiendo citas recurrentes y visibilidad de horarios.',
    'cs.04.surface1':  'Cliente',
    'cs.04.surface2':  'Dashboard del operador',
    'cs.04.kpi':       'Reserva e historial unificados',
    'cs.04.demo1':     'Sitio del cliente',
    'cs.04.demo2':     'Dashboard del operador',

    // 05 Clinic
    'cs.05.name':      'Clinic Operations Hub',
    'cs.05.industry':  'Salud · Clínicas',
    'cs.05.problem':   'Las operaciones de la clínica dependían de recepción, WhatsApp y coordinación en papel.',
    'cs.05.surface1':  'Web del paciente',
    'cs.05.surface2':  'Dashboard del staff',
    'cs.05.kpi':       'Flujo de paciente unificado',
    'cs.05.demo1':     'Sitio del paciente',
    'cs.05.demo2':     'Dashboard del staff',

    // 06 Logistics
    'cs.06.name':      'Dashboard Operacional de Logística',
    'cs.06.industry':  'Logística · Almacén',
    'cs.06.problem':   'La visibilidad operacional estaba fragmentada entre hojas de cálculo, seguimiento manual y decisiones por radio.',
    'cs.06.surface1':  'Herramienta operativa interna',
    'cs.06.kpi':       'Una sola vista operacional',
    'cs.06.demo1':     'Abrir dashboard',

    // 07 Customs AI
    'cs.07.name':      'Customs Specialist AI',
    'cs.07.industry':  'Aduanas · Cumplimiento Comercial',
    'cs.07.problem':   'Los equipos de aduanas perdían tiempo buscando conocimiento disperso de HTS, GRI y rulings previos.',
    'cs.07.surface1':  'Agente conversacional IA',
    'cs.07.kpi':       'HTS · GRI consultables',
    'cs.07.demo1':     'Hablar con el agente',
    'cs.07.note':      'Requiere cuenta gratuita de Genspark.',

    // 08 AI Receptionist
    'cs.08.name':      'Recepcionista IA',
    'cs.08.industry':  'Soporte al Cliente · Voz IA',
    'cs.08.problem':   'Los negocios dependían de respuestas manuales para llamadas inbound repetitivas — perdiendo tiempo y perdiendo leads.',
    'cs.08.surface1':  'Sistema IA de contestación por voz',
    'cs.08.kpi':       'Calificación 24/7',
    'cs.08.demo1':     'Llama para ver en vivo',

    // ----- OWN PRODUCTS (09-12) -----
    // 09 CC infra
    'cs.09.name':      'CryptoCultura · Infraestructura de Negocio',
    'cs.09.industry':  'Producto propio · Ops de negocio',
    'cs.09.problem':   'El sitio público + captura de leads + CRM + automatización de workflows corriendo la operación de CryptoCultura.',
    'cs.09.surface1':  'Landing',
    'cs.09.surface2':  'Captura de leads',
    'cs.09.surface3':  'CRM interno',
    'cs.09.surface4':  'Automatización',
    'cs.09.kpi':       'En vivo en cryptocultura.io',
    'cs.09.demo1':     'Abrir sitio',

    // 10 CC agent
    'cs.10.name':      'CryptoCultura Agent',
    'cs.10.industry':  'IA · Investigación de mercados financieros',
    'cs.10.problem':   'Los workflows de research dependían demasiado de búsqueda manual entre fuentes.',
    'cs.10.surface1':  'Agente conversacional IA',
    'cs.10.kpi':       'Capa interna de investigación',
    'cs.10.demo1':     'Hablar con el agente',
    'cs.10.note':      'Requiere cuenta gratuita de Genspark.',

    // 11 CC terminal
    'cs.11.name':      'CryptoCultura Terminal',
    'cs.11.industry':  'Producto digital · Trading',
    'cs.11.problem':   'Los traders no tienen una sola superficie conectada: agentes, journal, portafolio y datos en tiempo real viven en herramientas separadas.',
    'cs.11.surface1':  '4 agentes IA de trading',
    'cs.11.surface2':  'Journal',
    'cs.11.surface3':  'API tiempo real',
    'cs.11.surface4':  'Portafolio',
    'cs.11.surface5':  'Briefing Matutino',
    'cs.11.surface6':  'Trader Workspace Pro',
    'cs.11.kpi':       'Lista de espera abierta',
    'cs.11.demo1':     'Abrir workspace en vivo',
    'cs.11.demo2':     'Unirse a la lista de espera',

    // 12 CC journal
    'cs.12.name':      'CryptoCultura Journal Pro',
    'cs.12.industry':  'Producto digital · Analítica de traders',
    'cs.12.problem':   'Los traders llevan registros pero rara vez los convierten en decisiones de performance — sin capa de disciplina ni revisión estructurada.',
    'cs.12.surface1':  'Dashboard',
    'cs.12.surface2':  'Registro de trades',
    'cs.12.surface3':  'Calendario',
    'cs.12.surface4':  'Day Review',
    'cs.12.surface5':  'Reportes',
    'cs.12.surface6':  'Playbooks',
    'cs.12.surface7':  'Notebook',
    'cs.12.kpi':       'Producto comercial',
    'cs.12.demo1':     'Ver en cryptocultura.io',
    'cs.12.note':      'Producto en producción · login requerido tras compra.',

    // ---------- ALSO ON THE SHELF ----------
    'shelf.eyebrow':    '05 · TAMBIÉN DISPONIBLES',
    'shelf.h2':         'Herramientas para clientes',
    'shelf.lede':       'Herramientas de propósito único diseñadas para operaciones específicas de clientes. Alcance más acotado que los sistemas de arriba — pero construidas de la misma manera. Logotipos de clientes redactados; disponibles bajo solicitud.',
    'shelf.confidential': 'CONFIDENCIAL',
    'shelf.cta':        'Solicitar acceso',
    'shelf.footnote':   'Cada herramienta fue diseñada con un flujo específico del cliente en mente y entregada en producción. Los demos en vivo se publicarán una vez que la marca del cliente sea removida de las superficies.',

    'shelf.s1.name':    'Asignación de Andén',
    'shelf.s1.domain':  'Operaciones de Almacén',
    'shelf.s1.desc':    'Identifica en qué puerta se asigna la carga entrante — reemplazando pizarrones y coordinación por radio.',
    'shelf.s2.name':    'Manifiesto y Peso de Carga',
    'shelf.s2.domain':  'Operaciones de Almacén',
    'shelf.s2.desc':    'Registra el contenido de la carga y calcula el peso total por embarque — una sola fuente de verdad para el piso de operaciones.',
    'shelf.s3.name':    'Sistema de Etiquetado',
    'shelf.s3.domain':  'Operaciones de Almacén',
    'shelf.s3.desc':    'Etiquetas de trazabilidad para operaciones de inventario en almacén — diseñado para encajar en un flujo físico existente.',

    // ---------- PROCESS ----------
    'proc.eyebrow':    '06 · PROCESO',
    'proc.h2':         'Cómo trabajo — cinco pasos, sin atajos.',
    'proc.deliverable': 'ENTREGABLE',
    'proc.1.name':     'Descubrimiento del Negocio',
    'proc.1.desc':     'Escuchar cómo opera el negocio realmente. Detectar puntos de fricción, herramientas dispersas y conocimiento tácito.',
    'proc.1.deliv':    'Brief de descubrimiento',
    'proc.2.name':     'Mapeo de Procesos',
    'proc.2.desc':     'Documentar los flujos actuales de punta a punta. Identificar dónde la información se pierde, se repite o se estanca.',
    'proc.2.deliv':    'Mapa de procesos',
    'proc.3.name':     'Arquitectura del Sistema',
    'proc.3.desc':     'Diseñar el sistema conectado — dashboards, automatización, CRM, capa IA, integraciones.',
    'proc.3.deliv':    'Especificación de arquitectura',
    'proc.4.name':     'Implementación',
    'proc.4.desc':     'Construir e integrar. Probar contra escenarios operacionales reales, no condiciones de laboratorio.',
    'proc.4.deliv':    'Sistema en producción',
    'proc.5.name':     'Optimización',
    'proc.5.desc':     'Medir ejecución, conversión, throughput. Iterar sobre lo que los datos realmente muestran.',
    'proc.5.deliv':    'Revisión continua',

    // ---------- CONTACT ----------
    'ctc.eyebrow':     '07 · CONTACTO',
    'ctc.h2.a':        'Diseñemos ',
    'ctc.h2.b':        'tu sistema.',
    'ctc.lede':        'La mayoría de los proyectos empiezan con una llamada de descubrimiento de 30 minutos. Recorremos juntos cómo opera tu negocio hoy, dónde estás perdiendo visibilidad, y cómo podría verse un sistema integrado.',
    'ctc.email':       'EMAIL',
    'ctc.linkedin':    'LINKEDIN',
    'ctc.ai':          'RECEPCIONISTA IA',
    'ctc.based':       'BASADO EN',
    'ctc.basedVal':    'Laredo, TX · Nvo. Laredo, Tam.',
    'ctc.avail':       'DISPONIBILIDAD',
    'ctc.availVal':    '● Aceptando nuevos proyectos · Q3 2026',
    'ctc.operating':   'OPERANDO\u00a0BAJO',
    'ctc.calNote.badge': 'PRONTO',
    'ctc.calNote.title': 'Reservaciones desde mi propio dashboard',
    'ctc.calNote.body':  'No uso Calendly — estoy construyendo la capa de agenda dentro de mi propio dashboard de operador. Hasta que se lance, las llamadas de descubrimiento se reservan por email.',
    'ctc.form.title':  'Iniciar un proyecto',
    'ctc.form.meta':   '~ 30 seg',
    'ctc.form.name':   'Nombre completo',
    'ctc.form.namePh': 'Tu nombre',
    'ctc.form.email':  'Email',
    'ctc.form.emailPh':'tucorreo@empresa.com',
    'ctc.form.what':   '¿Qué sistema estás tratando de construir?',
    'ctc.form.whatPh': 'Unas líneas sobre tu operación y qué está fragmentado hoy\u2026',
    'ctc.form.type':   'Tipo de proyecto',
    'ctc.form.chip1':  'Dashboard',
    'ctc.form.chip2':  'Automatización',
    'ctc.form.chip3':  'CRM',
    'ctc.form.chip4':  'Agente IA',
    'ctc.form.chip5':  'Sistema completo',
    'ctc.form.chip6':  'Otro',
    'ctc.form.submit': 'Enviar → Reservar llamada de descubrimiento',
    'ctc.form.foot.a': 'O escríbeme directo · ',

    // ---------- FOOTER ----------
    'foot.tagline':    'Sistemas de Negocio · Automatización · Inteligencia Operacional',
    'foot.operating.a':'Operando bajo · ',
    'foot.col.systems':'SISTEMAS',
    'foot.col.cases':  'CASOS DE ESTUDIO',
    'foot.col.connect':'CONTACTO',
    'foot.sys.dash':   'Dashboards',
    'foot.sys.auto':   'Automatización',
    'foot.sys.crm':    'Arquitectura CRM',
    'foot.sys.ai':     'Flujos con IA',
    'foot.cases.client': 'Trabajo con clientes',
    'foot.cases.cc':   'Ecosistema CryptoCultura',
    'foot.cases.tools':'Herramientas',
    'foot.connect.laredo': 'Laredo, TX',
    'foot.copyright':  '\u00a9 2026 Alfredo A. Martínez',
    'foot.version':    'v3.0 · Inteligencia Operacional',
  },
};

// ---------- CONTEXT + PROVIDER + HOOK ----------

const LanguageContext = React.createContext({ lang: 'en', setLang: () => {}, t: (k) => k });

function LanguageProvider({ children }) {
  const [lang, setLangState] = React.useState(() => {
    try {
      const saved = localStorage.getItem('portfolio.lang');
      if (saved === 'en' || saved === 'es') return saved;
    } catch (e) {}
    return 'en';
  });

  const setLang = React.useCallback((next) => {
    setLangState(next);
    try { localStorage.setItem('portfolio.lang', next); } catch (e) {}
    // Reflect on <html lang="…"> for a11y and SEO signal
    try { document.documentElement.setAttribute('lang', next); } catch (e) {}
  }, []);

  React.useEffect(() => {
    try { document.documentElement.setAttribute('lang', lang); } catch (e) {}
  }, [lang]);

  const t = React.useCallback((key) => {
    const dict = TRANSLATIONS[lang] || TRANSLATIONS.en;
    if (dict[key] != null) return dict[key];
    // Fallback to English if the key is missing in current lang
    if (TRANSLATIONS.en[key] != null) return TRANSLATIONS.en[key];
    // Ultimate fallback: return the key (visible + debuggable)
    return key;
  }, [lang]);

  const value = React.useMemo(() => ({ lang, setLang, t }), [lang, setLang, t]);
  return React.createElement(LanguageContext.Provider, { value }, children);
}

function useT() {
  return React.useContext(LanguageContext);
}

// Expose globally so Babel-transpiled sibling scripts can consume
window.TRANSLATIONS = TRANSLATIONS;
window.LanguageContext = LanguageContext;
window.LanguageProvider = LanguageProvider;
window.useT = useT;
