{"id":4621,"date":"2025-08-16T17:16:14","date_gmt":"2025-08-16T17:16:14","guid":{"rendered":"https:\/\/staging.globalsocialimpact.es\/?page_id=4621"},"modified":"2026-01-30T11:50:10","modified_gmt":"2026-01-30T11:50:10","slug":"estrategia","status":"publish","type":"page","link":"https:\/\/www.globalsocialimpact.es\/es\/estrategia\/","title":{"rendered":"Estrategia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"4621\" class=\"elementor elementor-4621\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-792aa67a e-con-full e-flex e-con e-parent\" data-id=\"792aa67a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-60d19478 animated-slow elementor-widget-mobile__width-inherit elementor-invisible elementor-widget elementor-widget-heading\" data-id=\"60d19478\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;_animation&quot;:&quot;fadeIn&quot;,&quot;_animation_delay&quot;:0,&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Investment Overview\u200b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f34796d e-con-full e-flex e-con e-child\" data-id=\"f34796d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f9075d7 elementor-widget__width-auto elementor-widget-mobile__width-initial elementor-widget elementor-widget-counter\" data-id=\"f9075d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Transactions<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"3000\" data-to-value=\"33\" data-from-value=\"0\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-515746b elementor-widget__width-auto elementor-widget-mobile__width-initial elementor-widget elementor-widget-counter\" data-id=\"515746b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Sectors<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"3000\" data-to-value=\"7\" data-from-value=\"0\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e1fd029 elementor-widget__width-auto elementor-widget-mobile__width-initial elementor-widget elementor-widget-counter\" data-id=\"e1fd029\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Portfolio Companies<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"3000\" data-to-value=\"17\" data-from-value=\"0\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ef22b7 elementor-widget__width-auto elementor-widget-mobile__width-initial elementor-widget elementor-widget-counter\" data-id=\"0ef22b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Countries<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"3000\" data-to-value=\"7\" data-from-value=\"0\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3a987ba elementor-widget__width-auto elementor-widget-mobile__width-initial elementor-widget elementor-widget-counter\" data-id=\"3a987ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Vehicles<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"3000\" data-to-value=\"2\" data-from-value=\"0\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bb82436 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"bb82436\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeInUp&quot;,&quot;animation_delay&quot;:600,&quot;animation_mobile&quot;:&quot;none&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-317a5f7 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"317a5f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our Investment Strategy<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a4d19f1 e-con-full e-flex e-con e-parent\" data-id=\"a4d19f1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-3bef96a e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"3bef96a\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b3da448 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"b3da448\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">01<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d23bccb elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"d23bccb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We invest in companies that address real-world challenges<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d2b0db6 elementor-widget elementor-widget-text-editor\" data-id=\"d2b0db6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We target solid, profitable, and growing businesses that respond to market failures and social inequities through sustainable models.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f758b39 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"f758b39\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;animation&quot;:&quot;fadeIn&quot;,&quot;background_motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f20064 elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"7f20064\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">02<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f272d0 elementor-widget elementor-widget-text-editor\" data-id=\"0f272d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We back transformative and lasting impact<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-13d8a6c elementor-widget elementor-widget-text-editor\" data-id=\"13d8a6c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We support businesses with the potential to drive systemic change, generating a positive impact that continues long after our investment ends.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8740b58 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"8740b58\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8e7e2eb elementor-widget elementor-widget-heading\" data-id=\"8e7e2eb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">03<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d17f79b elementor-widget elementor-widget-text-editor\" data-id=\"d17f79b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We partner with committed management teams<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56bbf81 elementor-widget elementor-widget-text-editor\" data-id=\"56bbf81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We work alongside teams aligned with our mission and dedicated to delivering both financial performance and measurable social and environmental outcomes.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-79b5744 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"79b5744\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-83bfc0e elementor-widget elementor-widget-heading\" data-id=\"83bfc0e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">04<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b396da4 elementor-widget elementor-widget-text-editor\" data-id=\"b396da4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We bring more than capital<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-903296b elementor-widget elementor-widget-text-editor\" data-id=\"903296b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our contribution goes beyond funding. We offer strategic guidance, deep expertise, and hands-on support, enhancing both resilience and impact, along with financial sustainability. This is our additionality.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e7f90ec e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"e7f90ec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-11f2514 elementor-widget elementor-widget-heading\" data-id=\"11f2514\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">05<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73b37d0 elementor-widget elementor-widget-text-editor\" data-id=\"73b37d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We follow a disciplined and hands-on investment process<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-870b89c elementor-widget elementor-widget-text-editor\" data-id=\"870b89c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">We combine proprietary deal sourcing with rigorous financial and impact due diligence. Post-investment, we actively support and monitor our companies, working closely to maximize value creation.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-cdd87ae e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"cdd87ae\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b267069 elementor-widget elementor-widget-heading\" data-id=\"b267069\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">We are building a diverse and global portfolio<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cba9bda elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"cba9bda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b37d9d elementor-widget elementor-widget-text-editor\" data-id=\"2b37d9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Our investments span multiple sectors and geographies. With a local presence in key regions, we invest in real economy businesses that create jobs and expand access to essential goods and services for underserved communities.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f8c2fd5 e-con-full elementor-hidden-tablet e-flex e-con e-parent\" data-id=\"f8c2fd5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-698cabf elementor-widget elementor-widget-shortcode\" data-id=\"698cabf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <style>\n        :root {\n            --primary-color: #869A78;\n            --secondary-color: #98BC43;\n            --accent-color: #E2F2CA;\n            --dark-color: #314841;\n            --highlight-color: #A2C827;\n            --office-color: #E6BAA6;\n            --credit-color: #a2c827;\n            --equity-color: #5ea38c;\n            --background-light: #ffffff;\n            --text-color: #293229;\n            --neutral-light: #D9D9E6;\n            --neutral-medium: #8D8686;\n            --bullet-office: #E6BAA6;\n        }\n\n        body {\n            font-family: 'Proxima Nova', Arial, sans-serif;\n            margin: 0;\n            padding: 0;\n            background-color: var(--background-light);\n            color: var(--text-color);\n            line-height: 1.6;\n        }\n\n        #investment-map {\n            width: 100%;\n            height: 500px;\n        }\n\n        #info-panel {\n            position: absolute;\n            font-family: 'Proxima Nova', Arial, sans-serif;\n            top: 65px;\n            left: 60px;\n            width: 300px;\n            background: white;\n            padding: 1.2em;\n            font-size: 0.9rem;\n            z-index: 10;\n            min-height: 75vh;\n            max-height: 70vh;\n            overflow-y: auto;\n            opacity: 0.95;\n            box-shadow: 0 0px 0px rgba(0,0,0,0.15);\n            border-radius: 8px;\n            border: 0px solid #e0e0e0;\n        }\n\n        #info-panel h3 {\n            margin: 0px 0px 16px 0px;\n            padding: 0px;\n            font-size: 20px;\n            color: var(--dark-color);\n            border-bottom: 2px solid var(--highlight-color);\n            padding-bottom: 8px;\n        }\n\n        .country-box {\n            border-left: 2px solid #A2C827;\n            font-size: 16px;\n            padding: 16px;\n            margin: 16px 0;\n            background: #f9f9f9;\n            border-radius: 0 6px 6px 0;\n        }\n\n        .country-name {\n            font-weight: bold;\n            color: var(--dark-color);\n            margin-bottom: 8px;\n            font-size: 18px;\n        }\n\n        .investment-item {\n            margin: 8px 0;\n            padding: 8px 12px;\n            border-left: 0px solid var(--neutral-light);\n            background: white;\n            border-radius: 0 4px 4px 0;\n        }\n\n        .office-item {\n            margin: 8px 0;\n            padding: 8px 12px;\n            border-left: 0px solid var(--office-color);\n            background: #fdf7f5;\n            border-radius: 0 4px 4px 0;\n        }\n\n        .selected-country {\n            border-left-color: var(--equity-color) !important;\n            background: #f0f8f0 !important;\n        }\n\n        #clear-selection.clear-selection {\n            background: #A2C827 !important;\n            color: #fff !important;\n            border: none !important;\n            padding: 6px 12px !important;\n            border-radius: 4px !important;\n            cursor: pointer !important;\n            font-size: 12px !important;\n            margin-bottom: 16px !important;\n            transition: background 0.3s ease !important;\n            font-family: 'Proxima Nova', Arial, sans-serif !important;\n            box-shadow: none !important;\n        }\n\n        #clear-selection.clear-selection:hover {\n            background: #314841 !important;\n        }\n\n        #legend {\n            display: flex;\n            justify-content: center;\n            padding: 0px 0px 10px 0px;\n            z-index: 10;\n            font-size: 15px;\n        }\n\n        .legend-item {\n            display: flex;\n            width: 120px;\n            align-items: center;\n            margin: 4px 0;\n        }\n\n        .legend-color {\n            display: inline-block;\n            width: 10px;\n            height: 10px;\n            border-radius: 50%;\n            margin-right: 6px;\n        }\n\n        .legend-credit { background-color: var(--credit-color); }\n        .legend-equity { background-color: var(--equity-color); }\n        .legend-office { background-color: var(--bullet-office); }\n\n        .filter-container {\n            display: flex;\n            justify-content: center;\n            gap: 12px;\n            margin: 0px 0px 15px 0px;\n            flex-wrap: wrap;\n        }\n\n        .filter-toggle {\n            position: relative;\n            display: inline-block;\n            color: #ffffff!important;\n        }\n\n        .filter-toggle input {\n            opacity: 0;\n            width: 0;\n            height: 0;\n            color: #ffffff!important;\n        }\n\n        .filter-slider {\n            position: relative;\n            cursor: pointer;\n            min-width: 100px;\n            height: 32px;\n            background-color: #0E475C;\n            border-radius: 16px;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            padding: 0px 10px;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n            border: 1px solid rgba(0,0,0,0.1);\n            color: #ffffff!important;\n        }\n\n        .filter-slider:before {\n            position: absolute;\n            content: \"\";\n            height: 25px;\n            width: 25px;\n            left: 4px; \/* posici\u00f3n por defecto *\/\n            bottom: 3px;\n            background-color: white;\n            transition: all 0.3s ease;\n            border-radius: 50%;\n        }\n\n\n        .filter-slider:after {\n            color: #ffffff!important;\n        }\n\n        input:checked + .filter-slider {\n            background-color: var(--highlight-color);\n            color: #ffffff!important;\n        }\n\n        input:checked + .filter-slider:before {\n            left: auto;        \/* desactiva el left *\/\n            right: 4px;        \/* lo colocamos desde el otro lado *\/\n        }\n\n\n\n        .filter-label {\n            font-family: \"Proxima Nova\", Arial, sans-serif;\n            margin-left: 30px;\n            transition: all 0.3s ease;\n            color: white!important;\n            font-size: 16px;\n            font-weight: 300;\n            padding:12px;\n        }\n\n        input:checked + .filter-slider .filter-label {\n            color: white!important;\n            margin-left: 0;\n            margin-right: 30px;\n        }\n\n        #filter-all-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-credit-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-equity-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-offices-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n\n        canvas.am5-layer-30 { display: none!important; }\n    <\/style>\n<\/head>\n<body>\n<!-- Filter Controls -->\n<div class=\"filter-container\">\n    <label class=\"filter-toggle\">\n        <input checked id=\"filter-all-toggle\" onclick=\"toggleFilter('All')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">All<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-credit-toggle\" onclick=\"toggleFilter('Credit')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Credit<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-equity-toggle\" onclick=\"toggleFilter('Equity')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Equity<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-offices-toggle\" onclick=\"toggleFilter('Offices')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Local Team <\/span>\n            <\/span>\n    <\/label>\n<\/div>\n\n<!-- Map Container -->\n<div id=\"investment-map\"><\/div>\n\n<!-- Info Panel -->\n<div id=\"info-panel\">\n    <h3 id=\"panel-title\">Investment Portfolio: All<\/h3>\n    <button class=\"clear-selection\" id=\"clear-selection\" onclick=\"clearSelection()\" style=\"display: none;\">Show All Countries<\/button>\n    <div id=\"country-list\"><\/div>\n<\/div>\n\n<!-- Legend -->\n<div id=\"legend\">\n        <span class=\"legend-item\">\n            <span class=\"legend-color legend-credit\"><\/span> Credit\n        <\/span>\n    <span class=\"legend-item\">\n            <span class=\"legend-color legend-equity\"><\/span> Equity\n        <\/span>\n    <span class=\"legend-item\">\n            <span class=\"legend-color legend-office\"><\/span> Local Team\n        <\/span>\n<\/div>\n\n<!-- Scripts -->\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/index.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/map.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/geodata\/worldLow.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/themes\/Animated.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/plugins\/patterns.js\"><\/script>\n\n<script>\n    \/\/ Data\n    const investmentData = [\n        { country: \"Ghana\", code: \"GH\", instrument: \"Credit\", investments: 5, lat: 7.9465, lon: -1.0232 },\n        { country: \"Uganda\", code: \"UG\", instrument: \"Credit\", investments: 3, lat: 1.3733, lon: 32.2903 },\n        { country: \"Kenya\", code: \"KE\", instrument: \"Credit\", investments: 3, lat: -0.0236, lon: 37.9062 },\n        { country: \"Rwanda\", code: \"RW\", instrument: \"Credit\", investments: 1, lat: -1.9403, lon: 29.8739 },\n        { country: \"Zambia\", code: \"ZM\", instrument: \"Credit\", investments: 1, lat: -13.1339, lon: 27.8493 },\n        { country: \"Ethiopia\", code: \"ET\", instrument: \"Credit\", investments: 1, lat: 9.145, lon: 40.4897 },\n        { country: \"C\u00f4te d'Ivoire\", code: \"CI\", instrument: \"Credit\", investments: 1, lat: 7.54, lon: -5.55 },\n        { country: \"Spain\", code: \"ES\", instrument: \"Equity\", investments: 6, lat: 40.4637, lon:\n                -3.7492 }\n        ];\n    const officeData = [\n        { name: \"Madrid\", country: \"Spain\", code: \"ES\", lat: 40.4168, lon: -3.7038 },\n        { name: \"Accra\", country: \"Ghana\", code: \"GH\", lat: 5.6037, lon: -0.187 },\n        { name: \"Nairobi\", country: \"Kenya\", code: \"KE\", lat: -1.2864, lon: 36.8172 }\n    ];\n\n    \/\/ Global variables\n    let activeFilters = new Set(['All']);\n    let selectedPolygon = null;\n    let selectedCountry = null;\n    let root, chart, polygonSeries, bulletsSeries, officeSeries;\n\n    \/\/ Utility functions\n    function setSelectedCountry(country) {\n        selectedCountry = country;\n    }\n\n    function clearSelection() {\n        selectedCountry = null;\n\n        \/\/ Reset selected polygon visual state\n        if (selectedPolygon) {\n            selectedPolygon.set(\"fillOpacity\", 1);\n            selectedPolygon.set(\"strokeWidth\", 0.5);\n            selectedPolygon = null;\n        }\n\n        updateCountryInfo();\n    }\n\n\n    function shouldShowCountry(countryCode, country) {\n        const countryInvestments = investmentData.filter(item => item.code === countryCode);\n        const countryOffices = officeData.filter(office => office.code === countryCode);\n\n        if (activeFilters.has('All')) {\n            return countryInvestments.length > 0 || countryOffices.length > 0;\n        }\n\n        let shouldShow = false;\n\n        \/\/ Check if country matches active filters\n        if (activeFilters.has('Credit')) {\n            shouldShow = shouldShow || countryInvestments.some(inv => inv.instrument === 'Credit');\n        }\n        if (activeFilters.has('Equity')) {\n            shouldShow = shouldShow || countryInvestments.some(inv => inv.instrument === 'Equity');\n        }\n        if (activeFilters.has('Offices')) {\n            shouldShow = shouldShow || countryOffices.length > 0;\n        }\n\n        return shouldShow;\n    }\n\n    function getActiveFilterText() {\n        if (activeFilters.has('All')) {\n            return 'All'; \/\/ Sin par\u00e9ntesis\n        }\n\n        \/\/ Convertimos el Set en array y sustituimos 'Offices' por 'Local Team'\n        const activeFilterArray = Array.from(activeFilters).map(f =>\n            f === \"Offices\" ? \"Local Team\" : f\n        );\n\n        if (activeFilterArray.length === 1) {\n            return ` ${activeFilterArray[0]}`;\n        } else if (activeFilterArray.length > 1) {\n            return ' ' + activeFilterArray.map(f =>\n                `<span>${f}<\/span>`\n            ).join('<span style=\"color:#A2C827;font-weight:bold;\"> + <\/span>');\n        }\n\n        return '';\n    }\n\n    function toggleFilter(filter) {\n        if (filter === 'All') {\n            if (activeFilters.has('All')) {\n                activeFilters.clear();\n            } else {\n                activeFilters.clear();\n                activeFilters.add('All');\n                activeFilters.add('All');\n                clearSelection();\n                updateCountryInfo();\n            }\n        } else {\n            if (activeFilters.has('All')) {\n                activeFilters.delete('All');\n            }\n            if (activeFilters.has(filter)) {\n                activeFilters.delete(filter);\n            } else {\n                activeFilters.add(filter);\n            }\n        }\n\n        \/\/ Update toggle states\n        const allToggle = document.getElementById('filter-all-toggle');\n        const creditToggle = document.getElementById('filter-credit-toggle');\n        const equityToggle = document.getElementById('filter-equity-toggle');\n        const officesToggle = document.getElementById('filter-offices-toggle');\n\n        if (allToggle) allToggle.checked = activeFilters.has('All');\n        if (creditToggle) creditToggle.checked = activeFilters.has('Credit');\n        if (equityToggle) equityToggle.checked = activeFilters.has('Equity');\n        if (officesToggle) officesToggle.checked = activeFilters.has('Offices');\n\n        \/\/ If no filters are selected, default to 'All'\n        if (activeFilters.size === 0) {\n            activeFilters.add('All');\n            if (allToggle) allToggle.checked = true;\n        }\n\n        updateMap();\n\n\/\/ Update country info if a country is selected\n        if (selectedCountry) {\n            updateCountryInfo(selectedCountry);\n        }\n    }\n\n    function updateCountryInfo(countryCode) {\n        const countryList = document.getElementById('country-list');\n        const panelTitle = document.getElementById('panel-title');\n        const clearButton = document.getElementById('clear-selection');\n\n        if (!countryList) return;\n        countryList.innerHTML = '';\n\n        if (!countryCode) {\n            \/\/ Mostrar todos los pa\u00edses seg\u00fan los filtros activos\n            const filterText = getActiveFilterText();\n            panelTitle.innerHTML = `Selected: ${filterText}`;\n            clearButton.style.display = 'none';\n\n            \/\/ Unir pa\u00edses de inversiones y oficinas\n            const countries = [\n                ...new Set([\n                    ...investmentData.map(item => item.country),\n                    ...officeData.map(item => item.country)\n                ])\n            ];\n\n            countries.forEach(country => {\n                const countryInvestments = investmentData.filter(item => item.country === country && (activeFilters.has('All') || activeFilters.has(item.instrument)));\n                const countryOffices = officeData.filter(office => office.country === country && (activeFilters.has('All') || activeFilters.has('Offices')));\n                const countryCode = countryInvestments.length > 0 ? countryInvestments[0].code :\n                    (countryOffices.length > 0 ? countryOffices[0].code : '');\n\n                if (countryInvestments.length > 0 || countryOffices.length > 0) {\n                    const countryBox = document.createElement('div');\n                    countryBox.className = 'country-box';\n\n                    const countryName = document.createElement('div');\n                    countryName.className = 'country-name';\n                    countryName.textContent = country;\n                    countryBox.appendChild(countryName);\n\n                    countryInvestments.forEach(investment => {\n                        const investmentItem = document.createElement('div');\n                        investmentItem.className = 'investment-item';\n                        investmentItem.innerHTML = `\n                        <strong>Instrument:<\/strong> ${investment.instrument}<br>\n                        <strong>N\u00ba of Investments:<\/strong> ${investment.investments}\n                    `;\n                        countryBox.appendChild(investmentItem);\n                    });\n\n                    countryOffices.forEach(office => {\n                        const officeItem = document.createElement('div');\n                        officeItem.className = 'office-item';\n                        officeItem.innerHTML = `\n                        <strong>Local Team:<\/strong> ${office.name}\n                    `;\n                        countryBox.appendChild(officeItem);\n                    });\n\n                    countryList.appendChild(countryBox);\n                }\n            });\n            return;\n        }\n\n        \/\/ Mostrar detalles del pa\u00eds seleccionado seg\u00fan filtros activos\n        const countryInvestments = investmentData.filter(item => item.code === countryCode && (activeFilters.has('All') || activeFilters.has(item.instrument)));\n        const countryOffices = officeData.filter(office => office.code === countryCode && (activeFilters.has('All') || activeFilters.has('Offices')));\n        const countryName = countryInvestments.length > 0 ?\n            countryInvestments[0].country :\n            (countryOffices.length > 0 ? countryOffices[0].country : '');\n\n        \/\/ Si no hay datos para el pa\u00eds con los filtros activos, limpiar selecci\u00f3n\n        if ((!countryInvestments.length && !countryOffices.length) || !countryName) {\n            clearSelection();\n            return;\n        }\n\n        \/\/ Solo mostrar los filtros si NO es \"All\"\n        let filterText = getActiveFilterText();\n        if (filterText.trim() === 'All' || filterText.trim() === ' All') {\n            filterText = '';\n        }\n        panelTitle.innerHTML = `Selected: ${countryName}${filterText}`;\n        clearButton.style.display = 'block';\n\n        const countryBox = document.createElement('div');\n        countryBox.className = 'country-box selected-country';\n\n        const countryNameEl = document.createElement('div');\n        countryNameEl.className = 'country-name';\n        countryNameEl.textContent = countryName;\n        countryBox.appendChild(countryNameEl);\n\n        \/\/ Resumen de inversiones\n        let totalInvestments = countryInvestments.reduce((sum, inv) => sum + inv.investments, 0);\n        if (totalInvestments > 0) {\n            const summaryEl = document.createElement('div');\n            summaryEl.style.cssText = 'margin-bottom: 12px; padding: 8px; background: #e8f5e8; border-radius: 4px; font-weight: bold; color: #2d5a2d;';\n            countryBox.appendChild(summaryEl);\n        }\n\n        \/\/ Inversiones filtradas\n        countryInvestments.forEach(investment => {\n            const investmentItem = document.createElement('div');\n            investmentItem.className = 'investment-item';\n            investmentItem.innerHTML = `\n            <strong>Instrument:<\/strong> ${investment.instrument}<br>\n            <strong>N\u00ba of Investments:<\/strong> ${investment.investments}<br>\n        `;\n            countryBox.appendChild(investmentItem);\n        });\n\n        \/\/ Oficinas filtradas\n        countryOffices.forEach(office => {\n            const officeItem = document.createElement('div');\n            officeItem.className = 'office-item';\n            officeItem.innerHTML = `\n            <strong>Office:<\/strong> ${office.name}<br>\n        `;\n            countryBox.appendChild(officeItem);\n        });\n\n        countryList.appendChild(countryBox);\n    }\n\n    function updateMap() {\n        if (!chart || !bulletsSeries) return;\n        const currentZoomLevel = chart.zoomLevel;\n        const currentGeoPoint = chart.zoomGeoPoint;\n\n        \/\/ Show\/hide offices based on filters\n        if (!(activeFilters.has('Offices') || activeFilters.has('All'))) {\n            officeSeries.hide(300);\n        } else {\n            officeSeries.show(500);\n        }\n        bulletsSeries.hide(300);\n\n        setTimeout(function() {\n            \/\/ Filter data based on active filters\n            const allData = investmentData.filter(function(d) {\n                return activeFilters.has('All') ||\n                    activeFilters.has(d.instrument) ||\n                    (activeFilters.has('Offices') && officeData.some(function(o) { return o.code === d.code; }));\n            });\n\n            \/\/ Update bullets\n            bulletsSeries.data.setAll(allData.map(function(d) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [d.lon, d.lat] },\n                    tooltip: `${d.country}\\nInstrument: ${d.instrument}\\nN\u00ba of Investments: ${d.investments}`,\n                    country: d.country,\n                    instrument: d.instrument,\n                    investments: d.investments,\n                    code: d.code\n                };\n            }));\n\n            \/\/ Reset all polygons to light gray first\n            polygonSeries.mapPolygons.each(function(polygon) {\n                polygon.set(\"fill\", am5.color(0xD9D9E6));\n                polygon.set(\"stroke\", am5.color(0xffffff));\n                polygon.set(\"strokeWidth\", 0.5);\n            });\n\n            \/\/ Color countries based on active filters\n            polygonSeries.mapPolygons.each(function(polygon) {\n                const countryCode = polygon.dataItem.dataContext.id;\n                const hasCredit = investmentData.some(function(d) { return d.code === countryCode && d.instrument === \"Credit\"; });\n                const hasEquity = investmentData.some(function(d) { return d.code === countryCode && d.instrument === \"Equity\"; });\n                const isOffice = officeData.some(function(o) { return o.code === countryCode; });\n\n                \/\/ Show only what matches active filters\n                if (activeFilters.has('All')) {\n                    \/\/ Show all with base colors\n                    if (isOffice) {\n                        if (hasEquity) {\n                            polygon.set(\"fill\", am5.color(0x446b5e));\n                        } else if (hasCredit) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        } else {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        }\n                    } else if (hasEquity) {\n                        polygon.set(\"fill\", am5.color(0x446b5e));\n                    } else if (hasCredit) {\n                        polygon.set(\"fill\", am5.color(0xA2C827));\n                    }\n                } else {\n                    \/\/ Filtered view\n                    if (activeFilters.has('Offices') && isOffice) {\n                        if (activeFilters.has('Equity') && hasEquity) {\n                            polygon.set(\"fill\", am5.color(0x446b5e));\n                        } else if (activeFilters.has('Credit') && hasCredit) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        } else if (activeFilters.has('Offices')) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        }\n                    } else if (activeFilters.has('Equity') && hasEquity) {\n                        polygon.set(\"fill\", am5.color(0x446b5e));\n                    } else if (activeFilters.has('Credit') && hasCredit) {\n                        polygon.set(\"fill\", am5.color(0xA2C827));\n                    }\n                }\n\n                \/\/ Highlight borders for countries with data\n                if (hasCredit || hasEquity || isOffice) {\n                    polygon.set(\"stroke\", am5.color(0xffffff));\n                    polygon.set(\"strokeWidth\", 0.5);\n                }\n            });\n\n            \/\/ Update office markers\n            officeSeries.data.setAll(officeData.map(function(o) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [o.lon, o.lat] },\n                    name: o.name,\n                    country: o.country,\n                    code: o.code\n                };\n            }));\n\n            bulletsSeries.show(500);\n            bulletsSeries.events.once(\"datavalidated\", function() {\n                bulletsSeries.hide();\n                bulletsSeries.show();\n            });\n\n            \/\/ Restore zoom and position\n            if (currentGeoPoint && currentZoomLevel) {\n                chart.zoomToGeoPoint(\n                    { longitude: currentGeoPoint.longitude, latitude: currentGeoPoint.latitude },\n                    currentZoomLevel,\n                    true\n                );\n            }\n            if (!selectedCountry) {\n                updateCountryInfo();\n            }\n        }, 300);\n    }\n\n    function initChart() {\n        am5.ready(function() {\n            root = am5.Root.new(\"investment-map\");\n            root.setThemes([am5themes_Animated.new(root)]);\n\n            root.dom.style.backgroundColor = \"#ffffff\";\n            root._logo.dispose();\n\n            \/\/ Create map chart\n            chart = root.container.children.push(am5map.MapChart.new(root, {\n                panX: \"translateX\",\n                panY: \"translateY\",\n                wheelX: \"none\",\n                wheelY: \"none\",\n                projection: am5map.geoEquirectangular(),\n                zoom: true,\n                homeZoomLevel: 1.6,\n                zoomControl: am5map.ZoomControl.new(root, {\n                    layout: root.verticalLayout,\n                }),\n                homeGeoPoint: { longitude: -145, latitude: 95 }\n            }));\n\/\/ Add zoom control (mismo layout y paddings que ya usabas)\n            let zoomControl = am5map.ZoomControl.new(root, {\n                layout: root.verticalLayout,\n                paddingLeft: 10,\n                paddingRight: 170,\n                paddingTop: 100,\n                paddingBottom: 10\n            });\n\n\/\/ Colores de marca\n            const BLUE  = am5.color(0x0E475C); \/\/ borde + icono\n            const GREEN = am5.color(0xA2CC42); \/\/ hover\/click\n            const WHITE = am5.color(0xFFFFFF); \/\/ fondo normal\n\n\/\/ Helper para aplicar estilo a un bot\u00f3n (plus\/minus[, home])\n            function styleZoomBtn(btn, opts) {\n                if (!btn) return;\n                const bg   = btn.get(\"background\");\n                const icon = btn.get(\"icon\");\n\n                \/\/ Estado NORMAL (base)\n                bg.setAll({\n                    fill: WHITE,\n                    fillOpacity: 1,\n                    stroke: BLUE,\n                    strokeWidth: 2,\n                    cornerRadiusTL: 30, cornerRadiusTR: 30,\n                    cornerRadiusBL: 30, cornerRadiusBR: 30,\n                    shadowBlur: 0,\n                    interactive: true,\n                    cursorOverStyle: \"pointer\"\n                });\n\n                \/\/ Estados (hover \/ down \/ active) \u2014 sin turquesa\n                bg.states.create(\"hover\",  { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n                bg.states.create(\"down\",   { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n                bg.states.create(\"active\", { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n\n                \/\/ Icono siempre azul (tambi\u00e9n en hover\/click)\n                if (icon) {\n                    icon.setAll({\n                        fill: BLUE,\n                        stroke: BLUE,\n                        fontSize: opts?.fontSize ?? 24,\n                        fontWeight: opts?.fontWeight ?? \"700\",\n                        centerX: am5.percent(50),\n                        centerY: am5.percent(50),\n                        \/\/ Si usas Label como icono:\n                        text: opts?.text ?? \"\"\n                    });\n                    icon.states.create(\"hover\",  { fill: BLUE, stroke: BLUE });\n                    icon.states.create(\"down\",   { fill: BLUE, stroke: BLUE });\n                    icon.states.create(\"active\", { fill: BLUE, stroke: BLUE });\n                }\n            }\n\n\/\/ PLUS\n            zoomControl.plusButton.get(\"icon\").setAll({ text: \"+\" });\n            styleZoomBtn(zoomControl.plusButton, { text: \"+\", fontSize: 24, fontWeight: \"700\" });\n\n\/\/ MINUS\n            zoomControl.minusButton.get(\"icon\").setAll({ text: \"\u2212\" });\n            styleZoomBtn(zoomControl.minusButton, { text: \"\u2212\", fontSize: 24, fontWeight: \"500\" });\n\n\/\/ (Opcional) HOME, si lo usas\n\/\/ if (zoomControl.homeButton) {\n\/\/   zoomControl.homeButton.get(\"icon\").setAll({ text: \"\u2302\" });\n\/\/   styleZoomBtn(zoomControl.homeButton, { text: \"\u2302\", fontSize: 22, fontWeight: \"700\" });\n\/\/ }\n\n\/\/ Aplicar al chart\n            chart.set(\"zoomControl\", zoomControl);\n\n\n            \/\/ Create polygon series for countries\n            polygonSeries = chart.series.push(am5map.MapPolygonSeries.new(root, {\n                geoJSON: am5geodata_worldLow\n            }));\n\n\n            polygonSeries.mapPolygons.template.setAll({\n                fill: am5.color(0xD9D9E6), \/\/ Color gris claro (puedes cambiarlo)\n                stroke: am5.color(0xffffff),\n                strokeWidth: 0.5,\n                tooltipText: \"\",\n                interactive: true\n            });\n            \/\/ Country interactivity configuration\n            polygonSeries.mapPolygons.template.setAll({\n                tooltipText: \"\",\n                interactive: true\n            });\n\n\n            polygonSeries.mapPolygons.template.events.on(\"click\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const data = investmentData.filter(function(d) { return d.country === country; });\n\n                \/\/ Only process click if there is data and it matches current filters\n                if ((data.length > 0 || isOffice) && shouldShowCountry(countryCode, country)) {\n                    updateCountryInfo(countryCode);\n                    setSelectedCountry(countryCode);\n\n                    \/\/ Highlight the country\n                    ev.target.animate({\n                        key: \"fillOpacity\",\n                        to: 0.7,\n                        duration: 300,\n                        loops: 2,\n                        easing: am5.ease.out(am5.ease.cubic),\n                        cursorOverStyle: \"pointer\"\n                    });\n                }\n            });\n\n            polygonSeries.mapPolygons.template.events.on(\"click\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const data = investmentData.filter(function(d) { return d.country === country; });\n                const isOffice = officeData.some(function(o) { return o.country === country; });\n\n                if ((data.length > 0 || isOffice) && shouldShowCountry(countryCode, country)) {\n                    \/\/ Reset previous selected polygon\n                    if (selectedPolygon) {\n                        selectedPolygon.set(\"fillOpacity\", 1);\n                        selectedPolygon.set(\"strokeWidth\", 0.5);\n                    }\n\n                    \/\/ Set new selected polygon\n                    selectedPolygon = ev.target;\n                    selectedPolygon.set(\"fillOpacity\", 0.7);\n                    selectedPolygon.set(\"strokeWidth\", 2);\n\n                    updateCountryInfo(countryCode);\n                    setSelectedCountry(countryCode);\n                }\n            });\n\n\n            \/\/ Configure cursor based on whether there is data\n            polygonSeries.mapPolygons.template.events.on(\"pointerover\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const hasData = shouldShowCountry(countryCode, country);\n\n                if (hasData) {\n                    ev.target.set(\"cursorOverStyle\", \"pointer\");\n                    \/\/ Only apply hover effect if this is not the selected polygon\n                    if (ev.target !== selectedPolygon) {\n                        ev.target.set(\"fillOpacity\", 0.8);\n                    }\n                } else {\n                    ev.target.set(\"cursorOverStyle\", \"default\");\n                }\n            });\n            polygonSeries.mapPolygons.template.events.on(\"pointerout\", function(ev) {\n                \/\/ Only reset opacity if this is not the selected polygon\n                if (ev.target !== selectedPolygon) {\n                    ev.target.set(\"fillOpacity\", 1);\n                }\n            });\n\n\n            \/\/ Create series for investment bullets\n            bulletsSeries = chart.series.push(am5map.MapPointSeries.new(root, {\n                calculateAggregates: true,\n                clustering: false,\n                clusterRadius: 40\n            }));\n\n            \/\/ Create series for office markers\n            officeSeries = chart.series.push(am5map.MapPointSeries.new(root, {\n                calculateAggregates: true,\n                clustering: true,\n                clusterRadius: 30\n            }));\n\n            \/\/ Set office data\n            officeSeries.data.setAll(officeData.map(function(o) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [o.lon, o.lat] },\n                    name: o.name,\n                    country: o.country,\n                    code: o.code\n                };\n            }));\n\n            \/\/ Create office bullets\n            officeSeries.bullets.push(function(root, series, dataItem) {\n                const container = am5.Container.new(root, {});\n                const circle = am5.Circle.new(root, {\n                    radius: 5,\n                    fill: am5.color(0xE6BAA6),\n                    stroke: am5.color(0xffffff),\n                    strokeWidth: 2,\n                    cursorOverStyle: \"pointer\"\n                });\n\n                \/\/ Mostrar la ciudad si el filtro \"Offices\" o \"All\" est\u00e1 activo\n                \/\/ Dentro de officeSeries.bullets.push(function(root, series, dataItem) { ... })\n                let labelText = \"\";\n                if (activeFilters.has('Offices') || activeFilters.has('All')) {\n                    labelText = dataItem.dataContext.name; \/\/ ciudad\n                }\n\n                \/\/ Ajusta la posici\u00f3n y la l\u00ednea\n                const labelX = 10; \/\/ separa el texto del c\u00edrculo\n                const verticalOffset = 25;\n                const textAlign = \"left\";\n                const centerX = am5.p100;\n\n\n                if (labelText) {\n                    const label = am5.Label.new(root, {\n                        text: labelText,\n                        fontSize: 12,\n                        fontWeight: \"400\",\n                        cursorOverStyle: \"pointer\",\n                        fill: am5.color(\"#000\"),\n                        centerX: centerX,\n                        centerY: am5.p60,\n                        dy: verticalOffset,\n                        dx: labelX,\n                        textAlign: textAlign,\n                        background: am5.Rectangle.new(root, {\n                            fill: am5.color(\"#ffffff\"),\n                            fillOpacity: 0.95,\n                            stroke: am5.color(\"#ccc\"),\n                            strokeOpacity: 0.8,\n                            cornerRadius: 6,\n                            shadowColor: am5.color(0x000000),\n                            shadowBlur: 7,\n                            shadowOffsetX: 2,\n                            shadowOffsetY: 2,\n                            shadowOpacity: 0.3\n                        }),\n                        paddingLeft: 8,\n                        paddingRight: 8,\n                        paddingTop: 5,\n                        paddingBottom: 5,\n                        populateText: true\n                    });\n\n                    label.events.on(\"click\", function() {\n                        const office = dataItem.dataContext;\n                        if (shouldShowCountry(office.code, office.country)) {\n                            setSelectedCountry(office.code);\n                            updateCountryInfo(office.code);\n                        }\n                    });\n\n\n                    \/\/ L\u00ednea del c\u00edrculo al label\n                    const line = am5.Line.new(root, {\n                        stroke: am5.color(0x666666),\n                        strokeWidth: 1,\n                        strokeOpacity: 0.7,\n                        strokeDasharray: [2, 3]\n                    });\n                    line.set(\"points\", [\n                        { x: 0, y: 0 },\n                        { x: labelX * -2, y: verticalOffset }\n                    ]);\n\n                    container.children.push(line);\n                    container.children.push(label);\n\n                }\n\n                container.children.push(circle);\n\n                circle.events.on(\"click\", function() {\n                    const office = dataItem.dataContext;\n                    if (shouldShowCountry(office.code, office.country)) {\n                        setSelectedCountry(office.code);\n                        updateCountryInfo(office.code);\n                    }\n                });\n\n                return am5.Bullet.new(root, {\n                    sprite: container,\n                    dynamic: true\n                });\n            });\n\n            bulletsSeries.show(500);\n            bulletsSeries.events.once(\"datavalidated\", () => {\n                bulletsSeries.hide();\n                bulletsSeries.show();\n            });\n\n            \/\/ Create investment bullets with improved label positioning\n            bulletsSeries.bullets.push(function(root, series, dataItem) {\n                const d = dataItem.dataContext;\n                const container = am5.Container.new(root, {});\n                const isOffice = officeData.some(function(o) { return o.code === d.code; });\n\n                const circle = am5.Circle.new(root, {\n                    radius: 10,\n                    fill: d.country === \"Spain\"\n                        ? am5.color(0x5ea38c) \/\/ \ud83d\udd38 Aqu\u00ed el nuevo color para Spain (puedes cambiarlo)\n                        : (isOffice\n                            ? am5.color(0xa2c827)\n                            : (d.instrument === \"Credit\"\n                                ? am5.color(0xa2c827)\n                                : am5.color(0x5ea38c))),\n                    stroke: am5.color(0xFFFFFF),\n                    strokeWidth: 4,\n                    tooltipText: \"{tooltip}\",\n                    cursorOverStyle: \"pointer\"\n                });\n\n\n                circle.animate({ key: \"scale\", from: 0, to: 0.5, duration: 1000, easing: am5.ease.out(am5.ease.elastic) });\n\n                \/\/ Label positioning: left = label west of point. C\u00f4te d'Ivoire = top-right.\n                const leftSideCountries = [\"Spain\", \"Ghana\", \"Cambodia\", \"Uganda\", \"Rwanda\",\n                    \"Singapore\", \"Vietnam\", \"Philipines\"];\n                const rightSideCountries = [];\n                const isCotedIvoire = d.country === \"C\u00f4te d'Ivoire\";\n                const isLeftSide = !isCotedIvoire && leftSideCountries.includes(d.country);\n                const isRightSide = rightSideCountries.includes(d.country);\n\n                let labelX, textAlign, centerX, centerY, verticalOffset;\n                if (isCotedIvoire) {\n                    \/\/ Top-right: label above and to the right of the point\n                    labelX = 12;\n                    verticalOffset = -28;\n                    textAlign = \"left\";\n                    centerX = am5.p0;   \/\/ left edge of label at point\n                    centerY = am5.p100; \/\/ bottom of label at point\n                } else if (isLeftSide) {\n                    labelX = -50;\n                    textAlign = \"right\";\n                    centerX = am5.p100;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                } else if (isRightSide) {\n                    labelX = 50;\n                    textAlign = \"left\";\n                    centerX = am5.p0;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                } else {\n                    labelX = 50;\n                    textAlign = \"left\";\n                    centerX = am5.p0;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                }\n\n                \/\/ Add small vertical offset for countries in dense areas\n                if (!isCotedIvoire && (d.country === \"Rwanda\" || d.country === \"Uganda\")) {\n                    verticalOffset = d.country === \"Rwanda\" ? 20 : 0;\n                }\n\n                \/\/ Add special vertical and horizontal offset for Vietnam and Philippines\n                if (d.country === \"Vietnam\" || d.country === \"Philipines\") {\n                    verticalOffset = -20;\n                    labelX = 50;\n                }\n\n\n\n\n                const label = am5.Label.new(root, {\n                    text: \"{country}\",\n                    fontSize: 12,\n                    fontWeight: \"400\",\n                    cursorOverStyle: \"pointer\",\n                    fill: am5.color(\"#000\"),\n                    centerX: centerX,\n                    centerY: centerY,\n                    dy: verticalOffset,\n                    dx: labelX,\n                    textAlign: textAlign,\n                    background: am5.Rectangle.new(root, {\n                        fill: am5.color(\"#ffffff\"),\n                        fillOpacity: 0.95,\n                        stroke: am5.color(\"#ccc\"),\n                        strokeOpacity: 0.8,\n                        cornerRadius: 6,\n                        shadowColor: am5.color(0x000000),\n                        shadowBlur: 7,\n                        shadowOffsetX: 2,\n                        shadowOffsetY: 2,\n                        shadowOpacity: 0.3\n                    }),\n                    paddingLeft: 8,\n                    paddingRight: 8,\n                    paddingTop: 5,\n                    paddingBottom: 5,\n                    populateText: true\n                });\n\n                label.events.on(\"click\", function() {\n                    const countryCode = d.code;\n                    if (shouldShowCountry(countryCode, d.country)) {\n                        setSelectedCountry(countryCode);\n                        updateCountryInfo(countryCode);\n                    }\n                });\n\n                const line = am5.Line.new(root, {\n                    stroke: am5.color(0x666666),\n                    strokeWidth: 1,\n                    strokeOpacity: 0.7,\n                    strokeDasharray: [2, 3]\n                });\n\n                line.set(\"points\", [\n                    { x: 0, y: 0 },\n                    { x: labelX * 1, y: verticalOffset }\n                ]);\n\n                container.children.push(circle);\n                container.children.push(line);\n                container.children.push(label);\n\n                circle.events.on(\"click\", function() {\n                    const countryCode = d.code;\n                    if (shouldShowCountry(countryCode, d.country)) {\n                        setSelectedCountry(countryCode);\n                        updateCountryInfo(countryCode);\n                    }\n                });\n\n                return am5.Bullet.new(root, {\n                    sprite: container,\n                    dynamic: true\n                });\n            });\n\n            \/\/ Apply initial zoom and center\n            chart.goHome();\n            updateMap();\n        });\n    }\n\n    \/\/ Wait for all scripts to load before initializing\n    window.addEventListener('load', function() {\n        \/\/ Check if all required amCharts objects are available\n        if (typeof am5 !== 'undefined' && typeof am5map !== 'undefined' &&\n            typeof am5themes_Animated !== 'undefined' && typeof am5geodata_worldLow !== 'undefined') {\n            initChart();\n            updateCountryInfo(); \/\/ Initialize with all countries\n        } else {\n            console.error('amCharts libraries not loaded properly');\n        }\n    });\n<\/script>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-53867bf e-con-full elementor-hidden-desktop elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"53867bf\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c9d707c elementor-widget elementor-widget-shortcode\" data-id=\"c9d707c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <style>\n        :root {\n            --primary-color: #869A78;\n            --secondary-color: #98BC43;\n            --accent-color: #E2F2CA;\n            --dark-color: #314841;\n            --highlight-color: #A2C827;\n            --office-color: #E6BAA6;\n            --credit-color: #a2c827;\n            --equity-color: #5ea38c;\n            --background-light: #ffffff;\n            --text-color: #293229;\n            --neutral-light: #D9D9E6;\n            --neutral-medium: #8D8686;\n            --bullet-office: #E6BAA6;\n        }\n\n        body {\n            font-family: 'Proxima Nova', Arial, sans-serif;\n            margin: 0;\n            padding: 0;\n            background-color: var(--background-light);\n            color: var(--text-color);\n            line-height: 1.6;\n        }\n\n        #investment-map {\n            width: 100%;\n            height: 500px;\n        }\n\n        #info-panel {\n            position: absolute;\n            font-family: 'Proxima Nova', Arial, sans-serif;\n            top: 65px;\n            left: 60px;\n            width: 300px;\n            background: white;\n            padding: 1.2em;\n            font-size: 0.9rem;\n            z-index: 10;\n            min-height: 75vh;\n            max-height: 70vh;\n            overflow-y: auto;\n            opacity: 0.95;\n            box-shadow: 0 0px 0px rgba(0,0,0,0.15);\n            border-radius: 8px;\n            border: 0px solid #e0e0e0;\n        }\n\n        #info-panel h3 {\n            margin: 0px 0px 16px 0px;\n            padding: 0px;\n            font-size: 20px;\n            color: var(--dark-color);\n            border-bottom: 2px solid var(--highlight-color);\n            padding-bottom: 8px;\n        }\n\n        .country-box {\n            border-left: 2px solid #A2C827;\n            font-size: 16px;\n            padding: 16px;\n            margin: 16px 0;\n            background: #f9f9f9;\n            border-radius: 0 6px 6px 0;\n        }\n\n        .country-name {\n            font-weight: bold;\n            color: var(--dark-color);\n            margin-bottom: 8px;\n            font-size: 18px;\n        }\n\n        .investment-item {\n            margin: 8px 0;\n            padding: 8px 12px;\n            border-left: 0px solid var(--neutral-light);\n            background: white;\n            border-radius: 0 4px 4px 0;\n        }\n\n        .office-item {\n            margin: 8px 0;\n            padding: 8px 12px;\n            border-left: 0px solid var(--office-color);\n            background: #fdf7f5;\n            border-radius: 0 4px 4px 0;\n        }\n\n        .selected-country {\n            border-left-color: var(--equity-color) !important;\n            background: #f0f8f0 !important;\n        }\n\n        #clear-selection.clear-selection {\n            background: #A2C827 !important;\n            color: #fff !important;\n            border: none !important;\n            padding: 6px 12px !important;\n            border-radius: 4px !important;\n            cursor: pointer !important;\n            font-size: 12px !important;\n            margin-bottom: 16px !important;\n            transition: background 0.3s ease !important;\n            font-family: 'Proxima Nova', Arial, sans-serif !important;\n            box-shadow: none !important;\n        }\n\n        #clear-selection.clear-selection:hover {\n            background: #314841 !important;\n        }\n\n        #legend {\n            display: flex;\n            justify-content: center;\n            padding: 0px 0px 10px 0px;\n            z-index: 10;\n            font-size: 15px;\n        }\n\n        .legend-item {\n            display: flex;\n            width: 120px;\n            align-items: center;\n            margin: 4px 0;\n        }\n\n        .legend-color {\n            display: inline-block;\n            width: 10px;\n            height: 10px;\n            border-radius: 50%;\n            margin-right: 6px;\n        }\n\n        .legend-credit { background-color: var(--credit-color); }\n        .legend-equity { background-color: var(--equity-color); }\n        .legend-office { background-color: var(--bullet-office); }\n\n        .filter-container {\n            display: flex;\n            justify-content: center;\n            gap: 12px;\n            margin: 0px 0px 15px 0px;\n            flex-wrap: wrap;\n        }\n\n        .filter-toggle {\n            position: relative;\n            display: inline-block;\n            color: #ffffff!important;\n        }\n\n        .filter-toggle input {\n            opacity: 0;\n            width: 0;\n            height: 0;\n            color: #ffffff!important;\n        }\n\n        .filter-slider {\n            position: relative;\n            cursor: pointer;\n            min-width: 100px;\n            height: 32px;\n            background-color: #0E475C;\n            border-radius: 16px;\n            transition: all 0.3s ease;\n            display: flex;\n            align-items: center;\n            padding: 0px 10px;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.1);\n            border: 1px solid rgba(0,0,0,0.1);\n            color: #ffffff!important;\n        }\n\n        .filter-slider:before {\n            position: absolute;\n            content: \"\";\n            height: 25px;\n            width: 25px;\n            left: 4px; \/* posici\u00f3n por defecto *\/\n            bottom: 3px;\n            background-color: white;\n            transition: all 0.3s ease;\n            border-radius: 50%;\n        }\n\n\n        .filter-slider:after {\n            color: #ffffff!important;\n        }\n\n        input:checked + .filter-slider {\n            background-color: var(--highlight-color);\n            color: #ffffff!important;\n        }\n\n        input:checked + .filter-slider:before {\n            left: auto;        \/* desactiva el left *\/\n            right: 4px;        \/* lo colocamos desde el otro lado *\/\n        }\n\n\n\n        .filter-label {\n            font-family: \"Proxima Nova\", Arial, sans-serif;\n            margin-left: 30px;\n            transition: all 0.3s ease;\n            color: white!important;\n            font-size: 16px;\n            font-weight: 300;\n            padding:12px;\n        }\n\n        input:checked + .filter-slider .filter-label {\n            color: white!important;\n            margin-left: 0;\n            margin-right: 30px;\n        }\n\n        #filter-all-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-credit-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-equity-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n        #filter-offices-toggle:checked + .filter-slider { background-color: var(--highlight-color); }\n\n        canvas.am5-layer-30 { display: none!important; }\n    <\/style>\n<\/head>\n<body>\n<!-- Filter Controls -->\n<div class=\"filter-container\">\n    <label class=\"filter-toggle\">\n        <input checked id=\"filter-all-toggle\" onclick=\"toggleFilter('All')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">All<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-credit-toggle\" onclick=\"toggleFilter('Credit')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Credit<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-equity-toggle\" onclick=\"toggleFilter('Equity')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Equity<\/span>\n            <\/span>\n    <\/label>\n\n    <label class=\"filter-toggle\">\n        <input id=\"filter-offices-toggle\" onclick=\"toggleFilter('Offices')\" type=\"checkbox\">\n        <span class=\"filter-slider\">\n                <span class=\"filter-label\">Local Team <\/span>\n            <\/span>\n    <\/label>\n<\/div>\n\n<!-- Map Container -->\n<div id=\"investment-map\"><\/div>\n\n<!-- Info Panel -->\n<div id=\"info-panel\">\n    <h3 id=\"panel-title\">Investment Portfolio: All<\/h3>\n    <button class=\"clear-selection\" id=\"clear-selection\" onclick=\"clearSelection()\" style=\"display: none;\">Show All Countries<\/button>\n    <div id=\"country-list\"><\/div>\n<\/div>\n\n<!-- Legend -->\n<div id=\"legend\">\n        <span class=\"legend-item\">\n            <span class=\"legend-color legend-credit\"><\/span> Credit\n        <\/span>\n    <span class=\"legend-item\">\n            <span class=\"legend-color legend-equity\"><\/span> Equity\n        <\/span>\n    <span class=\"legend-item\">\n            <span class=\"legend-color legend-office\"><\/span> Local Team\n        <\/span>\n<\/div>\n\n<!-- Scripts -->\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/index.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/map.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/geodata\/worldLow.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/themes\/Animated.js\"><\/script>\n<script src=\"https:\/\/cdn.amcharts.com\/lib\/5\/plugins\/patterns.js\"><\/script>\n\n<script>\n    \/\/ Data\n    const investmentData = [\n        { country: \"Ghana\", code: \"GH\", instrument: \"Credit\", investments: 5, lat: 7.9465, lon: -1.0232 },\n        { country: \"Uganda\", code: \"UG\", instrument: \"Credit\", investments: 3, lat: 1.3733, lon: 32.2903 },\n        { country: \"Kenya\", code: \"KE\", instrument: \"Credit\", investments: 3, lat: -0.0236, lon: 37.9062 },\n        { country: \"Rwanda\", code: \"RW\", instrument: \"Credit\", investments: 1, lat: -1.9403, lon: 29.8739 },\n        { country: \"Zambia\", code: \"ZM\", instrument: \"Credit\", investments: 1, lat: -13.1339, lon: 27.8493 },\n        { country: \"Ethiopia\", code: \"ET\", instrument: \"Credit\", investments: 1, lat: 9.145, lon: 40.4897 },\n        { country: \"C\u00f4te d'Ivoire\", code: \"CI\", instrument: \"Credit\", investments: 1, lat: 7.54, lon: -5.55 },\n        { country: \"Spain\", code: \"ES\", instrument: \"Equity\", investments: 6, lat: 40.4637, lon:\n                -3.7492 }\n        ];\n    const officeData = [\n        { name: \"Madrid\", country: \"Spain\", code: \"ES\", lat: 40.4168, lon: -3.7038 },\n        { name: \"Accra\", country: \"Ghana\", code: \"GH\", lat: 5.6037, lon: -0.187 },\n        { name: \"Nairobi\", country: \"Kenya\", code: \"KE\", lat: -1.2864, lon: 36.8172 }\n    ];\n\n    \/\/ Global variables\n    let activeFilters = new Set(['All']);\n    let selectedPolygon = null;\n    let selectedCountry = null;\n    let root, chart, polygonSeries, bulletsSeries, officeSeries;\n\n    \/\/ Utility functions\n    function setSelectedCountry(country) {\n        selectedCountry = country;\n    }\n\n    function clearSelection() {\n        selectedCountry = null;\n\n        \/\/ Reset selected polygon visual state\n        if (selectedPolygon) {\n            selectedPolygon.set(\"fillOpacity\", 1);\n            selectedPolygon.set(\"strokeWidth\", 0.5);\n            selectedPolygon = null;\n        }\n\n        updateCountryInfo();\n    }\n\n\n    function shouldShowCountry(countryCode, country) {\n        const countryInvestments = investmentData.filter(item => item.code === countryCode);\n        const countryOffices = officeData.filter(office => office.code === countryCode);\n\n        if (activeFilters.has('All')) {\n            return countryInvestments.length > 0 || countryOffices.length > 0;\n        }\n\n        let shouldShow = false;\n\n        \/\/ Check if country matches active filters\n        if (activeFilters.has('Credit')) {\n            shouldShow = shouldShow || countryInvestments.some(inv => inv.instrument === 'Credit');\n        }\n        if (activeFilters.has('Equity')) {\n            shouldShow = shouldShow || countryInvestments.some(inv => inv.instrument === 'Equity');\n        }\n        if (activeFilters.has('Offices')) {\n            shouldShow = shouldShow || countryOffices.length > 0;\n        }\n\n        return shouldShow;\n    }\n\n    function getActiveFilterText() {\n        if (activeFilters.has('All')) {\n            return 'All'; \/\/ Sin par\u00e9ntesis\n        }\n\n        \/\/ Convertimos el Set en array y sustituimos 'Offices' por 'Local Team'\n        const activeFilterArray = Array.from(activeFilters).map(f =>\n            f === \"Offices\" ? \"Local Team\" : f\n        );\n\n        if (activeFilterArray.length === 1) {\n            return ` ${activeFilterArray[0]}`;\n        } else if (activeFilterArray.length > 1) {\n            return ' ' + activeFilterArray.map(f =>\n                `<span>${f}<\/span>`\n            ).join('<span style=\"color:#A2C827;font-weight:bold;\"> + <\/span>');\n        }\n\n        return '';\n    }\n\n    function toggleFilter(filter) {\n        if (filter === 'All') {\n            if (activeFilters.has('All')) {\n                activeFilters.clear();\n            } else {\n                activeFilters.clear();\n                activeFilters.add('All');\n                activeFilters.add('All');\n                clearSelection();\n                updateCountryInfo();\n            }\n        } else {\n            if (activeFilters.has('All')) {\n                activeFilters.delete('All');\n            }\n            if (activeFilters.has(filter)) {\n                activeFilters.delete(filter);\n            } else {\n                activeFilters.add(filter);\n            }\n        }\n\n        \/\/ Update toggle states\n        const allToggle = document.getElementById('filter-all-toggle');\n        const creditToggle = document.getElementById('filter-credit-toggle');\n        const equityToggle = document.getElementById('filter-equity-toggle');\n        const officesToggle = document.getElementById('filter-offices-toggle');\n\n        if (allToggle) allToggle.checked = activeFilters.has('All');\n        if (creditToggle) creditToggle.checked = activeFilters.has('Credit');\n        if (equityToggle) equityToggle.checked = activeFilters.has('Equity');\n        if (officesToggle) officesToggle.checked = activeFilters.has('Offices');\n\n        \/\/ If no filters are selected, default to 'All'\n        if (activeFilters.size === 0) {\n            activeFilters.add('All');\n            if (allToggle) allToggle.checked = true;\n        }\n\n        updateMap();\n\n\/\/ Update country info if a country is selected\n        if (selectedCountry) {\n            updateCountryInfo(selectedCountry);\n        }\n    }\n\n    function updateCountryInfo(countryCode) {\n        const countryList = document.getElementById('country-list');\n        const panelTitle = document.getElementById('panel-title');\n        const clearButton = document.getElementById('clear-selection');\n\n        if (!countryList) return;\n        countryList.innerHTML = '';\n\n        if (!countryCode) {\n            \/\/ Mostrar todos los pa\u00edses seg\u00fan los filtros activos\n            const filterText = getActiveFilterText();\n            panelTitle.innerHTML = `Selected: ${filterText}`;\n            clearButton.style.display = 'none';\n\n            \/\/ Unir pa\u00edses de inversiones y oficinas\n            const countries = [\n                ...new Set([\n                    ...investmentData.map(item => item.country),\n                    ...officeData.map(item => item.country)\n                ])\n            ];\n\n            countries.forEach(country => {\n                const countryInvestments = investmentData.filter(item => item.country === country && (activeFilters.has('All') || activeFilters.has(item.instrument)));\n                const countryOffices = officeData.filter(office => office.country === country && (activeFilters.has('All') || activeFilters.has('Offices')));\n                const countryCode = countryInvestments.length > 0 ? countryInvestments[0].code :\n                    (countryOffices.length > 0 ? countryOffices[0].code : '');\n\n                if (countryInvestments.length > 0 || countryOffices.length > 0) {\n                    const countryBox = document.createElement('div');\n                    countryBox.className = 'country-box';\n\n                    const countryName = document.createElement('div');\n                    countryName.className = 'country-name';\n                    countryName.textContent = country;\n                    countryBox.appendChild(countryName);\n\n                    countryInvestments.forEach(investment => {\n                        const investmentItem = document.createElement('div');\n                        investmentItem.className = 'investment-item';\n                        investmentItem.innerHTML = `\n                        <strong>Instrument:<\/strong> ${investment.instrument}<br>\n                        <strong>N\u00ba of Investments:<\/strong> ${investment.investments}\n                    `;\n                        countryBox.appendChild(investmentItem);\n                    });\n\n                    countryOffices.forEach(office => {\n                        const officeItem = document.createElement('div');\n                        officeItem.className = 'office-item';\n                        officeItem.innerHTML = `\n                        <strong>Local Team:<\/strong> ${office.name}\n                    `;\n                        countryBox.appendChild(officeItem);\n                    });\n\n                    countryList.appendChild(countryBox);\n                }\n            });\n            return;\n        }\n\n        \/\/ Mostrar detalles del pa\u00eds seleccionado seg\u00fan filtros activos\n        const countryInvestments = investmentData.filter(item => item.code === countryCode && (activeFilters.has('All') || activeFilters.has(item.instrument)));\n        const countryOffices = officeData.filter(office => office.code === countryCode && (activeFilters.has('All') || activeFilters.has('Offices')));\n        const countryName = countryInvestments.length > 0 ?\n            countryInvestments[0].country :\n            (countryOffices.length > 0 ? countryOffices[0].country : '');\n\n        \/\/ Si no hay datos para el pa\u00eds con los filtros activos, limpiar selecci\u00f3n\n        if ((!countryInvestments.length && !countryOffices.length) || !countryName) {\n            clearSelection();\n            return;\n        }\n\n        \/\/ Solo mostrar los filtros si NO es \"All\"\n        let filterText = getActiveFilterText();\n        if (filterText.trim() === 'All' || filterText.trim() === ' All') {\n            filterText = '';\n        }\n        panelTitle.innerHTML = `Selected: ${countryName}${filterText}`;\n        clearButton.style.display = 'block';\n\n        const countryBox = document.createElement('div');\n        countryBox.className = 'country-box selected-country';\n\n        const countryNameEl = document.createElement('div');\n        countryNameEl.className = 'country-name';\n        countryNameEl.textContent = countryName;\n        countryBox.appendChild(countryNameEl);\n\n        \/\/ Resumen de inversiones\n        let totalInvestments = countryInvestments.reduce((sum, inv) => sum + inv.investments, 0);\n        if (totalInvestments > 0) {\n            const summaryEl = document.createElement('div');\n            summaryEl.style.cssText = 'margin-bottom: 12px; padding: 8px; background: #e8f5e8; border-radius: 4px; font-weight: bold; color: #2d5a2d;';\n            countryBox.appendChild(summaryEl);\n        }\n\n        \/\/ Inversiones filtradas\n        countryInvestments.forEach(investment => {\n            const investmentItem = document.createElement('div');\n            investmentItem.className = 'investment-item';\n            investmentItem.innerHTML = `\n            <strong>Instrument:<\/strong> ${investment.instrument}<br>\n            <strong>N\u00ba of Investments:<\/strong> ${investment.investments}<br>\n        `;\n            countryBox.appendChild(investmentItem);\n        });\n\n        \/\/ Oficinas filtradas\n        countryOffices.forEach(office => {\n            const officeItem = document.createElement('div');\n            officeItem.className = 'office-item';\n            officeItem.innerHTML = `\n            <strong>Office:<\/strong> ${office.name}<br>\n        `;\n            countryBox.appendChild(officeItem);\n        });\n\n        countryList.appendChild(countryBox);\n    }\n\n    function updateMap() {\n        if (!chart || !bulletsSeries) return;\n        const currentZoomLevel = chart.zoomLevel;\n        const currentGeoPoint = chart.zoomGeoPoint;\n\n        \/\/ Show\/hide offices based on filters\n        if (!(activeFilters.has('Offices') || activeFilters.has('All'))) {\n            officeSeries.hide(300);\n        } else {\n            officeSeries.show(500);\n        }\n        bulletsSeries.hide(300);\n\n        setTimeout(function() {\n            \/\/ Filter data based on active filters\n            const allData = investmentData.filter(function(d) {\n                return activeFilters.has('All') ||\n                    activeFilters.has(d.instrument) ||\n                    (activeFilters.has('Offices') && officeData.some(function(o) { return o.code === d.code; }));\n            });\n\n            \/\/ Update bullets\n            bulletsSeries.data.setAll(allData.map(function(d) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [d.lon, d.lat] },\n                    tooltip: `${d.country}\\nInstrument: ${d.instrument}\\nN\u00ba of Investments: ${d.investments}`,\n                    country: d.country,\n                    instrument: d.instrument,\n                    investments: d.investments,\n                    code: d.code\n                };\n            }));\n\n            \/\/ Reset all polygons to light gray first\n            polygonSeries.mapPolygons.each(function(polygon) {\n                polygon.set(\"fill\", am5.color(0xD9D9E6));\n                polygon.set(\"stroke\", am5.color(0xffffff));\n                polygon.set(\"strokeWidth\", 0.5);\n            });\n\n            \/\/ Color countries based on active filters\n            polygonSeries.mapPolygons.each(function(polygon) {\n                const countryCode = polygon.dataItem.dataContext.id;\n                const hasCredit = investmentData.some(function(d) { return d.code === countryCode && d.instrument === \"Credit\"; });\n                const hasEquity = investmentData.some(function(d) { return d.code === countryCode && d.instrument === \"Equity\"; });\n                const isOffice = officeData.some(function(o) { return o.code === countryCode; });\n\n                \/\/ Show only what matches active filters\n                if (activeFilters.has('All')) {\n                    \/\/ Show all with base colors\n                    if (isOffice) {\n                        if (hasEquity) {\n                            polygon.set(\"fill\", am5.color(0x446b5e));\n                        } else if (hasCredit) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        } else {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        }\n                    } else if (hasEquity) {\n                        polygon.set(\"fill\", am5.color(0x446b5e));\n                    } else if (hasCredit) {\n                        polygon.set(\"fill\", am5.color(0xA2C827));\n                    }\n                } else {\n                    \/\/ Filtered view\n                    if (activeFilters.has('Offices') && isOffice) {\n                        if (activeFilters.has('Equity') && hasEquity) {\n                            polygon.set(\"fill\", am5.color(0x446b5e));\n                        } else if (activeFilters.has('Credit') && hasCredit) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        } else if (activeFilters.has('Offices')) {\n                            polygon.set(\"fill\", am5.color(0xA2C827));\n                        }\n                    } else if (activeFilters.has('Equity') && hasEquity) {\n                        polygon.set(\"fill\", am5.color(0x446b5e));\n                    } else if (activeFilters.has('Credit') && hasCredit) {\n                        polygon.set(\"fill\", am5.color(0xA2C827));\n                    }\n                }\n\n                \/\/ Highlight borders for countries with data\n                if (hasCredit || hasEquity || isOffice) {\n                    polygon.set(\"stroke\", am5.color(0xffffff));\n                    polygon.set(\"strokeWidth\", 0.5);\n                }\n            });\n\n            \/\/ Update office markers\n            officeSeries.data.setAll(officeData.map(function(o) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [o.lon, o.lat] },\n                    name: o.name,\n                    country: o.country,\n                    code: o.code\n                };\n            }));\n\n            bulletsSeries.show(500);\n            bulletsSeries.events.once(\"datavalidated\", function() {\n                bulletsSeries.hide();\n                bulletsSeries.show();\n            });\n\n            \/\/ Restore zoom and position\n            if (currentGeoPoint && currentZoomLevel) {\n                chart.zoomToGeoPoint(\n                    { longitude: currentGeoPoint.longitude, latitude: currentGeoPoint.latitude },\n                    currentZoomLevel,\n                    true\n                );\n            }\n            if (!selectedCountry) {\n                updateCountryInfo();\n            }\n        }, 300);\n    }\n\n    function initChart() {\n        am5.ready(function() {\n            root = am5.Root.new(\"investment-map\");\n            root.setThemes([am5themes_Animated.new(root)]);\n\n            root.dom.style.backgroundColor = \"#ffffff\";\n            root._logo.dispose();\n\n            \/\/ Create map chart\n            chart = root.container.children.push(am5map.MapChart.new(root, {\n                panX: \"translateX\",\n                panY: \"translateY\",\n                wheelX: \"none\",\n                wheelY: \"none\",\n                projection: am5map.geoEquirectangular(),\n                zoom: true,\n                homeZoomLevel: 1.6,\n                zoomControl: am5map.ZoomControl.new(root, {\n                    layout: root.verticalLayout,\n                }),\n                homeGeoPoint: { longitude: -145, latitude: 95 }\n            }));\n\/\/ Add zoom control (mismo layout y paddings que ya usabas)\n            let zoomControl = am5map.ZoomControl.new(root, {\n                layout: root.verticalLayout,\n                paddingLeft: 10,\n                paddingRight: 170,\n                paddingTop: 100,\n                paddingBottom: 10\n            });\n\n\/\/ Colores de marca\n            const BLUE  = am5.color(0x0E475C); \/\/ borde + icono\n            const GREEN = am5.color(0xA2CC42); \/\/ hover\/click\n            const WHITE = am5.color(0xFFFFFF); \/\/ fondo normal\n\n\/\/ Helper para aplicar estilo a un bot\u00f3n (plus\/minus[, home])\n            function styleZoomBtn(btn, opts) {\n                if (!btn) return;\n                const bg   = btn.get(\"background\");\n                const icon = btn.get(\"icon\");\n\n                \/\/ Estado NORMAL (base)\n                bg.setAll({\n                    fill: WHITE,\n                    fillOpacity: 1,\n                    stroke: BLUE,\n                    strokeWidth: 2,\n                    cornerRadiusTL: 30, cornerRadiusTR: 30,\n                    cornerRadiusBL: 30, cornerRadiusBR: 30,\n                    shadowBlur: 0,\n                    interactive: true,\n                    cursorOverStyle: \"pointer\"\n                });\n\n                \/\/ Estados (hover \/ down \/ active) \u2014 sin turquesa\n                bg.states.create(\"hover\",  { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n                bg.states.create(\"down\",   { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n                bg.states.create(\"active\", { fill: GREEN, stroke: GREEN, fillOpacity: 1 });\n\n                \/\/ Icono siempre azul (tambi\u00e9n en hover\/click)\n                if (icon) {\n                    icon.setAll({\n                        fill: BLUE,\n                        stroke: BLUE,\n                        fontSize: opts?.fontSize ?? 24,\n                        fontWeight: opts?.fontWeight ?? \"700\",\n                        centerX: am5.percent(50),\n                        centerY: am5.percent(50),\n                        \/\/ Si usas Label como icono:\n                        text: opts?.text ?? \"\"\n                    });\n                    icon.states.create(\"hover\",  { fill: BLUE, stroke: BLUE });\n                    icon.states.create(\"down\",   { fill: BLUE, stroke: BLUE });\n                    icon.states.create(\"active\", { fill: BLUE, stroke: BLUE });\n                }\n            }\n\n\/\/ PLUS\n            zoomControl.plusButton.get(\"icon\").setAll({ text: \"+\" });\n            styleZoomBtn(zoomControl.plusButton, { text: \"+\", fontSize: 24, fontWeight: \"700\" });\n\n\/\/ MINUS\n            zoomControl.minusButton.get(\"icon\").setAll({ text: \"\u2212\" });\n            styleZoomBtn(zoomControl.minusButton, { text: \"\u2212\", fontSize: 24, fontWeight: \"500\" });\n\n\/\/ (Opcional) HOME, si lo usas\n\/\/ if (zoomControl.homeButton) {\n\/\/   zoomControl.homeButton.get(\"icon\").setAll({ text: \"\u2302\" });\n\/\/   styleZoomBtn(zoomControl.homeButton, { text: \"\u2302\", fontSize: 22, fontWeight: \"700\" });\n\/\/ }\n\n\/\/ Aplicar al chart\n            chart.set(\"zoomControl\", zoomControl);\n\n\n            \/\/ Create polygon series for countries\n            polygonSeries = chart.series.push(am5map.MapPolygonSeries.new(root, {\n                geoJSON: am5geodata_worldLow\n            }));\n\n\n            polygonSeries.mapPolygons.template.setAll({\n                fill: am5.color(0xD9D9E6), \/\/ Color gris claro (puedes cambiarlo)\n                stroke: am5.color(0xffffff),\n                strokeWidth: 0.5,\n                tooltipText: \"\",\n                interactive: true\n            });\n            \/\/ Country interactivity configuration\n            polygonSeries.mapPolygons.template.setAll({\n                tooltipText: \"\",\n                interactive: true\n            });\n\n\n            polygonSeries.mapPolygons.template.events.on(\"click\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const data = investmentData.filter(function(d) { return d.country === country; });\n\n                \/\/ Only process click if there is data and it matches current filters\n                if ((data.length > 0 || isOffice) && shouldShowCountry(countryCode, country)) {\n                    updateCountryInfo(countryCode);\n                    setSelectedCountry(countryCode);\n\n                    \/\/ Highlight the country\n                    ev.target.animate({\n                        key: \"fillOpacity\",\n                        to: 0.7,\n                        duration: 300,\n                        loops: 2,\n                        easing: am5.ease.out(am5.ease.cubic),\n                        cursorOverStyle: \"pointer\"\n                    });\n                }\n            });\n\n            polygonSeries.mapPolygons.template.events.on(\"click\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const data = investmentData.filter(function(d) { return d.country === country; });\n                const isOffice = officeData.some(function(o) { return o.country === country; });\n\n                if ((data.length > 0 || isOffice) && shouldShowCountry(countryCode, country)) {\n                    \/\/ Reset previous selected polygon\n                    if (selectedPolygon) {\n                        selectedPolygon.set(\"fillOpacity\", 1);\n                        selectedPolygon.set(\"strokeWidth\", 0.5);\n                    }\n\n                    \/\/ Set new selected polygon\n                    selectedPolygon = ev.target;\n                    selectedPolygon.set(\"fillOpacity\", 0.7);\n                    selectedPolygon.set(\"strokeWidth\", 2);\n\n                    updateCountryInfo(countryCode);\n                    setSelectedCountry(countryCode);\n                }\n            });\n\n\n            \/\/ Configure cursor based on whether there is data\n            polygonSeries.mapPolygons.template.events.on(\"pointerover\", function(ev) {\n                const country = ev.target.dataItem.dataContext.name;\n                const countryCode = ev.target.dataItem.dataContext.id;\n                const hasData = shouldShowCountry(countryCode, country);\n\n                if (hasData) {\n                    ev.target.set(\"cursorOverStyle\", \"pointer\");\n                    \/\/ Only apply hover effect if this is not the selected polygon\n                    if (ev.target !== selectedPolygon) {\n                        ev.target.set(\"fillOpacity\", 0.8);\n                    }\n                } else {\n                    ev.target.set(\"cursorOverStyle\", \"default\");\n                }\n            });\n            polygonSeries.mapPolygons.template.events.on(\"pointerout\", function(ev) {\n                \/\/ Only reset opacity if this is not the selected polygon\n                if (ev.target !== selectedPolygon) {\n                    ev.target.set(\"fillOpacity\", 1);\n                }\n            });\n\n\n            \/\/ Create series for investment bullets\n            bulletsSeries = chart.series.push(am5map.MapPointSeries.new(root, {\n                calculateAggregates: true,\n                clustering: false,\n                clusterRadius: 40\n            }));\n\n            \/\/ Create series for office markers\n            officeSeries = chart.series.push(am5map.MapPointSeries.new(root, {\n                calculateAggregates: true,\n                clustering: true,\n                clusterRadius: 30\n            }));\n\n            \/\/ Set office data\n            officeSeries.data.setAll(officeData.map(function(o) {\n                return {\n                    geometry: { type: \"Point\", coordinates: [o.lon, o.lat] },\n                    name: o.name,\n                    country: o.country,\n                    code: o.code\n                };\n            }));\n\n            \/\/ Create office bullets\n            officeSeries.bullets.push(function(root, series, dataItem) {\n                const container = am5.Container.new(root, {});\n                const circle = am5.Circle.new(root, {\n                    radius: 5,\n                    fill: am5.color(0xE6BAA6),\n                    stroke: am5.color(0xffffff),\n                    strokeWidth: 2,\n                    cursorOverStyle: \"pointer\"\n                });\n\n                \/\/ Mostrar la ciudad si el filtro \"Offices\" o \"All\" est\u00e1 activo\n                \/\/ Dentro de officeSeries.bullets.push(function(root, series, dataItem) { ... })\n                let labelText = \"\";\n                if (activeFilters.has('Offices') || activeFilters.has('All')) {\n                    labelText = dataItem.dataContext.name; \/\/ ciudad\n                }\n\n                \/\/ Ajusta la posici\u00f3n y la l\u00ednea\n                const labelX = 10; \/\/ separa el texto del c\u00edrculo\n                const verticalOffset = 25;\n                const textAlign = \"left\";\n                const centerX = am5.p100;\n\n\n                if (labelText) {\n                    const label = am5.Label.new(root, {\n                        text: labelText,\n                        fontSize: 12,\n                        fontWeight: \"400\",\n                        cursorOverStyle: \"pointer\",\n                        fill: am5.color(\"#000\"),\n                        centerX: centerX,\n                        centerY: am5.p60,\n                        dy: verticalOffset,\n                        dx: labelX,\n                        textAlign: textAlign,\n                        background: am5.Rectangle.new(root, {\n                            fill: am5.color(\"#ffffff\"),\n                            fillOpacity: 0.95,\n                            stroke: am5.color(\"#ccc\"),\n                            strokeOpacity: 0.8,\n                            cornerRadius: 6,\n                            shadowColor: am5.color(0x000000),\n                            shadowBlur: 7,\n                            shadowOffsetX: 2,\n                            shadowOffsetY: 2,\n                            shadowOpacity: 0.3\n                        }),\n                        paddingLeft: 8,\n                        paddingRight: 8,\n                        paddingTop: 5,\n                        paddingBottom: 5,\n                        populateText: true\n                    });\n\n                    label.events.on(\"click\", function() {\n                        const office = dataItem.dataContext;\n                        if (shouldShowCountry(office.code, office.country)) {\n                            setSelectedCountry(office.code);\n                            updateCountryInfo(office.code);\n                        }\n                    });\n\n\n                    \/\/ L\u00ednea del c\u00edrculo al label\n                    const line = am5.Line.new(root, {\n                        stroke: am5.color(0x666666),\n                        strokeWidth: 1,\n                        strokeOpacity: 0.7,\n                        strokeDasharray: [2, 3]\n                    });\n                    line.set(\"points\", [\n                        { x: 0, y: 0 },\n                        { x: labelX * -2, y: verticalOffset }\n                    ]);\n\n                    container.children.push(line);\n                    container.children.push(label);\n\n                }\n\n                container.children.push(circle);\n\n                circle.events.on(\"click\", function() {\n                    const office = dataItem.dataContext;\n                    if (shouldShowCountry(office.code, office.country)) {\n                        setSelectedCountry(office.code);\n                        updateCountryInfo(office.code);\n                    }\n                });\n\n                return am5.Bullet.new(root, {\n                    sprite: container,\n                    dynamic: true\n                });\n            });\n\n            bulletsSeries.show(500);\n            bulletsSeries.events.once(\"datavalidated\", () => {\n                bulletsSeries.hide();\n                bulletsSeries.show();\n            });\n\n            \/\/ Create investment bullets with improved label positioning\n            bulletsSeries.bullets.push(function(root, series, dataItem) {\n                const d = dataItem.dataContext;\n                const container = am5.Container.new(root, {});\n                const isOffice = officeData.some(function(o) { return o.code === d.code; });\n\n                const circle = am5.Circle.new(root, {\n                    radius: 10,\n                    fill: d.country === \"Spain\"\n                        ? am5.color(0x5ea38c) \/\/ \ud83d\udd38 Aqu\u00ed el nuevo color para Spain (puedes cambiarlo)\n                        : (isOffice\n                            ? am5.color(0xa2c827)\n                            : (d.instrument === \"Credit\"\n                                ? am5.color(0xa2c827)\n                                : am5.color(0x5ea38c))),\n                    stroke: am5.color(0xFFFFFF),\n                    strokeWidth: 4,\n                    tooltipText: \"{tooltip}\",\n                    cursorOverStyle: \"pointer\"\n                });\n\n\n                circle.animate({ key: \"scale\", from: 0, to: 0.5, duration: 1000, easing: am5.ease.out(am5.ease.elastic) });\n\n                \/\/ Label positioning: left = label west of point. C\u00f4te d'Ivoire = top-right.\n                const leftSideCountries = [\"Spain\", \"Ghana\", \"Cambodia\", \"Uganda\", \"Rwanda\",\n                    \"Singapore\", \"Vietnam\", \"Philipines\"];\n                const rightSideCountries = [];\n                const isCotedIvoire = d.country === \"C\u00f4te d'Ivoire\";\n                const isLeftSide = !isCotedIvoire && leftSideCountries.includes(d.country);\n                const isRightSide = rightSideCountries.includes(d.country);\n\n                let labelX, textAlign, centerX, centerY, verticalOffset;\n                if (isCotedIvoire) {\n                    \/\/ Top-right: label above and to the right of the point\n                    labelX = 12;\n                    verticalOffset = -28;\n                    textAlign = \"left\";\n                    centerX = am5.p0;   \/\/ left edge of label at point\n                    centerY = am5.p100; \/\/ bottom of label at point\n                } else if (isLeftSide) {\n                    labelX = -50;\n                    textAlign = \"right\";\n                    centerX = am5.p100;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                } else if (isRightSide) {\n                    labelX = 50;\n                    textAlign = \"left\";\n                    centerX = am5.p0;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                } else {\n                    labelX = 50;\n                    textAlign = \"left\";\n                    centerX = am5.p0;\n                    centerY = am5.p50;\n                    verticalOffset = 5;\n                }\n\n                \/\/ Add small vertical offset for countries in dense areas\n                if (!isCotedIvoire && (d.country === \"Rwanda\" || d.country === \"Uganda\")) {\n                    verticalOffset = d.country === \"Rwanda\" ? 20 : 0;\n                }\n\n                \/\/ Add special vertical and horizontal offset for Vietnam and Philippines\n                if (d.country === \"Vietnam\" || d.country === \"Philipines\") {\n                    verticalOffset = -20;\n                    labelX = 50;\n                }\n\n\n\n\n                const label = am5.Label.new(root, {\n                    text: \"{country}\",\n                    fontSize: 12,\n                    fontWeight: \"400\",\n                    cursorOverStyle: \"pointer\",\n                    fill: am5.color(\"#000\"),\n                    centerX: centerX,\n                    centerY: centerY,\n                    dy: verticalOffset,\n                    dx: labelX,\n                    textAlign: textAlign,\n                    background: am5.Rectangle.new(root, {\n                        fill: am5.color(\"#ffffff\"),\n                        fillOpacity: 0.95,\n                        stroke: am5.color(\"#ccc\"),\n                        strokeOpacity: 0.8,\n                        cornerRadius: 6,\n                        shadowColor: am5.color(0x000000),\n                        shadowBlur: 7,\n                        shadowOffsetX: 2,\n                        shadowOffsetY: 2,\n                        shadowOpacity: 0.3\n                    }),\n                    paddingLeft: 8,\n                    paddingRight: 8,\n                    paddingTop: 5,\n                    paddingBottom: 5,\n                    populateText: true\n                });\n\n                label.events.on(\"click\", function() {\n                    const countryCode = d.code;\n                    if (shouldShowCountry(countryCode, d.country)) {\n                        setSelectedCountry(countryCode);\n                        updateCountryInfo(countryCode);\n                    }\n                });\n\n                const line = am5.Line.new(root, {\n                    stroke: am5.color(0x666666),\n                    strokeWidth: 1,\n                    strokeOpacity: 0.7,\n                    strokeDasharray: [2, 3]\n                });\n\n                line.set(\"points\", [\n                    { x: 0, y: 0 },\n                    { x: labelX * 1, y: verticalOffset }\n                ]);\n\n                container.children.push(circle);\n                container.children.push(line);\n                container.children.push(label);\n\n                circle.events.on(\"click\", function() {\n                    const countryCode = d.code;\n                    if (shouldShowCountry(countryCode, d.country)) {\n                        setSelectedCountry(countryCode);\n                        updateCountryInfo(countryCode);\n                    }\n                });\n\n                return am5.Bullet.new(root, {\n                    sprite: container,\n                    dynamic: true\n                });\n            });\n\n            \/\/ Apply initial zoom and center\n            chart.goHome();\n            updateMap();\n        });\n    }\n\n    \/\/ Wait for all scripts to load before initializing\n    window.addEventListener('load', function() {\n        \/\/ Check if all required amCharts objects are available\n        if (typeof am5 !== 'undefined' && typeof am5map !== 'undefined' &&\n            typeof am5themes_Animated !== 'undefined' && typeof am5geodata_worldLow !== 'undefined') {\n            initChart();\n            updateCountryInfo(); \/\/ Initialize with all countries\n        } else {\n            console.error('amCharts libraries not loaded properly');\n        }\n    });\n<\/script>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-00721db e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"00721db\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6905b1c elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"6905b1c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Explore Our Investment Approaches<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-393f1c0 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"393f1c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-80cf898 elementor-widget elementor-widget-text-editor\" data-id=\"80cf898\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our strategy comes to life through two distinct approaches, tailored to the specific needs and opportunities of the regions where we invest.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f23b2c4 elementor-widget elementor-widget-text-editor\" data-id=\"f23b2c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We deploy capital through alternative assets, mainly private credit and minority equity, adapting the instrument to the risk-return profile of each context while maintaining a disciplined impact and financial framework.<span class=\"c-message__edited_label\" dir=\"ltr\" data-sk=\"tooltip_parent\">\u00a0<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-fee3b66 e-con-full e-flex e-con e-parent\" data-id=\"fee3b66\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-05dfbed e-con-full e-flex e-con e-child\" data-id=\"05dfbed\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c0c5478 elementor-widget elementor-widget-heading\" data-id=\"c0c5478\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Spain<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8147288 elementor-widget elementor-widget-text-editor\" data-id=\"8147288\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We invest in growth-stage companies that drive inclusive economic and social development, with a focus on underserved groups.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d92e873 elementor-widget elementor-widget-button\" data-id=\"d92e873\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/globalsocialimpact.es\/spain\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Learn more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc56cd0 e-con-full e-flex e-con e-child\" data-id=\"bc56cd0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-86bdae4 elementor-widget elementor-widget-heading\" data-id=\"86bdae4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Emerging Markets<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a4e235 elementor-widget elementor-widget-text-editor\" data-id=\"5a4e235\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We provide flexible capital to businesses in Africa and other emerging regions, enabling them to scale sustainable solutions in sectors like agriculture, health, and climate resilience.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-09eefcc elementor-widget elementor-widget-button\" data-id=\"09eefcc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/globalsocialimpact.es\/credit-emerging-markets\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Learn more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-750af30 e-con-full e-flex elementor-invisible e-con e-parent\" data-id=\"750af30\" data-element_type=\"container\" data-e-type=\"container\" id=\"investment-loop\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a6f882f elementor-widget elementor-widget-heading\" data-id=\"a6f882f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our Funds<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-acc9fe6 elementor-widget-mobile__width-inherit elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"acc9fe6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5ba26b5 e-con-full e-flex e-con e-child\" data-id=\"5ba26b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-362955c elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"362955c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We manage a set of investment vehicles that follow GSI\u2019s disciplined approach and long-term commitment to combining impact and profitability.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c92249 elementor-widget__width-initial elementor-widget-mobile__width-inherit elementor-widget elementor-widget-text-editor\" data-id=\"9c92249\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Our structure allows us to deploy capital flexibly across geographies, adapting to local realities while maintaining a consistent investment philosophy.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-285c68c elementor-grid-1 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-hidden-desktop elementor-hidden-tablet elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"285c68c\" data-element_type=\"widget\" data-e-type=\"widget\" id=\"investment-loop\" data-settings=\"{&quot;template_id&quot;:&quot;906609&quot;,&quot;columns&quot;:1,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_skin&quot;:&quot;post&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-dynamic-906609\">.e-loop-item-7266 .elementor-element.elementor-element-2a7e70e1:not(.elementor-motion-effects-element-type-background), .e-loop-item-7266 .elementor-element.elementor-element-2a7e70e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url(\"https:\/\/www.globalsocialimpact.es\/wp-content\/uploads\/2025\/06\/GSIF-Africa.jpeg\");}<\/style><style id=\"loop-906609\">.elementor-906609 .elementor-element.elementor-element-614c480{--display:flex;--min-height:180px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-614c480:hover{border-style:none;}.elementor-906609 .elementor-element.elementor-element-614c480, .elementor-906609 .elementor-element.elementor-element-614c480::before{--border-transition:0.3s;}.elementor-906609 .elementor-element.elementor-element-614c480.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-906609 .elementor-element.elementor-element-2a7e70e1{--display:flex;--min-height:300px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-2a7e70e1:not(.elementor-motion-effects-element-type-background), .elementor-906609 .elementor-element.elementor-element-2a7e70e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-906609 .elementor-element.elementor-element-6c3055eb{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-62ab8bf6{--display:flex;--min-height:180px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-62ab8bf6.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-906609 .elementor-element.elementor-element-4ce392e4{text-align:start;}.elementor-906609 .elementor-element.elementor-element-4ce392e4 .elementor-heading-title{font-family:\"Proxima Nova\", Sans-serif;font-size:32px;font-weight:700;color:var( --e-global-color-text );}.elementor-906609 .elementor-element.elementor-element-4ce392e4 .elementor-heading-title a:hover, .elementor-906609 .elementor-element.elementor-element-4ce392e4 .elementor-heading-title a:focus{color:var( --e-global-color-74034bd );}.elementor-906609 .elementor-element.elementor-element-4ce392e4 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-4ce392e4.elementor-element{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-65e1084c{text-align:start;width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-65e1084c .elementor-heading-title{font-family:\"Proxima Nova\", Sans-serif;font-size:18px;font-weight:400;line-height:120%;color:var( --e-global-color-text );}.elementor-906609 .elementor-element.elementor-element-65e1084c .elementor-heading-title a:hover, .elementor-906609 .elementor-element.elementor-element-65e1084c .elementor-heading-title a:focus{color:var( --e-global-color-74034bd );}.elementor-906609 .elementor-element.elementor-element-65e1084c > .elementor-widget-container{margin:20px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-65e1084c.elementor-element{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-d2d1f98{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-d2d1f98.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-1cefc7 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-1cefc7{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-1cefc7.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-5133d74b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-5133d74b{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-5133d74b.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-5522247 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-5522247{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-5522247.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-3c75c3bb > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-3c75c3bb{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-3c75c3bb.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-6f8169be > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-6f8169be{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-6f8169be.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-0a61b5c{--display:flex;--min-height:180px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-0a61b5c:not(.elementor-motion-effects-element-type-background), .elementor-906609 .elementor-element.elementor-element-0a61b5c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F5F5;}.elementor-906609 .elementor-element.elementor-element-0a61b5c:hover{border-style:none;}.elementor-906609 .elementor-element.elementor-element-0a61b5c, .elementor-906609 .elementor-element.elementor-element-0a61b5c::before{--border-transition:0.3s;}.elementor-906609 .elementor-element.elementor-element-9a53bc8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-c17a451{--display:flex;--min-height:180px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-c17a451.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-906609 .elementor-element.elementor-element-2c7968e{text-align:start;}.elementor-906609 .elementor-element.elementor-element-2c7968e .elementor-heading-title{font-family:\"Proxima Nova\", Sans-serif;font-size:32px;font-weight:700;color:var( --e-global-color-92b4d8f );}.elementor-906609 .elementor-element.elementor-element-2c7968e .elementor-heading-title a:hover, .elementor-906609 .elementor-element.elementor-element-2c7968e .elementor-heading-title a:focus{color:var( --e-global-color-74034bd );}.elementor-906609 .elementor-element.elementor-element-2c7968e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-2c7968e.elementor-element{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-43fdf9d{text-align:start;width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-43fdf9d .elementor-heading-title{font-family:\"Proxima Nova\", Sans-serif;font-size:16px;font-weight:400;line-height:120%;color:var( --e-global-color-d888f19 );}.elementor-906609 .elementor-element.elementor-element-43fdf9d .elementor-heading-title a:hover, .elementor-906609 .elementor-element.elementor-element-43fdf9d .elementor-heading-title a:focus{color:var( --e-global-color-74034bd );}.elementor-906609 .elementor-element.elementor-element-43fdf9d > .elementor-widget-container{margin:20px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-43fdf9d.elementor-element{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-399a54d{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-399a54d.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-b2fe8b9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-b2fe8b9{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-b2fe8b9.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-4b314b8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-4b314b8{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-4b314b8.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-da1c664 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-da1c664{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-da1c664.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-5a473b9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-5a473b9{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-5a473b9.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-a8e6845 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-a8e6845{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-a8e6845.elementor-element{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-e2dffe2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-906609 .elementor-element.elementor-element-e2dffe2{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-e2dffe2.elementor-element{--align-self:flex-start;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-906609 .elementor-element.elementor-element-614c480{--width:100%;}.elementor-906609 .elementor-element.elementor-element-614c480.e-con{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-2a7e70e1{--content-width:100%;}.elementor-906609 .elementor-element.elementor-element-6c3055eb{--width:100%;}.elementor-906609 .elementor-element.elementor-element-6c3055eb.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-62ab8bf6{--width:76%;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-906609 .elementor-element.elementor-element-d2d1f98{--padding-top:0px;--padding-bottom:0px;--padding-left:24px;--padding-right:24px;}.elementor-906609 .elementor-element.elementor-element-d2d1f98.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-0a61b5c{--width:100%;--margin-top:24px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:24px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;}.elementor-906609 .elementor-element.elementor-element-0a61b5c.e-con{--align-self:flex-start;}.elementor-906609 .elementor-element.elementor-element-9a53bc8{--width:100%;--justify-content:flex-start;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-906609 .elementor-element.elementor-element-9a53bc8.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-c17a451{--width:100%;}.elementor-906609 .elementor-element.elementor-element-2c7968e{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-43fdf9d{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-399a54d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-906609 .elementor-element.elementor-element-399a54d.e-con{--align-self:center;}.elementor-906609 .elementor-element.elementor-element-b2fe8b9{width:100%;max-width:100%;}.elementor-906609 .elementor-element.elementor-element-4b314b8{width:100%;max-width:100%;}}@media(min-width:768px){.elementor-906609 .elementor-element.elementor-element-2a7e70e1{--content-width:540px;}.elementor-906609 .elementor-element.elementor-element-62ab8bf6{--width:400px;}.elementor-906609 .elementor-element.elementor-element-d2d1f98{--width:400px;}.elementor-906609 .elementor-element.elementor-element-c17a451{--width:360px;}.elementor-906609 .elementor-element.elementor-element-399a54d{--width:400px;}}@media(max-width:1024px) and (min-width:768px){.elementor-906609 .elementor-element.elementor-element-614c480{--width:52.183%;}}\/* Start custom CSS for container, class: .elementor-element-2a7e70e1 *\/.image-container{\n    width:540px!important;\n\n}\/* End custom CSS *\/\n\/* Start custom CSS for container, class: .elementor-element-614c480 *\/.launch-info p {\n  margin: -10px 0!important; \/* controlas t\u00fa el espacio *\/\n}\n\nbr { line-height: 0!important; margin: 0!important; }\n\n\n.launch-info .small-note {\n  font-size: 7px!important;\n  font-weight: 300!important;\n}\n\n\n.fund-card {\n  position: relative;\n  overflow: hidden;\n  border-bottom:1px solid #4a4a4a!important;\n}\n\n.fund-card:hover {\n  background-color: #0F4354;\n}\n\n\/* IMAGEN *\/\n.card-image-section {\n  position: relative;\n  left:0;\n  padding: 0;\n  margin: 0;\n}\n\n.card-image-container {\n  position: relative;\n  left:0px;\n  transition: all 3s cubic-bezier(0.23, 1, 0.32, 1);\n  visibility: hidden;\n  opacity: 0;\n  padding: 0;\n  margin: 0;\n  overflow: hidden;\n  width:440px!important;\n}\n\n.fund-card:hover .card-image-container {\n  transform: translateX(0%);\n  width:440px!important;\n  visibility: visible;\n  opacity: 1;\n}\n\n.e-con.e-flex>.e-con-inner{\n    position:relative!important;\n    top:-1px!Important;\n}\n\n.card-image {\n    width:440px;\n    height:100%!important;\n  object-fit: cover;\n  display: block;\n  z-index: 11;\n  padding: 0;\n  margin: 0;\n}\n\n\/* T\u00cdTULO *\/\n.card-title-section {\n  display: flex;\n  z-index: 2;\n  transform: translateX(-100%);\n  transition: all 3.2s cubic-bezier(0.23, 1, 0.32, 1);\n  color: #2e382e;\n  left:100px;\n \n}\n\n.card-title {\n  font-size: 28px!important;\n  font-weight: 600;\n  color: #2e382e;\n  transition: color 3.2s cubic-bezier(0.23, 1, 0.32, 1), transform 0.4s ease;\n}\n\n.fund-card:hover .card-title {\n  color: #ffffff;\n    transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1),transform 0.4s ease;\n}\n\n.fund-card:hover .card-title-section {\n  transform: translateX(0%);\n  color: #ffffff;\n    background-color: transparent;\n}\n\n.fund-card:hover .card-title-section a{\n  color: #ffffff!important;\n}\n\n.logo {\n  display: inline-block;\n  background-size: contain;\n  background-repeat: no-repeat;\n  background-position: center;\n  margin-top:10px!important;\n}\n\n.overWhite01 {\n  width: 120px;\n  height: 40px; \/* ajusta *\/\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/09\/EN_Co-fundedbytheEU_RGB_BLACK-Outline-scaled.png\");\n}\n\n.fund-card:hover .overWhite01 {\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/09\/EN_Co-fundedbytheEU_RGB_WHITE-Outline-scaled.png\");\n}\n\n.overWhite02 {\n  width: 60px;\n  height: 60px; \/* ajusta *\/\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/09\/Distintivo_CBBPP_SpainNAB.png\");\n}\n\n.fund-card:hover .overWhite02 {\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/09\/Distintivo_CBBPP_SpainNABWHITE.png\");\n}\n\n.overWhite03 {\n  width:145px;\n  height: 60px; \/* ajusta *\/\n  position:relative;\n  top:5px;\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/11\/EIFLOGO_BASIC_HORI_RGB-scaled.png\");\n}\n\n.fund-card:hover .overWhite03 {\n  background-image: url(\"https:\/\/globalsocialimpact.es\/wp-content\/uploads\/2025\/11\/EIFLOGO_BASIC_HORI_WHITE_RVB-scaled.png\");\n}\n\n\n\/* INFO *\/\n.card-info {\n  display: flex;\n  width:400px;\n  margin:0px;\n  padding:0px!important;\n  background-color: transparent;\n  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);\n  z-index: 2;\n  transform: translateX(0%);\n}\n\n.fund-card:hover .card-info {\n  color: #ffffff;\n  transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0.2s;\n}\n\n.info-line {\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n.info-line strong {\n  font-weight: 600;\n}\n\n\/* NUEVAS REGLAS PARA CAMBIAR TODO EL TEXTO A BLANCO *\/\n.fund-card:hover,\n.fund-card:hover .elementor-widget-html,\n.fund-card:hover strong {\n  color: #ffffff !important;\n}\n\n.fund-card:hover .elementor-heading-title {\n  color: #ffffff !important;\n}\n\n.fund-card:hover .card-info,\n.fund-card:hover .card-info div {\n  color: #ffffff !important;\n}\n\n\/* RESPONSIVE *\/\n@media (max-width: 727px) {\n  .fund-card {\n    flex-direction: column;\n    height: auto;\n  }\n\n  .card-image-section {\n    width: 100%;\n    height: 160px;\n  }\n\n  .card-image-container {\n    transform: none !important;\n  }\n\n  .card-image {\n    width: 100%;\n    height: 100%;\n  }\n\n  .card-title-section {\n    transform: none !important;\n    padding-left: 20px;\n  }\n\n  .card-info {\n    transform: none !important;\n    background-color: transparent !important;\n    color: #666 !important;\n  }\n}\n\n@media (max-width: 480px) {\n  .card-title {\n    font-size: 20px;\n  }\n\n  .card-info {\n    font-size: 13px;\n  }\n}\/* End custom CSS *\/\n\/* Start custom CSS for container, class: .elementor-element-399a54d *\/.elementor-widget-html{\n    color:252525!important;\n}\/* End custom CSS *\/<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"906609\" class=\"elementor elementor-906609 e-loop-item e-loop-item-7266 post-7266 vehicles type-vehicles status-publish format-standard hentry\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-614c480 fund-card e-con-full elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"614c480\" data-element_type=\"container\" data-e-type=\"container\" id=\"fund-card\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t<div class=\"elementor-element elementor-element-2a7e70e1 card-image-container elementor-hidden-mobile e-flex e-con-boxed e-con e-child\" data-id=\"2a7e70e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c3055eb e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"6c3055eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-62ab8bf6 card-title-section e-con-full e-flex e-con e-child\" data-id=\"62ab8bf6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ce392e4 card-title elementor-widget elementor-widget-heading\" data-id=\"4ce392e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">GSIF Africa<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65e1084c card-title elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"65e1084c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">Credit fund financing established high-impact SMEs in Sub-Saharan Africa<br>\r\n<span class=\"overWhite02 logo\"><\/span><\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2d1f98 card-info e-con-full e-flex e-con e-child\" data-id=\"d2d1f98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cefc7 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"1cefc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 60M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5133d74b elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5133d74b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage: <\/strong>2020\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5522247 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5522247\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Sub-Saharan Africa\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c75c3bb elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"3c75c3bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Credit\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f8169be elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"6f8169be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Fundraising and Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a61b5c fund-card e-con-full elementor-hidden-desktop elementor-hidden-tablet e-flex e-con e-parent\" data-id=\"0a61b5c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9a53bc8 e-con-full e-flex e-con e-child\" data-id=\"9a53bc8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c17a451 e-con-full e-flex e-con e-child\" data-id=\"c17a451\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c7968e elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"2c7968e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">GSIF Africa<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43fdf9d elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"43fdf9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">Credit fund financing established high-impact SMEs in Sub-Saharan Africa<br>\r\n<span class=\"overWhite02 logo\"><\/span><\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-399a54d e-con-full e-flex e-con e-child\" data-id=\"399a54d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2fe8b9 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"b2fe8b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 60M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b314b8 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"4b314b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage:<\/strong> 2020\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da1c664 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"da1c664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Sub-Saharan Africa\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a473b9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5a473b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Credit\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2dffe2 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e2dffe2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Fundraising and Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<style id=\"loop-dynamic-906609\">.e-loop-item-7507 .elementor-element.elementor-element-2a7e70e1:not(.elementor-motion-effects-element-type-background), .e-loop-item-7507 .elementor-element.elementor-element-2a7e70e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url(\"https:\/\/www.globalsocialimpact.es\/wp-content\/uploads\/2025\/06\/GSIF-Espana.jpeg\");}<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"906609\" class=\"elementor elementor-906609 e-loop-item e-loop-item-7507 post-7507 vehicles type-vehicles status-publish format-standard hentry\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-614c480 fund-card e-con-full elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"614c480\" data-element_type=\"container\" data-e-type=\"container\" id=\"fund-card\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t<div class=\"elementor-element elementor-element-2a7e70e1 card-image-container elementor-hidden-mobile e-flex e-con-boxed e-con e-child\" data-id=\"2a7e70e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c3055eb e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"6c3055eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-62ab8bf6 card-title-section e-con-full e-flex e-con e-child\" data-id=\"62ab8bf6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ce392e4 card-title elementor-widget elementor-widget-heading\" data-id=\"4ce392e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\">GSIF Spain<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65e1084c card-title elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"65e1084c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\"><div class=\"launch-info\">Growth equity fund investing in scalable inclusive businesses in Spain<br>\r\n<span class=\"overWhite02 logo\"><\/span>\r\n<span class=\"overWhite03 logo\"><\/span> \r\n<p class=\"small-note\" style=\"width:300px\">This operation benefits from support from the European Union under the InvestEU Fund.<\/p><\/div><\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2d1f98 card-info e-con-full e-flex e-con e-child\" data-id=\"d2d1f98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cefc7 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"1cefc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 63M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5133d74b elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5133d74b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage: <\/strong>2021\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5522247 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5522247\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Spain\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c75c3bb elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"3c75c3bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Equity\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f8169be elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"6f8169be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a61b5c fund-card e-con-full elementor-hidden-desktop elementor-hidden-tablet e-flex e-con e-parent\" data-id=\"0a61b5c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9a53bc8 e-con-full e-flex e-con e-child\" data-id=\"9a53bc8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c17a451 e-con-full e-flex e-con e-child\" data-id=\"c17a451\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c7968e elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"2c7968e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\">GSIF Spain<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43fdf9d elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"43fdf9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\"><div class=\"launch-info\">Growth equity fund investing in scalable inclusive businesses in Spain<br>\r\n<span class=\"overWhite02 logo\"><\/span>\r\n<span class=\"overWhite03 logo\"><\/span> \r\n<p class=\"small-note\" style=\"width:300px\">This operation benefits from support from the European Union under the InvestEU Fund.<\/p><\/div><\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-399a54d e-con-full e-flex e-con e-child\" data-id=\"399a54d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2fe8b9 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"b2fe8b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 63M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b314b8 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"4b314b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage:<\/strong> 2021\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da1c664 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"da1c664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Spain\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a473b9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5a473b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Equity\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2dffe2 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e2dffe2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-02d5399 elementor-grid-1 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-hidden-mobile elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"02d5399\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:&quot;906609&quot;,&quot;columns&quot;:1,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_skin&quot;:&quot;post&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-dynamic-906609\">.e-loop-item-7266 .elementor-element.elementor-element-2a7e70e1:not(.elementor-motion-effects-element-type-background), .e-loop-item-7266 .elementor-element.elementor-element-2a7e70e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url(\"https:\/\/www.globalsocialimpact.es\/wp-content\/uploads\/2025\/06\/GSIF-Africa.jpeg\");}<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"906609\" class=\"elementor elementor-906609 e-loop-item e-loop-item-7266 post-7266 vehicles type-vehicles status-publish format-standard hentry\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-614c480 fund-card e-con-full elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"614c480\" data-element_type=\"container\" data-e-type=\"container\" id=\"fund-card\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t<div class=\"elementor-element elementor-element-2a7e70e1 card-image-container elementor-hidden-mobile e-flex e-con-boxed e-con e-child\" data-id=\"2a7e70e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c3055eb e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"6c3055eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-62ab8bf6 card-title-section e-con-full e-flex e-con e-child\" data-id=\"62ab8bf6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ce392e4 card-title elementor-widget elementor-widget-heading\" data-id=\"4ce392e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">GSIF Africa<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65e1084c card-title elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"65e1084c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">Credit fund financing established high-impact SMEs in Sub-Saharan Africa<br>\r\n<span class=\"overWhite02 logo\"><\/span><\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2d1f98 card-info e-con-full e-flex e-con e-child\" data-id=\"d2d1f98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cefc7 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"1cefc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 60M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5133d74b elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5133d74b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage: <\/strong>2020\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5522247 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5522247\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Sub-Saharan Africa\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c75c3bb elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"3c75c3bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Credit\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f8169be elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"6f8169be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Fundraising and Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a61b5c fund-card e-con-full elementor-hidden-desktop elementor-hidden-tablet e-flex e-con e-parent\" data-id=\"0a61b5c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9a53bc8 e-con-full e-flex e-con e-child\" data-id=\"9a53bc8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c17a451 e-con-full e-flex e-con e-child\" data-id=\"c17a451\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c7968e elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"2c7968e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">GSIF Africa<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43fdf9d elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"43fdf9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/credit-emerging-markets\/\">Credit fund financing established high-impact SMEs in Sub-Saharan Africa<br>\r\n<span class=\"overWhite02 logo\"><\/span><\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-399a54d e-con-full e-flex e-con e-child\" data-id=\"399a54d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2fe8b9 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"b2fe8b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 60M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b314b8 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"4b314b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage:<\/strong> 2020\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da1c664 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"da1c664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Sub-Saharan Africa\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a473b9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5a473b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Credit\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2dffe2 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e2dffe2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Fundraising and Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<style id=\"loop-dynamic-906609\">.e-loop-item-7507 .elementor-element.elementor-element-2a7e70e1:not(.elementor-motion-effects-element-type-background), .e-loop-item-7507 .elementor-element.elementor-element-2a7e70e1 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url(\"https:\/\/www.globalsocialimpact.es\/wp-content\/uploads\/2025\/06\/GSIF-Espana.jpeg\");}<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"906609\" class=\"elementor elementor-906609 e-loop-item e-loop-item-7507 post-7507 vehicles type-vehicles status-publish format-standard hentry\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-614c480 fund-card e-con-full elementor-hidden-mobile e-flex e-con e-parent\" data-id=\"614c480\" data-element_type=\"container\" data-e-type=\"container\" id=\"fund-card\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t<div class=\"elementor-element elementor-element-2a7e70e1 card-image-container elementor-hidden-mobile e-flex e-con-boxed e-con e-child\" data-id=\"2a7e70e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c3055eb e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"6c3055eb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-62ab8bf6 card-title-section e-con-full e-flex e-con e-child\" data-id=\"62ab8bf6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4ce392e4 card-title elementor-widget elementor-widget-heading\" data-id=\"4ce392e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\">GSIF Spain<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65e1084c card-title elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"65e1084c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\"><div class=\"launch-info\">Growth equity fund investing in scalable inclusive businesses in Spain<br>\r\n<span class=\"overWhite02 logo\"><\/span>\r\n<span class=\"overWhite03 logo\"><\/span> \r\n<p class=\"small-note\" style=\"width:300px\">This operation benefits from support from the European Union under the InvestEU Fund.<\/p><\/div><\/a><\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d2d1f98 card-info e-con-full e-flex e-con e-child\" data-id=\"d2d1f98\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1cefc7 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"1cefc7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 63M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5133d74b elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5133d74b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage: <\/strong>2021\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5522247 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5522247\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Spain\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3c75c3bb elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"3c75c3bb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Equity\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f8169be elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"6f8169be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0a61b5c fund-card e-con-full elementor-hidden-desktop elementor-hidden-tablet e-flex e-con e-parent\" data-id=\"0a61b5c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-9a53bc8 e-con-full e-flex e-con e-child\" data-id=\"9a53bc8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-c17a451 e-con-full e-flex e-con e-child\" data-id=\"c17a451\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2c7968e elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"2c7968e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\">GSIF Spain<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43fdf9d elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-heading\" data-id=\"43fdf9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/staging.globalsocialimpact.es\/spain\/\"><div class=\"launch-info\">Growth equity fund investing in scalable inclusive businesses in Spain<br>\r\n<span class=\"overWhite02 logo\"><\/span>\r\n<span class=\"overWhite03 logo\"><\/span> \r\n<p class=\"small-note\" style=\"width:300px\">This operation benefits from support from the European Union under the InvestEU Fund.<\/p><\/div><\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-399a54d e-con-full e-flex e-con e-child\" data-id=\"399a54d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2fe8b9 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"b2fe8b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Size:<\/strong> 63M\u20ac\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b314b8 elementor-widget__width-inherit elementor-widget-mobile__width-inherit elementor-widget elementor-widget-html\" data-id=\"4b314b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Vintage:<\/strong> 2021\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da1c664 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"da1c664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Regions:<\/strong> Spain\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a473b9 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"5a473b9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Asset Class:<\/strong> Equity\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2dffe2 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e2dffe2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<strong>Stage:<\/strong> Investing\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Investment Overview\u200b Transactions 0 Sectors 0 Portfolio Companies 0 Countries 0 Vehicles 0 Our Investment Strategy 01 We invest in companies that address real-world challenges We target solid, profitable, and growing businesses that respond to market failures and social inequities through sustainable models. 02 We back transformative and lasting impact We support businesses with the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"news_content_type":[],"class_list":["post-4621","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/pages\/4621","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/comments?post=4621"}],"version-history":[{"count":1068,"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/pages\/4621\/revisions"}],"predecessor-version":[{"id":924807,"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/pages\/4621\/revisions\/924807"}],"wp:attachment":[{"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/media?parent=4621"}],"wp:term":[{"taxonomy":"news_content_type","embeddable":true,"href":"https:\/\/www.globalsocialimpact.es\/es\/wp-json\/wp\/v2\/news_content_type?post=4621"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}