1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/logo192.png"/><title>Sleep Matter - Own Your Sleep Data, Years of It</title><meta name="theme-color" content="#6248B0"/><meta name="description" content="Apple Health shows six months and locks the rest away. Sleep Matter keeps your full multi-year sleep record â yours to read, export, and query from your own AI agents. Hosted, or self-host the open-source backend."/><link rel="modulepreload" href="/assets/main-Be8DfOzT.js"/><link rel="modulepreload" href="/assets/_marketing-AHPDSf8P.js"/><link rel="modulepreload" href="/assets/x-DpsY7NZU.js"/><link rel="modulepreload" href="/assets/createLucideIcon-DxhPd5GQ.js"/><link rel="modulepreload" href="/assets/index-D0bmOCi1.js"/><link rel="modulepreload" href="/assets/button-DpkImpRg.js"/><link rel="modulepreload" href="/assets/badge-CfMx51mn.js"/><link rel="modulepreload" href="/assets/separator-CxsyDRQ9.js"/><link rel="modulepreload" href="/assets/utils-k_vAkSgt.js"/><link rel="modulepreload" href="/assets/chevron-down-Bklc_jEO.js"/><link rel="modulepreload" href="/assets/useControlled-Cgf2NVlB.js"/><link rel="modulepreload" href="/assets/createBaseUIEventDetails-COS_z9-K.js"/><link rel="modulepreload" href="/assets/CompositeList-DoJulvJK.js"/><link rel="modulepreload" href="/assets/DirectionContext-DXG8P3ja.js"/><link rel="modulepreload" href="/assets/server-BK7SIOnY.js"/><link rel="modulepreload" href="/assets/download-D32myOMZ.js"/><link rel="modulepreload" href="/assets/check-qaBXohaI.js"/><link rel="modulepreload" href="/assets/shield-check-CdyvPymc.js"/><link rel="modulepreload" href="/assets/index-D7hq8_fD.js"/><link rel="modulepreload" href="/assets/useRender-C0wMvlz-.js"/><link rel="modulepreload" href="/assets/Separator-BaKtQFeQ.js"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="icon" type="image/x-icon" href="/favicon.ico"/><link rel="icon" type="image/png" sizes="192x192" href="/logo192.png"/><link rel="icon" type="image/png" sizes="512x512" href="/logo512.png"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wdth,wght@0,75..100,400..700;1,75..100,400..700&display=swap"/><link rel="stylesheet" href="/assets/styles-BwKa-z5X.css"/></head><body><!--$--><header class="sticky top-0 z-50 w-full border-b border-border bg-[var(--sm-surface)]/95 backdrop-blur supports-[backdrop-filter]:bg-[var(--sm-surface)]/60"><div class="max-w-6xl mx-auto px-6"><div class="flex h-16 items-center justify-between"><a class="flex items-center gap-2 active" href="/" data-status="active" aria-current="page"><img src="/logo192.png" alt="Sleep Matter" class="w-8 h-8 rounded-lg"/><span class="font-display text-xl tracking-[0.01em] text-foreground">Sleep <span class="text-primary">Matter</span></span></a><nav class="hidden md:flex items-center gap-6"><a href="/" class="text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-150">Home</a><a href="/#features" class="text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-150">Features</a><a href="/#pricing" class="text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-150">Pricing</a><a href="/#developers" class="text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-150">Developers</a><a href="/#faq" class="text-sm font-medium text-muted-foreground hover:text-foreground transition-colors duration-150">FAQ</a></nav><div class="hidden md:flex items-center gap-4"><a href="/privacy" class="text-sm text-muted-foreground hover:text-foreground transition-colors duration-150">Privacy</a><a href="/terms" class="text-sm text-muted-foreground hover:text-foreground transition-colors duration-150">Terms</a></div><button class="md:hidden p-2 hover:bg-accent rounded-lg transition-colors duration-150" aria-label="Toggle menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></header><div class="min-h-screen bg-background"><section class="relative overflow-hidden"><div class="absolute inset-0" style="background:linear-gradient(160deg, var(--sm-surface-raised) 0%, var(--sm-base) 100%)"></div><div class="pointer-events-none absolute top-[-80px] left-1/2 -translate-x-1/2 w-[480px] h-[480px]" style="background:radial-gradient(circle, var(--sm-score-glow) 0%, transparent 65%)"></div><div class="relative max-w-[960px] mx-auto px-6 py-24 lg:py-40 text-center"><p class="text-xs font-semibold tracking-[0.12em] uppercase text-primary mb-4">Your sleep data, finally yours</p><h1 class="font-display font-normal leading-tight tracking-[0.01em] text-foreground mb-6" style="font-size:clamp(2.25rem, 6vw, 4rem)">Years of Sleep Data.<br/><em class="italic text-primary">All of It, Yours.</em></h1><p class="text-lg text-muted-foreground max-w-[520px] mx-auto mb-8 leading-relaxed">Apple Health shows six months and locks the rest away. Sleep Matter keeps your full record â every year you have worn the watch â yours to read, export, and hand to your own AI agents.</p><div class="flex flex-wrap gap-3 justify-center"><button type="button" class="[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='
1size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9 not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-primary bg-primary text-primary-foreground shadow-primary/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-primary/90" data-slot="button" disabled="">Coming Soon</button><button type="button" class="[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9 border-input bg-popover not-dark:bg-clip-padding text-foreground shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:not-disabled:before:shadow-[0_-1px_--theme(--color-white/2%)] dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-accent/50 dark:[:hover,[data-pressed]]:bg-input/64" data-slot="button">How It Works</button></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">The Problem</div><div class="grid md:grid-cols-3 gap-4"><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 bg-[var(--sm-error-muted)] rounded-lg flex items-center justify-center mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-clock w-6 h-6 text-destructive" aria-hidden="true"><path d="M16 14v2.2l1.6 1"></path><path d="M16 2v4"></path><path d="M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5"></path><path d="M3 10h5"></path><path d="M8 2v4"></path><circle cx="16" cy="16" r="6"></circle></svg></div><h3 class="font-semibold text-foreground mb-2">Six months, then nothing</h3><p class="text-sm text-muted-foreground leading-normal">You have worn the watch for years. Health shows the last six. Everything older sits on the device, out of reach.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 bg-[var(--sm-error-muted)] rounded-lg flex items-center justify-center mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock w-6 h-6 text-destructive" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><h3 class="font-semibold text-foreground mb-2">Locked in the garden</h3><p class="text-sm text-muted-foreground leading-normal">Your sleep lives inside Appleâs apps. There is no clean way to pull it out or send it somewhere useful.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 bg-[var(--sm-error-muted)] rounded-lg flex items-center justify-center mb-4"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers w-6 h-6 text-destructive" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></div><h3 class="font-semibold text-foreground mb-2">One card among dozens</h3><p class="text-sm text-muted-foreground leading-normal">Sleep is buried under steps, calories, and noise. Nothing answers the question that matters: am I falling behind?</p></div></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section id="features" class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">Own Your History</div><div class="grid md:grid-cols-2 gap-4 mb-16 items-center"><div class="flex flex-col justify-center"><h3 class="text-2xl font-semibold text-foreground mb-3">Jump to Any Week â 2022 or Last Tuesday</h3><p class="text-muted-foreground leading-relaxed">
1Pick any date in your record and see when you actually slept â the naps, the shifts, the 3am wake-ups. The real sessions, not a tidy summary.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="flex items-center gap-3 mb-4 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar-search w-5 h-5 text-primary" aria-hidden="true"><path d="M16 2v4"></path><path d="M21 11.75V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7.25"></path><path d="m22 22-1.875-1.875"></path><path d="M3 10h18"></path><path d="M8 2v4"></path><circle cx="18" cy="18" r="3"></circle></svg><span class="font-semibold text-sm">What you will find</span></div><div class="flex flex-wrap gap-2"><span class="text-sm px-3 py-1.5 rounded-lg text-foreground" style="background:var(--sm-primary-muted)">Naps</span><span class="text-sm px-3 py-1.5 rounded-lg text-foreground" style="background:var(--sm-primary-muted)">Shift sleep</span><span class="text-sm px-3 py-1.5 rounded-lg text-foreground" style="background:var(--sm-primary-muted)">Fragmented sessions</span><span class="text-sm px-3 py-1.5 rounded-lg text-foreground" style="background:var(--sm-primary-muted)">Every date, back to day one</span></div></div></div><div class="grid md:grid-cols-2 gap-4 mb-16 items-center"><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 order-2 md:order-1"><div class="flex items-center gap-3 mb-4 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-down w-5 h-5 text-[var(--sm-warning)]" aria-hidden="true"><path d="M16 17h6v-6"></path><path d="m22 17-8.5-8.5-5 5L2 7"></path></svg><span class="font-semibold text-sm">A slow slide, made visible</span></div><div class="flex flex-col gap-3"><div class="flex items-center justify-between p-3 rounded-lg" style="background:var(--sm-surface-overlay)"><span class="text-sm text-foreground">This week</span><span class="text-sm font-medium" style="color:var(--sm-warning)">Falling behind</span></div><div class="flex items-center justify-between p-3 rounded-lg" style="background:var(--sm-surface-overlay)"><span class="text-sm text-foreground">Last week</span><span class="text-sm font-medium" style="color:var(--sm-success)">On track</span></div><div class="flex items-center justify-between p-3 rounded-lg" style="background:var(--sm-surface-overlay)"><span class="text-sm text-foreground">This month</span><span class="text-sm font-medium" style="color:var(--sm-primary)">Trending down</span></div></div></div><div class="flex flex-col justify-center order-1 md:order-2"><h3 class="text-2xl font-semibold text-foreground mb-3">Catch Sleep Debt Before It Floors You</h3><p class="text-muted-foreground leading-relaxed">A slow slide across weeks never shows up in a single session. Sleep Matter tracks the trend, so the crash stops ambushing you.</p></div></div><div class="grid md:grid-cols-2 gap-4 items-center"><div class="flex flex-col justify-center"><h3 class="text-2xl font-semibold text-foreground mb-3">Leave Anytime, Take Everything</h3><p class="text-muted-foreground leading-relaxed">Export your whole record as a single file, or pull it over a clean API. Or self-host the open-source backend â so it was never ours to hold onto.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 flex flex-col gap-3"><div class="flex items-center gap-3 p-3 rounded-lg" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download w-5 h-5 text-primary" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg><span class="text-sm text-foreground">Export the whole record as CSV</span></div><div class="flex items-center gap-3 p-3 rounded-lg" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-primary" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg><span class="text-sm text-foreground">Pull it over a clean API</span></div><div class="flex items-center gap-3 p-3 rounded-lg" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-5 h-5 text-primary" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg><span class="text-sm text-foreground">Or run the backend yourself</span></div></div></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section id="pricing" class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">
1Pricing</div><div class="grid md:grid-cols-3 gap-4"><div class="rounded-xl p-6 flex flex-col bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)]"><div class="flex items-center justify-between mb-1"><h3 class="font-semibold text-foreground">Free</h3></div><div class="font-display font-normal leading-tight text-3xl text-foreground mb-1">Free</div><p class="text-sm text-muted-foreground mb-5">Your most recent year, in the cloud</p><ul class="flex flex-col gap-3 flex-1"><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>One year of history</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Twice what Apple Health shows</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Trends, export, and API access</span></li></ul></div><div class="rounded-xl p-6 flex flex-col bg-[var(--sm-surface-raised)] border-2 border-[var(--sm-primary)] shadow-[var(--sm-shadow-glow)]"><div class="flex items-center justify-between mb-1"><h3 class="font-semibold text-foreground">Full History</h3><span class="relative inline-flex shrink-0 items-center justify-center gap-1 whitespace-nowrap rounded-sm border border-transparent font-medium outline-none transition-shadow focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='size-'])]:size-3.5 sm:[&_svg:not([class*='size-'])]:size-3 [&_svg]:pointer-events-none [&_svg]:shrink-0 [button,a&]:cursor-pointer [button,a&]:pointer-coarse:after:absolute [button,a&]:pointer-coarse:after:size-full [button,a&]:pointer-coarse:after:min-h-11 [button,a&]:pointer-coarse:after:min-w-11 h-5.5 min-w-5.5 px-[calc(--spacing(1)-1px)] text-sm sm:h-4.5 sm:min-w-4.5 sm:text-xs bg-primary text-primary-foreground [button,a&]:hover:bg-primary/90" data-slot="badge">Most history</span></div><div class="font-display font-normal leading-tight text-3xl text-foreground mb-1">Paid</div><p class="text-sm text-muted-foreground mb-5">Everything you have ever tracked</p><ul class="flex flex-col gap-3 flex-1"><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Every year, no cap</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>One-time backfill of your whole record</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Everything in Free</span></li></ul></div><div class="rounded-xl p-6 flex flex-col bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)]"><div class="flex items-center justify-between mb-1"><h3 class="font-semibold text-foreground">Self-Host</h3></div><div class="font-display font-normal leading-tight text-3xl text-foreground mb-1">Free, open source</div><p class="text-sm text-muted-foreground mb-5">Run the backend on your own server</p><ul class="flex flex-col gap-3 flex-1"><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Your data never touches our cloud</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Open-source SQLite backend</span></li><li class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>
1The same app, your infrastructure</span></li></ul></div></div><p class="text-xs text-muted-foreground text-center mt-6">Final pricing lands at launch. Self-host is free and open source, always.</p></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section id="developers" class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">For Developers & Agents</div><div class="grid md:grid-cols-2 gap-4 mb-16 items-center"><div class="flex flex-col justify-center"><h3 class="text-2xl font-semibold text-foreground mb-3">Point Your Agent at Your Sleep</h3><p class="text-muted-foreground leading-relaxed">Your sleep state and history sit behind a simple API. Let your own agent read it â so it knows when you are likely awake, when to hold your notifications, when to fire a workflow. We expose the signal. You decide what it does.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="flex items-center gap-3 mb-4 text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-terminal w-5 h-5 text-primary" aria-hidden="true"><path d="M12 19h8"></path><path d="m4 17 6-6-6-6"></path></svg><span class="font-semibold text-sm">What the API exposes</span></div><div class="flex flex-col gap-3"><div class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Whether you are likely awake or asleep, right now</span></div><div class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>How long it has been since you last slept</span></div><div class="flex items-start gap-2 text-sm text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check w-4 h-4 text-[var(--sm-success)] mt-0.5 shrink-0" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg><span>Your long-term history, queryable by date</span></div></div></div></div><div class="grid md:grid-cols-3 gap-4"><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot w-6 h-6 text-primary" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></div><h3 class="font-semibold text-foreground mb-2">No advice baked in</h3><p class="text-sm text-muted-foreground leading-normal">We hand over the raw signal, not a verdict. The judgment is your modelâs to make.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-6 h-6 text-primary" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></div><h3 class="font-semibold text-foreground mb-2">Open-source backend</h3><p class="text-sm text-muted-foreground leading-normal">Donât want our cloud? Run the open-source backend yourself. Same API, your infrastru
1cture.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cloud w-6 h-6 text-primary" aria-hidden="true"><path d="M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"></path></svg></div><h3 class="font-semibold text-foreground mb-2">Cloud when you want it</h3><p class="text-sm text-muted-foreground leading-normal">Or let us host it. Either way the contract is identical and your data stays portable.</p></div></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section id="how-it-works" class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">How It Works</div><div class="grid md:grid-cols-3 gap-4"><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 text-center"><div class="inline-flex items-center justify-center w-14 h-14 rounded-full mb-4" style="background:var(--sm-primary-muted)"><span class="text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-watch w-8 h-8" aria-hidden="true"><path d="M12 10v2.2l1.6 1"></path><path d="m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05"></path><path d="m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05"></path><circle cx="12" cy="12" r="6"></circle></svg></span></div><div class="font-display font-normal leading-tight text-3xl text-[var(--sm-border)] mb-3">0<!-- -->1</div><h3 class="font-semibold text-foreground mb-2">Wear Your Apple Watch</h3><p class="text-sm text-muted-foreground leading-normal">Nothing to log. Sleep Matter reads the data your watch already records while you sleep.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 text-center"><div class="inline-flex items-center justify-center w-14 h-14 rounded-full mb-4" style="background:var(--sm-primary-muted)"><span class="text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-history w-8 h-8" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"></path><path d="M3 3v5h5"></path><path d="M12 7v5l4 2"></path></svg></span></div><div class="font-display font-normal leading-tight text-3xl text-[var(--sm-border)] mb-3">0<!-- -->2</div><h3 class="font-semibold text-foreground mb-2">Pull In Your History</h3><p class="text-sm text-muted-foreground leading-normal">Sync your most recent year free, or your entire record. Our cloud, or your own server.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6 text-center"><div class="inline-flex items-center justify-center w-14 h-14 rounded-full mb-4" style="background:var(--sm-primary-muted)"><span class="text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot w-8 h-8" aria-hidden="true"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></span></div><div class="font-display font-normal leading-tight text-3xl text-[var(--sm-border)] mb-3">0<!-- -->3</div><h3 class="font-semibold text-foreground mb-2">Read It or Query It</h3><p class="text-sm text-muted-foreground leading-normal">Follow the trend yourself, export the raw data, or point an AI agent at the API.</p></div></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section class="py-24 px-6"><div class="max-w-[960px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">Your Data, Your Rules</div><div class="grid md:grid-cols-3 gap-4 mb-8"><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-download w-6 h-6 text-primary" aria-hidden="true"><path d="M12 15V3"></path><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"></path><path d="m7 10 5 5 5-5"></path></svg></div><h3 class="font-semibold text-foreground mb-2">Export or delete, anytime</h3><p class="text-sm text-muted-foreground leading-normal">Pull your full record out as a file, or wipe it for good. No retention games, no friction.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-server w-6 h-6 text-primary" aria-hidden="true"><rect width="20" height="8" x="2" y="2" rx="2" ry="2"></rect><rect width="20" height="8" x="2" y="14" rx="2" ry="2"></rect><line x1="6" x2="6.01" y1="6" y2="6"></line><line x1="6" x2="6.01" y1="18" y2="18"></line></svg></div><h3 class="font-semibold text-foreground mb-2">Run it yourself</h3><p class="text-sm text-muted-foreground leading-normal">The backend is open source. Self-host it and your health data never touches our servers.</p></div><div class="bg-[var(--sm-surface-raised)] border border-[var(--sm-border-subtle)] rounded-xl p-6"><div class="w-12 h-12 rounded-lg flex items-center justify-center mb-4" style="background:var(--sm-primary-muted)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check w-6 h-6 text-primary" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></div><h3 class="font-semibold text-foreground mb-2">Yours, not Appleâs</h3><p class="text-sm text-muted-foreground leading-normal">The whole point is ownership: your record, out of the six-month wall, free to go where you want.</p></div></div><div class="text-center"><a data-slot="button" href="/privacy" class="[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='
1size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 h-9 px-[calc(--spacing(3)-1px)] sm:h-8 border-input bg-popover not-dark:bg-clip-padding text-foreground shadow-xs/5 not-disabled:not-active:not-data-pressed:before:shadow-[0_1px_--theme(--color-black/4%)] dark:bg-input/32 dark:not-disabled:before:shadow-[0_-1px_--theme(--color-white/2%)] dark:not-disabled:not-active:not-data-pressed:before:shadow-[0_-1px_--theme(--color-white/6%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-accent/50 dark:[:hover,[data-pressed]]:bg-input/64">Read Our Full Privacy Policy</a></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section id="faq" class="py-24 px-6"><div class="max-w-[700px] mx-auto"><div class="text-xs font-semibold tracking-[0.1em] uppercase text-[var(--sm-text-subtle)] mb-6 pb-3 border-b border-[var(--sm-border-subtle)]">FAQ</div><div data-orientation="vertical" dir="ltr" role="region" data-slot="accordion" class="w-full"><div data-orientation="vertical" data-index="-1" data-closed="" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-index="-1" data-closed="" class="flex"><button type="button" data-value="" data-orientation="vertical" data-index="-1" tabindex="0" aria-disabled="false" aria-expanded="false" id="base-ui-_R_37maqH2_" data-slot="accordion-trigger" class="flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180">Do I need an Apple Watch?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out" aria-hidden="true" data-slot="accordion-indicator"><path d="m6 9 6 6 6-6"></path></svg></button></h3></div><div data-orientation="vertical" data-index="-1" data-closed="" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-index="-1" data-closed="" class="flex"><button type="button" data-value="" data-orientation="vertical" data-index="-1" tabindex="0" aria-disabled="false" aria-expanded="false" id="base-ui-_R_57maqH2_" data-slot="accordion-trigger" class="flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180">How is this different from another sleep-score app?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out" aria-hidden="true" data-slot="accordion-indicator"><path d="m6 9 6 6 6-6"></path></svg></button></h3></div><div data-orientation="vertical" data-index="-1" data-closed="" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-index="-1" data-closed="" class="flex"><button type="button" data-value="" data-orientation="vertical" data-index="-1" tabindex="0" aria-disabled="false" aria-expanded="false" id="base-ui-_R_77maqH2_" data-slot="accordion-trigger" class="flex flex-1 cursor-pointer items-start justify-between gap-4 roun
1ded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180">Where does my data live?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out" aria-hidden="true" data-slot="accordion-indicator"><path d="m6 9 6 6 6-6"></path></svg></button></h3></div><div data-orientation="vertical" data-index="-1" data-closed="" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-index="-1" data-closed="" class="flex"><button type="button" data-value="" data-orientation="vertical" data-index="-1" tabindex="0" aria-disabled="false" aria-expanded="false" id="base-ui-_R_97maqH2_" data-slot="accordion-trigger" class="flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180">What is free and what is paid?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out" aria-hidden="true" data-slot="accordion-indicator"><path d="m6 9 6 6 6-6"></path></svg></button></h3></div><div data-orientation="vertical" data-index="-1" data-closed="" data-slot="accordion-item" class="border-b last:border-b-0"><h3 data-orientation="vertical" data-index="-1" data-closed="" class="flex"><button type="button" data-value="" data-orientation="vertical" data-index="-1" tabindex="0" aria-disabled="false" aria-expanded="false" id="base-ui-_R_b7maqH2_" data-slot="accordion-trigger" class="flex flex-1 cursor-pointer items-start justify-between gap-4 rounded-md py-4 text-left font-medium text-sm outline-none transition-all focus-visible:ring-[3px] focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-64 data-panel-open:*:data-[slot=accordion-indicator]:rotate-180">When can I get Sleep Matter?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down pointer-events-none size-4 shrink-0 translate-y-0.5 opacity-80 transition-transform duration-200 ease-in-out" aria-hidden="true" data-slot="accordion-indicator"><path d="m6 9 6 6 6-6"></path></svg></button></h3></div></div></div></section><div data-orientation="horizontal" role="separator" aria-orientation="horizontal" data-slot="separator" class="shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:not-[[class^='h-']]:not-[[class*='_h-']]:self-stretch"></div><section class="relative overflow-hidden"><div class="absolute inset-0" style="background:linear-gradient(160deg, var(--sm-surface-raised) 0%, var(--sm-base) 100%)"></div><div class="pointer-events-none absolute top-[-40px] left-1/2 -translate-x-1/2 w-[320px] h-[320px]" style="background:radial-gradient(circle, var(--sm-score-glow) 0%, transparent 65%)"></div><div class="relative max-w-[960px] mx-auto px-6 py-24 text-center"><h2 class="text-3xl font-semibold text-foreground mb-4">Take Back Your Sleep Data</h2><p class="text-lg text-muted-foreground mb-8 max-w-[460px] mx-auto">Years of it, out of the walled garden and into your hands. Launching soon.</p><button type="button" class="[&_svg]:-mx-0.5 relative inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-lg border font-medium text-base outline-none transition-shadow before:pointer-events-none before:absolute before:inset-0 before:rounded-[calc(var(--radius-lg)-1px)] pointer-coarse:after:absolute pointer-coarse:after:size-full pointer-coarse:after:min-h-11 pointer-coarse:after:min-w-11 focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-64 sm:text-sm [&_svg:not([class*='opacity-'])]:opacity-80 [&_svg:not([class*='
1size-'])]:size-4.5 sm:[&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 h-10 px-[calc(--spacing(3.5)-1px)] sm:h-9 not-disabled:inset-shadow-[0_1px_--theme(--color-white/16%)] border-primary bg-primary text-primary-foreground shadow-primary/24 shadow-xs [:active,[data-pressed]]:inset-shadow-[0_1px_--theme(--color-black/8%)] [:disabled,:active,[data-pressed]]:shadow-none [:hover,[data-pressed]]:bg-primary/90" data-slot="button" disabled="">Coming Soon</button></div></section><footer class="border-t border-[var(--sm-border-subtle)] py-12 px-6" style="background:var(--sm-surface)"><div class="max-w-[960px] mx-auto"><div class="grid md:grid-cols-4 gap-8 mb-8"><div><div class="flex items-center gap-2 mb-4"><img src="/logo192.png" alt="Sleep Matter" class="w-8 h-8 rounded-lg"/><span class="font-display text-xl tracking-[0.01em] text-foreground">Sleep<span class="text-primary">Matter</span></span></div><p class="text-sm text-muted-foreground">© 2026 Sleep Matter Inc.<br/>All rights reserved.</p></div><div><h4 class="font-semibold text-foreground text-sm mb-4">Product</h4><ul class="space-y-2 text-sm text-muted-foreground"><li><a href="#features" class="hover:text-foreground transition-colors duration-150">Features</a></li><li><a href="#pricing" class="hover:text-foreground transition-colors duration-150">Pricing</a></li><li><a href="#developers" class="hover:text-foreground transition-colors duration-150">Developers</a></li><li><a href="#faq" class="hover:text-foreground transition-colors duration-150">FAQ</a></li></ul></div><div><h4 class="font-semibold text-foreground text-sm mb-4">Company</h4><ul class="space-y-2 text-sm text-muted-foreground"><li><a href="#" class="hover:text-foreground transition-colors duration-150">About Us</a></li><li><a href="#" class="hover:text-foreground transition-colors duration-150">Blog</a></li><li><a href="/cdn-cgi/l/email-protection#03707673736c717743706f6666736e62777766712d626a" class="hover:text-foreground transition-colors duration-150">Contact</a></li></ul></div><div><h4 class="font-semibold text-foreground text-sm mb-4">Legal</h4><ul class="space-y-2 text-sm text-muted-foreground"><li><a href="/privacy" class="hover:text-foreground transition-colors duration-150">Privacy Policy</a></li><li><a href="/terms" class="hover:text-foreground transition-colors duration-150">Terms of Service</a></li></ul></div></div></div></footer></div>
vendor: 108 bytes, line 1
1<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1<script></script>
1<!--/$-->
1<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]}; 2;$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/main-Be8DfOzT.js"],assets:$R[5]=[$R[6]={tag:"script",attrs:$R[7]={type:"module",async:!0},children:"import(\"/assets/main-Be8DfOzT.js\")"}]},"/_marketing":$R[8]={preloads:$R[9]=["/assets/_marketing-AHPDSf8P.js","/assets/x-DpsY7NZU.js","/assets/createLucideIcon-DxhPd5GQ.js"]},"/_marketing/":$R[10]={preloads:$R[11]=["/assets/index-D0bmOCi1.js","/assets/button-DpkImpRg.js","/assets/badge-CfMx51mn.js","/assets/separator-CxsyDRQ9.js","/assets/utils-k_vAkSgt.js","/assets/chevron-down-Bklc_jEO.js","/assets/useControlled-Cgf2NVlB.js","/assets/createBaseUIEventDetails-COS_z9-K.js","/assets/CompositeList-DoJulvJK.js","/assets/DirectionContext-DXG8P3ja.js","/assets/server-BK7SIOnY.js","/assets/download-D32myOMZ.js","/assets/check-qaBXohaI.js","/assets/shield-check-CdyvPymc.js","/assets/index-D7hq8_fD.js","/assets/useRender-C0wMvlz-.js","/assets/Separator-BaKtQFeQ.js"]},"/dashboard/":$R[12]={assets:$R[13]=[$R[14]={tag:"link",attrs:$R[15]={rel:"stylesheet",href:"/assets/index-D1GxaB_c.css",type:"text/css"}}]}}},matches:$R[16]=[$R[17]={i:"__root__/",u:1791212596784,s:"success",ssr:!0},$R[18]={i:"/_marketing/",u:1791212596784,s:"success",ssr:!0},$R[19]={i:"/_marketing//",u:1791212596784,s:"success",ssr:!0}],lastMatchId:"/_marketing//"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
2<script type="module" async="">import("/assets/main-Be8DfOzT.js")</script>
2</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.