<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Mosaic Learning | Built for Labor Organizations</title>
    <meta name="description" content="Empowering unions with modern training, communication, and member engagement tools.">
    <link rel="canonical" href="https://www.mosaiclearning.com/">
    <link rel="icon" type="image/png" href="/assets/logos/favicon.png">
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@graph": [
        {
          "@type": "Organization",
          "@id": "https://www.mosaiclearning.com/#organization",
          "name": "Mosaic Learning",
          "url": "https://www.mosaiclearning.com",
          "logo": {
            "@type": "ImageObject",
            "url": "https://www.mosaiclearning.com/assets/logos/MosaicLearningLogo.png"
          },
          "sameAs": [ "https://www.linkedin.com/company/mosaiclearning" ]
        },
        {
          "@type": "WebSite",
          "@id": "https://www.mosaiclearning.com/#website",
          "url": "https://www.mosaiclearning.com",
          "name": "Mosaic Learning",
          "publisher": { "@id": "https://www.mosaiclearning.com/#organization" }
        }
      ]
    }
    </script>
    <link rel="stylesheet" href="/css/styles.css">
</head>
<body>

    <div id="announcement-bar"></div>
    <div id="site-header"></div>

    <!-- Hero Section -->
    <section class="hero hero-home">
        <div class="hero-bg" style="background-image:url('/assets/images/hero-bg.jpg');"></div>
        <div class="hero-overlay"></div>
        <div class="container hero-content">
            <h1>
                <span class="typewriter-line"><span id="typewriter"></span><span class="typewriter-cursor">|</span></span>
                <br>
                <span class="hero-bold">Built for Labor Organizations</span>
            </h1>
            <div class="hero-sub-row">
                <p class="hero-sub">Mosaic Learning is the #1 platform for organized labor. Shaped by decades of experience supporting unions, we've purpose-built one platform that brings training, member communications, and events together.</p>
            </div>
        </div>
        <div class="hero-gradient" aria-hidden="true"></div>
    </section>

    <!-- Introducing Forge -->
    <section class="forge-teaser" style="padding:48px 24px;background:#f8fafc;text-align:center;position:relative;">
        <div class="container" style="max-width:56rem;margin:0 auto;">
            <h2 style="font-size:clamp(2.25rem,5vw,3.75rem);font-weight:300;color:#0B3558;margin-bottom:20px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;">
                <span>Introducing</span>
                <img src="/assets/logos/forge-logo-full-color-horizontal.jpg" alt="Forge" style="height:clamp(2.5rem,4vw,3.5rem);width:auto;display:inline-block;mix-blend-mode:multiply;">
            </h2>
            <p style="font-size:clamp(1.125rem,2vw,1.25rem);color:#475569;max-width:48rem;margin:0 auto;line-height:1.625;">Our next-generation platform for unified training, communications, and events for labor organizations. Built on decades in the movement.</p>
        </div>
    </section>

    <!-- Why Unions Section -->
    <section class="why-section" id="why-section">
        <div class="container">
            <div class="section-header">
                <div style="width:48px;height:4px;background:#475569;border-radius:9999px;margin:0 auto 16px;"></div>
                <h2 style="font-weight: 600;">Why Unions Turn to Mosaic Learning</h2>
            </div>
            <div class="why-grid">
                <div class="why-card">
                    <div class="why-icon" style="background:rgba(234,88,12,0.6);color:#ffedd5;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"></path><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"></path></svg>
                    </div>
                    <h3>Evolving Training Methods</h3>
                    <p>Training models are at a turning point, with a growing opportunity to modernize approaches and better align with today's demand for skilled workers.</p>
                </div>
                <div class="why-card">
                    <div class="why-icon" style="background:rgba(37,99,235,0.6);color:#eff6ff;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><circle cx="9" cy="7" r="4"></circle><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><path d="M16 3.13a4 4 0 0 1 0 7.75"></path></svg>
                    </div>
                    <h3>Reconnecting Membership</h3>
                    <p>Membership engagement is ready for renewal, with the chance to strengthen communication and close the gap between leadership and members.</p>
                </div>
                <div class="why-card">
                    <div class="why-icon" style="background:rgba(217,119,6,0.6);color:#fffbeb;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="22 7 13.5 15.5 8.5 10.5 2 17"></polyline><polyline points="16 7 22 7 22 13"></polyline></svg>
                    </div>
                    <h3>Mobilizing for Greater Impact</h3>
                    <p>Collective action can achieve greater impact through improved coordination and momentum-building opportunities.</p>
                </div>
                <div class="why-card">
                    <div class="why-icon" style="background:rgba(61,90,58,0.6);color:#e3ebe1;">
                        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path><polyline points="14 2 14 8 20 8"></polyline><line x1="16" y1="13" x2="8" y2="13"></line><line x1="16" y1="17" x2="8" y2="17"></line><polyline points="10 9 9 9 8 9"></polyline></svg>
                    </div>
                    <h3>Reducing Paperwork</h3>
                    <p>Streamlining administration opens new capacity for organizing, advocacy, and building stronger membership.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Partners Section -->
    <section class="partners-section">
        <div class="container">
            <span class="section-label">Customers</span>
            <h2>Trusted by the North American Labor Movement</h2>
            <div class="marquee-wrapper">
                <div class="marquee-fade marquee-fade-left"></div>
                <div class="marquee-fade marquee-fade-right"></div>
                <div class="marquee-track">
                    <!-- Set A -->
                    <div class="partner-logo"><img src="/assets/logos/iupat-dc51.jpeg" alt="IUPAT DC51" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/ibew.png" alt="IBEW" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/teamsters.png" alt="Teamsters" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/ironworkers.png" alt="Ironworkers" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/united-rentals.png" alt="United Rentals" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/eta.png" alt="ETA" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/atu-689.webp" alt="ATU 689" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/plumbers-local-5.png" alt="Plumbers Local 5" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/nabtu.svg" alt="NABTU" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/atei.png" alt="ATEI" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/mid-america-carpenters.png" alt="Mid-America Carpenters" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/ubc.svg" alt="United Brotherhood of Carpenters" decoding="async"></div>
                    <div class="partner-logo"><img src="/assets/logos/iuec.webp" alt="IUEC" decoding="async"></div>
                    <!-- Set B — exact duplicate for seamless -50% loop -->
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/iupat-dc51.jpeg" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/ibew.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/teamsters.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/ironworkers.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/united-rentals.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/eta.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/atu-689.webp" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/plumbers-local-5.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/nabtu.svg" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/atei.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/mid-america-carpenters.png" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/ubc.svg" alt="" decoding="async"></div>
                    <div class="partner-logo" aria-hidden="true"><img src="/assets/logos/iuec.webp" alt="" decoding="async"></div>
                </div>
            </div>
        </div>
    </section>

    <!-- Testimonials Section -->
    <section class="testimonials-section">
        <div class="container testimonials-container">
            <span class="section-label">Testimonials</span>
            <h2>Hear From Our <strong>Customers</strong></h2>

            <div class="testimonial-carousel">
                <div class="testimonial-slide active" data-slide="0">
                    <div class="testimonial-card">
                        <svg class="testimonial-quote-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/></svg>
                        <blockquote>
                            <p>The virtual reality platform from Mosaic Learning provides an intuitive and engaging learning experience for our members. The knowledge retention results have exceeded our expectations.</p>
                        </blockquote>
                        <div class="testimonial-author">
                            <img src="/assets/logos/iupat-dc51.jpeg" alt="IUPAT DC51" class="testimonial-logo testimonial-logo-blend">
                            <strong>Brian Courtien</strong>
                            <span>IUPAT DC51</span>
                        </div>
                    </div>
                </div>

                <div class="testimonial-slide" data-slide="1">
                    <div class="testimonial-card">
                        <svg class="testimonial-quote-icon" viewBox="0 0 24 24" fill="currentColor"><path d="M14.017 21v-7.391c0-5.704 3.731-9.57 8.983-10.609l.995 2.151c-2.432.917-3.995 3.638-3.995 5.849h4v10h-9.983zm-14.017 0v-7.391c0-5.704 3.748-9.57 9-10.609l.996 2.151c-2.433.917-3.996 3.638-3.996 5.849h3.983v10h-9.983z"/></svg>
                        <blockquote>
                            <p>The Mosaic Learning mobile app made running our 2025 Convention smooth and stress-free. Our members could easily access schedules, resources, and updates right from their phones.</p>
                        </blockquote>
                        <div class="testimonial-author">
                            <img src="/assets/logos/usw.svg" alt="United Steelworkers" class="testimonial-logo">
                            <strong>Aaron Hudson</strong>
                            <span>United Steelworkers</span>
                        </div>
                    </div>
                </div>
            </div>

            <div class="testimonial-controls">
                <button class="testimonial-arrow testimonial-prev" aria-label="Previous testimonial">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"/></svg>
                </button>
                <div class="testimonial-dots">
                    <button class="testimonial-dot active" data-dot="0" aria-label="Testimonial 1"></button>
                    <button class="testimonial-dot" data-dot="1" aria-label="Testimonial 2"></button>
                </div>
                <button class="testimonial-arrow testimonial-next" aria-label="Next testimonial">
                    <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"/></svg>
                </button>
            </div>

        </div>
    </section>

    <!-- Platform Section -->
    <section class="platform-section">
        <div class="container">
            <span class="section-label">Platform</span>
            <h2>From internationals to locals, purpose-built for <strong>labor organizations</strong></h2>
            <div class="platform-tabs">
                <button class="tab-btn active" data-tab="education">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/></svg>
                    Education &amp; Training
                </button>
                <button class="tab-btn" data-tab="communications">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/></svg>
                    Communications &amp; Member Engagement
                </button>
                <button class="tab-btn" data-tab="events">
                    <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/></svg>
                    Event Management
                </button>
            </div>
            <div class="tab-panels">
                <!-- Education Tab -->
                <div class="tab-panel active" id="tab-education">
                    <div class="tab-content">
                        <div class="tab-text">
                            <h3>Education &amp; Training</h3>
                            <p>Competency-based learning keeps the pipeline of skilled workers moving. By delivering hybrid training models with Mosaic Learning, unions save time, reduce manual processes, and ensure members are job-ready without unnecessary delays.</p>
                            <ul class="feature-list">
                                <li><span class="check">&#10003;</span> Virtual reality training modules</li>
                                <li><span class="check">&#10003;</span> Competency tracking &amp; certifications</li>
                                <li><span class="check">&#10003;</span> Hybrid learning experiences</li>
                                <li><span class="check">&#10003;</span> Progress analytics &amp; reporting</li>
                            </ul>
                        </div>
                        <div class="tab-image-wrapper">
                            <div class="tab-image">
                                <img src="/assets/images/datacenter-hero.png" alt="Education & Training">
                                <div class="tab-image-overlay"></div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- Communications Tab -->
                <div class="tab-panel" id="tab-communications">
                    <div class="tab-content">
                        <div class="tab-text">
                            <h3>Communications &amp; Member Engagement</h3>
                            <p>From political rallies to contract ratifications, unions need every member on the same page. With the ability to deliver critical updates instantly, streamline grievance tracking, and accept in-app dues payments, unions save valuable time and resources.</p>
                            <ul class="feature-list">
                                <li><span class="check">&#10003;</span> Instant push notifications</li>
                                <li><span class="check">&#10003;</span> Grievance tracking system</li>
                                <li><span class="check">&#10003;</span> In-app dues payments</li>
                                <li><span class="check">&#10003;</span> Member directory &amp; messaging</li>
                            </ul>
                        </div>
                        <div class="tab-image-wrapper">
                            <div class="tab-image">
                                <img src="/assets/images/combobulate-hero.jpg" alt="Communications & Member Engagement">
                                <div class="tab-image-overlay"></div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- Events Tab -->
                <div class="tab-panel" id="tab-events">
                    <div class="tab-content">
                        <div class="tab-text">
                            <h3>Event Management</h3>
                            <p>Whether it&rsquo;s a union meeting, training, or conference, successful events require seamless organization. Mosaic Learning brings scheduling, messaging, and updates together, making it easier to mobilize members and deliver powerful experiences.</p>
                            <ul class="feature-list">
                                <li><span class="check">&#10003;</span> Event scheduling &amp; RSVPs</li>
                                <li><span class="check">&#10003;</span> Attendee management</li>
                                <li><span class="check">&#10003;</span> Real-time updates</li>
                                <li><span class="check">&#10003;</span> Post-event analytics</li>
                            </ul>
                        </div>
                        <div class="tab-image-wrapper">
                            <div class="tab-image">
                                <img src="/assets/images/events-hero.png" alt="Event Management">
                                <div class="tab-image-overlay"></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <div id="site-cta"></div>

    <div id="site-footer"></div>

    <script src="/js/components.js"></script>
    <script src="/js/main.js"></script>
</body>
</html>
