loader image
(() => {

  const IGNORE = new Set([
    'Capa_2','MapaCR','Regiones','Mapa_Base','SombraMapa','Base','Contorno'
  ]);

  // Si un ID/target no está mapeado, generamos /regiones/<slug>/
  const autoUrl = { enabled: true, baseUrl: '/coffee-region/' };
  const linkMap = {
    // 'norte': '/regiones/norte/',
    // 'perez_zeledon': '/regiones/perez-zeledon/',
  };

  // Utils
  const slug = s => String(s)
    .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
    .toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/(^-|-$)/g,'');

  const toKey = s => String(s)
    .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
    .toLowerCase().replace(/[^a-z0-9]+/g,'_').replace(/(^_|_$)/g,'');

  const urlFor = key =>
    linkMap[key] || (autoUrl.enabled ? `${autoUrl.baseUrl.replace(/\/$/,'')}/${slug(key)}/` : null);

  // Región "hoja": tiene geometría y no anida otros [id] distintos de sí
  const isLeafRegion = (el) => {
    const hasGeom = el.matches('path,polygon,polyline,rect,circle,ellipse') ||
                    el.querySelector('path,polygon,polyline,rect,circle,ellipse');
    if (!hasGeom) return false;
    const innerWithId = el.querySelectorAll('[id]');
    if (innerWithId.length === 0) return true;
    if (innerWithId.length === 1 && innerWithId[0] === el) return true;
    return true; // grupos con geometría sin otros ids también cuentan
  };

  // Llevar el nodo al tope visual (z-order)
  const bringToFront = (el) => {
    const svg = el.ownerSVGElement;
    if (svg && el.parentNode) el.parentNode.appendChild(el);
  };

  // Hover sync región ↔ bloques
  const setHover = (regionEl, blockEls, on) => {
    regionEl.classList.toggle('is-hover', !!on);
    blockEls.forEach(b => b.classList.toggle('is-hover', !!on));
    if (on) bringToFront(regionEl);
  };

  const makeRegionInteractive = (regionEl, key, url, blockEls) => {
    regionEl.classList.add('cr-region');
    regionEl.setAttribute('tabindex','0');
    regionEl.setAttribute('role','link');
    regionEl.setAttribute('aria-label', key.replace(/[_-]/g,' '));

    const go = (e) => {
      e.preventDefault();
      if (!url) return;
      if (e.metaKey || e.ctrlKey) window.open(url, '_blank');
      else window.location.href = url;
    };

    const over = () => setHover(regionEl, blockEls, true);
    const out  = () => setHover(regionEl, blockEls, false);

    regionEl.addEventListener('click', go);
    regionEl.addEventListener('keydown', e => {
      if (e.key === 'Enter' || e.key === ' ') go(e);
    });
    regionEl.addEventListener('mousedown', e => e.preventDefault());

    regionEl.addEventListener('mouseenter', over);
    regionEl.addEventListener('mouseleave', out);
    regionEl.addEventListener('focus', over, true);
    regionEl.addEventListener('blur', out, true);
    regionEl.addEventListener('touchstart', over, { passive: true });
    document.addEventListener('touchend', out, { passive: true });
  };

  const makeBlockInteractive = (blockEl, key, url, regionEl) => {
    // Asegura rol/tabindex en el bloque (aunque ya lo tengas en Bricks)
    blockEl.setAttribute('role','button');
    blockEl.setAttribute('tabindex','0');
    blockEl.setAttribute('aria-label', (blockEl.getAttribute('aria-label') || key).replace(/[_-]/g,' '));

    const go = (e) => {
      // Evita navegar si el click vino de un <a>
      if (e.target.closest('a')) return;
      e.preventDefault();
      if (!url) return;
      if (e.metaKey || e.ctrlKey) window.open(url, '_blank');
      else window.location.href = url;
    };

    const over = () => setHover(regionEl, [blockEl], true);
    const out  = () => setHover(regionEl, [blockEl], false);

    blockEl.addEventListener('click', go);
    blockEl.addEventListener('keydown', e => {
      if (e.key === 'Enter' || e.key === ' ') go(e);
    });

    blockEl.addEventListener('mouseenter', over);
    blockEl.addEventListener('mouseleave', out);
    blockEl.addEventListener('focus', over, true);
    blockEl.addEventListener('blur', out, true);
    blockEl.addEventListener('touchstart', over, { passive: true });
    document.addEventListener('touchend', out, { passive: true });
  };

  const activate = (svg) => {
    // Limpia clases previas
    svg.querySelectorAll('.cr-region').forEach(n => n.classList.remove('cr-region','is-hover'));

    const root = svg.querySelector('#MapaCR') || svg;

    // Candidatos con id (excluye contenedores)
    const candidates = [...root.querySelectorAll('[id]')].filter(n => !IGNORE.has(n.id));

    // Solo “hojas” con geometría
    const leaves = candidates.filter(isLeafRegion);

    // Mapa clave → región
    const regions = [];
    leaves.forEach(el => {
      const id = el.id;
      if (!id) return;
      const key = toKey(id);
      // Bloques que apuntan al mismo key
      const blockEls = [...document.querySelectorAll(`.region-link[data-target="${key}"]`)];
      if (blockEls.length === 0) return; // si no hay bloque, no enlazamos
      const url = urlFor(key);
      regions.push({ el, key, url, blocks: blockEls });
    });

    // Activa interactividad en ambos lados
    regions.forEach(({ el, key, url, blocks }) => {
      makeRegionInteractive(el, key, url, blocks);
      blocks.forEach(b => makeBlockInteractive(b, key, url, el));
    });
  };

  const boot = () => {
    const svg = document.querySelector('svg');
    if (svg) activate(svg);
  };

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', boot);
  } else {
    boot();
  }
})();

Coffee Regions

Discover the regions, producers, and regenerative practices behind our specialty coffees — where quality, soil health, and long-term resilience come together.

Where Climate, Soil and Culture Meet

Our coffee regions are defined not only by climate and geography, but by the way coffee is grown. Across diverse landscapes, our partner producers apply regenerative practices that restore soil health, strengthen biodiversity, and support resilient farming systems — creating the conditions for consistently high-quality specialty coffee over time.

Learn More About Regenerative Coffee

Costa Rica’s Coffee Regions

Each region tells a different story — where regenerative practices meet specialty coffee.

(() => {

  const IGNORE = new Set([
    'Capa_2','MapaCR','Regiones','Mapa_Base','SombraMapa','Base','Contorno'
  ]);

  // Si un ID/target no está mapeado, generamos /regiones/<slug>/
  const autoUrl = { enabled: true, baseUrl: '/coffee-region/' };
  const linkMap = {
    // 'norte': '/regiones/norte/',
    // 'perez_zeledon': '/regiones/perez-zeledon/',
  };

  // Utils
  const slug = s => String(s)
    .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
    .toLowerCase().replace(/[^a-z0-9]+/g,'-').replace(/(^-|-$)/g,'');

  const toKey = s => String(s)
    .normalize('NFD').replace(/[\u0300-\u036f]/g,'')
    .toLowerCase().replace(/[^a-z0-9]+/g,'_').replace(/(^_|_$)/g,'');

  const urlFor = key =>
    linkMap[key] || (autoUrl.enabled ? `${autoUrl.baseUrl.replace(/\/$/,'')}/${slug(key)}/` : null);

  // Región "hoja": tiene geometría y no anida otros [id] distintos de sí
  const isLeafRegion = (el) => {
    const hasGeom = el.matches('path,polygon,polyline,rect,circle,ellipse') ||
                    el.querySelector('path,polygon,polyline,rect,circle,ellipse');
    if (!hasGeom) return false;
    const innerWithId = el.querySelectorAll('[id]');
    if (innerWithId.length === 0) return true;
    if (innerWithId.length === 1 && innerWithId[0] === el) return true;
    return true; // grupos con geometría sin otros ids también cuentan
  };

  // Llevar el nodo al tope visual (z-order)
  const bringToFront = (el) => {
    const svg = el.ownerSVGElement;
    if (svg && el.parentNode) el.parentNode.appendChild(el);
  };

  // Hover sync región ↔ bloques
  const setHover = (regionEl, blockEls, on) => {
    regionEl.classList.toggle('is-hover', !!on);
    blockEls.forEach(b => b.classList.toggle('is-hover', !!on));
    if (on) bringToFront(regionEl);
  };

  const makeRegionInteractive = (regionEl, key, url, blockEls) => {
    regionEl.classList.add('cr-region');
    regionEl.setAttribute('tabindex','0');
    regionEl.setAttribute('role','link');
    regionEl.setAttribute('aria-label', key.replace(/[_-]/g,' '));

    const go = (e) => {
      e.preventDefault();
      if (!url) return;
      if (e.metaKey || e.ctrlKey) window.open(url, '_blank');
      else window.location.href = url;
    };

    const over = () => setHover(regionEl, blockEls, true);
    const out  = () => setHover(regionEl, blockEls, false);

    regionEl.addEventListener('click', go);
    regionEl.addEventListener('keydown', e => {
      if (e.key === 'Enter' || e.key === ' ') go(e);
    });
    regionEl.addEventListener('mousedown', e => e.preventDefault());

    regionEl.addEventListener('mouseenter', over);
    regionEl.addEventListener('mouseleave', out);
    regionEl.addEventListener('focus', over, true);
    regionEl.addEventListener('blur', out, true);
    regionEl.addEventListener('touchstart', over, { passive: true });
    document.addEventListener('touchend', out, { passive: true });
  };

  const makeBlockInteractive = (blockEl, key, url, regionEl) => {
    // Asegura rol/tabindex en el bloque (aunque ya lo tengas en Bricks)
    blockEl.setAttribute('role','button');
    blockEl.setAttribute('tabindex','0');
    blockEl.setAttribute('aria-label', (blockEl.getAttribute('aria-label') || key).replace(/[_-]/g,' '));

    const go = (e) => {
      // Evita navegar si el click vino de un <a>
      if (e.target.closest('a')) return;
      e.preventDefault();
      if (!url) return;
      if (e.metaKey || e.ctrlKey) window.open(url, '_blank');
      else window.location.href = url;
    };

    const over = () => setHover(regionEl, [blockEl], true);
    const out  = () => setHover(regionEl, [blockEl], false);

    blockEl.addEventListener('click', go);
    blockEl.addEventListener('keydown', e => {
      if (e.key === 'Enter' || e.key === ' ') go(e);
    });

    blockEl.addEventListener('mouseenter', over);
    blockEl.addEventListener('mouseleave', out);
    blockEl.addEventListener('focus', over, true);
    blockEl.addEventListener('blur', out, true);
    blockEl.addEventListener('touchstart', over, { passive: true });
    document.addEventListener('touchend', out, { passive: true });
  };

  const activate = (svg) => {
    // Limpia clases previas
    svg.querySelectorAll('.cr-region').forEach(n => n.classList.remove('cr-region','is-hover'));

    const root = svg.querySelector('#MapaCR') || svg;

    // Candidatos con id (excluye contenedores)
    const candidates = [...root.querySelectorAll('[id]')].filter(n => !IGNORE.has(n.id));

    // Solo “hojas” con geometría
    const leaves = candidates.filter(isLeafRegion);

    // Mapa clave → región
    const regions = [];
    leaves.forEach(el => {
      const id = el.id;
      if (!id) return;
      const key = toKey(id);
      // Bloques que apuntan al mismo key
      const blockEls = [...document.querySelectorAll(`.region-link[data-target="${key}"]`)];
      if (blockEls.length === 0) return; // si no hay bloque, no enlazamos
      const url = urlFor(key);
      regions.push({ el, key, url, blocks: blockEls });
    });

    // Activa interactividad en ambos lados
    regions.forEach(({ el, key, url, blocks }) => {
      makeRegionInteractive(el, key, url, blocks);
      blocks.forEach(b => makeBlockInteractive(b, key, url, el));
    });
  };

  const boot = () => {
    const svg = document.querySelector('svg');
    if (svg) activate(svg);
  };

  if (document.readyState === 'loading') {
    document.addEventListener('DOMContentLoaded', boot);
  } else {
    boot();
  }
})();
Pérez Zeledón Norte Coto Brus Turrialba West Central Los Santos

Meet Our Growers

Behind every bag of Buena Vida coffee are farmers committed to regeneration, community, and excellence.

Sixty years ago, Café Linaje was a conventional sugarcane farm in San Juan de Naranjo—hard to imagine given the thriving coffee ecosystem it is today under Jose Maria Viquez and his family's stewardship. Through agroforestry practices, they're harnessing rich volcanic soil to cultivate healthier, more resilient coffee with plants ranging from 2 to 25 years old creating a dynamic, balanced ecosystem. Last year alone they planted around 400 trees—including guava, corteza amarilla, aguacatillo, and cedar—enhancing biodiversity and reinforcing the benefits of shade-grown coffee. Their vision for coffee's future remains rooted in regeneration, resilience, and deep connection to the land.

Producing coffee since 1844, Finca Noble Esperanza continues to thrive under Francisco Echandi's stewardship as a model of regenerative excellence. Francisco's impact extends far beyond his farm—through a pioneering initiative with us at Buena Vida and the Bank of Costa Rica, he's helped create a program granting regenerative farmers access to low-interest development loans. By breaking down financial barriers, he's making it possible for more producers to adopt regenerative practices and build a stronger, more resilient future for Costa Rican agriculture. Each cup of Noble Esperanza coffee honors 180 years of tradition while paving the way for the future of regenerative coffee.

Javier Solis continues the vision started by his father at El Cedral, a family farm in Tarrazú where his grandfather was one of the founders of Coope Dota. At an impressive 2,000 to 2,200 meters, what was once cattle land has been transformed over 13 years with 500 shade trees planted in partnership with the National Electric Company and Higueria trees to protect coffee from fog. They're dedicated to high-quality Catuai and Geisha varieties that reflect the region's unique terroir, with exciting plans to open a coffee shop for growing local tourism and experiment with brewing beer from coffee fruit peel. Their journey demonstrates creative, soil-first innovation in high-altitude coffee production.

Named for the mists that shape its unique microclimate, Brumas del Zurquí is a family-owned farm near Braulio Carrillo National Park in Heredia province. Between 1,200 and 1,600 meters, rich volcanic soils and cool Central Valley temperatures create ideal conditions for exceptional Caturra and Catuai coffees that have earned international recognition. They've committed to regenerative agriculture over the past few years, using shade-grown techniques with native trees, intercropping with plantano and botón de oro to manage wind, and planting orange, citrus, and cypress. Their approach to water conservation, organic fertilization, and terrace plantings on steep mountainsides actively contributes to ecosystem regeneration while producing standout coffee.

Jenny and Matías Monge are the fourth-generation caretakers of Hacienda San Isidro Labrador in the Dota hills, continuing a legacy their father Johel shaped after an early injury led him from labor to education and innovation. This land has always been cared for regeneratively, planting native species like roble encino and guava for shade, and building a closed-loop system where all compost returns to the soil and plants are grown on-site. The farm spans 130 hectares of reserve and 25 hectares of coffee production under unified family management, with all four siblings actively involved in operations. Their El Cedro lot earned first place in the 2023 Cup of Excellence, a global recognition of their commitment to soil health, exceptional taste, and regenerative family tradition.

This fourth-generation family enterprise in Costa Rica's Brunca region began a thoughtful transition toward regenerative agriculture four years ago, integrating compost, managing native grasses intentionally, and shifting to manual practices that prioritize soil health. Pulp and cascara are no longer waste—they're treated and reused as compost or sent to processing plants, closing the loop on organic matter while coffee trees averaging 60 years are renewed based on performance. The family's deep agronomic knowledge guides over a decade of variety testing, working with regenerative agronomists and refining compost production for each lot's specific conditions. Their commitment extends beyond the farm to .

Ricardo Pérez and his daughter Marianna represent four generations of commitment to exceptional coffee at Finca Santa Lucía and Helsar de Zarcero in the West Valley. After two decades of organic certification, the family took a deeper regenerative path in 2015—gradually renewing plantings, adapting varieties, and applying their own compost. Their pioneering mill, founded in 2004, has reshaped Costa Rica's coffee landscape by supporting dozens of small producers, developing food-safe cascara with the University of Costa Rica, and experimenting with anaerobic and honey processes using slow dehumidifier drying. Together, Santa Lucía and Helsar redefine regenerative coffee by placing soil health, biodiversity, and cup quality at the center of everything they do.

Luis Anastasio Castro, known as "Tacho," carries forward a family legacy at Juanachute that has practiced regenerative methods for over 70 years—long before certification even existed. At 1,800 meters in Tarrazú, they produce their own bio-inputs and avoid synthetic chemicals, fostering healthy soil microbiology and nutrient cycling that ensure both exceptional coffee and farm resilience for future generations. The family's mastery spans multiple processing methods—Fully Washed, Honey, Natural, and Anaerobic—while also running a local roastery and coffee shop where Tacho's son mentors barista students and competes nationally. Their commitment to community, quality, and regeneration sets a standard for Costa Rican specialty coffee.

As fifth-generation coffee farmers, Francisca and Oscar at Finca Las Lajas demonstrate how soil health transforms into exceptional coffee through practices like planting native trees, maintaining soil cover, and working in harmony with solar and lunar cycles. After more than 20 years of USDA organic certification, they've deepened their focus on soil regeneration by increasing organic matter and biodiversity across their diverse specialty varieties and innovative processing methods. Their coffee represented Costa Rica in the 2024 World Barista Championship in Busan, Korea—a testament to quality built on regenerative foundations. This year's production offers

Roberto Mata and his grandson Erick represent six generations at Microbeneficio M y M in Tarrazú, earning Cup of Excellence honors in 2022, 2023, and 2024 while pioneering Costa Rica's specialty coffee movement. With over 50 years of experience, Roberto blends ancestral knowledge with forward-thinking practices—building homemade biochar systems, refining fermentation techniques, and creating coffees like Red and Black Honey SL28s and Geishas that reflect their dedication in every cup. The farm operates like a food forest, intercropped with banana, avocado, poró trees, and native grasses across their fields, creating biodiversity that improves soil structure and builds resilience without synthetic inputs. From planting to milling, they do it all themselves with a deeply collaborative ethos—Roberto knows real progress comes from shared innovation, fair pricing, and common respect for the earth.

Meet All Our Growers

From Soil to Cup

From cultivation to roasting, every step in Buena Vida’s coffee process respects nature’s rhythms.

Cultivation

Harvesting

Procesing

Roasting

Let’s Make It Special

Fill out the form and we'll get back to you shortly to confirm the details.