{"id":83,"date":"2025-10-23T13:51:16","date_gmt":"2025-10-23T13:51:16","guid":{"rendered":"https:\/\/zerocarbono.org\/?page_id=83"},"modified":"2026-01-08T00:52:48","modified_gmt":"2026-01-08T00:52:48","slug":"prefactibilidad","status":"publish","type":"page","link":"https:\/\/zerocarbono.org\/en\/prefactibilidad\/","title":{"rendered":"Pre-feasibility"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"83\" class=\"elementor elementor-83\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-24e65aa e-flex e-con-boxed e-con e-parent\" data-id=\"24e65aa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a2a6e39 elementor-widget elementor-widget-shortcode\" data-id=\"a2a6e39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><!DOCTYPE html> \n<html lang=\"es\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Estudio de Prefactibilidad<\/title>\n    <style>\n        :root {\n            --azul-principal: #031e35;\n            --verde-principal: #325825;\n            --verde-claro: #f0f7f0;\n            --gris-oscuro: #374151;\n            --gris-medio: #6b7280;\n            --blanco: #ffffff;\n        }\n\n        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }\n\n        body {\n            background: linear-gradient(135deg, #fafcff 0%, #f8fafc 100%);\n            color: var(--gris-oscuro);\n            line-height: 1.6;\n            min-height: 100vh;\n        }\n\n        .container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }\n\n        \/* Header *\/\n        .header { padding: 30px 0 100px; text-align: center; position: relative; }\n        .header::before{\n            content:\"\"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);\n            width:300px; height:300px; background:radial-gradient(circle, var(--verde-claro) 0%, transparent 70%);\n            opacity:.4; z-index:-1;\n        }\n        .badge{\n            display:inline-block; background:var(--blanco); color:var(--verde-principal);\n            padding:10px 24px; border-radius:24px; font-size:.85rem; font-weight:500; margin-bottom:30px;\n            border:1px solid rgba(50,88,37,.1); box-shadow:0 2px 8px rgba(0,0,0,.04); backdrop-filter:blur(10px);\n        }\n        .title{ font-size:3rem; font-weight:700; color:var(--azul-principal); margin-bottom:25px; line-height:1.1; letter-spacing:-.5px; }\n        .title-gradient{\n            background:linear-gradient(135deg, var(--azul-principal) 0%, var(--verde-principal) 100%);\n            -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;\n        }\n        .subtitle{ font-size:1.3rem; color:var(--gris-medio); max-width:700px; margin:0 auto; font-weight:400; line-height:1.5; }\n\n        \/* Stats (la franja que faltaba) *\/\n        .stats{\n            display:flex; justify-content:center; gap:60px; margin-top:80px; position:relative;\n        }\n        .stats::before{\n            content:\"\"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);\n            width:1px; height:40px; background:linear-gradient(to bottom, transparent, var(--gris-medio), transparent); opacity:.3;\n        }\n        .stat{ text-align:center; position:relative; }\n        .stat::after{\n            content:\"\"; position:absolute; bottom:-10px; left:50%; transform:translateX(-50%);\n            width:0; height:2px; background:var(--verde-principal); transition:width .6s ease;\n        }\n        .stat:hover::after{ width:30px; }\n        .stat-number{ display:block; font-size:2.2rem; font-weight:700; color:var(--verde-principal); margin-bottom:8px; }\n        .stat-label{ font-size:.9rem; color:var(--gris-medio); font-weight:500; letter-spacing:.5px; }\n\n        \/* Secciones *\/\n        .section{ padding:100px 0; position:relative; }\n        .section-title{\n            font-size:2rem; font-weight:700; color:var(--azul-principal); margin-bottom:60px; text-align:center; position:relative;\n        }\n        .section-title::after{\n            content:\"\"; position:absolute; bottom:-15px; left:50%; transform:translateX(-50%);\n            width:50px; height:2px; background:var(--verde-principal); border-radius:1px;\n        }\n        .grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(340px, 1fr)); gap:30px; }\n        .card{\n            padding:40px 35px; background:var(--blanco); border-radius:16px; box-shadow:0 4px 20px rgba(0,0,0,.06);\n            border:1px solid rgba(0,0,0,.03); transition:all .4s ease; position:relative; overflow:hidden;\n        }\n        .card:hover{ transform:translateY(-3px); box-shadow:0 8px 30px rgba(0,0,0,.1); }\n        .card-icon{ font-size:2.2rem; margin-bottom:25px; color:var(--verde-principal); }\n        .card-title{ font-size:1.3rem; font-weight:600; color:var(--azul-principal); margin-bottom:15px; }\n        .card-text{ color:var(--gris-medio); font-size:.95rem; line-height:1.6; }\n\n        \/* Importancia *\/\n        .importancia-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:25px; }\n        .importancia-item{\n            display:flex; align-items:flex-start; gap:20px; padding:30px; background:var(--blanco);\n            border-radius:12px; box-shadow:0 4px 15px rgba(0,0,0,.04);\n        }\n        .importancia-icon{ font-size:1.8rem; color:var(--verde-principal); background:var(--verde-claro); padding:12px; border-radius:10px; }\n        .importancia-content h4{ color:var(--azul-principal); margin-bottom:10px; font-size:1.1rem; font-weight:600; }\n        .importancia-content p{ color:var(--gris-medio); font-size:.9rem; line-height:1.5; }\n\n        \/* Nota *\/\n        .nota{ background:var(--verde-claro); padding:30px; border-radius:16px; border-left:4px solid var(--verde-principal); margin-top:40px; }\n        .nota p{ color:var(--azul-principal); font-size:1rem; font-weight:500; line-height:1.5; }\n\n        \/* CTA *\/\n        .cta{ text-align:center; padding:100px 0; background:var(--blanco); border-radius:24px; margin:60px 0; box-shadow:0 8px 40px rgba(0,0,0,.08); }\n        .cta-title{ font-size:2.2rem; margin-bottom:20px; color:var(--azul-principal); font-weight:700; }\n        .cta-text{ font-size:1.2rem; margin-bottom:35px; color:var(--gris-medio); max-width:500px; margin-left:auto; margin-right:auto; line-height:1.5; }\n        .cta-button{\n            display:inline-flex; align-items:center; gap:12px; background:var(--verde-principal); color:var(--blanco);\n            padding:16px 40px; border-radius:12px; font-size:1.1rem; font-weight:600; text-decoration:none;\n        }\n\n        \/* Responsive *\/\n        @media (max-width: 768px){\n            .title{ font-size:2.4rem; }\n            .grid, .importancia-grid{ grid-template-columns:1fr; }\n            .stats{ flex-direction:column; gap:40px; margin-top:60px; }\n            .stats::before{ display:none; }\n        }\n        @media (max-width: 480px){\n            .title{ font-size:2rem; }\n            .section-title{ font-size:1.7rem; }\n            .card{ padding:30px 25px; }\n        }\n    <\/style>\n<\/head>\n<body>\n    <div class=\"container\">\n        <!-- Header -->\n        <div class=\"header\">\n            <div class=\"badge\">\ud83c\udf3f Feasibility Assessment<\/div>\n            <h1 class=\"title\"><span class=\"title-gradient\">5.-Pre-feasibility Study <br>Validate the Viability of Your Environmental Project<\/span><\/h1>\n            <p class=\"subtitle\">\n                \u00bfTu proyecto super\u00f3 la etapa inicial?<br> El Estudio de Prefactibilidad es el paso clave para confirmar que tu iniciativa cumple con los est\u00e1ndares internacionales de Alta Integridad (ICVCM) y maximiza su valor en el mercado.\n            <\/p>\n\n            <!-- \u2b50 Stats a\u00f1adidos -->\n            <div class=\"stats\">\n                <div class=\"stat\">\n                    <span class=\"stat-number\">8<\/span>\n                    <span class=\"stat-label\">Weeks<\/span>\n                <\/div>\n                <div class=\"stat\">\n                    <span class=\"stat-number\">ICVCM<\/span>\n                    <span class=\"stat-label\">High Integrity<\/span>\n                <\/div>\n                <div class=\"stat\">\n                    <span class=\"stat-number\">\ud83d\udcb0<\/span>\n                    <span class=\"stat-label\">Average Cost<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- \u00bfEn qu\u00e9 consiste? -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">What does it consist of?<\/h2>\n            <p>This study delves into the specific context of your project by:\n<\/p>\n            <div class=\"grid\">\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83c\udf0e<\/div>\n                    <h3 class=\"card-title\">Technical-environmental analysis<\/h3>\n                    <p class=\"card-text\">Study of soil, climate, flora, fauna and watersheds.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83e\udd1d<\/div>\n                    <h3 class=\"card-title\">Socioeconomic assessment<\/h3>\n                    <p class=\"card-text\">The region's social and natural capital, impact on local communities, and alignment with the Sustainable Development Goals (SDGs).<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\u2699\ufe0f<\/div>\n                    <h3 class=\"card-title\">Eligibility criteria<\/h3>\n                    <p class=\"card-text\">Additionality verification (does your project add real value?), calculation of reserve buffers (risk reduction), and application of European taxonomies for base prices.<\/p>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- \u00bfPor qu\u00e9 es esencial? -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">Why is it essential?<\/h2>\n            <div class=\"importancia-grid\">\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\u2705<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Guaranteed Certification<\/h4>\n                        <p>Ensures your project meets the most demanding standards (ICVCM).<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\ud83d\udcb0<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Credit valuation<\/h4>\n                        <p>Quantifying social and natural capital allows for obtaining the best market price.<\/p>\n                    <\/div>\n                <\/div>\n                <div class=\"importancia-item\">\n                    <div class=\"importancia-icon\">\ud83d\udcca<\/div>\n                    <div class=\"importancia-content\">\n                        <h4>Realistic projections<\/h4>\n                        <p>Generate economic scenarios (pessimistic, intermediate, optimistic) with solid foundations.<\/p>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Resultados clave -->\n        <div class=\"section\">\n            <h2 class=\"section-title\">Key results<\/h2>\n            <div class=\"grid\">\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83d\udcc4<\/div>\n                    <h3 class=\"card-title\">Base documentation<\/h3>\n                    <p class=\"card-text\">Base documentation for the preparation of the Project Description (PD), required for certification.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83d\udcb9<\/div>\n                    <h3 class=\"card-title\">Competitive base price<\/h3>\n                    <p class=\"card-text\">Determining the value of credits according to European taxonomies and global markets.<\/p>\n                <\/div>\n                <div class=\"card\">\n                    <div class=\"card-icon\">\ud83c\udfaf<\/div>\n                    <h3 class=\"card-title\">Clear strategy<\/h3>\n                    <p class=\"card-text\">Defining sustainability goals and an action plan to maximize positive impacts.<\/p>\n                <\/div>\n            <\/div>\n\n            <div class=\"nota\">\n                <p>\ud83d\udca1 <strong>Important:<\/strong> This is a mid-range cost study that generates different types of reports that will serve as the basis for developing the project description for project certification. In an 8-week period, it provides the most important evaluation metrics, with the objective of establishing the project's development time, its potential, and its initial and projected market price to end buyers.<\/p>\n            <\/div>\n        <\/div>\n\n     <!-- CTA -->\n    <div class=\"cta\">\n    <h2 class=\"cta-title\">Ready to get started?<\/h2>\n    <p class=\"cta-text\">\n      If you want more information about our service and its associated costs, download our presentation brochure here.\n    <\/p>\n\n    <!--BOT\u00d3N -->\n    <button id=\"abrir-formulario\" class=\"cta-button\" type=\"button\">\n        \ud83d\udce5 Download Brochure\n    <\/button>\n\n    <!-- AQU\u00cd  SHORTCODE -->\n    <div class=\"formulario-wrapper\">\n        \n  <div class=\"dg-wrap\" style=\"text-align:center;margin-top:30px;\">\n    <button id=\"dg-btn\" class=\"dg-btn\">\n      DESCARGAR DOCUMENTO <i class=\"fa fa-download\"><\/i>\n    <\/button>\n\n    <form id=\"dg-form\" class=\"dg-form\" style=\"display:none;\" novalidate action=\"\">\n      <h3 class=\"dg-title\">\ud83c\udf31 Completa los datos para continuar<\/h3>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-name\">Nombre *<\/label>\n        <input name=\"name\" required>\n      <\/div>\n\n      <div class=\"dg-row-inline\">\n        <div class=\"dg-col\">\n          <label class=\"lbl-company\">Corporaci\u00f3n *<\/label>\n          <input name=\"company\" required>\n        <\/div>\n        <div class=\"dg-col\">\n          <label class=\"lbl-role\">Cargo *<\/label>\n          <input name=\"role\" required>\n        <\/div>\n      <\/div>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-email\">Correo *<\/label>\n        <input type=\"email\" name=\"email\" required>\n      <\/div>\n\n      <!-- WhatsApp + Pa\u00eds en dos columnas -->\n      <div class=\"dg-row-inline\">\n        <div class=\"dg-col\">\n          <label class=\"lbl-phone\">WhatsApp completo (con c\u00f3digo de \u00e1rea) *<\/label>\n          <input name=\"phone\" required>\n        <\/div>\n        <div class=\"dg-col\">\n          <label class=\"lbl-country\">Pa\u00eds *<\/label>\n          <input name=\"country\" required>\n        <\/div>\n      <\/div>\n\n      <div class=\"dg-row\">\n        <label class=\"lbl-message\">Mensaje<\/label>\n        <textarea name=\"message\" rows=\"2\"><\/textarea>\n      <\/div>\n\n      <div class=\"dg-row dg-acept\">\n        <label>\n          <input type=\"checkbox\" name=\"policy\" required>\n          <span class=\"lbl-policy\">Acepto las pol\u00edticas de privacidad<\/span>\n        <\/label>\n      <\/div>\n\n      <button type=\"submit\" class=\"dg-submit\">\n        ENVIAR Y DESCARGAR <i class=\"fa fa-paper-plane\"><\/i>\n      <\/button>\n    <input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n\n    <p class=\"dg-msg\" style=\"display:none;\"><\/p>\n  <\/div>\n\n<style>\n\/* ===== CONTENEDOR ===== *\/\n.dg-form{\n  margin:25px auto;\n  max-width:750px;\n  background:#ffffff;\n  padding:40px 45px;\n  border-radius:22px;\n  box-shadow:0 20px 45px rgba(0,0,0,0.07);\n  opacity:0;\n  transform:translateY(15px);\n  transition:all .45s ease;\n  \/* Asegurar que se oculte completamente *\/\n  visibility: hidden;\n  height: 0;\n  overflow: hidden;\n}\n\n.dg-form.dg-show{\n  display:block!important;\n  opacity:1!important;\n  transform:translateY(0);\n  \/* Mostrar completamente *\/\n  visibility: visible;\n  height: auto;\n  overflow: visible;\n}\n\n.dg-form[style*=\"display: none\"] {\n  display: none !important;\n  opacity: 0 !important;\n  visibility: hidden !important;\n  height: 0 !important;\n  overflow: hidden !important;\n}\n\n\/* ===== T\u00cdTULO ===== *\/\n.dg-title{\n  text-align:left!important;\n  color:#031e35;\n  font-weight:800;\n  margin-bottom:35px;\n  line-height:1.2;\n  font-size:26px;\n}\n\n\/* ===== ETIQUETAS ===== *\/\n.dg-row label,\n.dg-row-inline label{\n  display:block;\n  color:#031e35;\n  font-weight:600;\n  margin-bottom:10px;\n  margin-top:12px;  \n  font-size:14px;\n  text-align:left !important;\n}\n\n\/* ===== CAMPOS ===== *\/\n.dg-row input,\n.dg-row textarea,\n.dg-row-inline input{\n  width:100%;\n  padding:14px 16px;\n  border:1px solid #dbe3dc;\n  background:#f8fdf8;\n  border-radius:12px;\n  font-size:15px;\n  color:#031e35;\n  outline:none;\n  box-shadow:0 2px 6px rgba(50,88,37,0.06);\n  transition:all .25s ease;\n}\n.dg-row input::placeholder,\n.dg-row textarea::placeholder{\n  color:#8aa09a;\n}\n\n\/* Campos inv\u00e1lidos SOLO cuando se ha intentado enviar *\/\n.dg-form.submitted input:invalid,\n.dg-form.submitted textarea:invalid,\n.dg-form.submitted .dg-row-inline input:invalid{\n  border-color:#ff4444;\n  background:#fff8f8;\n}\n\n\/* Hover y focus *\/\n.dg-row input:focus,\n.dg-row textarea:focus{\n  border-color:#2e7d32;\n  background:#ffffff;\n  box-shadow:0 0 0 3px rgba(46,125,50,0.18);\n}\n\n\/* ===== DOS COLUMNAS ===== *\/\n.dg-row-inline{\n  display:flex;\n  gap:18px;\n  margin-bottom:18px;\n}\n.dg-row-inline .dg-col{\n  flex:1;\n}\n\n\/* ===== CHECKBOX ===== *\/\n.dg-acept label{\n  font-size:14px;\n  color:#031e35;\n  text-align:left !important;\n}\n.dg-acept input{\n  width:auto;\n  transform:scale(1.2);\n  cursor:pointer;\n}\n\n\/* Checkbox inv\u00e1lido SOLO cuando se ha intentado enviar *\/\n.dg-form.submitted .dg-acept input:invalid{\n  outline:2px solid #ff4444;\n}\n\n\/* ===== BOT\u00d3N PREMIUM ===== *\/\n.dg-submit{\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  gap:10px;\n  padding:16px 42px;\n  background:linear-gradient(90deg,#031e35,#325825);\n  color:#ffffff;\n  font-size:16px;\n  font-weight:700;\n  border:none;\n  border-radius:50px;\n  cursor:pointer;\n  margin:35px auto 0;\n  position:relative;\n  overflow:hidden;\n  transition:transform .25s ease;\n  box-shadow:0 8px 25px rgba(0,0,0,0.15);\n}\n\n\/* Animaci\u00f3n premium del bot\u00f3n *\/\n.dg-submit::before{\n  content:\"\";\n  position:absolute;\n  top:0;\n  left:-120%;\n  width:120%;\n  height:100%;\n  background:linear-gradient(\n    120deg,\n    transparent,\n    rgba(255,255,255,0.28),\n    transparent\n  );\n  transition:all .6s ease;\n}\n\n.dg-submit:hover::before{\n  left:120%;\n}\n\n.dg-submit:hover{\n  transform:translateY(-3px);\n  box-shadow:0 12px 30px rgba(0,0,0,0.23);\n}\n\n\/* ===== MENSAJE ===== *\/\n.dg-msg{\n  text-align:center;\n  margin-top:30px;\n  font-weight:700;\n  color:#2e7d32;\n  font-size:20px;\n}\n\n\/* Mensaje de error *\/\n.dg-msg.error{\n  color:#ff4444;\n}\n\n\/* ===== RESPONSIVE ===== *\/\n@media(max-width:600px){\n  .dg-row-inline{\n    flex-direction:column;\n  }\n  .dg-form{\n    padding:30px 25px;\n  }\n  .dg-title{\n    font-size:22px;\n  }\n}\n<\/style>\n\n<script>\ndocument.addEventListener('DOMContentLoaded',()=>{\n  const btn  = document.getElementById('dg-btn');\n  const form = document.getElementById('dg-form');\n  const msg  = document.querySelector('.dg-msg');\n\n  const htmlLang=document.documentElement.lang||'';\n  const lang=(location.pathname.includes('\/en\/')||htmlLang.startsWith('en'))?'en':'es';\n\n  const tAll = {\n    es:{\n      title:'\ud83c\udf31 Completa los datos para continuar',\n      name:'Nombre *',\n      company:'Corporaci\u00f3n *',\n      role:'Cargo *',\n      email:'Correo *',\n      phone:'WhatsApp completo (con c\u00f3digo de \u00e1rea) *',\n      country:'Pa\u00eds *',\n      message:'Mensaje',\n      policy:'Acepto las pol\u00edticas de privacidad',\n      submit:'ENVIAR Y DESCARGAR',\n      done:'\u2705 Documento enviado a su correo',\n      error:'\u274c Error al enviar. Por favor revisa los campos.',\n      validation:'\u274c Por favor completa todos los campos obligatorios'\n    },\n    en:{\n      title:'\ud83c\udf31 Complete the information to continue',\n      name:'Name *',\n      company:'Corporation *',\n      role:'Position *',\n      email:'Email *',\n      phone:'Full WhatsApp (with area code) *',\n      country:'Country *',\n      message:'Message',\n      policy:'I accept the privacy policy',\n      submit:'SEND AND DOWNLOAD',\n      done:'\u2705 Document sent to your email',\n      error:'\u274c Error sending. Please check the fields.',\n      validation:'\u274c Please complete all required fields'\n    }\n  };\n  const t = tAll[lang];\n\n  \/\/ Traducci\u00f3n\n  form.querySelector('.dg-title').textContent   = t.title;\n  form.querySelector('.lbl-name').textContent   = t.name;\n  form.querySelector('.lbl-company').textContent= t.company;\n  form.querySelector('.lbl-role').textContent   = t.role;\n  form.querySelector('.lbl-email').textContent  = t.email;\n  form.querySelector('.lbl-phone').textContent  = t.phone;\n  form.querySelector('.lbl-country').textContent= t.country;\n  form.querySelector('.lbl-message').textContent= t.message;\n  form.querySelector('.lbl-policy').textContent = t.policy;\n  form.querySelector('.dg-submit').childNodes[0].textContent = t.submit+' ';\n\n  \/\/ Guardado de datos\n  const fields=form.querySelectorAll('input, textarea');\n  fields.forEach(f=>{\n    const key='dg_'+f.name;\n    const saved=localStorage.getItem(key);\n    if(saved) f.value=saved;\n    f.addEventListener('input',()=>localStorage.setItem(key,f.value));\n  });\n\n  const policy=form.querySelector('input[name=\"policy\"]');\n  if(policy){\n    const savedPolicy=localStorage.getItem('dg_policy');\n    if(savedPolicy==='true') policy.checked=true;\n    policy.addEventListener('change',()=>localStorage.setItem('dg_policy',policy.checked));\n  }\n\n  \/\/ Mostrar \/ ocultar formulario\n  btn.addEventListener('click',e=>{\n    e.preventDefault();\n    if(form.classList.contains('dg-show')){\n      form.classList.remove('dg-show');\n      setTimeout(()=>form.style.display='none',300);\n    } else {\n      form.style.display='block';\n      requestAnimationFrame(()=>form.classList.add('dg-show'));\n    }\n  });\n\n  \/\/ Funci\u00f3n para validar formulario\n  function validateForm() {\n    const requiredFields = form.querySelectorAll('input[required], textarea[required]');\n    let isValid = true;\n    \n    requiredFields.forEach(field => {\n      if (!field.value.trim()) {\n        isValid = false;\n      }\n    });\n    \n    \/\/ Validar checkbox de pol\u00edtica\n    const policyCheckbox = form.querySelector('input[name=\"policy\"]');\n    if (policyCheckbox && !policyCheckbox.checked) {\n      isValid = false;\n    }\n    \n    \/\/ Validar email\n    const emailField = form.querySelector('input[type=\"email\"]');\n    if (emailField && emailField.value && !isValidEmail(emailField.value)) {\n      isValid = false;\n    }\n    \n    return isValid;\n  }\n  \n  \/\/ Funci\u00f3n para validar email\n  function isValidEmail(email) {\n    const emailRegex = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n    return emailRegex.test(email);\n  }\n\n  \/\/ Env\u00edo\n  form.addEventListener('submit',async e=>{\n    e.preventDefault();\n    msg.style.display='none';\n    msg.classList.remove('error');\n\n    \/\/ Marcar que se intent\u00f3 enviar (para mostrar errores)\n    form.classList.add('submitted');\n\n    \/\/ Validar formulario antes de enviar\n    if (!validateForm()) {\n      msg.textContent = t.validation;\n      msg.classList.add('error');\n      msg.style.display = 'block';\n      return; \/\/ Detener el env\u00edo\n    }\n\n    const fd=new FormData(form);\n    fd.append('action','dg_submit');\n    fd.append('security','2417d6d52c');\n    fd.append('title','Pesta\u00f1a Estudio de Prefactibilidad');\n    fd.append('pdf_es','https:\/\/zerocarbono.org\/wp-content\/uploads\/2026\/01\/5.-Estudio-de-Prefactibilidad.pdf');\n    fd.append('pdf_en','https:\/\/zerocarbono.org\/wp-content\/uploads\/2026\/01\/5.-Pre-feasibility-Study.jpg');\n    fd.append('link_es','');\n    fd.append('link_en','');\n    fd.append('lang',lang);\n\n    try {\n      const res=await fetch('https:\/\/zerocarbono.org\/wp-admin\/admin-ajax.php',{method:'POST',body:fd});\n      const json=await res.json();\n\n      if(json && json.success){\n        \/\/ FORZAR la ocultaci\u00f3n del formulario de m\u00faltiples maneras\n        form.style.display = 'none';\n        form.style.opacity = '0';\n        form.style.visibility = 'hidden';\n        form.style.height = '0';\n        form.style.overflow = 'hidden';\n        form.classList.remove('dg-show', 'submitted');\n        \n        \/\/ Resetear el formulario\n        form.reset();\n        \n        \/\/ Limpiar localStorage\n        fields.forEach(f=>localStorage.removeItem('dg_'+f.name));\n        if(policy) localStorage.removeItem('dg_policy');\n        \n        \/\/ Mostrar mensaje de \u00e9xito\n        msg.textContent=t.done;\n        msg.classList.remove('error');\n        msg.style.display='block';\n        msg.style.opacity='1';\n        \n        \/\/ Ocultar mensaje despu\u00e9s de 4 segundos\n        setTimeout(()=>{\n          msg.style.opacity='0';\n          setTimeout(()=>{\n            msg.style.display='none';\n          },300);\n        },4000);\n        \n      }else{\n        msg.textContent=t.error;\n        msg.classList.add('error');\n        msg.style.display='block';\n        \n        \/\/ Ocultar mensaje de error despu\u00e9s de 5 segundos\n        setTimeout(()=>{\n          msg.style.opacity='0';\n          setTimeout(()=>{\n            msg.style.display='none';\n          },300);\n        },5000);\n      }\n    } catch(error) {\n      msg.textContent=t.error;\n      msg.classList.add('error');\n      msg.style.display='block';\n    }\n  });\n});\n<\/script>\n\n\n    <\/div>\n<\/div>\n    <\/div>\n<\/body>\n<\/html>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-27f8209 e-flex e-con-boxed e-con e-parent\" data-id=\"27f8209\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a39bf58 elementor-widget elementor-widget-html\" data-id=\"a39bf58\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script>\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\r\n    const btnCTA = document.getElementById('abrir-formulario');\r\n    const btnShortcode = document.getElementById('dg-btn');\r\n    const form = document.getElementById('dg-form');\r\n\r\n    if(btnCTA && btnShortcode && form){\r\n\r\n        btnCTA.addEventListener('click', e => {\r\n            e.preventDefault();\r\n\r\n            \/\/ activa la l\u00f3gica original (abre\/cierra)\r\n            btnShortcode.click();\r\n\r\n            \/\/ esperamos un poquito para que el shortcode cambie las clases\r\n            setTimeout(() => {\r\n\r\n                \/\/ si el shortcode LO ABRI\u00d3 (tiene dg-show)\r\n                if(form.classList.contains('dg-show')){\r\n                    form.classList.add('dg-visible');      \/\/ mostrar animado\r\n                    form.style.display = 'block';          \/\/ visible\r\n                }\r\n\r\n                \/\/ si el shortcode LO CERR\u00d3 (no tiene dg-show)\r\n                else {\r\n                    form.classList.remove('dg-visible');   \/\/ ocultamos animaci\u00f3n\r\n                    form.style.display = 'none';           \/\/ completamente oculto\r\n                }\r\n\r\n            }, 50);\r\n        });\r\n    }\r\n});\r\n<\/script>\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7cc39df elementor-widget elementor-widget-html\" data-id=\"7cc39df\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n#dg-btn {\r\n    display: none !important;\r\n}\r\n\r\n.formulario-wrapper {\r\n    margin-top: 20px;\r\n}\r\n\r\n#dg-form {\r\n    display: none;\r\n    opacity: 0;\r\n    transform: translateY(-10px);\r\n    transition: all 0.4s ease;\r\n}\r\n\r\n#dg-form.dg-visible {\r\n    display: block !important;\r\n    opacity: 1 !important;\r\n    transform: translateY(0);\r\n}\r\n<\/style>\r\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Estudio de Prefactibilidad \ud83c\udf3f Evaluaci\u00f3n de Viabilidad 5.-Estudio de Prefactibilidad Valida la Viabilidad de Tu Proyecto Ambiental \u00bfTu proyecto super\u00f3 la etapa inicial? El Estudio de Prefactibilidad es el paso clave para confirmar que tu iniciativa cumple con los est\u00e1ndares internacionales de Alta Integridad (ICVCM) y maximiza su valor en el mercado. 8 Semanas ICVCM [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-83","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/comments?post=83"}],"version-history":[{"count":25,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83\/revisions"}],"predecessor-version":[{"id":1756,"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/pages\/83\/revisions\/1756"}],"wp:attachment":[{"href":"https:\/\/zerocarbono.org\/en\/wp-json\/wp\/v2\/media?parent=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}