
One key for everything — your desk, the Night Wire, and the family.
Already a distributor? Your current back office keeps working — this door will link straight to it at launch.
(function(){var cv=document.getElementById("dust");if(cv){var cx=cv.getContext("2d"),W,H;function size(){W=cv.width=innerWidth;H=cv.height=innerHeight}size();addEventListener("resize",size);var P=[];var C=[[255,217,138],[159,176,255],[240,243,255]];function spawn(x,y,sp,s){var c=C[Math.random()*3|0];P.push({x:x,y:y,vx:(Math.random()-.5)*(sp||1.2),vy:(Math.random()-.5)*1.2,life:1,decay:.012+Math.random()*.02,s:s||(1+Math.random()*2.2),c:c,tw:Math.random()*6.28})}addEventListener("mousemove",function(e){for(var i=0;i<3;i++)spawn(e.clientX+(Math.random()-.5)*10,e.clientY+(Math.random()-.5)*10,.9)});setInterval(function(){spawn(Math.random()*W,Math.random()*H*.6,.3,1)},300);function loop(){cx.clearRect(0,0,W,H);cx.globalCompositeOperation="lighter";for(var i=P.length-1;i>=0;i--){var p=P[i];p.x+=p.vx;p.y+=p.vy;p.life-=p.decay;p.tw+=.25;if(p.life<=0){P.splice(i,1);continue}var a=p.life*(.55+.45*Math.sin(p.tw));var g=cx.createRadialGradient(p.x,p.y,0,p.x,p.y,p.s*3.2);g.addColorStop(0,"rgba("+p.c[0]+","+p.c[1]+","+p.c[2]+","+a+")");g.addColorStop(1,"rgba("+p.c[0]+","+p.c[1]+","+p.c[2]+",0)");cx.fillStyle=g;cx.beginPath();cx.arc(p.x,p.y,p.s*3.2,0,6.28);cx.fill()}requestAnimationFrame(loop)}loop()}var io=new IntersectionObserver(function(es){es.forEach(function(e){if(e.isIntersecting)e.target.classList.add("awake")})},{threshold:.15});document.querySelectorAll(".awaken").forEach(function(el){io.observe(el)});setTimeout(function(){document.querySelectorAll(".bar i").forEach(function(b){var w=b.getAttribute("data-w");if(w)b.style.width=w})},700);})();
(function(){function f(p){var i=p&&p.querySelector('.fi');if(i){try{i.focus({preventScroll:true})}catch(e){i.focus()}}}var si=document.getElementById('tabSI'),cr=document.getElementById('tabCR'),pSI=document.querySelector('.pSI'),pCR=document.querySelector('.pCR');if(si)si.addEventListener('change',function(){if(si.checked)f(pSI)});if(cr)cr.addEventListener('change',function(){if(cr.checked)f(pCR)});if(window.innerWidth>820&&!('ontouchstart' in window)){setTimeout(function(){f(pSI)},450);}})();
(function(){var root=document.getElementById('lloydLang');if(!root)return;var btn=root.querySelector('.ll-btn');btn.addEventListener('click',function(e){e.stopPropagation();root.classList.toggle('ll-open');});document.addEventListener('click',function(){root.classList.remove('ll-open');});function sw(code){var done=false;if(window.Weglot){if(Weglot.switchTo){Weglot.switchTo(code);done=true;}}if(!done){var a=document.getElementById('weglot-language-'+code);if(a){a.click();}}}var opts=root.querySelectorAll('.ll-opt');opts.forEach(function(o){o.addEventListener('click',function(e){e.preventDefault();var code=o.getAttribute('data-wg');sw(code);var el=root.querySelector('.ll-cur');if(el){el.textContent=code.toUpperCase();}root.classList.remove('ll-open');});});function setCur(){var cur='';if(window.Weglot){if(Weglot.getCurrentLang){cur=Weglot.getCurrentLang();}}if(cur){var el=root.querySelector('.ll-cur');if(el){el.textContent=(''+cur).toUpperCase();}}}setTimeout(setCur,900);})();
(function(){var btn=document.querySelector('.lb-btn');if(btn){btn.addEventListener('click',function(e){e.preventDefault();document.documentElement.classList.toggle('lbopen');});}var menu=document.querySelector('.lb-menu');if(menu){menu.addEventListener('click',function(){document.documentElement.classList.remove('lbopen');});}})();
var FB={apiKey:"AIzaSyB5tTrcs8q8-avMJurjiSxzL9QimPVr_jo",authDomain:"auth.sleepm.com",projectId:"sleepm-bd88a"};var AMP=String.fromCharCode(38);var DESK="/?page_id=5642"+AMP+"preview=true";function boot(){if(!window.firebase){return false;}if(!firebase.apps.length){firebase.initializeApp(FB);}var auth=firebase.auth();var panels=document.querySelectorAll(".apanel");if(panels.length!==2){return false;}var p0=panels[0],p1=panels[1];function q(p,s){return p.querySelector(s);}var siE=q(p0,"input[type=email]"),siP=q(p0,"input[type=password]"),siB=q(p0,"a.btn"),siG=q(p0,"a.gbtn");var crN=q(p1,"input[type=text]"),crE=q(p1,"input[type=email]"),crP=q(p1,"input[type=password]"),crB=q(p1,"a.btn"),crG=q(p1,"a.gbtn");if(!siB){return false;}if(siB.getAttribute("data-pepperdoor")==="1"){return true;}siB.setAttribute("data-pepperdoor","1");function msgEl(after){var d=document.createElement("div");d.className="authmsg";after.parentNode.insertBefore(d,after.nextSibling);return d;}var m0=msgEl(siB),m1=msgEl(crB);function nice(code){if(code==="auth/invalid-credential"){return "That email and password do not match our ledger.";}if(code==="auth/wrong-password"){return "That password does not match. Try again, slowly.";}if(code==="auth/user-not-found"){return "No account under that email yet. Try Create Account.";}if(code==="auth/email-already-in-use"){return "That email already has a key. Use Sign In.";}if(code==="auth/weak-password"){return "Choose a stronger password (6 characters or more).";}if(code==="auth/invalid-email"){return "That email does not look right.";}if(code==="auth/popup-closed-by-user"){return "Google window closed. Try again when ready.";}return "Something slipped. Try again in a moment.";}function go(){location.href=DESK;}function busy(b,on){if(on){b.style.opacity=".55";b.style.pointerEvents="none";}else{b.style.opacity="";b.style.pointerEvents="";}}function doSignIn(e){if(e){e.preventDefault();}if(auth.currentUser){go();return;}m0.textContent="";var em=siE.value,pw=siP.value;if(em===""){m0.textContent="Your email, please.";return;}if(pw===""){m0.textContent="And your password.";return;}busy(siB,true);auth.signInWithEmailAndPassword(em,pw).then(go)["catch"](function(err){busy(siB,false);m0.textContent=nice(err.code);});}function doCreate(e){if(e){e.preventDefault();}m1.textContent="";var nm=crN.value,em=crE.value,pw=crP.value;if(nm.replace(/\s/g,"")===""){m1.textContent="Tell us your name first.";return;}if(em===""){m1.textContent="Your email, please.";return;}if(pw===""){m1.textContent="Choose a password (6 characters or more).";return;}busy(crB,true);auth.createUserWithEmailAndPassword(em,pw).then(function(cred){return cred.user.updateProfile({displayName:nm}).then(go);})["catch"](function(err){busy(crB,false);m1.textContent=nice(err.code);});}function doGoogle(e){if(e){e.preventDefault();}var prov=new firebase.auth.GoogleAuthProvider();auth.signInWithPopup(prov).then(go)["catch"](function(err){var t=nice(err.code);m0.textContent=t;m1.textContent=t;});}siB.addEventListener("click",doSignIn);crB.addEventListener("click",doCreate);siG.addEventListener("click",doGoogle);crG.addEventListener("click",doGoogle);siP.addEventListener("keydown",function(e){if(e.key==="Enter"){doSignIn(e);}});crP.addEventListener("keydown",function(e){if(e.key==="Enter"){doCreate(e);}});auth.onAuthStateChanged(function(u){if(u){siB.textContent="Enter your desk "+String.fromCharCode(8594);}});return true;}var dn=0;var dt=setInterval(function(){dn++;if(boot()){clearInterval(dt);}if(dn===30){clearInterval(dt);}},400);
(function(){var n=0;var t=setInterval(function(){n++;if(boot()){clearInterval(t);}if(n===40){clearInterval(t);}},400);function boot(){if(!window.firebase){return false;}if(!firebase.apps.length){return false;}var fn=document.querySelector(".pSI .fnote");if(!fn){return false;}if(fn.getAttribute("data-lloydreset")==="1"){return true;}var em=document.querySelector(".pSI input[type=email]");if(!em){return false;}fn.setAttribute("data-lloydreset","1");while(fn.firstChild){fn.removeChild(fn.firstChild);}fn.appendChild(document.createTextNode("Forgot your key? "));var a=document.createElement("a");a.href="#reset";a.className="lreset";a.textContent="Send me a reset link.";fn.appendChild(a);fn.appendChild(document.createTextNode(" Or "));var c=document.createElement("a");c.href="/contact/";c.textContent="the family will let you in.";fn.appendChild(c);var msg=document.createElement("div");msg.className="lreset-msg";fn.appendChild(msg);var busy=false;a.addEventListener("click",function(e){e.preventDefault();if(busy){return;}var v=em.value.replace(/^\s+|\s+$/g,"");msg.className="lreset-msg";if(v===""){msg.textContent="Type your email in the box above, then tap again.";em.focus();return;}busy=true;msg.textContent="Sending your reset link…";firebase.auth().sendPasswordResetEmail(v,{url:"https://sleepm.com/sign-in/"}).then(function(){busy=false;msg.className="lreset-msg ok";msg.textContent="Done — a reset link is on its way to "+v+". If it hides, check spam.";})["catch"](function(err){busy=false;var k=err.code;var t2="Something slipped. Try again in a moment.";if(k==="auth/user-not-found"){t2="We have no key under that email. Try another, or create an account.";}if(k==="auth/invalid-email"){t2="That email does not look right.";}if(k==="auth/too-many-requests"){t2="Too many tries. Give it a few minutes.";}msg.textContent=t2;});});return true;}})();
(function(){
var box=document.querySelector('.authx');if(!box){return;}
[].forEach.call(box.querySelectorAll('.apanel'),function(p){
var btn=p.querySelector('a.btn');
[].forEach.call(p.querySelectorAll('.fi'),function(i){i.addEventListener('keydown',function(e){if(e.key==='Enter'){if(btn){e.preventDefault();btn.click();}}});});
var pw=p.querySelector('input.fi[type=password]');if(!pw){return;}
var w=document.createElement('span');w.className='dpw';pw.parentNode.insertBefore(w,pw);w.appendChild(pw);
var t=document.createElement('button');t.type='button';t.className='dpw-t';t.textContent='Show';t.setAttribute('aria-label','Show password');w.appendChild(t);
t.addEventListener('click',function(){var s=pw.type==='password';pw.type=s?'text':'password';t.textContent=s?'Hide':'Show';t.setAttribute('aria-label',s?'Hide password':'Show password');pw.focus();});
var cap=document.createElement('div');cap.className='dcaps';cap.textContent='Caps Lock is on';w.parentNode.insertBefore(cap,w.nextSibling);
var chk=function(e){if(e.getModifierState){cap.classList.toggle('on',e.getModifierState('CapsLock'));}};pw.addEventListener('keyup',chk);pw.addEventListener('keydown',chk);pw.addEventListener('blur',function(){cap.classList.remove('on');});
});
var cr=box.querySelector('.pCR a.btn');if(cr){var f=document.createElement('p');f.className='dfree';f.textContent='Free to join. Takes about a minute.';cr.parentNode.insertBefore(f,cr.nextSibling);}
})();
How it all fits
Check tonight’s sky. Log how you slept. Find the bed that fits you. Meet the family. Carry it on, and come back tonight.
Scan with your phone camera — iPhone lands on the App Store, Android on Google Play.
Or tap here on your phone →