<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Lauren Magers - The Happy Life System | Transform Your Parenting</title>
    <meta name="author" content="Lauren Magers" />

    <!-- Favicon -->
    <link rel="icon" type="image/x-icon" href="/favicon.ico" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
    <link rel="manifest" href="/site.webmanifest" />

    <!-- Google Analytics - Ultra-lazy loading for optimal performance -->
    <script>
      (function() {
        var gaLoaded = false;
        
        function loadGA() {
          if (gaLoaded) return;
          gaLoaded = true;
          
          // Load GA script
          var script = document.createElement('script');
          script.async = true;
          script.src = 'https://www.googletagmanager.com/gtag/js?id=G-R7XX0NEK3Y';
          document.head.appendChild(script);
          
          // Initialize GA after script loads
          script.onload = function() {
            window.dataLayer = window.dataLayer || [];
            function gtag(){dataLayer.push(arguments);}
            window.gtag = gtag;
            gtag('js', new Date());
            gtag('config', 'G-R7XX0NEK3Y');
          };
        }
        
        // Load GA only when user interacts or after significant delay
        var interactionEvents = ['click', 'scroll', 'keydown', 'touchstart'];
        var timeoutId;
        
        function onInteraction() {
          clearTimeout(timeoutId);
          interactionEvents.forEach(function(event) {
            document.removeEventListener(event, onInteraction, { passive: true });
          });
          loadGA();
        }
        
        // Add interaction listeners
        interactionEvents.forEach(function(event) {
          document.addEventListener(event, onInteraction, { passive: true });
        });
        
        // Fallback: Load after 5 seconds if no interaction
        window.addEventListener('load', function() {
          timeoutId = setTimeout(loadGA, 5000);
        });
      })();
    </script>

    <!-- Microsoft Clarity (deferred until after page load) -->
    <script type="text/javascript">
      window.addEventListener('load', function() {
        setTimeout(function() {
          (function(c,l,a,r,i,t,y){
              c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
              t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
              y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
          })(window, document, "clarity", "script", "v2i0sed53d");
        }, 2000);
      });
    </script>

    <!-- DNS prefetch and preconnect (max 3 preconnects for critical origins) -->
    <link rel="preconnect" href="https://res.cloudinary.com" />
    <link rel="preconnect" href="https://fonts.googleapis.com" />
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
    <link rel="dns-prefetch" href="https://www.googletagmanager.com" />
    <link rel="dns-prefetch" href="https://www.clarity.ms" />

    <!-- 2026 Design System Fonts (async-loaded to avoid render blocking) -->
    <link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
    <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
    <link href="https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">

    <!-- Legacy fonts (lazy-loaded to avoid render blocking) -->
    <link href="https://fonts.googleapis.com/css2?family=Pacifico&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
    <link href="https://fonts.googleapis.com/css2?family=Oswald:wght@400;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
    <link href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">
    <link href="https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap" rel="stylesheet" media="print" onload="this.media='all'">

    <!-- Preload critical font files for fastest render -->
    <link
      rel="preload"
      href="/fonts/bebas-neue.woff2"
      as="font"
      type="font/woff2"
      crossorigin
    />
    <link
      rel="preload"
      href="/fonts/inter.woff2"
      as="font"
      type="font/woff2"
      crossorigin
    />

    <!-- Preload hero video poster for faster LCP -->
    <link
      rel="preload"
      as="image"
      fetchpriority="high"
      href="https://res.cloudinary.com/dt8sh7lyk/video/upload/f_auto,q_auto:eco,w_320,so_0/v1773288218/NEW_LIVE-EVENT_Page_Hero_Section_Video_Lauren_irchg4.jpg"
    />

    <!-- Fonts are now self-hosted in /public/fonts/ for instant loading -->

    <!-- React is now bundled normally with Vite -->

    <!-- Tally widget script is now loaded dynamically on demand via useTallyWidget hook -->

    <!-- Tally widget script removed - now loaded lazily on demand -->


    <!-- Removed problematic preloads to eliminate warnings -->

    <!-- Critical CSS for above-the-fold content - Optimized for LCP -->
    <style>@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400 700;src:url(/fonts/inter.woff2) format("woff2")}@font-face{font-display:swap;font-family:Bebas Neue;font-style:normal;font-weight:400;src:url(/fonts/bebas-neue.woff2) format("woff2")}:root{--lauren-dark:#393838;--lauren-yellow:#f9fe1c;--lauren-light:#f8f9fa;--color-black:#000;--color-white:#fff;--color-cream:#f5e6d3;--color-tan:#e8d4c4;--color-yellow:#ffe135;--color-gold:#d4a534;--color-gray-light:#f5f5f5;--color-gray-medium:#666;--color-gray-dark:#333;--color-border:#e5e5e5;--font-heading:"Playfair Display",Georgia,serif;--font-script:"Dancing Script",cursive;--font-body:"Poppins",sans-serif;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026}*{box-sizing:border-box;padding:0}*,body{margin:0}body{background:#fff;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}.hero-container,.hero-image-container,.hero-text-container{contain:layout style paint}.font-heading{font-family:var(--font-heading)}.font-script{font-family:var(--font-script)}.font-body{font-family:var(--font-body)}.font-playfair{font-family:Playfair Display,Georgia,serif}.font-poppins{font-family:Poppins,sans-serif}.font-dancing{font-family:Dancing Script,cursive}.font-bebas{font-family:Bebas Neue,system-ui,sans-serif}.font-inter{font-family:Inter,system-ui,sans-serif}.flex{display:flex}.grid{display:grid}.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.overflow-hidden{overflow:hidden}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.top-0{top:0}.z-\[1000\]{z-index:1000}.h-\[60px\]{height:60px}.max-w-\[1400px\]{max-width:1400px}.bg-gray-dark{background-color:#333}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-8{gap:2rem}.order-1{order:1}.order-2{order:2}.py-12{padding-bottom:3rem;padding-top:3rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.max-w-6xl{max-width:72rem}.mx-auto{margin-left:auto;margin-right:auto}.max-w-\[280px\]{max-width:280px}.aspect-\[9\/16\]{aspect-ratio:9/16}.rounded-2xl{border-radius:1rem}.bg-black{background-color:#000}.bg-white{background-color:#fff}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-\[\#F8F6F3\]{--tw-gradient-from:#f8f6f3;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,#0000)}.via-gray-light{--tw-gradient-stops:var(--tw-gradient-from),#f5f5f5,var(--tw-gradient-to,#0000)}.to-\[\#E8E4DF\]{--tw-gradient-to:#e8e4df}.inset-0{bottom:0;left:0;right:0;top:0}.z-0{z-index:0}.z-10{z-index:10}.text-white{color:#fff}.text-black{color:#000}.text-gray-dark{color:#333}.text-yellow{color:#ffe135}.bg-yellow{background-color:#ffe135}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.object-cover{object-fit:cover}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.tracking-widest{letter-spacing:.1em}.text-center{text-align:center}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a}@media (min-width:1024px){.lg\:flex{display:flex}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:gap-12{gap:3rem}.lg\:order-1{order:1}.lg\:order-2{order:2}.lg\:text-left{text-align:left}.lg\:justify-start{justify-content:flex-start}.lg\:justify-end{justify-content:flex-end}.lg\:py-20{padding-bottom:5rem;padding-top:5rem}.lg\:text-5xl{font-size:3rem;line-height:1}}@media (min-width:768px){.md\:max-w-\[320px\]{max-width:320px}.md\:py-16{padding-bottom:4rem;padding-top:4rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.h-70vh{height:70vh}.pt-16{padding-top:4rem}}@media (min-width:769px){.md-h-55vh{height:55vh}.md-text-6xl{font-size:3.75rem;line-height:1}.lg-h-16{height:4rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{opacity:0;transform:translateY(20px)}.animate-fade-in-up.animate-visible{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-scale{opacity:0;transform:scale(.95)}.animate-fade-in-scale.animate-visible{animation:fadeInScale .6s ease-out forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}@media (prefers-reduced-motion:reduce){.animate-fade-in-scale,.animate-fade-in-up{animation:none!important;opacity:1!important;transform:none!important}}</style>


    <!-- Fallback for fonts -->
    <noscript>
      <link
        rel="stylesheet"
        href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap"
      />
      <link
        rel="stylesheet"
        href="https://fonts.googleapis.com/css2?family=Bebas+Neue&display=swap"
      />
    </noscript>

    <script type="module" crossorigin src="/index-_v5d3zMW.js"></script>
    <link rel="modulepreload" crossorigin href="/vendor-lucide-CpeoQ4jF.js">
    <link rel="preload" as="style" href="/index-BDoo_DCI.css" onload="this.onload=null;this.rel='stylesheet'" crossorigin>
    <noscript><link rel="stylesheet" crossorigin href="/index-BDoo_DCI.css"></noscript>
  </head>
  <body>
    <!-- Removed hidden LCP images - using preload links instead -->

    <!-- Hidden Netlify Forms for React/SPA compatibility -->
    <!-- These forms are required for Netlify to detect forms at build time -->
    <form hidden method='post' name='level2-application'>
      <input type="text" name="firstName" />
      <input type="text" name="lastName" />
      <input type="email" name="email" />
      <input type="tel" name="phone" />
      <input type="text" name="country" />
      <input type="hidden" name="applicationLevel" value="level2" />
      <input type="hidden" name="form-name" value="level2-application" />
    </form>

    <form hidden method='post' name='level3-application'>
      <input type="text" name="firstName" />
      <input type="text" name="lastName" />
      <input type="email" name="email" />
      <input type="tel" name="phone" />
      <input type="text" name="country" />
      <input type="hidden" name="applicationLevel" value="level3" />
      <input type="hidden" name="form-name" value="level3-application" />
    </form>

    <form hidden method='post' name='free-mastermind-call'>
      <input type="text" name="firstName" />
      <input type="text" name="lastName" />
      <input type="email" name="email" />
      <input type="tel" name="phone" />
      <textarea name="message"></textarea>
      <input type="hidden" name="form-name" value="free-mastermind-call" />
    </form>

    <form hidden method='post' name='fun-newsletter'>
      <input type="text" name="firstName" />
      <input type="email" name="email" />
      <input type="tel" name="phone" />
      <input type="hidden" name="form-name" value="fun-newsletter" />
    </form>

    <div id="root"></div>

    <!-- CSS Loading Optimization -->
    <script>
      // Optimize CSS loading to prevent render blocking
      (function () {
        // Function to load CSS asynchronously
        function loadCSS(href) {
          const link = document.createElement("link");
          link.rel = "stylesheet";
          link.href = href;
          link.media = "print";
          link.onload = function () {
            this.media = "all";
          };
          document.head.appendChild(link);
        }

        // Load non-critical CSS after page load
        window.addEventListener("load", function () {
          // Load any additional CSS files here if needed
          // loadCSS('/path/to/non-critical.css');
        });

        // Service Worker temporarily disabled to fix Netlify deployment issues
        // Clear any existing Service Worker registrations and caches
        if ("serviceWorker" in navigator) {
          navigator.serviceWorker.getRegistrations().then(function(registrations) {
            for (let registration of registrations) {
              registration.unregister();
              console.log("ServiceWorker unregistered");
            }
          });
          
          // Clear caches
          if ("caches" in window) {
            caches.keys().then(function(cacheNames) {
              return Promise.all(
                cacheNames.map(function(cacheName) {
                  console.log("Deleting cache:", cacheName);
                  return caches.delete(cacheName);
                })
              );
            });
          }
        }
        console.log("ServiceWorker and caches cleared");
      })();
    </script>
  
<script async id="netlify-rum-container" src="/.netlify/scripts/rum" data-netlify-rum-site-id="e1721e5c-ea3b-4fe3-b020-903a286d3fdc" data-netlify-deploy-branch="main" data-netlify-deploy-context="production" data-netlify-cwv-token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzaXRlX2lkIjoiZTE3MjFlNWMtZWEzYi00ZmUzLWIwMjAtOTAzYTI4NmQzZmRjIiwiYWNjb3VudF9pZCI6IjY3YjQyOWU1NGZmZGUyZmE0MWY4NmQzZiIsImRlcGxveV9pZCI6IjY5YmRhZTlhODFiMWU5MDAwOGM0NWRkZSIsImlzc3VlciI6Im5mc2VydmVyIn0.VAz3r7mMmq8x2VJ2fQ62KSaMCvJlBhT7F_EbWwlejqc"></script></body>
</html>
