{
 "como_armar_un_deck_de_varias_slides": {
  "starter": "https://brand.magoya.com/ai/templates/deck-starter.html (y .txt) — documento base: pegá los <div class=\"slide\"> uno abajo del otro ahí adentro",
  "reglas": [
   "un solo <head> (el del starter: trae Manrope y los estilos .slide/.t/.r/.im)",
   "separacion entre slides: 48px (escala base-4) — ya esta en el starter",
   "fondo de la pagina: #EEF2EC (sage) — nunca un color fuera de la paleta",
   "el numero de pagina (rol numero_de_pagina) va correlativo en 2 digitos desde la primera slide de contenido",
   "no repetir dos veces el mismo modulo seguido; alterná los pares espejo (H1/H2, I1/I2)"
  ]
 },
 "que_es": "Plantillas HTML oficiales de los 41 módulos, generadas del exportador real. Se usan TAL CUAL: copiá el archivo, llená los data-slot respetando max_caracteres, no toques nada más. La geometría, colores y tipografía ya son la marca. IMPORTANTE: si tu fetch de .html llega convertido/resumido, usá url_texto_crudo (.txt, mismo contenido servido como texto plano). TODO texto y cifra de las plantillas es EJEMPLO: los datos reales aprobados están en ai/facts.json — lo que no esté ahí se pide, no se inventa.",
 "datos_reales": "https://brand.magoya.com/ai/facts.json",
 "como_elegir": "https://brand.magoya.com/ai/selector.json",
 "constraints": "https://brand.magoya.com/ai/constraints.json",
 "modulos": [
  {
   "id": "A1",
   "nombre": "Statement hero (126pt)",
   "cuando_usarlo": "primera slide después de la portada, o para abrir un bloque con una sola idea. Una frase, nada más. La frase que carga el sentido va en lima.",
   "url": "https://brand.magoya.com/ai/templates/A1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/A1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "kicker",
     "texto_ejemplo": "PRODUCT STRATEGY",
     "max_caracteres_aprox": 192,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "AgTech challenges\ndemand more than code.",
     "max_caracteres_aprox": 97,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 289,
    "recursos": {},
    "peso": "mixto",
    "beat": "tension"
   }
  },
  {
   "id": "A2",
   "nombre": "Título + bajada (2 columnas)",
   "cuando_usarlo": "cuando el statement necesita una aclaración de contexto. El display manda; la bajada no pasa de tres líneas.",
   "url": "https://brand.magoya.com/ai/templates/A2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/A2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Embedded teams,\nnot outsourced tickets.",
     "max_caracteres_aprox": 94,
     "max_lineas": 5
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Magoya blends product strategy, engineering and agronomy in one senior pod that works inside your process — same rituals, same backlog, same accountability.",
     "max_caracteres_aprox": 564,
     "max_lineas": 11
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 724,
    "recursos": {},
    "peso": "texto",
    "beat": "contexto"
   }
  },
  {
   "id": "A3",
   "nombre": "Agenda / índice",
   "cuando_usarlo": "slide 2 de todo deck de más de 10 slides. Se repite antes de cada bloque moviendo la fila en lima a la sección que arranca.",
   "url": "https://brand.magoya.com/ai/templates/A3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/A3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Agenda",
     "max_caracteres_aprox": 14,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "45 minutes · 5 blocks",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "01",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Who we are — and how we embed",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t6",
     "rol": "subtitulo",
     "texto_ejemplo": "02",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "What we've built in AgTech",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t8",
     "rol": "subtitulo",
     "texto_ejemplo": "03",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "The Magoya method",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t10",
     "rol": "subtitulo",
     "texto_ejemplo": "04",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "Investment scenarios",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t12",
     "rol": "subtitulo",
     "texto_ejemplo": "05",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t13",
     "rol": "caption",
     "texto_ejemplo": "Next steps",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 1069,
    "recursos": {},
    "peso": "texto",
    "beat": "estructura"
   }
  },
  {
   "id": "A4",
   "nombre": "Divisor de sección (paño de semicírculos al corte)",
   "cuando_usarlo": "respiro entre bloques. El paño nace del borde inferior y se corta contra los tres bordes de la pieza — nunca flota en el aire. Número en lima, título en crema.",
   "url": "https://brand.magoya.com/ai/templates/A4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/A4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 5,
     "max_lineas": 1
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "What we've built\nin AgTech",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "verde-profundo",
    "recursos_visuales": 3,
    "presupuesto_texto": 80,
    "recursos": {
     "motivo": 3
    },
    "peso": "visual",
    "beat": "estructura"
   }
  },
  {
   "id": "A5",
   "nombre": "Título + ícono semántico grande",
   "cuando_usarlo": "abrir un capítulo temático. El ícono representa el concepto del título (satélite = teledetección), no decora. Uno solo, del set agro, en negro sobre claro.",
   "url": "https://brand.magoya.com/ai/templates/A5.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/A5.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "kicker",
     "texto_ejemplo": "REMOTE SENSING",
     "max_caracteres_aprox": 160,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "Satellite data that reaches the agronomist, not the archive.",
     "max_caracteres_aprox": 121,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 3,
    "presupuesto_texto": 347,
    "recursos": {
     "iconos": 3
    },
    "peso": "visual",
    "beat": "estructura"
   }
  },
  {
   "id": "B1",
   "nombre": "3 cards de servicio con ícono semántico (sage)",
   "cuando_usarlo": "presentar los tres modelos de trabajo. El ícono en lima marca el modelo que estás proponiendo — ése es el golpe de lima de la slide.",
   "url": "https://brand.magoya.com/ai/templates/B1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/B1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "How we partner",
     "max_caracteres_aprox": 30,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Product Development",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "A dedicated team owns the full lifecycle — discovery, prototyping, MVP and scaling.",
     "max_caracteres_aprox": 270,
     "max_lineas": 7
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Learn more ↗",
     "max_caracteres_aprox": 77,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "subtitulo",
     "texto_ejemplo": "Team Extension",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "We split responsibilities inside your product process — embedded, not outsourced.",
     "max_caracteres_aprox": 270,
     "max_lineas": 7
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Learn more ↗",
     "max_caracteres_aprox": 77,
     "max_lineas": 2
    },
    {
     "slot": "t9",
     "rol": "subtitulo",
     "texto_ejemplo": "Staff Augmentation",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Senior talent on your products, under your processes and daily management.",
     "max_caracteres_aprox": 270,
     "max_lineas": 7
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "Learn more ↗",
     "max_caracteres_aprox": 77,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 12,
    "presupuesto_texto": 1362,
    "recursos": {
     "iconos": 9,
     "grafico": 3
    },
    "peso": "visual",
    "beat": "propuesta"
   }
  },
  {
   "id": "B2",
   "nombre": "3 boxes de modelo comercial (uno destacado en verde profundo)",
   "cuando_usarlo": "cuando hay que comparar cómo se factura cada modelo. La caja oscura es la recomendada; el resto queda en sage.",
   "url": "https://brand.magoya.com/ai/templates/B2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/B2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Engagement models",
     "max_caracteres_aprox": 37,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Product Development",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "How it works: we assemble every role needed and own the process end to end.",
     "max_caracteres_aprox": 232,
     "max_lineas": 6
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Best for: building a product from discovery to launch.",
     "max_caracteres_aprox": 193,
     "max_lineas": 5
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Fixed scope · milestone billing",
     "max_caracteres_aprox": 72,
     "max_lineas": 2
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "Team Extension",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "How it works: shared responsibilities inside your product development process.",
     "max_caracteres_aprox": 232,
     "max_lineas": 6
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "Best for: scaling an existing team with AgTech fluency.",
     "max_caracteres_aprox": 193,
     "max_lineas": 5
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Monthly per role · 3-month cycles",
     "max_caracteres_aprox": 72,
     "max_lineas": 2
    },
    {
     "slot": "t11",
     "rol": "subtitulo",
     "texto_ejemplo": "Staff Augmentation",
     "max_caracteres_aprox": 75,
     "max_lineas": 3
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "How it works: we provide the talent; you keep your processes and management.",
     "max_caracteres_aprox": 232,
     "max_lineas": 6
    },
    {
     "slot": "t13",
     "rol": "caption",
     "texto_ejemplo": "Best for: filling senior roles fast, without hiring overhead.",
     "max_caracteres_aprox": 193,
     "max_lineas": 5
    },
    {
     "slot": "t14",
     "rol": "caption",
     "texto_ejemplo": "Monthly per role · your PM",
     "max_caracteres_aprox": 72,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 1819,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "B3",
   "nombre": "Grilla de capacidades 2×3 con iconografía semántica",
   "cuando_usarlo": "resumir qué hace el equipo sin párrafos. Un ícono del set agro por capacidad, texto de una línea. El destacado va en lima.",
   "url": "https://brand.magoya.com/ai/templates/B3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/B3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "What the pod covers",
     "max_caracteres_aprox": 37,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Discovery",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Field immersion with growers and agronomists.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    },
    {
     "slot": "t5",
     "rol": "subtitulo",
     "texto_ejemplo": "Product design",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Flows built for gloves, dust and low signal.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "Data & AI",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Models and copilots on agronomic data.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    },
    {
     "slot": "t9",
     "rol": "subtitulo",
     "texto_ejemplo": "Platform engineering",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "APIs, pipelines and cloud that hold a season.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    },
    {
     "slot": "t11",
     "rol": "subtitulo",
     "texto_ejemplo": "Agronomy",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "Agronomists in the pod, not on call.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    },
    {
     "slot": "t13",
     "rol": "subtitulo",
     "texto_ejemplo": "Field validation",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t14",
     "rol": "caption",
     "texto_ejemplo": "Every release tested on real operations.",
     "max_caracteres_aprox": 151,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 18,
    "presupuesto_texto": 1387,
    "recursos": {
     "iconos": 18
    },
    "peso": "visual",
    "beat": "propuesta"
   }
  },
  {
   "id": "C1",
   "nombre": "Título + grilla de 4 stats",
   "cuando_usarlo": "credenciales de la compañía. Cuatro cifras, cada una con un descriptor de una línea. Nunca más de cuatro en esta grilla.",
   "url": "https://brand.magoya.com/ai/templates/C1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/C1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Proof,\nnot promises.",
     "max_caracteres_aprox": 61,
     "max_lineas": 4
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Client retention across engagements",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    },
    {
     "slot": "t5",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Years of average client relationship",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    },
    {
     "slot": "t7",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "AgTech domains covered by the team",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    },
    {
     "slot": "t9",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Countries where our products operate",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 847,
    "recursos": {},
    "peso": "texto",
    "beat": "evidencia"
   }
  },
  {
   "id": "C2",
   "nombre": "Data hero — 3 métricas de producto (sage)",
   "cuando_usarlo": "resultado de un producto puntual. El sufijo (k, ×, %) va en verde digital para que la cifra respire.",
   "url": "https://brand.magoya.com/ai/templates/C2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/C2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Our footprint",
     "max_caracteres_aprox": 30,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Agronomic recommendations delivered",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    },
    {
     "slot": "t5",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Monthly active users in the field",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    },
    {
     "slot": "t7",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Faster time-to-field per release",
     "max_caracteres_aprox": 171,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 633,
    "recursos": {},
    "peso": "mixto",
    "beat": "evidencia"
   }
  },
  {
   "id": "C3",
   "nombre": "Porcentaje al palo — una cifra gigante (44cqw ≈ 65% del ancho)",
   "cuando_usarlo": "cuando el dato es el argumento. La cifra ocupa ~70% del slide y no comparte protagonismo con nada. Lima como display sobre verde profundo.",
   "url": "https://brand.magoya.com/ai/templates/C3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/C3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 4,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Client retention across every engagement since 2017.",
     "max_caracteres_aprox": 183,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "verde-profundo",
    "recursos_visuales": 0,
    "presupuesto_texto": 253,
    "recursos": {},
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "C4",
   "nombre": "Tres cifras grandes en línea (15cqw)",
   "cuando_usarlo": "cuando tres datos cuentan una sola historia. Un descriptor corto abajo de cada uno y una regla lima para anclar el bloque.",
   "url": "https://brand.magoya.com/ai/templates/C4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/C4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "kicker",
     "texto_ejemplo": "SINCE 2017",
     "max_caracteres_aprox": 127,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 3,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "AgTech domains covered in-house",
     "max_caracteres_aprox": 189,
     "max_lineas": 5
    },
    {
     "slot": "t5",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 3,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Countries running our products",
     "max_caracteres_aprox": 189,
     "max_lineas": 5
    },
    {
     "slot": "t7",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 3,
     "max_lineas": 1
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Years of average client relationship",
     "max_caracteres_aprox": 189,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 769,
    "recursos": {},
    "peso": "texto",
    "beat": "evidencia"
   }
  },
  {
   "id": "D1",
   "nombre": "Barras simples (una serie, última barra en lima)",
   "cuando_usarlo": "una sola serie temporal. La barra en lima es el período que querés que se recuerde; el resto en verde profundo.",
   "url": "https://brand.magoya.com/ai/templates/D1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/D1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Adoption grows season over season",
     "max_caracteres_aprox": 108,
     "max_lineas": 5
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Active users per campaign across four seasons. Lime marks the first season with an embedded Magoya pod.",
     "max_caracteres_aprox": 378,
     "max_lineas": 7
    },
    {
     "slot": "chart3",
     "rol": "grafico",
     "texto_ejemplo": "tipo bar",
     "nota": "reemplazar por barras/lineas hechas con divs .r usando la paleta; datos de ejemplo en el comentario"
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 4,
    "presupuesto_texto": 552,
    "recursos": {
     "grafico": 4
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "D2",
   "nombre": "Barras agrupadas (dos series + leyenda en chips)",
   "cuando_usarlo": "comparar dos cohortes o dos escenarios en el mismo eje. Máximo dos series y cuatro grupos: más que eso deja de leerse en pantalla.",
   "url": "https://brand.magoya.com/ai/templates/D2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/D2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Fields with an embedded pod close the loop faster",
     "max_caracteres_aprox": 113,
     "max_lineas": 3
    },
    {
     "slot": "chart2",
     "rol": "grafico",
     "texto_ejemplo": "tipo bar",
     "nota": "reemplazar por barras/lineas hechas con divs .r usando la paleta; datos de ejemplo en el comentario"
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Recommendations accepted per quarter. Baseline is the client's previous vendor setup.",
     "max_caracteres_aprox": 302,
     "max_lineas": 7
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Baseline",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Embedded pod",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 4,
    "presupuesto_texto": 590,
    "recursos": {
     "grafico": 4
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "D3",
   "nombre": "Gráfico de líneas (serie principal + baseline punteada)",
   "cuando_usarlo": "tendencia larga. La serie de Magoya va sólida en verde profundo con el último punto en lima; el baseline queda punteado en gris.",
   "url": "https://brand.magoya.com/ai/templates/D3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/D3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Twelve months of compounding adoption",
     "max_caracteres_aprox": 105,
     "max_lineas": 3
    },
    {
     "slot": "chart2",
     "rol": "grafico",
     "texto_ejemplo": "tipo line",
     "nota": "reemplazar por barras/lineas hechas con divs .r usando la paleta; datos de ejemplo en el comentario"
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "+312%",
     "max_caracteres_aprox": 14,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Monthly active growers, month 1 to 12",
     "max_caracteres_aprox": 202,
     "max_lineas": 5
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "With Magoya",
     "max_caracteres_aprox": 79,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Baseline forecast",
     "max_caracteres_aprox": 88,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 4,
    "presupuesto_texto": 554,
    "recursos": {
     "grafico": 4
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "D4",
   "nombre": "Donut + barras de progreso (sage)",
   "cuando_usarlo": "una proporción principal más dos o tres avances secundarios. El donut lleva la cifra adentro; una sola barra va en lima.",
   "url": "https://brand.magoya.com/ai/templates/D4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/D4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Discovery outcomes, quantified",
     "max_caracteres_aprox": 68,
     "max_lineas": 2
    },
    {
     "slot": "chart2",
     "rol": "grafico",
     "texto_ejemplo": "tipo doughnut",
     "nota": "reemplazar por barras/lineas hechas con divs .r usando la paleta; datos de ejemplo en el comentario"
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "validated",
     "max_caracteres_aprox": 54,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "subtitulo",
     "texto_ejemplo": "Of 25 hypotheses raised in a 6-week paid discovery, two thirds survived contact with real operations.",
     "max_caracteres_aprox": 208,
     "max_lineas": 4
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Hypotheses validated in the field",
     "max_caracteres_aprox": 135,
     "max_lineas": 2
    },
    {
     "slot": "t7",
     "rol": "kicker",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Flows reworked after grower testing",
     "max_caracteres_aprox": 135,
     "max_lineas": 2
    },
    {
     "slot": "t9",
     "rol": "kicker",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Scope removed before build",
     "max_caracteres_aprox": 135,
     "max_lineas": 2
    },
    {
     "slot": "t11",
     "rol": "kicker",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 63,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 4,
    "presupuesto_texto": 999,
    "recursos": {
     "grafico": 4
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "E1",
   "nombre": "Lista numerada con fila destacada (lima)",
   "cuando_usarlo": "secuencias de 4 a 5 pasos. La fila en lima es el paso donde está el cliente hoy — se mueve según la conversación.",
   "url": "https://brand.magoya.com/ai/templates/E1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/E1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "The Magoya method",
     "max_caracteres_aprox": 54,
     "max_lineas": 4
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "1",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Discover — immersion in your product, market and users.",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t5",
     "rol": "subtitulo",
     "texto_ejemplo": "2",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Align — one plan, shared metrics, no surprises.",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "3",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Execute — the embedded senior pod ships and iterates.",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    },
    {
     "slot": "t9",
     "rol": "subtitulo",
     "texto_ejemplo": "4",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Learn — measure in the field, evolve the roadmap.",
     "max_caracteres_aprox": 172,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 832,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "E2",
   "nombre": "Checklist en dos columnas",
   "cuando_usarlo": "argumentos de diferenciación. Tres ítems por columna como máximo, cada uno de una línea. El check va en verde digital.",
   "url": "https://brand.magoya.com/ai/templates/E2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/E2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Why teams choose Magoya",
     "max_caracteres_aprox": 37,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Domain expertise",
     "max_caracteres_aprox": 84,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "We work only in agribusiness, and have since 2017.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "Agronomists sitting next to engineers.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "Fluency with grower and retail workflows.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    },
    {
     "slot": "t10",
     "rol": "subtitulo",
     "texto_ejemplo": "Proven methodology",
     "max_caracteres_aprox": 84,
     "max_lineas": 2
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "A collaborative path from discovery to launch.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    },
    {
     "slot": "t13",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t14",
     "rol": "caption",
     "texto_ejemplo": "Senior pods assembled around your product.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    },
    {
     "slot": "t15",
     "rol": "caption",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    },
    {
     "slot": "t16",
     "rol": "caption",
     "texto_ejemplo": "Results that outlast the roadmap.",
     "max_caracteres_aprox": 159,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 1279,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "E3",
   "nombre": "Tabla comparativa de scope — Lean vs Recommended",
   "cuando_usarlo": "primera de las dos slides de escenarios de inversión: quién está en el equipo en cada opción. La columna recomendada va en sage y su total en lima.",
   "url": "https://brand.magoya.com/ai/templates/E3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/E3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Two ways to staff this",
     "max_caracteres_aprox": 54,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Scenario 1 of 2 · scope",
     "max_caracteres_aprox": 129,
     "max_lineas": 3
    },
    {
     "slot": "tabla3",
     "rol": "tabla",
     "texto_ejemplo": "tabla de datos"
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 249,
    "recursos": {},
    "peso": "mixto",
    "beat": "pedido"
   }
  },
  {
   "id": "E4",
   "nombre": "Escenarios de inversión — timing + números",
   "cuando_usarlo": "segunda slide de escenarios: cuánto dura y cuánto cuesta cada opción. La recomendada va en verde profundo con el total en lima. Nunca mezclar scope y plata en la misma slide.",
   "url": "https://brand.magoya.com/ai/templates/E4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/E4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Timing and investment",
     "max_caracteres_aprox": 54,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Scenario 2 of 2 · numbers",
     "max_caracteres_aprox": 135,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "Lean",
     "max_caracteres_aprox": 54,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "kicker",
     "texto_ejemplo": "3.2 FTE",
     "max_caracteres_aprox": 39,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "months to MVP",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t8",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "workstream",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t10",
     "rol": "titulo",
     "texto_ejemplo": "Q3",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "first field season",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "Phase 2 required for data & AI",
     "max_caracteres_aprox": 126,
     "max_lineas": 2
    },
    {
     "slot": "t13",
     "rol": "subtitulo",
     "texto_ejemplo": "Recommended",
     "max_caracteres_aprox": 54,
     "max_lineas": 2
    },
    {
     "slot": "t14",
     "rol": "kicker",
     "texto_ejemplo": "6.5 FTE",
     "max_caracteres_aprox": 39,
     "max_lineas": 2
    },
    {
     "slot": "t15",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t16",
     "rol": "caption",
     "texto_ejemplo": "months to MVP",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t17",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t18",
     "rol": "caption",
     "texto_ejemplo": "workstreams",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t19",
     "rol": "titulo",
     "texto_ejemplo": "Q1",
     "max_caracteres_aprox": 8,
     "max_lineas": 1
    },
    {
     "slot": "t20",
     "rol": "caption",
     "texto_ejemplo": "first field season",
     "max_caracteres_aprox": 67,
     "max_lineas": 3
    },
    {
     "slot": "t21",
     "rol": "caption",
     "texto_ejemplo": "Data & AI included from sprint 1",
     "max_caracteres_aprox": 126,
     "max_lineas": 2
    },
    {
     "slot": "t22",
     "rol": "caption",
     "texto_ejemplo": "Kick-off",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t23",
     "rol": "caption",
     "texto_ejemplo": "Week 0",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t24",
     "rol": "caption",
     "texto_ejemplo": "Discovery closed",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t25",
     "rol": "caption",
     "texto_ejemplo": "Week 6",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t26",
     "rol": "caption",
     "texto_ejemplo": "MVP in the field",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t27",
     "rol": "caption",
     "texto_ejemplo": "Month 5 · recommended",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t28",
     "rol": "caption",
     "texto_ejemplo": "MVP in the field",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t29",
     "rol": "caption",
     "texto_ejemplo": "Month 9 · lean",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t30",
     "rol": "caption",
     "texto_ejemplo": "Season review",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t31",
     "rol": "caption",
     "texto_ejemplo": "Month 12",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 1948,
    "recursos": {},
    "peso": "texto",
    "beat": "pedido"
   }
  },
  {
   "id": "F1",
   "nombre": "Timeline horizontal de 5 etapas (etapa activa en lima)",
   "cuando_usarlo": "mostrar dónde arranca y dónde termina el trabajo. Cinco hitos como máximo; el nodo lima es el que se está negociando.",
   "url": "https://brand.magoya.com/ai/templates/F1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/F1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "From discovery to the field",
     "max_caracteres_aprox": 37,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Discovery",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Immersion, users, constraints",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Ideation",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Concepts and priorities",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "Prototyping",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Tested with real growers",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t9",
     "rol": "kicker",
     "texto_ejemplo": "MVP",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Ship the core loop",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "Scaling",
     "max_caracteres_aprox": 46,
     "max_lineas": 2
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "Evolve with the seasons",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 908,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "F2",
   "nombre": "Método en 4 columnas — Discover · Align · Execute · Learn",
   "cuando_usarlo": "explicar el método propio con una frase por fase. La fase Execute lleva el golpe de lima porque es donde vive el equipo embebido.",
   "url": "https://brand.magoya.com/ai/templates/F2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/F2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "How the work runs",
     "max_caracteres_aprox": 37,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "kicker",
     "texto_ejemplo": "PHASE 01",
     "max_caracteres_aprox": 68,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "Discover",
     "max_caracteres_aprox": 41,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Immersion in the product, the market and the people who use it in the field.",
     "max_caracteres_aprox": 306,
     "max_lineas": 11
    },
    {
     "slot": "t6",
     "rol": "kicker",
     "texto_ejemplo": "PHASE 02",
     "max_caracteres_aprox": 68,
     "max_lineas": 2
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "Align",
     "max_caracteres_aprox": 41,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "One plan, shared metrics and a scope both teams can defend.",
     "max_caracteres_aprox": 306,
     "max_lineas": 11
    },
    {
     "slot": "t9",
     "rol": "kicker",
     "texto_ejemplo": "PHASE 03",
     "max_caracteres_aprox": 68,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "subtitulo",
     "texto_ejemplo": "Execute",
     "max_caracteres_aprox": 41,
     "max_lineas": 2
    },
    {
     "slot": "t11",
     "rol": "caption",
     "texto_ejemplo": "The embedded senior pod ships in your rituals, with your definition of done.",
     "max_caracteres_aprox": 306,
     "max_lineas": 11
    },
    {
     "slot": "t12",
     "rol": "kicker",
     "texto_ejemplo": "PHASE 04",
     "max_caracteres_aprox": 68,
     "max_lineas": 2
    },
    {
     "slot": "t13",
     "rol": "subtitulo",
     "texto_ejemplo": "Learn",
     "max_caracteres_aprox": 41,
     "max_lineas": 2
    },
    {
     "slot": "t14",
     "rol": "caption",
     "texto_ejemplo": "Measure on real operations and feed the next season’s roadmap.",
     "max_caracteres_aprox": 306,
     "max_lineas": 11
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 1763,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "F3",
   "nombre": "Journey de actores y plataformas (swimlanes)",
   "cuando_usarlo": "mostrar la interacción entre personas y sistemas. Un carril por actor, una etapa por columna, celdas vacías cuando el actor no participa. Nunca llenar la grilla entera: eso es el \"bingo\" que hay que evitar.",
   "url": "https://brand.magoya.com/ai/templates/F3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/F3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "titulo",
     "texto_ejemplo": "One recommendation, four hands",
     "max_caracteres_aprox": 86,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "kicker",
     "texto_ejemplo": "FIELD SIGNAL",
     "max_caracteres_aprox": 79,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "kicker",
     "texto_ejemplo": "DECISION",
     "max_caracteres_aprox": 79,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "kicker",
     "texto_ejemplo": "ACTION",
     "max_caracteres_aprox": 79,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "kicker",
     "texto_ejemplo": "GROWER",
     "max_caracteres_aprox": 72,
     "max_lineas": 3
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "Flags a problem from the cab, offline",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Waits",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "Reviews the recommendation on WhatsApp",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Applies it and confirms in one tap",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t11",
     "rol": "kicker",
     "texto_ejemplo": "AGRONOMIST",
     "max_caracteres_aprox": 72,
     "max_lineas": 3
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "Notified",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t13",
     "rol": "caption",
     "texto_ejemplo": "Validates against the field history",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t14",
     "rol": "caption",
     "texto_ejemplo": "Signs off or adjusts the dose",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t15",
     "rol": "caption",
     "texto_ejemplo": "Audits the outcome",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t16",
     "rol": "kicker",
     "texto_ejemplo": "PLATFORM",
     "max_caracteres_aprox": 72,
     "max_lineas": 3
    },
    {
     "slot": "t17",
     "rol": "caption",
     "texto_ejemplo": "Syncs when signal returns",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t18",
     "rol": "caption",
     "texto_ejemplo": "Runs the agronomic model",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t19",
     "rol": "caption",
     "texto_ejemplo": "Delivers to the grower's channel",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t20",
     "rol": "caption",
     "texto_ejemplo": "Logs the applied action",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t21",
     "rol": "kicker",
     "texto_ejemplo": "MAGOYA POD",
     "max_caracteres_aprox": 72,
     "max_lineas": 3
    },
    {
     "slot": "t22",
     "rol": "caption",
     "texto_ejemplo": "Instruments the event",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t23",
     "rol": "caption",
     "texto_ejemplo": "Tunes the model with agronomy",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t24",
     "rol": "caption",
     "texto_ejemplo": "Tests the channel with real users",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    },
    {
     "slot": "t25",
     "rol": "caption",
     "texto_ejemplo": "Reads adoption weekly",
     "max_caracteres_aprox": 115,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 0,
    "presupuesto_texto": 2517,
    "recursos": {},
    "peso": "texto",
    "beat": "propuesta"
   }
  },
  {
   "id": "F4",
   "nombre": "Artefactos de proceso (wireframe · prototipo · output de discovery)",
   "cuando_usarlo": "cuando hay que mostrar cómo se hace producto, no contarlo. Reemplazá los bloques grises por capturas reales del proyecto; el marco y el rótulo se quedan igual.",
   "url": "https://brand.magoya.com/ai/templates/F4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/F4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "What comes out of a discovery",
     "max_caracteres_aprox": 79,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "01 · Wireframes",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "02 · Clickable prototype",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "03 · Prioritised backlog",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 442,
    "recursos": {},
    "peso": "mixto",
    "beat": "propuesta"
   }
  },
  {
   "id": "G1",
   "nombre": "Caso estructurado — challenge · team · adaptation · results",
   "cuando_usarlo": "el caso de éxito canónico. Los chips dejan visibles el company challenge y el urgent need; las cuatro columnas siempre en el mismo orden y la de resultados con métricas, no adjetivos.",
   "url": "https://brand.magoya.com/ai/templates/G1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/G1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "caption",
     "texto_ejemplo": "Company challenge · fragmented grower data",
     "max_caracteres_aprox": 183,
     "max_lineas": 3
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Urgent need · one season to launch",
     "max_caracteres_aprox": 148,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "titulo",
     "texto_ejemplo": "Six data sources, one decision screen for the agronomist.",
     "max_caracteres_aprox": 118,
     "max_lineas": 3
    },
    {
     "slot": "t5",
     "rol": "kicker",
     "texto_ejemplo": "CHALLENGE",
     "max_caracteres_aprox": 88,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Grower data lived in six systems. Agronomists rebuilt the same picture by hand every week.",
     "max_caracteres_aprox": 324,
     "max_lineas": 9
    },
    {
     "slot": "t7",
     "rol": "kicker",
     "texto_ejemplo": "TEAM",
     "max_caracteres_aprox": 88,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Embedded pod of 6: engagement lead, designer, three engineers and one agronomist.",
     "max_caracteres_aprox": 324,
     "max_lineas": 9
    },
    {
     "slot": "t9",
     "rol": "kicker",
     "texto_ejemplo": "ADAPTATION",
     "max_caracteres_aprox": 88,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "We joined their rituals and their QA gates, and moved AI into sprint 1 instead of phase 2.",
     "max_caracteres_aprox": 324,
     "max_lineas": 9
    },
    {
     "slot": "t11",
     "rol": "kicker",
     "texto_ejemplo": "RESULTS",
     "max_caracteres_aprox": 88,
     "max_lineas": 2
    },
    {
     "slot": "t12",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 16,
     "max_lineas": 1
    },
    {
     "slot": "t13",
     "rol": "caption",
     "texto_ejemplo": "faster time-to-field",
     "max_caracteres_aprox": 75,
     "max_lineas": 2
    },
    {
     "slot": "t14",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 16,
     "max_lineas": 1
    },
    {
     "slot": "t15",
     "rol": "caption",
     "texto_ejemplo": "monthly active users",
     "max_caracteres_aprox": 75,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 1,
    "presupuesto_texto": 2021,
    "recursos": {
     "logos": 1
    },
    "peso": "texto",
    "beat": "evidencia"
   }
  },
  {
   "id": "G2",
   "nombre": "Caso en resultados — antes / después",
   "cuando_usarlo": "variante corta del caso, para cuando el deck ya explicó el contexto. Se usa alternada con G1 para que dos casos seguidos no se vean iguales.",
   "url": "https://brand.magoya.com/ai/templates/G2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/G2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "caption",
     "texto_ejemplo": "Urgent need · planting window in 11 weeks",
     "max_caracteres_aprox": 178,
     "max_lineas": 3
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "From a spreadsheet ritual to a planting plan the crew trusts.",
     "max_caracteres_aprox": 110,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "kicker",
     "texto_ejemplo": "BEFORE",
     "max_caracteres_aprox": 108,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "display",
     "texto_ejemplo": "6 days",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "to close a planting plan across 40 fields",
     "max_caracteres_aprox": 169,
     "max_lineas": 4
    },
    {
     "slot": "t7",
     "rol": "kicker",
     "texto_ejemplo": "AFTER 11 WEEKS",
     "max_caracteres_aprox": 108,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "display",
     "texto_ejemplo": "4 hours",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "same 40 fields, same two agronomists",
     "max_caracteres_aprox": 169,
     "max_lineas": 4
    },
    {
     "slot": "t10",
     "rol": "kicker",
     "texto_ejemplo": "HELD FOR",
     "max_caracteres_aprox": 108,
     "max_lineas": 2
    },
    {
     "slot": "t11",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 9,
     "max_lineas": 1
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "consecutive seasons without extra headcount",
     "max_caracteres_aprox": 169,
     "max_lineas": 4
    },
    {
     "slot": "t13",
     "rol": "titulo",
     "texto_ejemplo": "→",
     "max_caracteres_aprox": 9,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 1,
    "presupuesto_texto": 1221,
    "recursos": {
     "logos": 1
    },
    "peso": "texto",
    "beat": "evidencia"
   }
  },
  {
   "id": "H1",
   "nombre": "Foto a sangre a la izquierda + texto a la derecha",
   "cuando_usarlo": "abrir un bloque de contexto de mercado. La foto va a sangre por tres bordes y el texto respira en el lienzo blanco — nunca texto encima de la foto en esta variante.",
   "url": "https://brand.magoya.com/ai/templates/H1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/H1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "kicker",
     "texto_ejemplo": "MARKET CONTEXT",
     "max_caracteres_aprox": 127,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "Every region is a different product problem.",
     "max_caracteres_aprox": 104,
     "max_lineas": 4
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "Terraces, centre pivots and rainfed lots do not share a workflow. We design for the operation in front of us, then generalise — not the other way round.",
     "max_caracteres_aprox": 334,
     "max_lineas": 6
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "10 countries · 21 domains",
     "max_caracteres_aprox": 137,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 1,
    "presupuesto_texto": 768,
    "recursos": {
     "foto": 1
    },
    "peso": "texto",
    "beat": "contexto"
   }
  },
  {
   "id": "H2",
   "nombre": "Foto a sangre a la derecha + texto a la izquierda (sage)",
   "cuando_usarlo": "el espejo de H1, para alternar ritmo cuando hay dos slides de foto seguidas. Lienzo sage para diferenciarla.",
   "url": "https://brand.magoya.com/ai/templates/H2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/H2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "kicker",
     "texto_ejemplo": "FIELD FIRST",
     "max_caracteres_aprox": 127,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "Software that survives dust, gloves and no signal.",
     "max_caracteres_aprox": 104,
     "max_lineas": 4
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "Every release is tested on a real operation before it ships. If it does not work at 6am with one bar of signal, it does not work.",
     "max_caracteres_aprox": 279,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 1,
    "presupuesto_texto": 576,
    "recursos": {
     "foto": 1
    },
    "peso": "mixto",
    "beat": "contexto"
   }
  },
  {
   "id": "H3",
   "nombre": "Foto de fondo completo + scrim verde + statement",
   "cuando_usarlo": "statement de impacto a mitad de deck. El scrim verde profundo 55→86% es obligatorio cuando hay texto encima; es el único degradado permitido.",
   "url": "https://brand.magoya.com/ai/templates/H3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/H3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "The planting window doesn’t move. Your release date does.",
     "max_caracteres_aprox": 78,
     "max_lineas": 3
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "We plan against the crop calendar. If a feature misses the window, it waits a year — so we ship what the season can use, then keep building.",
     "max_caracteres_aprox": 252,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "foto",
    "recursos_visuales": 1,
    "presupuesto_texto": 396,
    "recursos": {
     "foto": 1
    },
    "peso": "visual",
    "beat": "tension"
   }
  },
  {
   "id": "H4",
   "nombre": "Tira de 3 fotos + título",
   "cuando_usarlo": "mostrar rango geográfico o de cultivos sin caer en un collage. Tres aéreas, mismo alto, un rótulo por foto. Sin texto encima de las imágenes.",
   "url": "https://brand.magoya.com/ai/templates/H4.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/H4.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Ten countries, one product language",
     "max_caracteres_aprox": 97,
     "max_lineas": 3
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Row crops · Argentina & Brazil",
     "max_caracteres_aprox": 135,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Terraced systems · Southeast Asia",
     "max_caracteres_aprox": 135,
     "max_lineas": 3
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Corn belt · United States",
     "max_caracteres_aprox": 135,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 3,
    "presupuesto_texto": 568,
    "recursos": {
     "foto": 3
    },
    "peso": "visual",
    "beat": "contexto"
   }
  },
  {
   "id": "I1",
   "nombre": "Personaje + display al palo",
   "cuando_usarlo": "statement conceptual sin foto. El personaje se recorta contra el borde derecho, ocupa ~47% del ancho y va sobre lienzo plano — nunca sobre foto, y no convive con iconografía.",
   "url": "https://brand.magoya.com/ai/templates/I1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/I1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "kicker",
     "texto_ejemplo": "CLARITY · CONFIDENCE · COMMITMENT",
     "max_caracteres_aprox": 153,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "display",
     "texto_ejemplo": "Complexity in,\na clear plan out.",
     "max_caracteres_aprox": 86,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 1,
    "presupuesto_texto": 305,
    "recursos": {
     "ilustracion": 1
    },
    "peso": "mixto",
    "beat": "tension"
   }
  },
  {
   "id": "I2",
   "nombre": "Personaje a la izquierda + dato al palo (sage)",
   "cuando_usarlo": "espejo de I1 para alternar el lado. El texto siempre va del lado opuesto al personaje; la cifra hace de display.",
   "url": "https://brand.magoya.com/ai/templates/I2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/I2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 11,
     "max_lineas": 1
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "AgTech domains covered by the same team",
     "max_caracteres_aprox": 113,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Agronomy, logistics, traceability, carbon, retail, crop protection and fifteen more.",
     "max_caracteres_aprox": 241,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 2,
    "presupuesto_texto": 431,
    "recursos": {
     "ilustracion": 1,
     "grafico": 1
    },
    "peso": "visual",
    "beat": "tension"
   }
  },
  {
   "id": "J1",
   "nombre": "Quote destacada en card (sage)",
   "cuando_usarlo": "testimonio con nombre y rol. La regla lima abajo del texto es el golpe de color; la card nunca lleva foto además del texto.",
   "url": "https://brand.magoya.com/ai/templates/J1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/J1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "subtitulo",
     "texto_ejemplo": "“Magoya’s expertise in UX, digital ag platform development and agronomic know-how, combined with their understanding of farmer and retail needs, made our transf",
     "max_caracteres_aprox": 390,
     "max_lineas": 7
    },
    {
     "slot": "t2",
     "rol": "caption",
     "texto_ejemplo": "Varina Baldi",
     "max_caracteres_aprox": 131,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Founder & CEO",
     "max_caracteres_aprox": 131,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 652,
    "recursos": {},
    "peso": "mixto",
    "beat": "evidencia"
   }
  },
  {
   "id": "J2",
   "nombre": "Quote sobre foto B&N + scrim",
   "cuando_usarlo": "cuando el testimonio tiene que poner cara. Retrato en B&N a sangre, scrim verde profundo y la frase que carga el sentido en lima.",
   "url": "https://brand.magoya.com/ai/templates/J2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/J2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "titulo",
     "texto_ejemplo": "“They did not join to deliver a project. They joined to own the outcome with us.”",
     "max_caracteres_aprox": 274,
     "max_lineas": 5
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Camila López Colmano",
     "max_caracteres_aprox": 113,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "AgTech Expert",
     "max_caracteres_aprox": 131,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "foto",
    "recursos_visuales": 1,
    "presupuesto_texto": 584,
    "recursos": {
     "foto": 1
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "J3",
   "nombre": "Equipo — retratos B&N + rol",
   "cuando_usarlo": "presentar el pod concreto de la propuesta, con nombre y rol reales. Los retratos van siempre en B&N. Pendiente: Camila López Colmano y Varina Baldi ya tienen su retrato real (cami-agtech-bw.jpg, varu-baldi-bw.jpg); Francisco Facal todavía repite varu-ceo-bw.jpg — falta su sesión real.",
   "url": "https://brand.magoya.com/ai/templates/J3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/J3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "The team you actually get",
     "max_caracteres_aprox": 50,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "Named people, not a bench. The pod grows with agronomy and QA from the same team.",
     "max_caracteres_aprox": 216,
     "max_lineas": 5
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Varina Baldi",
     "max_caracteres_aprox": 81,
     "max_lineas": 2
    },
    {
     "slot": "t5",
     "rol": "caption",
     "texto_ejemplo": "Founder & CEO",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "Francisco Facal",
     "max_caracteres_aprox": 81,
     "max_lineas": 2
    },
    {
     "slot": "t7",
     "rol": "caption",
     "texto_ejemplo": "Solutions Architecture",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Camila López Colmano",
     "max_caracteres_aprox": 81,
     "max_lineas": 2
    },
    {
     "slot": "t9",
     "rol": "caption",
     "texto_ejemplo": "AgTech Expert",
     "max_caracteres_aprox": 99,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 3,
    "presupuesto_texto": 872,
    "recursos": {
     "foto": 3
    },
    "peso": "visual",
    "beat": "propuesta"
   }
  },
  {
   "id": "K1",
   "nombre": "Stack tecnológico por capa (logos reales en gris)",
   "cuando_usarlo": "validación técnica frente a un CTO. Logos reales de assets/logos/partners/, siempre en gris y agrupados por capa: sin logo, la capa no se menciona.",
   "url": "https://brand.magoya.com/ai/templates/K1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/K1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "The stack we work in",
     "max_caracteres_aprox": 55,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "caption",
     "texto_ejemplo": "No new vendor to onboard",
     "max_caracteres_aprox": 153,
     "max_lineas": 3
    },
    {
     "slot": "t4",
     "rol": "kicker",
     "texto_ejemplo": "PRODUCT SURFACES",
     "max_caracteres_aprox": 105,
     "max_lineas": 3
    },
    {
     "slot": "t5",
     "rol": "kicker",
     "texto_ejemplo": "SERVICES & DATA",
     "max_caracteres_aprox": 105,
     "max_lineas": 3
    },
    {
     "slot": "t6",
     "rol": "kicker",
     "texto_ejemplo": "CLOUD",
     "max_caracteres_aprox": 105,
     "max_lineas": 3
    },
    {
     "slot": "t7",
     "rol": "kicker",
     "texto_ejemplo": "DELIVERY & ML OPS",
     "max_caracteres_aprox": 105,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 13,
    "presupuesto_texto": 694,
    "recursos": {
     "logos": 13
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "K2",
   "nombre": "Capacidades de IA (logos de modelos + qué hacemos con ellos)",
   "cuando_usarlo": "cuando la conversación entra en IA y hay que ser explícito. Cada fila nombra una capacidad concreta, no \"AI-powered\". Los logos de assets/studio/icons/ai/ vienen monocromos: van en negro sobre claro.",
   "url": "https://brand.magoya.com/ai/templates/K2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/K2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "What we ship with AI",
     "max_caracteres_aprox": 55,
     "max_lineas": 2
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Agronomic copilots",
     "max_caracteres_aprox": 100,
     "max_lineas": 2
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "Conversational assistants over the client's own agronomy, in WhatsApp and in-product.",
     "max_caracteres_aprox": 333,
     "max_lineas": 5
    },
    {
     "slot": "t5",
     "rol": "subtitulo",
     "texto_ejemplo": "Retrieval over field data",
     "max_caracteres_aprox": 100,
     "max_lineas": 2
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "RAG on trial results, labels and protocols — answers with the source attached.",
     "max_caracteres_aprox": 333,
     "max_lineas": 5
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "Vision on crop imagery",
     "max_caracteres_aprox": 100,
     "max_lineas": 2
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Disease and weed detection from phone, drone and satellite captures.",
     "max_caracteres_aprox": 333,
     "max_lineas": 5
    },
    {
     "slot": "t9",
     "rol": "subtitulo",
     "texto_ejemplo": "On-premise inference",
     "max_caracteres_aprox": 100,
     "max_lineas": 2
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Local models when the data cannot leave the client’s environment.",
     "max_caracteres_aprox": 333,
     "max_lineas": 5
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 4,
    "presupuesto_texto": 1853,
    "recursos": {
     "iconos": 4
    },
    "peso": "visual",
    "beat": "propuesta"
   }
  },
  {
   "id": "L1",
   "nombre": "Logo wall de clientes (12 logos, grilla pareja)",
   "cuando_usarlo": "prueba social después de la portada o antes del cierre. Logos siempre reales y en gris, grilla pareja de 6×2. Jamás placeholders ni logos a color.",
   "url": "https://brand.magoya.com/ai/templates/L1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/L1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Nine years inside agribusiness",
     "max_caracteres_aprox": 78,
     "max_lineas": 3
    },
    {
     "slot": "t3",
     "rol": "titulo",
     "texto_ejemplo": "[XX]",
     "max_caracteres_aprox": 15,
     "max_lineas": 1
    },
    {
     "slot": "t4",
     "rol": "caption",
     "texto_ejemplo": "years of average relationship",
     "max_caracteres_aprox": 90,
     "max_lineas": 2
    }
   ],
   "perfil": {
    "lienzo": "blanco",
    "recursos_visuales": 12,
    "presupuesto_texto": 249,
    "recursos": {
     "logos": 12
    },
    "peso": "visual",
    "beat": "evidencia"
   }
  },
  {
   "id": "M1",
   "nombre": "Portada — aérea de campo + scrim verde",
   "cuando_usarlo": "portada por defecto. Wordmark crema arriba a la izquierda, chip de contexto a la derecha, display abajo. El scrim es obligatorio: sin él el texto no lee.",
   "url": "https://brand.magoya.com/ai/templates/M1.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/M1.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "caption",
     "texto_ejemplo": "Partnership proposal · 2026",
     "max_caracteres_aprox": 167,
     "max_lineas": 3
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Digital product\ndevelopment\nfor agribusiness",
     "max_caracteres_aprox": 82,
     "max_lineas": 4
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "We design, build and evolve the products and platforms that modern agribusinesses run on.",
     "max_caracteres_aprox": 189,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "foto",
    "recursos_visuales": 1,
    "presupuesto_texto": 438,
    "recursos": {
     "foto": 1
    },
    "peso": "visual",
    "beat": "apertura"
   }
  },
  {
   "id": "M2",
   "nombre": "Portada alternativa — verde profundo + paño al corte",
   "cuando_usarlo": "cuando no hay una foto que aporte, o cuando el deck ya abre con foto y hace falta contraste. El paño nace del borde derecho y se corta contra él.",
   "url": "https://brand.magoya.com/ai/templates/M2.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/M2.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "caption",
     "texto_ejemplo": "Partnership proposal · 2026",
     "max_caracteres_aprox": 167,
     "max_lineas": 3
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "AgTech challenges demand more than code.",
     "max_caracteres_aprox": 79,
     "max_lineas": 4
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Clarity, confidence and commitment — the three things a nine-year AgTech partnership is actually made of.",
     "max_caracteres_aprox": 241,
     "max_lineas": 4
    }
   ],
   "perfil": {
    "lienzo": "verde-profundo",
    "recursos_visuales": 1,
    "presupuesto_texto": 487,
    "recursos": {
     "motivo": 1
    },
    "peso": "visual",
    "beat": "apertura"
   }
  },
  {
   "id": "M3",
   "nombre": "Cierre / next step con CTA + flecha a mano",
   "cuando_usarlo": "última slide, siempre. Tres próximos pasos concretos con fecha y un solo CTA. La flecha a mano nace del texto y su punta cae sobre el botón — una sola marca por slide.",
   "url": "https://brand.magoya.com/ai/templates/M3.html",
   "url_texto_crudo": "https://brand.magoya.com/ai/templates/M3.txt",
   "slots": [
    {
     "slot": "t1",
     "rol": "numero_de_pagina",
     "texto_ejemplo": "NN",
     "max_caracteres_aprox": 66,
     "max_lineas": 2
    },
    {
     "slot": "t2",
     "rol": "display",
     "texto_ejemplo": "Next step:\na paid discovery.",
     "max_caracteres_aprox": 86,
     "max_lineas": 4
    },
    {
     "slot": "t3",
     "rol": "subtitulo",
     "texto_ejemplo": "Six weeks, fixed price, a working prototype and a prioritised backlog at the end. If we are not the right partner after that, you keep everything.",
     "max_caracteres_aprox": 297,
     "max_lineas": 6
    },
    {
     "slot": "t4",
     "rol": "subtitulo",
     "texto_ejemplo": "Book the discovery kickoff",
     "max_caracteres_aprox": 135,
     "max_lineas": 3
    },
    {
     "slot": "t5",
     "rol": "subtitulo",
     "texto_ejemplo": "01",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t6",
     "rol": "caption",
     "texto_ejemplo": "This week — scope call with your product lead",
     "max_caracteres_aprox": 153,
     "max_lineas": 3
    },
    {
     "slot": "t7",
     "rol": "subtitulo",
     "texto_ejemplo": "02",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t8",
     "rol": "caption",
     "texto_ejemplo": "Week 2 — discovery kickoff with the embedded pod",
     "max_caracteres_aprox": 153,
     "max_lineas": 3
    },
    {
     "slot": "t9",
     "rol": "subtitulo",
     "texto_ejemplo": "03",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t10",
     "rol": "caption",
     "texto_ejemplo": "Week 8 — prototype, backlog and staffing decision",
     "max_caracteres_aprox": 153,
     "max_lineas": 3
    },
    {
     "slot": "t11",
     "rol": "subtitulo",
     "texto_ejemplo": "04",
     "max_caracteres_aprox": 6,
     "max_lineas": 1
    },
    {
     "slot": "t12",
     "rol": "caption",
     "texto_ejemplo": "Q1 — first release in the field",
     "max_caracteres_aprox": 153,
     "max_lineas": 3
    }
   ],
   "perfil": {
    "lienzo": "sage",
    "recursos_visuales": 0,
    "presupuesto_texto": 1220,
    "recursos": {},
    "peso": "texto",
    "beat": "pedido"
   }
  }
 ],
 "roles_narrativos": {
  "que_es": "El rol de cada módulo en el argumento. Es el eje que gobierna la secuencia; la textura (lienzo, peso visual) es consecuencia, no causa. Viene de cómo lo gobierna el mercado: Sequoia ordena sus 10 slides por rol, y el ghost deck de McKinsey se aprueba leyendo solo los títulos, en orden, sin las slides.",
  "como_se_derivo": {
   "apertura": "su cuando_usarlo dice que es portada",
   "pedido": "cierra el deck o pone el ask comercial (escenarios de inversión)",
   "estructura": "da aire u orientación, no argumenta (agenda, divisor, título de capítulo)",
   "tension": "statement que reencuadra: una sola idea que carga el sentido",
   "contexto": "sitúa el mercado o aclara el statement antes de proponer",
   "propuesta": "qué hacemos, cómo lo hacemos y con quién (servicios, método, journey, pod)",
   "evidencia": "respalda con cifra, gráfico, caso o tercero"
  },
  "a_revisar": {
   "A1": "A1 es el único ambiguo: su cuando_usarlo dice \"abrir un bloque con una sola idea\", que puede ser tensión o propuesta según el bloque. Se derivó como tensión porque la frase que carga el sentido suele reencuadrar. Si en la práctica se usa para proponer, corregilo acá."
  },
  "inventario": {
   "tension": 4,
   "contexto": 4,
   "estructura": 3,
   "propuesta": 11,
   "evidencia": 14,
   "pedido": 3,
   "apertura": 2
  }
 },
 "como_componer_el_deck": {
  "por_que": "El selector mapea contenido → módulo fila por fila, y nadie gobierna la SECUENCIA. Un deck puede cumplir todas las reglas de marca y salir soso. Pasó en una prueba real. Lo que gobierna la secuencia es el ROL de cada slide en el argumento (campo perfil.beat), no su textura: la textura es consecuencia.",
  "las_cuatro_reglas": [
   "La última slide es beat \"pedido\". No se cierra sin pedir algo.",
   "Antes del primer beat \"propuesta\" tiene que haber al menos un beat \"tension\". No se propone sin haber puesto el problema.",
   "Después del primer beat \"propuesta\" tiene que haber al menos un beat \"evidencia\". No se afirma sin respaldar.",
   "No más de 3 beats iguales seguidos. Cuatro slides de propuesta seguidas es un catálogo, no un argumento."
  ],
  "cuando_NO_aplican": "Las cuatro gobiernan la SECUENCIA. En una pieza de una sola slide no hay secuencia y no aplican ninguna: pedirle a una slide que sea a la vez tensión, propuesta, evidencia y pedido es insatisfacible. Lo que sí aplica siempre es el contrato de entrega de ai/precedencia.json. validar.py --pieza ya las saltea cuando hay una sola slide.",
  "si_una_regla_no_se_puede_cumplir": "decilo explícito en la entrega, con el motivo. Una excepción declarada es aceptable; una regla incumplida en silencio no. Ejemplo real: el resumen ejecutivo no tiene CTA, así que no puede cerrar en \"pedido\" — eso se declara.",
  "textura_es_diagnostico_no_regla": "El campo perfil trae lienzo y peso (visual/mixto/texto) para que puedas ver si el deck se aplana. NO es un gate: fue uno y se retiró, porque el catálogo no tiene todavía un módulo visual que cargue un método, un journey ni un caso, así que un deck de producto no podía cumplirlo (0 de 362.880 órdenes posibles). Miralo, no lo persigas. Si te queda denso, lo correcto es DECIRLO, no forzar la secuencia.",
  "si_te_queda_soso": "NO agregues adorno y NO inventes una carátula: hay meta-análisis de que los detalles decorativos bajan comprensión y recall (seductive details, 177 effect sizes). Primero revisá el argumento con las cuatro reglas de arriba — soso casi siempre es \"propone sin tensión\" o \"cuatro propuestas seguidas\", no falta de color. Si el argumento está bien y sigue denso, es que falta un módulo en el catálogo: reportalo.",
  "inventario": {
   "por_beat": {
    "tension": 4,
    "contexto": 4,
    "estructura": 3,
    "propuesta": 11,
    "evidencia": 14,
    "pedido": 3,
    "apertura": 2
   },
   "por_lienzo": {
    "blanco": 21,
    "verde-profundo": 3,
    "sage": 14,
    "foto": 3
   },
   "por_peso": {
    "mixto": 7,
    "texto": 15,
    "visual": 19
   },
   "mediana_de_presupuesto_de_texto": 694,
   "sin_portador_visual": "los beats \"propuesta\" que cargan método, journey o caso (F2, F3, E1, G1) son todos peso texto y no tienen recambio visual en el catálogo. Es un hueco conocido."
  }
 }
}