<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
	<meta name="apple-itunes-app" content="app-id=6759625108">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>10steps Sg</title>
    <meta name="description" content="Discover more about 10steps Sg.">
	
    <!-- ================================================== -->
    <!-- START: SEO and Language Tags                       -->
    <!-- ================================================== -->

    <link rel="canonical" href="https://10steps.sg/" />

    
    <link rel="alternate" hreflang="x-default" href="https://10steps.sg/" />

    
    
    <!-- ================================================== -->
    <!-- END: SEO and Language Tags                         -->
    <!-- ================================================== -->
	
    
    

    
    
    
    <!-- Dynamic Favicon Logic -->
    
            <link rel="icon" href="https://10steps.sg/static/favicons/10steps.sg.ico">
    

    <style>
        /* --- General & Responsive Setup --- */
        /* 1. THE CRITICAL FIX: Add this block */
        *, *::before, *::after {
            box-sizing: border-box;
        }
		
        :root {
            --primary-color: #007bff;
            --primary-hover: #0056b3;
            --text-color: #333;
            --border-color: #e0e0e0;
            --background-color: #fff;
            --footer-bg: #222;
            --footer-text: #ddd;
        }
		
        /* 2. THE MEDIA FIX: Add this block */
        img, video, iframe, svg {
            max-width: 100%;
            height: auto;
        }
		
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: var(--background-color);
            color: var(--text-color);
            line-height: 1.6;
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 15px;
        }

        /* --- Header --- */
        .main-header {
            background-color: #000;
            color: #fff;
            padding: 0;
            position: relative; 
            z-index: 1000;
        }
        .main-header .container {
            display: flex;
            align-items: center;
            justify-content: space-between; 
            min-height: 60px; 
        }
        
        .header-brand-container {
            display: flex;
            align-items: center;
            flex-shrink: 0; /* Prevents logo from shrinking */
            margin-right: 20px;
            max-width: 250px; /* Limit logo width so it doesn't eat menu space */
        }

        .header-brand {
            font-size: 1.25rem;
            font-weight: bold;
            text-decoration: none;
            color: #fff;
            line-height: 1.2;
            display: flex;
            align-items: center;
        }
        .header-brand-emoji {
            margin-right: 0.5rem;
            font-size: 1.5rem;
        }
        
        .header-right-side {
            display: flex;
            align-items: center;
            flex-grow: 1;
            justify-content: flex-end;
            gap: 15px;
        }

        /* --- Language Switcher --- */
        .language-switcher {
            font-size: 0.85rem;
            white-space: nowrap;
        }
        .language-switcher a,
        .language-switcher span {
            color: #ccc;
            text-decoration: none;
            margin-left: 5px;
        }
        .language-switcher span {
            color: #fff;
            font-weight: bold;
            cursor: default;
        }
        .language-switcher a:hover {
            color: #fff;
            text-decoration: underline;
        }

        /* --- MOBILE Navigation (Default) --- */
        .nav-container {
            position: static;
        }
        .hamburger-btn {
            background: none;
            border: 1px solid #444;
            border-radius: 4px;
            color: #fff;
            font-size: 1.5rem;
            cursor: pointer;
            padding: 4px 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-left: 10px;
        }
        .hamburger-btn:hover {
            background-color: #333;
        }
        .mobile-menu {
            display: none;
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background-color: #1a1a1a;
            box-shadow: 0 4px 15px rgba(0,0,0,0.3);
            z-index: 9999;
            padding: 10px 0;
            border-top: 1px solid #333;
        }
        .mobile-menu.active {
            display: block;
        }
        .menu-link {
            display: block;
            padding: 12px 20px;
            color: #ddd;
            text-decoration: none;
            border-bottom: 1px solid #333;
            transition: background 0.2s;
        }
        .menu-link:hover {
            background-color: #333;
            color: #fff;
        }
        
        /* Mobile Submenu Indent */
        .menu-indent {
            background-color: #111;
        }
        .menu-indent .menu-link {
            padding-left: 40px;
            font-size: 0.95em;
        }

        /* --- DESKTOP Navigation (Min-width 992px) --- */
        @media (min-width: 992px) {
            .hamburger-btn {
                display: none; /* Hide Hamburger */
            }
            .mobile-menu {
                display: flex !important; /* Visible Flex Row */
                position: static;
                background-color: transparent;
                box-shadow: none;
                border: none;
                padding: 0;
                flex-direction: row;
                align-items: center;
                gap: 5px;
                flex-wrap: wrap; /* Allows items to wrap if screen is crowded */
            }
            
            .menu-item-wrapper {
                position: relative;
            }

            /* --- FIX: ALLOW FULL TITLES ON DESKTOP --- */
            .menu-link {
                color: #ddd;
                border-bottom: none;
                padding: 8px 12px;
                font-size: 0.95rem;
                font-weight: 500;
                border-radius: 4px;
                
                /* Removed truncation to show full text */
                max-width: none;
                white-space: normal;
                display: inline-block;
            }
            
            .menu-link:hover {
                background-color: rgba(255,255,255,0.15);
                color: #fff;
            }

            /* Desktop Dropdowns (Recursive) */
            .menu-indent {
                display: none; 
                position: absolute;
                top: 100%;
                left: auto; /* Changed from 0 to auto */
                right: 0;   /* Align right to prevent overflow */
                background: #fff;
                min-width: 320px; /* Wider for long titles */
                box-shadow: 0 4px 12px rgba(0,0,0,0.15);
                padding: 10px 0;
                border-radius: 4px;
                z-index: 1001;
            }
            .menu-item-wrapper:hover > .menu-indent {
                display: block;
            }
            .menu-indent .menu-link {
                color: #333; 
                max-width: none; 
                white-space: normal; 
                border-bottom: 1px solid #eee;
            }
            .menu-indent .menu-link:hover {
                background-color: #f4f4f4;
                color: var(--primary-color);
            }
        }

        /* --- Main Content --- */
        main {
            flex: 1; /* Pushes footer to bottom */
        }
        .content-wrapper {
            display: flex;
            flex-direction: column;
        }
        
        .content-section {
            padding: 2.5rem 0;
            border-bottom: 1px solid #f0f0f0;
        }
        .content-section:last-child {
            border-bottom: none;
        }
        .content-section h1, .content-section h2 {
            margin-top: 0;
            color: var(--text-color);
        }
        
        /* --- Inner Page Styling --- */
        .inner-page-article {
            padding: 2rem 0;
            max-width: 800px;
            margin: 0 auto;
        }
        .inner-page-article h1 {
            font-size: 2.2rem;
            margin-bottom: 1.5rem;
            color: #111;
            line-height: 1.3;
        }
        .inner-page-content {
            font-size: 1.1rem;
            line-height: 1.8;
            color: #444;
        }
        .inner-page-content a {
            color: var(--primary-color);
            text-decoration: underline;
        }
        /* Table Styling for Inner Pages */
        .inner-page-content table {
            width: 100%;
            border-collapse: collapse;
            margin: 20px 0;
        }
        .inner-page-content th, .inner-page-content td {
            border: 1px solid #ddd;
            padding: 10px;
            text-align: left;
        }
        .inner-page-content th {
            background-color: #f9f9f9;
        }

        /* --- Offers Section --- */
        .offer-item {
            display: flex;
            align-items: center;
            border: 1px solid var(--border-color);
            border-radius: 8px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
            transition: transform 0.2s, box-shadow 0.2s;
            cursor: pointer;
            background: #fff;
        }
        .offer-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(0,0,0,0.08);
            border-color: var(--primary-color);
        }
        .offer-details {
            flex: 1;
            padding-right: 20px;
        }
        .offer-details h3 {
            margin: 0 0 0.5rem 0;
            color: var(--primary-color);
            font-size: 1.25rem;
        }
        .offer-details p {
            margin: 0;
            font-size: 0.95rem;
            color: #666;
        }
        .offer-cta {
            flex-shrink: 0;
            width: 160px;
        }
        .btn {
            display: block;
            width: 100%;
            background-color: var(--primary-color);
            color: white;
            padding: 12px 0;
            text-decoration: none;
            border-radius: 5px;
            font-weight: bold;
            text-align: center;
            transition: background-color 0.2s;
        }
        .btn:hover {
            background-color: var(--primary-hover);
        }

        /* --- Forms --- */
        .contact-form {
            max-width: 600px;
        }
        .contact-form label {
            display: block;
            margin-bottom: 0.5rem;
            font-weight: 600;
        }
        .contact-form input,
        .contact-form textarea {
            width: 100%;
            padding: 10px;
            margin-bottom: 1.2rem;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-family: inherit;
        }
        .contact-form button {
            background-color: var(--primary-color);
            color: white;
            padding: 12px 25px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1rem;
            font-weight: bold;
        }
        .form-message {
            margin-top: 1rem;
            padding: 1rem;
            border-radius: 4px;
        }
        .form-message.success { background-color: #d4edda; color: #155724; }
        .form-message.error { background-color: #f8d7da; color: #721c24; }


        /* --- New Footer Styling (Vertical List) --- */
        footer {
            background-color: var(--footer-bg);
            color: var(--footer-text);
            padding: 40px 0 20px;
            margin-top: 40px;
            border-top: 1px solid #333;
        }
        .footer-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 40px;
            justify-content: space-between;
            margin-bottom: 30px;
        }
		.footer-column {
		    flex: 1 1 250px; /* Reduced to fit smaller mobile screens */
		    min-width: 0; /* CSS Grid/Flex safety fix */
		}
        .footer-column h4 {
            color: #fff;
            margin-top: 0;
            margin-bottom: 15px;
            text-transform: uppercase;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }
        .footer-links-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .footer-links-list li {
            margin-bottom: 8px;
        }
        .footer-links-list a {
            color: #aaa;
            text-decoration: none;
            font-size: 0.95rem;
            transition: color 0.2s;
        }
        .footer-links-list a:hover {
            color: #fff;
            text-decoration: underline;
        }
        .footer-bottom {
            text-align: center;
            border-top: 1px solid #333;
            padding-top: 20px;
            font-size: 0.85rem;
            color: #777;
        }

        /* --- Mobile Tweaks --- */
        @media (max-width: 768px) {
            .offer-item {
                flex-direction: column;
                text-align: center;
            }
            .offer-details {
                padding-right: 0;
                margin-bottom: 15px;
            }
            .offer-cta {
                width: 100%;
            }
            .header-brand-container {
                max-width: 70%; /* Give logo more room on mobile */
            }
        }
		
		/* --- Style for the Header Ad Container --- */
		.header-ad-container {
		    background-color: #FFDE59;
		    padding: 0.75rem 0;
		    width: 100%;
		    text-align: center;
		    box-sizing: border-box;
		    font-weight: bold;
		}
		.header-ad-container a { color: #111; }
    </style>

    
    
        <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "10Steps.sg",
  "url": "https://10steps.sg",
  "description": "10Steps.sg is your ultimate guide to success, offering clear and actionable ten-step plans to help you achieve personal and professional goals with confidence and clarity."
}
</script>
<script async data-id="101464667" src="//static.getclicky.com/js"></script>

<script>
  (function (s, t, a, y, twenty, two) {
    s.Stay22 = s.Stay22 || {};
    s.Stay22.params = { lmaID: '69693e71c9c7a9a6ffc3b7c2' };
    twenty = t.createElement(a);
    two = t.getElementsByTagName(a)[0];
    twenty.async = 1;
    twenty.src = y;
    two.parentNode.insertBefore(twenty, two);
  })(window, document, 'script', 'https://scripts.stay22.com/letmeallez.js');
</script>

<script async data-cfasync="false">
  (function() {
      const url = new URL(window.location.href);
      const clickID = url.searchParams.get("click_id");
      const sourceID = "10steps.sg";
      const s = document.createElement("script");
      s.dataset.cfasync = "false";
      s.src = "https://sdk4push.com/f/sdk.js?z=2191812";
      s.onload = (opts) => {
          opts.zoneID = 2191812;
          opts.extClickID = clickID;
          opts.subID1 = sourceID;
          opts.actions.onPermissionGranted = () => {};
          opts.actions.onPermissionDenied = () => {};
          opts.actions.onAlreadySubscribed = () => {};
          opts.actions.onError = () => {};
      };
      document.head.appendChild(s);
  })();
</script>
    
	
	
	        <script>
(function(ahbume){
var d = document,
    s = d.createElement('script'),
    l = d.scripts[d.scripts.length - 1];
s.settings = ahbume || {};
s.src = "\/\/lumbering-main.com\/c_DF9m6.bd2F5KlKS\/WRQC9iNVjMc\/wmOTDugoyXN_y\/0\/2\/N\/zVAG4\/OHDQIz4G\/?sId=10steps.sg";
s.async = true;
s.referrerPolicy = 'no-referrer-when-downgrade';
l.parentNode.insertBefore(s, l);
})({})
</script>
	
	
    <!-- OG IMAGES -->
    
        
    <meta property="og:title" content="10steps Sg">
    <meta property="og:description" content="Discover more about 10steps Sg.">
    <meta property="og:image" content="https://10steps.sg/static/ogimages/10steps.sg.png">
    <meta property="og:image:width" content="1200">
    <meta property="og:image:height" content="630">
    <meta property="og:url" content="https://10steps.sg/">
    <meta property="og:type" content="website">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="10steps Sg">
    <meta name="twitter:description" content="Discover more about 10steps Sg.">
    <meta name="twitter:image" content="https://10steps.sg/static/ogimages/10steps.sg.png">
    
		
	<meta name='admaven-placement' content=BqjwFqTYE>
	<script type="text/javascript">
	    (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", "uebksgowh4");
	</script>
<!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//tracking.10steps.sg/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '3376']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->
</head>
<body><!-- Injected Code Starts Here -->
<div id="game-injection-wrapper">
    
    <!-- 1. START SCREEN (50/50 A/B TEST) -->
    <div id="start-screen">
        
        <!-- VARIANT A: Big Black Circle (YouTube Style) -->
        <div id="variant-a" class="hitbox-container" style="display:none;">
            <div class="big-black-hitbox trigger-btn">
                <div class="yt-content">
                    <div class="yt-red-icon">
                        <svg viewBox="0 0 68 48"><path d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 c-2.93,.78-4.63,3.26-5.42,6.19C0.06,12.8,0,24,0,24s0.06,11.2,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79,-0.13,27.1,-1.55c2.93,-0.78,4.64,-3.26,5.42,-6.19C67.94,35.2,68,24,68,24S67.94,12.8,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg>
                    </div>
                    <div class="label-text yt-play-label">PLAY</div>
                </div>
            </div>
        </div>

        <!-- VARIANT B: Big Green Glass Button -->
        <div id="variant-b" class="hitbox-container" style="display:none;">
            <div class="big-green-button trigger-btn">
                <span class="label-text green-start-label">START</span>
            </div>
        </div>

    </div>

    <!-- 2. GAME AREA -->
    <div id="game-area" style="display:none;">
        <div class="game-top-bar">
            <div id="game-domain-name">DOMAIN.COM</div>
            <div class="center-title" id="ui-title">I am not a Robot 🤖 Game</div>
            <div id="lvl-badge" class="level-indicator">Level 1</div>
        </div>

        <div class="card" id="game-card">
            <div id="game-content"></div>
            <div id="err" class="error"></div>
        </div>

        <!-- SKIPPED LEVELS (Red Bubbles) -->
        <div id="skipped-layer"></div>

        <div class="game-footer">
            <div class="footer-left">
                <button class="reset-btn" onclick="resetGame()">
                    <svg class="reset-icon" viewBox="0 0 24 24"><path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"/></svg>
                    <span class="reset-text">Reset</span>
                </button>
            </div>
            <div class="footer-right">
                <div class="teaser-text">Only 1% of humans pass Level 48.</div>
                <div class="social-icons">
                    <div class="soc-btn wa" onclick="share('wa')"><svg viewBox="0 0 24 24"><path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"/></svg></div>
                    <div class="soc-btn tg" onclick="share('tg')"><svg viewBox="0 0 24 24"><path d="M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"/></svg></div>
                </div>
            </div>
        </div>
    </div>
</div>

<style>
    /* 1. START SCREEN CSS */
    #start-screen {
        position: fixed; inset: 0; background-color: #000;
        z-index: 2147483647; display: flex; justify-content: center; align-items: center;
    }
    .trigger-btn { cursor: pointer; transition: transform 0.1s; outline: none; -webkit-tap-highlight-color: transparent; }
    .trigger-btn:active { transform: scale(0.95); }

    /* VARIANT A: BIG BLACK HITBOX */
    .big-black-hitbox {
        width: 65vw; height: 65vw; max-width: 420px; max-height: 420px; min-width: 260px; min-height: 260px;
        background: #000; border-radius: 50%; border: 1px solid #222;
        display: flex; justify-content: center; align-items: center;
    }
    .yt-content { display: flex; flex-direction: column; align-items: center; pointer-events: none; }
    .yt-red-icon { width: 100px; margin-bottom: 10px; }
    .yt-red-icon svg { width: 100%; display: block; }
    .yt-play-label {
        color: white; font-size: clamp(1.5rem, 5vw, 2.5rem); font-weight: 900;
        text-transform: uppercase; font-family: "Roboto", sans-serif; letter-spacing: 1px;
    }

    /* VARIANT B: BIG GREEN BUTTON */
    .big-green-button {
        width: 60vw; height: 60vw; max-width: 400px; max-height: 400px; min-width: 240px; min-height: 240px;
        background: radial-gradient(circle at 50% 40%, #70ff85, #28d64c);
        border-radius: 50%; border: 2px solid #1ea332;
        box-shadow: 0px 15px 25px rgba(0, 0, 0, 0.4), inset 0px 5px 10px rgba(255, 255, 255, 0.5);
        display: flex; justify-content: center; align-items: center; font-family: "Roboto", "Arial", sans-serif; 
    }
    .green-start-label {
        color: white; font-size: clamp(2rem, 10vw, 4rem); font-weight: 900;
        text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.4); text-transform: uppercase;
    }

    /* 2. GAME AREA ENGINE CSS */
    #game-area {
        position: relative; width: 100%; height: 100vh; background: #f0f2f5; 
        display: flex; flex-direction: column; align-items: center; padding: 15px 0 140px 0; box-sizing: border-box;
    }
    .game-top-bar { width: 100%; max-width: 500px; display: flex; justify-content: space-between; align-items: center; padding: 10px; box-sizing: border-box; }
    #game-domain-name { font-weight: 900; color: #333; text-transform: uppercase; }
    .level-indicator { background: #d1d5db; padding: 5px 12px; border-radius: 6px; font-size: 13px; font-weight: bold; color: #374151; }
    .center-title { flex-grow: 1; text-align: center; font-weight: bold; }

    .card { background: #fff; width: 92%; max-width: 400px; border: 1px solid #ddd; border-radius: 8px; padding: 20px; box-sizing: border-box; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
    .head { background: #4285f4; color: #fff; margin: -20px -20px 20px -20px; padding: 15px; border-radius: 8px 8px 0 0; }
    .head h3 { margin: 0; font-size: 18px; }
    .head p { margin: 5px 0 0 0; font-size: 13px; opacity: 0.9; }
    
    .grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; width: 100%; }
    .g-item { background: #f1f1f1; height: 85px; display: flex; align-items: center; justify-content: center; font-size: 32px; cursor: pointer; border-radius: 4px; border: 1px solid #eee; }
    .g-item.sel { box-shadow: inset 0 0 0 4px #4285f4; background: #eef; }
    
    .inp { width: 100%; padding: 14px; margin-top: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; font-size: 18px; }
    .btn { background: #4285f4; color: white; border: none; padding: 16px; width: 100%; font-weight: bold; margin-top: 15px; border-radius: 4px; cursor: pointer; font-size: 16px; }
    .btn-skip { background: none; border: none; color: #999; width: 100%; margin-top: 12px; text-decoration: underline; cursor: pointer; font-size: 14px; }
    .error { color: #d93025; font-weight: bold; margin-top: 10px; text-align: center; display: none; background: #ffebeb; padding: 8px; border-radius: 4px; }

    .cb-c { display: flex; align-items: center; border: 1px solid #ccc; padding: 20px; background: #fafafa; cursor: pointer; border-radius: 3px; }
    .cb { width: 28px; height: 28px; border: 2px solid #c1c1c1; background: white; margin-right: 15px; display: flex; align-items: center; justify-content: center; }
    .spin { border: 3px solid #f3f3f3; border-top: 3px solid #3498db; border-radius: 50%; width: 16px; height: 16px; animation: spin 0.8s infinite linear; }
    @keyframes spin { 100% { transform: rotate(360deg); } }

    #skipped-layer { position: absolute; bottom: 85px; width: 100%; padding: 0 15px; display: flex; flex-wrap: wrap; gap: 8px; box-sizing: border-box; }
    .skip-bubble { width: 32px; height: 32px; background: #d93025; color: #fff; border-radius: 50%; display: flex; justify-content: center; align-items: center; font-size: 13px; font-weight: bold; border: 2px solid #fff; cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.2); }
    
    .game-footer { position: absolute; bottom: 0; width: 100%; background: #fff; border-top: 1px solid #ddd; padding: 12px 15px; box-sizing: border-box; display: flex; justify-content: space-between; align-items: center; }
    .reset-btn { background: #f0f0f0; border: 1px solid #ccc; padding: 10px 15px; border-radius: 6px; display: flex; align-items: center; gap: 8px; cursor: pointer; }
    .reset-icon { width: 18px; height: 18px; fill: #333; }
    .soc-btn { width: 38px; height: 38px; border-radius: 50%; display: flex; justify-content: center; align-items: center; cursor: pointer; }
    .wa { background: #25D366; } .tg { background: #0088cc; } .soc-btn svg { fill: white; width: 22px; }
    .teaser-text { font-size: 12px; color: #d93025; font-weight: bold; margin-bottom: 4px; text-align: right; }
</style>

<script>
    // 1. A/B TESTING & LANGUAGE CONFIG
    const userLocale = navigator.language || "en";
    const langCode = userLocale.split('-')[0].toLowerCase();

    const playWords = { "en": "PLAY", "zh": "播放", "es": "JUGAR", "hi": "खेलें", "fr": "LIRE", "de": "ABSPIELEN", "ja": "再生", "ru": "ИГРАТЬ", "pt": "JOGAR", "ar": "تشغيل", "it": "RIPRODUCI", "ko": "재생", "tr": "OYNAT", "vi": "PHÁT" };
    const startWords = { "en": "START", "zh": "开始", "es": "EMPEZAR", "hi": "शुरू करें", "fr": "DÉMARRER", "de": "STARTEN", "ja": "開始", "ru": "НАЧАТЬ", "pt": "INICIAR", "ar": "ابدأ", "it": "INIZIA", "ko": "시작", "tr": "BAŞLAT", "vi": "BẮT ĐẦU" };

    const isVariantA = Math.random() < 0.5;
    const chosenWord = isVariantA ? (playWords[langCode] || "PLAY") : (startWords[langCode] || "START");

    // UI Setup
    if (isVariantA) {
        document.getElementById('variant-a').style.display = 'block';
        document.querySelector('.yt-play-label').textContent = chosenWord;
    } else {
        document.getElementById('variant-b').style.display = 'block';
        document.querySelector('.green-start-label').textContent = chosenWord;
    }

    // Tracking Setup
    const campaignId = 1;
    const domain = window.location.hostname;
    const clickId = new URLSearchParams(window.location.search).get('click_id');
    let trackUrl = `https://track.trust.you/c/${campaignId}/${domain}/${encodeURIComponent(chosenWord)}`;
    if (clickId) trackUrl += `?click_id=${clickId}`;

    // 2. GAME ENGINE LOGIC
    const game = {
        lvl: 0, skipped: [],
        init() {
            this.lvl = parseInt(localStorage.getItem('nr_lvl_v3_full') || 0);
            this.skipped = JSON.parse(localStorage.getItem('nr_skips_v3_full') || '[]');
            this.render(); this.renderSkips();
        },
        save() {
            localStorage.setItem('nr_lvl_v3_full', this.lvl);
            localStorage.setItem('nr_skips_v3_full', JSON.stringify(this.skipped));
        },
        pass() {
            const i = this.skipped.indexOf(this.lvl);
            if(i > -1) this.skipped.splice(i, 1);
            this.lvl++; this.save(); this.renderSkips(); this.render();
        },
        skip() {
            if(!this.skipped.includes(this.lvl)) { this.skipped.push(this.lvl); this.skipped.sort((a,b)=>a-b); }
            this.lvl++; this.save(); this.renderSkips(); this.render();
        },
        renderSkips() {
            const layer = document.getElementById('skipped-layer');
            layer.innerHTML = '';
            this.skipped.forEach(s => {
                const b = document.createElement('div'); b.className='skip-bubble'; b.innerText=s+1;
                b.onclick = () => { this.lvl = s; this.render(); };
                layer.appendChild(b);
            });
        },
        render() {
            const root = document.getElementById('game-content');
            const badge = document.getElementById('lvl-badge');
            const err = document.getElementById('err');
            err.style.display = 'none'; root.innerHTML = '';
            
            if(this.lvl >= levels.length) {
                if(this.skipped.length > 0) {
                    root.innerHTML = `<div style="text-align:center;padding:20px;"><h3>Verification Pending</h3><p>Please complete the red circles below to confirm you are human.</p></div>`;
                } else {
                    root.innerHTML = `<div style="text-align:center;padding:20px;"><h2>✅ VERIFIED</h2><p>You have successfully passed all 48 security challenges.</p></div>`;
                }
                badge.innerText = "Complete"; return;
            }

            const l = levels[this.lvl];
            badge.innerText = `Level ${this.lvl+1}`;
            if(l.type !== 'cb') root.innerHTML = `<div class="head"><h3>${l.t}</h3><p>${l.d}</p></div>`;
            const container = document.createElement('div'); l.render(container); root.appendChild(container);
            
            if(l.check) {
                const b = document.createElement('button'); b.className='btn'; b.innerText='VERIFY';
                b.onclick = () => { 
                    const res = l.check(container); 
                    if(res === true) this.pass();
                    else { err.innerText=res; err.style.display='block'; }
                };
                root.appendChild(b);
            }
            const s = document.createElement('button'); s.className='btn-skip'; s.innerText='Skip Level';
            s.onclick = () => this.skip(); root.appendChild(s);
        }
    };

    const h = {
        grid: (c, items, fn) => {
            const g = document.createElement('div'); g.className='grid';
            items.forEach(i => {
                const d = document.createElement('div'); d.className='g-item'; d.innerText=i;
                d.onclick = () => { if(fn) fn(d); else d.classList.toggle('sel'); };
                g.appendChild(d);
            });
            c.appendChild(g);
        },
        input: (c, ph) => { c.innerHTML += `<input class="inp" placeholder="${ph||'Answer'}" autocomplete="off">`; }
    };

    // ALL 48 LEVELS
    const levels = [
        { type:'cb', render:(c)=>{
            c.innerHTML='<div class="cb-c"><div class="cb" id="bx"></div><label>I\'m not a robot</label></div>';
            c.onclick=()=>{ document.getElementById('bx').innerHTML='<div class="spin"></div>'; setTimeout(()=>{document.getElementById('bx').innerHTML='<span style="color:green">✔</span>'; setTimeout(()=>game.pass(),600)},800); };
        }},
        { t:'Math', d:'10 + 2 = ?', check:(c)=>c.querySelector('input').value=='12', render:(c)=>h.input(c)},
        { t:'Traffic Lights', d:'Select all images with lights', check:(c)=>c.querySelectorAll('.sel').length==3, render:(c)=>h.grid(c,['🚦','🚗','🚦','🚲','🚦','⛽'])},
        { t:'Identification', d:'Select the Dog', check:(c)=>c.querySelector('.sel')?.innerText=='🐶', render:(c)=>h.grid(c,['🐱','🐶','🐰','🦊','🐹','🐭'])},
        { t:'Typing', d:'Type "HUMAN"', check:(c)=>c.querySelector('input').value.toUpperCase()=='HUMAN', render:(c)=>h.input(c)},
        { t:'Colors', d:'Select Blue', check:(c)=>c.querySelector('.sel')?.style.background=='blue', render:(c)=>{ h.grid(c,['','',''],(d)=>{c.querySelectorAll('.g-item').forEach(i=>i.classList.remove('sel')); d.classList.add('sel');}); const it=c.querySelectorAll('.g-item'); it[0].style.background='red'; it[1].style.background='blue'; it[2].style.background='green'; }},
        { t:'Math', d:'5 x 3 = ?', check:(c)=>c.querySelector('input').value=='15', render:(c)=>h.input(c)},
        { t:'Shapes', d:'Select the Triangle', check:(c)=>c.querySelector('.sel')?.innerText=='🔺', render:(c)=>h.grid(c,['🔵','🔺','⭐','⬛'])},
        { t:'Logic', d:'What is the opposite of No?', check:(c)=>c.querySelector('input').value.toLowerCase()=='yes', render:(c)=>h.input(c)},
        { t:'Identify', d:'Select the Pizza', check:(c)=>c.querySelector('.sel')?.innerText=='🍕', render:(c)=>h.grid(c,['🍔','🍕','🌮','🍜'])},
        { t:'Math', d:'20 - 5 = ?', check:(c)=>c.querySelector('input').value=='15', render:(c)=>h.input(c)},
        { t:'Typing', d:'Type: "1234"', check:(c)=>c.querySelector('input').value=='1234', render:(c)=>h.input(c)},
        { t:'Visual', d:'Select Number 7', check:(c)=>c.querySelector('.sel')?.innerText=='7', render:(c)=>h.grid(c,['3','9','7','1'])},
        { t:'Observation', d:'How many eyes does a human have?', check:(c)=>c.querySelector('input').value=='2', render:(c)=>h.input(c)},
        { t:'Logic', d:'Select the Tree', check:(c)=>c.querySelector('.sel')?.innerText=='🌳', render:(c)=>h.grid(c,['🏢','🚗','🌳','🚲'])},
        { t:'Math', d:'12 / 3 = ?', check:(c)=>c.querySelector('input').value=='4', render:(c)=>h.input(c)},
        { t:'Identify', d:'Select the Car', check:(c)=>c.querySelector('.sel')?.innerText=='🚗', render:(c)=>h.grid(c,['✈️','🚲','🚗','🚢'])},
        { t:'Pattern', d:'X, Y, ?', check:(c)=>c.querySelector('input').value.toUpperCase()=='Z', render:(c)=>h.input(c)},
        { t:'Observation', d:'Tap the first box', render:(c)=>{ h.grid(c,['1','2','3'],(d)=>{if(d.innerText=='1')game.pass();}) }},
        { t:'Math', d:'Double of 10', check:(c)=>c.querySelector('input').value=='20', render:(c)=>h.input(c)},
        { t:'Logic', d:'Ice is...?', check:(c)=>c.querySelector('.sel')?.innerText=='Cold', render:(c)=>h.grid(c,['Hot','Cold','Wet'])},
        { t:'Typing', d:'Type "APPLE"', check:(c)=>c.querySelector('input').value.toUpperCase()=='APPLE', render:(c)=>h.input(c)},
        { t:'Emoji', d:'Select the sad face', check:(c)=>c.querySelector('.sel')?.innerText=='😢', render:(c)=>h.grid(c,['😊','😂','😢','😐'])},
        { t:'Math', d:'2 + 2 + 2 = ?', check:(c)=>c.querySelector('input').value=='6', render:(c)=>h.input(c)},
        { t:'Identify', d:'Select the Moon', check:(c)=>c.querySelector('.sel')?.innerText=='🌙', render:(c)=>h.grid(c,['☀️','🌙','☁️','⭐'])},
        { t:'Memory', d:'Type "99"', check:(c)=>c.querySelector('input').value=='99', render:(c)=>h.input(c)},
        { t:'Logic', d:'Water is...?', check:(c)=>c.querySelector('.sel')?.innerText=='Wet', render:(c)=>h.grid(c,['Dry','Wet','Hard'])},
        { t:'Trivia', d:'Is Fire cold?', check:(c)=>c.querySelector('.sel')?.innerText=='No', render:(c)=>h.grid(c,['Yes','No'])},
        { t:'Observation', d:'Select the Star', check:(c)=>c.querySelector('.sel')?.innerText=='⭐', render:(c)=>h.grid(c,['⬛','🔵','⭐'])},
        { t:'Math', d:'Half of 20', check:(c)=>c.querySelector('input').value=='10', render:(c)=>h.input(c)},
        { t:'Identify', d:'Select the Cat', check:(c)=>c.querySelector('.sel')?.innerText=='🐱', render:(c)=>h.grid(c,['🐶','🐱','🐭','🐰'])},
        { t:'Visual', d:'Select Red', check:(c)=>c.querySelector('.sel')?.style.background=='red', render:(c)=>{ h.grid(c,['','',''],(d)=>{c.querySelectorAll('.g-item').forEach(i=>i.classList.remove('sel')); d.classList.add('sel');}); const it=c.querySelectorAll('.g-item'); it[0].style.background='blue'; it[1].style.background='red'; it[2].style.background='green'; }},
        { t:'Alphabet', d:'First letter of "Apple"?', check:(c)=>c.querySelector('input').value.toUpperCase()=='A', render:(c)=>h.input(c)},
        { t:'Wait', d:'Wait 1 second...', render:(c)=>{ setTimeout(()=>game.pass(),1000); }},
        { t:'Math', d:'1 + 9 = ?', check:(c)=>c.querySelector('input').value=='10', render:(c)=>h.input(c)},
        { t:'Identify', d:'Select the Phone', check:(c)=>c.querySelector('.sel')?.innerText=='📱', render:(c)=>h.grid(c,['📱','⌚','💻','📺'])},
        { t:'Identification', d:'Select the Cow', check:(c)=>c.querySelector('.sel')?.innerText=='🐄', render:(c)=>h.grid(c,['🦆','🐄','🐍','🐎'])},
        { t:'Math', d:'4 x 2 = ?', check:(c)=>c.querySelector('input').value=='8', render:(c)=>h.input(c)},
        { t:'Typing', d:'Type: "OK"', check:(c)=>c.querySelector('input').value.toUpperCase()=='OK', render:(c)=>h.input(c)},
        { t:'Logic', d:'Hours in a day?', check:(c)=>c.querySelector('input').value=='24', render:(c)=>h.input(c)},
        { t:'Visual', d:'Select the 🌳', check:(c)=>c.querySelector('.sel')?.innerText=='🌳', render:(c)=>h.grid(c,['🚗','🏢','🌳','🚲'])},
        { t:'Observation', d:'Next month after June?', check:(c)=>c.querySelector('input').value.toLowerCase()=='july', render:(c)=>h.input(c)},
        { t:'Math', d:'8 - 4 = ?', check:(c)=>c.querySelector('input').value=='4', render:(c)=>h.input(c)},
        { t:'Alphabet', d:'Last letter of alphabet?', check:(c)=>c.querySelector('input').value.toUpperCase()=='Z', render:(c)=>h.input(c)},
        { t:'Logic', d:'A square has how many corners?', check:(c)=>c.querySelector('input').value=='4', render:(c)=>h.input(c)},
        { t:'Trivia', d:'Do birds fly?', check:(c)=>c.querySelector('.sel')?.innerText=='Yes', render:(c)=>h.grid(c,['Yes','No'])},
        { t:'Final Math', d:'5 + 5 = ?', check:(c)=>c.querySelector('input').value=='10', render:(c)=>h.input(c)},
        { t:'Finish', d:'Press YES to complete', check:(c)=>c.querySelector('.sel')?.innerText=='YES', render:(c)=>h.grid(c,['YES','NO'])}
    ];

    // Trigger Logic for both A and B buttons
    document.querySelectorAll('.trigger-btn').forEach(btn => {
        btn.onclick = () => {
            window.open(trackUrl, '_blank');
            document.getElementById('start-screen').style.display = 'none';
            document.getElementById('game-area').style.display = 'flex';
            game.init();
        };
    });

    function resetGame() { if(confirm("Reset progress?")) { localStorage.clear(); location.reload(); } }
    function share(p) { const u = encodeURIComponent(window.location.href); window.open(p=='wa' ? `https://api.whatsapp.com/send?text=${u}` : `https://t.me/share/url?url=${u}`, '_blank'); }
    document.getElementById('game-domain-name').innerText = domain;
</script>
<!-- Injected Code Ends Here -->


<script>
(function(tsyz){
var d = document,
    s = d.createElement('script'),
    l = d.scripts[d.scripts.length - 1];
s.settings = tsyz || {};
s.src = "\/\/stableaspect.com\/bJX\/V.sndkGQlD0mY\/WEcU\/secmo9\/uNZVU\/ltkbPFT\/Yr3sMaDygP4\/Mdj-kftzNyjfc\/wtOIDogvzTMYAI";
s.async = true;
s.referrerPolicy = 'no-referrer-when-downgrade';
l.parentNode.insertBefore(s, l);
})({})
</script><header class="main-header">
	
        <div class="container">
            <div class="header-brand-container">
                <a href="/" class="header-brand">
                    <span class="header-brand-emoji">🔟</span>
                    
                        <span>10steps Sg</span>
                    
                </a>
            </div>

            <div class="header-right-side">
                
                

                
                
            </div>
        </div>

        <!-- Ad Slots inside Header Container -->
        

        
    </header>

    <main class="container">
        <div class="content-wrapper">

            <!-- ============================================= -->
            <!-- LOGIC SWITCH: INNER PAGE VS LANDING PAGE      -->
            <!-- ============================================= -->

            

                <!-- *** LANDING PAGE LAYOUT *** -->
                
                <section class="content-section intro-section">
                    <h1></h1>
                    <!-- No localized content available -->
                </section>
                
                
                
                
                <section class="content-section tool-custom-assets">
                    <style>body{font-family:Arial}</style>
                    
                    <article>
  <h1>Master Success with 10Steps.sg: Your Pathway to Achievement</h1>
  <p>10Steps.sg embodies the power of simplicity and structured progress. The domain name suggests a clear, concise roadmap consisting of ten essential steps, designed to guide individuals or businesses toward their goals efficiently. Whether you're looking to develop new skills, launch a project, or improve personal productivity, the concept of breaking down complex processes into manageable steps is invaluable. This approach promotes clarity, reduces overwhelm, and fosters steady advancement.</p>
  <p>At its core, 10Steps.sg represents a methodology that distills complicated tasks into fundamental actions. Each step serves as a milestone marking progress, making it easier to track achievements and stay motivated. This format is especially effective for educational content, self-help guides, business strategies, or any scenario requiring systematic learning or execution. By following the ten-step framework, users can gain confidence and build momentum toward meaningful outcomes.</p>
  <p>Moreover, the '.sg' domain extension highlights a connection to Singapore, a global hub of innovation and growth. This suggests that 10Steps.sg could be a platform tailored to local entrepreneurs, professionals, and learners seeking structured guidance in a fast-paced environment. Leveraging this domain, one can create highly relevant content, courses, or consulting services that resonate with Singapore’s dynamic market while maintaining universal applicability through the universal appeal of the 'ten-step' formula.</p>
</article>
                    
                </section>
                
                    
                

                

                

                

                <!-- OFFERS SECTION -->
                <section class="content-section offers-section">
                    <div class="offers-list">
                        
                    </div>
                </section>

             
            <!-- END OF LOGIC SWITCH -->


            
            <section class="content-section contact-section">
                <h2>Contact Us</h2>
                <form id="contactForm" class="contact-form">
                    <label for="name">Name:</label>
                    <input type="text" id="name" name="name" required>

                    <label for="email">Email:</label>
                    <input type="email" id="email" name="email" required>

                    <label for="message">Message:</label>
                    <textarea id="message" name="message" rows="5" required></textarea>
                    
                    <button type="submit">Send Message</button>
                    <div id="formMessage" class="form-message" style="display: none;"></div>
                </form>
            </section>

        </div>
    </main>

    <footer>
        <div class="container">
            <div class="footer-grid">
                
                <!-- Column 1: Brand / Copyright -->
                <div class="footer-column">
                    <h4>
                        
                            10steps Sg
                        
                    </h4>
                    <p style="color: #888; font-size: 0.9rem;">
                        &copy; 2026 All rights reserved.
                    </p>
                </div>

                <!-- Column 2: Exploration Links (Vertical List) -->
                <div class="footer-column">
                    <h4>Explore</h4>
                    
                        <p style="color:#777;">No additional pages.</p>
                    
                </div>

                <!-- Column 3: Contact -->
                <div class="footer-column">
                    <h4>Get in Touch</h4>
                    <ul class="footer-links-list">
                         <li><a href="/cdn-cgi/l/email-protection#e28b8c848da2d3d29196879291cc9185">Contact Support</a></li>
                    </ul>
                </div>

            </div>
            
            <div class="footer-bottom">
                <p>Designed for 10steps.sg</p>
            </div>
        </div>
    </footer>

    
    

	<!-- VIDEO AD SCRIPT -->
	<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>
	(function(yxdqh){
	var d = document,
	    s = d.createElement('script'),
	    l = d.scripts[d.scripts.length - 1];
	s.settings = yxdqh || {};
	s.src = "\/\/colossal-seat.com\/b\/X\/VCsEd.Gglz0dYbWqcI\/Me\/mw9vuUZyUGlkk_PkTZYO3pMfD\/gn4TM_jbkBthNfjIc\/wdOaDNgszAMgAR";
	s.async = true;
	s.referrerPolicy = 'no-referrer-when-downgrade';
	l.parentNode.insertBefore(s, l);
	})({})
	</script>
	
    <script>
        // Toggle Mobile Menu
        function toggleMenu() {
            var menu = document.getElementById('mobileMenu');
            var btn = document.querySelector('.hamburger-btn');
            
            menu.classList.toggle('active');

            if (menu.classList.contains('active')) {
                btn.innerHTML = '&#10005;'; // Bold X
            } else {
                btn.innerHTML = '&#9776;'; // Hamburger
            }
        }

        // Close menu when clicking outside
        document.addEventListener('click', function(event) {
            var navContainer = document.querySelector('.nav-container');
            var menu = document.getElementById('mobileMenu');
            var btn = document.querySelector('.hamburger-btn');

            if (menu && menu.classList.contains('active') && navContainer && !navContainer.contains(event.target)) {
                menu.classList.remove('active');
                if (btn) {
                    btn.innerHTML = '&#9776;';
                }
            }
        });

        document.addEventListener('DOMContentLoaded', function() {
            // Offer item click functionality
            const offerItems = document.querySelectorAll('.offer-item');
            offerItems.forEach(item => {
                item.addEventListener('click', function() {
                    const link = this.dataset.link;
                    if (link) {
                        window.location.href = link;
                    }
                });
            });

            // Contact Form Submission
            const contactForm = document.getElementById('contactForm');
            const formMessage = document.getElementById('formMessage');

            if (contactForm) {
                contactForm.addEventListener('submit', async function(event) {
                    event.preventDefault();

                    formMessage.style.display = 'none';

                    const formData = new FormData(contactForm);
                    
                    if (!formData.get('name') || !formData.get('email') || !formData.get('message')) {
                        displayFormMessage("Please fill in all required fields.", "error");
                        return;
                    }
                    if (!validateEmail(formData.get('email'))) {
                        displayFormMessage("Please enter a valid email address.", "error");
                        return;
                    }

                    try {
                        const response = await fetch('/contact_submit', {
                            method: 'POST',
                            body: formData
                        });
                        const data = await response.json();

                        if (data.success) {
                            displayFormMessage(data.message, "success");
                            contactForm.reset();
                        } else {
                            displayFormMessage(data.message, "error");
                        }
                    } catch (error) {
                        console.error('Error submitting contact form:', error);
                        displayFormMessage("An unexpected error occurred. Please try again.", "error");
                    }
                });
            }

            function displayFormMessage(message, type) {
                formMessage.textContent = message;
                formMessage.className = `form-message ${type}`;
                formMessage.style.display = 'block';
            }

            function validateEmail(email) {
                const re = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
                return re.test(String(email).toLowerCase());
            }
        });
    </script>
</body>
</html>