.landing{--ink:#22322a;--ink-soft:#4b5a52;--paper:#efeae0;--paper-2:#f7f4ec;--white:#fff;--sage:#5e8266;--sage-deep:#3e5c46;--gold:#e2a23b;--sky:#3e6d8e;--coral:#c9614b;--line:#22322a24;background:var(--paper);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);scroll-behavior:smooth;font-family:Inter,system-ui,sans-serif}@media (prefers-color-scheme:dark){.landing:not([data-theme=light]){--ink:#ede9df;--ink-soft:#b9c2bb;--paper:#1c2420;--paper-2:#212b25;--white:#141b17;--line:#ede9df24}}.landing[data-theme=dark]{--ink:#ede9df;--ink-soft:#b9c2bb;--paper:#1c2420;--paper-2:#212b25;--white:#141b17;--line:#ede9df24}.landing *{box-sizing:border-box}.landing img,.landing svg{max-width:100%}.landing h1,.landing h2,.landing h3{letter-spacing:-.01em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}.landing a{color:inherit}.landing .wrap{max-width:1140px;margin:0 auto;padding:0 28px}.landing .scrollx{overflow-x:auto}.landing header.site{top:0;top:env(safe-area-inset-top,0px);z-index:50;background:color-mix(in srgb, var(--paper) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky}.landing .navrow{justify-content:space-between;align-items:center;max-width:1140px;margin:0 auto;padding:16px 28px;display:flex}.landing .brand{cursor:pointer;color:var(--ink);background:0 0;border:none;align-items:center;gap:10px;font-family:Fraunces,serif;font-size:1.25rem;font-weight:600;text-decoration:none;display:flex}.landing .brand svg,.landing .brand img{width:30px;height:30px}.landing .brand-text{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.landing .brand-sub{letter-spacing:.04em;color:var(--muted,#8a8676);white-space:nowrap;margin-top:2px;font-family:Inter,system-ui,sans-serif;font-size:.7rem;font-weight:500}.landing nav.links{gap:32px;font-size:.95rem;display:flex}.landing nav.links button{cursor:pointer;color:var(--ink-soft);font:inherit;background:0 0;border:none;padding:0;transition:color .15s}.landing nav.links button:hover{color:var(--ink)}.landing .navcta{align-items:center;gap:18px;display:flex}.landing .btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .12s,background .15s,box-shadow .15s;display:inline-flex}.landing .btn:active{transform:translateY(1px)}.landing .btn-primary{background:var(--sage-deep);color:#fff}.landing .btn-primary:hover{background:var(--sage)}.landing .btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.landing .btn-ghost:hover{background:var(--white)}.landing .navmenu-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;padding:6px;display:none}.landing .hero{padding:76px 0 60px}.landing .hero-grid{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;display:grid}.landing .hero h1{font-size:clamp(2.3rem,4.4vw,3.4rem);line-height:1.08}.landing .hero p.lede{color:var(--ink-soft);max-width:46ch;margin-top:20px;font-size:1.14rem;line-height:1.6}.landing .hero-ctas{flex-wrap:wrap;gap:14px;margin-top:32px;display:flex}.landing .hero-note{color:var(--ink-soft);margin-top:18px;font-size:.86rem}.landing .hero-art{position:relative}.landing .weekcard{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 22px 26px;box-shadow:0 24px 60px -30px #22322a59}.landing .weekcard-head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.landing .weekcard-head span{color:var(--ink-soft);font-size:.8rem}.landing .weekcard-title{font-family:Fraunces,serif;font-size:1.15rem;font-weight:600}.landing .legend{color:var(--ink-soft);flex-wrap:wrap;gap:14px;margin-top:16px;font-size:.78rem;display:flex}.landing .legend span{align-items:center;gap:6px;display:inline-flex}.landing .dot{border-radius:50%;width:9px;height:9px;display:inline-block}.landing .strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-2)}.landing .strip .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding:26px 28px;display:flex}.landing .strip p{color:var(--ink-soft);max-width:60ch;margin:0;font-size:1rem}.landing .strip strong{color:var(--ink)}.landing .section{padding:88px 0;scroll-margin-top:80px}.landing .strip{scroll-margin-top:80px}.landing .section-head{max-width:640px;margin-bottom:48px}.landing .showcase{border:1px solid var(--line);background:var(--white);border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px #22322a59}.landing .showcase-bar{border-bottom:1px solid var(--line);background:var(--paper-2);gap:6px;padding:10px 14px;display:flex}.landing .showcase-bar i{background:var(--line);border-radius:50%;width:10px;height:10px}.landing .showcase img{width:100%;height:auto;display:block}.landing .section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.15}.landing .section-head p{color:var(--ink-soft);margin-top:14px;font-size:1.05rem;line-height:1.6}.landing .steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.landing .step{border-top:2px solid var(--sage-deep);padding-top:18px}.landing .step .num{color:var(--sage-deep);opacity:.55;font-family:Fraunces,serif;font-size:2.1rem}.landing .step h3{margin-top:6px;font-size:1.15rem}.landing .step p{color:var(--ink-soft);margin-top:10px;font-size:.98rem;line-height:1.6}.landing .bento{grid-template-columns:repeat(6,1fr);gap:20px;display:grid}.landing .card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px}.landing .card h3{margin-bottom:8px;font-size:1.08rem}.landing .card p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.landing .card .ic{width:34px;height:34px;margin-bottom:16px}.landing .b-lg,.landing .b-md{grid-column:span 3}.landing .b-sm{grid-column:span 2}.landing .b-feat{background:var(--sage-deep);color:#fff;border:none;grid-column:span 6;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:22px;display:grid}.landing .b-feat h3{color:#fff;margin-bottom:6px;font-family:Fraunces,serif;font-size:1.15rem;font-weight:600}.landing .b-feat p{color:#ffffffd1;font-size:.92rem;line-height:1.5}.landing .b-grocery{grid-column:span 6;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:36px;display:grid}.landing .b-grocery h3{margin-bottom:12px;font-size:1.35rem}.landing .b-grocery p{font-size:1rem;line-height:1.6}.landing .b-personalize{grid-column:span 6;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:36px;display:grid}.landing .b-personalize h3{margin-bottom:12px;font-size:1.35rem}.landing .b-personalize p{font-size:1rem;line-height:1.6}.landing .p-panel{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:20px;padding:24px;display:flex}.landing .p-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.landing .p-label{color:var(--ink-soft);font-size:.85rem;font-weight:600}.landing .p-swatches{gap:10px;display:flex}.landing .swatch{width:26px;height:26px;box-shadow:0 0 0 2px var(--white);border-radius:50%;display:inline-block}.landing .swatch[data-active]{box-shadow:0 0 0 2px var(--white), 0 0 0 4px var(--ink)}.landing .p-fonts{gap:10px;display:flex}.landing .fchip{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:7px 14px;font-size:.88rem}.landing .fchip[data-active]{border-color:var(--ink);font-weight:600}.landing .p-avatars{align-items:flex-start}.landing .avatars{gap:10px;display:flex}.landing .avatar{color:#fff;width:36px;height:36px;box-shadow:0 0 0 2px var(--white);border-radius:50%;justify-content:center;align-items:center;font-family:Fraunces,serif;font-size:.9rem;font-weight:600;display:flex}.landing .b-hub{grid-column:span 6;grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:36px;display:grid}.landing .b-hub h3{margin-bottom:12px;font-size:1.35rem}.landing .b-hub p{font-size:1rem;line-height:1.6}.landing .customize{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.landing .customize .card{flex-direction:column;gap:16px;padding:26px;display:flex}.landing .customize .card h3{margin-bottom:4px;font-size:1.12rem}.landing .customize .card p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.landing .customize .card .mock{border-radius:12px;overflow:hidden}.landing .countdowns{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.landing .count-card{background:var(--white);border:1px solid var(--line);text-align:center;border-radius:14px;padding:26px 22px}.landing .count-ic{border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin:0 auto 16px;display:flex}.landing .count-ic svg{width:22px;height:22px}.landing .count-num{font-family:Fraunces,serif;font-size:2.6rem;font-weight:600;line-height:1}.landing .count-sub{color:var(--ink-soft);margin-top:4px;font-size:.82rem}.landing .count-title{margin-top:14px;font-size:.98rem;font-weight:600}.landing .quotes{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.landing .quote{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px}.landing .quote p.q{margin:0 0 16px;font-family:Fraunces,serif;font-size:1.08rem;line-height:1.5}.landing .quote .who{color:var(--ink-soft);font-size:.86rem}.landing .pricing{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;display:grid}.landing .pricing-single{grid-template-columns:1fr;max-width:420px;margin:0 auto}.landing .plan{background:var(--white);border:1px solid var(--line);border-radius:16px;flex-direction:column;padding:30px;display:flex}.landing .plan.featured{border-color:var(--sage-deep);position:relative;box-shadow:0 20px 50px -28px #22322a66}.landing .plan .tag{background:var(--gold);color:#2a1f08;border-radius:999px;padding:5px 12px;font-size:.75rem;font-weight:700;position:absolute;top:-12px;right:24px}.landing .plan h3{font-size:1.2rem}.landing .plan .price{margin:14px 0 4px;font-family:Fraunces,serif;font-size:2.2rem}.landing .plan .price span{color:var(--ink-soft);font-family:Inter,sans-serif;font-size:.95rem;font-weight:500}.landing .plan ul{flex-direction:column;gap:11px;margin:22px 0 26px;padding:0;list-style:none;display:flex}.landing .plan li{color:var(--ink-soft);align-items:flex-start;gap:10px;font-size:.93rem;display:flex}.landing .plan li svg{width:16px;height:16px;color:var(--sage-deep);flex-shrink:0;margin-top:2px}.landing .plan .btn{width:100%;margin-top:auto}.landing .lang-pills{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.landing .lang-pill{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:10px 20px;font-size:.95rem;font-weight:600}.landing .faq{max-width:760px}.landing .faq-item{border-bottom:1px solid var(--line)}.landing .faq-q{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-family:Fraunces,serif;font-size:1.06rem;display:flex}.landing .faq-q .plus{flex-shrink:0;width:20px;height:20px;position:relative}.landing .faq-q .plus:before,.landing .faq-q .plus:after{content:"";background:var(--sage-deep);border-radius:2px;position:absolute}.landing .faq-q .plus:before{width:20px;height:2px;top:9px;left:0}.landing .faq-q .plus:after{width:2px;height:20px;transition:transform .2s;top:0;left:9px}.landing .faq-item.open .plus:after{transform:rotate(90deg)}.landing .faq-a{max-height:0;transition:max-height .25s;overflow:hidden}.landing .faq-a p{color:var(--ink-soft);max-width:64ch;margin:0 0 22px;font-size:.97rem;line-height:1.6}.landing .cta-band{background:var(--sage-deep);color:#fff;text-align:center;padding:90px 0}.landing .cta-band h2{color:#fff;max-width:20ch;margin:0 auto;font-size:clamp(1.8rem,3.6vw,2.5rem)}.landing .cta-band p{color:#ffffffd1;max-width:48ch;margin:16px auto 32px;font-size:1.05rem}.landing .cta-band .btn-primary{color:var(--sage-deep);background:#fff}.landing .cta-band .btn-primary:hover{background:var(--paper-2)}.landing footer{border-top:1px solid var(--line);padding:48px 0 40px}.landing .foot-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.landing .foot-links{color:var(--ink-soft);flex-wrap:wrap;gap:26px;font-size:.88rem;display:flex}.landing .foot-links button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none;padding:0}.landing .foot-links button:hover{color:var(--ink)}.landing .foot-copy{color:var(--ink-soft);margin-top:20px;font-size:.82rem}.landing .demo-banner{background:var(--gold);color:#2a1f08;text-align:center;padding:12px 16px;font-size:.9rem;font-weight:600}.landing .demo-frame{background:var(--white);border:1px solid var(--line);border-radius:22px;max-width:520px;margin:32px auto 0;padding:20px;box-shadow:0 30px 70px -34px #22322a66}.landing .demo-cta{text-align:center;max-width:520px;margin:28px auto 0}.landing .demo-cta h2{font-size:1.5rem}.landing .demo-cta p{color:var(--ink-soft);margin:10px 0 18px}.landing .demo-cta .btn{width:100%}.landing .install-btn{background:var(--ink);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:11px 18px;font-size:.92rem;font-weight:600;transition:opacity .15s;display:inline-flex}.landing .install-btn:hover{opacity:.9}.landing .install-btn:disabled{opacity:.5;cursor:default}.landing .install-note{color:var(--ink-soft);margin-top:8px;font-size:.82rem}@media (width<=860px){.landing .hero-grid{grid-template-columns:1fr}.landing .hero{padding-top:40px}.landing nav.links{display:none}.landing .navmenu-btn{display:block}.landing .navrow{flex-wrap:wrap;gap:10px;padding:12px 20px}.landing .brand{gap:8px;font-size:1.1rem}.landing .brand-sub{font-size:.62rem}.landing .navcta{justify-content:flex-end;gap:10px;width:100%}.landing .navcta .btn{padding:9px 16px;font-size:.88rem}.landing .steps{grid-template-columns:1fr;gap:28px}.landing .bento{grid-template-columns:1fr 1fr}.landing .b-lg,.landing .b-md,.landing .b-feat{grid-column:span 2}.landing .b-sm{grid-column:span 1}.landing .b-feat{grid-template-columns:1fr}.landing .b-grocery,.landing .b-personalize,.landing .b-hub{grid-column:span 2;grid-template-columns:1fr;padding:26px}.landing .countdowns{grid-template-columns:repeat(2,1fr)}.landing .quotes,.landing .pricing{grid-template-columns:1fr}.landing .strip .wrap{flex-direction:column;align-items:flex-start;gap:12px}}.landing .demo-grocery{background:var(--paper-2);border:1px solid var(--line);text-align:left;border-radius:18px;padding:18px}.landing .demo-grocery-head{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.landing .demo-grocery-title{color:var(--ink);font-family:Fraunces,serif;font-size:1.1rem;font-weight:600}.landing .demo-grocery-count{color:var(--ink-soft);font-size:.78rem}.landing .demo-grocery-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.landing .demo-grocery-item{background:var(--white);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:10px 12px;display:flex}.landing .demo-grocery-item.dragging{border-color:var(--sage);box-shadow:0 12px 28px -14px #22322a80}.landing .demo-grocery-item.checked .demo-grocery-text{color:var(--ink-soft);text-decoration:line-through}.landing .demo-grocery-item .grip{width:16px;height:16px;color:var(--ink-soft);flex:none}.landing .demo-grocery-grip{cursor:grab;touch-action:none;flex:none;align-items:center;margin:-4px 0 -4px -4px;padding:4px;display:inline-flex}.landing .demo-grocery-grip:active{cursor:grabbing}.landing .demo-grocery-check{border:1.6px solid var(--sage-deep);cursor:pointer;color:#fff;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.landing .demo-grocery-check[aria-pressed=true]{background:var(--sage);border-color:var(--sage)}.landing .demo-grocery-icon{flex:none;font-size:1.1rem}.landing .demo-grocery-text{color:var(--ink);flex:auto;min-width:0;font-size:.95rem}.landing .demo-grocery-cat{color:var(--sage-deep);background:color-mix(in srgb, var(--sage) 16%, transparent);border-radius:999px;flex:none;padding:2px 8px;font-size:.68rem;font-weight:600}.landing .demo-grocery-remove{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:4px;display:inline-flex}.landing .demo-grocery-remove:hover{color:#c9614b}.landing .demo-grocery-empty{text-align:center;color:var(--ink-soft);padding:18px;font-size:.9rem}.landing .demo-grocery-clear{border:1px solid var(--line);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;margin-top:10px;padding:6px 14px;font-size:.82rem}.landing .demo-grocery-clear:hover{color:var(--ink);border-color:var(--ink-soft)}.landing .demo-grocery-add{background:var(--white);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px;display:flex}.landing .demo-grocery-add input{min-width:0;color:var(--ink);background:0 0;border:none;outline:none;flex:140px;padding:6px 4px;font-size:.95rem}.landing .demo-grocery-add select{border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:10px;padding:6px 8px;font-size:.82rem}.landing .demo-grocery-icon-btn{border:1px solid var(--line);background:var(--paper-2);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:inline-flex}.landing .demo-grocery-icon-btn.has-icon{background:color-mix(in srgb, var(--sage) 18%, transparent);border-color:var(--sage)}.landing .demo-grocery-add-btn{background:var(--sage-deep);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.landing .demo-grocery-add-btn:hover{background:var(--sage)}.landing .demo-grocery-picker{background:var(--white);border:1px solid var(--line);border-radius:14px;margin-top:10px;padding:12px}.landing .demo-grocery-picker-head{color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:.78rem;font-weight:600;display:flex}.landing .demo-grocery-picker-head button{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;display:inline-flex}.landing .demo-grocery-picker-grid{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:200px;display:grid;overflow-y:auto}.landing .demo-grocery-quick{background:var(--paper-2);cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;display:flex}.landing .demo-grocery-quick:hover{border-color:var(--sage);background:color-mix(in srgb, var(--sage) 12%, transparent)}.landing .demo-grocery-quick span{font-size:1.3rem}.landing .demo-grocery-quick small{color:var(--ink-soft);font-size:.62rem}.landing .dev-note-section{background:var(--white)}.landing .dev-note-card{background:#fbf7f0;border:1px solid #ece3d6;border-radius:20px;max-width:680px;margin:0 auto;padding:40px 28px 36px;position:relative;overflow:hidden;box-shadow:0 6px 24px #2d29260d}.landing .dev-blob{pointer-events:none;z-index:0;filter:blur(1px);position:absolute}.landing .dev-blob-peach{background:radial-gradient(circle at 40% 40%,#cc8d7547,#cc8d7500 70%);border-radius:50%;width:180px;height:180px;top:-40px;right:-50px}.landing .dev-blob-sage{background:radial-gradient(circle at 60% 60%,#5f71543d,#5f715400 70%);border-radius:50%;width:170px;height:170px;bottom:-50px;left:-45px}.landing .dev-note-rule{z-index:1;background:#cc8d75;border-radius:999px;width:64px;height:4px;margin:0 auto 22px;position:relative}.landing .dev-note-img{z-index:1;border-radius:12px;width:100%;max-width:620px;height:auto;margin:0 auto;display:block;position:relative}.landing .dev-note-cta{z-index:1;color:#fff;text-align:center;background:#cc8d75;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;max-width:340px;margin:26px auto 0;padding:16px 22px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;position:relative;box-shadow:0 4px 14px #cc8d7552}.landing .dev-note-cta:hover{transform:translateY(-2px);box-shadow:0 8px 22px #cc8d7561}.landing .dev-note-cta:active{transform:translateY(0)}.landing .dev-note-cta-main{font-size:1.15rem;font-weight:700;line-height:1.2}.landing .dev-note-cta-sub{opacity:.92;font-size:.82rem;font-weight:500}@media (width<=640px){.landing .dev-note-card{padding:28px 18px 26px}.landing .dev-note-cta{max-width:100%}}
