<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png" />
    <meta name="author" content="Katapult Foundation" />
    <!-- Font preconnect + stylesheet (moved from CSS @import for earlier discovery) -->
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="preconnect" href="https://res.cloudinary.com" />
    <link rel="dns-prefetch" href="https://res.cloudinary.com" />
    <!-- Font preload: Latin subset only (eliminates FOIT for above-fold text) -->
    <link rel="preload" href="https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfAZ9hiJ-Ek-_EeA.woff2" as="font" type="font/woff2" crossorigin />
    <link rel="preload" href="https://fonts.gstatic.com/s/spacegrotesk/v22/V8mQoQDjQSkFtoMM3T6r8E7mF71Q-gOoraIAEj4PVnskPMBBSSJLm2E.woff2" as="font" type="font/woff2" crossorigin />
    <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@400;500;600;700&display=swap" />
    <title>Katapult Future Fest 2026</title>
    <meta name="description" content="An impact-focused festival in Amsterdam. Three days of ideas, art, and action for a thriving planet. May 27-29, 2026." />
    <!-- Open Graph -->
    <meta property="og:type" content="website" />
    <meta property="og:title" content="Katapult Future Fest 2026" />
    <meta property="og:description" content="An impact-focused festival in Amsterdam. Three days of ideas, art, and action for a thriving planet. May 27-29, 2026." />
    <meta property="og:image" content="https://katapultfuturefest.com/images/og-image.png" />
    <meta property="og:image:width" content="1920" />
    <meta property="og:image:height" content="1080" />
    <meta property="og:url" content="https://katapultfuturefest.com" />
    <meta property="og:site_name" content="Katapult Future Fest" />
    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="Katapult Future Fest 2026" />
    <meta name="twitter:description" content="An impact-focused festival in Amsterdam. Three days of ideas, art, and action for a thriving planet. May 27-29, 2026." />
    <meta name="twitter:image" content="https://katapultfuturefest.com/images/og-image.png" />
    <!-- Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-Z0M43CVPFT"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());
      gtag('config', 'G-Z0M43CVPFT');
    </script>
    <script type="module" crossorigin src="/assets/index-BRifF46F.js"></script>
    <link rel="stylesheet" crossorigin href="/assets/index-BYJaYEfo.css">
    <link rel="sitemap" type="application/xml" title="Sitemap" href="/sitemap.xml">
  </head>

  <body>
    <div id="root"><!--ssr-outlet--></div>
    <template id="static-shell">
      <div style="min-height:100vh;background:#1a1a1a;display:flex;align-items:center;justify-content:center">
        <style>
          @keyframes shell-m0{0%,100%{transform:translate(0,0) scale(1);border-radius:0}25%{transform:translate(20px,-20px) scale(1.2);border-radius:50%}50%{transform:translate(40px,0) scale(.8);border-radius:25%}75%{transform:translate(20px,20px) scale(1.1);border-radius:75%}}
          @keyframes shell-m1{0%,100%{transform:translate(0,0) scale(1) rotate(0);border-radius:0}25%{transform:translate(-20px,-20px) scale(1.3) rotate(90deg);border-radius:50%}50%{transform:translate(-40px,0) scale(.7) rotate(180deg);border-radius:25%}75%{transform:translate(-20px,20px) scale(1.2) rotate(270deg);border-radius:75%}}
          @keyframes shell-m2{0%,100%{transform:translate(0,0) scale(1);border-radius:0}25%{transform:translate(-20px,20px) scale(.9);border-radius:100%}50%{transform:translate(0,40px) scale(1.4);border-radius:0}75%{transform:translate(20px,20px) scale(.8);border-radius:50%}}
          @keyframes shell-m3{0%,100%{transform:translate(0,0) scale(1) rotate(0);border-radius:0}25%{transform:translate(20px,20px) scale(1.1) rotate(-90deg);border-radius:25%}50%{transform:translate(0,-40px) scale(1.3) rotate(-180deg);border-radius:100%}75%{transform:translate(-20px,-20px) scale(.9) rotate(-270deg);border-radius:75%}}
        </style>
        <div style="position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center">
          <div style="position:absolute;width:16px;height:16px;background:#FF5132;animation:shell-m0 2s infinite ease-in-out"></div>
          <div style="position:absolute;width:16px;height:16px;background:#FFA6BF;animation:shell-m1 2s infinite ease-in-out .2s"></div>
          <div style="position:absolute;width:16px;height:16px;background:#6CB7EF;animation:shell-m2 2s infinite ease-in-out .4s"></div>
          <div style="position:absolute;width:16px;height:16px;background:#A7E4D9;animation:shell-m3 2s infinite ease-in-out .6s"></div>
        </div>
      </div>
    </template>
    <script>
      (function() {
        var r = document.getElementById('root');
        var t = document.getElementById('static-shell');
        if (r && t && !r.dataset.ssr) {
          r.appendChild(t.content.cloneNode(true));
        }
      })();
    </script>
  </body>
</html>
