.sora-wrap, .sora-wrap * { box-sizing: border-box; } .sora-wrap { font-family: inherit; color: #3a404a; font-size: 16px; line-height: 1.65; } .sora-wrap :where(h2, h3, p, ul, ol, li, table, figure) { margin: 0; padding: 0; letter-spacing: normal; } .sora-wrap strong { color: #14171c; font-weight: 700; } .sora-ico { display: block; flex: none; width: 24px; height: 24px; } /* Hero, with the stat strip built in */ .sora-hero { background: #0f1a2a; border-radius: 16px; padding: 52px 48px 0; margin-bottom: 40px; overflow: hidden; } .sora-marks { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin-bottom: 18px; } .sora-marks li { display: inline-flex; align-items: center; gap: 7px; font-size: 0.9em; font-weight: 700; color: #d5dbe4; line-height: 1.3; } .sora-marks .sora-ico { width: 16px; height: 16px; color: #ffa620; stroke-width: 2.75; } .sora-hero h2 { color: #fff; font-size: 2.8em; font-weight: 800; line-height: 1.1; letter-spacing: -0.015em; max-width: 19em; margin-bottom: 12px; text-wrap: balance; } .sora-tagline { font-size: 1.25em; color: #aab4c3; } .sora-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 40px -48px 0; border-top: 1px solid rgba(255,255,255,0.1); } .sora-stats.sora-n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } .sora-stat { padding: 22px 24px 26px 48px; border-left: 1px solid rgba(255,255,255,0.1); } .sora-stat:first-child { border-left: 0; } .sora-stat + .sora-stat { padding-left: 24px; } .sora-stat-v { font-size: 1.8em; font-weight: 800; color: #fff; line-height: 1.15; font-variant-numeric: tabular-nums; } .sora-stat-l { font-size: 0.75em; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #8d98a8; margin-top: 6px; } .sora-intro { max-width: 860px; margin-bottom: 48px; font-size: 1.15em; line-height: 1.7; } /* Big features */ .sora-features { margin-bottom: 56px; } .sora-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; } .sora-feature + .sora-feature { margin-top: 48px; } .sora-feature.sora-reverse > :first-child { order: 2; } .sora-feature h3 { font-size: 1.6em; font-weight: 800; color: #0f1a2a; line-height: 1.25; margin-bottom: 14px; text-wrap: balance; } .sora-accent { color: #b86a00; } .sora-feature p { font-size: 1.04em; } /* Proof panel (visual.variant: primary = midnight, light = pale, dark = slate) */ .sora-proof { border-radius: 14px; background: #0f1a2a; color: #fff; padding: 40px 44px; min-height: 300px; display: flex; flex-direction: column; justify-content: center; --lab: #ffa620; --mute: #aab4c3; --rule: rgba(255,255,255,0.1); --track: rgba(255,255,255,0.09); --fill: #5d6a7c; } .sora-proof.sora-v-light { background: #f1f3f6; color: #0f1a2a; --lab: #a55f00; --mute: #5b6270; --rule: rgba(15,26,42,0.1); --track: rgba(15,26,42,0.08); --fill: #a3abb7; } .sora-proof.sora-v-dark { background: #1f2d42; } .sora-proof-l { font-size: 0.78em; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--lab); } .sora-proof-v { font-size: 4.6em; font-weight: 800; line-height: 1; letter-spacing: -0.025em; margin-top: 12px; font-variant-numeric: tabular-nums; overflow-wrap: break-word; } .sora-proof-n { color: var(--mute); margin-top: 14px; font-size: 1em; line-height: 1.5; max-width: 26em; } .sora-bars { list-style: none; display: grid; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--rule); } .sora-bar { display: grid; grid-template-columns: 9em minmax(0, 1fr) 3em; gap: 14px; align-items: center; font-size: 0.9em; color: var(--mute); line-height: 1.3; } .sora-bar-track { height: 8px; border-radius: 4px; background: var(--track); overflow: hidden; } .sora-bar-fill { display: block; height: 100%; border-radius: 4px; background: var(--fill); } .sora-bar-v { text-align: right; font-variant-numeric: tabular-nums; } .sora-bar.sora-hi { color: inherit; font-weight: 800; } .sora-bar.sora-hi .sora-bar-fill { background: #ffa620; } /* Text row: fallback for a feature with no proof */ .sora-feature.sora-is-text { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); align-items: start; gap: 56px; border-top: 1px solid #e1e5eb; padding-top: 32px; } .sora-feature.sora-is-text + .sora-feature { margin-top: 32px; } .sora-eyebrow { font-size: 0.78em; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: #a55f00; margin-bottom: 10px; } .sora-feature.sora-is-text h3 { margin-bottom: 0; } /* Sections */ .sora-section { margin-bottom: 48px; } .sora-section > h2 { font-size: 1.7em; font-weight: 800; color: #0f1a2a; line-height: 1.25; margin-bottom: 20px; } .sora-apps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .sora-apps.sora-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sora-app { border: 1px solid #e1e5eb; border-radius: 12px; padding: 22px; } .sora-app h3 { font-size: 1.08em; font-weight: 800; color: #0f1a2a; line-height: 1.3; margin-bottom: 6px; } .sora-app p { font-size: 0.95em; } /* Feature cards on a dark band */ .sora-band { background: #0f1a2a; border-radius: 16px; padding: 44px 48px; margin-bottom: 48px; } .sora-band > h2 { font-size: 1.7em; font-weight: 800; color: #fff; line-height: 1.25; margin-bottom: 26px; } .sora-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 36px; } .sora-cards.sora-n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px 24px; } .sora-card .sora-ico { width: 28px; height: 28px; color: #ffa620; margin-bottom: 12px; } .sora-card h3 { font-size: 1.08em; font-weight: 800; color: #fff; line-height: 1.3; margin-bottom: 6px; } .sora-card p { font-size: 0.95em; color: #aab4c3; } .sora-card strong { color: #fff; } /* Warning */ .sora-warning { display: flex; gap: 16px; background: #fff8e8; border: 1px solid #f1dfb2; border-radius: 12px; padding: 22px 24px; margin-bottom: 48px; } .sora-warning .sora-ico { width: 26px; height: 26px; color: #b7791f; margin-top: 1px; } .sora-warning h3 { font-size: 1.08em; font-weight: 800; color: #7a4e00; margin-bottom: 4px; } .sora-warning p { color: #5a4216; } /* Specs: one column, striped, groups under an amber rule */ .sora-specs-box { max-width: 900px; border: 1px solid #e1e5eb; border-radius: 14px; overflow: hidden; } .sora-specs { width: 100%; border-collapse: collapse; } .sora-specs th, .sora-specs td { border: 0; padding: 13px 22px; text-align: left; vertical-align: top; font-size: 0.98em; line-height: 1.5; } .sora-specs tr:nth-child(even of :not(.sora-grp)) > * { background: #f6f7f9; } .sora-specs th { width: 38%; font-weight: 700; color: #0f1a2a; } .sora-specs td { color: #3a404a; font-weight: 500; } .sora-specs .sora-grp th { width: auto; padding: 16px 22px 10px; font-size: 0.78em; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; color: #0f1a2a; border-bottom: 2px solid #ffa620; } .sora-specs tbody + tbody .sora-grp th { padding-top: 26px; } .sora-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.92em; color: #0f1a2a; } /* FAQ */ .sora-faq { max-width: 900px; display: grid; gap: 12px; } .sora-faq-card { border: 1px solid #e1e5eb; border-radius: 12px; padding: 20px 24px; } .sora-faq-card h3 { font-size: 1.08em; font-weight: 800; color: #0f1a2a; line-height: 1.35; margin-bottom: 6px; } /* CTA */ .sora-cta { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 32px; align-items: center; background: #0f1a2a; border-radius: 16px; padding: 44px 48px; } .sora-cta h2 { color: #fff; font-size: 1.8em; font-weight: 800; line-height: 1.2; margin-bottom: 8px; text-wrap: balance; } .sora-cta p { color: #aab4c3; font-size: 1.05em; } .sora-perks { list-style: none; display: grid; gap: 12px; } .sora-perks li { display: flex; align-items: center; gap: 10px; font-weight: 700; color: #fff; line-height: 1.3; } .sora-perks .sora-ico { width: 20px; height: 20px; color: #ffa620; stroke-width: 2.5; } /* Optional blocks: hero photo, feature photos, extra sections */ .sora-hero.sora-has-img { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr); column-gap: 40px; align-items: center; } .sora-hero.sora-has-img .sora-stats { grid-column: 1 / -1; } .sora-hero-img { background: #fff; border-radius: 12px; padding: 12px; } .sora-hero-img img, .sora-media img, .sora-swatches img { display: block; width: 100%; height: auto; } .sora-hero-img img { max-height: 300px; object-fit: contain; } .sora-media { border-radius: 14px; overflow: hidden; background: #f1f3f6; } .sora-sub, .sora-band-sub { margin: -12px 0 20px; color: #5b6270; } .sora-band-sub { color: #aab4c3; margin-top: -18px; margin-bottom: 26px; } .sora-apps.sora-n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } .sora-app .sora-ico { width: 26px; height: 26px; color: #b86a00; margin-bottom: 10px; } .sora-card-img { display: block; width: 100%; height: auto; border-radius: 10px; margin-bottom: 14px; } .sora-steps { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .sora-steps.sora-n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sora-steps li { border: 1px solid #e1e5eb; border-radius: 12px; padding: 22px; } .sora-step-n { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #0f1a2a; color: #ffa620; font-weight: 800; font-size: 0.95em; margin-bottom: 12px; } .sora-steps h3 { font-size: 1.08em; font-weight: 800; color: #0f1a2a; line-height: 1.3; margin-bottom: 6px; } .sora-steps p { font-size: 0.95em; } .sora-checklist { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 32px; max-width: 900px; } .sora-checklist li { display: flex; align-items: flex-start; gap: 10px; font-weight: 700; color: #0f1a2a; line-height: 1.4; } .sora-checklist .sora-ico { width: 20px; height: 20px; color: #b86a00; stroke-width: 2.5; margin-top: 1px; } .sora-figure { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; align-items: center; background: #0f1a2a; border-radius: 16px; padding: 40px 48px; margin-bottom: 48px; color: #aab4c3; } .sora-figure-l { font-size: 0.78em; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: #ffa620; margin: 0; } .sora-figure-v { font-size: 3.4em; font-weight: 800; color: #fff; line-height: 1.05; letter-spacing: -0.02em; margin-top: 10px; } .sora-figure p { font-size: 1.04em; color: #aab4c3; } .sora-figure strong { color: #fff; } .sora-swatches { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 260px)); gap: 20px; } .sora-swatches figure { margin: 0; } .sora-swatches img { border-radius: 12px; background: #f1f3f6; } .sora-swatches figcaption { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-weight: 700; color: #0f1a2a; } .sora-dot { width: 14px; height: 14px; border-radius: 50%; box-shadow: inset 0 0 0 1px rgba(0,0,0,0.15); } @media (max-width: 989px) { .sora-apps.sora-n5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .sora-steps, .sora-steps.sora-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sora-apps, .sora-apps.sora-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sora-cards, .sora-cards.sora-n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sora-proof { padding: 32px; } } @media (max-width: 749px) { .sora-hero { padding: 34px 22px 0; } .sora-hero h2 { font-size: 1.9em; } .sora-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 28px -22px 0; } .sora-stat, .sora-stat + .sora-stat { padding: 16px 22px; border-left: 0; border-top: 1px solid rgba(255,255,255,0.1); } .sora-stat:first-child { grid-column: 1 / -1; border-top: 0; } .sora-stat:nth-child(odd):not(:first-child) { border-left: 1px solid rgba(255,255,255,0.1); } .sora-stats.sora-n4 .sora-stat:first-child { grid-column: auto; } .sora-stats.sora-n4 .sora-stat:nth-child(2) { border-top: 0; } .sora-stats.sora-n4 .sora-stat:nth-child(odd) { border-left: 0; } .sora-stats.sora-n4 .sora-stat:nth-child(even) { border-left: 1px solid rgba(255,255,255,0.1); } .sora-intro { font-size: 1.08em; } .sora-feature, .sora-feature.sora-is-text { grid-template-columns: 1fr; gap: 20px; } .sora-feature.sora-is-text { gap: 12px; padding-top: 26px; } .sora-feature + .sora-feature { margin-top: 40px; } .sora-feature.sora-is-text + .sora-feature { margin-top: 28px; } .sora-feature.sora-reverse > :first-child { order: 0; } .sora-proof { padding: 28px 22px; min-height: 0; } .sora-proof-v { font-size: 3.6em; } .sora-bar { grid-template-columns: 7.5em minmax(0, 1fr) 2.8em; gap: 10px; } .sora-apps, .sora-apps.sora-n3, .sora-cards, .sora-cards.sora-n4 { grid-template-columns: 1fr; } .sora-band { padding: 32px 22px; } .sora-specs th, .sora-specs td { padding: 11px 14px; } .sora-specs .sora-grp th { padding-left: 14px; } .sora-specs th { width: 42%; } .sora-cta { grid-template-columns: 1fr; padding: 32px 22px; gap: 22px; } .sora-hero.sora-has-img { grid-template-columns: 1fr; row-gap: 22px; } .sora-apps.sora-n5, .sora-steps, .sora-steps.sora-n3, .sora-checklist { grid-template-columns: 1fr; } .sora-figure { grid-template-columns: 1fr; gap: 16px; padding: 30px 22px; } .sora-figure-v { font-size: 2.6em; } }
CES 2026 Featured 4.8/5 Rated 3-Year Warranty Free Shipping Beatbot Sora 70 Total Clean. From Depth to Surface.
The Beatbot Sora 70 is the cordless, 4-in-1 pool cleaning robot that finally does it all: water surface, floor, walls, waterline, and even shallow tanning ledges. Powered by industry-first JetPulse™ surface skimming and 6,800 GPH of suction, it replaces multiple cleaners with one intelligent machine.
Industry-First JetPulse™ Surface Skimming Most robotic cleaners ignore the water surface entirely, leaving leaves, pollen, bugs, and oils for you to deal with. The Sora 70 changes everything. Twin converging jets actively pull floating debris inward rather than pushing it away, capturing it on the first pass. No skimmer required.
Cleans Where Others Can't Tanning ledges. Baja shelves. Swim-outs. Most robots skip them entirely. The Sora 70 operates in water as shallow as 8 inches and cleans platforms as small as 3.3 ft × 3.3 ft, so every inch of your pool actually gets cleaned.
Smart Water-Surface Parking No more fishing your cleaner out of the deep end with a pool hook. When the cycle finishes, or the battery runs low, the Sora 70 automatically floats to the surface and drives itself to the edge of the pool. It even expels internal water before retrieval, so it's dramatically lighter to lift out.
Every Feature Matters Premium engineering, accessible price.
Complete 4-Zone Coverage Water surface, floor, walls, waterline, and shallow platforms, all from one cordless robot.
6,800 GPH Power Professional-grade suction lifts everything from fine sand to acorns in a single pass.
6L Debris Basket Holds up to 800 leaves. Optional 3μm ultra-fine filter available for pollen-heavy seasons.
10,000 mAh Battery Up to 7 hours of surface or 5 hours of floor cleaning per charge. Recharges in just 4.5 hours.
5 Intelligent Cleaning Modes Tailored cleaning for every need.
Water Surface Skim floating debris
Floor Mode Focused floor cleaning
Pro Mode Deep clean everything
Standard Balanced daily clean
Eco Mode Energy-efficient upkeep
Choose Your Color Lavender Purple Midnight Blue Full Specifications Weight 22.9 lbs Dimensions 17.1" × 16.9" × 11.2" Suction Power 6,800 GPH Max Coverage 3,299 sq ft Battery 10,000 mAh Li-Ion Surface Runtime Up to 7 hours Floor Runtime Up to 5 hours Charge Time ~4.5 hrs (65W fast) Filter Basket 6 Liters Standard Filter 150 μm Optional Filter 3 μm ultra-fine Working Depth 0.7 to 11.5 ft Min Shallow Water 8 inches Waterproof Rating IPX68 Obstacle Avoidance SonicSense™ (18 sensors) Motors 8 motors Brushes 4 dual-group rollers Connectivity 2.4G/5G WiFi + Bluetooth App iOS, Android, Apple Watch Pool Types In-ground & above-ground Pool Surfaces Concrete, tile, vinyl, fiberglass Saltwater Yes (up to 5,000 PPM) Warranty 3-Year Manufacturer
Frequently Asked Questions Will the Sora 70 work with my pool shape? Yes, it works with rectangular, round, kidney, freeform, and even infinity pools. For infinity pools, it does a zigzag exploration first, then cleans along the longest axis before rotating 90° for a second pass.
Can it clean saltwater pools? Yes, as long as salt concentration is below 5,000 PPM, well within the normal range for residential saltwater pools.
Does it clean steps and tanning ledges? Yes, in Standard or Pro Mode. Water depth must be at least 0.7 ft and the platform must measure at least 3.3 ft × 3.3 ft.
What size debris can it pick up? Everything from microscopic particles (with the optional 3μm filter) up to acorns, leaves, hair, sand, and insects.
How does it compare to the AquaSense 2? The Sora 70 adds JetPulse™ surface cleaning, shallow-platform coverage, stronger 6,800 GPH suction, smart surface parking, longer runtime, and a larger 6L debris basket.
Reclaim Your Weekends Let the robot do the work. Order today from your authorized Beatbot dealer.
Free Shipping 30-Day Returns 3-Year Warranty Authorized Dealer