<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />

    <title>Buy Real Amazon Trees Online | 34Life NFT Reforestation</title>
    <meta name="description" content="Own a real Amazon tree with GPS tracking and blockchain proof. Earn carbon credits, support reforestation, make verifiable climate impact." />
    <meta name="keywords" content="buy a tree online, amazon rainforest tree, carbon offset, carbon credits, reforestation investment, sustainable investment, climate action, ESG, green NFT, plant a tree" />
    <link rel="canonical" href="https://34life.org/en" />
    <link rel="alternate" hreflang="en" href="https://34life.org/en" />
    <link rel="alternate" hreflang="en-US" href="https://34life.org/en" />
    <link rel="alternate" hreflang="en-GB" href="https://34life.org/en" />
    <link rel="alternate" hreflang="en-CA" href="https://34life.org/en" />
    <link rel="alternate" hreflang="en-AU" href="https://34life.org/en" />
    <link rel="alternate" hreflang="de" href="https://34life.org/de" />
    <link rel="alternate" hreflang="de-DE" href="https://34life.org/de" />
    <link rel="alternate" hreflang="de-AT" href="https://34life.org/de" />
    <link rel="alternate" hreflang="de-CH" href="https://34life.org/de" />
    <link rel="alternate" hreflang="fr" href="https://34life.org/fr" />
    <link rel="alternate" hreflang="fr-FR" href="https://34life.org/fr" />
    <link rel="alternate" hreflang="fr-BE" href="https://34life.org/fr" />
    <link rel="alternate" hreflang="fr-CH" href="https://34life.org/fr" />
    <link rel="alternate" hreflang="fr-CA" href="https://34life.org/fr" />
    <link rel="alternate" hreflang="es" href="https://34life.org/es" />
    <link rel="alternate" hreflang="es-ES" href="https://34life.org/es" />
    <link rel="alternate" hreflang="es-MX" href="https://34life.org/es" />
    <link rel="alternate" hreflang="es-AR" href="https://34life.org/es" />
    <link rel="alternate" hreflang="es-CO" href="https://34life.org/es" />
    <link rel="alternate" hreflang="pt" href="https://34life.org/pt-br" />
    <link rel="alternate" hreflang="pt-BR" href="https://34life.org/pt-br" />
    <link rel="alternate" hreflang="pt-PT" href="https://34life.org/pt-br" />
    <link rel="alternate" hreflang="x-default" href="https://34life.org/en" />
    <meta property="og:type" content="website" />
    <meta property="og:site_name" content="34Life" />
    <meta property="og:url" content="https://34life.org/en" />
    <meta property="og:title" content="Buy Real Amazon Trees Online | 34Life NFT Reforestation" />
    <meta property="og:description" content="Own a real Amazon tree with GPS tracking and blockchain proof. Earn carbon credits, support reforestation, make verifiable climate impact." />
    <meta property="og:image" content="https://34life.org/og/og-en.jpg" />
    <meta property="og:image:width" content="1200" />
    <meta property="og:image:height" content="630" />
    <meta property="og:locale" content="en_US" />
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="Buy Real Amazon Trees Online | 34Life NFT Reforestation" />
    <meta name="twitter:description" content="Own a real Amazon tree with GPS tracking and blockchain proof. Earn carbon credits, support reforestation, make verifiable climate impact." />
    <meta name="twitter:image" content="https://34life.org/og/og-en.jpg" />
    <meta name="prerendered-lang" content="en" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <!-- Set <html lang> from URL prefix BEFORE React mounts so crawlers and a11y
         tooling see the correct language on first paint. Also redirect non-prefixed
         paths to the user's preferred language so each indexed URL is unique. -->
    <script>
      (function () {
        try {
          var SUPPORTED = ['en', 'pt-br', 'es', 'de', 'fr'];
          var LANG_BY_SLUG = { 'en': 'en', 'pt-br': 'pt-BR', 'es': 'es', 'de': 'de', 'fr': 'fr' };
          var path = window.location.pathname || '/';
          var first = path.split('/')[1] ? path.split('/')[1].toLowerCase() : '';
          if (SUPPORTED.indexOf(first) >= 0) {
            document.documentElement.lang = LANG_BY_SLUG[first];
            // Persist so i18next picks it up immediately on this and future loads.
            try {
              var langForStore = LANG_BY_SLUG[first];
              if (localStorage.getItem('i18nextLng') !== langForStore) {
                localStorage.setItem('i18nextLng', langForStore);
              }
            } catch (e) { /* ignore */ }
            return;
          }
          // Skip redirect for asset-like paths and known non-localized routes
          if (/\.[a-z0-9]+$/i.test(path)) return;
          if (path.indexOf('/auth') === 0) return;
          if (path.indexOf('/verify-nftree/') === 0) return;
          if (path.indexOf('/admin') === 0) return;
          // Resolve preferred slug
          var slug = 'en';
          try {
            var stored = localStorage.getItem('i18nextLng');
            if (stored) {
              var map = { 'en': 'en', 'pt-BR': 'pt-br', 'es': 'es', 'de': 'de', 'fr': 'fr' };
              if (map[stored]) slug = map[stored];
            } else {
              var nav = (navigator.language || 'en').toLowerCase();
              if (nav.indexOf('pt') === 0) slug = 'pt-br';
              else if (nav.indexOf('es') === 0) slug = 'es';
              else if (nav.indexOf('de') === 0) slug = 'de';
              else if (nav.indexOf('fr') === 0) slug = 'fr';
            }
          } catch (e) { /* ignore */ }
          document.documentElement.lang = LANG_BY_SLUG[slug];
          try {
            localStorage.setItem('i18nextLng', LANG_BY_SLUG[slug]);
          } catch (e) { /* ignore */ }
          var target = '/' + slug + (path === '/' ? '' : path) + (window.location.search || '') + (window.location.hash || '');
          window.location.replace(target);
        } catch (e) { /* fail open */ }
      })();
    </script>

    <!-- Preconnect for performance -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="preconnect" href="https://tjqjdmbbrgnjymtzktaw.supabase.co" />
    <link rel="preconnect" href="https://images.unsplash.com" crossorigin />
    <link rel="dns-prefetch" href="https://images.unsplash.com" />
    <link rel="dns-prefetch" href="https://cdn.gpteng.co" />

    <!-- Preload the LCP-critical hero font so first paint isn't FOUT-blocked.
         Inter is loaded by Google Fonts; preconnect above already opens the
         TLS handshake. We add a stylesheet preload for the @font-face CSS so
         the browser parses it ASAP. -->
    <link
      rel="preload"
      as="style"
      href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap"
      onload="this.onload=null;this.rel='stylesheet'"
    />
    <noscript>
      <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" />
    </noscript>

    <!-- Neutral fallback only. All page-specific SEO (title, description,
         canonical, hreflang, OG/Twitter, geo, JSON-LD) is injected per-route by
         src/components/SEO.tsx via react-helmet-async. -->
    
    
    <meta name="author" content="34Life" />
    <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
    <meta name="googlebot" content="index, follow, max-image-preview:large" />
    <meta name="referrer" content="strict-origin-when-cross-origin" />
    <meta name="format-detection" content="telephone=no" />

    <!-- Google Search Console verification -->
    <meta name="google-site-verification" content="UqGD9DbqlX2tSUOL5V0hAdqyvjQnMI_cth8gGtwHXdk" />

    <!-- PWA -->
    <meta name="theme-color" content="#22c55e" media="(prefers-color-scheme: light)" />
    <meta name="theme-color" content="#0b3a1f" media="(prefers-color-scheme: dark)" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="default" />
    <meta name="apple-mobile-web-app-title" content="34Life" />
    <meta name="mobile-web-app-capable" content="yes" />
    <meta name="application-name" content="34Life" />
    <meta name="msapplication-TileColor" content="#22c55e" />

    <!-- Static Open Graph / Twitter fallbacks for non-JS social crawlers
         (LinkedIn, Slack, Facebook, WhatsApp). Per-route SEO component
         overrides these for JS-executing crawlers like Googlebot. -->
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    <!-- Favicon and Icons -->
    <link rel="icon" type="image/png" href="/logo.png" />
    <link rel="apple-touch-icon" sizes="180x180" href="/pwa-192x192.png" />
    <link rel="manifest" href="/manifest.json" />

    <!-- Single Organization JSON-LD (language-agnostic anchor). All other
         schemas (WebSite, BreadcrumbList, Product, FAQPage, LocalBusiness)
         are emitted per-route in localized form by src/components/SEO.tsx. -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "34Life",
      "alternateName": "Tree for Life",
      "url": "https://34life.org",
      "logo": "https://34life.org/logo.png",
      "foundingDate": "2024",
      "sameAs": [],
      "contactPoint": {
        "@type": "ContactPoint",
        "email": "34life@34life.org",
        "contactType": "customer service",
        "availableLanguage": ["English", "Portuguese", "Spanish", "German", "French"]
      }
    }
    </script>
    <script type="module" crossorigin src="/assets/index-Cx_cAc8h.js"></script>
    <link rel="modulepreload" crossorigin href="/assets/react-vendor-Xdw2mV8H.js">
    <link rel="modulepreload" crossorigin href="/assets/query-vendor-DQZAAw7m.js">
    <link rel="modulepreload" crossorigin href="/assets/supabase-vendor-MEHSyf2E.js">
    <link rel="modulepreload" crossorigin href="/assets/i18n-vendor-BqH68rRU.js">
    <link rel="modulepreload" crossorigin href="/assets/helmet-vendor-0VBfCjmx.js">
    <link rel="stylesheet" crossorigin href="/assets/index-D4KloQD_.css">
  <script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script><script defer src="/__l5e/events.js" data-artifact-kind="preview_commit_sha" data-artifact-id="1c6c5dfec3709a661d60dedb87d2d961d9e23a58" data-commit-sha="1c6c5dfec3709a661d60dedb87d2d961d9e23a58" data-context-token="v1.eyJwcm9qZWN0X2lkIjoiYjVhM2U4NWQtODZmMC00Y2IwLTg5MmEtNDFhNmUxNzJmZjlhIiwiYXJ0aWZhY3Rfa2luZCI6InByZXZpZXdfY29tbWl0X3NoYSIsImFydGlmYWN0X2lkIjoiMWM2YzVkZmVjMzcwOWE2NjFkNjBkZWRiODdkMmQ5NjFkOWUyM2E1OCIsImNvbW1pdF9zaGEiOiIxYzZjNWRmZWMzNzA5YTY2MWQ2MGRlZGI4N2QyZDk2MWQ5ZTIzYTU4IiwiZXhwIjoxNzgwOTk2MDgyfQ.dcdfxCfWN79qqE0i1szTVraeKcRmbZtXCTBKPEUaoqI" data-replay="rrweb" data-replay-sample-rate="0.001" data-replay-url="/__l5e/replay" data-replay-script-url="/__l5e/rrweb-record.js?__l5e_v=0.1.1-replay-recorder-fix"></script></head>

  <body>
    <div id="root"></div>
    <!-- IMPORTANT: DO NOT REMOVE THIS SCRIPT TAG OR THIS VERY COMMENT! -->
    
  </body>
</html>
