<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
<meta name="color-scheme" content="dark" />
<meta name="description" content="Six simple apps for eBay sellers: write your listings, thank your buyers, watch your packages, check your prices, count your real profit, and watch your auctions. Each app works on its own. 7 free days to start." />
<link rel="icon" href="data:," />
<title>SellersAce — Apps for eBay Store Owners</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Marcellus&family=Public+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap" rel="stylesheet">
<style>
  :root{
    --black:#04102a;
    --navy:#0a2148;
    --navy-2:#12305f;
    --navy-3:#1d3d6e;
    --line:rgba(192,200,212,.22);
    --line-gold:rgba(192,200,212,.45);
    --gold:#c0c8d4;
    --gold-bright:#eef2f8;
    --silver:#d6dde8;
    --text:#eef1f6;
    --muted:#aeb9c9;
    --muted-2:#8b99ae;
    --card:#0d2650;
    --radius:14px;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    margin:0;
    background:var(--black);
    color:var(--text);
    font-family:"Public Sans",system-ui,-apple-system,Segoe UI,sans-serif;
    font-size:17px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:var(--gold-bright)}
  ::selection{background:var(--gold);color:#111}

  .wrap{width:min(1080px,calc(100% - 40px));margin:0 auto}

  /* ---------- top bar ---------- */
  .topbar{
    position:sticky;top:0;z-index:20;
    background:rgba(4,16,42,.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .topbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
  .brand{
    font-family:"Marcellus",serif;
    font-size:26px;letter-spacing:.04em;color:var(--text);text-decoration:none;line-height:1;
    white-space:nowrap;
  }
  .brand span{color:var(--gold)}
  nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
  nav a{
    color:var(--silver);text-decoration:none;font-size:14.5px;font-weight:500;
    padding:7px 11px;border-radius:999px;
  }
  nav a:hover{color:#fff;background:var(--navy-3)}
  @media (max-width:640px){
    .topbar-in{flex-direction:column;align-items:flex-start;gap:8px;padding:12px 0}
    nav{justify-content:flex-start}
    nav a{padding:6px 9px}
  }

  /* ---------- hero ---------- */
  .hero{
    background:
      radial-gradient(900px 420px at 85% -80px, rgba(192,200,212,.16), transparent 60%),
      linear-gradient(180deg,var(--navy) 0%, var(--black) 100%);
    border-bottom:1px solid var(--line);
    padding:40px 0 34px;
  }
  .eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    color:var(--gold-bright);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  }
  .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
  h1{
    font-family:"Marcellus",serif;font-weight:400;
    font-size:clamp(44px,7vw,64px);line-height:1.05;margin:12px 0 0;letter-spacing:.01em;
  }
  h1 .gold{color:var(--gold)}
  .tagline{
    font-size:clamp(20px,3.2vw,27px);line-height:1.45;color:var(--silver);
    max-width:720px;margin:20px 0 0;font-weight:400;
  }
  .hero-sub{font-size:17.5px;line-height:1.55;color:var(--muted);max-width:680px;margin:14px 0 0}
  .hero-lines{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
  .auto-line{
    display:inline-flex;align-items:center;gap:10px;margin:0;
    border:1px solid var(--line-gold);border-radius:999px;padding:10px 20px;
    background:rgba(255,255,255,.03);
    font-size:19px;font-weight:700;color:#fff;line-height:1.3;
  }
  .auto-note{color:var(--gold-bright);font-weight:600}
  .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
  .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
  .btn{
    display:inline-block;text-decoration:none;font-weight:600;font-size:16px;
    padding:13px 24px;border-radius:10px;line-height:1.2;
  }
  .btn-gold{background:var(--gold);color:#0a2148}
  .btn-gold:hover{background:var(--gold-bright)}
  .btn-ghost{border:1px solid var(--line);color:var(--text);background:transparent}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright)}
  .hero-note{margin:16px 0 0;color:var(--muted-2);font-size:14.5px}

  /* ---------- sections ---------- */
  section{padding:56px 0;scroll-margin-top:84px}
  section + section{border-top:1px solid var(--line)}
  section.apps-pricing{padding-top:44px}
  .sec-head{max-width:680px;margin-bottom:30px}
  .kicker{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px}
  h2{font-family:"Marcellus",serif;font-weight:400;font-size:clamp(32px,5vw,44px);line-height:1.15;margin:0}
  .sec-lead{color:var(--muted);margin:12px 0 0;font-size:17.5px}

  /* ---------- app cards (price first, price big) ---------- */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  @media (max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
  @media (max-width:560px){.cards{grid-template-columns:1fr}}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:26px 24px;display:flex;flex-direction:column;
  }
  .card-top{display:flex;align-items:center;gap:12px}
  .app-num{
    font-family:"Marcellus",serif;font-size:18px;color:var(--gold);
    border:1px solid var(--line-gold);border-radius:50%;
    width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex:none;
  }
  .card h3{margin:0;font-size:22px;font-weight:700;letter-spacing:-.01em}
  .card .price{
    font-family:"Marcellus",serif;font-size:52px;line-height:1.05;color:#fff;
    margin:18px 0 0;
  }
  .card .price small{font-family:"Public Sans",sans-serif;font-size:16px;color:var(--muted)}
  .card .yearly{margin:8px 0 0;font-size:16px;color:var(--silver)}
  .app-icon{width:46px;height:46px;border-radius:11px;vertical-align:middle}
  .pick-icon{width:30px;height:30px;border-radius:8px;vertical-align:middle;margin-right:8px}
  .bill-pick{margin:10px 0 0;font-size:15px;color:var(--silver)}
  .bill-pick select{margin-left:8px;background:#0d1b3e;color:#fff;border:1px solid var(--line);border-radius:8px;padding:7px 9px;font-size:15px}
  .bundle .bill-pick{margin:12px 0 10px}
  .card .save{
    display:inline-block;margin-left:6px;
    border:1px solid var(--line-gold);border-radius:999px;padding:2px 11px;
    color:var(--gold-bright);font-weight:700;font-size:13.5px;white-space:nowrap;
  }
  .card .app-desc{margin:16px 0 0;color:var(--muted);font-size:16px}
  .card .yearly a.yearly-link,.b-amt a.yearly-link{color:inherit;text-decoration:none}
  .trial-note{color:var(--silver);font-size:14px;margin-top:10px}
  .free{margin:14px 0 0;font-size:14.5px;font-weight:700;color:var(--gold-bright)}
  .card .btn-start-wrap{margin-top:auto;padding-top:20px}
  .btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .pick-icon{width:26px;height:26px;vertical-align:-7px;margin:0 4px;border-radius:6px}
  .card .btn-start{display:block;text-align:center}
  .billing-note{margin:14px 2px 0;color:var(--muted-2);font-size:14.5px}

  /* ---------- bundle ---------- */
  .bundle{
    margin-top:26px;scroll-margin-top:96px;
    border:1px solid var(--line-gold);border-radius:var(--radius);
    background:linear-gradient(180deg, rgba(192,200,212,.10), rgba(192,200,212,.02)), var(--card);
    padding:30px 28px;
    display:grid;grid-template-columns:1fr auto;gap:14px 34px;align-items:center;
  }
  .bundle .b-label{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright);margin:0 0 6px}
  .bundle h3{font-family:"Marcellus",serif;font-weight:400;font-size:clamp(26px,4vw,34px);line-height:1.15;margin:0}
  .bundle p{margin:10px 0 0;color:var(--muted);max-width:560px}
  .bundle p strong{color:#fff}
  .bundle .b-names{margin:12px 0 0;color:var(--silver);font-size:15px}
  .bundle .btn-start{display:inline-block;margin-top:22px;text-align:center}
  .bundle-price{text-align:right;white-space:nowrap}
  .bundle-price .b-amt{font-family:"Marcellus",serif;font-size:54px;line-height:1;color:#fff}
  .bundle-price .b-amt.b-yearly{font-size:42px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
  .bundle-price .b-amt small{font-family:"Public Sans",sans-serif;font-size:16px;color:var(--muted)}
  .bundle-price .b-was{margin:8px 0 0;color:var(--muted-2);font-size:15px}
  .bundle-price .b-was s{color:var(--muted)}
  .bundle-price .b-save{display:inline-block;margin-top:10px;border:1px solid var(--line-gold);border-radius:999px;padding:6px 14px;color:var(--gold-bright);font-weight:700;font-size:14.5px}
  @media (max-width:720px){
    .bundle{grid-template-columns:1fr}
    .bundle-price{text-align:left}
  }

  /* ---------- how it works ---------- */
  .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
  @media (max-width:820px){.steps{grid-template-columns:1fr}}
  .step{background:var(--navy-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
  .step .n{font-family:"Marcellus",serif;color:var(--gold);font-size:15px;letter-spacing:.12em}
  .step h3{margin:10px 0 8px;font-size:19px}
  .step p{margin:0;color:var(--muted);font-size:15.5px}
  .devices{margin:22px 0 0;color:var(--silver)}
  .devices strong{color:#fff}

  /* ---------- refund ---------- */
  .refund-box{
    border:1px solid var(--line-gold);border-radius:var(--radius);
    background:linear-gradient(180deg, rgba(192,200,212,.08), rgba(192,200,212,.02));
    padding:32px 30px;
  }
  .refund-box h2{font-size:clamp(28px,4.5vw,36px)}
  .refund-box p{color:var(--silver);max-width:760px}
  .refund-box p strong{color:#fff}
  .refund-box .big{font-size:19px;color:#fff;font-weight:600;margin-top:14px}

  /* ---------- questions & answers ---------- */
  .qa-list{display:grid;gap:14px;max-width:820px}
  .wins{display:grid;gap:12px;max-width:820px}
  .wins p{display:flex;align-items:flex-start;gap:10px;margin:0;font-size:17px;line-height:1.5;color:var(--muted)}
  .wins .dot{margin-top:9px}
  .wins strong{color:#fff}
  .qa{
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px 24px;
  }
  .qa h3{margin:0 0 6px;font-size:19px;font-weight:700}
  .qa p{margin:0;color:var(--muted);font-size:16px}
  .qa p strong{color:#fff}

  /* ---------- contact / footer ---------- */
  .contact-card{
    display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;
  }
  .contact-card p{margin:0;color:var(--muted)}
  .contact-card .mail{font-size:20px;font-weight:700;color:#fff;text-decoration:none;word-break:break-all}
  .contact-card .mail:hover{color:var(--gold-bright)}
  footer{
    border-top:1px solid var(--line);padding:30px 0 42px;color:var(--muted-2);font-size:14.5px;
  }
  footer .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
  footer .fbrand{font-family:"Marcellus",serif;font-size:18px;color:var(--silver);letter-spacing:.03em}
  footer .fbrand span{color:var(--gold)}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
  }
</style>
</head>
<body>

<header class="topbar">
  <div class="wrap topbar-in">
    <a class="brand" href="#top">Sellers<span>Ace</span></a>
    <nav aria-label="Page sections">
      <a href="#apps">The apps</a>
      <a href="#pricing">Pricing</a>
      <a href="#how">How it works</a>
      <a href="#refunds">Refund policy</a>
      <a href="#questions">Questions</a>
      <a href="#contact">Contact</a>
      <a href="https://sellersace-home.pages.dev/sign-in"><strong>Sign in</strong></a>
    </nav>
  </div>
</header>

<main id="top">

  <!-- Hero -->
  <div class="hero">
    <div class="wrap">
      <p class="eyebrow">Built for eBay store owners</p>
      <h1>Sellers<span class="gold">Ace</span></h1>
      <p class="tagline">Apps that do the busywork for eBay sellers.</p>
      <p class="hero-sub">Six simple apps for eBay sellers: write your listings, thank your buyers, watch your packages, check your prices, count your real profit, and watch your auctions. Each app works on its own. 7 free days to start.</p>
      <div class="hero-lines">
        <p class="auto-line"><span class="dot"></span>You set it up once — then it lists for you.</p>
        <p class="auto-line"><span class="dot"></span>Link it to your eBay account — then it does the work for you.</p>
      </div>
      <div class="hero-actions">
        <a class="btn btn-gold" href="#apps">See the apps &amp; prices</a>
        <a class="btn btn-ghost" href="#pricing">See the bundle</a>
      </div>
      <p class="hero-note">Made for store owners who would rather be selling cards than typing the same thing over and over.</p>
    </div>
  </div>

  <!-- The six apps and all the pricing, up front in one place -->
  <section id="apps" class="apps-pricing">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">The six apps &middot; what they do &middot; what they cost</p>
        <h2>Every app and every price, right here</h2>
        <p class="sec-lead">Every app starts with 7 free days. Each app works by itself — you never need one to use another. No hidden fees. Each app opens right in your browser on any phone, tablet, or computer. No downloads from a public page — once your trial starts, your app is on your own private page, and you can install it from there so its icon sits on your phone or computer like a real app.</p>
      </div>

      <div class="cards">
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Listing-Ace.png" alt="Listing Ace icon"><h3>Listing Ace</h3></div>
          <p class="price"><span class="amt-m">$14.99<small> / month</small></span><span class="amt-y" style="display:none">$149.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Scan your card — we upload the details. Got a pile? Bulk listing does a whole stack at once. AI writes the finished listing — title, description, and price. Nothing posts until you press the button. <span class="auto-note">Or turn on auto upload, and it posts for you.</span></p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/cNi5kveMqeGq2YS9YO3sI0a" data-monthly="https://buy.stripe.com/cNi5kveMqeGq2YS9YO3sI0a" data-yearly="https://buy.stripe.com/7sYaEP1ZE7dY1UO9YO3sI0b">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Buyer-Ace.png" alt="Buyer Ace icon"><h3>Buyer Ace</h3></div>
          <p class="price"><span class="amt-m">$7.99<small> / month</small></span><span class="amt-y" style="display:none">$79.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Sends a thank-you to every buyer, through your own eBay. You press send. <span class="auto-note">Set it to auto, and every thank-you sends itself.</span></p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/00w3cn7jY41MfLEdb03sI02" data-monthly="https://buy.stripe.com/00w3cn7jY41MfLEdb03sI02" data-yearly="https://buy.stripe.com/28EdR133I1TEeHAgnc3sI03">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Ship-Ace.png" alt="Track Ace icon"><h3>Track Ace</h3></div>
          <p class="price"><span class="amt-m">$4.99<small> / month</small></span><span class="amt-y" style="display:none">$49.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Keeps an eye on your packages. If one is late or lost, it tells you the last day you can file a claim. Feedback is one tap — pick a rating, pick the words, done, so it actually gets done. <span class="auto-note">Tracking goes up on its own when you print a label.</span></p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/3cI14f6fU69U2YSfj83sI04" data-monthly="https://buy.stripe.com/3cI14f6fU69U2YSfj83sI04" data-yearly="https://buy.stripe.com/00w14f9s6eGqbvognc3sI05">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Comp-Ace.png" alt="Comp Ace icon"><h3>Comp Ace</h3></div>
          <p class="price"><span class="amt-m">$9.99<small> / month</small></span><span class="amt-y" style="display:none">$99.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Shows what cards like yours really sold for on eBay, so you price yours right. <span class="auto-note">It watches prices for you and flags the big moves.</span></p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/8x228j9s6cyiarkc6W3sI06" data-monthly="https://buy.stripe.com/8x228j9s6cyiarkc6W3sI06" data-yearly="https://buy.stripe.com/fZu9AL0VAaqaczs7QG3sI07">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Sales-Ace.png" alt="Sales Ace icon"><h3>Sales Ace</h3></div>
          <p class="price"><span class="amt-m">$9.99<small> / month</small></span><span class="amt-y" style="display:none">$99.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Adds up what you really made — after what the card cost, eBay&rsquo;s fees, and shipping. <span class="auto-note">Your profit stays counted as you sell — no adding it up by hand.</span></p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/8x27sDgUy9m67f8db03sI08" data-monthly="https://buy.stripe.com/8x27sDgUy9m67f8db03sI08" data-yearly="https://buy.stripe.com/aFaaEP9s68i2fLEb2S3sI09">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
        <article class="card">
          <div class="card-top"><img class="app-icon" src="icons/Auction-Ace.png" alt="Snipe Ace icon"><h3>Snipe Ace</h3></div>
          <p class="price"><span class="amt-m">$12.99<small> / month</small></span><span class="amt-y" style="display:none">$129.99<small> / year</small></span></p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <p class="app-desc">Watches the auctions you are tracking. Set your top price and how many seconds before the end &mdash; it bids for you, inside the one spending limit you set. Win, and it hands the package off to Track Ace.</p>
          <p class="free">7 free days first</p>
          <div class="btn-start-wrap btn-row"><a class="btn btn-gold btn-start" href="https://buy.stripe.com/00wdR1awa2XI8jcc6W3sI0c" data-monthly="https://buy.stripe.com/00wdR1awa2XI8jcc6W3sI0c" data-yearly="https://buy.stripe.com/4gMdR15bQeGq0QKc6W3sI0d">Start your 7-day trial now</a></div>
          <p class="trial-note">As soon as you start your 7-day trial, you&rsquo;ll be sent to your app.</p>
        </article>
      </div>

      <p class="billing-note">Pick monthly or yearly on the app&rsquo;s card before you start &mdash; the checkout keeps the one you picked. Monthly plans are billed every month until you cancel. Yearly is one payment for the whole year. Yearly savings are figured against paying monthly for a year.</p>

      <p class="billing-note">Your price stays locked at the price you joined at, for as long as you stay subscribed.</p>

      <div class="bundle" id="bundle-picker">
        <div>
          <p class="b-label">Bundle and save</p>
          <h3>Mix and match &mdash; pick the apps you want</h3>
          <p>Pick any two or more apps and they bundle together for less. Two apps take $2 off. Three apps take $4 off. Four take $6 off. Five take $8 off. All six are the bundle price: <strong>$49.99 a month</strong>, or <strong>$499.99 a year</strong>.</p>
          <p class="bill-pick"><label>Bill me: <select id="pickBill" aria-label="Choose monthly or yearly billing for your bundle"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <div id="pickApps" style="margin:10px 0">
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Listing Ace" data-name="Listing Ace" data-m="14.99" data-y="149.99" data-link-m="https://buy.stripe.com/cNi5kveMqeGq2YS9YO3sI0a" data-link-y="https://buy.stripe.com/7sYaEP1ZE7dY1UO9YO3sI0b"> <img class="pick-icon" src="icons/Listing-Ace.png" alt=""> Listing Ace &mdash; $14.99 / month</label>
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Buyer Ace" data-name="Buyer Ace" data-m="7.99" data-y="79.99" data-link-m="https://buy.stripe.com/00w3cn7jY41MfLEdb03sI02" data-link-y="https://buy.stripe.com/28EdR133I1TEeHAgnc3sI03"> <img class="pick-icon" src="icons/Buyer-Ace.png" alt=""> Buyer Ace &mdash; $7.99 / month</label>
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Track Ace" data-name="Track Ace" data-m="4.99" data-y="49.99" data-link-m="https://buy.stripe.com/3cI14f6fU69U2YSfj83sI04" data-link-y="https://buy.stripe.com/00w14f9s6eGqbvognc3sI05"> <img class="pick-icon" src="icons/Ship-Ace.png" alt=""> Track Ace &mdash; $4.99 / month</label>
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Comp Ace" data-name="Comp Ace" data-m="9.99" data-y="99.99" data-link-m="https://buy.stripe.com/8x228j9s6cyiarkc6W3sI06" data-link-y="https://buy.stripe.com/fZu9AL0VAaqaczs7QG3sI07"> <img class="pick-icon" src="icons/Comp-Ace.png" alt=""> Comp Ace &mdash; $9.99 / month</label>
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Sales Ace" data-name="Sales Ace" data-m="9.99" data-y="99.99" data-link-m="https://buy.stripe.com/8x27sDgUy9m67f8db03sI08" data-link-y="https://buy.stripe.com/aFaaEP9s68i2fLEb2S3sI09"> <img class="pick-icon" src="icons/Sales-Ace.png" alt=""> Sales Ace &mdash; $9.99 / month</label>
            <label style="display:block;margin:6px 0"><input type="checkbox" class="pick-app" aria-label="Snipe Ace" data-name="Snipe Ace" data-m="12.99" data-y="129.99" data-link-m="https://buy.stripe.com/00wdR1awa2XI8jcc6W3sI0c" data-link-y="https://buy.stripe.com/4gMdR15bQeGq0QKc6W3sI0d"> <img class="pick-icon" src="icons/Auction-Ace.png" alt=""> Snipe Ace &mdash; $12.99 / month</label>
          </div>
          <p id="pickResult" style="font-size:18px;color:#fff">Pick at least two apps to see your bundle price.</p>
          <p id="pickLinks" style="margin-top:12px"></p>
          <!-- Interim purchase path (2026-10-30): each picked app starts on its OWN
               Stripe trial link below, at that app's own price. One single checkout at
               the combined ladder price ($2/$4/$6/$8 off for 2/3/4/5 apps) needs the
               front desk (the home-base Worker), which is NOT deployed yet - the
               combined checkout is not faked here. -->
          <p>For now, start each app you picked on its own trial link above &mdash; one app at a time, at that app&rsquo;s own price. One checkout at the combined bundle price opens with the full launch: when you buy that bundle, Stripe tells SellersAce which apps you picked, and each app knows it is yours.</p>
        </div>
      </div>

      <div class="bundle" id="pricing-six">
        <div>
          <p class="b-label">Bundle and save</p>
          <h3>Or all six apps, one price</h3>
          <p>All six together, Snipe Ace included: <strong>$49.99 a month</strong>, or <strong>$499.99 a year</strong>. One by one they cost $60.94 a month &mdash; the bundle saves you money.</p>
          <p class="b-names">Listing Ace &middot; Buyer Ace &middot; Track Ace &middot; Comp Ace &middot; Sales Ace &middot; Snipe Ace</p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <a class="btn btn-gold btn-start" href="https://buy.stripe.com/5kQ4greMq0PAeHA4Eu3sI0e" data-monthly="https://buy.stripe.com/5kQ4greMq0PAeHA4Eu3sI0e" data-yearly="https://buy.stripe.com/cNi8wH6fUdCmczsdb03sI0f">Start your 7-day trial now</a>
          <p class="trial-note" style="margin-top:12px">As soon as you start your 7-day trial, you&rsquo;ll be sent to your apps.</p>
        </div>
        <div class="bundle-price">
          <div class="b-amt">$49.99<small> / month</small></div>
          <p class="b-was">Separately: <s>$60.94 / month</s></p>
          <span class="b-save">Save $10.95 a month</span>
          <div class="b-amt b-yearly"><a class="yearly-link" href="https://buy.stripe.com/cNi8wH6fUdCmczsdb03sI0f">$499.99<small> / year</small></a></div>
          <p class="b-was">Separately: <s>$609.94 / year</s></p>
          <span class="b-save">Save $109.95 a year</span>
        </div>
      </div>

      <div class="bundle" id="pricing">
        <div>
          <p class="b-label">Bundle and save</p>
          <h3>Or all five original apps, one price</h3>
          <p>All five together: <strong>$39.99 a month</strong>, or <strong>$399.99 a year</strong>. One by one they cost $47.95 a month — the bundle saves you money.</p>
          <p class="b-names">Listing Ace &middot; Buyer Ace &middot; Track Ace &middot; Comp Ace &middot; Sales Ace</p>
          <p class="bill-pick"><label>Bill me: <select class="bill-select" aria-label="Choose monthly or yearly billing"><option value="m">Monthly</option><option value="y">Yearly</option></select></label></p>
          <a class="btn btn-gold btn-start" href="https://buy.stripe.com/dRm9ALgUyaqaeHA0oe3sI01" data-monthly="https://buy.stripe.com/dRm9ALgUyaqaeHA0oe3sI01" data-yearly="https://buy.stripe.com/00w00b8o29m6arkc6W3sI00">Start your 7-day trial now</a>
          <p class="trial-note" style="margin-top:12px">As soon as you start your 7-day trial, you&rsquo;ll be sent to your apps.</p>
        </div>
        <div class="bundle-price">
          <div class="b-amt">$39.99<small> / month</small></div>
          <p class="b-was">Separately: <s>$47.95 / month</s></p>
          <span class="b-save">Save $7.96 a month</span>
          <div class="b-amt b-yearly"><a class="yearly-link" href="https://buy.stripe.com/00w00b8o29m6arkc6W3sI00">$399.99<small> / year</small></a></div>
          <p class="b-was">Separately: <s>$479.95 / year</s></p>
          <span class="b-save">Save $79.96 a year</span>
        </div>
      </div>

    </div>
  </section>

  <!-- Why sellers switch -->
  <section id="why">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">Why sellers switch</p>
        <h2>Made for sellers who&rsquo;d rather be selling</h2>
        <p class="sec-lead">The everyday frustrations of selling, turned into things that simply get done &mdash; so the work feels lighter, from the first listing to the final payout.</p>
      </div>

      <div class="wins">
        <p><span class="dot"></span><span><strong>Scan a card. The listing writes itself.</strong></span></p>
        <p><span class="dot"></span><span><strong>No more guessing prices</strong> — see what cards really sold for</span></p>
        <p><span class="dot"></span><span><strong>Know your real profit</strong> — after the fees, the shipping, and what the card cost you</span></p>
        <p><span class="dot"></span><span><strong>Never miss a claim deadline</strong> — the app counts down the days for you</span></p>
        <p><span class="dot"></span><span><strong>Feedback in one tap</strong> — the chore is gone</span></p>
        <p><span class="dot"></span><span><strong>Every buyer gets thanked</strong> — without you lifting a finger</span></p>
        <p><span class="dot"></span><span><strong>Old listings don&rsquo;t sit and die</strong> — the app flags the ones sitting too long</span></p>
      </div>
    </div>
  </section>

  <!-- About Jenn -->
  <section id="about">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">A note from me</p>
        <h2>Hi, I&rsquo;m Jenn</h2>
      </div>
      <p class="sec-lead" style="max-width:720px">I&rsquo;m a real eBay seller &mdash; I run a shop on eBay, and I built these apps because I needed them myself. Every one of them came out of something that frustrated me about selling: listings that took forever, prices I had to guess at, and never quite knowing my real profit. Feedback took forever too, and I always wanted to make sure every buyer got a thank-you. And when I bought things myself, I was never sure all my packages had actually arrived &mdash; ones that never showed up could slip by unnoticed.</p>
      <p class="sec-lead" style="max-width:720px">When I went looking for apps to help, I really couldn&rsquo;t find any that worked &mdash; and the ones I did find charged monthly fees and made you buy tokens on top of that. I wanted to cut all of that out: something affordable that just makes selling easier.</p>
      <p class="sec-lead" style="max-width:720px">This is my first time building anything like this. I hope this makes your selling life simpler and easier, like it has mine. If you have a suggestion, or an idea for something new, I&rsquo;d really love to hear it.</p>
    </div>
  </section>

  <!-- How it works -->
  <section id="how">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">How it works</p>
        <h2>Each app works on its own</h2>
        <p class="sec-lead">Pick the app or apps you want. That&rsquo;s all you need — no other SellersAce app required. Start your 7-day trial, open the app right in your browser, sign in, and you&rsquo;re working, on any device.</p>
      </div>

      <div class="steps">
        <div class="step">
          <span class="n">STEP 1</span>
          <h3>Pick your apps and start your trial</h3>
          <p>Pick one app, pick a few, or take all six in the bundle. Every app works on its own, at its own price — and all six together are $49.99 a month, or $499.99 a year. Start your 7-day trial with a card on file, and only the apps you chose unlock. Picked three? You get three — the rest stay locked.</p>
        </div>
        <div class="step">
          <span class="n">STEP 2</span>
          <h3>Check your email for your code</h3>
          <p>We email you a one-time code. The email says it plain: this code is your password, and your username is your email address. Please give it up to an hour to arrive.</p>
        </div>
        <div class="step">
          <span class="n">STEP 3</span>
          <h3>Set your password — you&rsquo;re in</h3>
          <p>Type the code, choose your own password, and you land on your page with only your apps on it. Connect your eBay store, and you&rsquo;re working. From then on, you sign in with your email and your password.</p>
        </div>
      </div>

      <p class="devices"><strong>Works on:</strong> your phone, your tablet, your Mac, a Windows computer, and a Chromebook — anything with a web browser.</p>
    </div>
  </section>

  <!-- Refund policy -->
  <section id="refunds">
    <div class="wrap">
      <div class="refund-box">
        <p class="kicker">Refund policy</p>
        <h2>All sales are final</h2>
        <p class="big">All sales are final. No refunds.</p>
        <p>Cancel anytime, and you keep using the app until your paid time runs out.</p>
      </div>
    </div>
  </section>

  <!-- Contact -->
  <section id="contact">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">Contact</p>
        <h2>Questions? Email us.</h2>
      </div>
      <div class="contact-card">
        <div>
          <p style="margin-bottom:6px">Questions about the apps, the prices, or your account? Send us an email:</p>
          <a class="mail" href="mailto:support@sellersace.com">support@sellersace.com</a>
        </div>
        <a class="btn btn-ghost" href="mailto:support@sellersace.com">Send an email</a>
      </div>
    </div>
  </section>

  <!-- Questions & answers -->
  <section id="questions">
    <div class="wrap">
      <div class="sec-head">
        <p class="kicker">Questions &amp; answers</p>
        <h2>Plain answers</h2>
      </div>
      <div class="qa-list">
        <div class="qa">
          <h3>How much does it cost?</h3>
          <p>Listing Ace is $14.99 a month or $149.99 a year. Buyer Ace is $7.99 a month or $79.99 a year. Track Ace is $4.99 a month or $49.99 a year. Comp Ace is $9.99 a month or $99.99 a year. Sales Ace is $9.99 a month or $99.99 a year. Snipe Ace is $12.99 a month or $129.99 a year. All five original apps together are $39.99 a month or $399.99 a year. All six together are $49.99 a month or $499.99 a year. Every app starts with 7 free days, and there are no hidden fees. Your price stays locked at the price you joined at, for as long as you stay subscribed.</p>
        </div>
        <div class="qa">
          <h3>How does the free trial work?</h3>
          <p>Every app starts with 7 free days. One free trial per eBay store, for each app — the trial goes with your store, whichever login you use.</p>
        </div>
        <div class="qa">
          <h3>Do I need all six?</h3>
          <p><strong>No.</strong> Each app works by itself — you never need one to use another. Pick the one you want, or take all six in the bundle.</p>
        </div>
        <div class="qa">
          <h3>How do I get the app on my phone or computer?</h3>
          <p>There are no downloads from a public page. Once your trial starts, your app is on your own private page — and you can install it from there, so its icon sits on your phone or computer like a real app.</p>
        </div>
        <div class="qa">
          <h3>How does it connect to my eBay?</h3>
          <p>You sign in and link your eBay account through eBay&rsquo;s own screen. Then the apps can do the work for you.</p>
        </div>
        <div class="qa">
          <h3>Can I cancel anytime?</h3>
          <p><strong>Yes.</strong> Cancel anytime, and you keep using the app until your paid time runs out.</p>
        </div>
        <div class="qa">
          <h3>What if I want a refund?</h3>
          <p><strong>All sales are final. No refunds.</strong></p>
        </div>
      </div>
    </div>
  </section>

</main>

<footer>
  <div class="wrap">
    <span class="fbrand">Sellers<span>Ace</span> — built for eBay store owners.</span>
    <span>Prices in US dollars.</span>
  </div>
</footer>


<script>
document.querySelectorAll('.bill-select').forEach(function(sel){
  sel.addEventListener('change', function(){
    var box = sel.closest('.card, .bundle');
    if(!box) return;
    var yearly = sel.value === 'y';
    var btn = box.querySelector('.btn-start');
    if(btn && btn.dataset.monthly && btn.dataset.yearly){ btn.href = yearly ? btn.dataset.yearly : btn.dataset.monthly; }
    var m = box.querySelector('.amt-m'), y = box.querySelector('.amt-y');
    if(m && y){ m.style.display = yearly ? 'none' : ''; y.style.display = yearly ? '' : 'none'; }
  });
});

(function(){
  var boxes = document.querySelectorAll('.pick-app');
  var bill = document.getElementById('pickBill');
  var out = document.getElementById('pickResult');
  var links = document.getElementById('pickLinks');
  if(!boxes.length || !bill || !out) return;
  function money(n){ return '$' + n.toFixed(2); }
  function calc(){
    var picked = [];
    boxes.forEach(function(b){ if(b.checked) picked.push(b); });
    if(picked.length < 2){ out.textContent = 'Pick at least two apps to see your bundle price.'; if(links) links.innerHTML = ''; return; }
    var yearly = bill.value === 'y';
    var total = 0;
    picked.forEach(function(b){ total += parseFloat(yearly ? b.dataset.y : b.dataset.m); });
    var n = picked.length, price;
    if(n === 6){ price = yearly ? 499.99 : 49.99; }
    else if(n === 2){ price = total - (yearly ? 20 : 2); }
    else if(n === 3){ price = total - (yearly ? 40 : 4); }
    else if(n === 4){ price = total - (yearly ? 60 : 6); }
    else { price = total - (yearly ? 80 : 8); }
    var names = picked.map(function(b){ return b.dataset.name; }).join(', ');
    out.textContent = 'Your bundle: ' + names + ' \u2014 ' + money(price) + (yearly ? ' a year' : ' a month') + ' (separately ' + money(total) + ', you save ' + money(total - price) + '). 7 free days first.';
    if(links){ links.innerHTML = picked.map(function(b){ var u = yearly ? b.dataset.linkY : b.dataset.linkM; return '<a class="btn btn-gold" style="margin:0 8px 8px 0" href="' + u + '">Start your 7-day trial now \u2014 ' + b.dataset.name + '</a>'; }).join(''); }
  }
  boxes.forEach(function(b){ b.addEventListener('change', calc); });
  bill.addEventListener('change', calc);
})();
</script>
</body>
</html>
