{"id":10,"date":"2026-04-16T19:36:34","date_gmt":"2026-04-16T19:36:34","guid":{"rendered":"https:\/\/txtlyapp.com\/?page_id=10"},"modified":"2026-04-16T22:44:30","modified_gmt":"2026-04-16T22:44:30","slug":"home","status":"publish","type":"page","link":"https:\/\/txtlyapp.com\/","title":{"rendered":""},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Txtly \u2014 No Email? No Problem.<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&#038;family=DM+Sans:ital,wght@0,400;0,500;1,400&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --navy: #0a0e1a;\n    --navy2: #131929;\n    --green: #00e5a0;\n    --green2: #00b87a;\n    --green3: #004d35;\n    --white: #ffffff;\n    --gray: #a0a8b8;\n    --light: #f4f6fa;\n    --border: rgba(255,255,255,0.08);\n  }\n\n  html { scroll-behavior: smooth; }\n\n  body {\n    font-family: 'DM Sans', sans-serif;\n    background: var(--navy);\n    color: var(--white);\n    overflow-x: hidden;\n  }\n\n  \/* NAV *\/\n  nav {\n    position: fixed; top: 0; left: 0; right: 0; z-index: 100;\n    display: flex; align-items: center; justify-content: space-between;\n    padding: 1.25rem 2rem;\n    background: rgba(10,14,26,0.92);\n    backdrop-filter: blur(12px);\n    border-bottom: 1px solid var(--border);\n  }\n\n  .nav-logo {\n    font-family: 'Syne', sans-serif;\n    font-size: 1.6rem; font-weight: 800;\n    letter-spacing: -1px; color: var(--white);\n    text-decoration: none;\n  }\n  .nav-logo span { color: var(--green); }\n\n  .nav-cta {\n    background: var(--green); color: var(--navy);\n    font-family: 'DM Sans', sans-serif; font-weight: 500;\n    font-size: 0.9rem; padding: 0.6rem 1.4rem;\n    border-radius: 999px; text-decoration: none;\n    transition: background 0.2s;\n  }\n  .nav-cta:hover { background: var(--green2); }\n\n  \/* HERO *\/\n  .hero {\n    min-height: 100vh;\n    display: flex; flex-direction: column;\n    align-items: center; justify-content: center;\n    text-align: center;\n    padding: 7rem 1.5rem 4rem;\n    position: relative; overflow: hidden;\n  }\n\n  .hero::before {\n    content: '';\n    position: absolute; top: -200px; left: 50%; transform: translateX(-50%);\n    width: 700px; height: 700px; border-radius: 50%;\n    background: radial-gradient(circle, rgba(0,229,160,0.12) 0%, transparent 70%);\n    pointer-events: none;\n  }\n\n  .hero-badge {\n    display: inline-flex; align-items: center; gap: 8px;\n    background: rgba(0,229,160,0.1); border: 1px solid rgba(0,229,160,0.25);\n    color: var(--green); font-size: 0.8rem; font-weight: 500;\n    padding: 0.4rem 1rem; border-radius: 999px;\n    margin-bottom: 2rem; letter-spacing: 0.5px;\n    animation: fadeUp 0.6s ease both;\n  }\n\n  .hero-badge-dot {\n    width: 6px; height: 6px; border-radius: 50%;\n    background: var(--green); animation: pulse 2s infinite;\n  }\n\n  @keyframes pulse {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.4; }\n  }\n\n  .hero h1 {\n    font-family: 'Syne', sans-serif;\n    font-size: clamp(2.8rem, 7vw, 5.5rem);\n    font-weight: 800; line-height: 1.05;\n    letter-spacing: -2px; margin-bottom: 1rem;\n    animation: fadeUp 0.6s 0.1s ease both;\n  }\n\n  .hero h1 span { color: var(--green); }\n\n  .hero h2 {\n    font-family: 'Syne', sans-serif;\n    font-size: clamp(1.4rem, 3.5vw, 2.4rem);\n    font-weight: 700; color: var(--gray);\n    letter-spacing: -0.5px; margin-bottom: 1.75rem;\n    animation: fadeUp 0.6s 0.2s ease both;\n  }\n\n  .hero p {\n    max-width: 560px; font-size: 1.05rem;\n    line-height: 1.7; color: var(--gray);\n    margin-bottom: 2.5rem;\n    animation: fadeUp 0.6s 0.3s ease both;\n  }\n\n  .hero-actions {\n    display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center;\n    animation: fadeUp 0.6s 0.4s ease both;\n  }\n\n  .btn-primary {\n    background: var(--green); color: var(--navy);\n    font-weight: 500; font-size: 1rem;\n    padding: 0.85rem 2rem; border-radius: 999px;\n    text-decoration: none; transition: all 0.2s;\n    border: none; cursor: pointer;\n  }\n  .btn-primary:hover { background: var(--green2); transform: translateY(-1px); }\n\n  .btn-secondary {\n    background: transparent; color: var(--white);\n    font-weight: 500; font-size: 1rem;\n    padding: 0.85rem 2rem; border-radius: 999px;\n    text-decoration: none; transition: all 0.2s;\n    border: 1px solid var(--border);\n  }\n  .btn-secondary:hover { border-color: rgba(255,255,255,0.3); transform: translateY(-1px); }\n\n  \/* PHONE MOCKUP *\/\n  .phone-wrap {\n    margin-top: 4rem;\n    animation: fadeUp 0.6s 0.5s ease both;\n    position: relative;\n  }\n\n  .phone {\n    width: 260px; margin: 0 auto;\n    background: var(--navy2);\n    border-radius: 36px;\n    border: 2px solid rgba(255,255,255,0.1);\n    padding: 1.5rem 1rem;\n    box-shadow: 0 40px 80px rgba(0,0,0,0.5), 0 0 0 1px rgba(0,229,160,0.1);\n  }\n\n  .phone-status {\n    display: flex; justify-content: space-between;\n    font-size: 0.7rem; color: var(--gray);\n    margin-bottom: 1rem; padding: 0 0.25rem;\n  }\n\n  .sms-header {\n    text-align: center; margin-bottom: 1rem;\n    font-size: 0.75rem; color: var(--gray);\n  }\n\n  .sms-name {\n    font-weight: 500; color: var(--white);\n    font-size: 0.9rem; margin-bottom: 2px;\n  }\n\n  .bubble {\n    padding: 0.65rem 0.9rem; border-radius: 16px;\n    font-size: 0.78rem; line-height: 1.5;\n    margin-bottom: 0.5rem; max-width: 90%;\n  }\n\n  .bubble-in {\n    background: #1e2535; color: var(--white);\n    border-bottom-left-radius: 4px;\n  }\n\n  .bubble-out {\n    background: var(--green); color: var(--navy);\n    font-weight: 500; margin-left: auto;\n    border-bottom-right-radius: 4px;\n  }\n\n  .bubble-confirm {\n    background: rgba(0,229,160,0.1);\n    border: 1px solid rgba(0,229,160,0.3);\n    color: var(--green); font-size: 0.72rem;\n    border-radius: 12px; padding: 0.75rem;\n    margin-top: 0.5rem;\n  }\n\n  .bubble-confirm-title {\n    font-weight: 500; margin-bottom: 4px;\n  }\n\n  \/* STATS *\/\n  .stats {\n    display: grid; grid-template-columns: repeat(3,1fr);\n    gap: 1px; background: var(--border);\n    border-top: 1px solid var(--border);\n    border-bottom: 1px solid var(--border);\n  }\n\n  .stat {\n    background: var(--navy2); padding: 2.5rem 1.5rem;\n    text-align: center;\n  }\n\n  .stat-num {\n    font-family: 'Syne', sans-serif;\n    font-size: 2.5rem; font-weight: 800;\n    color: var(--green); margin-bottom: 0.5rem;\n  }\n\n  .stat-label {\n    font-size: 0.85rem; color: var(--gray); line-height: 1.4;\n  }\n\n  \/* SECTIONS *\/\n  section { padding: 5rem 1.5rem; }\n\n  .container { max-width: 1000px; margin: 0 auto; }\n\n  .section-tag {\n    font-size: 0.75rem; font-weight: 500; letter-spacing: 2px;\n    text-transform: uppercase; color: var(--green);\n    margin-bottom: 1rem;\n  }\n\n  .section-title {\n    font-family: 'Syne', sans-serif;\n    font-size: clamp(2rem, 4vw, 3rem);\n    font-weight: 800; line-height: 1.1;\n    letter-spacing: -1px; margin-bottom: 1.25rem;\n  }\n\n  .section-body {\n    font-size: 1.05rem; line-height: 1.75;\n    color: var(--gray); max-width: 600px;\n  }\n\n  \/* PROBLEM *\/\n  .problem { background: var(--navy2); }\n\n  .problem-grid {\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem; margin-top: 3rem;\n  }\n\n  .problem-card {\n    background: var(--navy); border-radius: 16px;\n    border: 1px solid var(--border); padding: 2rem;\n    transition: border-color 0.2s;\n  }\n  .problem-card:hover { border-color: rgba(0,229,160,0.3); }\n\n  .problem-icon {\n    width: 44px; height: 44px; border-radius: 12px;\n    display: flex; align-items: center; justify-content: center;\n    font-size: 1.25rem; margin-bottom: 1rem;\n  }\n\n  .pi-red { background: rgba(226,75,74,0.15); }\n  .pi-amber { background: rgba(239,159,39,0.15); }\n  .pi-green { background: rgba(0,229,160,0.1); }\n\n  .problem-card h3 {\n    font-family: 'Syne', sans-serif;\n    font-size: 1.1rem; font-weight: 700;\n    margin-bottom: 0.6rem;\n  }\n\n  .problem-card p { font-size: 0.9rem; color: var(--gray); line-height: 1.6; }\n\n  \/* HOW IT WORKS *\/\n  .steps { display: flex; flex-direction: column; gap: 0; margin-top: 3rem; }\n\n  .step {\n    display: flex; gap: 1.5rem; align-items: flex-start;\n    padding: 2rem 0; border-bottom: 1px solid var(--border);\n  }\n  .step:last-child { border-bottom: none; }\n\n  .step-num {\n    font-family: 'Syne', sans-serif; font-size: 3rem;\n    font-weight: 800; color: rgba(0,229,160,0.2);\n    line-height: 1; flex-shrink: 0; width: 60px;\n  }\n\n  .step-content h3 {\n    font-family: 'Syne', sans-serif; font-size: 1.25rem;\n    font-weight: 700; margin-bottom: 0.5rem;\n  }\n\n  .step-content p { font-size: 0.95rem; color: var(--gray); line-height: 1.6; }\n\n  \/* WHO *\/\n  .who { background: var(--navy2); }\n\n  .market-grid {\n    display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n    gap: 1rem; margin-top: 3rem;\n  }\n\n  .market-card {\n    background: var(--navy); border: 1px solid var(--border);\n    border-radius: 12px; padding: 1.25rem 1.5rem;\n    display: flex; align-items: center; gap: 10px;\n    transition: all 0.2s;\n  }\n  .market-card:hover { border-color: rgba(0,229,160,0.4); transform: translateY(-2px); }\n\n  .market-dot {\n    width: 8px; height: 8px; border-radius: 50%;\n    background: var(--green); flex-shrink: 0;\n  }\n\n  .market-card span { font-size: 0.9rem; font-weight: 500; }\n\n  \/* WHY TXTLY *\/\n  .features-grid {\n    display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));\n    gap: 1.5rem; margin-top: 3rem;\n  }\n\n  .feature {\n    border-left: 2px solid var(--green);\n    padding: 1.25rem 1.5rem;\n  }\n\n  .feature h3 {\n    font-family: 'Syne', sans-serif;\n    font-size: 1rem; font-weight: 700; margin-bottom: 0.5rem;\n  }\n\n  .feature p { font-size: 0.875rem; color: var(--gray); line-height: 1.6; }\n\n  \/* ABOUT PARA *\/\n  .about-para {\n    font-size: 1.05rem; line-height: 1.8; color: var(--gray);\n    max-width: 700px; margin-top: 1.5rem;\n  }\n\n  \/* WAITLIST *\/\n  .waitlist {\n    background: linear-gradient(135deg, rgba(0,229,160,0.08) 0%, transparent 60%);\n    border-top: 1px solid var(--border);\n    text-align: center;\n  }\n\n  .waitlist-box {\n    max-width: 560px; margin: 0 auto;\n  }\n\n  .waitlist-form {\n    display: flex; flex-direction: column; gap: 1rem;\n    margin-top: 2.5rem;\n  }\n\n  .form-row { display: flex; gap: 0.75rem; flex-wrap: wrap; }\n\n  .form-input {\n    flex: 1; min-width: 200px;\n    background: rgba(255,255,255,0.05);\n    border: 1px solid var(--border); border-radius: 999px;\n    padding: 0.85rem 1.25rem; color: var(--white);\n    font-family: 'DM Sans', sans-serif; font-size: 0.95rem;\n    outline: none; transition: border-color 0.2s;\n  }\n  .form-input::placeholder { color: var(--gray); }\n  .form-input:focus { border-color: rgba(0,229,160,0.5); }\n\n  .form-submit {\n    background: var(--green); color: var(--navy);\n    font-family: 'DM Sans', sans-serif; font-weight: 500;\n    font-size: 1rem; padding: 0.85rem 2rem;\n    border-radius: 999px; border: none; cursor: pointer;\n    transition: all 0.2s; white-space: nowrap;\n  }\n  .form-submit:hover { background: var(--green2); }\n\n  .form-note { font-size: 0.8rem; color: var(--gray); margin-top: 0.5rem; }\n\n  \/* FOOTER *\/\n  footer {\n    background: #060810;\n    border-top: 1px solid var(--border);\n    padding: 2.5rem 1.5rem;\n    text-align: center;\n  }\n\n  .footer-logo {\n    font-family: 'Syne', sans-serif;\n    font-size: 1.5rem; font-weight: 800;\n    letter-spacing: -1px; margin-bottom: 0.75rem;\n  }\n  .footer-logo span { color: var(--green); }\n\n  .footer-tagline {\n    font-size: 0.85rem; color: var(--gray); margin-bottom: 1.5rem;\n  }\n\n  .footer-links {\n    display: flex; gap: 1.5rem; justify-content: center;\n    flex-wrap: wrap; margin-bottom: 1.5rem;\n  }\n\n  .footer-links a {\n    font-size: 0.8rem; color: var(--gray);\n    text-decoration: none; transition: color 0.2s;\n  }\n  .footer-links a:hover { color: var(--green); }\n\n  .footer-copy { font-size: 0.75rem; color: rgba(160,168,184,0.5); }\n\n  \/* ANIMATIONS *\/\n  @keyframes fadeUp {\n    from { opacity: 0; transform: translateY(24px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n\n  \/* MOBILE *\/\n  @media (max-width: 600px) {\n    nav { padding: 1rem 1.25rem; }\n    .stats { grid-template-columns: 1fr; }\n    .stat { padding: 1.75rem 1rem; }\n    .step-num { font-size: 2rem; width: 40px; }\n    .form-row { flex-direction: column; }\n    .form-input { min-width: unset; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<!-- NAV -->\n<nav>\n  <a href=\"#\" class=\"nav-logo\">Txt<span>ly<\/span><\/a>\n  <a href=\"#waitlist\" class=\"nav-cta\">Join Waitlist<\/a>\n<\/nav>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div class=\"hero-badge\">\n    <div class=\"hero-badge-dot\"><\/div>\n    Coming Soon \u2014 Join the Waitlist\n  <\/div>\n  <h1>No Email?<br><span>No Problem.<\/span><\/h1>\n  <h2>If they can text, they can book.<\/h2>\n  <p>Txtly lets phone-first professionals send calendar invites using a phone number instead of an email address. The appointment is added to <em>both<\/em> your calendar and your client&#8217;s \u2014 automatically. No inbox required. No app to download. Just a text.<\/p>\n  <div class=\"hero-actions\">\n    <a href=\"#waitlist\" class=\"btn-primary\">Get Early Access<\/a>\n    <a href=\"#how\" class=\"btn-secondary\">See How It Works<\/a>\n  <\/div>\n\n  <!-- PHONE MOCKUP -->\n  <div class=\"phone-wrap\">\n    <div class=\"phone\">\n      <div class=\"phone-status\">\n        <span>9:41 AM<\/span>\n        <span>\u25cf\u25cf\u25cf 5G<\/span>\n      <\/div>\n      <div class=\"sms-header\">\n        <div class=\"sms-name\">Marcus Johnson<\/div>\n        <div style=\"font-size:0.7rem;color:#666\">+1 (816) 555-0142<\/div>\n      <\/div>\n      <div class=\"bubble bubble-in\">Hi Marcus, ready to set up your appointment?<\/div>\n      <div class=\"bubble bubble-out\">Yes! What times work?<\/div>\n      <div class=\"bubble bubble-in\">Perfect \u2014 sending your booking confirmation now via Txtly \ud83d\udcc5<\/div>\n      <div class=\"bubble-confirm\">\n        <div class=\"bubble-confirm-title\">\u2705 Appointment Confirmed<\/div>\n        <div style=\"font-size:0.7rem;line-height:1.5\">\n          Thursday, April 24 \u00b7 2:00 PM<br>\n          With: Sarah Mitchell<br>\n          \ud83d\udcc5 Added to your calendar<br>\n          \ud83d\udcc5 Added to client&#8217;s calendar<br>\n          <span style=\"color:rgba(0,229,160,0.7)\">No email needed \u00b7 Reply CANCEL to cancel<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- STATS -->\n<div class=\"stats\">\n  <div class=\"stat\">\n    <div class=\"stat-num\">98%<\/div>\n    <div class=\"stat-label\">SMS open rate vs 20% for email<\/div>\n  <\/div>\n  <div class=\"stat\">\n    <div class=\"stat-num\">3 min<\/div>\n    <div class=\"stat-label\">Average time to read a text<\/div>\n  <\/div>\n  <div class=\"stat\">\n    <div class=\"stat-num\">$0<\/div>\n    <div class=\"stat-label\">Required from your client to get started<\/div>\n  <\/div>\n<\/div>\n\n<!-- PROBLEM -->\n<section class=\"problem\">\n  <div class=\"container\">\n    <div class=\"section-tag\">The Problem<\/div>\n    <h2 class=\"section-title\">Most scheduling tools<br>require an email address.<\/h2>\n    <p class=\"section-body\">But your clients live on their phones \u2014 not in their inbox. Missed appointments. Unread invites. Lost business. All because of one outdated assumption.<\/p>\n    <div class=\"problem-grid\">\n      <div class=\"problem-card\">\n        <div class=\"problem-icon pi-red\">\ud83d\udce7<\/div>\n        <h3>Email is a barrier<\/h3>\n        <p>Millions of adults \u2014 especially in underserved communities \u2014 don&#8217;t use email regularly or at all.<\/p>\n      <\/div>\n      <div class=\"problem-card\">\n        <div class=\"problem-icon pi-amber\">\ud83d\udced<\/div>\n        <h3>Inboxes go unchecked<\/h3>\n        <p>Even those with email miss calendar invites buried in promotions and spam folders.<\/p>\n      <\/div>\n      <div class=\"problem-card\">\n        <div class=\"problem-icon pi-green\">\ud83d\udcf1<\/div>\n        <h3>The phone is always on<\/h3>\n        <p>Your clients respond to texts in minutes. Scheduling via text means fewer no-shows and more closed deals.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- HOW IT WORKS -->\n<section id=\"how\">\n  <div class=\"container\">\n    <div class=\"section-tag\">How It Works<\/div>\n    <h2 class=\"section-title\">Four steps.<br>Zero emails needed.<\/h2>\n    <div class=\"steps\">\n      <div class=\"step\">\n        <div class=\"step-num\">01<\/div>\n        <div class=\"step-content\">\n          <h3>Enter your client&#8217;s phone number<\/h3>\n          <p>No email address required. If you have their number, you can book them. That&#8217;s it.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"step\">\n        <div class=\"step-num\">02<\/div>\n        <div class=\"step-content\">\n          <h3>Choose your date and time<\/h3>\n          <p>Select from your available slots. Txtly syncs with your calendar so there&#8217;s never a double booking.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"step\">\n        <div class=\"step-num\">03<\/div>\n        <div class=\"step-content\">\n          <h3>The appointment is added to both calendars instantly<\/h3>\n          <p>Txtly automatically adds the booking to your calendar and sends your client a text confirmation with the appointment saved to their calendar too. No email. No friction. No forgotten appointments on either side.<\/p>\n        <\/div>\n      <\/div>\n      <div class=\"step\">\n        <div class=\"step-num\">04<\/div>\n        <div class=\"step-content\">\n          <h3>Automatic reminders handle the follow-up<\/h3>\n          <p>Txtly sends reminders so you don&#8217;t have to chase anyone down. Fewer no-shows. More revenue.<\/p>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- WHO IT'S FOR -->\n<section class=\"who\">\n  <div class=\"container\">\n    <div class=\"section-tag\">Who It&#8217;s For<\/div>\n    <h2 class=\"section-title\">Built for professionals<br>whose phone is their business.<\/h2>\n    <p class=\"section-body about-para\">When your phone is your office, your lifeline, and your closing tool \u2014 you need a scheduling solution that works the same way you do. Txtly was built for every self-employed professional who lives and works from their phone. No more lost appointments because a client never checks their email. No more no-shows because an invite got buried in spam. With Txtly, you schedule clients the same way you already communicate with them \u2014 by text. The appointment is instantly added to your calendar and your client&#8217;s calendar at the same time, so everyone is on the same page without a single email sent. Fast, simple, and effective. Because your time is money, and every missed appointment costs you both.<\/p>\n    <div class=\"market-grid\">\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Loan Officers<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Realtors<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Hair Stylists<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Barbers<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Insurance Agents<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Tax Preparers<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Contractors<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Notaries<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Independent Sales Reps<\/span><\/div>\n      <div class=\"market-card\"><div class=\"market-dot\"><\/div><span>Financial Advisors<\/span><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- WHY TXTLY -->\n<section>\n  <div class=\"container\">\n    <div class=\"section-tag\">Why Txtly<\/div>\n    <h2 class=\"section-title\">Everything you need.<br>Nothing they don&#8217;t.<\/h2>\n    <div class=\"features-grid\">\n      <div class=\"feature\">\n        <h3>Schedule any client with just a phone number<\/h3>\n        <p>No email address required \u2014 ever. If you have their number, you can book them.<\/p>\n      <\/div>\n      <div class=\"feature\">\n        <h3>Instant text confirmation sent automatically<\/h3>\n        <p>Your client knows they&#8217;re booked the second you hit send. No waiting, no confusion.<\/p>\n      <\/div>\n      <div class=\"feature\">\n        <h3>Automatic reminders reduce no-shows<\/h3>\n        <p>Txtly follows up so you don&#8217;t have to. Set it and forget it.<\/p>\n      <\/div>\n      <div class=\"feature\">\n        <h3>Works with any phone \u2014 no app needed<\/h3>\n        <p>Your client doesn&#8217;t download anything. If they can receive a text, they can receive a booking.<\/p>\n      <\/div>\n      <div class=\"feature\">\n        <h3>Added to both calendars automatically<\/h3>\n        <p>The moment you confirm, the appointment lands on your calendar and your client&#8217;s \u2014 no back and forth, no manual entry, no missed bookings on either side.<\/p>\n      <\/div>\n      <div class=\"feature\">\n        <h3>Built for the way you already work<\/h3>\n        <p>You close deals by phone. You follow up by text. Now you can book the same way.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- WAITLIST -->\n<section class=\"waitlist\" id=\"waitlist\">\n  <div class=\"container\">\n    <div class=\"waitlist-box\">\n      <div class=\"section-tag\" style=\"text-align:center\">Early Access<\/div>\n      <h2 class=\"section-title\">Be the first to know<br>when Txtly launches.<\/h2>\n      <p class=\"section-body\" style=\"margin:0 auto;text-align:center\">Join the waitlist and get early access plus founding member pricing. No email required \u2014 just your phone number.<\/p>\n      <div class=\"waitlist-form\">\n        <input class=\"form-input\" type=\"text\" placeholder=\"Your first name\" \/>\n        <div class=\"form-row\">\n          <input class=\"form-input\" type=\"tel\" placeholder=\"Your phone number\" \/>\n          <input class=\"form-input\" type=\"email\" placeholder=\"Your email (optional)\" \/>\n        <\/div>\n        <button class=\"form-submit\" onclick=\"handleSubmit()\">Count Me In \u2192<\/button>\n        <p class=\"form-note\">No spam. Ever. We&#8217;ll only reach out when Txtly is ready for you.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- FOOTER -->\n<footer>\n  <div class=\"footer-logo\">Txt<span>ly<\/span><\/div>\n  <div class=\"footer-tagline\">No Email? No Problem. If they can text, they can book.<\/div>\n  <div class=\"footer-links\">\n    <a href=\"#\">Home<\/a>\n    <a href=\"#how\">How It Works<\/a>\n    <a href=\"#waitlist\">Join Waitlist<\/a>\n    <a href=\"mailto:hello@txtlyapp.com\">Contact<\/a>\n    <a href=\"#\">Privacy Policy<\/a>\n  <\/div>\n  <div class=\"footer-copy\">\u00a9 2026 Txtly \u00b7 txtlyapp.com \u00b7 All rights reserved.<\/div>\n<\/footer>\n\n<script>\n  function handleSubmit() {\n    const btn = document.querySelector('.form-submit');\n    btn.textContent = '\u2705 You\\'re on the list!';\n    btn.style.background = '#00b87a';\n    btn.disabled = true;\n  }\n\n  \/\/ Fade in sections on scroll\n  const observer = new IntersectionObserver((entries) => {\n    entries.forEach(e => {\n      if (e.isIntersecting) {\n        e.target.style.opacity = '1';\n        e.target.style.transform = 'translateY(0)';\n      }\n    });\n  }, { threshold: 0.1 });\n\n  document.querySelectorAll('.problem-card, .step, .market-card, .feature, .stat').forEach(el => {\n    el.style.opacity = '0';\n    el.style.transform = 'translateY(20px)';\n    el.style.transition = 'opacity 0.5s ease, transform 0.5s ease';\n    observer.observe(el);\n  });\n<\/script>\n<\/body>\n<\/html>\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Txtly \u2014 No Email? No Problem. Txtly Join Waitlist Coming Soon \u2014 Join the Waitlist No Email?No Problem. If they can text, they can book. Txtly lets phone-first professionals send calendar invites using a phone number instead of an email address. The appointment is added to both your calendar and your client&#8217;s \u2014 automatically. No [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-10","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/pages\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/txtlyapp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10"}],"version-history":[{"count":2,"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/pages\/10\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/txtlyapp.com\/index.php?rest_route=\/wp\/v2\/pages\/10\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/txtlyapp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}