@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream:#fbf4e6;--paper:#fffdf8;--peach:#f6d9b8;--peach-deep:#f6c99b;--forest:#17352a;--moss:#2f5d3a;--ink:#1d2a24;--muted:#5e6b63;--line:#e7dcc6;--hibiscus:#d93c20;--hibiscus-deep:#b82e16;--mango:#f7b32b;--error:#a82a12;--mark-face:#17352a;--radius:18px;--display:"Bricolage Grotesque Variable", "Trebuchet MS", sans-serif;--body:"Figtree Variable", system-ui, -apple-system, sans-serif;--gutter:clamp(16px, 4vw, 40px);--safe-bottom:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--cream);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.45;overflow-x:hidden}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;line-height:1.04}p{margin:0}img{max-width:100%;display:block}a{color:inherit}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--mango);outline-offset:2px;border-radius:6px}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.demo-banner{background:var(--mango);color:#2b1d00;padding:7px var(--gutter);padding-top:calc(7px + env(safe-area-inset-top,0px));text-align:center;font-size:.85rem}.site-header{padding:12px var(--gutter);justify-content:space-between;align-items:center;gap:12px;max-width:1280px;margin:0 auto;display:flex}.brand{color:var(--forest);font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:9px;font-size:1.32rem;font-weight:800;text-decoration:none;display:inline-flex}.mark{color:var(--paper);filter:drop-shadow(0 0 .5px var(--forest)) drop-shadow(0 0 .5px var(--forest))}.header-right{align-items:center;gap:14px;display:flex}.header-link{white-space:nowrap;text-underline-offset:3px;font-size:.9rem;font-weight:600}.status-pill{white-space:nowrap;align-items:center;gap:7px;font-size:.8rem;font-weight:600;display:inline-flex}.status-pill i{background:#a9a9a0;border-radius:50%;width:9px;height:9px}.status-pill.open i{background:#2f9e57;box-shadow:0 0 0 3px #2f9e5733}.status-pill.closed i{background:var(--hibiscus)}@media (width<=480px){.status-pill.open,.status-pill.unknown{gap:0;font-size:0}}.hero{max-width:calc(1280px - 2 * var(--gutter));width:calc(100% - 2 * var(--gutter));background:var(--forest);color:var(--cream);border-radius:26px;grid-template-columns:1.15fr 1fr;align-items:center;gap:24px;margin:0 auto;padding:clamp(24px,5vw,56px);display:grid;position:relative;overflow:hidden}.eyebrow{color:var(--peach-deep);margin-bottom:12px;font-size:.85rem;font-weight:600}.hero h1{font-size:clamp(2.5rem,5.6vw,4.6rem);font-weight:800}.hero h1 em{color:var(--mango);text-wrap:balance;font-style:normal;display:block}.steps{flex-wrap:wrap;gap:8px 22px;margin:24px 0 0;padding:0;font-size:.95rem;font-weight:600;list-style:none;display:flex}.steps li{align-items:center;gap:8px;display:inline-flex}.steps b{background:var(--cream);width:24px;height:24px;color:var(--forest);border-radius:50%;place-items:center;font-size:.8rem;display:inline-grid}.hero-photos{height:clamp(240px,26vw,340px);position:relative}.hero-photos img{aspect-ratio:1;object-fit:cover;border-radius:20px;width:58%;height:auto;position:absolute;box-shadow:0 16px 34px #00000052}.hero-photos img:first-child{z-index:1;top:14%;left:0;transform:rotate(-6deg)}.hero-photos img:nth-child(2){top:0;right:0;transform:rotate(5deg)}.hero-photos img:nth-child(3){z-index:2;width:50%;bottom:-14%;left:26%;transform:rotate(2deg)}@media (width<=760px){.hero{grid-template-columns:1fr;gap:18px;padding-bottom:0}.hero-photos{width:min(100%,340px);height:170px;margin:0 auto -8px}.hero-photos img{width:46%}.hero-photos img:first-child{top:10%}.hero-photos img:nth-child(3){width:42%;top:26%;bottom:auto;left:28%}}main{padding-bottom:calc(96px + var(--safe-bottom))}.shop-layout{max-width:1280px;padding:0 var(--gutter);grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:36px;margin:0 auto;display:grid}.cart-side{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);max-height:calc(100vh - 32px);margin-top:28px;padding:20px;position:sticky;top:16px;overflow-y:auto}@media (width<=980px){.shop-layout{grid-template-columns:minmax(0,1fr)}.cart-side{display:none}}.category-nav{z-index:5;padding:14px var(--gutter);margin:10px calc(-1 * var(--gutter)) 0;background:linear-gradient(var(--cream) 82%, transparent);scrollbar-width:none;gap:8px;display:flex;position:sticky;top:0;overflow-x:auto}.category-nav::-webkit-scrollbar{display:none}.category-nav a{border:1.5px solid var(--forest);color:var(--forest);border-radius:999px;flex:none;padding:7px 14px;font-size:.9rem;font-weight:600;text-decoration:none}.category-nav a:hover{background:var(--forest);color:var(--cream)}.menu-section{margin-top:20px;scroll-margin-top:66px}.menu-section h2{color:var(--forest);margin-bottom:14px;font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800}.drink-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:16px;display:grid}@media (width<=480px){.drink-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}.drink{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);text-align:left;cursor:pointer;flex-direction:column;padding:0;transition:transform .16s,box-shadow .16s;display:flex;overflow:hidden}.drink:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 24px #17352a21}.drink:hover:not(:disabled) .drink-add{background:var(--hibiscus-deep)}.drink:disabled{cursor:not-allowed}.drink:disabled img{filter:grayscale(.85);opacity:.6}.drink-photo{aspect-ratio:1;background:var(--peach);display:block;position:relative}.drink-photo img{object-fit:cover;width:100%;height:100%}.drink-flag{background:var(--forest);color:var(--cream);border-radius:999px;padding:3px 10px;font-size:.78rem;font-weight:600;position:absolute;bottom:10px;left:10px}.drink-text{flex-direction:column;flex:1;gap:6px;padding:11px 13px 13px;display:flex}.drink-name{flex:1;font-weight:650;line-height:1.22}.drink-meta{justify-content:space-between;align-items:center;min-height:30px;font-weight:600;display:flex}.drink-add{background:var(--hibiscus);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1.25rem;line-height:1;transition:background .16s;display:grid}.drink-skeleton{aspect-ratio:.8;border-radius:var(--radius);background:var(--line);animation:1.3s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.button{border:1.5px solid var(--forest);min-height:50px;color:var(--forest);cursor:pointer;background:0 0;border-radius:14px;justify-content:center;align-items:center;gap:12px;padding:12px 20px;font-weight:650;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:var(--forest);color:var(--cream)}.button.primary{background:var(--hibiscus);border-color:var(--hibiscus);color:#fff}.button.primary:hover:not(:disabled){background:var(--hibiscus-deep);border-color:var(--hibiscus-deep);color:#fff}.button:disabled{opacity:.55;cursor:not-allowed}.button.wide{width:100%}.button.wide:has(span+span){justify-content:space-between}.link-button{text-underline-offset:2px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}dialog.sheet{color:inherit;background:0 0;border:0;width:min(540px,100%);max-width:100%;max-height:92dvh;padding:0;overflow:hidden}dialog.sheet::backdrop{background:#0e1e1894}.sheet-body{background:var(--paper);overscroll-behavior:contain;border-radius:24px;flex-direction:column;max-height:92dvh;display:flex;position:relative;overflow-y:auto}@media (width<=600px){dialog.sheet{width:100%;margin:auto 0 0}.sheet-body{border-radius:24px 24px 0 0;animation:.22s ease-out rise}}@keyframes rise{0%{opacity:.4;transform:translateY(40px)}}.sheet-close{z-index:2;background:var(--paper);cursor:pointer;border:0;border-radius:50%;flex:none;align-self:flex-end;width:44px;height:44px;margin:12px 12px -56px 0;font-size:1.5rem;line-height:1;position:sticky;top:12px;box-shadow:0 2px 10px #0003}.sheet-photo{background:var(--peach);flex:none;height:220px}.sheet-photo img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.sheet-content{padding:20px 20px 8px}.sheet-content h2{color:var(--forest);margin-bottom:6px;font-size:1.75rem;font-weight:800}.option-group{border:0;margin:20px 0 0;padding:0}.option-group legend{margin-bottom:8px;padding:0;font-weight:700}.option-pills{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1.5px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;min-height:44px;padding:8px 15px;font-size:.95rem;font-weight:550;display:inline-flex;position:relative}.pill:hover{border-color:var(--forest)}.pill.selected{background:var(--forest);border-color:var(--forest);color:var(--cream)}.pill input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.pill:has(input:focus-visible){outline:3px solid var(--mango);outline-offset:2px}.sheet-footer{padding:14px 20px calc(14px + var(--safe-bottom));background:var(--paper);border-top:1px solid var(--line);margin-top:8px;position:sticky;bottom:0}.form-note{color:var(--muted);margin-bottom:8px;font-size:.85rem}.cart-sheet{padding:20px 20px calc(20px + var(--safe-bottom))}.cart-sheet .sheet-close{box-shadow:none;margin:0 8px 0 0;position:absolute;top:8px;right:0}.cart h2,.cart-empty h2{color:var(--forest);font-size:1.5rem;font-weight:800}.cart-empty p{margin-top:8px}.cart-lines{margin:14px 0;padding:0;list-style:none}.cart-lines li{border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;gap:10px;padding:11px 0;display:grid}.cart-lines img{object-fit:cover;border-radius:10px}.cart-lines strong{font-weight:650;line-height:1.2;display:block}.cart-line-end{flex-direction:column;align-items:flex-end;gap:4px;font-weight:600;display:flex}.cart-line-end .link-button{min-height:24px;font-weight:400}.totals{border-top:1px solid var(--line);margin:0 0 14px;padding:12px 0 0}.totals div{color:var(--muted);justify-content:space-between;gap:12px;padding:2px 0;display:flex}.totals dt,.totals dd{margin:0}.totals .grand{color:var(--ink);padding-top:7px;font-size:1.12rem;font-weight:750}.form-error{color:var(--error);margin-bottom:10px;font-size:.9rem;font-weight:550}.cart .button+p{margin-top:9px}.notice{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px;padding:20px;display:flex}.cart-bar{z-index:10;left:12px;right:12px;bottom:calc(12px + var(--safe-bottom));background:var(--forest);min-height:58px;color:var(--cream);cursor:pointer;border:0;border-radius:18px;align-items:center;gap:12px;padding:10px 18px 10px 10px;font-weight:700;display:none;position:fixed;box-shadow:0 10px 28px #0e1e1861}.cart-bar span:nth-child(2){text-align:left;flex:1}.cart-count{background:var(--mango);color:#2b1d00;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}@media (width<=980px){.cart-bar{display:flex}}.ticket-page{min-height:calc(100dvh - 60px);padding:8px var(--gutter) 24px;justify-content:center;align-items:flex-start;display:flex}.ticket{background:var(--paper);border:1px solid var(--line);border-radius:24px;width:min(460px,100%);overflow:hidden;box-shadow:0 16px 40px #17352a1f}.ticket-loading{text-align:center;color:var(--muted);padding:48px 24px}.ticket-head{text-align:center;padding:26px 24px 4px}.ticket-head h1{color:var(--forest);margin-bottom:8px;font-size:2.3rem;font-weight:800}.status-completed .ticket-head h1{color:var(--hibiscus)}.status-failed .ticket-head h1{color:var(--error)}.qr-wrap{padding:16px 24px 4px}.qr{aspect-ratio:1;border:1px solid var(--line);background:#fff;border-radius:16px;width:min(280px,100%);margin:0 auto 10px;padding:10px}.qr svg{width:100%;height:100%;display:block}.status-making .qr-wrap{opacity:.4}.spinner{border:4px solid var(--line);border-top-color:var(--hibiscus);border-radius:50%;width:42px;height:42px;margin:24px auto 10px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ticket-actions{gap:8px;padding:16px 24px 0;display:grid}.progress{grid-template-columns:repeat(3,1fr);margin:0;padding:14px 18px 0;list-style:none;display:grid}.progress li{color:var(--muted);justify-items:center;gap:6px;font-size:.82rem;font-weight:600;display:grid;position:relative}.progress li:before{content:"";background:var(--line);width:100%;height:3px;position:absolute;top:7px;left:-50%}.progress li:first-child:before{display:none}.progress li.done:before,.progress li.current:before{background:var(--moss)}.progress i{z-index:1;background:var(--line);border-radius:50%;width:17px;height:17px;position:relative}.progress .done i{background:var(--moss)}.progress .current{color:var(--forest)}.progress .current i{background:var(--hibiscus);box-shadow:0 0 0 4px #d93c202e}.perforation{height:28px;margin-top:12px;position:relative}.perforation:before{content:"";border-top:2px dashed var(--line);position:absolute;top:50%;left:20px;right:20px}.perforation:after{content:"";background:radial-gradient(circle at 0 50%, var(--cream) 12px, transparent 13px), radial-gradient(circle at 100% 50%, var(--cream) 12px, transparent 13px);position:absolute;inset:0}.ticket-foot{padding:0 24px 22px}.ticket-lines{margin:0 0 10px;padding:0;list-style:none}.ticket-lines li{justify-content:space-between;gap:12px;padding:7px 0;font-weight:600;display:flex}.ticket-lines strong{font-weight:650;display:block}.ticket-lines span.muted{font-weight:400}.order-id{text-align:center;overflow-wrap:anywhere;margin-bottom:14px}.status-failed .totals .grand dd,.status-canceled .totals .grand dd{text-decoration:line-through}.plain-page{max-width:640px;padding:16px var(--gutter);margin:0 auto}.plain-page.narrow{max-width:440px}.plain-page h1{color:var(--forest);margin-bottom:12px;font-size:2.3rem;font-weight:800}.plain-page .button{margin-top:20px}.order-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.order-list a{background:var(--paper);border:1px solid var(--line);border-radius:14px;gap:3px;padding:14px 16px;text-decoration:none;display:grid}.order-list a:hover{border-color:var(--forest)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
