<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Beyonda — The AI employee that catches your missed calls</title>
<meta name="description" content="Beyonda answers the calls that ring out — after hours, on the job, on your second line — books the appointment, and hands off to a human. $99/mo flat. English · Arabic · Spanish.">
<style>
  :root{
    --bg:#07070f; --bg2:#0c0c1a; --card:rgba(255,255,255,.04); --line:rgba(255,255,255,.09);
    --txt:#f4f5ff; --mut:#9aa0b5; --a:#6ee7ff; --b:#a78bfa; --c:#f472b6;
    --grad:linear-gradient(100deg,var(--a),var(--b) 55%,var(--c));
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--bg);color:var(--txt);font-family:'Segoe UI',system-ui,-apple-system,sans-serif;line-height:1.6;overflow-x:hidden}
  .mesh{position:fixed;inset:0;z-index:-1;background:
    radial-gradient(60% 50% at 15% 10%,rgba(110,231,255,.14),transparent 60%),
    radial-gradient(55% 45% at 85% 15%,rgba(167,139,250,.14),transparent 60%),
    radial-gradient(50% 40% at 50% 100%,rgba(244,114,182,.12),transparent 60%),
    var(--bg);}
  .mesh::after{content:"";position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:44px 44px;opacity:.35;mask-image:radial-gradient(80% 70% at 50% 0%,#000 30%,transparent 100%)}
  .wrap{max-width:1080px;margin:0 auto;padding:0 22px}
  nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
  .logo{font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
  .logo span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .btn{display:inline-block;padding:12px 22px;border-radius:12px;font-weight:700;text-decoration:none;border:1px solid var(--line);color:var(--txt);background:var(--card);backdrop-filter:blur(8px);transition:.2s}
  .btn:hover{transform:translateY(-2px)}
  .btn.grad{background:var(--grad);color:#06060c;border:none;box-shadow:0 8px 30px rgba(110,231,255,.25)}
  .btn.ghost{background:transparent}
  .btn.sm{padding:9px 16px;font-size:.9rem}
  header{text-align:center;padding:64px 0 30px}
  .eyebrow{display:inline-block;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--a);border:1px solid var(--line);border-radius:99px;padding:6px 14px;margin-bottom:22px;background:var(--card)}
  h1{font-size:clamp(2.4rem,6vw,4.3rem);line-height:1.05;letter-spacing:-.03em;font-weight:800}
  h1 .grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .sub{max-width:660px;margin:20px auto 0;color:var(--mut);font-size:1.15rem}
  .cta-row{display:flex;gap:14px;justify-content:center;margin-top:32px;flex-wrap:wrap}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:54px 0}
  .stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;backdrop-filter:blur(8px)}
  .stat b{display:block;font-size:1.9rem;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .stat span{color:var(--mut);font-size:.95rem}
  section{padding:44px 0}
  h2{font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:-.02em;font-weight:800;margin-bottom:10px;text-align:center}
  .lead{color:var(--mut);text-align:center;max-width:640px;margin:0 auto 34px}
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
  .card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;backdrop-filter:blur(8px);transition:.25s;transform-style:preserve-3d}
  .card:hover{transform:translateY(-6px) rotateX(2deg);border-color:rgba(110,231,255,.35)}
  .card .ic{font-size:1.6rem;margin-bottom:12px}
  .card h3{font-size:1.12rem;margin-bottom:8px}
  .card p{color:var(--mut);font-size:.95rem}
  .calc{max-width:640px;margin:0 auto;background:linear-gradient(140deg,rgba(110,231,255,.08),rgba(167,139,250,.08));border:1px solid var(--line);border-radius:22px;padding:34px;text-align:center}
  .calc .row{display:flex;gap:14px;justify-content:center;margin:18px 0;flex-wrap:wrap}
  .calc label{font-size:.9rem;color:var(--mut)}
  .calc input{width:130px;padding:12px;border-radius:10px;border:1px solid var(--line);background:#0e0e1a;color:var(--txt);font-size:1.05rem;text-align:center}
  .calc .out{font-size:2rem;font-weight:800;margin:14px 0 4px}
  .calc .out span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
  .price{max-width:520px;margin:0 auto;background:var(--card);border:1px solid rgba(110,231,255,.35);border-radius:22px;padding:38px;text-align:center;backdrop-filter:blur(8px)}
  .price .amount{font-size:3.4rem;font-weight:800;letter-spacing:-.03em}
  .price .per{color:var(--mut)}
  .price ul{list-style:none;margin:22px 0;text-align:left;display:inline-block}
  .price li{padding:7px 0;color:var(--mut)}
  .price li::before{content:"✓ ";color:var(--a);font-weight:800}
  .compare{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-top:22px;color:var(--mut);font-size:.9rem}
  .compare s{color:#6b6f83}
  .trust{text-align:center;max-width:720px;margin:0 auto;color:var(--mut)}
  .trust b{color:var(--txt)}
  footer{border-top:1px solid var(--line);margin-top:50px;padding:28px 0;text-align:center;color:var(--mut);font-size:.9rem}
  .rev{opacity:0;transform:translateY(18px);transition:.6s}
  .rev.on{opacity:1;transform:none}
  @media(max-width:640px){.stats{grid-template-columns:1fr}}
</style>
</head>
<body>
<div class="mesh"></div>
<div class="wrap">
  <nav>
    <div class="logo">beyonda<span>.ai</span></div>
    <a class="btn sm grad" href="#pricing">Start free</a>
  </nav>

  <header>
    <span class="eyebrow">AI for local business</span>
    <h1>Your business's<br>first <span class="grad">AI employee.</span></h1>
    <p class="sub">Beyonda catches the calls that ring out — after hours, on the job, on your second line — books the appointment, and hands off to a human the moment it matters.</p>
    <div class="cta-row">
      <a class="btn grad" href="#pricing">Try it free for 14 days</a>
      <a class="btn ghost" href="#calc">See the missed-call math</a>
    </div>
  </header>

  <div class="stats">
    <div class="stat"><b>30–50%</b><span>of calls to small businesses go unanswered</span></div>
    <div class="stat"><b>85%</b><span>of missed callers never call back</span></div>
    <div class="stat"><b>62%</b><span>call a competitor instead</span></div>
  </div>

  <section id="calc">
    <h2>What your missed calls already cost you</h2>
    <p class="lead">Every ring-out is revenue you earned and never collected.</p>
    <div class="calc">
      <div class="row">
        <div><label>Missed calls / day</label><br><input id="calls" type="number" value="5" min="0"></div>
        <div><label>Avg. ticket ($)</label><br><input id="ticket" type="number" value="200" min="0"></div>
      </div>
      <div class="out">$<span id="loss">0</span></div>
      <div style="color:var(--mut)">walking out the door every month</div>
    </div>
  </section>

  <section id="how">
    <h2>How it works</h2>
    <p class="lead">Three steps. You keep the phone; Beyonda keeps the missed calls.</p>
    <div class="grid">
      <div class="card"><div class="ic">🔗</div><h3>Connect your number</h3><p>Forward your missed or after-hours calls in minutes. No new hardware.</p></div>
      <div class="card"><div class="ic">🎙️</div><h3>Beyonda answers & books</h3><p>Greets callers, answers questions, and books straight into your calendar — in English, Arabic, or Spanish.</p></div>
      <div class="card"><div class="ic">🤝</div><h3>You close, human-to-human</h3><p>The lead lands in your inbox. Beyonda hands off the moment a real person is needed.</p></div>
    </div>
  </section>

  <section id="why">
    <h2>Not a receptionist replacement</h2>
    <p class="lead">The honest truth the others won't say.</p>
    <div class="grid">
      <div class="card"><div class="ic">🌍</div><h3>Trilingual</h3><p>English, Arabic, Spanish. Your Spanish-speaking callers get answered, not lost.</p></div>
      <div class="card"><div class="ic">📅</div><h3>Direct booking</h3><p>Appointments land in your calendar, not in a voicemail you'll never check.</p></div>
      <div class="card"><div class="ic">🚫</div><h3>No minute games</h3><p>One flat price. No per-minute overage, no surprise bill. Ever.</p></div>
    </div>
    <div class="trust" style="margin-top:34px"><b>Why not "replace your receptionist"?</b> Because 79% of people prefer a human. Beyonda wins where the alternative is <b>silence</b> — after hours and overflow — and steps aside the moment a human matters. That's the truth, and it's why it works.</div>
  </section>

  <section id="pricing">
    <h2>One price. No surprises.</h2>
    <p class="lead">Flat, transparent, and it pays for itself with one recovered booking a month.</p>
    <div class="price">
      <div class="amount">$99<span class="per">/mo</span></div>
      <div style="color:var(--mut)">14-day free trial · no setup fee · cancel anytime</div>
      <ul>
        <li>Catches after-hours &amp; overflow calls</li>
        <li>Books appointments into your calendar</li>
        <li>English · Arabic · Spanish</li>
        <li>Human handoff + lead to your inbox</li>
        <li>No minutes, no overage, no surprise</li>
      </ul>
      <a class="btn grad" href="#start">Start your free trial</a>
      <div class="compare">
        <span><s>Ruby $250/mo</s></span>
        <span><s>Smith.ai $150/mo</s></span>
        <span><s>Slang.ai $399/mo</s></span>
      </div>
    </div>
  </section>

  <section id="start">
    <h2>Give your missed calls a voice</h2>
    <p class="lead">14 days free. Hear it answer your own number before you pay a cent.</p>
    <div class="cta-row"><a class="btn grad" href="mailto:info@beyondx.llc?subject=Beyonda%20free%20trial">Start free trial</a></div>
  </section>

  <footer>© 2026 Beyonda · <span>beyonda.ai</span> · Questions: info@beyondx.llc<br><a href="/terms.html" style="color:#6ee7ff;text-decoration:none">Terms</a> · <a href="/privacy.html" style="color:#6ee7ff;text-decoration:none">Privacy</a> · <a href="/refund.html" style="color:#6ee7ff;text-decoration:none">Refund</a> · <a href="/aup.html" style="color:#6ee7ff;text-decoration:none">Acceptable Use</a></footer>
</div>
<script>
  const c=document.getElementById('calls'),t=document.getElementById('ticket'),o=document.getElementById('loss');
  function calc(){o.textContent=((+c.value||0)*(+t.value||0)*22).toLocaleString()}
  c.addEventListener('input',calc);t.addEventListener('input',calc);calc();
  const io=new IntersectionObserver(es=>es.forEach(e=>{if(e.isIntersecting){e.target.classList.add('on');io.unobserve(e.target)}}),{threshold:.12});
  document.querySelectorAll('.rev').forEach(el=>io.observe(el));
</script>
</body>
</html>
