<!DOCTYPE html>

<html lang="en" class="h-full bg-slate-950 text-slate-100 font-sans">

<head>

  <meta charset="UTF-8" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />

  <title>NEÓN TIGRE // RECLAIM THE WILD</title>

  

  <!-- Tailwind CSS CDN -->

  <script src="https://cdn.tailwindcss.com"></script>

  

  <!-- Google Fonts: Inter & JetBrains Mono -->

  <link rel="preconnect" href="https://fonts.googleapis.com">

  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">


  <script>

    tailwind.config = {

      theme: {

        extend: {

          fontFamily: {

            sans: ['Inter', 'sans-serif'],

            mono: ['JetBrains Mono', 'monospace'],

          },

        },

      },

    }

  </script>


  <style>

    /* 1. Continuous Linear Hue Cycle */

    @keyframes hue-linear {

      0%   { filter: hue-rotate(0deg); }

      100% { filter: hue-rotate(360deg); }

    }


    /* 2. Pulsing Saturation & Hue Shift */

    @keyframes hue-pulse {

      0%, 100% { filter: hue-rotate(0deg) saturate(100%); }

      50%      { filter: hue-rotate(180deg) saturate(220%); }

    }


    /* 3. High Vibrancy Rainbow Shift */

    @keyframes hue-rainbow {

      0%   { filter: hue-rotate(0deg) saturate(160%) brightness(100%); }

      33%  { filter: hue-rotate(120deg) saturate(220%) brightness(110%); }

      66%  { filter: hue-rotate(240deg) saturate(250%) brightness(115%); }

      100% { filter: hue-rotate(360deg) saturate(160%) brightness(100%); }

    }


    /* 4. Oscillating Sweep */

    @keyframes hue-sweep {

      0%   { filter: hue-rotate(-90deg); }

      100% { filter: hue-rotate(90deg); }

    }


    /* Utility Animation Classes using CSS Custom Properties */

    .animate-hue-linear {

      animation: hue-linear var(--anim-speed, 4s) infinite linear;

    }

    .animate-hue-pulse {

      animation: hue-pulse var(--anim-speed, 4s) infinite ease-in-out;

    }

    .animate-hue-rainbow {

      animation: hue-rainbow var(--anim-speed, 4s) infinite linear;

    }

    .animate-hue-sweep {

      animation: hue-sweep var(--anim-speed, 4s) infinite alternate ease-in-out;

    }


    /* Subtle Glassmorphism Card Style */

    .glass-card {

      background: rgba(15, 23, 42, 0.75);

      backdrop-filter: blur(12px);

      -webkit-backdrop-filter: blur(12px);

      border: 1px solid rgba(255, 255, 255, 0.08);

    }


    /* Custom Scrollbar */

    ::-webkit-scrollbar {

      width: 8px;

      height: 8px;

    }

    ::-webkit-scrollbar-track {

      background: #090d16;

    }

    ::-webkit-scrollbar-thumb {

      background: #1e293b;

      border-radius: 4px;

    }

    ::-webkit-scrollbar-thumb:hover {

      background: #334155;

    }

  </style>

</head>

<body class="min-h-full flex flex-col bg-slate-950 text-slate-100 antialiased selection:bg-indigo-500 selection:text-white">


  <header class="w-full border-b border-slate-800/80 bg-slate-900/60 backdrop-blur sticky top-0 z-50">

    <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 h-16 flex items-center justify-between">

      <div class="flex items-center space-x-3">

        <div class="w-9 h-9 rounded-xl bg-gradient-to-tr from-orange-500 via-indigo-500 to-pink-500 p-0.5 shadow-lg shadow-orange-500/10">

          <div class="w-full h-full bg-slate-950 rounded-[10px] flex items-center justify-center">

            <!-- Cloudflare-inspired cloud logo -->

            <svg class="w-5 h-5 text-orange-400" fill="currentColor" viewBox="0 0 24 24">

              <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"/>

            </svg>

          </div>

        </div>

        <div>

          <span class="font-bold text-base text-white tracking-tight flex items-center gap-2">

            NEÓN TIGRE <span class="text-[10px] uppercase font-mono px-2 py-0.5 rounded-full bg-orange-500/10 text-orange-400 border border-orange-500/20">Cloudflare Pages</span>

          </span>

        </div>

      </div>

      

      <div class="flex items-center gap-3 text-xs">

        <a href="#deployment-guide" class="px-3.5 py-1.5 rounded-lg font-medium bg-slate-800 hover:bg-slate-700 text-slate-200 transition-colors border border-slate-700 flex items-center gap-1.5">

          <svg class="w-4 h-4 text-orange-400" fill="none" viewBox="0 0 24 24" stroke="currentColor">

            <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"/>

          </svg>

          ABOUT US

        </a>

      </div>

    </div>

  </header>


  <main class="flex-1 max-w-6xl w-full mx-auto p-4 sm:p-6 lg:p-8 flex flex-col items-center gap-10">


    <!-- HERO SECTION / MAIN CARD -->

    <section class="w-full glass-card rounded-3xl p-6 sm:p-10 shadow-2xl relative overflow-hidden flex flex-col items-center text-center">

      

      <!-- Background Ambient Glow -->

      <div class="absolute -top-24 -left-24 w-72 h-72 bg-indigo-500/10 rounded-full blur-3xl pointer-events-none"></div>

      <div class="absolute -bottom-24 -right-24 w-72 h-72 bg-orange-500/10 rounded-full blur-3xl pointer-events-none"></div>


      <!-- Badge Header -->

      <div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-slate-800/80 border border-slate-700/60 text-xs font-mono text-indigo-300 mb-6">

        <span class="w-2 h-2 rounded-full bg-emerald-400 animate-pulse"></span>

        Zero-GIF Pure CSS Animation Target

      </div>


      <!-- COLOR CHANGING LOGO PREVIEW STAGE -->

      <div id="preview-box" class="w-full max-w-sm h-64 sm:h-72 bg-slate-950/80 border border-slate-800/80 rounded-2xl flex flex-col items-center justify-center p-6 my-2 relative group transition-colors duration-300 shadow-inner">

        

        <!-- Live Indicator Tag -->

        <div class="absolute top-3 left-3 text-[10px] font-mono text-slate-400 uppercase tracking-wider bg-slate-900/90 px-2 py-0.5 rounded border border-slate-800">

          Live Rendering

        </div>


        <!-- Animated Graphic Target -->

        <div id="logo-wrapper" class="w-36 h-36 sm:w-44 sm:h-44 flex items-center justify-center transition-all duration-300">

          

          <!-- Default Vector Logo -->

          <svg id="default-vector" class="w-full h-full animate-hue-linear" style="--anim-speed: 4s;" viewBox="0 0 200 200" fill="none" xmlns="http://www.w3.org/2000/svg">

            <defs>

              <linearGradient id="vectorGrad" x1="0%" y1="0%" x2="100%" y2="100%">

                <stop offset="0%" stop-color="#3b82f6" />

                <stop offset="50%" stop-color="#8b5cf6" />

                <stop offset="100%" stop-color="#ec4899" />

              </linearGradient>

            </defs>

            <circle cx="100" cy="100" r="85" stroke="url(#vectorGrad)" stroke-width="10" fill="none" opacity="0.3"/>

            <path d="M100 25 L165 145 L125 145 L100 95 L75 145 L35 145 Z" fill="url(#vectorGrad)"/>

            <circle cx="100" cy="95" r="22" fill="#020617"/>

            <circle cx="100" cy="95" r="12" fill="url(#vectorGrad)"/>

          </svg>


          <!-- Custom Image Element (Hidden by default) -->

          <img id="custom-img" src="" alt="Custom Logo" class="w-full h-full object-contain hidden rounded-xl" />

        </div>


        <p id="status-label" class="mt-4 text-xs font-mono text-slate-400">

          Effect: Hue Cycle (360°) | Duration: 4.0s

        </p>

      </div>


      <h1 class="text-2xl sm:text-4xl font-extrabold text-white tracking-tight mt-4">

        Dynamic Color-Shifting Brand Hub

      </h1>

      <p class="text-sm sm:text-base text-slate-400 max-w-xl mt-2 leading-relaxed">

        Hosted on Cloudflare Pages using zero JavaScript animation overhead. Test custom graphics, adjust the animation settings, or grab the HTML snippet below.

      </p>


      <div class="w-full max-w-3xl mt-8 pt-8 border-t border-slate-800/80 grid grid-cols-1 md:grid-cols-2 gap-6 text-left">

        

        <!-- Controls Column 1 -->

        <div class="space-y-4">

          <h3 class="text-xs uppercase tracking-wider font-semibold text-indigo-400 flex items-center gap-2">

            <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"/></svg>

            Animation Parameters

          </h3>


          <!-- Animation Style Dropdown -->

          <div>

            <label for="effect-style" class="block text-xs font-medium text-slate-300 mb-1.5">Transition Effect Style</label>

            <select id="effect-style" onchange="applyAnimationSettings()" class="w-full bg-slate-950 border border-slate-700/80 rounded-xl px-3 py-2 text-xs font-medium text-slate-200 focus:outline-none focus:ring-2 focus:ring-indigo-500">

              <option value="hue-linear">Continuous Hue Loop (0° → 360°)</option>

              <option value="hue-pulse">Pulsing Saturation & Hue Shift</option>

              <option value="hue-rainbow">High-Vibrancy Rainbow Burst</option>

              <option value="hue-sweep">Oscillating Sweep (-90° ↔ +90°)</option>

            </select>

          </div>


          <!-- Animation Speed Slider -->

          <div>

            <div class="flex justify-between items-center text-xs mb-1.5">

              <label for="speed-slider" class="font-medium text-slate-300">Animation Speed</label>

              <span id="speed-display" class="font-mono text-indigo-400 font-bold bg-indigo-500/10 px-2 py-0.5 rounded border border-indigo-500/20 text-[11px]">4.0s</span>

            </div>

            <input type="range" id="speed-slider" min="0.5" max="10" step="0.5" value="4" oninput="applyAnimationSettings()" class="w-full h-1.5 bg-slate-800 rounded-lg appearance-none cursor-pointer accent-indigo-500" />

            <div class="flex justify-between text-[10px] text-slate-500 font-mono mt-1">

              <span>Fast (0.5s)</span>

              <span>Default (4s)</span>

              <span>Slow (10s)</span>

            </div>

          </div>

        </div>


        <!-- Controls Column 2 -->

        <div class="space-y-4">

          <h3 class="text-xs uppercase tracking-wider font-semibold text-indigo-400 flex items-center gap-2">

            <svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002-2z"/></svg>

            Test Custom Image / Logo

          </h3>


          <!-- Image URL Input -->

          <div>

            <label for="image-url-input" class="block text-xs font-medium text-slate-300 mb-1.5">Paste External Image or SVG URL</label>

            <div class="flex gap-2">

              <input type="url" id="image-url-input" placeholder="https://example.com/logo.png" class="flex-1 bg-slate-950 border border-slate-700/80 rounded-xl px-3 py-1.5 text-xs text-slate-200 placeholder-slate-600 focus:outline-none focus:ring-2 focus:ring-indigo-500 font-mono" />

              <button onclick="loadCustomUrl()" class="px-3 py-1.5 bg-slate-800 hover:bg-slate-700 text-slate-200 text-xs font-medium rounded-xl border border-slate-700 transition-colors">

                Apply

              </button>

            </div>

          </div>


          <!-- File Upload Input -->

          <div>

            <label class="block text-xs font-medium text-slate-300 mb-1.5">Or Upload Local Image / Logo File</label>

            <div class="flex gap-2 items-center">

              <input type="file" id="file-uploader" accept="image/*" onchange="handleFileUpload(event)" class="block w-full text-xs text-slate-400 file:mr-3 file:py-1.5 file:px-3 file:rounded-xl file:border-0 file:text-xs file:font-semibold file:bg-indigo-600 file:text-white hover:file:bg-indigo-500 file:cursor-pointer cursor-pointer bg-slate-950 border border-slate-800 rounded-xl p-1" />

              <button onclick="resetToDefaultLogo()" class="px-3 py-1.5 bg-slate-800 hover:bg-slate-700 text-slate-300 text-xs font-medium rounded-xl border border-slate-700 whitespace-nowrap transition-colors">

                Reset

              </button>

            </div>

          </div>

        </div>


      </div>


    </section>


    <section id=“about-us” class="w-full glass-card rounded-3xl p-6 sm:p-8 shadow-xl">

      <div class="border-b border-slate-800 pb-4 mb-6 flex items-center justify-between flex-wrap gap-3">

        <div>

          <h2 class="text-lg font-bold text-white flex items-center gap-2">

            <svg class="w-5 h-5 text-orange-400" fill="currentColor" viewBox="0 0 24 24">

              <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"/>

            </svg>

            ABOUT NEÓN TIGRE

          </h2>

          <p class="text-xs text-slate-400 mt-1">Deploy this exact single-page file and attach your Cloudflare domain in under 3 minutes.</p>

        </div>

        <span class="text-xs font-mono bg-orange-500/10 text-orange-400 border border-orange-500/20 px-2.5 py-1 rounded-full">100% Free Unlimited Hosting</span>

      </div>


      <div class="grid grid-cols-1 md:grid-cols-3 gap-6">

        

        <!-- Step 1 -->

        <div class="bg-slate-950/80 border border-slate-800/80 rounded-2xl p-5 flex flex-col justify-between">

          <div>

            <div class="w-8 h-8 rounded-xl bg-orange-500/10 text-orange-400 border border-orange-500/20 flex items-center justify-center font-bold text-sm mb-3">1</div>

            <h3 class="font-semibold text-sm text-white mb-2">Save your HTML File</h3>

            <p class="text-xs text-slate-400 leading-relaxed">

              Save the code of this page as <code class="text-indigo-300 font-mono">index.html</code> on your computer inside an empty folder (e.g. <code class="text-indigo-300 font-mono">mysite/</code>).

            </p>

          </div>

        </div>


        <!-- Step 2 -->

        <div class="bg-slate-950/80 border border-slate-800/80 rounded-2xl p-5 flex flex-col justify-between">

          <div>

            <div class="w-8 h-8 rounded-xl bg-orange-500/10 text-orange-400 border border-orange-500/20 flex items-center justify-center font-bold text-sm mb-3">2</div>

            <h3 class="font-semibold text-sm text-white mb-2">Upload to Cloudflare</h3>

            <ol class="text-xs text-slate-400 leading-relaxed list-disc list-inside space-y-1">

              <li>Log in to your <strong>Cloudflare Dashboard</strong>.</li>

              <li>Navigate to <strong>Workers & Pages</strong> &rarr; <strong>Create Application</strong> &rarr; <strong>Pages</strong>.</li>

              <li>Choose <strong>Upload Assets</strong>, drag your folder, and click <strong>Deploy</strong>.</li>

            </ol>

          </div>

        </div>


        <!-- Step 3 -->

        <div class="bg-slate-950/80 border border-slate-800/80 rounded-2xl p-5 flex flex-col justify-between">

          <div>

            <div class="w-8 h-8 rounded-xl bg-orange-500/10 text-orange-400 border border-orange-500/20 flex items-center justify-center font-bold text-sm mb-3">3</div>

            <h3 class="font-semibold text-sm text-white mb-2">Attach Your Domain</h3>

            <ol class="text-xs text-slate-400 leading-relaxed list-disc list-inside space-y-1">

              <li>In your new Pages project, click <strong>Custom Domains</strong>.</li>

              <li>Click <strong>Set up a custom domain</strong> and enter your Cloudflare domain name.</li>

              <li>Cloudflare will configure DNS automatically!</li>

            </ol>

          </div>

        </div>


      </div>

    </section>


  </main>


  <footer class="w-full border-t border-slate-800/80 py-6 bg-slate-950 text-center text-xs text-slate-500">

    <p>© Single-Page Color Shift Template • Built for Cloudflare Pages Deployment</p>

  </footer>


  <script>

    function applyAnimationSettings() {

      const speed = document.getElementById('speed-slider').value;

      const effect = document.getElementById('effect-style').value;


      document.getElementById('speed-display').textContent = `${speed}s`;


      const vectorLogo = document.getElementById('default-vector');

      const customImg = document.getElementById('custom-img');


      // Helper function to update active animation classes

      const updateTarget = (el) => {

        el.className = el.className.replace(/animate-hue-\w+/g, '').trim();

        el.classList.add(`animate-${effect}`);

        el.style.setProperty('--anim-speed', `${speed}s`);

      };


      updateTarget(vectorLogo);

      updateTarget(customImg);


      // Status text label update

      const labelMap = {

        'hue-linear': `Effect: Hue Cycle (0° → 360°) | Speed: ${speed}s`,

        'hue-pulse': `Effect: Saturation & Hue Pulse | Speed: ${speed}s`,

        'hue-rainbow': `Effect: Multi-Step Rainbow Burst | Speed: ${speed}s`,

        'hue-sweep': `Effect: Oscillating Sweep (-90° ↔ +90°) | Speed: ${speed}s`

      };

      

      document.getElementById('status-label').textContent = labelMap[effect] || `Speed: ${speed}s`;

    }


    function loadCustomUrl() {

      const url = document.getElementById('image-url-input').value.trim();

      if (!url) return;


      const vectorLogo = document.getElementById('default-vector');

      const customImg = document.getElementById('custom-img');


      customImg.src = url;

      customImg.onerror = function() {

        alert("Failed to load image from URL. Please ensure it is a direct image/SVG link.");

        resetToDefaultLogo();

      };

      customImg.onload = function() {

        vectorLogo.classList.add('hidden');

        customImg.classList.remove('hidden');

        applyAnimationSettings();

      };

    }


    function handleFileUpload(event) {

      const file = event.target.files[0];

      if (!file) return;


      const reader = new FileReader();

      reader.onload = function(e) {

        const vectorLogo = document.getElementById('default-vector');

        const customImg = document.getElementById('custom-img');


        customImg.src = e.target.result;

        vectorLogo.classList.add('hidden');

        customImg.classList.remove('hidden');

        applyAnimationSettings();

      };

      reader.readAsDataURL(file);

    }


    function resetToDefaultLogo() {

      const vectorLogo = document.getElementById('default-vector');

      const customImg = document.getElementById('custom-img');


      document.getElementById('image-url-input').value = '';

      document.getElementById('file-uploader').value = '';


      customImg.classList.add('hidden');

      customImg.src = '';

      vectorLogo.classList.remove('hidden');


      applyAnimationSettings();

    }


    // Initialize animation properties on load

    window.onload = function() {

      applyAnimationSettings();

    };

  </script>

</body>

</html>