/* Mesh's existing ink, bone and blue palette; no external runtime required. */
.mesh-loader{position:fixed;inset:0;z-index:1000;background:#0e0e0c;color:#faf9f0;display:grid;place-content:center;justify-items:center;gap:28px;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .55s ease,visibility .55s}
.mesh-loading .mesh-loader{visibility:visible;opacity:1;pointer-events:auto}
.mesh-loader img{width:156px;height:auto}
.mesh-loader-line{width:156px;height:2px;overflow:hidden;background:#faf9f022}
.mesh-loader-line:after{content:'';display:block;width:45%;height:100%;background:#aeb7ff;animation:mesh-loading-line 1s ease-in-out infinite}
.mesh-loader small{font:9px 'DM Mono',monospace;letter-spacing:.22em;text-transform:uppercase;color:#bfc0b9}
@keyframes mesh-loading-line{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
.hero{perspective:1200px;min-height:780px}
.hero-photo{inset:-4%;will-change:transform;transform:scale(1.04);backface-visibility:hidden}
.hero .grid{pointer-events:none;opacity:.18}
.hero-meta{right:2vw}
.hero-copy{position:relative;z-index:2;margin-left:8vw;width:57vw;max-width:780px;margin-bottom:clamp(100px,16vh,165px)}
.hero h1{font-size:clamp(68px,8.6vw,132px)}
.hero-copy>*{animation:none}
.hero-copy p{max-width:355px}
.hero.is-past .hero-copy{opacity:1;filter:none;transform:none}
.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px}
.mesh-glass{position:relative;isolation:isolate;border:1px solid #faf9f044;background:linear-gradient(145deg,#faf9f020,#faf9f005 48%,#18278824);box-shadow:inset 0 1px 0 #fff3,inset 0 -1px 0 #fff1,0 12px 36px #0003;backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);color:#faf9f0}
.mesh-glass:after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--spec-angle,2.4rad),transparent,#faf9f0aa 28deg,transparent 70deg,transparent 180deg,#aeb7ff99 208deg,transparent 250deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask-composite:xor;opacity:.55;transition:opacity .25s}
.mesh-glass:hover:after{opacity:1}
.hero .cta{min-height:50px;padding:14px 19px;font-size:10px}
.hero .cta:hover{background:#18278899;box-shadow:inset 0 1px 0 #fff5,0 14px 38px #0005}
.hero .morph-dot{background:#aeb7ff;color:#182788}
.hero-secondary{display:inline-flex;align-items:center;gap:18px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em;padding:15px 18px;border-radius:999px}
.hero-secondary:hover{background:#faf9f017}
.nav{z-index:10}
.nav-links{gap:6px;padding:6px;border:1px solid #faf9f024;border-radius:999px;background:linear-gradient(145deg,#faf9f014,#0e0e0c80);box-shadow:inset 0 1px #faf9f018,0 8px 30px #0003;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav-links a{padding:12px 15px;border-radius:999px;transition:background .2s,color .2s,transform .2s}
.nav-links a:hover{background:#faf9f01a;transform:translateY(-2px)}
.nav-links .pill{background:#faf9f014;border-color:#faf9f055}
.hero-signals{position:absolute;z-index:3;right:7vw;top:46%;width:232px;transform-style:preserve-3d;will-change:transform}
.signal-card{display:block;border-radius:23px;padding:21px;text-decoration:none;transition:box-shadow .3s,border-color .3s;transform-style:preserve-3d}
.signal-card:hover{border-color:#faf9f080;box-shadow:inset 0 1px #fff6,0 20px 60px #0005}
.signal-top{display:flex;justify-content:space-between;align-items:center;font:10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ececf2}
.signal-top svg{width:16px;height:16px;stroke:#bdc5ff;fill:none;stroke-width:1.5}
.signal-score{display:flex;align-items:baseline;gap:10px;margin:12px 0 8px}
.signal-score strong{font:500 58px/.95 var(--sans);letter-spacing:-.08em}
.signal-score span{font-size:11px;color:#d1d5eb}
.signal-track{height:4px;background:#faf9f02b;border-radius:8px;margin:17px 0 10px;overflow:hidden}
.signal-track i{display:block;width:78%;height:100%;background:#bdc5ff;border-radius:8px}
.signal-caption{font-size:10px;line-height:1.5;color:#d1d5dc}
.signal-sleep{width:210px;margin-top:16px;margin-left:-45px;transform:translateZ(28px);background:linear-gradient(135deg,#18278878,#0e0e0c5c)}
.signal-sleep .signal-score strong{font-size:37px}
.signal-sleep .signal-score span{font-size:11px}
.signal-bars{display:flex;gap:4px;align-items:flex-end;height:25px;margin-top:13px}
.signal-bars i{flex:1;border-radius:3px;background:#bdc5ff88;height:var(--h,60%)}
.signal-bars i:last-child{background:#faf9f0}
.signal-demo{font:8px var(--mono);letter-spacing:.14em;text-transform:uppercase;display:block;text-align:right;color:#c5c6cf;margin-top:13px}
.hero-scroll{position:absolute;bottom:33px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;color:#d6d7d0;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.hero-scroll span{display:grid;place-items:center;width:27px;height:38px;border:1px solid #faf9f044;border-radius:18px;font-size:16px}
.cookie-panel{position:fixed;z-index:100;bottom:22px;left:22px;width:min(430px,calc(100vw - 44px));padding:23px;background:#151612f5;color:#faf9f0;border:1px solid #faf9f03d;border-radius:21px;box-shadow:0 20px 75px #0006,inset 0 1px #fff1;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);font:13px/1.65 Manrope,sans-serif}
.cookie-panel[hidden]{display:none}
.cookie-heading{display:flex;align-items:center;gap:12px;margin-bottom:9px}
.cookie-heading img{width:30px;height:30px;border-radius:8px}
.cookie-heading h2{font:600 17px/1.3 Manrope,sans-serif;margin:0;letter-spacing:-.025em}
.cookie-panel p{margin:0 0 16px;color:#c7c9c1;font:12px/1.7 Manrope,sans-serif}
.cookie-panel a{color:#bdc5ff;text-decoration:underline;text-underline-offset:3px}
.cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cookie-actions button{min-height:44px;padding:10px 12px;background:#faf9f00d;border:1px solid #faf9f066;border-radius:999px;color:#faf9f0;cursor:pointer;font:10px 'DM Mono',monospace;letter-spacing:.04em}
.cookie-actions button:hover{background:#182788;border-color:#aeb7ff}
.cookie-settings{border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.cookie-status{position:fixed;bottom:16px;left:16px;z-index:101;background:#151612;color:#faf9f0;border-radius:10px;padding:12px 16px;font:12px Manrope,sans-serif}
.cookie-status:empty{display:none}
.mesh-waitlist-page .footer{padding:26px 5vw;background:#0e0e0c;color:#bfc0b9;border-top:1px solid #faf9f022;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em}
.mesh-waitlist-page .footer .links{display:flex;gap:16px;flex-wrap:wrap}
.footer .foot-links{flex-wrap:wrap}
:is(.cookie-panel button,.cookie-settings,.mesh-glass,.hero-secondary):focus-visible{outline:2px solid #bdc5ff;outline-offset:5px}
@media(min-width:741px) and (max-width:1050px){.hero-copy{margin-left:6vw;width:63vw}.hero h1{font-size:9.5vw}.hero-signals{right:4vw;width:200px;top:47%}.signal-sleep{width:190px;margin-left:-15px}.nav-links a{padding:11px 9px;font-size:9px}}
@media(max-width:740px){
 .hero{min-height:860px;height:auto;display:block;padding:175px 7vw 75px;perspective:none}
 .hero-photo{background-position:66% top;background-size:cover;background-color:#0e0e0c}
 .hero:after{background:linear-gradient(90deg,#0e0e0caa,transparent),linear-gradient(0deg,#0e0e0c 0%,#0e0e0c77 45%,#0e0e0c22 80%)}
 .hero-copy{width:100%;max-width:none;margin:0}
 .hero h1{font-size:clamp(54px,13.3vw,96px);margin-top:26px;letter-spacing:-.08em}
 .hero-copy p{font-size:13px;max-width:330px}.hero-actions{gap:8px;margin-top:25px}.hero .cta{min-width:156px}.hero-secondary{padding:13px 4px;font-size:9px;gap:8px}
 .hero-signals{position:relative;right:auto;top:auto;width:100%;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:11px;margin:38px 0 0;transform:none!important}
 .signal-card{padding:16px 14px;border-radius:18px}.signal-score strong{font-size:43px}.signal-score{gap:8px;flex-wrap:wrap}.signal-score span{font-size:9px}.signal-top{font-size:9px}.signal-caption{font-size:9px}
 .signal-sleep{width:auto;margin:22px 0 0;transform:none}.signal-sleep .signal-score strong{font-size:31px}.signal-sleep .signal-score span{font-size:10px}.signal-demo{grid-column:1/-1;margin-top:0;font-size:7px}
 .hero-scroll{display:none}.hero-index{bottom:25px}.hero-meta{bottom:25px;writing-mode:horizontal-tb;font-size:7px}.hero-meta br{display:none}
 .nav-links{border-radius:18px;padding:10px;background:#10110ff5;gap:3px}.nav-links a:hover{transform:none}
 .cookie-panel{left:12px;bottom:12px;width:calc(100vw - 24px);padding:19px}.cookie-panel p{font-size:11px}.cookie-heading h2{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.hero-photo,.hero-signals{transform:none!important;will-change:auto}.mesh-loader-line:after{animation:none;width:100%}.mesh-loader,.mesh-glass,.nav-links a{transition:none}.hero-copy>*{animation:none}}

/* Persistent site navigation and a shared return-to-top control. */
:root{--mesh-nav-height:82px}
html{scroll-padding-top:calc(var(--mesh-nav-height) + 16px)}
body>header.nav{position:sticky;top:0;inset-inline:0;z-index:60;background:rgba(14,14,12,.96);color:#faf9f0;box-shadow:0 1px 0 #faf9f01c,0 8px 26px #0002;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.mesh-home>header.nav{position:fixed}
.mesh-back-top{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(var(--mesh-top-bottom,18px),env(safe-area-inset-bottom));z-index:70;display:grid;place-items:center;width:46px;height:46px;border:1px solid #faf9f066;border-radius:50%;background:#182788;color:#faf9f0;box-shadow:0 6px 22px #0003;cursor:pointer;transition:background .2s,transform .2s}
.mesh-back-top[hidden]{display:none}
.mesh-back-top svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.mesh-back-top:hover{background:#2838a4;transform:translateY(-3px)}
.mesh-back-top:focus-visible{outline:3px solid #aeb7ff;outline-offset:4px}
body .toc,.checkout .summary{top:calc(var(--mesh-nav-height) + 24px)}
@media(max-width:740px){:root{--mesh-nav-height:68px}.mesh-home .nav-links{max-height:calc(100dvh - var(--mesh-nav-height) - 20px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mesh-back-top{transition:none}.mesh-back-top:hover{transform:none}}
