:root{--paper:#fff;--surface:#f4f4f1;--ink:#0e0e0d;--ink2:#5f5f5b;--ink3:#9a9a95;--hair:#e2e2de;--red:#ee3a1c;--disp:"Sofia Sans Extra Condensed",system-ui,sans-serif;--text:"Sofia Sans",system-ui,-apple-system,sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#0b0b0b;--surface:#171716;--ink:#f3f3f0;--ink2:#a5a5a0;--ink3:#6c6c68;--hair:#2b2b29;--red:#ff4b2b}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.55 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit}img{max-width:100%;display:block}
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:28px;padding:14px clamp(16px,4vw,48px);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--hair)}
.wordmark{font:900 30px/1 var(--disp);letter-spacing:.5px;text-decoration:none}.wordmark span{color:var(--red);margin-left:3px}
.top nav{display:flex;gap:22px;margin-right:auto}.top nav a{text-decoration:none;font-weight:600;font-size:15px;color:var(--ink2)}.top nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:999px;font-weight:700;text-decoration:none;font-size:16px;transition:transform .15s cubic-bezier(.23,1,.32,1)}
.btn:active{transform:scale(.97)}.btn.red{background:var(--red);color:#fff}.btn.ghost{border:1.5px solid var(--ink)}.btn.sm{height:40px;padding:0 18px;font-size:14px}
.eyebrow{font:800 13px/1.2 var(--disp);letter-spacing:1.6px;text-transform:uppercase;color:var(--red);margin:0 0 8px}.eyebrow a{text-decoration:none}
h1,h2{font-family:var(--disp);font-weight:900;line-height:.92;letter-spacing:-.5px;margin:0}h1{font-size:clamp(52px,8vw,104px)}h2{font-size:clamp(36px,4.6vw,56px)}
.lede{font-size:19px;color:var(--ink2);max-width:640px}
.rule{background:var(--ink)}.rule.heavy{height:8px}.rule.mid{height:3px}
main section{padding:0 clamp(16px,4vw,48px)}
.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;padding-top:56px!important;padding-bottom:64px!important}
.hero .ctas{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.hcard{display:grid;grid-template-columns:1fr 1fr;gap:0;text-decoration:none;border:1.5px solid var(--ink);background:var(--paper)}.hcard img{height:100%;object-fit:cover;aspect-ratio:2/3}
.hcard>div{padding:18px}.hcard h2{font-size:30px;margin-bottom:12px}.hcard .label{border:0;padding:0}
.label{border:1.5px solid var(--ink);padding:14px;background:var(--paper)}.lhead{display:flex;justify-content:space-between;align-items:baseline}.lhead b{font:900 32px/1 var(--disp)}.lhead span{color:var(--ink2);font-size:14px;font-weight:600}
.label .rule.heavy{margin:6px 0 4px}.lprot{display:flex;justify-content:space-between;align-items:flex-end;padding:4px 0}.lprot small{display:block;font:800 12px var(--disp);letter-spacing:1.4px}.lprot b{font:900 28px/1 var(--disp)}
.lprot .big{font:900 66px/0.9 var(--disp);color:var(--red)}.lprot .big i{font-style:normal;font-size:30px}
.lrow{display:flex;justify-content:space-between;border-bottom:1px solid var(--hair);padding:5px 0;font-weight:600;font-size:15px}.lrow.ind{padding-left:14px;font-weight:400}.lrow.cal{font:900 22px var(--disp);border-bottom:3px solid var(--ink)}
.lfoot{font-size:12px;color:var(--ink3);margin:8px 0 0}
.switch{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:var(--ink);color:var(--paper);padding:64px clamp(16px,4vw,48px)!important}
.switch .eyebrow{color:var(--red)}.switch p{color:color-mix(in srgb,var(--paper) 75%,transparent);font-size:18px}
.swaps{display:grid;gap:10px}.swap{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:baseline;border-bottom:1px solid #333;padding:10px 0;font-size:18px}
.swap s{color:#888}.swap span{color:var(--red);font-weight:800}.swap b{font-weight:700}.swap em{grid-column:3;font-style:normal;font-size:13px;color:#999;margin-top:-6px}
.toggle{width:120px;height:66px;border-radius:99px;background:#fff3;position:relative;margin-bottom:10px}.toggle.on{background:var(--red)}.toggle i{position:absolute;top:6px;left:60px;width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:0 3px 8px #0004}
.wall,.shelf,.more,.faq,.calc,.appsec,.prose{padding-top:56px!important;padding-bottom:24px!important}
.whead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button,.chips a{border:0;background:var(--surface);color:var(--ink);font:600 14px var(--text);padding:9px 15px;border-radius:99px;cursor:pointer;text-decoration:none}.chips .on{background:var(--ink);color:var(--paper)}.chips.links{margin:18px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:30px 18px;margin-top:22px}
.card{text-decoration:none;display:block;transition:transform .2s cubic-bezier(.23,1,.32,1)}.card:hover{transform:translateY(-3px)}
.card .ph{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:14px;background:var(--surface)}.card img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;left:0;bottom:0;background:#fff;color:#0e0e0d;display:flex;align-items:flex-end;gap:3px;padding:3px 8px 4px;border-top-right-radius:8px}.tag b{font:900 26px/1 var(--disp);color:#ee3a1c}.tag i{font:800 9.5px/1 var(--disp);font-style:normal}
.card h3{font-size:16.5px;line-height:1.25;margin:10px 0 3px;font-weight:700}.meta{margin:0;color:var(--ink2);font:800 12.5px var(--disp);letter-spacing:.7px;text-transform:uppercase}
.recipe .rhero{display:grid;grid-template-columns:minmax(300px,520px) 1fr;gap:44px;padding:36px clamp(16px,4vw,48px) 0}.rhero img{aspect-ratio:2/3;object-fit:cover;border-radius:18px;width:100%}
.rtitle h1{font-size:clamp(46px,6vw,84px)}.hook{font-size:20px;color:var(--ink2);margin:10px 0 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid var(--ink);border-bottom:1px solid var(--hair);margin:22px 0;padding:10px 0}.stats div{text-align:center}.stats small{font:800 11px var(--disp);letter-spacing:1.3px;color:var(--ink2)}.stats b{display:block;font:900 34px/1 var(--disp)}.stats i{font-style:normal;font-size:18px;color:var(--ink2)}.red{color:var(--red)}
.desc{font-size:18px}.pill{display:inline-block;background:var(--surface);border-radius:99px;padding:5px 12px;font-size:13px;font-weight:600;margin:0 6px 6px 0;text-transform:capitalize}
.rbody{display:grid;grid-template-columns:340px 1fr;gap:48px;padding:40px clamp(16px,4vw,48px)}.col-a{position:sticky;top:90px;align-self:start}.appbox{margin-top:18px;background:var(--surface);padding:18px;border-radius:16px}.appbox b{font:900 24px var(--disp)}.appbox p{font-size:15px;color:var(--ink2)}
.ihead{display:flex;justify-content:space-between;align-items:center}.units button{border:0;background:var(--surface);color:var(--ink);padding:7px 14px;font-weight:700;border-radius:99px;cursor:pointer}.units .on{background:var(--ink);color:var(--paper)}
.ings ul{list-style:none;padding:0;margin:0 0 10px}.ings li{border-bottom:1px solid var(--hair);padding:11px 0}.ings li span span{color:var(--ink2)}.ings h4{font:800 13px var(--disp);letter-spacing:1.4px;text-transform:uppercase;color:var(--red);margin:20px 0 4px}
.mt{display:none}body.metric .mt{display:inline}body.metric .us{display:none}
.col-b h2{margin-top:40px}.col-b h2:first-child{margin-top:0}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;padding:16px 0;border-bottom:1px solid var(--hair);font-size:18px}.steps li:before{content:counter(s,decimal-leading-zero);font:900 36px/1 var(--disp);color:var(--red)}
.tips{background:var(--ink);color:var(--paper);padding:20px 22px;margin-top:28px}.tips b{font:800 13px var(--disp);letter-spacing:1.6px;text-transform:uppercase}.tips ul{margin:10px 0 0;padding-left:18px}
.store,.src{color:var(--ink2);font-size:15px}.src{font-size:13px;color:var(--ink3)}
.appsec{text-align:center;padding-bottom:56px!important}.appsec p{max-width:600px;margin:12px auto 24px;color:var(--ink2);font-size:19px}
.faq details{border-bottom:1px solid var(--hair);padding:16px 0}.faq summary{font-weight:700;font-size:19px;cursor:pointer}.faq p{color:var(--ink2)}
.calcbox{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:20px;align-items:end;border:1.5px solid var(--ink);padding:22px;margin:26px 0;max-width:980px}
.calcbox label{font:800 13px var(--disp);letter-spacing:1.4px;text-transform:uppercase;display:grid;gap:8px}.calcbox .row{display:flex;gap:8px}
.calcbox input,.calcbox select{font:600 20px var(--text);padding:12px;border:1.5px solid var(--hair);border-radius:12px;background:var(--paper);color:var(--ink);width:100%}
.out small{font:800 12px var(--disp);letter-spacing:1.4px}.out b{display:block;font:900 96px/0.9 var(--disp);color:var(--red)}.out i{font-style:normal;font-size:44px}.out p{margin:4px 0 0;color:var(--ink2)}
.prose{max-width:820px}.prose.wide{max-width:900px}.prose h2{font-size:34px;margin:30px 0 8px}.prose p,.prose li{color:var(--ink);opacity:.9}
.foot{padding:40px clamp(16px,4vw,48px) 30px;margin-top:40px}.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px;margin-top:24px}.fgrid div{display:grid;gap:6px;align-content:start}.fgrid a{text-decoration:none;color:var(--ink2)}.fgrid p{color:var(--ink2);max-width:360px}.fine{color:var(--ink3);font-size:13px;margin-top:30px}
@media (max-width:900px){.hero,.switch,.recipe .rhero,.rbody,.calcbox,.fgrid{grid-template-columns:1fr}.hcard{grid-template-columns:1fr}.hcard img{aspect-ratio:4/3}.col-a{position:static}.top nav{display:none}.grid{grid-template-columns:repeat(2,1fr);gap:24px 12px}}
.locked{position:relative}.steps.blur{filter:blur(5px);user-select:none;pointer-events:none;opacity:.6}
.lockcard{position:relative;margin-top:-40px;background:var(--paper);border:1.5px solid var(--ink);padding:22px;text-align:center}.lockcard b{font:900 30px/1 var(--disp)}.lockcard p{color:var(--ink2);max-width:480px;margin:10px auto 18px}
.newswrap{padding-top:40px!important}.news{display:grid;grid-template-columns:1fr 1.1fr;gap:20px 28px;align-items:center;border:1.5px solid var(--ink);padding:22px;max-width:980px}
.news b{font:900 30px/1 var(--disp)}.news p{margin:6px 0 0;color:var(--ink2)}.nrow{display:flex;gap:8px}.nrow input{flex:1;font:500 17px var(--text);padding:13px 14px;border:1.5px solid var(--hair);border-radius:12px;background:var(--paper);color:var(--ink)}
.nrow button{border:0;background:var(--red);color:#fff;font:700 16px var(--text);padding:0 20px;border-radius:999px;cursor:pointer}.nconsent{grid-column:2;font-size:13px;color:var(--ink2);display:flex;gap:8px;align-items:center}.nmsg{grid-column:1/-1;font-weight:600}
@media (max-width:900px){.news{grid-template-columns:1fr}.nconsent{grid-column:1}}
/* ── Waitlist (pre-launch) ── */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.top .btn{margin-left:auto}
.soon{display:flex;align-items:center;gap:8px;font:800 13px/1 var(--disp);letter-spacing:1.6px;text-transform:uppercase;margin:0 0 12px}
.soon:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--red)}
.wl{max-width:560px}.wl[hidden],.wl-done[hidden]{display:none}
.wl-row{display:flex;gap:8px;padding:5px;border:1.5px solid var(--ink);border-radius:999px;background:var(--paper);transition:box-shadow .15s}
.wl-row:focus-within{box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 22%,transparent)}.wl-row:has(input[aria-invalid]){border-color:var(--red)}
.wl-row input{flex:1;min-width:0;height:52px;padding:0 16px;border:0;outline:0;background:transparent;color:var(--ink);font:500 17px var(--text)}
.wl-row input::placeholder{color:var(--ink3)}
.wl-row button{flex:none;height:52px;padding:0 24px;border:0;border-radius:999px;background:var(--red);color:#fff;font:700 16px var(--text);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .15s cubic-bezier(.23,1,.32,1),opacity .15s}
.wl-row button:active{transform:scale(.97)}.wl-row button:disabled{opacity:.7;cursor:progress}
.wl-consent{position:relative;display:flex;gap:12px;align-items:flex-start;margin-top:12px;padding:6px 0;font-size:14.5px;line-height:1.4;color:var(--ink2);cursor:pointer;-webkit-tap-highlight-color:transparent}
.wl-consent input{position:absolute;left:0;top:6px;width:24px;height:24px;margin:0;opacity:0}
.wl-consent .box{flex:none;display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--ink);border-radius:7px;background:var(--paper);transition:background .15s,border-color .15s}
.wl-consent .box:after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;opacity:0;transform:translateY(-1px) rotate(45deg) scale(.5);transition:opacity .12s,transform .18s cubic-bezier(.23,1,.32,1)}
.wl-consent input:checked+.box{background:var(--red);border-color:var(--red)}.wl-consent input:checked+.box:after{opacity:1;transform:translateY(-1px) rotate(45deg) scale(1)}
.wl-consent input:focus-visible+.box{box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 30%,transparent)}
.wl .wl-msg{margin:6px 0 0;font-size:15px;font-weight:700;color:var(--ink)}.wl .wl-msg:empty{display:none}.wl .wl-msg.err{color:var(--red)}
.wl .wl-fine{margin:6px 0 0;font-size:13px;color:var(--ink3)}.wl-fine a{color:var(--ink2)}
.wl-done{display:flex;gap:16px;align-items:flex-start;max-width:560px;padding:20px;border:1.5px solid var(--ink);border-radius:20px;background:var(--paper);outline:0;animation:wlin .35s cubic-bezier(.23,1,.32,1)}
.wl-done .tick{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--red)}
.wl-done .tick:after{content:"";width:9px;height:18px;border:solid #fff;border-width:0 3.5px 3.5px 0;transform:translateY(-2px) rotate(45deg)}
.wl-done b{display:block;font:900 34px/1 var(--disp)}.wl-done p{margin:6px 0 0;font-size:16px;color:var(--ink2)}.wl-done [data-email]{color:var(--ink);font-weight:700;overflow-wrap:anywhere}
@keyframes wlin{from{opacity:0;transform:translateY(6px) scale(.98)}}
.hwl{max-width:560px;margin-top:26px}
.more-link{display:inline-block;margin-top:10px;padding:8px 0;font-weight:700;text-decoration:none}.more-link:hover{color:var(--red)}
.appsec .soon{justify-content:center}.appsec .wlwrap{max-width:560px;margin:0 auto;text-align:left}
.wlhero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:56px;align-items:center;padding-top:56px!important;padding-bottom:40px!important;scroll-margin-top:80px}
.wlhero h1{font-size:clamp(56px,7.2vw,108px);max-width:10.5ch}.wlhero h1 span{color:var(--red)}
.wlhero .lede{margin:16px 0 24px;font-size:clamp(18px,1.5vw,21px)}
.wlfacts{display:grid;grid-template-columns:repeat(3,1fr);max-width:560px;margin-top:28px;border-top:3px solid var(--ink)}
.wlfacts div{padding:10px 10px 0 0}.wlfacts div+div{padding-left:12px;border-left:1px solid var(--hair)}
.wlfacts b{display:block;font:900 34px/1 var(--disp)}.wlfacts small{display:block;margin-top:4px;font:800 12px/1.2 var(--disp);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink2)}
.wlshots{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:start}
.wlshots figure{margin:0}.wlshots figure:nth-child(2){margin-top:48px}
.wlshots img{width:100%;height:auto;aspect-ratio:480/1043;border-radius:18px;background:var(--surface);box-shadow:0 22px 40px -26px rgb(0 0 0/.55)}
.wlshots figcaption{display:flex;gap:8px;align-items:baseline;margin-top:10px;font:800 13px/1.2 var(--disp);letter-spacing:1.2px;text-transform:uppercase;color:var(--ink2)}.wlshots figcaption b{color:var(--red);font-size:15px}
.wlhow{max-width:980px;padding-top:48px!important}.wlhow .steps li{font-size:18px}.wlhow .steps b{font-weight:800}
.wlmore{max-width:760px;font-size:18px;color:var(--ink2)}
.wltaste{padding-top:48px!important}.wltaste .lede{margin:10px 0 0}
.wlend{margin-top:56px;padding:64px clamp(16px,4vw,48px)!important;background:var(--ink);color:var(--paper);text-align:center}
.wlend p{max-width:520px;margin:12px auto 24px;font-size:18px;color:color-mix(in srgb,var(--paper) 75%,transparent)}
@media (max-width:900px){
.wlhero{grid-template-columns:1fr;gap:36px;padding-top:28px!important}
.wlshots{display:flex;gap:12px;margin:0 calc(-1*clamp(16px,4vw,48px));padding:0 clamp(16px,4vw,48px) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(16px,4vw,48px);overscroll-behavior-x:contain;scrollbar-width:none}
.wlshots::-webkit-scrollbar{display:none}.wlshots figure{flex:0 0 min(58vw,280px);scroll-snap-align:start}.wlshots figure:nth-child(2){margin-top:0}}
@media (max-width:520px){
.wl-row{flex-direction:column;gap:10px;padding:0;border:0;border-radius:0;background:none}.wl-row:focus-within{box-shadow:none}
.wl-row input{flex:none;height:58px;border:1.5px solid var(--ink);border-radius:14px;background:var(--paper)}
.wl-row input:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 22%,transparent)}.wl-row input[aria-invalid]{border-color:var(--red)}
.wl-row button{width:100%;height:58px;font-size:17px}.wlfacts b{font-size:30px}}
@media (prefers-reduced-motion:reduce){.wl-done{animation:none}.wl-row button,.wl-consent .box,.wl-consent .box:after{transition:none}}
