.tasting-journey { --stage-paper:#e7cfa5; --stage-ink:#203b2e; position:relative; background:var(--stage-paper); color:var(--stage-ink); scroll-margin-top:0; }
.tasting-stage { position:relative; height:100svh; min-height:720px; overflow:hidden; isolation:isolate; background:var(--stage-paper); }
.tasting-journey.is-interactive { height:260svh; }
.tasting-journey.is-interactive .tasting-stage { position:sticky; top:0; }
.tasting-top { position:absolute; top:114px; left:5vw; right:5vw; z-index:4; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tasting-top h2 { font:400 clamp(32px,3vw,48px)/1.1 Young,Georgia,serif; letter-spacing:-.04em; }
.tasting-full-link { display:flex; align-items:center; gap:24px; border-bottom:1px solid currentColor; padding:12px 0; font-size:17px; }
.tasting-word { position:absolute; top:20%; width:100%; padding:0 2vw; text-align:center; font:400 clamp(90px,13vw,220px)/1 Young,Georgia,serif; letter-spacing:-.06em; white-space:nowrap; opacity:.75; z-index:0; pointer-events:none; }
.tasting-canvas { position:absolute; inset:0; z-index:2; touch-action:pan-y; cursor:grab; }
.tasting-canvas:active { cursor:grabbing; }
.tasting-canvas canvas { display:block; width:100%; height:100%; }
.tasting-fallback { position:absolute; top:27%; left:22%; width:56%; height:48%; z-index:1; }
.tasting-fallback img { width:100%; height:100%; object-fit:contain; }
.tasting-journey[data-renderer=three] .tasting-fallback { visibility:hidden; }
.tasting-bottom { position:absolute; left:5vw; right:5vw; bottom:118px; z-index:4; display:flex; align-items:end; justify-content:space-between; gap:30px; pointer-events:none; }
.tasting-category { font-size:16px; margin:0 0 9px; }
.tasting-dish h3 { font:400 clamp(32px,3.4vw,54px)/1.1 Young,Georgia,serif; letter-spacing:-.035em; max-width:700px; }
.tasting-price { margin-top:10px; font-size:21px; }
.tasting-actions { display:flex; gap:12px; pointer-events:auto; }
.tasting-actions button { display:inline-flex; align-items:center; justify-content:center; padding:17px 22px; min-height:56px; font-size:17px; border:1px solid currentColor; white-space:nowrap; background:#f3eddf; color:#203b2e; transition:background .2s,transform .2s; }
.tasting-actions .tasting-save { background:#203b2e; color:#f3eddf; border-color:#203b2e; }
.tasting-actions .tasting-save[aria-pressed=true] { background:#caa66c; color:#203b2e; }
.tasting-actions button:hover { transform:translateY(-3px); }
.tasting-navigation { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:18px; z-index:5; }
.tasting-navigation>button { width:48px; height:48px; border:1px solid currentColor; border-radius:50%; font-size:24px; background:#f3eddf66; }
.tasting-picks { display:flex; gap:12px; }
.tasting-pick { padding:4px; width:66px; height:66px; border:1px solid transparent; border-radius:50%; background:transparent; transition:background .3s,transform .3s; }
.tasting-pick img { width:100%; height:100%; object-fit:contain; pointer-events:none; }
.tasting-pick[aria-pressed=true] { border-color:currentColor; background:#f3eddf70; transform:translateY(-6px); }
.tasting-instruction { position:absolute; bottom:48px; left:5vw; font-size:16px; z-index:4; pointer-events:none; }
.tasting-stage :focus-visible { outline:3px solid #9c5734; outline-offset:5px; }
.full-menu-disclosure>summary { display:flex; align-items:center; gap:35px; cursor:pointer; list-style:none; padding:15px 0 35px; }
.full-menu-disclosure>summary::-webkit-details-marker { display:none; }
.full-menu-disclosure>summary h2 { font:400 clamp(46px,5.5vw,88px)/1.1 Young,Georgia,serif; letter-spacing:-.045em; }
.full-menu-count { margin-left:auto; font-size:18px; }
.full-menu-plus { font-size:55px; transition:transform .35s; }
.full-menu-disclosure[open] .full-menu-plus { transform:rotate(45deg); }
.full-menu-disclosure[open]>summary { margin-bottom:35px; }
.menu-section { padding-top:55px; padding-bottom:55px; }
#full-menu { scroll-margin-top:90px; }
.motion-paused .tasting-actions button,.motion-paused .tasting-pick { transition:none; }
@media(max-width:1050px) {
 .tasting-dish h3 { font-size:36px; max-width:480px; }
 .tasting-actions { flex-direction:column; gap:8px; }
 .tasting-actions button { min-height:48px; padding:12px 18px; font-size:16px; }
 .tasting-instruction { bottom:110px; left:auto; right:5vw; }
}
@media(max-width:760px) {
 .tasting-stage { min-height:740px; }
 .tasting-journey.is-interactive { height:220svh; }
 .tasting-top { top:96px; left:6vw; right:6vw; align-items:start; }
 .tasting-top h2 { font-size:29px; max-width:140px; }
 .tasting-full-link { font-size:14px; gap:10px; max-width:150px; padding:6px 0 10px; }
 .tasting-word { top:22%; font-size:15vw; line-height:1.05; white-space:normal; padding:0 4vw; }
 .tasting-fallback { top:29%; left:7%; width:86%; height:32%; }
 .tasting-bottom { bottom:135px; left:6vw; right:6vw; display:block; }
 .tasting-category { font-size:14px; margin-bottom:6px; }
 .tasting-dish h3 { font-size:30px; max-width:none; }
 .tasting-price { font-size:18px; margin-top:7px; }
 .tasting-actions { margin-top:16px; flex-direction:row; gap:10px; }
 .tasting-actions button { padding:12px 15px; font-size:15px; min-height:48px; }
 .tasting-navigation { bottom:28px; gap:8px; width:88%; justify-content:space-between; }
 .tasting-navigation>button { flex:0 0 38px; width:38px; height:38px; font-size:20px; }
 .tasting-picks { gap:3px; flex:1; justify-content:center; }
 .tasting-pick { width:45px; height:45px; padding:2px; }
 .tasting-instruction { bottom:90px; left:6vw; right:auto; font-size:14px; }
 .full-menu-disclosure>summary { gap:15px; flex-wrap:wrap; }
 .full-menu-disclosure>summary h2 { font-size:40px; }
 .full-menu-count { order:3; flex-basis:100%; font-size:16px; }
 .full-menu-plus { margin-left:auto; font-size:40px; }
}
@media(max-width:350px) {
 .tasting-dish h3 { font-size:26px; }
 .tasting-pick { width:37px; height:37px; }
 .tasting-actions button { font-size:14px; padding:12px; }
 .tasting-top h2 { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) { .tasting-actions button,.tasting-pick,.full-menu-plus { transition:none; } }
@media (max-height:740px) {
 .tasting-stage { min-height:600px; }
 .tasting-top { top:100px; }
 .tasting-top h2 { font-size:28px; }
 .tasting-bottom { bottom:100px; }
 .tasting-dish h3 { font-size:34px; }
 .tasting-navigation { bottom:18px; }
 .tasting-pick { width:54px; height:54px; }
}
@media (max-height:740px) and (max-width:760px) {
 .tasting-stage { min-height:640px; }
 .tasting-top { top:92px; }
 .tasting-bottom { bottom:125px; }
 .tasting-dish h3 { font-size:26px; }
 .tasting-pick { width:40px; height:40px; }
 .tasting-instruction { bottom:82px; }
}

.tasting-journey:not([data-renderer=three]) .tasting-canvas { pointer-events:none; }
@media(max-width:760px) {
 .tasting-navigation>button { flex-basis:44px; width:44px; height:44px; }
 .tasting-picks { min-width:0; overflow-x:auto; scrollbar-width:none; justify-content:flex-start; padding:7px 0; }
 .tasting-picks::-webkit-scrollbar { display:none; }
 .tasting-pick { flex:0 0 44px; width:44px; height:44px; }
}

/* More real dishes, with a bounded strip that keeps next/previous visible. */
.tasting-navigation{max-width:70vw}
.tasting-navigation>button{flex-shrink:0}
.tasting-picks{min-width:0;overflow-x:auto;scrollbar-width:none;padding:8px 2px}
.tasting-picks::-webkit-scrollbar{display:none}
.tasting-pick{flex-shrink:0}
@media(max-width:760px){.tasting-navigation{max-width:88vw}}
