patx/vegy
move over from github pages
Commit 050693b · patx · 2026-05-22T04:08:50-04:00
Comments
No comments yet.
Diff
diff --git a/docs/CNAME b/docs/CNAME
new file mode 100644
index 0000000..8bd3799
--- /dev/null
+++ b/docs/CNAME
@@ -0,0 +1 @@
+vegy.app
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..48523ec
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Vegy — Simplify Wholesale Ordering</title>
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap" rel="stylesheet" />
+ <script src="https://cdn.tailwindcss.com"></script>
+
+ <style>
+ :root{
+ /* PROFESSIONAL TEAL (mature, not “mint”) */
+ --vegy-primary:#0f766e; /* teal-700 */
+ --vegy-primary-dark:#115e59; /* teal-800 */
+ --vegy-primary-soft: rgba(15,118,110,.10);
+
+ /* professional neutrals */
+ --bg:#f8fafc; /* slate-50 */
+ --card:#ffffff;
+ --text:#0f172a; /* slate-900 */
+ --muted:#64748b; /* slate-500 */
+ --border:rgba(15,23,42,.08);
+
+ /* glass */
+ --glass: rgba(255,255,255,.78);
+ --glass-soft: rgba(255,255,255,.62);
+ --shadow: 0 20px 60px rgba(15,23,42,.12);
+ }
+
+ html, body { height: 100%; }
+ body {
+ font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
+ background: var(--bg);
+ color: var(--text);
+ overflow-x: hidden;
+ }
+
+ /* subtle highlights (teal + neutral) */
+ .blob {
+ position: absolute;
+ width: 720px;
+ height: 720px;
+ border-radius: 9999px;
+ filter: blur(110px);
+ opacity: .14;
+ background: rgba(15,118,110,.28);
+ pointer-events: none;
+ }
+ .blob.b2{
+ width: 600px;
+ height: 600px;
+ opacity: .10;
+ background: rgba(2,132,199,.20); /* tiny cool tint for depth */
+ }
+
+ /* glass */
+ .glass {
+ background: var(--glass);
+ backdrop-filter: blur(18px) saturate(160%);
+ -webkit-backdrop-filter: blur(18px) saturate(160%);
+ box-shadow: var(--shadow);
+ }
+
+ /* animation */
+ .animate-fade-up { animation: fadeUp .7s cubic-bezier(.2,.8,.2,1) both; }
+ @keyframes fadeUp {
+ from { opacity: 0; transform: translateY(12px); }
+ to { opacity: 1; transform: translateY(0); }
+ }
+ .floaty { animation: floaty 6s ease-in-out infinite; }
+ @keyframes floaty {
+ 0%,100%{ transform: translateY(0); }
+ 50%{ transform: translateY(-8px); }
+ }
+
+ a:focus-visible, button:focus-visible {
+ outline: 2px solid var(--vegy-primary);
+ outline-offset: 3px;
+ border-radius: 12px;
+ }
+ </style>
+</head>
+
+<body>
+
+ <!-- subtle highlights -->
+ <div class="blob" style="top:-280px; left:-260px;"></div>
+ <div class="blob b2" style="top:-260px; right:-260px;"></div>
+
+ <!-- Nav -->
+ <nav class="fixed top-0 inset-x-0 z-20">
+ <div class="max-w-6xl mx-auto px-4 pt-4">
+ <div class="glass rounded-2xl px-4 md:px-6 py-3 flex items-center justify-between">
+ <a href="https://vegy.app/" class="text-2xl font-extrabold tracking-tight" style="color:var(--vegy-primary)">
+ Vegy
+ </a>
+
+ <a href="https://calendly.com/hello-vegy/demo" target="_blank"
+ class="px-4 py-2 rounded-xl text-white font-semibold transition"
+ style="background:var(--vegy-primary)"
+ onmouseover="this.style.background='var(--vegy-primary-dark)'"
+ onmouseout="this.style.background='var(--vegy-primary)'">
+ Book a Demo
+ </a>
+ </div>
+ </div>
+ </nav>
+
+ <!-- Hero -->
+ <section class="min-h-screen flex items-center justify-center pt-28 pb-16 relative z-10">
+ <div class="max-w-6xl mx-auto px-4">
+ <div class="grid grid-cols-1 lg:grid-cols-12 gap-12 items-center">
+
+ <!-- Copy -->
+ <div class="lg:col-span-6 space-y-6">
+ <h1 class="text-4xl md:text-6xl font-extrabold leading-tight tracking-tight animate-fade-up">
+ Wholesale ordering,
+ <span style="color:var(--vegy-primary)">done right.</span>
+ </h1>
+
+ <p class="text-lg md:text-xl max-w-xl animate-fade-up" style="animation-delay:.1s; color:var(--muted)">
+ A professional, white-labeled ordering platform built for real wholesale businesses.
+ </p>
+
+ <div class="animate-fade-up" style="animation-delay:.15s">
+ <a href="https://calendly.com/hello-vegy/demo" target="_blank"
+ class="inline-block px-6 py-3 rounded-2xl text-white font-semibold transition"
+ style="background:var(--vegy-primary)"
+ onmouseover="this.style.background='var(--vegy-primary-dark)'"
+ onmouseout="this.style.background='var(--vegy-primary)'">
+ See your catalog live, book a demo today
+ </a>
+ </div>
+
+ <!-- Feature list (OG copy) -->
+ <div class="pt-4 space-y-4 animate-fade-up" style="animation-delay:.2s">
+ <div class="p-4 rounded-2xl bg-white shadow-sm">
+ <div class="font-semibold text-sm">Accept orders anytime, and anyhow</div>
+ <div class="text-sm mt-1" style="color:var(--muted)">
+ Let customers order via your own website, mobile, iOS/Android apps, or AI-powered text messaging. Reorders take seconds.
+ </div>
+ </div>
+
+ <div class="p-4 rounded-2xl bg-white shadow-sm">
+ <div class="font-semibold text-sm">Maximize margins and order size</div>
+ <div class="text-sm mt-1" style="color:var(--muted)">
+ Set customer-specific pricing tiers and order minimums, promote featured items, and push new products to increase order size and profit.
+ </div>
+ </div>
+
+ <div class="p-4 rounded-2xl bg-white shadow-sm">
+ <div class="font-semibold text-sm">Integrates with your workflow</div>
+ <div class="text-sm mt-1" style="color:var(--muted)">
+ Sync with QuickBooks or your existing ERP for invoicing, payments, inventory, and delivery tracking. Export sales reports, pull slips, and price lists instantly.
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <!-- Device -->
+ <div class="lg:col-span-6">
+ <div class="floaty">
+ <div class="mx-auto max-w-md">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 406 852" class="w-full h-auto">
+ <image href="order.png"
+ x="-43" y="25" width="500" height="800" />
+ <image href="iphone.svg"
+ x="0" y="0" width="415" height="852" />
+ </svg>
+ </div>
+ </div>
+ </div>
+
+ </div>
+ </div>
+ </section>
+
+ <!-- Footer -->
+ <footer class="py-8">
+ <div class="max-w-6xl mx-auto px-4 text-center text-sm" style="color:var(--muted)">
+ © <span id="year"></span>
+ <a href="https://vegy.app/" style="color:var(--vegy-primary)" class="hover:underline">Vegy</a>
+ • <a href="https://vegy.app/legal.html" class="hover:underline">Terms & Privacy</a>
+ • <a href="https://vegy.app/support.html" class="hover:underline">Contact</a>
+ </div>
+ </footer>
+
+ <script>
+ document.getElementById('year').textContent = new Date().getFullYear();
+ </script>
+
+</body>
+</html>
diff --git a/docs/iphone.svg b/docs/iphone.svg
new file mode 100644
index 0000000..64573ab
--- /dev/null
+++ b/docs/iphone.svg
@@ -0,0 +1,97 @@
+
+<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ viewBox="0 0 205.3 419" style="enable-background:new 0 0 205.3 419;" xml:space="preserve">
+<style type="text/css">
+ .st0{fill:#151616;}
+ .st1{fill:none;}
+ .st2{fill:url(#SVGID_1_);}
+ .st3{fill:#3A4D57;}
+ .st4{opacity:6.000000e-002;}
+ .st5{fill:url(#SVGID_2_);}
+</style>
+<g id="BACKGROUND">
+</g>
+<g>
+ <path class="st0" d="M205.3,99.4v28.8c0,0.6-0.5,1.2-1.2,1.2H203V98.3h1.1C204.8,98.3,205.3,98.8,205.3,99.4z"/>
+ <path class="st0" d="M203.1,129.4v264.3c0,14-11.3,25.3-25.4,25.3H27.6c-14,0-25.4-11.3-25.4-25.3V157.5v-31.2v-7.7V87.5v-18v-9.8
+ V25.3C2.2,11.3,13.6,0,27.6,0h24v6.7H28.1C17,6.7,8,15.7,8,26.8v365.5c0,11.1,9,20.1,20.1,20.1h149.1c11.1,0,20.1-9,20.1-20.1V26.8
+ c0-11.1-9-20.1-20.1-20.1h-23.4V0h24c14,0,25.4,11.3,25.4,25.3v72.9v31.2H203.1z"/>
+ <path class="st1" d="M197.3,26.8v365.5c0,11.1-9,20.1-20.1,20.1H28.1c-11.1,0-20.1-9-20.1-20.1V26.8C8,15.7,17,6.7,28.1,6.7h23.4
+ v6.8c0,5.6,4.6,10.2,10.2,10.2h81.9c5.6,0,10.2-4.5,10.2-10.2V6.7h23.4C188.3,6.7,197.3,15.7,197.3,26.8z"/>
+ <path class="st0" d="M153.7,6.7v6.8c0,5.6-4.6,10.2-10.2,10.2H61.7c-5.6,0-10.2-4.5-10.2-10.2V6.7V0h102.2V6.7z M128.2,13.9
+ c0-1.2-1-2.2-2.2-2.2s-2.2,1-2.2,2.2s1,2.2,2.2,2.2S128.2,15.1,128.2,13.9z M117.3,13.9c0-1.1-0.9-2-2-2H90c-1.1,0-2,0.9-2,2
+ s0.9,2,2,2h25.3C116.4,15.9,117.3,15,117.3,13.9z"/>
+ <g>
+
+ <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-7.3443" y1="19.9421" x2="212.7058" y2="401.0802" gradientTransform="matrix(1 0 0 -1 0 420)">
+ <stop offset="0" style="stop-color:#BFC1BF"/>
+ <stop offset="3.910648e-002" style="stop-color:#BDBFBD"/>
+ <stop offset="6.135572e-002" style="stop-color:#B5B6B5"/>
+ <stop offset="7.938013e-002" style="stop-color:#A7A8A7"/>
+ <stop offset="9.514090e-002" style="stop-color:#939593"/>
+ <stop offset="0.1094" style="stop-color:#7A7B7A"/>
+ <stop offset="0.1226" style="stop-color:#5B5B5B"/>
+ <stop offset="0.135" style="stop-color:#353635"/>
+ <stop offset="0.1465" style="stop-color:#0C0C0C"/>
+ <stop offset="0.1493" style="stop-color:#000000"/>
+ <stop offset="0.2055" style="stop-color:#020202"/>
+ <stop offset="0.226" style="stop-color:#090909"/>
+ <stop offset="0.2406" style="stop-color:#141514"/>
+ <stop offset="0.2525" style="stop-color:#252625"/>
+ <stop offset="0.2626" style="stop-color:#3B3C3B"/>
+ <stop offset="0.2716" style="stop-color:#565756"/>
+ <stop offset="0.2798" style="stop-color:#767776"/>
+ <stop offset="0.287" style="stop-color:#9A9C9A"/>
+ <stop offset="0.2931" style="stop-color:#BFC1BF"/>
+ <stop offset="0.5486" style="stop-color:#000000"/>
+ <stop offset="0.6065" style="stop-color:#020202"/>
+ <stop offset="0.6275" style="stop-color:#090909"/>
+ <stop offset="0.6426" style="stop-color:#141514"/>
+ <stop offset="0.6548" style="stop-color:#252625"/>
+ <stop offset="0.6652" style="stop-color:#3B3C3B"/>
+ <stop offset="0.6745" style="stop-color:#565756"/>
+ <stop offset="0.6829" style="stop-color:#767776"/>
+ <stop offset="0.6903" style="stop-color:#9A9C9A"/>
+ <stop offset="0.6966" style="stop-color:#BFC1BF"/>
+ <stop offset="0.8746" style="stop-color:#000000"/>
+ <stop offset="0.8925" style="stop-color:#040404"/>
+ <stop offset="0.9106" style="stop-color:#101010"/>
+ <stop offset="0.9288" style="stop-color:#242424"/>
+ <stop offset="0.947" style="stop-color:#404140"/>
+ <stop offset="0.9652" style="stop-color:#646564"/>
+ <stop offset="0.9832" style="stop-color:#909190"/>
+ <stop offset="1" style="stop-color:#BFC1BF"/>
+ </linearGradient>
+ <path class="st2" d="M175.8,417.4H29.5c-14.2,0-25.7-11.7-25.7-26V27.6c0-14.4,11.5-26,25.7-26h146.4c14.2,0,25.7,11.7,25.7,26
+ v363.8C201.6,405.7,190,417.4,175.8,417.4z M29.5,3.6c-13.1,0-23.7,10.8-23.7,24v363.8c0,13.3,10.6,24,23.7,24h146.4
+ c13.1,0,23.7-10.8,23.7-24V27.6c0-13.3-10.6-24-23.7-24C175.9,3.6,29.5,3.6,29.5,3.6z"/>
+ </g>
+ <path class="st3" d="M126,11.7c1.2,0,2.2,1,2.2,2.2s-1,2.2-2.2,2.2s-2.2-1-2.2-2.2S124.8,11.7,126,11.7z"/>
+ <path class="st3" d="M115.3,12c1.1,0,2,0.9,2,2s-0.9,2-2,2H90c-1.1,0-2-0.9-2-2s0.9-2,2-2H115.3z"/>
+ <path class="st0" d="M2.2,126.3v31.2h-1c-0.6,0-1.2-0.5-1.2-1.2v-28.8c0-0.6,0.5-1.2,1.2-1.2H2.2z"/>
+ <path class="st0" d="M2.2,87.5v31.2h-1c-0.6,0-1.2-0.5-1.2-1.2V88.6c0-0.6,0.5-1.2,1.2-1.2L2.2,87.5L2.2,87.5z"/>
+ <path class="st0" d="M2.2,59.6v9.8h-1c-0.6,0-1.2-0.5-1.2-1.2v-7.5c0-0.6,0.5-1.2,1.2-1.2L2.2,59.6L2.2,59.6z"/>
+ <g>
+ <g>
+ <rect x="197.3" y="37.9" class="st0" width="5.8" height="2.9"/>
+ <rect x="2.2" y="37.9" class="st0" width="5.8" height="2.9"/>
+ </g>
+ <g>
+ <rect x="197.3" y="378.2" class="st0" width="5.8" height="2.9"/>
+ <rect x="2.2" y="378.2" class="st0" width="5.8" height="2.9"/>
+ </g>
+ </g>
+ <g class="st4">
+
+ <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="21.1623" y1="414.1718" x2="90.8627" y2="242.8249" gradientTransform="matrix(1 0 0 -1 0 420)">
+ <stop offset="0" style="stop-color:#6F6E6E"/>
+ <stop offset="1" style="stop-color:#000000"/>
+ </linearGradient>
+ <path class="st5" d="M49.2,13.5V9H28.1c-4.9,0-9.3,2-12.6,5.2c-3.2,3.2-5.2,7.6-5.2,12.6v209.3L133.9,26H61.7
+ C54.8,26,49.2,20.4,49.2,13.5z"/>
+ </g>
+ <g id="Designed_By_Freepik">
+ </g>
+</g>
+</svg>
diff --git a/docs/legal.html b/docs/legal.html
new file mode 100644
index 0000000..d841445
--- /dev/null
+++ b/docs/legal.html
@@ -0,0 +1,334 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Vegy — Terms of Use & Privacy Policy</title>
+ <meta name="description" content="Review Vegy's Terms of Use and Privacy Policy for our wholesale ordering platform, including roles, billing, data collection, and more.">
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap" rel="stylesheet" />
+ <script src="https://cdn.tailwindcss.com"></script>
+
+ <style>
+ :root{
+ /* keep Vegy teal but make it “grown up” */
+ --vegy-primary:#0f766e; /* teal-700 */
+ --vegy-primary-dark:#115e59; /* teal-800 */
+
+ /* light, professional base */
+ --bg:#f8fafc; /* slate-50 */
+ --text:#0f172a; /* slate-900 */
+ --muted:#64748b; /* slate-500 */
+ --card:#ffffff;
+ --border:rgba(15,23,42,.08);
+ --shadow:0 18px 60px rgba(15,23,42,.10);
+ }
+
+ html, body { height: 100%; }
+ body {
+ font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
+ background: var(--bg);
+ color: var(--text);
+ scroll-behavior: smooth;
+ overflow-x: hidden;
+ }
+
+ /* soft highlights (no gradients) */
+ .blob {
+ position: absolute;
+ width: 720px;
+ height: 720px;
+ border-radius: 9999px;
+ filter: blur(110px);
+ opacity: .14;
+ background: rgba(15,118,110,.28);
+ pointer-events: none;
+ transform: translateZ(0);
+ }
+ .blob.b2{
+ width: 600px;
+ height: 600px;
+ opacity: .10;
+ background: rgba(2,132,199,.20);
+ }
+
+ /* glassy header */
+ .glass {
+ background: rgba(255,255,255,.78);
+ backdrop-filter: blur(18px) saturate(160%);
+ -webkit-backdrop-filter: blur(18px) saturate(160%);
+ box-shadow: var(--shadow);
+ border: 1px solid var(--border);
+ }
+
+ .animate-fade-up { animation: fadeUp .6s ease-out both; }
+ @keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
+
+ a:focus-visible, button:focus-visible {
+ outline: 2px solid rgba(15,118,110,.9);
+ outline-offset: 3px;
+ border-radius: 14px;
+ }
+
+ /* legal typography tweaks */
+ .prose p, .prose li { line-height: 1.75; }
+ .prose code { background: rgba(15,23,42,.06); padding: .12rem .35rem; border-radius: .5rem; }
+ </style>
+</head>
+
+<body>
+ <!-- subtle highlights -->
+ <div class="blob" style="top:-300px; left:-260px;"></div>
+ <div class="blob b2" style="top:-280px; right:-260px;"></div>
+
+ <!-- Nav (light, matches white homepage) -->
+ <nav class="fixed top-0 inset-x-0 z-20">
+ <div class="max-w-6xl mx-auto px-4 pt-4">
+ <div class="glass rounded-2xl px-4 md:px-6 py-3 flex items-center justify-between">
+ <a href="https://vegy.app/" class="text-2xl font-extrabold tracking-tight" style="color:var(--vegy-primary)">
+ Vegy
+ </a>
+
+ <a href="https://calendly.com/hello-vegy/demo" target="_blank"
+ class="px-4 py-2 rounded-xl text-white font-semibold transition"
+ style="background:var(--vegy-primary)"
+ onmouseover="this.style.background='var(--vegy-primary-dark)'"
+ onmouseout="this.style.background='var(--vegy-primary)'">
+ Book a Demo
+ </a>
+ </div>
+ </div>
+ </nav>
+
+ <!-- Legal Content -->
+ <main class="pt-28 pb-16 relative z-10">
+ <div class="max-w-6xl mx-auto px-4">
+ <div class="text-center space-y-3">
+ <h1 class="text-4xl md:text-6xl font-extrabold leading-tight animate-fade-up">
+ Terms of Use & Privacy Policy
+ </h1>
+ <p class="animate-fade-up" style="animation-delay:.15s; color:var(--muted)">
+ Last updated: September 23, 2025
+ </p>
+ </div>
+
+ <div class="grid grid-cols-1 lg:grid-cols-4 gap-6 mt-10">
+ <!-- Table of Contents -->
+ <aside class="lg:sticky lg:top-24 lg:col-span-1">
+ <nav class="bg-white border rounded-2xl p-4 animate-fade-up"
+ style="animation-delay:.25s; border-color:var(--border); box-shadow: 0 12px 40px rgba(15,23,42,.08);">
+ <div class="text-xs font-semibold uppercase tracking-wide mb-2" style="color:var(--muted)">
+ Table of contents
+ </div>
+
+ <a href="#terms" class="block py-1 font-semibold hover:underline" style="color:var(--text)">Terms of Use</a>
+ <a href="#roles" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">1. Platform & Instance Roles</a>
+ <a href="#use" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">2. Use of the Platform</a>
+ <a href="#billing" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">3. Fees & Billing</a>
+ <a href="#qbo" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">4. QuickBooks Integration</a>
+ <a href="#availability" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">5. Availability & Changes</a>
+ <a href="#liability" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">6. Liability</a>
+ <a href="#indemn" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">7. Indemnification</a>
+ <a href="#law" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">8. Governing Law</a>
+
+ <div class="h-px my-4" style="background:var(--border)"></div>
+
+ <a href="#privacy" class="block py-1 font-semibold hover:underline" style="color:var(--text)">Privacy Policy</a>
+ <a href="#scope" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">1. Scope & Roles</a>
+ <a href="#collect" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">2. Information We Collect</a>
+ <a href="#useinfo" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">3. How We Use Information</a>
+ <a href="#security" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">4. Security</a>
+ <a href="#retention" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">5. Retention</a>
+ <a href="#rights" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">6. Rights</a>
+ <a href="#sharing" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">7. Sharing & Vendors</a>
+ <a href="#cookies" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">8. Cookies</a>
+ <a href="#intl" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">9. International Transfers</a>
+ <a href="#changes" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">10. Changes</a>
+ <a href="#contact" class="block py-1 pl-3 hover:underline" style="color:var(--muted)">11. Contact</a>
+ </nav>
+ </aside>
+
+ <!-- Legal Content -->
+ <section class="lg:col-span-3 bg-white border rounded-2xl p-6 md:p-8 animate-fade-up prose"
+ style="animation-delay:.35s; border-color:var(--border); box-shadow: 0 12px 40px rgba(15,23,42,.08);">
+
+ <h2 id="terms" class="text-2xl font-bold mt-0" style="color:var(--vegy-primary)">Vegy Terms of Use</h2>
+ <p style="color:var(--muted)">
+ Vegy LLC (“Vegy”, “we”, “us”) provides a multi-tenant ordering platform (the “Platform”). Each wholesaler operates its own instance (an “Instance”) on a subdomain (e.g.,
+ <code><wholesaler>.vegy.app</code>) and invites buyers (“Instance Users”). By accessing an Instance or the Platform, you agree to these Terms.
+ </p>
+
+ <h3 id="roles" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">1. Platform & Instance Roles</h3>
+ <ul style="color:var(--muted)">
+ <li><strong style="color:var(--text)">Vegy:</strong> provides hosting, DNS/security, storage, email, SMS gateway, and AI parsing.</li>
+ <li><strong style="color:var(--text)">Instance Owner:</strong> controls catalog, pricing, delivery, and QuickBooks integration.</li>
+ <li><strong style="color:var(--text)">Instance Users:</strong> order from the Instance Owner. The contract of sale is between Instance Owner and Instance User.</li>
+ </ul>
+ <p style="color:var(--muted)"><em>Vegy is a software provider; Vegy is not a party to any sale between an Instance Owner and an Instance User.</em></p>
+
+ <h3 id="use" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">2. Use of the Platform</h3>
+ <ul style="color:var(--muted)">
+ <li>You must be 18+ and authorized to bind your business.</li>
+ <li>Keep logins secure; provide accurate information.</li>
+ <li>No unlawful, abusive, or fraudulent activity.</li>
+ </ul>
+
+ <h4 class="text-lg font-semibold mt-6" style="color:var(--vegy-primary)">2.1 Instance Owner Duties</h4>
+ <ul style="color:var(--muted)">
+ <li>Maintain accurate catalog, pricing, units, availability, and delivery details.</li>
+ <li>Communicate product availability, delivery timelines, and any special handling requirements.</li>
+ <li>Manage invites and access for Instance Users.</li>
+ <li>Connect and maintain QuickBooks; review invoices created from orders.</li>
+ <li>Comply with laws relevant to products offered (e.g., food safety, labeling, construction licensing, etc.).</li>
+ </ul>
+
+ <h4 class="text-lg font-semibold mt-6" style="color:var(--vegy-primary)">2.2 Instance User Duties</h4>
+ <ul style="color:var(--muted)">
+ <li>Order only through your authorized Instance (web or SMS).</li>
+ <li>Confirm items, quantities, and delivery details before submitting.</li>
+ <li>Pay the Instance Owner according to invoice terms issued from their invoice.</li>
+ </ul>
+
+ <h4 class="text-lg font-semibold mt-6" style="color:var(--vegy-primary)">2.3 SMS Program Terms</h4>
+ <p style="color:var(--muted)">
+ By providing a mobile number and opting in to texts when registering, you consent to receive transactional SMS from the Instance Owner and/or Vegy on their behalf. Message & data rates may apply. Frequency varies. Reply <strong style="color:var(--text)">STOP</strong> to cancel, <strong style="color:var(--text)">HELP</strong> for help. Carriers are not liable for delayed or undelivered messages.
+ Opt-in occurs via the Instance’s sign-up/phone field; consent is not a condition of purchase.
+ </p>
+
+ <h3 id="billing" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">3. Fees & Billing</h3>
+ <p style="color:var(--muted)">
+ Vegy may charge Instance Owners platform fees. Unless otherwise agreed, fees are invoiced by Vegy and payable per invoice terms. Non-payment may lead to suspension.
+ </p>
+
+ <h3 id="qbo" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">4. QuickBooks Integration</h3>
+ <p style="color:var(--muted)">
+ Instance Owners connect their QuickBooks Online company. Vegy may create or update Customers, Items, and Invoices. Vegy does not post journal entries, recognize revenue, or reconcile payments. Instance owners can connect their Quickbooks account to third party providers for inventory management, delivery tracking, connecting to other bookkeeping solutions or ERPs and more through third party tools such as Zapier, Vegy is not liable for this process.
+ </p>
+
+ <h3 id="availability" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">5. Availability & Changes</h3>
+ <p style="color:var(--muted)">
+ We strive for uptime but outages may occur. Features may change for security or improvement.
+ </p>
+
+ <h3 id="liability" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">6. Disclaimers & Limits of Liability</h3>
+ <p style="color:var(--muted)">
+ THE PLATFORM IS PROVIDED “AS IS.” VEGY IS NOT LIABLE FOR indirect or consequential damages, catalog errors, order disputes, interruptions, QuickBooks API errors, or unauthorized access. Liability is capped at fees paid to Vegy in the prior 3 months.
+ </p>
+
+ <h3 id="indemn" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">7. Indemnification</h3>
+ <p style="color:var(--muted)">
+ You indemnify Vegy for claims arising from your use. Instance Owners further indemnify for their Instance content, order handling, and QuickBooks postings.
+ </p>
+
+ <h3 id="law" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">8. Governing Law</h3>
+ <p style="color:var(--muted)">
+ Florida law governs. Venue: courts in Broward County, Florida.
+ </p>
+
+ <div class="h-px my-10" style="background:var(--border)"></div>
+
+ <h2 id="privacy" class="text-2xl font-bold mt-0" style="color:var(--vegy-primary)">Vegy Privacy Policy</h2>
+
+ <h3 id="scope" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">1. Scope & Roles</h3>
+ <p style="color:var(--muted)">
+ Instance Owners are controllers for Instance data; Vegy acts as a processor. Vegy may be controller for platform-level operations.
+ </p>
+ <p style="color:var(--muted)">
+ The Platform is not directed to anyone under 18, and we do not knowingly collect their data.
+ </p>
+
+ <h3 id="collect" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">2. Information We Collect</h3>
+ <ul style="color:var(--muted)">
+ <li>Account data: email, names, business details, phone, addresses, password hashes.</li>
+ <li>Order data: items, quantities, prices, delivery info, SMS order texts.</li>
+ <li>Integration data: QuickBooks tokens/realm IDs.</li>
+ <li>Operational data: logs, IPs, user agents, sessions, CSRF tokens.</li>
+ <li>Media: product images (Uploadcare).</li>
+ <li>Support requests.</li>
+ </ul>
+
+ <h3 id="useinfo" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">3. How We Use Information</h3>
+ <ul style="color:var(--muted)">
+ <li>Operate Instances and authenticate users.</li>
+ <li>Create/update QuickBooks or records for Instance Owners.</li>
+ <li>Process SMS orders (Telnyx/OpenAI).</li>
+ <li>Send transactional emails (Mailjet).</li>
+ <li>Host/store data (Heroku, MongoDB, Uploadcare, Cloudflare).</li>
+ <li>Support and troubleshooting.</li>
+ </ul>
+ <p style="color:var(--muted)">Vegy does not process card payments.</p>
+ <p style="color:var(--muted)">Legal bases (if applicable): contract performance, legitimate interests (security/support), consent (SMS).</p>
+
+ <h3 id="security" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">4. Security</h3>
+ <p style="color:var(--muted)">
+ We use TLS, bcrypt, scoped API keys, sessions, CSRF protections, least-privilege access, and vendor security. No method is 100% secure.
+ </p>
+
+ <h3 id="retention" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">5. Retention</h3>
+ <p style="color:var(--muted)">
+ We keep data while an Instance is active or as required by law. Sessions/CSRF expire per config. After deactivation, limited data retained 30–90 days for compliance/backups.
+ </p>
+
+ <h3 id="rights" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">6. Rights</h3>
+ <p style="color:var(--muted)">
+ You may access, correct, or delete your data. Instance Users should contact their Instance Owner; Instance Owners may contact Vegy
+ (<a href="mailto:[email protected]" class="hover:underline" style="color:var(--vegy-primary)">[email protected]</a>).
+ We may verify identity before fulfilling requests.
+ </p>
+
+ <h3 id="sharing" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">7. Sharing & Vendors</h3>
+ <p style="color:var(--muted)">We share data with providers (subject to their policies):</p>
+ <ul style="color:var(--muted)">
+ <li>Intuit QuickBooks Online (invoicing and item management)</li>
+ <li>Telnyx (SMS)</li>
+ <li>OpenAI (parsing)</li>
+ <li>Heroku (hosting)</li>
+ <li>MongoDB Atlas (database)</li>
+ <li>Uploadcare (media)</li>
+ <li>Mailjet (email)</li>
+ <li>Cloudflare (security)</li>
+ </ul>
+ <p style="color:var(--muted)">We do not sell or share data for advertising.</p>
+
+ <h3 id="cookies" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">8. Cookies</h3>
+ <p style="color:var(--muted)">
+ We use session cookies and CSRF tokens. Cloudflare may set cookies for security. No ad trackers.
+ </p>
+
+ <h3 id="intl" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">9. International Transfers</h3>
+ <p style="color:var(--muted)">Data may be processed in the US only.</p>
+
+ <h3 id="changes" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">10. Changes</h3>
+ <p style="color:var(--muted)">
+ We may update this policy. Material changes posted here and possibly emailed/SMS’d.
+ </p>
+
+ <h3 id="contact" class="text-xl font-semibold mt-8" style="color:var(--vegy-primary)">11. Contact</h3>
+ <p style="color:var(--muted)">
+ Vegy LLC<br>
+ Phone: (954) 953-1901<br>
+ Email:
+ <a href="mailto:[email protected]" class="hover:underline" style="color:var(--vegy-primary)">[email protected]</a>
+ </p>
+
+ </section>
+ </div>
+ </div>
+ </main>
+
+ <!-- Footer (light, matches white homepage) -->
+ <footer class="py-8 relative z-10">
+ <div class="max-w-6xl mx-auto px-4">
+ <div class="text-center text-sm" style="color:var(--muted)">
+ © <span id="year"></span>
+ <a href="https://vegy.app/" class="hover:underline" style="color:var(--vegy-primary)">Vegy</a>
+ • <a href="https://vegy.app/legal.html" class="hover:underline">Terms & Privacy</a>
+ • <a href="https://vegy.app/support.html" class="hover:underline">Contact</a>
+ </div>
+ </div>
+ </footer>
+
+ <script>
+ document.getElementById('year').textContent = new Date().getFullYear();
+ </script>
+</body>
+</html>
diff --git a/docs/order.png b/docs/order.png
new file mode 100644
index 0000000..c480b94
Binary files /dev/null and b/docs/order.png differ
diff --git a/docs/support.html b/docs/support.html
new file mode 100644
index 0000000..9d0a3df
--- /dev/null
+++ b/docs/support.html
@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Vegy — Account Support</title>
+ <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;800&display=swap" rel="stylesheet" />
+ <script src="https://cdn.tailwindcss.com"></script>
+
+ <style>
+ :root{
+ /* keep Vegy teal but make it “grown up” */
+ --vegy-primary:#0f766e; /* teal-700 */
+ --vegy-primary-dark:#115e59; /* teal-800 */
+
+ /* light, professional base */
+ --bg:#f8fafc; /* slate-50 */
+ --text:#0f172a; /* slate-900 */
+ --muted:#64748b; /* slate-500 */
+ --card:#ffffff;
+ --border:rgba(15,23,42,.08);
+ --shadow:0 18px 60px rgba(15,23,42,.10);
+ }
+
+ html, body { height: 100%; }
+ body {
+ font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
+ background: var(--bg);
+ color: var(--text);
+ scroll-behavior: smooth;
+ overflow-x: hidden;
+ }
+
+ /* soft highlights (no gradients) */
+ .blob {
+ position: absolute;
+ width: 720px;
+ height: 720px;
+ border-radius: 9999px;
+ filter: blur(110px);
+ opacity: .14;
+ background: rgba(15,118,110,.28);
+ pointer-events: none;
+ transform: translateZ(0);
+ }
+ .blob.b2{
+ width: 600px;
+ height: 600px;
+ opacity: .10;
+ background: rgba(2,132,199,.20);
+ }
+
+ /* glassy header */
+ .glass {
+ background: rgba(255,255,255,.78);
+ backdrop-filter: blur(18px) saturate(160%);
+ -webkit-backdrop-filter: blur(18px) saturate(160%);
+ box-shadow: var(--shadow);
+ border: 1px solid var(--border);
+ }
+
+ .animate-fade-up { animation: fadeUp .6s ease-out both; }
+ @keyframes fadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
+
+ a:focus-visible, button:focus-visible {
+ outline: 2px solid rgba(15,118,110,.9);
+ outline-offset: 3px;
+ border-radius: 14px;
+ }
+ </style>
+</head>
+
+<body>
+ <!-- subtle highlights -->
+ <div class="blob" style="top:-300px; left:-260px;"></div>
+ <div class="blob b2" style="top:-280px; right:-260px;"></div>
+
+ <!-- Nav (light, matches white homepage) -->
+ <nav class="fixed top-0 inset-x-0 z-20">
+ <div class="max-w-6xl mx-auto px-4 pt-4">
+ <div class="glass rounded-2xl px-4 md:px-6 py-3 flex items-center justify-between">
+ <a href="https://vegy.app/" class="text-2xl font-extrabold tracking-tight" style="color:var(--vegy-primary)">
+ Vegy
+ </a>
+
+ <a href="https://calendly.com/hello-vegy/demo" target="_blank"
+ class="px-4 py-2 rounded-xl text-white font-semibold transition"
+ style="background:var(--vegy-primary)"
+ onmouseover="this.style.background='var(--vegy-primary-dark)'"
+ onmouseout="this.style.background='var(--vegy-primary)'">
+ Book a Demo
+ </a>
+ </div>
+ </div>
+ </nav>
+
+ <!-- Support Content -->
+ <main class="pt-28 pb-16 relative z-10">
+ <section class="max-w-6xl mx-auto px-4">
+ <div class="text-center space-y-4">
+ <h1 class="text-4xl md:text-6xl font-extrabold leading-tight animate-fade-up">
+ Support Center
+ </h1>
+ <p class="max-w-2xl mx-auto text-lg md:text-xl animate-fade-up" style="animation-delay:.1s; color:var(--muted)">
+ Get help with your Vegy account, from login issues to billing and client management. We’re here for you.
+ </p>
+ </div>
+
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 max-w-4xl mx-auto mt-10 animate-fade-up" style="animation-delay:.2s">
+
+ <!-- Email Support -->
+ <div class="bg-white border rounded-2xl p-6 hover:-translate-y-1 transition-transform"
+ style="border-color:var(--border); box-shadow: 0 12px 40px rgba(15,23,42,.08);">
+ <div class="flex items-center gap-2 mb-3">
+ <h3 class="text-xl font-semibold" style="color:var(--vegy-primary)">Email Support</h3>
+ </div>
+
+ <p class="mb-4" style="color:var(--muted)">
+ Need help with an account, login issue, or anything else? Reach out and we’ll reply quickly.
+ </p>
+
+ <ul class="space-y-2" style="color:var(--muted)">
+ <li><strong class="text-slate-900">Email:</strong> [email protected]</li>
+ <li>
+ <strong class="text-slate-900">Support Topics:</strong>
+ General help, account updates, help placing orders, client management, login & technical help, payments and billing
+ </li>
+ </ul>
+ </div>
+
+ <!-- Phone Support -->
+ <div class="bg-white border rounded-2xl p-6 hover:-translate-y-1 transition-transform"
+ style="border-color:var(--border); box-shadow: 0 12px 40px rgba(15,23,42,.08);">
+ <div class="flex items-center gap-2 mb-3">
+ <h3 class="text-xl font-semibold" style="color:var(--vegy-primary)">Phone Support</h3>
+ </div>
+
+ <p class="mb-4" style="color:var(--muted)">
+ Want to speak to someone directly? Our support line is open 5 days a week and you can even text us after hours.
+ </p>
+
+ <ul class="space-y-2" style="color:var(--muted)">
+ <li><strong class="text-slate-900">Phone:</strong> (954) 953-1901</li>
+ <li><strong class="text-slate-900">Hours:</strong> 11am – 4pm EST, Monday–Friday</li>
+ <li>
+ <strong class="text-slate-900">Support Topics:</strong>
+ For instance owners only — account updates, client management, payments and billing, custom ERP integrations
+ </li>
+ </ul>
+ </div>
+
+ </div>
+ </section>
+ </main>
+
+ <!-- Footer (light, matches white homepage) -->
+ <footer class="py-8 relative z-10">
+ <div class="max-w-6xl mx-auto px-4">
+ <div class="text-center text-sm" style="color:var(--muted)">
+ © <span id="year"></span>
+ <a href="https://vegy.app/" class="hover:underline" style="color:var(--vegy-primary)">Vegy</a>
+ • <a href="https://vegy.app/legal.html" class="hover:underline">Terms & Privacy</a>
+ • <a href="https://vegy.app/support.html" class="hover:underline">Contact</a>
+ </div>
+ </div>
+ </footer>
+
+ <script>
+ document.getElementById('year').textContent = new Date().getFullYear();
+ </script>
+</body>
+</html>