/* data.jsx — Portfolio with real images + multilingual fields */

const PORTFOLIO = [
  {
    id: 'uk-campus',
    type: 'hyperscale',
    image: 'assets/portfolio/uk-aerial-01.png',
    images: [
      'assets/portfolio/uk-aerial-01.png',
      'assets/portfolio/datahall-modern.png',
      'assets/portfolio/aerial-flythrough.mp4',
      'assets/portfolio/uk-aerial-02.png',
      'assets/portfolio/uk-exterior.png',
      'assets/portfolio/uk-datahall-night.mp4',
    ],
    name: 'Estuary Hyperscale Campus',
    clientLabel: { en: 'Confidential Operator', es: 'Operador Confidencial' },
    locationLabel: { en: 'United Kingdom', es: 'Reino Unido' },
    typeLabel: { en: 'Hyperscale', es: 'Hyperscale' },
    capacity: '500 MW',
    year: 2026,
    tag: 'Featured',
    featured: true,
    summary: {
      en: 'A riverside hyperscale campus — five data halls of 12.5 acres each, an on-site substation and fuel yard, set against the estuary. Delivered as an aerial fly-through, a real-time camera move, and an inside-the-hall night sequence.',
      es: 'Un campus hyperscale a orillas del río — cinco data halls de 12,5 acres cada uno, subestación propia y fuel yard, sobre el estuario. Entregado como fly-through aéreo, recorrido de cámara en tiempo real y secuencia nocturna interior.',
    },
    deliverables: {
      en: ['Aerial Fly-Through · 8K', 'Real-Time Camera Move', 'Data Hall Night Sequence', 'Exterior Approach Stills', 'Context Massing'],
      es: ['Fly-Through Aéreo · 8K', 'Recorrido de Cámara en Tiempo Real', 'Secuencia Nocturna de Data Hall', 'Stills de Aproximación Exterior', 'Massing de Contexto'],
    },
  },
  {
    id: 'qts-campus',
    type: 'hyperscale',
    image: 'assets/portfolio/qts-hero-exterior.png',
    images: [
      'assets/portfolio/qts-hero-exterior.png',
      'assets/portfolio/qts-isometric.png',
      'assets/portfolio/qts-server-hall-01.png',
      'assets/portfolio/qts-interior-red.png',
      'assets/portfolio/qts-before-after.png',
    ],
    name: 'QTS Hyperscale Campus',
    clientLabel: { en: 'QTS Realty Trust', es: 'QTS Realty Trust' },
    locationLabel: { en: 'Confidential · Tier IV · US', es: 'Confidencial · Tier IV · EE.UU.' },
    typeLabel: { en: 'Hyperscale', es: 'Hyperscale' },
    capacity: '450 MW',
    year: 2026,
    tag: 'Featured',
    featured: true,
    summary: {
      en: 'A four-phase visualization across master plan, exterior approach, and inside-the-hall cinematics — the red brand glow, the glazed datahall, the endless aisle. Modeled to surveyed coordinates and lit to the operator’s real spec.',
      es: 'Una visualización de cuatro fases que abarca master plan, aproximación exterior y cinemáticas internas — el glow rojo de marca, el datahall vidriado, el aisle infinito. Modelada sobre coordenadas reales e iluminada al spec del operador.',
    },
    deliverables: {
      en: ['8K Hero Film · 4:32', 'Exterior Day & Night', 'Interior Cold Aisle', '12 Stills · 16K', 'Real-Time Pitch Build'],
      es: ['Hero Film 8K · 4:32', 'Exterior Día y Noche', 'Cold Aisle Interior', '12 Stills · 16K', 'Build en Tiempo Real'],
    },
  },
  {
    id: 'riverside-campus',
    type: 'hyperscale',
    image: 'assets/portfolio/datacenter-river.jpg',
    images: [
      'assets/portfolio/datacenter-river.jpg',
      'assets/portfolio/btc-datacenter.jpg',
      'assets/portfolio/datacenter-iso-02.png',
      'assets/portfolio/datacore-interior.jfif',
    ],
    name: 'Riverside Data Center Campus',
    clientLabel: { en: 'Confidential Operator', es: 'Operador Confidencial' },
    locationLabel: { en: 'Northern Europe', es: 'Norte de Europa' },
    typeLabel: { en: 'Hyperscale', es: 'Hyperscale' },
    capacity: '600 MW',
    year: 2026,
    tag: 'Aerial',
    featured: false,
    summary: {
      en: 'A multi-hall riverside campus set into its full industrial context — surrounding refineries, transmission, water, and green buffer, all modeled to make the site legible from the air.',
      es: 'Un campus multi-hall sobre el río en su contexto industrial completo — refinerías, transmisión, agua y buffer verde, todo modelado para que el sitio se entienda desde el aire.',
    },
    deliverables: {
      en: ['Aerial Master Frame · 16K', 'Dusk & Dawn Variants', 'Interior Detail', 'Context Massing'],
      es: ['Master Aéreo · 16K', 'Variantes Atardecer y Amanecer', 'Detalle Interior', 'Massing de Contexto'],
    },
  },
  {
    id: 'meridian-bess',
    type: 'energy',
    image: 'assets/portfolio/bess-03.png',
    images: [
      'assets/portfolio/bess-03.png',
      'assets/portfolio/bess-01.png',
      'assets/portfolio/bess-05.png',
      'assets/portfolio/bess-02.png',
      'assets/portfolio/bess-04.png',
    ],
    name: 'Meridian BESS · 800 MWh',
    clientLabel: { en: 'Meridian Grid Storage', es: 'Meridian Grid Storage' },
    locationLabel: { en: 'Texas, USA', es: 'Texas, EE.UU.' },
    typeLabel: { en: 'Energy Storage', es: 'Almacenamiento' },
    capacity: '800 MWh',
    year: 2026,
    tag: 'Featured',
    featured: true,
    summary: {
      en: 'A complete visualization package for an 800 MWh utility-scale BESS facility — sunset hero, dramatic aerial, plan-to-render pairing, and a clean isometric. The investor pack that closed the project’s Series B.',
      es: 'Pack completo de visualización para una facility BESS utility-scale de 800 MWh — hero del atardecer, aérea dramática, pareado plano-render e isométrico limpio. El pack que cerró la Serie B del proyecto.',
    },
    deliverables: {
      en: ['Sunset Hero Frame · 16K', 'Aerial Dramatic · 8K', 'Plan-to-Render Pairing', 'Clean Iso Study', 'Investor Booklet'],
      es: ['Hero del Atardecer · 16K', 'Aérea Dramática · 8K', 'Pareado Plano-Render', 'Estudio Iso Limpio', 'Booklet de Inversión'],
    },
  },
  {
    id: 'helios-solar',
    type: 'solar',
    image: 'assets/portfolio/solar-canopy.png',
    images: [
      'assets/portfolio/solar-canopy.png',
      'assets/portfolio/bess-investors.png',
      'assets/portfolio/bess-05.png',
    ],
    name: 'Helios Solar + Storage Hub',
    clientLabel: { en: 'Helios Renewables', es: 'Helios Renewables' },
    locationLabel: { en: 'Andalucía, Spain', es: 'Andalucía, España' },
    typeLabel: { en: 'Solar + Storage', es: 'Solar + Almacenamiento' },
    capacity: '240 MWp · 320 MWh',
    year: 2026,
    tag: 'Solar',
    featured: true,
    summary: {
      en: 'Hybrid solar canopy + battery storage hub — modular shaded structures over BESS containers, with the substation interconnection inside the same envelope. Cinematic visualization across daylight and dawn.',
      es: 'Hub híbrido solar canopy + almacenamiento — estructuras moduladas sombreadas sobre contenedores BESS, con la interconexión a subestación dentro del mismo envelope. Visualización cinematográfica en luz de día y amanecer.',
    },
    deliverables: {
      en: ['Canopy Aerial · 8K', 'Module Choreography', 'Substation Interconnect', 'Investor Pack'],
      es: ['Aérea de Canopy · 8K', 'Coreografía Modular', 'Interconexión a Subestación', 'Pack de Inversión'],
    },
  },
  {
    id: 'pampa-vacamuerta',
    type: 'energy',
    image: 'assets/portfolio/oilgas-3d.png',
    images: [
      'assets/portfolio/oilgas-3d.png',
      'assets/portfolio/pampa-sunset.png',
      'assets/portfolio/pampa-aerial.png',
      'assets/portfolio/pampa-3d.png',
      'assets/portfolio/pampa-isometric.png',
      'assets/portfolio/pampa-plan.png',
    ],
    name: 'Pampa Energía — Vaca Muerta',
    clientLabel: { en: 'Pampa Energía', es: 'Pampa Energía' },
    locationLabel: { en: 'Vaca Muerta, Argentina', es: 'Vaca Muerta, Argentina' },
    typeLabel: { en: 'Oil & Gas', es: 'Oil & Gas' },
    capacity: '180 MW',
    year: 2026,
    tag: 'Featured',
    featured: true,
    summary: {
      en: 'An oil & gas complex across master plan, aerial approach, and sunset hero — process plant, administrative building, and transmission corridor, rendered at golden hour with the operator’s real brand lighting. The pack that anchored the project financing case.',
      es: 'Un complejo de oil & gas en master plan, aproximación aérea y hero del atardecer — planta de proceso, edificio administrativo y corredor de transmisión, renderizado en golden hour con la iluminación de marca real del operador. El pack que sostuvo el caso de financiamiento.',
    },
    deliverables: {
      en: ['Sunset Hero Frame · 16K', 'Aerial Approach · 8K', 'Process Plant Iso', 'Architectural Plans', 'Investor Booklet'],
      es: ['Hero del Atardecer · 16K', 'Aproximación Aérea · 8K', 'Iso de Planta de Proceso', 'Planos Arquitectónicos', 'Booklet de Inversión'],
    },
  },
];

const FILTERS = [
  { id: 'all', labelKey: 'all' },
  { id: 'hyperscale', labelKey: 'hyperscale' },
  { id: 'energy', labelKey: 'energy' },
  { id: 'solar', labelKey: 'solar' },
];

const SERVICES = [
  {
    id: 'cinematic',
    icon: 'film',
    image: 'assets/portfolio/qts-server-hall-01.png',
    eyebrow: { en: 'Primary deliverable', es: 'Entregable principal' },
    title: { en: 'Cinematic Visualization', es: 'Visualización Cinematográfica' },
    body: {
      en: 'Hero films for investor decks, sales floors, and broadcast — 4K to 16K, path-traced in UE5 with bespoke material work for sapphire, copper, glass, and concrete.',
      es: 'Hero films para decks de inversión, salas comerciales y broadcast — 4K a 16K, path-traced en UE5 con trabajo de materiales para sapphire, cobre, vidrio y hormigón.',
    },
    bullets: {
      en: ['Hero films · 60–360 sec', 'Aerial approach sequences', 'Day-to-night cycles', '16K still frames'],
      es: ['Hero films · 60–360 seg', 'Secuencias aéreas de aproximación', 'Ciclos día-noche', 'Frames 16K'],
    },
  },
  {
    id: 'realtime',
    icon: 'cpu',
    image: 'assets/portfolio/qts-server-night.png',
    eyebrow: { en: 'Live deliverable', es: 'Entregable en vivo' },
    title: { en: 'From Layout to Digital Asset', es: 'Del Layout al Asset Digital' },
    body: {
      en: 'Stakeholder builds that run on a laptop or large-format display — clients walk the site, swap the cooling spec, and toggle the cabling tray live in front of the room.',
      es: 'Builds para stakeholders que corren en una laptop o display de gran formato — los clientes recorren el sitio, cambian el spec de cooling y togglean el cable tray en vivo frente a la sala.',
    },
    bullets: {
      en: ['UE5 packaged builds', 'Material & finish swap', 'Multi-user pitch mode', 'Per-room toggles'],
      es: ['Builds packaged en UE5', 'Swap de materiales y terminaciones', 'Pitch multi-usuario', 'Toggles por sala'],
    },
  },
  {
    id: 'ai',
    icon: 'sparkles',
    image: 'assets/portfolio/pampa-sunset.png',
    eyebrow: { en: 'Augmented', es: 'Aumentado' },
    title: { en: 'AI-Augmented Workflows', es: 'Workflows con IA' },
    body: {
      en: 'In-house Stable Diffusion XL, Flux, and proprietary fine-tunes accelerate concept passes from days to hours — every final frame still goes through the full path-traced pipeline.',
      es: 'Stable Diffusion XL, Flux y fine-tunes propios aceleran los pases conceptuales de días a horas — cada frame final igual pasa por el pipeline completo path-traced.',
    },
    bullets: {
      en: ['Concept-pass generation', 'Material reference', 'Sky & atmosphere study', 'Up-rezzing & in-paint'],
      es: ['Generación de pases conceptuales', 'Referencia de materiales', 'Estudio de cielo y atmósfera', 'Upscaling e in-paint'],
    },
  },
  {
    id: 'configurator',
    icon: 'layers',
    image: 'assets/portfolio/qts-isometric.png',
    eyebrow: { en: 'Interactive', es: 'Interactivo' },
    title: { en: 'Configurator Builds', es: 'Configuradores' },
    body: {
      en: 'Web and desktop configurators that let your sales team swap envelope, capacity, and topology in front of a prospect — backed by a curated library of pre-rendered states.',
      es: 'Configuradores web y desktop que permiten a tu equipo de ventas cambiar envelope, capacidad y topología frente a un prospect — con una biblioteca curada de estados pre-renderizados.',
    },
    bullets: {
      en: ['Envelope variations', 'Capacity & topology swap', 'Site-specific overlays', 'Stakeholder deliverables'],
      es: ['Variaciones de envelope', 'Swap de capacidad y topología', 'Overlays por sitio', 'Entregables para stakeholders'],
    },
  },
  {
    id: 'previs',
    icon: 'eye',
    image: 'assets/portfolio/pampa-isometric.png',
    eyebrow: { en: 'Pre-construction', es: 'Pre-construcción' },
    title: { en: 'Pre-Visualization', es: 'Pre-Visualización' },
    body: {
      en: 'Before the first foundation pour — community engagement renders, sun-path studies, and rezoning hearing imagery, modeled to surveyed coordinates.',
      es: 'Antes del primer hormigón — renders de engagement comunitario, estudios solares e imágenes para audiencias de rezonificación, modelados sobre coordenadas reales.',
    },
    bullets: {
      en: ['Sun-path & shadow study', 'Community engagement', 'Permitting & planning', 'Surveyed coordinates'],
      es: ['Estudio solar y de sombras', 'Engagement comunitario', 'Permisos y planificación', 'Coordenadas relevadas'],
    },
  },
  {
    id: 'docs',
    icon: 'box',
    image: 'assets/portfolio/pampa-plan.png',
    eyebrow: { en: 'Stakeholder', es: 'Stakeholder' },
    title: { en: 'Stakeholder Deliverables', es: 'Entregables para Stakeholders' },
    body: {
      en: 'Beyond the hero film — the printed booklet, the looped tradeshow reel, the investor-deck stills, the broker site signage, the corporate boilerplate package.',
      es: 'Más allá del hero film — el booklet impreso, el reel para tradeshow, los stills para deck de inversión, la señalética, el pack de comunicación corporativa.',
    },
    bullets: {
      en: ['Booklets & site signage', 'Tradeshow loops', 'Investor deck stills', 'Corporate boilerplate'],
      es: ['Booklets y señalética', 'Loops para tradeshow', 'Stills para deck', 'Comunicación corporativa'],
    },
  },
];

const PROCESS = [
  { n: '01', en: { label: 'Engagement', body: 'NDA, brief, and shared reference library. We meet your architect, your MEP engineer, and your operations lead.' },
                  es: { label: 'Engagement', body: 'NDA, brief y biblioteca de referencias compartida. Nos reunimos con tu arquitecto, ingeniero MEP y líder de operaciones.' } },
  { n: '02', en: { label: 'Pre-Vis & Block-Out', body: 'Surveyed coordinates in, mass model out — sun-path, framing, and shot list locked before any final shading begins.' },
                  es: { label: 'Pre-Vis y Block-Out', body: 'Entran coordenadas relevadas, sale el modelo de masas — solar, framing y shot list cerrados antes de cualquier shading final.' } },
  { n: '03', en: { label: 'Material & Lighting', body: 'Material studies for sapphire, copper, glass, concrete, sodium-mercury site lighting — calibrated to real indices and your finish spec.' },
                  es: { label: 'Materiales e Iluminación', body: 'Estudios de materiales para sapphire, cobre, vidrio, hormigón, iluminación sodium-mercury — calibrados a índices reales y tu spec de terminaciones.' } },
  { n: '04', en: { label: 'AI Concept Passes', body: 'In-house fine-tunes generate concept passes in hours, not days. Every final frame still goes through the full path-traced pipeline.' },
                  es: { label: 'Pases con IA', body: 'Nuestros fine-tunes generan pases conceptuales en horas, no días. Cada frame final igual pasa por el pipeline completo path-traced.' } },
  { n: '05', en: { label: 'Render & Composite', body: 'UE5 with Lumen + Path Tracer on a 96-RTX render farm. Composited in Nuke or DaVinci Resolve, color-graded for delivery context.' },
                  es: { label: 'Render y Composite', body: 'UE5 con Lumen + Path Tracer en un farm de 96 RTX. Composite en Nuke o DaVinci Resolve, color grading para el contexto de entrega.' } },
  { n: '06', en: { label: 'Hand-Off', body: 'Master files, edit-ready proxies, 16K stills, tradeshow loops, and the real-time build — all on your storage, your color space, your codec.' },
                  es: { label: 'Entrega', body: 'Master files, proxies edit-ready, stills 16K, loops para tradeshow y el build de tiempo real — en tu storage, tu color space, tu codec.' } },
];

const STACK = [
  { category: { en: 'Engine', es: 'Motor' }, items: ['Unreal Engine 5.4', 'Lumen + Path Tracer', 'Nanite', 'Niagara FX'] },
  { category: { en: 'AI', es: 'IA' }, items: ['Stable Diffusion XL', 'Flux.1 Pro', 'In-house fine-tunes', 'Topaz Gigapixel'] },
  { category: { en: 'Modeling', es: 'Modelado' }, items: ['Rhino + Grasshopper', 'Revit handoff', 'Houdini', 'ZBrush detail'] },
  { category: { en: 'Compositing', es: 'Composite' }, items: ['Nuke', 'DaVinci Resolve', 'After Effects', 'Premiere'] },
  { category: { en: 'Infrastructure', es: 'Infraestructura' }, items: ['96× RTX 6000 Ada', 'Deadline scheduling', 'Perforce + Git LFS', 'On-prem 2.4 PB'] },
];

const TEAM = [
  { name: 'Juan M. Caranza', role: { en: 'Founder, Creative Director', es: 'Fundador, Director Creativo' }, bio: { en: '10 years architectural visualization.', es: '10 años en visualizaciónón arquitectónica. Ex-Pixar.' }, initials: 'JC' },
  { name: 'Mei Chen', role: { en: 'Head of Real-Time', es: 'Lead de Tiempo Real' }, bio: { en: 'Unreal Engine since 2013.', es: 'Unreal Engine desde 2013.os.' }, initials: 'MC' },
  { name: 'Priya Ramanathan', role: { en: 'Director of AI Pipeline', es: 'Directora de Pipeline de IA' }, bio: { en: 'PhD ML, Stanford. Builds the fine-tunes.', es: 'PhD ML, Stanford. Construye los fine-tunes.' }, initials: 'PR' },
  { name: 'Lukas Henriksson', role: { en: 'Head of Architecture', es: 'Lead de Arquitectura' }, bio: { en: 'Registered AIA. Data center spec since 2018.', es: 'AIA registrado. Spec de data centers desde 2018.' }, initials: 'LH' },
  { name: 'Dani Okafor', role: { en: 'Lead Compositor', es: 'Lead Compositor' }, bio: { en: 'Ex-MPC. Color management & DI.', es: 'Ex-MPC. Color management y DI.' }, initials: 'DO' },
  { name: 'Sarah Bauer', role: { en: 'Studio Manager', es: 'Studio Manager' }, bio: { en: 'Keeps every shot on schedule, every client briefed.', es: 'Mantiene cada shot en cronograma y cada cliente al día.' }, initials: 'SB' },
];

const PARTNERS = ['NVIDIA Studio', 'Epic Megagrant', 'Uptime Institute', 'AIA Member', '7×23 Exchange', 'BICSI'];

const FAQS = {
  en: [
    { q: 'What does a typical engagement look like?',
      a: 'A first call, an NDA, and a half-day reference workshop. From there we scope to a hero film, a real-time build, or both — most engagements land between 8 and 20 weeks.' },
    { q: 'Can you work under NDA with classified or sensitive projects?',
      a: 'Yes. About a third of our active work is under strict NDA, including specialty hardened envelopes and government-adjacent compute. We can sign before any technical conversation.' },
    { q: 'Do you require a finished architectural model to start?',
      a: 'No. We routinely begin from massing studies, hand sketches, or even a verbal brief. Pre-vis and block-out can run in parallel with your architect\'s development.' },
    { q: 'What does the real-time deliverable run on?',
      a: 'A packaged UE5 build that runs on a single RTX 4070 or better, or on a tradeshow LED wall. We deliver the executable plus a guided demo script for your sales team.' },
    { q: 'How is AI used — and where is it not used?',
      a: 'AI accelerates concept passes, material reference, and sky/atmosphere studies. Final pixels are always path-traced in UE5. We do not deliver AI-only frames in final hero content.' },
  ],
  es: [
    { q: '¿Cómo es un engagement típico?',
      a: 'Una primera llamada, un NDA y un workshop de medio día con referencias. De ahí scopeamos hacia hero film, build de tiempo real o ambos — la mayoría de los proyectos duran entre 8 y 20 semanas.' },
    { q: '¿Trabajan bajo NDA con proyectos sensibles o clasificados?',
      a: 'Sí. Aproximadamente un tercio de nuestro trabajo activo está bajo NDA estricto, incluyendo envelopes hardened y compute government-adjacent. Firmamos antes de cualquier conversación técnica.' },
    { q: '¿Necesitan un modelo arquitectónico terminado para empezar?',
      a: 'No. Empezamos rutinariamente desde massing studies, sketches a mano, o incluso un brief verbal. El pre-vis y block-out corren en paralelo al desarrollo de tu arquitecto.' },
    { q: '¿En qué corre el entregable de tiempo real?',
      a: 'Un build packaged de UE5 que corre en una RTX 4070 o mejor, o en una LED wall de tradeshow. Entregamos el ejecutable más un guion de demo para tu equipo de ventas.' },
    { q: '¿Cómo se usa la IA — y dónde no se usa?',
      a: 'La IA acelera pases conceptuales, referencia de materiales y estudios de cielo/atmósfera. Los pixeles finales siempre son path-traced en UE5. No entregamos frames AI-only en contenido hero final.' },
  ],
};

window.JMC_DATA = { PORTFOLIO, FILTERS, SERVICES, PROCESS, STACK, TEAM, PARTNERS, FAQS };
