<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <script src="/theme-init.js"></script>
    <link rel="icon" href="/favicon.ico">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="theme-color" content="#4A90E2">

    <!-- Preconnect (max 2): Firebase only — fonts are self-hosted, GA4 loads conditionally -->
    <link rel="preconnect" href="https://firebaseapp.com" crossorigin="">
    <link rel="preconnect" href="https://firestore.googleapis.com" crossorigin="">
    <link rel="dns-prefetch" href="https://identitytoolkit.googleapis.com">
    <link rel="dns-prefetch" href="https://us-central1-splitforge-66095.cloudfunctions.net">
    <link rel="preload" href="/fonts/space-grotesk-latin.woff2" as="font" type="font/woff2" crossorigin="anonymous">

    <!-- Primary Meta Tags -->
    <title>SplitForge — Privacy-First CSV &amp; Excel Tools</title>
    <meta name="title" content="SplitForge - CSV, Excel &amp; Data Tools | Split, Merge, Clean &amp; Convert Files">
    <meta name="description" content="Professional CSV and Excel tools. Split large files, merge datasets, remove duplicates, clean data, repair corrupted files, and convert between formats. 100% client-side processing - handles files beyond Excel's 1M row limit. Your data never leaves your computer.">
    <meta name="keywords" content="CSV splitter, Excel splitter, merge CSV, Excel tools, remove duplicates, CSV tools, split large files, data tools, data cleaning, Excel row limit, CSV editor, Excel repair, file conversion, combine files, Excel compare">
    <meta name="author" content="SplitForge">
    <meta name="robots" content="index, follow">

    <!-- Open Graph / Facebook -->
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://splitforge.app/">
    <meta property="og:title" content="SplitForge - CSV, Excel &amp; Data Tools">
    <meta property="og:description" content="Split, merge, clean, and convert CSV and Excel files. Handle files beyond Excel's 1M row limit. 100% client-side processing. Your data stays private.">
    <meta property="og:image" content="https://splitforge.app/og-image.png">
    <meta property="og:site_name" content="SplitForge">

    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:url" content="https://splitforge.app/">
    <meta name="twitter:title" content="SplitForge - CSV, Excel &amp; Data Tools">
    <meta name="twitter:description" content="Split, merge, clean &amp; convert CSV/Excel files. Beyond Excel's 1M row limit. Client-side processing keeps your data private.">
    <meta name="twitter:image" content="https://splitforge.app/og-image.png">

    <!-- Canonical URL managed entirely by React Helmet (data-rh="true") per page -->

    <!-- Sitemap & RSS -->
    <link rel="sitemap" type="application/xml" title="Sitemap" href="https://splitforge.app/sitemap.xml">
    <link rel="alternate" type="application/rss+xml" title="SplitForge Blog RSS Feed" href="https://splitforge.app/feed.xml">

    <link rel="apple-touch-icon" href="/logo192.png">
    <link rel="manifest" href="/manifest.json">

    <!-- Enhanced Structured Data / Schema.org -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "SoftwareApplication",
      "name": "SplitForge",
      "url": "https://splitforge.app",
      "description": "Professional CSV, Excel, and data tools for splitting, merging, cleaning, and converting large files with 100% client-side processing",
      "applicationCategory": "BusinessApplication",
      "operatingSystem": "Any",
      "browserRequirements": "Requires JavaScript. Chrome 90+, Firefox 88+, Safari 14+, or Edge 90+ recommended",
      "offers": {
        "@type": "Offer",
        "price": "0",
        "priceCurrency": "USD",
        "availability": "https://schema.org/InStock"
      },
      "featureList": [
        "Split large CSV and Excel files beyond 1M row limit",
        "Merge multiple CSV files into one",
        "Remove duplicate rows with custom matching",
        "Find and replace text across datasets",
        "Manage columns (add, remove, reorder, rename)",
        "Split multi-value columns into separate fields",
        "Excel file splitting and sheet extraction",
        "Excel sheet comparison and diff detection",
        "Excel file repair for corrupted workbooks",
        "Convert between CSV, Excel, and JSON formats",
        "Clean and normalize data with regex support",
        "Detect and fix delimiter and encoding issues",
        "Preview large files without opening in Excel",
        "100% client-side processing - no data uploads",
        "Handle multi-GB files that crash desktop apps"
      ],
      "creator": {
        "@type": "Organization",
        "name": "SplitForge",
        "url": "https://splitforge.app"
      },
      "publisher": {
        "@type": "Organization",
        "name": "SplitForge",
        "url": "https://splitforge.app"
      },
      "screenshot": "https://splitforge.app/og-image.png",
      "softwareVersion": "1.0",
      "releaseNotes": "Initial release with 19 CSV and Excel tools",
      "permissions": "No data uploaded to servers - 100% client-side processing for complete privacy"
    }
    </script>

    <!-- Organization Schema -->
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "SplitForge",
      "url": "https://splitforge.app",
      "logo": "https://splitforge.app/logo192.png",
      "description": "Privacy-first CSV and Excel toolkit with client-side processing",
      "sameAs": [
        "https://twitter.com/splitforge",
        "https://github.com/splitforge"
      ]
    }
    </script>
    <!-- Updated: December 21, 2025 - Encoding fix -->
    <style>
      .sf-hidden { display: none !important; }
      .sf-noscript-wrapper { padding: 60px 20px; text-align: center; max-width: 800px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
      .sf-noscript-h1 { font-size: 2.5rem; margin-bottom: 20px; color: #1a1a1a; }
      .sf-noscript-h2 { color: #4A90E2; margin-bottom: 30px; font-weight: 600; }
      .sf-noscript-p { margin-bottom: 20px; line-height: 1.6; color: #333; }
      .sf-noscript-warning { background: #fff3cd; padding: 20px; border-radius: 8px; border: 1px solid #ffc107; color: #856404; }
    </style>
    <script type="module" crossorigin="" src="/assets/index-CxfTQpRk.js"></script>
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-react-CzI6Jyxm.js">
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-helmet-y082Tk3i.js">
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-firebase-7lPUlWEt.js">
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-redux-DwxXZYKF.js">
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-charts-KNO3Sg68.js">
    <link rel="modulepreload" crossorigin="" href="/assets/vendor-router-ClsT3TI-.js">
    <link rel="stylesheet" crossorigin="" href="/assets/index-D0XWJhzq.css">
  <link rel="manifest" href="/manifest.webmanifest"><style id="_goober"> @keyframes go2264125279{from{transform:scale(0) rotate(45deg);opacity:0;}to{transform:scale(1) rotate(45deg);opacity:1;}}@keyframes go3020080000{from{transform:scale(0);opacity:0;}to{transform:scale(1);opacity:1;}}@keyframes go463499852{from{transform:scale(0) rotate(90deg);opacity:0;}to{transform:scale(1) rotate(90deg);opacity:1;}}@keyframes go1268368563{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes go1310225428{from{transform:scale(0) rotate(45deg);opacity:0;}to{transform:scale(1) rotate(45deg);opacity:1;}}@keyframes go651618207{0%{height:0;width:0;opacity:0;}40%{height:0;width:6px;opacity:1;}100%{opacity:1;height:10px;}}@keyframes go901347462{from{transform:scale(0.6);opacity:0.4;}to{transform:scale(1);opacity:1;}}.go4109123758{z-index:9999;}.go4109123758 > *{pointer-events:auto;}</style><link rel="canonical" href="https://splitforge.app" data-rh="true"><meta name="description" content="Professional CSV and Excel tools. Split large files, merge datasets, remove duplicates, clean data, repair corrupted files, and convert between formats. 100% client-side processing - handles files beyond Excel's 1M row limit. Your data never leaves your computer." data-rh="true"><meta property="og:type" content="website" data-rh="true"><meta property="og:site_name" content="SplitForge" data-rh="true"><meta property="og:title" content="SplitForge — Privacy-First CSV &amp; Excel Tools" data-rh="true"><meta property="og:description" content="27 browser-based tools for CSV and Excel. Split multi-GB files, merge datasets, remove duplicates, mask PII, and convert formats — 100% client-side. Your files never leave your device." data-rh="true"><meta property="og:url" content="https://splitforge.app/" data-rh="true"><meta property="og:image" content="https://splitforge.app/og-images/default.png" data-rh="true"><meta name="twitter:card" content="summary_large_image" data-rh="true"><meta name="twitter:title" content="SplitForge — Privacy-First CSV &amp; Excel Tools" data-rh="true"><meta name="twitter:description" content="27 browser-based tools for CSV and Excel. Split multi-GB files, merge datasets, remove duplicates, mask PII, and convert formats — 100% client-side. Your files never leave your device." data-rh="true"><meta name="twitter:image" content="https://splitforge.app/og-images/default.png" data-rh="true"><link rel="modulepreload" as="script" crossorigin="" href="/assets/index-DyzJOcyl.js"></head>
  <body>
    <div id="recaptcha-container" class="sf-hidden"></div>
    <!-- Netlify Forms Detection (hidden) -->
    <form hidden method='post' name='splitforge-issue-report'><input type='hidden' name='form-name' value='splitforge-issue-report' />
      <input type="text" name="bot-field">
      <input type="text" name="tool">
      <input type="text" name="description">
      <input type="email" name="email">
      <input type="text" name="browser">
      <input type="text" name="os">
      <input type="text" name="url">
      <input type="text" name="screenSize">
      <input type="text" name="timestamp">
      <input type="text" name="errorType">
      <input type="text" name="errorMessage">
      <input type="text" name="memory">
    </form>

    <noscript>
      <div class="sf-noscript-wrapper">
        <h1 class="sf-noscript-h1">SplitForge</h1>
        <h2 class="sf-noscript-h2">Professional CSV & Excel Tools</h2>
        <p class="sf-noscript-p">Split, merge, remove duplicates, find & replace, manage columns, and convert between CSV and Excel formats.</p>
        <p class="sf-noscript-warning">
          <strong>JavaScript Required:</strong> All processing happens in YOUR browser for 100% privacy. Please enable JavaScript to use SplitForge.
        </p>
      </div>
    </noscript>

    <div id="root"><div style="min-height: 100vh; background: rgb(10, 15, 26); margin: 0px; padding: 0px; font-family: -apple-system, BlinkMacSystemFont, &quot;Segoe UI&quot;, Roboto, sans-serif;"><a href="#main-content" class="skip-link">Skip to main content</a><div role="status" aria-live="polite" aria-atomic="true" style="position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px;">Navigated to Home</div><style>
        body {
          margin: 0;
          padding: 0;
        }
        /* Custom scrollbar for mega menu */
        .mega-menu-container::-webkit-scrollbar {
          width: 8px;
        }
        .mega-menu-container::-webkit-scrollbar-track {
          background: rgba(0, 0, 0, 0.2);
          border-radius: 10px;
        }
        .mega-menu-container::-webkit-scrollbar-thumb {
          background: rgba(59, 130, 246, 0.5);
          border-radius: 10px;
        }
        .mega-menu-container::-webkit-scrollbar-thumb:hover {
          background: rgba(59, 130, 246, 0.7);
        }
        @keyframes megaMenuSlideIn {
          from {
            opacity: 0;
            transform: translateX(-50%) translateY(-10px);
          }
          to {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
          }
        }
        @keyframes fadeInBackdrop {
          from { opacity: 0; }
          to { opacity: 1; }
        }
        @keyframes slideDown {
          from { opacity: 0; transform: translateY(-20px); }
          to { opacity: 1; transform: translateY(0); }
        }
        @keyframes shimmer {
          0% { background-position: -200% 0; }
          100% { background-position: 200% 0; }
        }
        @keyframes pulse {
          0%, 100% { opacity: 1; }
          50% { opacity: 0.8; }
        }
        @keyframes scaleIn {
          from { opacity: 0; transform: scale(0.95); }
          to { opacity: 1; transform: scale(1); }
        }
        @keyframes popoverIn {
          from { opacity: 0; transform: translateY(-6px); }
          to { opacity: 1; transform: translateY(0); }
        }
      </style><nav style="background: var(--color-card-bg); backdrop-filter: blur(10px); border-bottom: 1px solid var(--color-card-border); position: sticky; top: 0px; left: 0px; right: 0px; width: 100%; margin: 0px; padding: 0px; z-index: 1003; box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; transition: background-color 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;"><div style="max-width: 1200px; margin: 0px auto; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px;"><a href="/" data-discover="true" style="text-decoration: none; display: flex; align-items: center; gap: 8px; position: relative; z-index: 1002; pointer-events: auto;"><div style="display: flex; align-items: center; gap: 6px; padding: 8px 0px;"><span style="font-size: 1.3rem; font-weight: 800; background: linear-gradient(135deg, rgb(40, 116, 210) 0%, rgb(100, 181, 246) 50%, rgb(255, 140, 66) 100%) text; -webkit-text-fill-color: transparent; letter-spacing: -1px; line-height: 1.2; margin: 0px; display: flex; align-items: center; white-space: nowrap;">🔥 SplitForge</span></div></a><div style="display: flex; align-items: center; gap: 8px; position: relative; z-index: 1002;"><button title="Theme: system" aria-label="Theme: system" style="display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0px; background: transparent; border: none; color: var(--color-text-secondary); cursor: pointer;"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-monitor" aria-hidden="true"><rect width="20" height="14" x="2" y="3" rx="2"></rect><line x1="8" x2="16" y1="21" y2="21"></line><line x1="12" x2="12" y1="17" y2="21"></line></svg></button><button aria-label="Menu" aria-expanded="false" style="display: flex; align-items: center; justify-content: center; padding: 8px; background: transparent; border: none; color: var(--color-text-primary); cursor: pointer; transition: background-color 0.3s, border-color 0.3s, color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></nav><main id="main-content"><div class="hp-root" data-homepage="true"><canvas aria-hidden="true" width="800" height="600" style="position: fixed; inset: 0px; z-index: 0; pointer-events: none; width: 800px; height: 600px;"></canvas><div style="position: relative; z-index: 10;"><section style="position: relative; display: flex; align-items: flex-start; justify-content: center; padding: 2rem 1rem 3rem;"><div style="position: relative; z-index: 10; width: 100%; max-width: 1100px;"><div class="glass-card" style="border-radius: 2rem; overflow: hidden;"><div class="shimmer-top"></div><div class="hp-hero-inner" style="padding: 4rem 3rem; text-align: center;"><span class="section-label" style="margin-bottom: 1.5rem; display: block;">Privacy-First Data Toolkit</span><h1 style="font-size: clamp(2.25rem, 6vw, 4.25rem); font-weight: 700; line-height: 1; letter-spacing: -0.04em; margin: 0px auto 1.5rem; max-width: 820px;">Your data never leaves your browser. <span style="color: var(--hp-primary-light);">Your results arrive in seconds.</span></h1><p style="font-size: clamp(1rem, 2vw, 1.2rem); color: var(--hp-muted); max-width: 600px; margin: 0px auto 2rem; line-height: 1.65;">27 browser-based tools for CSV, Excel, and data work — no uploads, no cloud, no risk.</p><div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-bottom: 2.5rem;"><span class="hp-pill">No uploads</span><span class="hp-pill">Works offline</span><span class="hp-pill">HIPAA-aligned</span><span class="hp-pill">10M+ rows</span><span class="hp-pill">27 tools</span></div><div class="hp-hero-ctas" style="display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin-bottom: 1rem;"><a class="hp-btn-cta" href="/login" data-discover="true">Get Started Free</a><a class="hp-btn-ghost" href="/tools" data-discover="true">See All 27 Tools</a></div><p style="font-size: 0.75rem; color: var(--hp-muted);">25 free operations/month. No credit card.</p></div></div></div></section><section style="position: relative; padding-top: 2rem; padding-bottom: 1.6rem; overflow: hidden; z-index: 10;"><div class="absolute-fill social-proof-bg" style="position: absolute; inset: 0px;"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.3), transparent);"></div><div style="position: absolute; bottom: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.2), transparent);"></div><div class="social-proof-sweep"></div><div class="hp-proof-bar" style="position: relative; z-index: 10; margin: 0px auto; max-width: 900px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0px 2rem; padding: 0px 1rem;"><span style="display: flex; align-items: center; gap: 2rem;"><span class="proof-stat" style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; letter-spacing: 0.02em; --glow: 0.576;"><span style="font-family: monospace; font-weight: 600; color: var(--hp-fg); text-shadow: calc(var(--glow, 0) * 12px) 0 calc(var(--glow, 0) * 12px) rgba(255,140,66,calc(var(--glow, 0) * 0.6));">2M+</span><span style="color: var(--hp-muted);">rows in seconds</span></span><span class="hp-proof-divider" style="width: 1px; height: 0.75rem; background: linear-gradient(transparent, rgba(40, 116, 210, 0.3), transparent);"></span></span><span style="display: flex; align-items: center; gap: 2rem;"><span class="proof-stat" style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; letter-spacing: 0.02em; --glow: 0.397;"><span style="font-family: monospace; font-weight: 600; color: var(--hp-fg); text-shadow: calc(var(--glow, 0) * 12px) 0 calc(var(--glow, 0) * 12px) rgba(255,140,66,calc(var(--glow, 0) * 0.6));">27</span><span style="color: var(--hp-muted);">tools</span></span><span class="hp-proof-divider" style="width: 1px; height: 0.75rem; background: linear-gradient(transparent, rgba(40, 116, 210, 0.3), transparent);"></span></span><span style="display: flex; align-items: center; gap: 2rem;"><span class="proof-stat" style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; letter-spacing: 0.02em; --glow: 0.231;"><span style="font-family: monospace; font-weight: 600; color: var(--hp-fg); text-shadow: calc(var(--glow, 0) * 12px) 0 calc(var(--glow, 0) * 12px) rgba(255,140,66,calc(var(--glow, 0) * 0.6));">RAM*</span><span style="color: var(--hp-muted);">files on Business</span></span><span class="hp-proof-divider" style="width: 1px; height: 0.75rem; background: linear-gradient(transparent, rgba(40, 116, 210, 0.3), transparent);"></span></span><span style="display: flex; align-items: center; gap: 2rem;"><span class="proof-stat" style="display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; letter-spacing: 0.02em; --glow: 0.100;"><span style="font-family: monospace; font-weight: 600; color: var(--hp-fg); text-shadow: calc(var(--glow, 0) * 12px) 0 calc(var(--glow, 0) * 12px) rgba(255,140,66,calc(var(--glow, 0) * 0.6));">100%</span><span style="color: var(--hp-muted);">browser-based</span></span></span></div><p style="position: relative; z-index: 10; text-align: center; margin-top: 0.75rem; font-size: 0.65rem; color: var(--hp-muted); opacity: 0.6;">* File size limits subject to available RAM</p></section><section class="hp-section" style="padding: 6rem 1rem; position: relative; z-index: 10;"><div style="margin: 0px auto; max-width: 1100px;"><span class="section-label" style="margin-bottom: 1rem; display: block;">How It Works</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; margin-bottom: 5rem; max-width: 640px; line-height: 1.1;">Drop a file. Get results. Nothing ever leaves your machine.</h2><div class="hp-viz-rows" style="display: flex; flex-direction: column; gap: 5rem;"><div class="hp-two-col" style="display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; opacity: 0; transform: translateY(32px);"><div class="viz-text-col" style="display: flex; flex-direction: column; justify-content: center; gap: 1rem;"><div style="display: flex; align-items: center; gap: 0.75rem;"><div class="step-circle">01</div><span class="section-label" style="margin-bottom: 0px;">Upload</span></div><h3 style="font-size: clamp(1.1rem, 2.5vw, 1.4rem); font-weight: 700; line-height: 1.2; color: var(--hp-fg); margin: 0px;">Your file goes into the browser — not our servers.</h3><p style="font-size: 0.9375rem; color: var(--hp-muted); line-height: 1.7; margin: 0px;">Drag-and-drop or browse for CSV, Excel, or JSON. The moment you select a file it loads into browser memory. No network request is made. No upload happens.</p><p style="font-size: 0.8125rem; color: rgba(136, 153, 181, 0.6); line-height: 1.6; margin: 0px; font-style: italic;">Your file stays on your machine from the first byte to the last.</p></div><div class="glass-card viz-svg-col" style="padding: 2rem; display: flex; align-items: center; justify-content: center;"><svg viewBox="0 0 300 190" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 100%; height: auto;"><rect x="12" y="30" width="160" height="110" rx="6" fill="rgba(40,116,210,0.08)" stroke="#2874D2" stroke-width="1.5"></rect><rect x="12" y="30" width="160" height="18" rx="6" fill="rgba(40,116,210,0.18)"></rect><circle cx="24" cy="39" r="3" fill="#ff6b6b" opacity="0.7"></circle><circle cx="34" cy="39" r="3" fill="#ffc107" opacity="0.7"></circle><circle cx="44" cy="39" r="3" fill="#2ecc71" opacity="0.7"></circle><rect x="55" y="34" width="80" height="10" rx="3" fill="rgba(255,255,255,0.07)"></rect><g opacity="0" style="transform: translateY(-20px); transform-origin: 50% 50%; transform-box: fill-box;"><rect x="74" y="58" width="36" height="44" rx="3" fill="rgba(40,116,210,0.15)" stroke="#2874D2" stroke-width="1.2"></rect><path d="M85 68 H96 M85 75 H99 M85 82 H93" stroke="#64b5f6" stroke-width="1.2" stroke-linecap="round"></path><path d="M93 58 L104 69 L93 69 Z" fill="rgba(40,116,210,0.3)" stroke="#2874D2" stroke-width="1"></path></g><path d="M175 85 L230 85" stroke="rgba(255,107,107,0.5)" stroke-width="1.5" stroke-dasharray="0 1" fill="none" pathLength="1" stroke-dashoffset="0"></path><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0);"><circle cx="168" cy="85" r="8" fill="rgba(255,107,107,0.12)" stroke="#ff6b6b" stroke-width="1.3"></circle><path d="M163 80 L173 90 M173 80 L163 90" stroke="#ff6b6b" stroke-width="1.5" stroke-linecap="round"></path></g><rect x="240" y="60" width="48" height="50" rx="5" fill="rgba(255,107,107,0.05)" stroke="rgba(255,107,107,0.3)" stroke-width="1.2"></rect><rect x="246" y="67" width="36" height="5" rx="2" fill="rgba(255,107,107,0.2)"></rect><rect x="246" y="76" width="36" height="5" rx="2" fill="rgba(255,107,107,0.2)"></rect><rect x="246" y="85" width="36" height="5" rx="2" fill="rgba(255,107,107,0.2)"></rect><text x="264" y="124" text-anchor="middle" fill="rgba(255,107,107,0.5)" font-size="8" font-family="monospace">SERVER</text><text x="92" y="158" text-anchor="middle" fill="rgba(255,255,255,0.35)" font-size="8.5" font-family="monospace" letter-spacing="0.04em">Connection blocked — by design</text></svg></div></div><div class="hp-two-col" style="display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; opacity: 0; transform: translateY(32px);"><div class="glass-card viz-svg-col" style="padding: 2rem; display: flex; align-items: center; justify-content: center;"><svg viewBox="0 0 300 190" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 100%; height: auto;"><rect x="55" y="20" width="190" height="130" rx="6" fill="rgba(40,116,210,0.07)" stroke="#2874D2" stroke-width="1.5"></rect><rect x="55" y="20" width="190" height="18" rx="6" fill="rgba(40,116,210,0.18)"></rect><circle cx="67" cy="29" r="3" fill="#ff6b6b" opacity="0.7"></circle><circle cx="77" cy="29" r="3" fill="#ffc107" opacity="0.7"></circle><circle cx="87" cy="29" r="3" fill="#2ecc71" opacity="0.7"></circle><rect x="98" y="24" width="100" height="10" rx="3" fill="rgba(255,255,255,0.07)"></rect><rect x="55" y="20" width="190" height="130" rx="6" fill="none" stroke="#2874D2" stroke-width="2" opacity="0"></rect><circle cx="150" cy="95" r="42" stroke="rgba(40,116,210,0.35)" stroke-width="1.5" stroke-dasharray="8 6" fill="none" style="transform-box: fill-box; transform-origin: 50% 50%; transform: none;"></circle><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.6);"><circle cx="150" cy="95" r="12" fill="rgba(40,116,210,0.18)" stroke="#2874D2" stroke-width="1.3"></circle><circle cx="150" cy="95" r="5" fill="rgba(40,116,210,0.4)"></circle><line x1="162" y1="95" x2="167" y2="95" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line><line x1="156" y1="105.39230484541326" x2="158.5" y2="109.72243186433546" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line><line x1="144" y1="105.39230484541326" x2="141.5" y2="109.72243186433546" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line><line x1="138" y1="95" x2="133" y2="95" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line><line x1="144" y1="84.60769515458674" x2="141.5" y2="80.27756813566455" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line><line x1="156" y1="84.60769515458674" x2="158.5" y2="80.27756813566454" stroke="#2874D2" stroke-width="3.5" stroke-linecap="round" opacity="0.75"></line></g><circle r="5" fill="#ff8c42" filter="url(#glow-orange)" cx="212" cy="95" opacity="0"></circle><circle r="5" fill="#ff8c42" filter="url(#glow-orange)" cx="119.00000000000001" cy="127.90896534380867" opacity="0"></circle><circle r="5" fill="#ff8c42" filter="url(#glow-orange)" cx="118.99999999999997" cy="62.09103465619134" opacity="0"></circle><defs><filter id="glow-orange" x="-80%" y="-80%" width="260%" height="260%"><feGaussianBlur stdDeviation="3" result="blur"></feGaussianBlur><feMerge><feMergeNode in="blur"></feMergeNode><feMergeNode in="SourceGraphic"></feMergeNode></feMerge></filter></defs><text x="150" y="170" text-anchor="middle" fill="rgba(255,255,255,0.35)" font-size="8.5" font-family="monospace" letter-spacing="0.04em">Processing inside your browser tab</text></svg></div><div class="viz-text-col" style="display: flex; flex-direction: column; justify-content: center; gap: 1rem;"><div style="display: flex; align-items: center; gap: 0.75rem;"><div class="step-circle">02</div><span class="section-label" style="margin-bottom: 0px;">Process</span></div><h3 style="font-size: clamp(1.1rem, 2.5vw, 1.4rem); font-weight: 700; line-height: 1.2; color: var(--hp-fg); margin: 0px;">A Web Worker runs the operation inside your tab.</h3><p style="font-size: 0.9375rem; color: var(--hp-muted); line-height: 1.7; margin: 0px;">Every tool — splitting, merging, deduplicating, converting — runs in an isolated Web Worker thread. Your CPU does the work, not a cloud VM.</p><p style="font-size: 0.8125rem; color: rgba(136, 153, 181, 0.6); line-height: 1.6; margin: 0px; font-style: italic;">27 tools. All client-side. Zero data egress.</p></div></div><div class="hp-two-col" style="display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; opacity: 0; transform: translateY(32px);"><div class="viz-text-col" style="display: flex; flex-direction: column; justify-content: center; gap: 1rem;"><div style="display: flex; align-items: center; gap: 0.75rem;"><div class="step-circle">03</div><span class="section-label" style="margin-bottom: 0px;">Download</span></div><h3 style="font-size: clamp(1.1rem, 2.5vw, 1.4rem); font-weight: 700; line-height: 1.2; color: var(--hp-fg); margin: 0px;">Your results come from your machine, not our CDN.</h3><p style="font-size: 0.9375rem; color: var(--hp-muted); line-height: 1.7; margin: 0px;">The output file is assembled in memory and handed directly to your browser's download manager. It was never on a server to begin with.</p><p style="font-size: 0.8125rem; color: rgba(136, 153, 181, 0.6); line-height: 1.6; margin: 0px; font-style: italic;">No account required. No retention. No trace.</p></div><div class="glass-card viz-svg-col" style="padding: 2rem; display: flex; align-items: center; justify-content: center;"><svg viewBox="0 0 300 190" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 100%; height: auto;"><rect x="12" y="20" width="160" height="110" rx="6" fill="rgba(40,116,210,0.07)" stroke="#2874D2" stroke-width="1.5"></rect><rect x="12" y="20" width="160" height="18" rx="6" fill="rgba(40,116,210,0.18)"></rect><circle cx="24" cy="29" r="3" fill="#ff6b6b" opacity="0.7"></circle><circle cx="34" cy="29" r="3" fill="#ffc107" opacity="0.7"></circle><circle cx="44" cy="29" r="3" fill="#2ecc71" opacity="0.7"></circle><rect x="55" y="24" width="80" height="10" rx="3" fill="rgba(255,255,255,0.07)"></rect><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.6);"><rect x="74" y="44" width="36" height="44" rx="3" fill="rgba(46,204,113,0.15)" stroke="#2ecc71" stroke-width="1.4"></rect><path d="M85 54 H96 M85 61 H99 M85 68 H93" stroke="#2ecc71" stroke-width="1.2" stroke-linecap="round"></path><path d="M93 44 L104 55 L93 55 Z" fill="rgba(46,204,113,0.3)" stroke="#2ecc71" stroke-width="1"></path></g><path d="M92 92 L92 112" stroke="#2ecc71" stroke-width="2" stroke-linecap="round" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><path d="M84 105 L92 114 L100 105" stroke="#2ecc71" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><g opacity="0" style="transform: translateY(6px); transform-origin: 50% 50%; transform-box: fill-box;"><rect x="60" y="117" width="64" height="14" rx="4" fill="rgba(46,204,113,0.12)" stroke="#2ecc71" stroke-width="1.2"></rect><text x="92" y="127" text-anchor="middle" fill="#2ecc71" font-size="7" font-family="monospace">Downloaded ✓</text></g><line x1="175" y1="75" x2="228" y2="75" stroke="rgba(255,107,107,0.3)" stroke-width="1.2" stroke-dasharray="5 4"></line><circle cx="168" cy="75" r="8" fill="rgba(255,107,107,0.08)" stroke="rgba(255,107,107,0.3)" stroke-width="1.1"></circle><path d="M163 70 L173 80 M173 70 L163 80" stroke="rgba(255,107,107,0.4)" stroke-width="1.3" stroke-linecap="round"></path><rect x="238" y="50" width="48" height="50" rx="5" fill="rgba(255,107,107,0.04)" stroke="rgba(255,107,107,0.25)" stroke-width="1.1"></rect><rect x="244" y="57" width="36" height="5" rx="2" fill="rgba(255,107,107,0.15)"></rect><rect x="244" y="66" width="36" height="5" rx="2" fill="rgba(255,107,107,0.15)"></rect><rect x="244" y="75" width="36" height="5" rx="2" fill="rgba(255,107,107,0.15)"></rect><text x="262" y="114" text-anchor="middle" fill="rgba(255,107,107,0.4)" font-size="8" font-family="monospace">SERVER</text><text x="92" y="158" text-anchor="middle" fill="rgba(255,255,255,0.35)" font-size="8.5" font-family="monospace" letter-spacing="0.04em">Downloaded from your machine, not ours</text></svg></div></div></div></div></section><section style="position: relative; z-index: 10;"><div class="social-proof-bg" style="position: absolute; inset: 0px; pointer-events: none;"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.3), transparent); pointer-events: none;"></div><div style="position: absolute; bottom: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.2), transparent); pointer-events: none;"></div><div class="hp-section-inner" style="margin: 0px auto; max-width: 1100px; padding: 6rem 1rem; position: relative; z-index: 1;"><span class="section-label" style="margin-bottom: 1rem; display: block;">27 Tools. One Toolkit.</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; margin-bottom: 4rem; max-width: 700px; line-height: 1.1;">Everything your data team needs. Nothing they have to trust to the cloud.</h2><div class="tool-showcase-grid"><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/csv-splitter" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 280px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.5), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(40, 116, 210, 0.15); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-spreadsheet" aria-hidden="true" style="color: rgb(40, 116, 210); display: block;"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M8 13h2"></path><path d="M14 13h2"></path><path d="M8 17h2"></path><path d="M14 17h2"></path></svg></div><span style="background: rgba(40, 116, 210, 0.15); border: 1px solid rgba(40, 116, 210, 0.3); color: rgb(40, 116, 210); font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.18em; padding: 0.2rem 0.6rem; border-radius: 9999px; font-weight: 500; white-space: nowrap;">Most used</span></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">9 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">CSV Operations</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">Split, merge, filter, sort</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">CSV Splitter</span><span class="tool-name-pill">CSV Merger</span><span class="tool-name-pill">Find &amp; Replace</span><span class="tool-name-pill tool-pill-more">+6 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(40, 116, 210);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/excel-splitter" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 240px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(46, 204, 113, 0.4), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(46, 204, 113, 0.12); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table2 lucide-table-2" aria-hidden="true" style="color: rgb(46, 204, 113); display: block;"><path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"></path></svg></div></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">5 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">Excel Tools</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">Convert, extract, transform</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">Excel Cleaner</span><span class="tool-name-pill">Excel Splitter</span><span class="tool-name-pill tool-pill-more">+3 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(46, 204, 113);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/data-validator" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 280px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.5), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(255, 140, 66, 0.12); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true" style="color: rgb(255, 140, 66); display: block;"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></div><span style="background: rgba(255, 140, 66, 0.12); border: 1px solid rgba(255, 140, 66, 0.3); color: rgb(255, 140, 66); font-size: 0.55rem; text-transform: uppercase; letter-spacing: 0.18em; padding: 0.2rem 0.6rem; border-radius: 9999px; font-weight: 500; white-space: nowrap;">Healthcare ready</span></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">4 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">Data Validation</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">Schema, type, format checks</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">Data Validator</span><span class="tool-name-pill">Schema Checker</span><span class="tool-name-pill tool-pill-more">+2 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(255, 140, 66);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/remove-duplicates" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 240px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(100, 181, 246, 0.4), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(100, 181, 246, 0.12); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-copy" aria-hidden="true" style="color: rgb(100, 181, 246); display: block;"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"></rect><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"></path></svg></div></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">3 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">Deduplication</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">Exact, fuzzy, cross-file</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">Remove Duplicates</span><span class="tool-name-pill tool-pill-more">+2 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(100, 181, 246);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/format-converter" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 240px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 193, 7, 0.4), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(255, 193, 7, 0.12); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-left" aria-hidden="true" style="color: rgb(255, 193, 7); display: block;"><path d="m16 3 4 4-4 4"></path><path d="M20 7H4"></path><path d="m8 21-4-4 4-4"></path><path d="M4 17h16"></path></svg></div></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">4 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">Format Conversion</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">CSV, JSON, XML, Excel</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">Format Converter</span><span class="tool-name-pill">Excel to CSV</span><span class="tool-name-pill tool-pill-more">+2 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(255, 193, 7);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div><div style="height: 100%; opacity: 0; transform: translateY(24px);"><a href="/tools/data-cleaner" data-discover="true" style="text-decoration: none; display: flex; flex-direction: column; height: 100%;"><div class="glass-card tool-showcase-card" style="padding: 1.75rem; position: relative; overflow: hidden; display: flex; flex-direction: column; height: 100%; min-height: 240px; transform: translateY(0px); transition: transform 0.25s, box-shadow 0.25s, border-color 0.25s;"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.3), transparent); opacity: 0.4; transition: opacity 0.3s;"></div><div style="position: absolute; top: -3rem; right: -3rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(255, 140, 66, 0.1); filter: blur(2.5rem); opacity: 0.6; transition: opacity 0.4s; pointer-events: none;"></div><div style="display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 0.875rem; position: relative;"><div style="display: flex; align-items: center; gap: 0.5rem;"><div style="transform: none;"><svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles" aria-hidden="true" style="color: rgb(255, 140, 66); display: block;"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div></div><span style="font-family: monospace; font-size: 0.65rem; color: var(--hp-muted); border: 1px solid var(--color-card-border); padding: 0.2rem 0.6rem; border-radius: 9999px; transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s, opacity 0.2s; white-space: nowrap;">2 tools</span></div><h3 style="font-size: 1.0625rem; font-weight: 600; color: var(--hp-fg); margin: 0px 0px 0.375rem;">Data Cleaning</h3><p style="font-size: 0.875rem; color: var(--hp-muted); line-height: 1.5; margin-bottom: 1rem;">Trim, normalize, standardize</p><div style="display: flex; flex-wrap: wrap; gap: 0.375rem; margin-bottom: 1.25rem;"><span class="tool-name-pill">Data Cleaner</span><span class="tool-name-pill tool-pill-more">+1 more</span></div><div style="margin-top: auto; display: flex; justify-content: flex-end;"><span style="font-size: 0.875rem; font-weight: 500; color: rgb(255, 140, 66);">Explore<span style="display: inline-block; margin-left: 0.25rem; transform: none;">→</span></span></div></div></a></div></div><div style="margin-top: 2.5rem; display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; opacity: 0; transform: translateY(16px);"><a class="hp-btn-ghost sm" href="/tools" data-discover="true">See all 27 tools →</a><a class="hp-btn-ghost sm" href="/tools" data-discover="true">Browse by use case →</a></div></div></section><section class="hp-section" style="padding: 6rem 1rem; position: relative; z-index: 10;"><div style="margin: 0px auto; max-width: 1100px;"><span class="section-label" style="margin-bottom: 1rem; display: block;">Why Privacy Matters</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; margin-bottom: 4rem; max-width: 600px; line-height: 1.1;">Most tools upload your files. Ours never do.</h2><div class="hp-two-col" style="display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: stretch;"><div style="display: flex; flex-direction: column; gap: 2rem;"><div style="color: var(--hp-muted); line-height: 1.75; font-size: 0.95rem;"><p style="margin-bottom: 1rem;">Standard CSV tools process your files on remote servers and typically retain them for 30–90 days per their terms of service. For files containing customer data, employee records, or financial information, that's a liability you're accepting silently.</p><p>SplitForge processes everything in a Web Worker thread in your browser tab. The file never reaches our servers. We have no access to it — by design.</p></div><div style="display: flex; flex-direction: column; gap: 0.75rem;"><div class="glass-card" style="padding: 1.25rem 1.5rem; display: flex; align-items: flex-start; gap: 1rem; opacity: 0; transform: translateY(24px);"><div class="trust-icon-wrap blue"><svg viewBox="0 0 24 24" width="22" height="22" fill="none"><path d="M12 2L4 6v6c0 5 3.5 9.7 8 11 4.5-1.3 8-6 8-11V6z" stroke="#2874D2" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" fill="rgba(40,116,210,0.1)" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><rect x="9" y="10" width="6" height="7" rx="1" fill="none" stroke="#64b5f6" stroke-width="1.2" opacity="0"></rect></svg></div><div><h3 style="font-weight: 600; font-size: 0.9375rem; color: var(--hp-fg); margin-bottom: 0.25rem;">Your file stays local</h3><p style="font-size: 0.875rem; color: var(--hp-muted);">Web Worker processing, zero transmission</p></div></div><div class="glass-card" style="padding: 1.25rem 1.5rem; display: flex; align-items: flex-start; gap: 1rem; opacity: 0; transform: translateY(24px);"><div class="trust-icon-wrap red"><svg viewBox="0 0 24 24" width="22" height="22" fill="none"><g opacity="0"><rect x="3" y="4" width="18" height="8" rx="2" stroke="#ff6b6b" stroke-width="1.5" fill="rgba(255,107,107,0.06)"></rect><circle cx="18" cy="8" r="1.2" fill="#ff6b6b"></circle><rect x="3" y="14" width="18" height="8" rx="2" stroke="#ff6b6b" stroke-width="1.5" fill="rgba(255,107,107,0.06)"></rect><circle cx="18" cy="18" r="1.2" fill="#ff6b6b"></circle></g><path d="M5 5 L19 19 M19 5 L5 19" stroke="#ff6b6b" stroke-width="2" stroke-linecap="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path></svg></div><div><h3 style="font-weight: 600; font-size: 0.9375rem; color: var(--hp-fg); margin-bottom: 0.25rem;">No retention risk</h3><p style="font-size: 0.875rem; color: var(--hp-muted);">Nothing stored because nothing uploaded</p></div></div><div class="glass-card" style="padding: 1.25rem 1.5rem; display: flex; align-items: flex-start; gap: 1rem; opacity: 0; transform: translateY(24px);"><div class="trust-icon-wrap green"><svg viewBox="0 0 24 24" width="22" height="22" fill="none"><path d="M12 4 L12 10 M9 7 L15 7" stroke="#2ecc71" stroke-width="2" stroke-linecap="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.8);"><path d="M8 12 C8 9.8 10.7 8 12 8 C13.3 8 16 9.8 16 12 L16 14" stroke="#2ecc71" stroke-width="1.5" stroke-linecap="round" fill="none"></path><rect x="6" y="14" width="12" height="8" rx="2" fill="rgba(46,204,113,0.1)" stroke="#2ecc71" stroke-width="1.5"></rect><circle cx="12" cy="18" r="1.5" fill="#2ecc71"></circle></g></svg></div><div><h3 style="font-weight: 600; font-size: 0.9375rem; color: var(--hp-fg); margin-bottom: 0.25rem;">HIPAA-aligned workflows</h3><p style="font-size: 0.875rem; color: var(--hp-muted);">Healthcare data handled without cloud exposure</p></div></div></div></div><div class="glass-card" style="padding: 1.5rem; display: flex; align-items: center;"><svg viewBox="0 0 320 220" fill="none" xmlns="http://www.w3.org/2000/svg" style="width: 100%; height: auto;"><line x1="160" y1="10" x2="160" y2="210" stroke="rgba(255,255,255,0.08)" stroke-width="1"></line><text x="160" y="22" text-anchor="middle" fill="rgba(255,255,255,0.2)" font-size="7" font-family="monospace" letter-spacing="0.1em" opacity="0">vs</text><text x="80" y="22" text-anchor="middle" fill="rgba(255,107,107,0.7)" font-size="6" font-family="monospace" letter-spacing="0.2em" opacity="0">OTHER TOOLS</text><g opacity="0"><rect x="62" y="168" width="22" height="28" rx="2" fill="rgba(255,107,107,0.08)" stroke="rgba(255,107,107,0.35)" stroke-width="1"></rect><path d="M67 175 H78 M67 180 H76 M67 185 H72" stroke="rgba(255,107,107,0.4)" stroke-width="0.8" stroke-linecap="round"></path><path d="M76 168 L84 176 L76 176 Z" fill="rgba(255,107,107,0.15)" stroke="rgba(255,107,107,0.3)" stroke-width="0.8"></path></g><path d="M73 168 L73 90" stroke="rgba(255,107,107,0.5)" stroke-width="1.5" stroke-dasharray="0 1" fill="none" opacity="0" pathLength="1" stroke-dashoffset="0"></path><path d="M69 93 L73 84 L77 93" stroke="rgba(255,107,107,0.5)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0"></path><g opacity="0"><rect x="55" y="40" width="40" height="38" rx="3" fill="rgba(255,107,107,0.06)" stroke="rgba(255,107,107,0.25)" stroke-width="1"></rect><rect x="60" y="46" width="30" height="4" rx="1" fill="rgba(255,107,107,0.2)"></rect><rect x="60" y="54" width="30" height="4" rx="1" fill="rgba(255,107,107,0.2)"></rect><rect x="60" y="62" width="30" height="4" rx="1" fill="rgba(255,107,107,0.2)"></rect><circle cx="82" cy="48" r="1.5" fill="rgba(255,107,107,0.5)"></circle><circle cx="82" cy="56" r="1.5" fill="rgba(255,107,107,0.5)"></circle></g><rect x="55" y="40" width="40" height="38" rx="3" fill="none" stroke="rgba(255,107,107,0.4)" stroke-width="2" opacity="0"></rect><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: scale(0.5);"><circle cx="108" cy="55" r="9" fill="rgba(255,107,107,0.08)" stroke="rgba(255,107,107,0.4)" stroke-width="1"></circle><path d="M108 49 L108 55 L113 58" stroke="rgba(255,107,107,0.7)" stroke-width="1.2" stroke-linecap="round"></path></g><text x="75" y="100" text-anchor="middle" fill="rgba(255,107,107,0.6)" font-size="5.5" font-family="monospace" opacity="0">Retained 30–90 days</text><g opacity="0"><ellipse cx="42" cy="44" rx="4" ry="2.5" fill="none" stroke="rgba(255,107,107,0.35)" stroke-width="0.8"></ellipse><circle cx="42" cy="44" r="1.2" fill="rgba(255,107,107,0.4)"></circle></g><g opacity="0"><ellipse cx="42" cy="58" rx="4" ry="2.5" fill="none" stroke="rgba(255,107,107,0.35)" stroke-width="0.8"></ellipse><circle cx="42" cy="58" r="1.2" fill="rgba(255,107,107,0.4)"></circle></g><g opacity="0"><ellipse cx="102" cy="44" rx="4" ry="2.5" fill="none" stroke="rgba(255,107,107,0.35)" stroke-width="0.8"></ellipse><circle cx="102" cy="44" r="1.2" fill="rgba(255,107,107,0.4)"></circle></g><text x="240" y="22" text-anchor="middle" fill="#ff8c42" font-size="6" font-family="monospace" letter-spacing="0.2em" opacity="0">SPLITFORGE</text><rect x="180" y="32" width="100" height="110" rx="8" stroke="#2874D2" stroke-width="1.5" fill="rgba(40,116,210,0.04)" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></rect><rect x="180" y="32" width="100" height="14" rx="8" fill="rgba(40,116,210,0.12)" opacity="0"></rect><g opacity="0"><circle cx="190" cy="39" r="2" fill="#ff6b6b" opacity="0.6"></circle><circle cx="197" cy="39" r="2" fill="#ffc107" opacity="0.6"></circle><circle cx="204" cy="39" r="2" fill="#2ecc71" opacity="0.6"></circle></g><g opacity="0"><rect x="198" y="54" width="18" height="22" rx="2" fill="rgba(40,116,210,0.12)" stroke="#2874D2" stroke-width="0.9"></rect><path d="M202 60 H210 M202 64 H211 M202 68 H208" stroke="#64b5f6" stroke-width="0.8" stroke-linecap="round"></path><path d="M208 54 L216 62 L208 62 Z" fill="rgba(40,116,210,0.2)" stroke="#2874D2" stroke-width="0.8"></path></g><g opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: none;"><circle cx="238" cy="75" r="8" fill="rgba(40,116,210,0.1)" stroke="#2874D2" stroke-width="1"></circle><circle cx="238" cy="75" r="3.5" fill="rgba(40,116,210,0.35)"></circle><line x1="246" y1="75" x2="249" y2="75" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="242" y1="81.92820323027551" x2="243.5" y2="84.52627944162883" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="234" y1="81.92820323027551" x2="232.5" y2="84.52627944162883" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="230" y1="75" x2="227" y2="75" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="234" y1="68.0717967697245" x2="232.5" y2="65.47372055837118" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line><line x1="242" y1="68.07179676972449" x2="243.5" y2="65.47372055837117" stroke="#2874D2" stroke-width="2.5" stroke-linecap="round" opacity="0.8"></line></g><text x="238" y="91" text-anchor="middle" fill="#64b5f6" font-size="5" font-family="monospace" opacity="0">Web Worker</text><circle cx="210" cy="100" r="2.5" fill="#ff8c42" opacity="0"></circle><circle cx="225" cy="108" r="2.5" fill="#ff8c42" opacity="0"></circle><circle cx="240" cy="100" r="2.5" fill="#ff8c42" opacity="0"></circle><rect x="180" y="32" width="100" height="110" rx="8" fill="none" stroke="#2874D2" stroke-width="2.5" opacity="0" style="transform-box: fill-box; transform-origin: 50% 50%; transform: none;"></rect><path d="M230 144 L230 158" stroke="#2ecc71" stroke-width="1.8" stroke-linecap="round" fill="none" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><path d="M224 153 L230 160 L236 153" stroke="#2ecc71" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" fill="none" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><g opacity="0"><rect x="210" y="162" width="40" height="10" rx="3" fill="rgba(46,204,113,0.1)" stroke="#2ecc71" stroke-width="0.9"></rect><text x="230" y="169.5" text-anchor="middle" fill="#2ecc71" font-size="4.5" font-family="monospace">Downloaded ✓</text></g><g opacity="0"><rect x="290" y="60" width="24" height="30" rx="2" fill="rgba(255,255,255,0.04)" stroke="rgba(255,255,255,0.15)" stroke-width="0.9"></rect><rect x="293" y="65" width="18" height="3" rx="1" fill="rgba(255,255,255,0.1)"></rect><rect x="293" y="71" width="18" height="3" rx="1" fill="rgba(255,255,255,0.1)"></rect><rect x="293" y="77" width="18" height="3" rx="1" fill="rgba(255,255,255,0.1)"></rect></g><path d="M288 58 L316 92 M316 58 L288 92" stroke="rgba(255,107,107,0.7)" stroke-width="1.5" stroke-linecap="round" fill="none" opacity="0" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path><text x="302" y="100" text-anchor="middle" fill="rgba(255,255,255,0.3)" font-size="5" font-family="monospace" opacity="0">Never reached</text></svg></div></div></div></section><section class="hp-section" style="padding: 7rem 1rem; position: relative; z-index: 10;"><div class="social-proof-bg" style="position: absolute; inset: 0px; pointer-events: none;"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.3), transparent); pointer-events: none;"></div><div style="position: absolute; bottom: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.2), transparent); pointer-events: none;"></div><div style="margin: 0px auto; max-width: 1100px; position: relative; z-index: 1;"><div style="margin-bottom: 4rem; max-width: 680px; opacity: 0; transform: translateY(20px);"><span class="section-label" style="margin-bottom: 1rem; display: block;">Performance</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.75rem); font-weight: 700; line-height: 1.05; margin-bottom: 0.75rem;">When compute stays local, the numbers speak for themselves.</h2><p style="font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted); margin-bottom: 1rem;">Fast local compute, large-file tolerance, and zero network exposure — measurable, not marketing.</p><div class="benchmark-status-bar"><div class="benchmark-status-fill" style="transform: scaleX(0);"></div></div></div><div class="hp-benchmark-grid" style="display: grid; grid-template-columns: 6fr 3fr 3fr; gap: 1.25rem;"><article class="benchmark-card hp-benchmark-card-main" style="position: relative; opacity: 0; transform: translateY(32px) scale(0.97);"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.4), transparent);"></div><div style="position: absolute; top: -4rem; right: -4rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(40, 116, 210, 0.08); filter: blur(3rem);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%; padding: 2rem;"><div style="margin-bottom: 1.5rem;"><div style="display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.625rem;"><div style="width: 1.75rem; height: 1.75rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 0.375rem; background: rgba(40, 116, 210, 0.1); border: 1px solid rgba(40, 116, 210, 0.2);"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true" style="color: var(--hp-primary-light);"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><span class="section-label">Local compute</span><span style="flex-shrink: 0; border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.125rem 0.625rem; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light); backdrop-filter: blur(4px);">Fast path</span></div><p style="font-size: 0.825rem; line-height: 1.65; color: var(--hp-muted);">2M+ rows processed in seconds on a standard Windows laptop — fully inside the browser.</p></div><div class="benchmark-terminal"><span class="terminal-line" style="color: rgba(255, 255, 255, 0.3); opacity: 0;">$ splitforge merge --files 2 --rows 2000000</span><span class="terminal-line" style="color: rgb(100, 181, 246); opacity: 0;">&gt; Loading file 1... 1.0GB  ✓</span><span class="terminal-line" style="color: rgb(100, 181, 246); opacity: 0;">&gt; Loading file 2... 1.0GB  ✓</span><span class="terminal-line" style="color: rgb(255, 140, 66); opacity: 0;">&gt; Processing in Web Worker thread...</span><span class="terminal-line" style="color: rgb(46, 204, 113); opacity: 0;">[████████████████████] 100%</span><span class="terminal-line" style="color: rgb(46, 204, 113); opacity: 0;">&gt; Complete. 2,000,000 rows. In seconds.</span><span class="terminal-line" style="color: rgba(255, 255, 255, 0.25); opacity: 0;">&gt; Output written to browser download manager.</span><span class="terminal-line" style="color: rgba(255, 255, 255, 0.2); opacity: 0;">&gt; 0 bytes transmitted to external servers.</span><span class="terminal-cursor" style="opacity: 0;"></span></div><div style="margin-top: 1rem;"><div style="display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem;"><span style="font-family: monospace; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); font-size: clamp(3.5rem, 8vw, 5.5rem);">0M+</span><span style="font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.28em; color: rgba(136, 153, 181, 0.7); padding-bottom: 0.125rem;">rows</span></div><div style="margin-top: 1.25rem; display: flex; align-items: center; gap: 0.625rem; border-top: 1px solid rgba(255, 255, 255, 0.06); padding-top: 1rem; font-size: 0.75rem; color: rgba(136, 153, 181, 0.6);"><span style="line-height: 1.4;">Measured on Chrome 132, Windows 11, Intel i7</span><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right" aria-hidden="true" style="margin-left: auto; flex-shrink: 0; color: rgba(40, 116, 210, 0.6);"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></path></svg></div></div></div></article><article class="benchmark-card" style="position: relative; opacity: 0; transform: translateY(32px) scale(0.97);"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.3), transparent);"></div><div style="position: absolute; top: -4rem; right: -4rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(40, 116, 210, 0.08); filter: blur(3rem);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%; padding: 1.75rem;"><div style="margin-bottom: 1.5rem;"><div style="display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.625rem;"><div style="width: 1.75rem; height: 1.75rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 0.375rem; background: rgba(40, 116, 210, 0.1); border: 1px solid rgba(40, 116, 210, 0.2);"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-hard-drive" aria-hidden="true" style="color: var(--hp-primary-light);"><line x1="22" x2="2" y1="12" y2="12"></line><path d="M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"></path><line x1="6" x2="6.01" y1="16" y2="16"></line><line x1="10" x2="10.01" y1="16" y2="16"></line></svg></div><span class="section-label">Heavy files</span><span style="flex-shrink: 0; border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.125rem 0.625rem; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light); backdrop-filter: blur(4px);">Memory-safe</span></div><p style="font-size: 0.825rem; line-height: 1.65; color: var(--hp-muted);">Large CSV and Excel jobs stay usable without sending data to a queue or server.</p></div><div class="benchmark-bar-chart"><div class="benchmark-bar-wrap"><span class="benchmark-bar-value" style="color: rgba(255, 107, 107, 0.8);">1M rows</span><div style="width: 100%; height: 80px; display: flex; align-items: flex-end;"><div class="benchmark-bar" style="height: 40%; background: rgba(255, 107, 107, 0.5); transform: scaleY(0);"></div></div><span class="benchmark-bar-label">Excel limit</span></div><div class="benchmark-bar-wrap"><span class="benchmark-bar-value" style="color: rgba(255, 255, 255, 0.4);">Limited</span><div style="width: 100%; height: 80px; display: flex; align-items: flex-end;"><div class="benchmark-bar" style="height: 55%; background: rgba(255, 255, 255, 0.15); transform: scaleY(0);"></div></div><span class="benchmark-bar-label">Competitor</span></div><div class="benchmark-bar-wrap"><span class="benchmark-bar-value" style="color: rgb(255, 140, 66);">No limit</span><div style="width: 100%; height: 80px; display: flex; align-items: flex-end;"><div class="benchmark-bar" style="height: 100%; background: linear-gradient(to top, rgb(40, 116, 210), rgb(255, 140, 66)); transform: scaleY(0);"></div></div><span class="benchmark-bar-label">SplitForge</span></div></div><div style="margin-top: 1rem;"><div style="display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem;"><span style="font-family: monospace; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); font-size: clamp(2.5rem, 5vw, 3.75rem);">0MB+</span><span style="font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.28em; color: rgba(136, 153, 181, 0.7); padding-bottom: 0.125rem;">files handled</span></div><div style="margin-top: 1.25rem; display: flex; align-items: center; gap: 0.625rem; border-top: 1px solid rgba(255, 255, 255, 0.06); padding-top: 1rem; font-size: 0.75rem; color: rgba(136, 153, 181, 0.6);"><span style="line-height: 1.4;">Built for analyst-sized spreadsheets</span></div></div></div></article><article class="benchmark-card" style="position: relative; opacity: 0; transform: translateY(32px) scale(0.97);"><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(240, 169, 48, 0.3), transparent);"></div><div style="position: absolute; top: -4rem; right: -4rem; width: 8rem; height: 8rem; border-radius: 50%; background: rgba(40, 116, 210, 0.08); filter: blur(3rem);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%; padding: 1.75rem;"><div style="margin-bottom: 1.5rem;"><div style="display: flex; align-items: center; gap: 0.625rem; margin-bottom: 0.625rem;"><div style="width: 1.75rem; height: 1.75rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 0.375rem; background: rgba(40, 116, 210, 0.1); border: 1px solid rgba(40, 116, 210, 0.2);"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check" aria-hidden="true" style="color: var(--hp-primary-light);"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></div><span class="section-label">Private by default</span><span style="flex-shrink: 0; border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.125rem 0.625rem; font-size: 0.6rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light); backdrop-filter: blur(4px);">Browser only</span></div><p style="font-size: 0.825rem; line-height: 1.65; color: var(--hp-muted);">Nothing gets uploaded, mirrored, synced, or retained anywhere outside the session.</p></div><div style="margin-bottom: 1rem;"><div class="network-block-row" style="opacity: 0;"><span style="font-size: 0.75rem; color: rgba(255, 107, 107, 0.5); width: 1rem; text-align: center;">↑</span><div class="network-block-line"></div><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="2" y="4" width="12" height="9" rx="2" stroke="rgba(255,107,107,0.3)" stroke-width="1"></rect><path d="M4 6 L12 12 M12 6 L4 12" stroke="#ff6b6b" stroke-width="1.5" stroke-linecap="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path></svg><span class="network-block-label" style="opacity: 0;">Upload blocked</span></div><div class="network-block-row" style="opacity: 0;"><span style="font-size: 0.75rem; color: rgba(255, 107, 107, 0.5); width: 1rem; text-align: center;">↻</span><div class="network-block-line"></div><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="2" y="4" width="12" height="9" rx="2" stroke="rgba(255,107,107,0.3)" stroke-width="1"></rect><path d="M4 6 L12 12 M12 6 L4 12" stroke="#ff6b6b" stroke-width="1.5" stroke-linecap="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path></svg><span class="network-block-label" style="opacity: 0;">Sync blocked</span></div><div class="network-block-row" style="opacity: 0;"><span style="font-size: 0.75rem; color: rgba(255, 107, 107, 0.5); width: 1rem; text-align: center;">⬡</span><div class="network-block-line"></div><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><rect x="2" y="4" width="12" height="9" rx="2" stroke="rgba(255,107,107,0.3)" stroke-width="1"></rect><path d="M4 6 L12 12 M12 6 L4 12" stroke="#ff6b6b" stroke-width="1.5" stroke-linecap="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path></svg><span class="network-block-label" style="opacity: 0;">Retention blocked</span></div><div class="network-block-confirmed" style="opacity: 0;"><svg width="12" height="12" viewBox="0 0 12 12" fill="none"><path d="M2 6 L5 9 L10 3" stroke="#2ecc71" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" pathLength="1" stroke-dashoffset="0" stroke-dasharray="0 1"></path></svg>Your session. Your machine. Your data.</div></div><div style="margin-top: 1rem;"><div style="display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem;"><span style="font-family: monospace; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); font-size: clamp(2.5rem, 5vw, 3.75rem);">0</span><span style="font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.28em; color: rgba(136, 153, 181, 0.7); padding-bottom: 0.125rem;">bytes transmitted</span></div><div style="margin-top: 1.25rem; display: flex; align-items: center; gap: 0.625rem; border-top: 1px solid rgba(255, 255, 255, 0.06); padding-top: 1rem; font-size: 0.75rem; color: rgba(136, 153, 181, 0.6);"><span style="line-height: 1.4;">No uploads. No server hop. No copy left behind.</span></div></div></div></article></div><div style="margin-top: 2rem; opacity: 0;"><div style="height: 1px; background: rgba(255, 255, 255, 0.06); margin-bottom: 1.5rem;"></div><div style="display: flex; flex-wrap: wrap; gap: 0.5rem; justify-content: space-between; font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.2em; color: rgba(255, 255, 255, 0.7);"><span>* Chrome 132 · Windows 11 · Intel i7-13700K · 32GB RAM</span><span>When compute stays local, privacy stops feeling like a tradeoff.</span></div></div></div></section><section class="hp-section" style="padding: 6rem 1rem; position: relative; z-index: 10;"><div style="margin: 0px auto; max-width: 1100px;"><div style="margin-bottom: 3.5rem; display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: flex-end; justify-content: space-between;"><div style="max-width: 600px;"><span class="section-label" style="margin-bottom: 1rem; display: block;">Simple Pricing</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.1;">Pick the plan that matches how serious the file problem has become.</h2></div><p style="max-width: 420px; font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted);">No free trials. Transparent pricing. Free is genuinely free, Pro is for heavy individual use, and Business is there when teams need API and access control.</p></div><div class="hp-pricing-grid" style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; margin-bottom: 1.5rem;"><article class="glass-card glass-card-hover" style="position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 2rem;"><div style="position: absolute; top: -2.5rem; right: -2.5rem; width: 10rem; height: 10rem; border-radius: 50%; background: rgba(255, 140, 66, 0.08); filter: blur(3rem);"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(40, 116, 210, 0.5), transparent);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%;"><div style="margin-bottom: 1.5rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;"><div><span class="section-label" style="margin-bottom: 0.75rem; display: block;">Try everything</span><h3 style="font-size: 1.5rem; font-weight: 600; color: var(--hp-fg);">Free</h3></div><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.24em; color: var(--hp-primary-light); white-space: nowrap;">Always free</span></div><div style="margin-bottom: 1rem; display: flex; align-items: flex-end; gap: 0.5rem;"><span style="font-family: &quot;Space Grotesk&quot;, Inter, sans-serif; font-size: 3.75rem; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); line-height: 1;">$0</span><span style="padding-bottom: 0.5rem; font-size: 0.875rem; color: var(--hp-muted);">forever</span></div><p style="margin-bottom: 2rem; font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted);">A real free tier for testing the workflow on your own files.</p><ul style="flex: 1 1 0%; margin-bottom: 2rem; display: flex; flex-direction: column; gap: 0.75rem; list-style: none; padding: 0px;"><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Try any free tool — no account needed</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>25 operations/month after signup</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>23 free tools (4 are Pro-only)</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Files up to 500 MB</span></li></ul><div class="pricing-usage-meter"><div class="pricing-usage-labels"><span>Example usage</span><span>3 / 25 ops</span></div><div class="pricing-usage-track"><div class="pricing-usage-fill" style="transform-origin: left center; transform: scaleX(0);"></div></div><p class="pricing-usage-hint">Upgrade when 25 stops being enough.</p></div><div style="margin-top: auto;"><a class="hp-btn-ghost" href="/login?next=/tools" data-discover="true" style="display: block; text-align: center; margin-bottom: 0.75rem;">Get Started Free</a><p style="font-size: 0.75rem; line-height: 1.6; color: var(--hp-muted);">Best for occasional cleanup and evaluation.</p></div></div></article><article class="glass-card glass-card-hover glow-ring" style="position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 2rem;"><div style="position: absolute; top: -2.5rem; right: -2.5rem; width: 10rem; height: 10rem; border-radius: 50%; background: rgba(40, 116, 210, 0.09); filter: blur(3rem);"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(240, 169, 48, 0.8), transparent);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%;"><div style="margin-bottom: 1.5rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;"><div><span class="section-label" style="margin-bottom: 0.75rem; display: block;">For operators</span><h3 style="font-size: 1.5rem; font-weight: 600; color: var(--hp-fg);">Pro</h3></div><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.24em; color: var(--hp-primary-light); white-space: nowrap;">Most Popular</span></div><div style="margin-bottom: 1rem; display: flex; align-items: flex-end; gap: 0.5rem;"><span style="font-family: &quot;Space Grotesk&quot;, Inter, sans-serif; font-size: 3.75rem; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); line-height: 1;">$19.99</span><span style="padding-bottom: 0.5rem; font-size: 0.875rem; color: var(--hp-muted);">/month</span></div><p style="margin-bottom: 2rem; font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted);">For analysts, revops, and data teams who live in messy files every week.</p><ul style="flex: 1 1 0%; margin-bottom: 2rem; display: flex; flex-direction: column; gap: 0.75rem; list-style: none; padding: 0px;"><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>200 operations/month</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>All 27 tools</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>No file size cap (RAM only)</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Batch processing — run 10 files at once</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Re-download outputs for 24 hours</span></li></ul><div style="margin-top: auto;"><a class="hp-btn-cta" href="/pricing" data-discover="true" style="display: block; text-align: center; margin-bottom: 0.75rem;">Get Pro</a><p style="font-size: 0.75rem; line-height: 1.6; color: var(--hp-muted);">No trial. Upgrade only when the free cap stops being enough.</p></div></div></article><article class="glass-card glass-card-hover" style="position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 2rem;"><div style="position: absolute; top: -2.5rem; right: -2.5rem; width: 10rem; height: 10rem; border-radius: 50%; background: rgba(240, 169, 48, 0.07); filter: blur(3rem);"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(255, 140, 66, 0.3), transparent);"></div><div style="position: relative; z-index: 10; display: flex; flex-direction: column; height: 100%;"><div style="margin-bottom: 1.5rem; display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem;"><div><span class="section-label" style="margin-bottom: 0.75rem; display: block;">Teams &amp; API</span><h3 style="font-size: 1.5rem; font-weight: 600; color: var(--hp-fg);">Business</h3></div><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.24em; color: var(--hp-primary-light); white-space: nowrap;">Scale plan</span></div><div style="margin-bottom: 1rem; display: flex; align-items: flex-end; gap: 0.5rem;"><span style="font-family: &quot;Space Grotesk&quot;, Inter, sans-serif; font-size: 3.75rem; font-weight: 700; letter-spacing: -0.06em; color: var(--hp-fg); line-height: 1;">$49.99</span><span style="padding-bottom: 0.5rem; font-size: 0.875rem; color: var(--hp-muted);">/month</span></div><p style="margin-bottom: 2rem; font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted);">For teams that need shared access, automation hooks, and a cleaner buying path. Healthcare Mode available on the Healthcare tier.</p><ul style="flex: 1 1 0%; margin-bottom: 2rem; display: flex; flex-direction: column; gap: 0.75rem; list-style: none; padding: 0px;"><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>No cap on operations</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>No file size cap (RAM only)</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>API access (1000 req/hr)</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Team workspaces (10 seats)</span></li><li style="display: flex; align-items: center; gap: 0.75rem; font-size: 0.875rem; color: var(--hp-muted); opacity: 0; transform: translateX(-12px);"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check" aria-hidden="true" style="flex-shrink: 0; color: var(--hp-success);"><path d="M20 6 9 17l-5-5"></path></svg><span>Priority support</span></li></ul><div style="margin-top: auto;"><a class="hp-btn-ghost" href="/pricing" data-discover="true" style="display: block; text-align: center; margin-bottom: 0.75rem;">Get Business</a><p style="font-size: 0.75rem; line-height: 1.6; color: var(--hp-muted);">Choose this when Pro is too solo and you need team controls.</p></div></div></article></div><div style="text-align: center; margin: 0.5rem 0px 1.5rem; font-size: 0.8rem; color: var(--hp-muted);">Not sure which plan? <a href="/pricing" data-discover="true" style="color: var(--hp-primary-light); text-decoration: none; font-weight: 500; border-bottom: 1px solid rgba(100, 181, 246, 0.3); padding-bottom: 1px; transition: border-color 0.2s;">See full feature comparison →</a></div><div class="glass-card" style="overflow: hidden; padding: 2rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem;"><div><span class="section-label" style="margin-bottom: 0.75rem; display: block;">Healthcare &amp; Enterprise</span><h3 style="font-size: 1.25rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--hp-fg);">Need compliance support, procurement help, or a custom contract?</h3><p style="max-width: 600px; font-size: 0.875rem; line-height: 1.7; color: var(--hp-muted); margin-bottom: 1rem;">Reach out to discuss BAA inquiries, security reviews, and onboarding assistance for regulated teams.</p><div style="display: flex; flex-wrap: wrap; gap: 0.5rem;"><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light);">Custom contracts</span><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light);">BAA inquiry support</span><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light);">Security review</span><span style="border-radius: 9999px; border: 1px solid rgba(40, 116, 210, 0.3); background: rgba(40, 116, 210, 0.1); padding: 0.25rem 0.75rem; font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.22em; color: var(--hp-primary-light);">Onboarding assistance</span></div></div><button class="hp-btn-ghost" style="flex-shrink: 0; cursor: pointer;">Talk to Us</button></div></div></section><section class="hp-section" style="padding: 6rem 1rem; position: relative; z-index: 10;"><div style="margin: 0px auto; max-width: 700px;"><div class="glass-card" style="padding: clamp(2.5rem, 6vw, 4rem); text-align: center; box-shadow: rgba(40, 116, 210, 0.1) 0px 0px 60px; border-color: rgba(40, 116, 210, 0.2);"><span class="section-label" style="margin-bottom: 1rem; display: block;">Ready When You Are</span><h2 style="font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 700; line-height: 1.1; margin-bottom: 1.5rem;">Stop sending your data to servers you don't control.</h2><div class="hp-hero-ctas" style="display: flex; align-items: center; justify-content: center; gap: 0.75rem;"><a class="hp-btn-cta" href="/login" data-discover="true">Try SplitForge Free</a><a class="hp-btn-ghost" href="/tools" data-discover="true">Browse All Tools</a></div></div></div></section></div></div></main><footer style="position: relative; margin-top: 0px; border-top: none;"><div style="position: absolute; inset: 0px; background: linear-gradient(90deg, var(--color-bg-dark, #0a0f1a) 0%, var(--color-bg-mid, #0d1525) 30%, var(--color-bg-mid, #0d1525) 70%, var(--color-bg-dark, #0a0f1a) 100%); pointer-events: none;"></div><div style="position: absolute; top: 0px; left: 0px; right: 0px; height: 1px; background: linear-gradient(to right, transparent, rgba(106, 154, 255, 0.3), transparent); pointer-events: none;"></div><div style="position: relative; max-width: 1100px; margin: 0px auto; padding: 48px 32px 32px;"><div style="display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px; margin-bottom: 40px;"><div><p style="font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-text-secondary); text-transform: uppercase; margin-bottom: 16px; margin-top: 0px;">PRODUCT</p><a href="/tools" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg>Tools</a><a href="/blog" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg>Blog</a><a href="/compare" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-git-compare" aria-hidden="true"><circle cx="18" cy="18" r="3"></circle><circle cx="6" cy="6" r="3"></circle><path d="M13 6h3a2 2 0 0 1 2 2v7"></path><path d="M11 18H8a2 2 0 0 1-2-2V9"></path></svg>Compare</a><a href="/performance" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg>Performance</a><a href="/about" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-info" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M12 16v-4"></path><path d="M12 8h.01"></path></svg>About</a><a href="/login" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-in" aria-hidden="true"><path d="m10 17 5-5-5-5"></path><path d="M15 12H3"></path><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path></svg>Sign In</a></div><div><p style="font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-text-secondary); text-transform: uppercase; margin-bottom: 16px; margin-top: 0px;">RESOURCES</p><a href="/support/kb" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open" aria-hidden="true"><path d="M12 7v14"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path></svg>Knowledge Base</a><a href="/support/qa" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-square" aria-hidden="true"><path d="M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z"></path></svg>Community Q&amp;A</a><a href="/support" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-question-mark" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Support Hub</a><a href="/healthcare-alignment-statement" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-heart" aria-hidden="true"><path d="M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5"></path></svg>Healthcare Alignment Statement</a></div><div><p style="font-size: 0.75rem; font-weight: 700; letter-spacing: 0.08em; color: var(--color-text-secondary); text-transform: uppercase; margin-bottom: 16px; margin-top: 0px;">SUPPORT</p><div style="display: flex; align-items: center; gap: 4px; padding: 4px 0px; margin-bottom: 4px;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--color-text-secondary)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail" aria-hidden="true" style="flex-shrink: 0;"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg><span style="color: var(--color-text-secondary); font-size: 0.85rem;">Email: <a href="/cdn-cgi/l/email-protection#ed9e989d9d829f99ad9e9d8184998b829f8a88c38c9d9d" style="color: var(--color-text-secondary); text-decoration: underline;"><span class="__cf_email__" data-cfemail="c6b5b3b6b6a9b4b286b5b6aaafb2a0a9b4a1a3e8a7b6b6">[email&#160;protected]</span></a></span></div><div style="display: flex; align-items: flex-start; gap: 4px; padding: 4px 0px; margin-bottom: 4px;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="var(--color-text-secondary)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-clock" aria-hidden="true" style="flex-shrink: 0; margin-top: 2px;"><path d="M12 6v6l4 2"></path><circle cx="12" cy="12" r="10"></circle></svg><span style="color: var(--color-text-secondary); font-size: 0.85rem; line-height: 1.5;">We reply within 24 hours, Mon–Fri</span></div><a href="/support" data-discover="true" style="display: flex; align-items: center; gap: 4px; color: var(--color-text-secondary); font-size: 0.85rem; text-decoration: none; padding: 4px 0px; transition: color 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-question-mark" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path><path d="M12 17h.01"></path></svg>Help center →</a></div></div><div style="display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 20px; padding-top: 20px; border-top: 1px solid var(--color-card-border); color: var(--color-text-secondary); font-size: 0.75rem; text-align: center;"><span>We track anonymous usage metrics to improve the app, but never see your data.</span><span>© 2026 SplitForge. All rights reserved.</span><a href="/privacy" data-discover="true" style="color: var(--color-text-secondary); text-decoration: none;">Privacy Policy</a><a href="/terms" data-discover="true" style="color: var(--color-text-secondary); text-decoration: none;">Terms of Service</a><a href="/cdn-cgi/l/email-protection#77040207071805033704071b1e03111805101259160707" style="color: var(--color-text-secondary); text-decoration: none;">Contact</a></div></div></footer><div data-rht-toaster="" style="position: fixed; z-index: 9999; inset: 16px; pointer-events: none;"></div></div></div>

    <!-- Vite entry point -->
  
<button aria-label="Support" title="Support" style="position: fixed; bottom: 24px; right: 24px; width: 48px; height: 48px; border-radius: 50%; background: rgb(40, 116, 210); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; box-shadow: rgba(40, 116, 210, 0.45) 0px 4px 16px; z-index: 9998; transition: transform 0.2s, box-shadow 0.2s;"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-message-circle" aria-hidden="true"><path d="M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719"></path></svg></button><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-301V8P4KQR"></script></body></html>