<!DOCTYPE html>

<html lang="en" class="scroll-smooth">

<head>

    <meta charset="UTF-8">

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

    <title>Dilution Ratio Calculator | Professional Cleaning & Chemical Mixing</title>

    <meta name="description" content="Calculate exact chemical and water amounts for 1:64, 1:128, and custom dilution ratios. The ultimate free tool for janitorial and DIY cleaning precision.">

   

    <!-- Tailwind CSS -->

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

   

    <!-- Custom Tailwind Configuration for SaaS Branding -->

    <script>

        tailwind.config = {

            theme: {

                extend: {

                    colors: {

                        primary: '#4f46e5', // Indigo-600 (Electric Blue/SaaS Indigo)

                        primaryHover: '#4338ca', // Indigo-700

                        accentBg: '#ecfdf5', // Soft mint green for affiliate/lead gen

                        accentBorder: '#a7f3d0',

                        slateBg: '#f8fafc', // Very light gray for tool background

                        darkFooter: '#0f172a', // Deep charcoal

                    },

                    fontFamily: {

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

                    }

                }

            }

        }

    </script>

 

    <!-- Google Fonts: Inter -->

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

   

    <style>

        body { font-family: 'Inter', sans-serif; }

        /* Prevent layout shift when scrollbar appears */

        html { overflow-y: scroll; }

        /* Custom scrollbar for a polished SaaS look */

        ::-webkit-scrollbar { width: 8px; }

        ::-webkit-scrollbar-track { background: #f1f1f1; }

        ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }

        ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

    </style>

</head>

<body class="bg-white text-slate-800 antialiased selection:bg-primary selection:text-white">

 

    <!-- Sticky Navigation -->

    <header class="sticky top-0 z-50 w-full bg-white/90 backdrop-blur-md border-b border-slate-200 shadow-sm">

        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">

            <div class="flex justify-between items-center h-16">

                <div class="flex-shrink-0 flex items-center gap-2 cursor-pointer" onclick="window.scrollTo(0,0)">

                    <!-- Simple Logo Icon -->

                    <svg class="w-8 h-8 text-primary" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"></path></svg>

                    <span class="font-bold text-xl tracking-tight text-slate-900">Dilutr<span class="text-primary">Pro</span></span>

                </div>

                <nav class="hidden md:flex space-x-8">

                    <a href="#calculator" class="text-slate-600 hover:text-primary font-medium transition-colors">Calculator</a>

                    <a href="#guide" class="text-slate-600 hover:text-primary font-medium transition-colors">How it Works</a>

                    <a href="#hubs" class="text-slate-600 hover:text-primary font-medium transition-colors">Knowledge Base</a>

                    <a href="#articles" class="text-slate-600 hover:text-primary font-medium transition-colors">Guides</a>

                </nav>

                <div class="md:hidden flex items-center">

                    <button class="text-slate-500 hover:text-slate-900 focus:outline-none">

                        <svg class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg>

                    </button>

                </div>

            </div>

        </div>

    </header>

 

    <main>

        <!-- 1. The Immediate Solution (The Hero Section / Core Utility) -->

        <section id="calculator" class="bg-slateBg pt-16 pb-20 px-4 sm:px-6 lg:px-8 border-b border-slate-200">

            <div class="max-w-4xl mx-auto text-center mb-10">

                <h1 class="text-4xl md:text-5xl font-extrabold text-slate-900 tracking-tight mb-4">

                    Exact Dilution Ratios, <span class="text-primary">Instantly.</span>

                </h1>

                <p class="text-lg text-slate-600 max-w-2xl mx-auto">

                    Stop guessing. Calculate the precise amount of chemical and water needed for any spray bottle, mop bucket, or pressure washer.

                </p>

            </div>

 

            <!-- The Calculator App Interface -->

            <div class="max-w-3xl mx-auto bg-white rounded-2xl shadow-xl overflow-hidden border border-slate-100 transition-all hover:shadow-2xl">

                <div class="p-6 sm:p-10">

                    <div class="grid grid-cols-1 md:grid-cols-2 gap-8">

                        <!-- Inputs -->

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

                            <div>

                                <label for="volume" class="block text-sm font-semibold text-slate-700 mb-2">Total Container Size</label>

                                <div class="relative rounded-md shadow-sm">

                                    <input type="number" id="volume" value="32" class="form-input block w-full rounded-lg border-slate-300 py-3 px-4 focus:ring-primary focus:border-primary border text-lg" placeholder="e.g. 32">

                                    <div class="absolute inset-y-0 right-0 flex items-center">

                                        <label for="unit" class="sr-only">Unit</label>

                                        <select id="unit" class="h-full rounded-md border-transparent bg-transparent py-0 pl-2 pr-7 text-slate-500 focus:ring-primary focus:border-primary sm:text-sm font-medium">

                                            <option value="oz">oz</option>

                                            <option value="gal">Gallons</option>

                                            <option value="ml">ml</option>

                                            <option value="L">Liters</option>

                                        </select>

                                    </div>

                                </div>

                            </div>

                           

                            <div>

                                <label for="ratio" class="block text-sm font-semibold text-slate-700 mb-2">Target Dilution Ratio</label>

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

                                    <span class="text-xl font-bold text-slate-400">1 :</span>

                                    <input type="number" id="ratio" value="128" class="form-input block w-full rounded-lg border-slate-300 py-3 px-4 focus:ring-primary focus:border-primary border text-lg" placeholder="e.g. 128">

                                </div>

                                <p class="mt-2 text-xs text-slate-500">Common: 1:10 (Heavy), 1:64 (Daily), 1:128 (Glass)</p>

                            </div>

                           

                            <button id="calcBtn" class="w-full bg-primary hover:bg-primaryHover text-white font-bold py-3.5 px-4 rounded-lg shadow-md hover:shadow-lg transform hover:-translate-y-0.5 transition-all duration-200 flex items-center justify-center gap-2">

                                <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z"></path></svg>

                                Calculate Mix

                            </button>

                        </div>

 

                        <!-- Outputs -->

                        <div class="bg-slate-50 rounded-xl p-6 border border-slate-100 flex flex-col justify-center">

                            <h3 class="text-sm uppercase tracking-wider font-bold text-slate-500 mb-6 text-center">Your Perfect Mix</h3>

                           

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

                                <div class="text-center">

                                    <div class="text-sm font-medium text-slate-500 mb-1">Add Chemical Product</div>

                                    <div class="flex items-baseline justify-center gap-1">

                                        <span id="out-chem" class="text-4xl font-extrabold text-primary">0.25</span>

                                        <span id="out-chem-unit" class="text-lg font-bold text-slate-600">oz</span>

                                    </div>

                                </div>

                               

                                <div class="relative">

                                    <div class="absolute inset-0 flex items-center" aria-hidden="true">

                                        <div class="w-full border-t border-slate-200"></div>

                                    </div>

                                    <div class="relative flex justify-center">

                                        <span class="bg-slate-50 px-2 text-sm text-slate-400 font-bold">+</span>

                                    </div>

                                </div>

 

                                <div class="text-center">

                                    <div class="text-sm font-medium text-slate-500 mb-1">Add Water</div>

                                    <div class="flex items-baseline justify-center gap-1">

                                        <span id="out-water" class="text-4xl font-extrabold text-blue-500">31.75</span>

                                        <span id="out-water-unit" class="text-lg font-bold text-slate-600">oz</span>

                                    </div>

                                </div>

                            </div>

                        </div>

                    </div>

                </div>

                <!-- Warning Ribbon -->

                <div class="bg-amber-50 px-6 py-3 border-t border-amber-100">

                    <p class="text-xs text-amber-800 flex items-center gap-2 font-medium">

                        <svg class="w-4 h-4 shrink-0" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z" clip-rule="evenodd"></path></svg>

                        <strong>Safety First:</strong> Always add chemicals to water, never water to chemicals, to prevent dangerous splashing.

                    </p>

                </div>

            </div>

        </section>

 

        <!-- 2. The Explainer & FAQ (Contextual Content Layer for AdSense / SEO) -->

        <section id="guide" class="py-20 px-4 sm:px-6 lg:px-8 bg-white">

            <div class="max-w-4xl mx-auto">

                <div class="mb-12 text-center">

                    <h2 class="text-3xl font-bold text-slate-900 mb-4">How Dilution Ratios Actually Work</h2>

                    <p class="text-lg text-slate-600">Understanding the math behind the mix ensures effective cleaning, saves money on concentrated chemicals, and prevents surface damage.</p>

                </div>

 

                <div class="prose prose-lg prose-slate max-w-none text-slate-700 space-y-6">

                    <p>A dilution ratio like <strong>1:64</strong> is a chemical expression indicating that for every <em>1 part</em> of concentrated chemical, you must add <em>64 parts</em> of water. Because total volume consists of both the chemical and the water, the total number of "parts" in a 1:64 ratio is actually 65.</p>

                   

                    <div class="bg-slateBg p-6 border-l-4 border-primary rounded-r-lg my-8">

                        <h3 class="text-xl font-bold text-slate-900 mb-2 mt-0">The Core Formula</h3>

                        <p class="mb-0 text-slate-700 font-mono text-sm">Target Volume / (Ratio Number + 1) = Ounces of Chemical Required</p>

                    </div>

 

                    <p>For example, if you are filling a standard 32-ounce spray bottle with a product requiring a 1:128 dilution:</p>

                    <ul class="list-disc pl-6 space-y-2 mb-8">

                        <li>Total Parts = 128 (Water) + 1 (Chemical) = 129 total parts.</li>

                        <li>Divide 32 ounces by 129.</li>

                        <li>Result: <strong>0.248 ounces</strong> of chemical is needed. The remainder (31.75 oz) is water.</li>

                    </ul>

 

                    <h3 class="text-2xl font-bold text-slate-900 mt-12 mb-6 border-b pb-2">Frequently Asked Questions</h3>

                   

                    <!-- FAQ Accodion Structure (CSS Only via Hover/Open for simplicity) -->

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

                        <details class="group bg-white border border-slate-200 rounded-lg open:shadow-md transition-all">

                            <summary class="flex justify-between items-center font-medium cursor-pointer list-none p-5 text-slate-800 hover:text-primary">

                                <span>Does water temperature affect the dilution ratio?</span>

                                <span class="transition group-open:rotate-180">

                                    <svg fill="none" height="24" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" width="24"><path d="M6 9l6 6 6-6"></path></svg>

                                </span>

                            </summary>

                            <p class="text-slate-600 px-5 pb-5 leading-relaxed">

                                While water temperature does not change the mathematical ratio, it <em>does</em> affect chemical efficacy. Most commercial enzymatic cleaners and disinfectants are designed to be mixed with cold or room-temperature water. Hot water can degrade active ingredients like quaternary ammonium or cause off-gassing of toxic fumes in bleach.

                            </p>

                        </details>

 

                        <details class="group bg-white border border-slate-200 rounded-lg open:shadow-md transition-all">

                            <summary class="flex justify-between items-center font-medium cursor-pointer list-none p-5 text-slate-800 hover:text-primary">

                                <span>Can I pre-mix chemicals and store them?</span>

                                <span class="transition group-open:rotate-180">

                                    <svg fill="none" height="24" shape-rendering="geometricPrecision" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5" viewBox="0 0 24 24" width="24"><path d="M6 9l6 6 6-6"></path></svg>

                                </span>

                            </summary>

                            <p class="text-slate-600 px-5 pb-5 leading-relaxed">

                                It depends on the chemical. Hypochlorous acid and bleach (sodium hypochlorite) solutions degrade quickly once diluted and exposed to light. They should be used within 24 hours. General purpose degreasers and glass cleaners can typically be stored in a diluted state for weeks.

                            </p>

                        </details>

                    </div>

                </div>

            </div>

        </section>

 

        <!-- 3. The Deeper Why Monetization Block (Affiliate / Lead Gen) -->

        <section id="next-step" class="py-12 px-4 sm:px-6 lg:px-8 bg-white">

            <div class="max-w-4xl mx-auto">

                <div class="bg-accentBg border border-accentBorder rounded-2xl p-8 md:p-12 flex flex-col md:flex-row items-center gap-8 shadow-sm hover:shadow-md transition-shadow">

                    <div class="flex-1 text-center md:text-left">

                        <div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-emerald-100 text-emerald-800 text-xs font-bold uppercase tracking-wider mb-4">

                            Free Resource

                        </div>

                        <h3 class="text-2xl font-bold text-slate-900 mb-3">Tired of doing the math every shift?</h3>

                        <p class="text-slate-700 mb-6">

                            Download our free, printable 1-page <strong>Dilution Ratio Cheat Sheet</strong>. Hang it in the janitor closet or supply room for instant reference on 32oz bottles, 1-gallon jugs, and 5-gallon mop buckets.

                        </p>

                        <form class="flex flex-col sm:flex-row gap-3">

                            <input type="email" placeholder="Enter your email address" class="flex-1 rounded-lg border-emerald-200 py-3 px-4 focus:ring-emerald-500 focus:border-emerald-500 border outline-none" required>

                            <button type="button" class="bg-emerald-600 hover:bg-emerald-700 text-white font-bold py-3 px-6 rounded-lg shadow-sm hover:shadow-md transform hover:-translate-y-0.5 transition-all whitespace-nowrap">

                                Get Cheat Sheet

                            </button>

                        </form>

                    </div>

                    <div class="hidden md:block w-48 shrink-0">

                        <!-- Abstract document illustration -->

                        <div class="w-full h-56 bg-white border-2 border-emerald-200 rounded-lg shadow-lg relative transform rotate-3">

                            <div class="absolute top-4 left-4 w-12 h-2 bg-emerald-200 rounded"></div>

                            <div class="absolute top-10 left-4 right-4 h-1 bg-slate-100 rounded"></div>

                            <div class="absolute top-14 left-4 right-4 h-1 bg-slate-100 rounded"></div>

                            <div class="absolute top-18 left-4 right-10 h-1 bg-slate-100 rounded"></div>

                            <div class="absolute bottom-4 right-4 w-12 h-12 bg-emerald-100 rounded-full border-2 border-emerald-300"></div>

                        </div>

                    </div>

                </div>

            </div>

        </section>

 

        <!-- 4. Topic Hubs (Pillar Pages) -->

        <section id="hubs" class="py-20 px-4 sm:px-6 lg:px-8 bg-slateBg border-t border-slate-200">

            <div class="max-w-7xl mx-auto">

                <div class="mb-12 text-center">

                    <h2 class="text-3xl font-bold text-slate-900 mb-4">Chemical Mixing Hubs</h2>

                    <p class="text-lg text-slate-600 max-w-2xl mx-auto">Deep-dive guides into specific chemical types, OSHA compliance, and professional dilution standards.</p>

                </div>

 

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

                    <!-- Hub Card 1 -->

                    <a href="#" class="group bg-white rounded-xl p-8 border border-slate-200 shadow-sm hover:shadow-xl hover:border-primary/30 transform hover:-translate-y-1 transition-all duration-300">

                        <div class="w-12 h-12 bg-indigo-50 rounded-lg flex items-center justify-center text-primary mb-6 group-hover:scale-110 transition-transform">

                            <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z"></path></svg>

                        </div>

                        <h3 class="text-xl font-bold text-slate-900 mb-3 group-hover:text-primary transition-colors">Bleach & Disinfectants</h3>

                        <p class="text-slate-600 mb-4 leading-relaxed">Master the precise PPM (parts per million) required by health departments for food surfaces vs. biohazard cleanup.</p>

                        <span class="text-primary font-semibold text-sm flex items-center gap-1">Read Guide <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg></span>

                    </a>

 

                    <!-- Hub Card 2 -->

                    <a href="#" class="group bg-white rounded-xl p-8 border border-slate-200 shadow-sm hover:shadow-xl hover:border-primary/30 transform hover:-translate-y-1 transition-all duration-300">

                        <div class="w-12 h-12 bg-amber-50 rounded-lg flex items-center justify-center text-amber-600 mb-6 group-hover:scale-110 transition-transform">

                            <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 10V3L4 14h7v7l9-11h-7z"></path></svg>

                        </div>

                        <h3 class="text-xl font-bold text-slate-900 mb-3 group-hover:text-primary transition-colors">Degreasers & Solvents</h3>

                        <p class="text-slate-600 mb-4 leading-relaxed">Learn the difference between light-duty (1:64) and heavy-duty (1:4) degreaser ratios for industrial kitchens and garages.</p>

                        <span class="text-primary font-semibold text-sm flex items-center gap-1">Read Guide <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg></span>

                    </a>

 

                    <!-- Hub Card 3 -->

                    <a href="#" class="group bg-white rounded-xl p-8 border border-slate-200 shadow-sm hover:shadow-xl hover:border-primary/30 transform hover:-translate-y-1 transition-all duration-300">

                        <div class="w-12 h-12 bg-teal-50 rounded-lg flex items-center justify-center text-teal-600 mb-6 group-hover:scale-110 transition-transform">

                            <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9"></path></svg>

                        </div>

                        <h3 class="text-xl font-bold text-slate-900 mb-3 group-hover:text-primary transition-colors">Floor Care Systems</h3>

                        <p class="text-slate-600 mb-4 leading-relaxed">Avoid sticky residue and floor finish degradation by hitting the exact neutral floor cleaner ratio for auto-scrubbers.</p>

                        <span class="text-primary font-semibold text-sm flex items-center gap-1">Read Guide <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7"></path></svg></span>

                    </a>

                </div>

            </div>

        </section>

 

        <!-- 5. Programmatic SEO Spoke Pages (Traffic Engine) -->

        <section id="articles" class="py-20 px-4 sm:px-6 lg:px-8 bg-white">

            <div class="max-w-7xl mx-auto">

                <div class="flex flex-col md:flex-row md:items-end justify-between mb-10 gap-4">

                    <div>

                        <h2 class="text-3xl font-bold text-slate-900 mb-2">Specific Calculation Queries</h2>

                        <p class="text-slate-600">Quick answers to the most common dilution math problems.</p>

                    </div>

                    <button class="text-primary font-semibold hover:text-primaryHover transition-colors">View All Directory →</button>

                </div>

 

                <div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4">

                    <!-- Spoke Links (Generated Programmatically in real life) -->

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">1:128 Ratio Meaning</h4>

                        <p class="text-sm text-slate-500">1 oz per gallon</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">1:64 Ratio Meaning</h4>

                        <p class="text-sm text-slate-500">2 oz per gallon</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">1:32 Ratio Meaning</h4>

                        <p class="text-sm text-slate-500">4 oz per gallon</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">1:16 Ratio Meaning</h4>

                        <p class="text-sm text-slate-500">8 oz per gallon</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">Dilute Bleach for 32oz Bottle</h4>

                        <p class="text-sm text-slate-500">Standard disinfectant mix</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">Auto-Scrubber Mix 20 Gal</h4>

                        <p class="text-sm text-slate-500">Neutral floor cleaner</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">Peroxide 3% to 1%</h4>

                        <p class="text-sm text-slate-500">Hydrogen peroxide reduction</p>

                    </a>

                    <a href="#" class="block p-5 rounded-lg border border-slate-200 hover:border-primary/50 hover:bg-slate-50 hover:shadow-md transition-all">

                        <h4 class="font-bold text-slate-800 mb-1">PPM Calculator for Sanitizer</h4>

                        <p class="text-sm text-slate-500">Food service compliance</p>

                    </a>

                </div>

            </div>

        </section>

 

    </main>

 

    <!-- 6. Trust & Infrastructure Pages (YMYL / AdSense requirements) -->

    <footer class="bg-darkFooter text-slate-400 py-12 border-t border-slate-800">

        <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">

            <div class="grid grid-cols-1 md:grid-cols-4 gap-8 mb-8 border-b border-slate-800 pb-8">

                <div class="col-span-1 md:col-span-2">

                    <span class="font-bold text-2xl tracking-tight text-white mb-4 block">Dilutr<span class="text-primary">Pro</span></span>

                    <p class="text-sm max-w-sm leading-relaxed">

                        Providing commercial cleaners, janitorial staff, and DIYers with precise mathematical tools to ensure safety, efficacy, and compliance in chemical mixing.

                    </p>

                </div>

                <div>

                    <h4 class="text-white font-semibold mb-4 uppercase text-sm tracking-wider">Company</h4>

                    <ul class="space-y-2 text-sm">

                        <li><a href="#" class="hover:text-white transition-colors">About Us</a></li>

                        <li><a href="#" class="hover:text-white transition-colors">Contact</a></li>

                        <li><a href="#" class="hover:text-white transition-colors">Advertise</a></li>

                    </ul>

                </div>

                <div>

                    <h4 class="text-white font-semibold mb-4 uppercase text-sm tracking-wider">Legal & Trust</h4>

                    <ul class="space-y-2 text-sm">

                        <li><a href="#" class="hover:text-white transition-colors">Privacy Policy</a></li>

                        <li><a href="#" class="hover:text-white transition-colors">Terms of Service</a></li>

                        <li><a href="#" class="hover:text-white transition-colors">Cookie Policy</a></li>

                    </ul>

                </div>

            </div>

           

            <div class="text-xs text-slate-500 leading-relaxed">

                <p class="mb-2"><strong class="text-slate-300">Disclaimer (YMYL):</strong> The calculators and information provided on DilutrPro are for educational and estimation purposes only. Chemical mixing carries inherent risks including toxicity, chemical burns, and noxious gas release. Always consult the specific Manufacturer's Safety Data Sheet (MSDS/SDS) and label instructions before mixing any chemical. DilutrPro assumes no liability for damages, injuries, or regulatory fines resulting from the use of this tool.</p>

                <p>&copy; 2026 DilutrPro Utility Sites. All rights reserved.</p>

            </div>

        </div>

    </footer>

 

    <!-- Calculator Logic -->

    <script>

        document.addEventListener('DOMContentLoaded', () => {

            const btn = document.getElementById('calcBtn');

            const inputVolume = document.getElementById('volume');

            const inputRatio = document.getElementById('ratio');

            const inputUnit = document.getElementById('unit');

           

            const outChem = document.getElementById('out-chem');

            const outWater = document.getElementById('out-water');

            const outChemUnit = document.getElementById('out-chem-unit');

            const outWaterUnit = document.getElementById('out-water-unit');

 

            function performCalculation() {

                // Parse inputs

                const volume = parseFloat(inputVolume.value);

                const ratio = parseFloat(inputRatio.value);

                const unit = inputUnit.value;

 

                if (isNaN(volume) || volume <= 0 || isNaN(ratio) || ratio <= 0) {

                    alert('Please enter valid, positive numbers for volume and ratio.');

                    return;

                }

 

                // The Math: Target Volume / (Ratio + 1) = Parts Chemical

                const totalParts = ratio + 1;

                const chemicalAmount = volume / totalParts;

                const waterAmount = volume - chemicalAmount;

 

                // Format decimals nicely (remove trailing zeros if not needed)

                const formatNum = (num) => {

                    return Number.isInteger(num) ? num.toString() : num.toFixed(2).replace(/\.00$/, '');

                };

 

                // Update DOM

                outChem.textContent = formatNum(chemicalAmount);

                outWater.textContent = formatNum(waterAmount);

                outChemUnit.textContent = unit;

                outWaterUnit.textContent = unit;

               

                // Add a brief highlight animation to the output box

                const outputBox = outChem.closest('.bg-slate-50');

                outputBox.classList.add('ring-2', 'ring-primary', 'ring-offset-2', 'transition-all');

                setTimeout(() => {

                    outputBox.classList.remove('ring-2', 'ring-primary', 'ring-offset-2');

                }, 400);

            }

 

            // Calculate on click

            btn.addEventListener('click', performCalculation);

 

            // Also calculate automatically when inputs change for a modern feel

            inputVolume.addEventListener('input', performCalculation);

            inputRatio.addEventListener('input', performCalculation);

            inputUnit.addEventListener('change', performCalculation);

           

            // Run once on load to populate initial values

            performCalculation();

        });

    </script>

</body>

</html>