/* Menu 6.2 — product fidelity and portion interaction. */
.portion-visual{position:relative;background:var(--paper);overflow:hidden;border-radius:0 0 65px 65px;margin-bottom:25px;aspect-ratio:3/2}.portion-visual img{width:100%;height:100%;object-fit:contain;padding:0}.portion-badge{position:absolute;top:16px;left:16px;background:var(--paper);padding:6px 11px;font-size:.76rem;border-radius:3px}.portion-description{font-size:.88rem;font-weight:700;min-height:1.6em}.portion-note{margin-top:12px}.portion.active{box-shadow:inset 0 0 0 1px var(--ink)}.portion:focus-visible{outline-offset:3px}.portion-selector{gap:12px}.portion span{display:block}.flavor-group-heading{font-size:1.6rem;margin-bottom:15px}.flavor-group-note{margin-bottom:18px}.waso-flavors{margin-top:34px}.food-restored .product-photo img{height:280px;padding:22px 28px;object-fit:contain}.side-card .product-photo img{height:235px;padding:22px}.bowl-card .product-photo img{height:265px;padding:22px}.size-prices{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font);font-size:.95rem}.size-prices span{white-space:nowrap}.size-prices small{font-family:var(--body);font-size:.77rem;margin-right:4px}.side-card .product-heading{display:block}.side-card .product-heading h3{margin-bottom:16px}.mochi-layout{max-width:1050px}.mochi-card{display:grid;grid-template-columns:38% 62%}.mochi-card .product-photo{display:flex;align-items:center;justify-content:center;padding:35px 25px;min-height:340px}.mochi-card .product-photo img{width:240px;max-width:100%;height:auto;transform:none!important}.mochi-card .product-body{padding:40px}.mochi-card .product-heading{display:block}.mochi-card .product-heading h3{font-size:1.65rem;margin-bottom:16px}.mochi-card .product-price{font-size:1.2rem}.mochi-card .flavor-label{margin-top:25px;font-weight:700}.mochi-flavors{padding:0;margin:12px 0 0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}.mochi-flavors li{border:1px solid var(--line);padding:5px 9px;border-radius:3px;font-size:.78rem}.drink-card .product-heading{display:block}.drink-card .product-heading h3{margin-bottom:18px}.drink-card .product-body{padding:30px}.complete-menu .product-heading{display:block}.complete-menu .product-heading h3{margin-bottom:15px}.complete-menu .product-price{display:block;font-size:1.2rem}.complete-menu:nth-child(2){background:var(--cream)}
@media(max-width:900px){.food-restored .product-photo img{height:240px;padding:20px}.bowl-card .product-photo img{height:210px;padding:16px}.mochi-card .product-body{padding:30px}.mochi-card .product-photo{padding:25px}.portion-visual img{padding:0}}
@media(max-width:680px){.food-restored .product-photo img{height:210px;padding:18px 20px}.side-card .product-photo img{height:205px;padding:23px}.bowl-card .product-photo img{height:230px;padding:20px}.portion-visual{border-radius:0 0 45px 45px}.portion-badge{top:12px;left:12px}.portion{font-size:.78rem;padding:13px 10px}.portion strong{font-size:1.05rem}.mochi-card{grid-template-columns:1fr}.mochi-card .product-photo{min-height:0;height:210px;padding:25px}.mochi-card .product-photo img{width:220px}.mochi-card .product-body{padding:26px}.mochi-card .product-heading h3{font-size:1.45rem}.mochi-flavors{gap:7px}.flavor-group-heading{font-size:1.4rem}.drink-card .product-body{padding:26px}}
@media(prefers-reduced-motion:no-preference){.portion-visual img.portion-changed{animation:portion-reveal .23s ease-out}@keyframes portion-reveal{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
