.hero{position:relative;padding:30px 28px 70px;overflow:hidden;background:var(--cream)}.hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:24px;align-items:center;position:relative;z-index:2;min-width:0}.hero-inner>*{min-width:0}.hero-copy{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:600px;margin:0 auto}.hero-copy .ribbon{align-self:center}.hero-copy h1{text-align:center}.hero-copy .hero-jp{text-align:center;width:100%}.hero-copy .hero-sub{text-align:center;margin-left:auto;margin-right:auto}.hero-copy .hero-ctas{justify-content:center;display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.hero-copy .hero-ctas .store-btn{width:100%;justify-content:center;padding:12px 14px;gap:8px;white-space:nowrap}.hero-copy .hero-ctas .store-btn .big{font-size:16px}.hero-copy .hero-ctas .store-btn small{font-size:9px}.hero-copy .hero-ctas .store-btn .coming{display:inline-flex}.hero h1{font-family:var(--font-display);font-weight:400;line-height:.9;letter-spacing:-.015em;margin:0 0 18px;color:var(--ink);display:grid;grid-template-columns:auto;justify-items:center;row-gap:0}.hero h1 span,.hero h1 em{display:block;font-style:normal;line-height:.88}.hero h1 .w-remix{font-size:clamp(56px,8vw,128px);color:#f2c040;-webkit-text-stroke:3px var(--ink);text-shadow:7px 7px 0 var(--ink);margin-top:-.1em}.hero h1 .w-your{font-size:clamp(30px,4vw,62px);color:#5a3a28;margin:22px 0 6px;text-shadow:3px 3px 0 var(--mustard)}.hero h1 .w-pantry{font-size:clamp(56px,8vw,128px);color:#e54a36;-webkit-text-stroke:3px var(--ink);text-shadow:7px 7px 0 var(--ink)}.hero-jp{margin-bottom:22px}.hero-jp-main{font-family:var(--font-display-jp);font-weight:700;font-size:clamp(18px,2vw,26px);line-height:1.5;color:var(--ink);letter-spacing:.02em}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(43,24,16,.08) 1px,transparent 1.3px);background-size:16px 16px;pointer-events:none}.hero-inner-placeholder-removed{display:none}.ribbon{display:inline-flex;align-items:center;gap:10px;background:var(--tomato);color:var(--cream);border:3px solid var(--ink);padding:8px 18px;border-radius:999px;font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-hard);transform:rotate(-2deg)}.ribbon .star{width:12px;height:12px;background:var(--mustard);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.hero h1 .jp-removed{display:none}.hero-sub{max-width:520px;font-family:var(--font-body-jp);font-weight:700;font-size:16px;line-height:1.65;color:var(--ink-soft);margin:0 0 28px}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.store-btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--cream);padding:14px 22px 14px 18px;border-radius:14px;border:3px solid var(--ink);box-shadow:var(--shadow-hard);font-family:var(--font-body);font-weight:900;letter-spacing:.02em;text-decoration:none;transition:all .1s}.store-btn:hover{transform:translate(-2px,-2px);box-shadow:0 10px 0 var(--ink)}.store-btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--ink)}.store-btn.alt{background:var(--cream);color:var(--ink)}.store-btn.is-disabled,.store-btn.is-disabled:hover,.store-btn.is-disabled:active{cursor:not-allowed;pointer-events:none;transform:none;box-shadow:var(--shadow-hard);opacity:.92}.store-btn small{display:block;font-size:10px;letter-spacing:.14em;opacity:.8;text-transform:uppercase;font-weight:800}.store-btn .big{font-size:18px;line-height:1}.store-btn .icon{width:28px;height:28px;display:grid;place-items:center}.store-btn .coming{align-items:center;background:var(--mustard);color:var(--ink);font-size:10px;padding:3px 8px;border-radius:999px;border:2px solid var(--ink);margin-left:4px;letter-spacing:.1em}.mascot-stage{position:relative;aspect-ratio:1/1;width:100%;max-width:620px;margin:0 -28px 0 auto}.mascot-stage .spotlight{position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(circle at 50% 55%,var(--mustard) 0%,var(--mustard) 30%,var(--cream-dark) 31%,var(--cream-dark) 42%,var(--mustard) 43%,var(--mustard) 54%,var(--cream-dark) 55%,var(--cream-dark) 66%,var(--mustard) 67%,transparent 68%);opacity:.55;animation:spin 40s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.mascot-stage .ring{position:absolute;inset:6%;border-radius:50%;background:var(--tomato);border:5px solid var(--ink);box-shadow:inset 0 0 0 14px var(--cream),inset 0 0 0 18px var(--ink)}.mascot-stage .ring:before{content:"";position:absolute;inset:8%;border-radius:50%;background:repeating-conic-gradient(from 0deg,var(--cream) 0 12deg,var(--tomato) 12deg 24deg);opacity:.35}.mascot-stage .mascot{position:absolute;inset:4% 2% -2%;width:96%;height:100%;object-fit:contain;z-index:3;filter:drop-shadow(0 16px 0 rgba(43,24,16,.28));animation:bob 3.6s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}.sticker{position:absolute;z-index:4;background:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:10px 14px;font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.06em;box-shadow:var(--shadow-hard);text-transform:uppercase;display:inline-flex;align-items:center;gap:8px}.sticker .dot{width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--ink)}.sticker.a{top:-2%;left:-4%;transform:rotate(-8deg);background:var(--mustard)}.sticker.b{top:38%;right:-2%;transform:rotate(6deg);background:var(--cream)}.sticker.c{bottom:2%;left:6%;transform:rotate(-4deg);background:var(--tomato);color:var(--cream)}.sticker.c .dot{background:var(--mustard)}.sparkle{position:absolute;z-index:4;font-family:var(--font-display);color:var(--mustard);-webkit-text-stroke:2px var(--ink);font-size:48px;line-height:1;animation:twinkle 2.2s ease-in-out infinite}.sparkle.s1{top:-2%;left:48%;animation-delay:.2s}.sparkle.s2{bottom:14%;right:4%;font-size:34px;animation-delay:1.1s}.sparkle.s3{top:46%;left:-2%;font-size:28px;animation-delay:.8s}@keyframes twinkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(.5) rotate(180deg);opacity:.3}}.scroll-cue{position:absolute;left:50%;bottom:10px;transform:translate(-50%);font-family:var(--font-body);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:12px;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:6px;animation:bounce 2s ease-in-out infinite}.scroll-cue .arrow{width:14px;height:14px;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}@keyframes bounce{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,6px)}}.big-marquee{background:var(--ink);color:var(--mustard);padding:22px 0;overflow:hidden;border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);font-family:var(--font-display);font-size:54px;line-height:1;letter-spacing:.02em;white-space:nowrap}.big-marquee-track{display:inline-flex;gap:60px;animation:marquee 28s linear infinite}.big-marquee-track span{display:inline-flex;align-items:center;gap:60px}.big-marquee .dot{display:inline-block;width:22px;height:22px;border-radius:50%;background:var(--tomato);border:3px solid var(--cream)}.features{background:var(--paper);padding:110px 28px 120px;position:relative}.features:before{content:"";position:absolute;left:0;right:0;top:-1px;height:28px;background:radial-gradient(circle at 14px 0,var(--ink) 0 14px,transparent 15px) repeat-x;background-size:28px 28px}.section-head{max-width:1180px;margin:0 auto 72px;text-align:center}.eyebrow{display:inline-block;font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.22em;text-transform:uppercase;background:var(--ink);color:var(--mustard);padding:8px 16px;border-radius:999px;transform:rotate(-1.5deg)}.section-head h2{font-family:var(--font-display);font-size:clamp(44px,5vw,78px);line-height:.95;margin:18px 0 10px;text-shadow:4px 4px 0 var(--tomato)}.section-head p{font-family:var(--font-body-jp);font-weight:700;font-size:17px;max-width:620px;margin:0 auto;color:var(--ink-soft)}.feat-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.feat{position:relative;background:var(--cream);border:4px solid var(--ink);border-radius:28px;padding:34px 28px 28px;box-shadow:var(--shadow-xl);transform:rotate(-1deg);transition:transform .2s}.feat:nth-child(2){transform:rotate(.8deg);background:var(--green);color:var(--ink)}.feat:nth-child(3){transform:rotate(-.6deg);background:var(--mustard)}.feat:hover{transform:translateY(-6px) rotate(0)}.feat .ico{width:86px;height:86px;border-radius:22px;border:4px solid var(--ink);background:var(--cream);color:var(--ink);display:grid;place-items:center;box-shadow:6px 6px 0 var(--ink);margin-bottom:22px}.feat:nth-child(1) .ico{background:var(--tomato);color:var(--cream)}.feat:nth-child(2) .ico{background:var(--cream);color:var(--ink)}.feat:nth-child(3) .ico{background:var(--tomato);color:var(--cream)}.feat h3{font-family:var(--font-display);font-size:32px;line-height:1;margin:0 0 6px}.feat .jp-h{font-family:var(--font-display-jp);font-weight:700;font-size:20px;margin:0 0 16px}.feat p{font-family:var(--font-body-jp);font-weight:600;font-size:15px;line-height:1.7;margin:0}.feat .chip{position:absolute;top:-14px;right:18px;font-family:var(--font-body);font-weight:900;font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:var(--cream);padding:5px 10px;border:3px solid var(--ink);border-radius:999px}.how{background:var(--cream);padding:120px 28px;position:relative;overflow:hidden}.how:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0 120px,rgba(43,24,16,.05) 120px 121px);pointer-events:none}.how-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative}.step{background:var(--paper);border:4px solid var(--ink);border-radius:22px;padding:28px 22px 26px;box-shadow:var(--shadow-hard);position:relative}.step .num{position:absolute;top:-22px;left:-10px;width:54px;height:54px;border-radius:50%;background:var(--tomato);color:var(--cream);border:4px solid var(--ink);display:grid;place-items:center;font-family:var(--font-display);font-size:26px;box-shadow:4px 4px 0 var(--ink)}.step:nth-child(2) .num{background:var(--mustard);color:var(--ink)}.step:nth-child(3) .num{background:var(--green);color:var(--cream)}.step:nth-child(4) .num{background:var(--ink);color:var(--mustard)}.step h4{font-family:var(--font-display-jp);font-weight:700;font-size:20px;margin:8px 0}.step p{font-family:var(--font-body-jp);font-weight:600;font-size:14px;line-height:1.6;margin:0;color:var(--ink-soft)}.step .thumb{width:100%;aspect-ratio:4/3;background:var(--cream);border:3px solid var(--ink);border-radius:14px;margin:6px 0 16px;position:relative;overflow:hidden;background-repeat:no-repeat;background-size:100% auto}.step .thumb-shop{background-image:url(/screenshots/shopping-list-overview.webp);background-position:center 16%}.step .thumb-buy{background-image:url(/screenshots/shopping-list-add-modal.webp);background-position:center 52%}.step .thumb-stock{background-image:url(/screenshots/stock-list-overview.webp);background-position:center 20%}.step .thumb-cook{background-image:url(/screenshots/recipe-detail-add-missing.webp);background-position:center 22%}.section-cta{max-width:1180px;margin:72px auto 0;display:flex;justify-content:center;position:relative;z-index:1}.section-cta-btn{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:var(--cream);border:4px solid var(--ink);border-radius:999px;padding:14px 26px 14px 22px;box-shadow:var(--shadow-hard);text-decoration:none;transition:transform .12s ease,box-shadow .12s}.section-cta-btn:hover{transform:translate(-3px,-3px);box-shadow:0 10px 0 var(--ink)}.section-cta-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--ink)}.section-cta-btn .sc-en{font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.18em;text-transform:uppercase;background:var(--mustard);color:var(--ink);border:2.5px solid var(--ink);border-radius:999px;padding:4px 12px}.section-cta-btn .sc-jp{font-family:var(--font-display-jp);font-weight:700;font-size:18px;letter-spacing:.02em}.section-cta-btn .sc-arrow{font-family:var(--font-display);font-size:22px;line-height:1;transition:transform .15s ease}.section-cta-btn:hover .sc-arrow{transform:translate(4px)}.section-cta-btn.alt{background:var(--cream);color:var(--ink)}.section-cta-btn.alt .sc-en{background:var(--tomato);color:var(--cream);border-color:var(--ink)}.section-cta.faq-cta{margin-top:-40px;margin-bottom:40px}@media(max-width:560px){.section-cta{margin-top:56px}.section-cta.faq-cta{margin-top:-28px;margin-bottom:32px}.section-cta-btn{padding:12px 20px 12px 16px;gap:10px;flex-wrap:wrap;justify-content:center}.section-cta-btn .sc-jp{font-size:16px}.section-cta-btn .sc-en{font-size:11px;padding:3px 10px}}.gallery{background:var(--tomato);padding:130px 28px 140px;position:relative;color:var(--cream);overflow:hidden}.gallery:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(43,24,16,.18) 1.2px,transparent 1.5px);background-size:16px 16px;pointer-events:none}.gallery .section-head h2{color:var(--cream);text-shadow:4px 4px 0 var(--ink)}.gallery .section-head p{color:var(--cream);opacity:.95}.gallery .eyebrow{background:var(--mustard);color:var(--ink)}.phone-row{max-width:1280px;margin:0 auto;display:flex;gap:26px;justify-content:center;align-items:flex-end;flex-wrap:wrap}.phone{width:260px;background:var(--ink);border-radius:44px;padding:10px;box-shadow:0 16px #00000040,var(--shadow-xl);border:4px solid var(--ink);position:relative;transform:rotate(-3deg)}.phone:nth-child(2){transform:rotate(2deg) translateY(-20px);width:300px}.phone:nth-child(3){transform:rotate(-1deg)}.phone .notch{position:absolute;top:16px;left:50%;transform:translate(-50%);width:84px;height:24px;border-radius:99px;background:var(--ink);z-index:3}.phone .scr{width:100%;aspect-ratio:1080 / 2341;border-radius:34px;overflow:hidden;border:2px solid #000;background:var(--paper)}.phone .scr img{width:100%;height:100%;object-fit:cover;display:block}.phone .caption{position:absolute;left:50%;bottom:-52px;transform:translate(-50%) rotate(-2deg);background:var(--cream);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:8px 16px;font-family:var(--font-body);font-weight:900;font-size:13px;letter-spacing:.05em;white-space:nowrap;box-shadow:var(--shadow-hard);text-transform:uppercase}.phone:nth-child(2) .caption{background:var(--mustard);transform:translate(-50%) rotate(2deg)}.phone:nth-child(3) .caption{background:var(--green);color:var(--cream)}.plans{background:var(--paper);padding:120px 28px;position:relative}.plan-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.plan{background:var(--cream);border:4px solid var(--ink);border-radius:24px;padding:32px 26px;position:relative;box-shadow:var(--shadow-xl)}.plan.pro{background:var(--ink);color:var(--cream);transform:translateY(-14px)}.plan.pro .price{color:var(--mustard)}.plan.fam{background:var(--green);color:var(--cream)}.plan .tier{font-family:var(--font-display);font-size:40px;line-height:1;margin-bottom:8px}.plan .blurb{font-family:var(--font-body-jp);font-weight:700;font-size:14px;opacity:.85;margin:0 0 22px}.plan .price{font-family:var(--font-display);font-size:52px;line-height:1;color:var(--tomato)}.plan .price small{display:inline-block;font-family:var(--font-body);font-weight:900;font-size:14px;margin-left:4px;color:inherit;opacity:.7}.plan ul{list-style:none;padding:0;margin:22px 0 26px;display:flex;flex-direction:column;gap:10px;font-family:var(--font-body-jp);font-weight:700;font-size:14px}.plan li{display:flex;gap:10px;align-items:flex-start}.plan li:before{content:"";width:18px;height:18px;border-radius:50%;flex-shrink:0;background:var(--green);border:2.5px solid var(--ink);margin-top:1px;position:relative}.plan.pro li:before{background:var(--mustard)}.plan.fam li:before{background:var(--cream)}.plan .ribbon-tag{position:absolute;top:-18px;right:22px;background:var(--tomato);color:var(--cream);padding:6px 14px;border-radius:8px;font-family:var(--font-body);font-weight:900;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transform:rotate(4deg)}.plan .plan-btn{display:block;width:100%;text-align:center;background:var(--ink);color:var(--cream);border:3px solid var(--ink);border-radius:14px;padding:14px;font-family:var(--font-body);font-weight:900;font-size:14px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:4px 4px 0 var(--ink);transition:all .1s}.plan.pro .plan-btn{background:var(--mustard);color:var(--ink)}.plan.fam .plan-btn{background:var(--cream);color:var(--ink)}.plan .plan-btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.plan .plan-btn.is-disabled,.plan .plan-btn.is-disabled:hover{cursor:not-allowed;transform:none;box-shadow:4px 4px 0 var(--ink);opacity:.88}.faq{background:var(--cream);padding:120px 28px 140px}.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:14px}.faq-item{background:var(--paper);border:4px solid var(--ink);border-radius:18px;box-shadow:var(--shadow-hard);overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;padding:22px 26px;font-family:var(--font-display-jp);font-weight:700;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-family:var(--font-display);font-size:28px;line-height:1;width:36px;height:36px;display:grid;place-items:center;background:var(--mustard);border:3px solid var(--ink);border-radius:50%;flex-shrink:0;transition:transform .2s}.faq-item[open] summary:after{content:"–";transform:rotate(180deg);background:var(--green);color:var(--cream)}.faq-item .a{padding:0 26px 24px;font-family:var(--font-body-jp);font-weight:600;font-size:15px;line-height:1.75;color:var(--ink-soft)}.cta{background:var(--green);padding:120px 28px;position:relative;overflow:hidden;color:var(--cream);text-align:center}.cta:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 14px,transparent 14px 28px);pointer-events:none}.cta h2{font-family:var(--font-display);font-size:clamp(50px,6vw,96px);line-height:.95;margin:0 0 18px;text-shadow:5px 5px 0 var(--ink);position:relative;z-index:1}.cta p{font-family:var(--font-body-jp);font-weight:700;font-size:18px;max-width:560px;margin:0 auto 36px;position:relative;z-index:1}.cta .hero-ctas{justify-content:center;position:relative;z-index:1}.mascot .eye-cover{position:absolute;background:var(--green)}@media(max-width:860px){.hero-inner{grid-template-columns:1fr}.mascot-stage{order:-1;margin:0 auto;max-width:360px}.hero-copy{max-width:560px}.hero h1 .w-remix,.hero h1 .w-pantry{font-size:clamp(52px,12vw,92px)}.hero h1 .w-remix{margin-top:0}.hero h1 .w-your{font-size:clamp(28px,6vw,48px)}.feat-grid{grid-template-columns:1fr;gap:40px}.plan-grid{grid-template-columns:1fr;gap:54px}.how-grid{grid-template-columns:1fr 1fr;gap:72px 24px}.phone-row{gap:28px 16px}.phone{width:220px;margin-bottom:60px}.phone:nth-child(2){width:240px;transform:rotate(2deg) translateY(-10px);margin-bottom:70px}.plan.pro{transform:none}.gallery{padding:110px 28px 80px}}@media(max-width:560px){.how-grid{grid-template-columns:1fr;gap:64px}.hero h1{row-gap:2px}.hero h1 .w-remix,.hero h1 .w-pantry{text-shadow:4px 4px 0 var(--ink)}.phone:nth-child(2){transform:rotate(0);width:260px;margin-bottom:60px}.phone{transform:rotate(0);margin-bottom:60px}.phone .caption{bottom:-36px}.mascot-stage{max-width:300px}.hero-copy .hero-ctas{grid-template-columns:1fr}.features,.plans,.faq{padding:80px 22px}.section-head{margin-bottom:48px}}
