:root{--pine:#163e33;--gold:#c6a465;--paper:#f1e6ce;--ink:#243d31;--muted:#6b6c58;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{background:#151c16}body{margin:0;color:var(--paper);font-family:var(--sans);font-size:14px;overflow-x:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #dfa649;outline-offset:5px}button:disabled{opacity:.45;cursor:default}button{border:0}a{color:inherit}button svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.skip{position:fixed;top:-80px;left:20px;z-index:1000;background:var(--paper);color:var(--pine);padding:15px}.skip:focus{top:10px}.atmosphere{position:fixed;inset:0;overflow:hidden;z-index:-1;background:#222519}.restaurant{position:absolute;inset:-25px;background:url('assets/restaurant.jpg') center 48%/cover;filter:blur(10px) brightness(.31) sepia(.5);transform:scale(1.05)}.warmth{position:absolute;inset:0;background:radial-gradient(ellipse at 78% 12%,#d49b3a42,transparent 38%),linear-gradient(180deg,#0b211bcc 0%,#2c2b1744 42%,#130e08cc 100%)}.table{position:absolute;inset:45% -20% -25%;background:repeating-linear-gradient(2deg,#42271600 0 6px,#100d0955 7px 8px,#b4883b13 9px 10px),repeating-linear-gradient(92deg,#3c291e 0 180px,#21180e 182px 184px,#493322 186px 360px);transform:perspective(800px) rotateX(34deg);box-shadow:0 -30px 100px #b881312b}.table-glow{position:absolute;inset:30% 0 0;background:radial-gradient(ellipse at 52% 80%,#be8d4033,transparent 65%)}.candle{position:absolute;right:8%;top:38%;width:50px;height:67px;border-radius:4px 4px 16px 16px;background:linear-gradient(90deg,#8c5e2422,#ebc16d77,#8c5e2444);box-shadow:0 0 50px #f5ad3a2b;filter:blur(1px)}.candle i{position:absolute;top:-20px;left:23px;width:7px;height:24px;border-radius:60% 40% 50% 50%;background:#ffe7af;box-shadow:0 0 18px 9px #ffa72f88}.topbar{height:96px;padding:25px 4.2%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;border-bottom:1px solid #e9d6a51a}.brand{display:flex;gap:14px;align-items:center;background:none;text-align:left;font-size:13px;font-weight:600;letter-spacing:2.5px}.brand small{display:block;font-size:8px;letter-spacing:2.8px;margin-top:7px;opacity:.65}.brand-wave{font-family:Georgia;font-size:46px;font-weight:400;color:var(--gold);line-height:1}.top-actions{display:flex;gap:30px}.quiet{background:transparent;display:flex;align-items:center;gap:10px;font-size:12px}.quiet b{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid #d9b77577;border-radius:50%;font-size:11px;font-weight:400}.experience{position:relative;height:calc(100svh - 151px);min-height:680px;max-height:1100px;perspective:1800px}.scene-heading{position:absolute;left:9%;top:24%;max-width:300px;transition:opacity .5s,transform .7s}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.8px;line-height:1.7}.scene-heading p{font:44px/1.13 var(--serif);margin-top:24px}.scene-heading em{color:#cbb17d}.cover-scene{position:absolute;left:59%;top:46%;width:340px;height:485px;transform:translate(-50%,-50%) rotate(-5deg);transition:opacity .7s .4s,transform 1.1s;z-index:4;perspective:1800px}.cover{position:relative;display:flex;align-items:center;flex-direction:column;width:100%;height:100%;padding:38px 20px;background:radial-gradient(ellipse at 30% 10%,#346047aa,transparent 65%),repeating-linear-gradient(135deg,#fff2 0 .4px,#0000 .7px 2.8px),#12382e;border-radius:6px 15px 15px 6px;border:1px solid #77916b55;box-shadow:inset 7px 0 3px #061d1b99,inset 12px 0 5px #6a917533,inset -2px 0 2px #ccd2a555,6px 8px 0 #e9d7ac,7px 10px 0 #9a825d,11px 15px 0 #1f3727,15px 35px 50px #000b;transform-origin:left center;transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter .7s}.cover:hover{filter:brightness(1.1);transform:rotateY(-9deg) rotateZ(1deg)}.cover-border{position:absolute;inset:18px;border:1px solid #bea06780;outline:1px solid #bea06733;outline-offset:5px;border-radius:2px 7px 7px 2px;pointer-events:none}.cover-top{font-size:8px;letter-spacing:3px;color:#d5bd86}.cover-logo{width:78px;height:76px;object-fit:contain;margin:27px 0 16px;border-radius:50%;filter:sepia(.3);mix-blend-mode:screen}.cover-title{font:52px/.93 var(--serif);color:#d4bd84;text-shadow:0 2px 1px #071b14,0 -1px 1px #f8e7a85c}.cover-title em{font-size:67px;font-style:normal}.cover-rule{width:42px;height:1px;background:#b79958;margin:25px 0 19px}.cover-subtitle{font-size:8px;letter-spacing:3px;color:#d1b77e}.cover-bottom{font-size:10px;letter-spacing:5px;color:#d1b77e;margin-top:auto}.cover-corner{position:absolute;bottom:27px;right:30px;font-size:21px;color:var(--gold)}.open-caption{position:absolute;bottom:-82px;left:50%;transform:translateX(-50%) rotate(5deg);white-space:nowrap;background:none;font:24px var(--serif)}.open-caption>span{font:16px var(--sans);margin-left:15px;color:var(--gold)}.open-caption small{display:block;font:10px var(--sans);letter-spacing:1px;margin-top:9px;opacity:.6}.book{position:absolute;left:50%;top:52%;width:min(1080px,calc(100% - 240px));height:490px;transform:translate(-50%,-38%);opacity:1;transition:opacity .8s .25s,transform 1.2s cubic-bezier(.16,1,.3,1)}.book-leather{position:absolute;inset:2px -14px -18px;background:#234a37;border:1px solid #af976548;border-radius:8px 18px 18px 8px;transform:perspective(1600px) rotateX(13deg) rotateZ(-1deg);box-shadow:8px 35px 40px #0009,inset 0 -5px 4px #001a16}.page-stack{position:absolute;inset:6px -1px -11px;border-radius:5px 12px 12px 4px;background:repeating-linear-gradient(#dacdad 0px 1px,#a89a7c 2px 3px);transform:perspective(1600px) rotateX(13deg) rotateZ(-1deg)}.paper{position:absolute;inset:0;display:flex;transform:perspective(1600px) rotateX(13deg) rotateZ(-1deg);filter:drop-shadow(0 2px 2px #30241066)}.paper-left,.paper-right{height:100%;width:50%;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.09' filter='url(%23n)'/%3E%3C/svg%3E");border-radius:3px 8px 8px 4px}.paper-left{box-shadow:inset -22px 0 24px -15px #5a452269,inset 5px 0 15px #fffae877}.paper-right{box-shadow:inset 20px 0 20px -15px #38270e66,inset -8px 0 20px #fff6d999}.spine{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#ad997944;box-shadow:0 0 10px 3px #5a45221a}.page-content{position:relative;display:grid;grid-template-columns:1fr 1fr;height:100%;color:var(--ink)}.book-copy{padding:46px 48px 32px 55px;position:relative;display:flex;flex-direction:column}.page-eyebrow{font-size:9px;letter-spacing:2.2px;text-transform:uppercase;display:flex;align-items:center;gap:15px;color:#75613e}.small-rule{height:1px;width:36px;background:#ac9566}.book h1{font:clamp(38px,4.4vw,65px)/.99 var(--serif);font-weight:400;margin:24px 0 20px;letter-spacing:-1.5px;text-wrap:balance}.book-copy>p{font-size:12px;line-height:1.7;color:#5b604e;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;max-width:340px}.text-link{background:none;color:#6a674e;padding:12px 0;text-align:left;font-size:9px;letter-spacing:.6px;align-self:flex-start}.text-link span{margin-left:6px}.book-actions{display:flex;align-items:center;gap:24px;margin-top:auto;padding:14px 0}.book-actions strong{font-size:23px;letter-spacing:-.6px;font-weight:500;white-space:nowrap}.add-button{font-size:10px;padding:12px 15px;background:var(--pine);color:var(--paper);display:flex;align-items:center;gap:16px}.add-button span{font-size:18px;font-weight:400;line-height:1}.page-footer{display:flex;justify-content:space-between;border-top:1px solid #b8aa8b66;padding-top:15px;font-size:7px;letter-spacing:2px;color:#817458}.dish-stage{position:relative;min-width:0}.dish-visual{position:absolute;top:-132px;left:-40px;width:calc(100% + 80px);height:440px;background:transparent;padding:0;transform:translateY(0) rotate(-3deg);transition:transform .6s;z-index:2}.dish-visual:hover{transform:translateY(-9px) rotate(-1deg)}.dish-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 28px 14px #24180c38);transition:opacity .25s}.dish-visual.photo{left:25px;width:calc(100% - 50px);top:-86px;height:335px;transform:rotate(-4deg);padding:11px;background:#f7eedb;box-shadow:6px 20px 25px #33221144;border-radius:48% 48% 47% 47%}.dish-visual.photo img{border-radius:48%;object-fit:cover;filter:none}.dish-visual.portrait{top:-160px;height:440px;left:20%;width:60%;background:none;padding:0;box-shadow:none;border-radius:0}.dish-visual.portrait.photo img{object-fit:contain;border-radius:24px;background:#f2e6d3}.dish-shadow{position:absolute;top:216px;width:70%;height:44px;left:15%;border-radius:50%;background:#3c2b1b4a;filter:blur(19px);transform:rotate(-3deg);transition:transform .6s,opacity .6s}.plate-caption{position:absolute;left:12%;right:12%;top:305px;text-align:center;transform:rotate(-1deg)}.plate-caption>span{font:28px/1.12 var(--serif);display:block}.plate-caption i{display:block;color:#aa8a4f;font:35px Georgia;line-height:1;margin:10px 0 7px}.plate-caption small{font-size:7px;letter-spacing:2.5px;color:#8b7a58}.photo-kind{position:absolute;top:276px;left:0;width:100%;text-align:center;color:#84704d;font-size:8px;letter-spacing:1.2px;text-transform:uppercase}.page-flip{pointer-events:none;position:absolute;z-index:4;left:50%;top:0;width:50%;height:100%;background:linear-gradient(90deg,#d1c2a1,var(--paper) 20%,#f9f0d9 80%,#cdbb92);transform-origin:left;opacity:0;box-shadow:6px 10px 25px #47331c22}.turning .page-flip{animation:turn-page .72s cubic-bezier(.42,0,.22,1)}.turning.reverse .page-flip{animation-direction:reverse}.turning .dish-visual{animation:dish-rise .84s cubic-bezier(.2,.7,.2,1)}.turning .book-copy,.turning .plate-caption,.turning .photo-kind{animation:ink-in .72s}.sparkles{position:absolute;left:55%;top:5%;width:35%;height:55%;pointer-events:none}.sparkles i{position:absolute;width:3px;height:3px;background:#e6c26d;border-radius:50%;opacity:0;box-shadow:0 0 9px #fbd47d}.sparkles i:nth-child(1){left:10%;top:70%}.sparkles i:nth-child(2){left:50%;top:40%}.sparkles i:nth-child(3){left:80%;top:10%}.sparkles i:nth-child(4){left:30%;top:20%}.sparkles i:nth-child(5){left:90%;top:60%}.sparkles i:nth-child(6){left:5%;top:20%}.turning .sparkles i{animation:gold-dust .9s .15s ease-out}.page-navigation{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:32px;transition:opacity .5s}.page-arrow{border:1px solid #c6a46566;width:44px;height:44px;border-radius:50%;background:#18342850;color:#e4cc98;font-size:20px;transition:background .2s,transform .2s}.page-arrow:hover{background:#b69b5d33;transform:translateX(2px)}.page-navigation>div{text-align:center;min-width:160px}.page-navigation>div>span{font-size:8px;letter-spacing:2px;color:#d0b981}.page-navigation p{margin:8px 0 0;font-size:10px;letter-spacing:2px}.nav-hint{opacity:.45;margin-left:16px;font-size:9px;letter-spacing:.2px}.journey-reset{position:absolute;bottom:24px;right:5%;font-size:9px;color:#d8c69c;background:none;display:none}.scene-footer{height:55px;padding:10px 4.2%;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.5px;color:#c5b68e}.scene-footer a{text-decoration:none}.scene-footer button{font:inherit;background:none;letter-spacing:inherit}.closed .book{opacity:0;transform:translate(-50%,-27%) scale(.8);pointer-events:none}.closed .page-navigation{opacity:0;pointer-events:none}.opened .cover-scene{opacity:0;pointer-events:none;transform:translate(-95%,-50%) rotate(-5deg)}.opened .cover{transform:rotateY(-145deg)}.opened .scene-heading{opacity:0;transform:translateX(-30px);pointer-events:none}.opened .open-caption{opacity:0}.closed .journey-reset{display:none!important}@keyframes turn-page{0%{opacity:0;transform:rotateY(0)}10%{opacity:1}85%{opacity:1}100%{opacity:0;transform:rotateY(-175deg)}}@keyframes dish-rise{0%{opacity:1;translate:0 0}28%{opacity:0;translate:0 38px;scale:.85}45%{opacity:0;translate:0 50px;scale:.87}100%{opacity:1;translate:0 0;scale:1}}@keyframes ink-in{0%,20%{opacity:1}40%{opacity:0}100%{opacity:1}}@keyframes gold-dust{0%{opacity:0;transform:translateY(20px) scale(.2)}30%{opacity:.8}100%{opacity:0;transform:translateY(-40px) scale(1.5)}}
dialog{padding:0;border:1px solid #c9b78b;border-radius:6px;background:#f4ecda;color:var(--ink);max-height:90svh;max-width:calc(100vw - 36px);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#081b15b8;backdrop-filter:blur(10px)}dialog h2{font:48px/1.02 var(--serif);font-weight:400;margin:12px 0 22px}dialog h3{font:31px var(--serif);font-weight:400;margin:0}dialog p{line-height:1.7}.close{position:absolute;right:20px;top:18px;width:42px;height:42px;background:#ebe0cae6;color:var(--pine);font-size:28px;border-radius:50%;z-index:6}.dialog-top{padding:35px 38px 12px;position:relative;display:flex;justify-content:space-between}.dialog-top h2{margin:8px 0 10px}#index{width:1120px;height:88svh;overflow:hidden}#index .dialog-top .close{position:static}.search{margin:0 38px 18px;border-bottom:1px solid #b0a489;display:flex;align-items:center;gap:12px}.search>span{font-size:30px}.search input{width:100%;background:transparent;border:0;padding:14px 0;color:var(--ink);outline-offset:0;font-size:13px}.search button{background:none;font-size:23px;padding:8px}.groups{display:flex;gap:8px;padding:0 38px 20px}.groups button{background:none;border:1px solid #ac9e7e66;color:#72755f;padding:10px 23px;border-radius:2px;font-size:11px}.groups button.active{background:var(--pine);border-color:var(--pine);color:var(--paper)}.index-layout{display:grid;grid-template-columns:220px 1fr;height:calc(100% - 241px);border-top:1px solid #bbad8c44}.index-layout nav{padding:20px;overflow:auto;border-right:1px solid #bbad8c44}.index-layout nav button{display:flex;justify-content:space-between;width:100%;gap:8px;background:none;padding:13px 10px;text-align:left;font-size:11px;color:#77725d}.index-layout nav button span{opacity:.55}.index-layout nav button.active{background:#e5dac1;color:var(--pine)}.index-results{padding:24px 30px;overflow:auto}.results-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;gap:15px}.results-heading>span{font-size:10px;color:#7a755e}.catalog-row{display:grid;grid-template-columns:78px 1fr auto;gap:20px;align-items:center;padding:16px 0;border-top:1px solid #c3b59266;width:100%;background:none;text-align:left}.catalog-row img{height:78px;width:78px;object-fit:cover;border-radius:50%}.catalog-copy strong{font:24px/1.1 var(--serif);font-weight:400;display:block}.catalog-copy p{font-size:10px;color:#77745d;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-copy small{font-size:8px;color:#8b7958;display:block;margin-top:5px}.catalog-price{font-size:12px;white-space:nowrap}.catalog-price i{font-style:normal;margin-left:12px;color:#8f805b}.catalog-row:hover .catalog-copy strong{text-decoration:underline;text-underline-offset:4px}.primary{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--pine);color:var(--paper);padding:14px 20px;font-size:12px;text-decoration:none;border:0}.muted,.photo-credit{font-size:11px;color:#7a735b;line-height:1.6}.photo-credit{font-size:9px;margin-top:0}.photo-credit a{text-underline-offset:3px}#detail{width:900px}.detail-image{display:block;width:100%;height:350px;object-fit:cover;background:#e9dfc9}.detail-image.portrait{object-fit:contain}.detail-body{padding:28px 42px 40px}.detail-body>p:not(.photo-credit):not(.muted){font-size:14px;line-height:1.8}.detail-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0}.price{font-size:25px}.variants{white-space:pre-line;font-size:12px;line-height:1.7}details{border-top:1px solid #c3b59266;padding:20px 0}summary{cursor:pointer}.pairings{border-top:1px solid #c3b59266;padding-top:20px}.pairings button{display:flex;justify-content:space-between;gap:15px;width:100%;padding:14px 0;background:transparent;color:var(--pine);text-align:left;border-bottom:1px solid #c3b59255;font-size:12px}.basket-inner,.about-inner{padding:50px 42px 35px}#basket{width:620px}.basket-row{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid #c3b59266}.basket-row strong{font-weight:500;font-size:13px}.basket-row div>span{display:block;font-size:11px;color:#7a735b;margin-top:7px}.quantity{display:flex;align-items:center;gap:12px}.quantity button{width:32px;height:32px;background:#e1d5bc;border-radius:50%;color:var(--pine);font-size:18px}.quantity span{margin:0!important}.basket-inner>p{font-size:12px}#basket-total{font-size:20px;margin:25px 0 18px}.about-inner{max-width:560px}.about-inner img{display:block;width:90px;margin:0 0 25px;mix-blend-mode:multiply}.about-inner>a{display:block;margin:16px 0;font-size:12px}.about-inner .muted{margin-top:25px}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);z-index:100;background:#f4ebd9;color:var(--pine);padding:14px 24px;box-shadow:0 10px 40px #0004;border:1px solid #bca77c;font-size:12px;opacity:0;pointer-events:none;transition:.25s;max-width:90%;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){.book{height:530px;top:53%}.book-copy{padding:55px 60px 40px}.dish-visual{height:480px;top:-145px}.plate-caption{top:335px}.photo-kind{top:304px}.dish-shadow{top:250px}.scene-heading{left:13%}}
@media(max-width:1100px) and (min-width:701px){.book{width:calc(100% - 100px);height:460px}.book-copy{padding:35px 30px}.book h1{font-size:46px}.book-actions{gap:12px}.add-button{padding:11px;font-size:9px}.dish-visual{height:360px;top:-85px;left:-15px;width:calc(100% + 30px)}.plate-caption{top:280px}.photo-kind{top:250px}.scene-heading{left:6%;max-width:240px}.scene-heading p{font-size:37px}.cover-scene{left:65%;width:310px;height:460px}.journey-reset{right:20px;bottom:80px}}
@media(max-width:700px){.topbar{height:76px;padding:16px 20px}.brand{font-size:9px;letter-spacing:1.4px;gap:8px}.brand small{font-size:6px;letter-spacing:1.5px;margin-top:5px}.brand-wave{font-size:31px}.top-actions{gap:17px}.quiet{font-size:10px;gap:6px;padding:0;min-height:40px}.quiet svg{width:17px}.quiet b{min-width:21px;height:21px;font-size:9px}#open-index span{display:none}.experience{height:calc(100svh - 123px);min-height:710px;max-height:none}.scene-heading{top:20px;left:0;width:100%;max-width:none;text-align:center}.scene-heading .eyebrow{font-size:7px;letter-spacing:2px}.scene-heading p{font-size:30px;line-height:1.05;margin:12px 0}.scene-heading p br{display:none}.cover-scene{top:48%;left:50%;width:265px;height:385px;transform:translate(-50%,-40%) rotate(-5deg)}.cover{padding:30px 18px}.cover-border{inset:14px;outline-offset:4px}.cover-top{font-size:6px;letter-spacing:2px}.cover-logo{width:60px;height:60px;margin:23px 0 12px}.cover-title{font-size:40px}.cover-title em{font-size:53px}.cover-rule{margin:20px 0 14px}.cover-subtitle{font-size:6px;letter-spacing:2.7px}.cover-bottom{font-size:8px;letter-spacing:4px}.cover-corner{right:21px;bottom:21px;font-size:18px}.open-caption{bottom:-76px;font-size:24px}.open-caption small{font-size:8px}.book{width:calc(100% - 42px);max-width:430px;height:460px;top:auto;bottom:105px;transform:translateX(-50%)}.closed .book{transform:translate(-50%,40px) scale(.85)}.book-leather{inset:0 -7px -13px;border-radius:5px 12px 12px 5px;transform:perspective(1200px) rotateX(5deg) rotateZ(-1.5deg)}.page-stack{inset:4px 0 -8px;transform:perspective(1200px) rotateX(5deg) rotateZ(-1.5deg)}.paper{transform:perspective(1200px) rotateX(5deg) rotateZ(-1.5deg)}.paper-left{display:none}.paper-right{width:100%;box-shadow:inset 11px 0 20px -15px #38270e66,inset -8px 0 20px #fff6d999}.spine{left:8px;width:1px;opacity:.3}.page-content{display:block}.book-copy{position:absolute;inset:155px 0 0;padding:20px 25px 18px}.page-eyebrow{font-size:7px;letter-spacing:1.7px;gap:10px}.small-rule{width:25px}.book h1{font-size:36px;line-height:1;margin:13px 0 11px;letter-spacing:-.5px;max-width:330px;text-wrap:balance}.book-copy>p{font-size:10px;line-height:1.65;-webkit-line-clamp:3}.text-link{font-size:8px;padding:8px 0}.book-actions{padding:9px 0 12px;gap:18px}.book-actions strong{font-size:22px}.add-button{padding:11px 13px;font-size:9px;gap:15px;margin-left:auto;white-space:nowrap}.page-footer{padding-top:9px;font-size:6px;letter-spacing:1.7px}.dish-stage{position:absolute;top:0;left:0;right:0;height:160px}.dish-visual{top:-145px;height:300px;width:calc(100% + 34px);left:-17px;transform:rotate(-3deg)}.dish-visual.photo{height:250px;top:-120px;left:15px;width:calc(100% - 30px);padding:8px}.dish-visual.portrait{height:300px;top:-160px;width:68%;left:16%;padding:0}.dish-shadow{top:90px;height:28px;width:64%;left:18%;filter:blur(13px)}.plate-caption{display:none}.photo-kind{top:141px;font-size:6px;letter-spacing:1px}.page-navigation{bottom:30px;gap:24px}.page-navigation>div{min-width:150px}.page-navigation>div>span{font-size:6px;letter-spacing:1.5px}.page-navigation p{font-size:9px;margin-top:7px}.nav-hint{font-size:8px;margin-left:12px;letter-spacing:0}.page-arrow{height:42px;width:42px;font-size:19px}.scene-footer{height:47px;padding:8px 20px;font-size:6px;letter-spacing:.8px}.scene-footer>span{max-width:130px;line-height:1.7}.scene-footer>button{display:none}.table{inset:38% -20% -25%}.candle{right:5%;top:29%;width:30px;height:42px;opacity:.55}.candle i{left:14px;width:5px;height:17px;top:-15px}.opened .cover-scene{transform:translate(-70%,-40%) rotate(-5deg)}.journey-reset{bottom:5px;right:0;left:0;text-align:center;font-size:7px}.page-flip{left:8px;width:calc(100% - 8px);transform-origin:left}.sparkles{left:15%;top:-15%;width:70%;height:45%}dialog{max-width:calc(100vw - 20px);max-height:94svh}dialog h2{font-size:36px}#index{height:94svh;width:100%}.dialog-top{padding:25px 20px 10px}.dialog-top .eyebrow{font-size:7px;letter-spacing:2px}.dialog-top h2{font-size:33px}.close{top:12px;right:12px;width:36px;height:36px;font-size:26px}.search{margin:0 20px 14px;gap:8px}.search input{font-size:11px;padding:10px 0}.groups{padding:0 20px 16px;gap:6px}.groups button{padding:10px 18px;font-size:10px}.index-layout{display:flex;flex-direction:column;height:calc(100% - 209px)}.index-layout nav{display:flex;flex-shrink:0;overflow:auto;padding:8px 15px;border-right:0;border-bottom:1px solid #bbad8c44;max-height:66px}.index-layout nav button{white-space:nowrap;width:auto;padding:11px 12px;font-size:10px;gap:8px}.index-results{padding:20px;min-height:0}.results-heading{margin-bottom:12px}.results-heading h3{font-size:27px}.results-heading>span{font-size:8px}.catalog-row{grid-template-columns:60px 1fr;gap:14px;position:relative;padding:15px 0 25px}.catalog-row img{width:60px;height:60px}.catalog-copy strong{font-size:22px}.catalog-copy p{font-size:9px;line-height:1.5;-webkit-line-clamp:2}.catalog-copy small{font-size:7px}.catalog-price{position:absolute;bottom:6px;right:0;font-size:11px}.catalog-price i{margin-left:8px}.detail-image{height:260px}.detail-body{padding:24px}.detail-body h2{font-size:36px}.detail-body>p:not(.photo-credit):not(.muted){font-size:12px}.detail-actions{gap:12px}.primary{font-size:10px;padding:13px 16px}.price{font-size:21px}.basket-inner,.about-inner{padding:42px 24px 28px}.basket-row{gap:12px}.basket-row strong{font-size:12px}.quantity{gap:9px}.quantity button{width:30px;height:30px}.photo-credit{font-size:8px}.muted{font-size:10px}#toast{font-size:11px;bottom:18px;width:max-content}}
@media(max-width:370px){.topbar{padding:14px}.book{width:calc(100% - 30px)}.book-copy{padding-left:20px;padding-right:20px}.book h1{font-size:33px}.top-actions{gap:10px}.book-actions{gap:8px}.add-button{font-size:8px;padding:11px}.scene-heading p{font-size:26px}.groups button{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.cover:hover,.dish-visual:hover{transform:none}.page-flip,.sparkles{display:none}}
/* Refinement after independent visual and accessibility review. */
.restaurant{inset:0;background-image:url('assets/ambience.webp');background-position:center;background-size:cover;filter:brightness(.68);transform:none}.warmth{background:linear-gradient(180deg,#091e17a6 0%,#091e1722 38%,#170e0622 75%,#100d0877 100%)}.table,.table-glow,.candle{display:none}.cover{background-image:radial-gradient(ellipse at 30% 10%,#346047aa,transparent 65%),url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.16' filter='url(%23n)'/%3E%3C/svg%3E");transform:perspective(1200px) rotateX(16deg) rotateZ(-2deg)}.cover-logo{mix-blend-mode:normal;filter:none;border-radius:0}.cover:hover{transform:perspective(1200px) rotateX(13deg) rotateY(-5deg) rotateZ(-1deg)}.book-leather{inset:2px -14px -25px;box-shadow:5px 35px 35px #100800b0,inset 0 -7px 4px #001a16}.page-stack{inset:6px -1px -18px;background:repeating-linear-gradient(#e6d6b5 0 1px,#a39679 1.5px 2px,#d7c6a4 2.5px 3px)}.book-copy>p{font-size:14px;line-height:1.65}.text-link{font-size:11px}.add-button{font-size:12px}.book-actions{gap:20px}.dish-visual{top:-165px;height:410px;left:-25px;width:calc(100% + 50px)}.dish-visual img{filter:drop-shadow(0 5px 4px #24180c16)}.dish-shadow{top:278px;height:35px;width:65%;left:17.5%;background:#473a2452;filter:blur(22px)}.photo-kind{top:324px;font-size:8px}.plate-caption{top:350px}.plate-caption>span{font-size:26px}.plate-caption i{margin:6px 0 4px}.dish-visual.portrait{top:-160px;height:420px}.dish-visual.photo{top:-105px;height:300px}.page-navigation{bottom:0}.scene-footer{position:relative;z-index:1}.book{top:49%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dialog-feedback{position:sticky;bottom:0;padding:14px 22px;background:var(--pine);color:var(--paper);font-size:12px;box-shadow:0 -5px 20px #0002;z-index:10}.closed .page-navigation{visibility:hidden}.catalog-copy p{font-size:12px}.catalog-price{font-size:13px}.catalog-copy small{font-size:9px}.index-layout nav button{font-size:12px}.search input{font-size:14px}
@media(min-width:1500px){.dish-visual{height:450px;top:-170px}.dish-shadow{top:292px}.photo-kind{top:341px}.plate-caption{top:370px}}
@media(max-width:1100px) and (min-width:701px){.book-copy>p{font-size:12px}.add-button{font-size:10px}.book-actions{gap:12px}.dish-visual{height:350px;top:-120px}.dish-shadow{top:245px}.photo-kind{top:285px}.plate-caption{top:310px}}
@media(max-width:700px){.restaurant{background-position:57% center}.top-actions{gap:14px}#open-index span{display:block;font-size:9px;max-width:40px;line-height:1.3;text-align:left}#open-index{gap:6px}.book{height:480px;top:auto;bottom:105px}.book-leather{inset:0 -7px -19px;box-shadow:4px 24px 26px #100800ad,inset 0 -6px 3px #001a16}.page-stack{inset:4px 0 -13px}.book-copy{inset:180px 0 0;padding:18px 25px 17px}.book-copy>p{font-size:13px;line-height:1.55}.book h1{font-size:35px;margin:12px 0 10px}.page-eyebrow{font-size:8px}.text-link{font-size:10px;padding:8px 0}.book-actions{padding:10px 0 12px;gap:13px;margin-top:5px}.add-button{font-size:11px;padding:12px 13px;gap:12px}.book-actions strong{font-size:23px}.page-footer{margin-top:auto;font-size:7px}.dish-visual{top:-145px;height:300px;width:calc(100% + 34px);left:-17px}.dish-visual.portrait{top:-160px;height:300px;width:68%;left:16%}.dish-visual.photo{top:-120px;height:240px;width:calc(100% - 30px);left:15px}.dish-shadow{top:151px;height:24px;width:61%;left:19.5%;filter:blur(14px);background:#473a244d}.photo-kind{top:174px;font-size:7px}.page-navigation{bottom:29px;gap:24px}.page-navigation>div>span{font-size:8px;letter-spacing:1.2px}.page-navigation p{font-size:10px}.nav-hint{font-size:9px}.catalog-copy p{font-size:11px}.catalog-copy small{font-size:8px}.catalog-price{font-size:12px}.index-layout nav button{font-size:11px}.search input{font-size:12px}.scene-footer{font-size:7px}.cover{transform:perspective(1000px) rotateX(14deg)}.cover:hover{transform:perspective(1000px) rotateX(12deg)}.journey-reset{font-size:9px;bottom:1px}.detail-body>p:not(.photo-credit):not(.muted){font-size:14px}.primary{font-size:12px}.muted{font-size:11px}.photo-credit{font-size:10px}}
@media(max-width:370px){.topbar{padding:14px 12px}.brand{font-size:8px;letter-spacing:1px}.brand small{font-size:5px}.top-actions{gap:10px}.book-copy{padding-left:20px;padding-right:20px}.book h1{font-size:32px}.book-copy>p{font-size:12px}.add-button{font-size:10px;padding:12px}.page-navigation{gap:18px}.page-navigation>div{min-width:145px}}
/* Printed leaves, measured depth and concise editorial copy. */
.book{perspective:1800px}.page-flip{background:none;transform-style:preserve-3d;border-radius:2px 15px 10px 3px;box-shadow:none}.leaf-face,.leaf-back{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(90deg,#c6b38c 0%,#eee1c5 8%,#f6ecd5 42%,#f3e8ce 75%,#cdbd98 100%);box-shadow:inset 0 0 0 1px #b6a47b44,8px 6px 25px #2c211c44;border-radius:2px 14px 10px 3px;padding:35px;text-align:center;color:#53644a}.leaf-back{transform:rotateY(180deg);background:linear-gradient(270deg,#cdbb98,#f2e6cd 15%,#f5ecd6 75%,#d1bf98)}.leaf-face:before,.leaf-back:before{content:'';position:absolute;inset:25px;border:1px solid #baa67744}.leaf-face>span,.leaf-back>span{font-size:8px;letter-spacing:3px}.leaf-face i,.leaf-back i{font:70px Georgia;color:#a98b4d;font-style:normal;margin:30px 0 15px}.leaf-face b,.leaf-back b{font:42px/1.1 var(--serif);max-width:90%;font-weight:400}.leaf-face em{font:15px var(--sans);margin-top:15px;font-style:normal}.leaf-face small,.leaf-back small{font-size:7px;letter-spacing:2px;position:absolute;bottom:45px}.turning .page-flip{animation:turn-printed-page .86s cubic-bezier(.4,0,.2,1)}.turning.reverse .page-flip{animation-direction:reverse}.turning .dish-visual{animation:dish-rise .88s cubic-bezier(.2,.7,.2,1)}@keyframes turn-printed-page{0%{opacity:0;transform:rotateX(10deg) rotateY(0) rotateZ(-1deg)}8%{opacity:1}40%{transform:rotateX(10deg) rotateY(-65deg) skewY(3deg) scaleX(.97)}75%{opacity:1;transform:rotateX(10deg) rotateY(-145deg) skewY(-2deg) scaleX(.98)}100%{opacity:0;transform:rotateX(10deg) rotateY(-178deg)}}@keyframes dish-rise{0%{opacity:1;translate:0 0}18%{opacity:0;translate:0 26px;scale:.94}50%{opacity:0;translate:0 40px;scale:.9}100%{opacity:1;translate:0 0;scale:1}}.book.long-title h1{font-size:44px}.cover-scene{width:390px;height:510px;left:62%;top:47%}.cover{transform:perspective(1100px) rotateX(32deg) rotateZ(-5deg)}.cover:hover{transform:perspective(1100px) rotateX(29deg) rotateZ(-4deg)}.opened .cover{transform:perspective(1100px) rotateX(25deg) rotateY(-150deg)}.scene-footer{font-size:10px;letter-spacing:1px}.cover-title{font-size:57px}.cover-title em{font-size:73px}.cover-logo{width:85px;height:82px}
@media(max-width:1100px) and (min-width:701px){.cover-scene{width:330px;height:465px;left:65%}.cover-title{font-size:50px}.cover-title em{font-size:63px}.book.long-title h1{font-size:37px}}
@media(max-width:700px){.cover-scene{width:280px;height:405px;left:50%;top:48%}.cover{transform:perspective(900px) rotateX(25deg) rotateZ(-2deg)}.cover:hover{transform:perspective(900px) rotateX(22deg) rotateZ(-2deg)}.cover-title{font-size:42px}.cover-title em{font-size:56px}.cover-logo{width:65px;height:64px}.book-copy>p{-webkit-line-clamp:4}.book.long-title h1{font-size:29px}.book.very-long-title h1{font-size:26px;line-height:1.03}.book.long-title .book-copy>p{-webkit-line-clamp:3}.leaf-face b,.leaf-back b{font-size:32px}.leaf-face i,.leaf-back i{font-size:50px}.leaf-face>span,.leaf-back>span{font-size:7px}.leaf-face small,.leaf-back small{font-size:6px;letter-spacing:1.2px}.scene-footer{font-size:8px;letter-spacing:.3px}.scene-footer>span{max-width:150px}.text-link{font-size:11px}.page-footer{padding-top:8px}.page-navigation>div>span{font-size:8px}.journey-reset{font-size:9px}.leaf-face,.leaf-back{padding:25px}}
@media(max-width:700px) and (max-height:780px){.opened .page-navigation{position:fixed;bottom:0;z-index:7;left:0;right:0;transform:none;justify-content:center;background:#112f28f5;padding:8px 0;border-top:1px solid #bda06855}.opened .journey-reset{position:fixed;bottom:70px;z-index:7;background:#163e33e8;padding:6px;left:50%;right:auto;transform:translateX(-50%);white-space:nowrap}.scene-footer{padding-bottom:70px;height:115px}.opened .book{bottom:100px}}
/* Keep reverse sides decorative: no mirrored lettering or fading text. */
.turning .leaf-face>*{animation:printed-face .86s linear}.turning.reverse .leaf-face>*{animation-direction:reverse}.leaf-back i{opacity:.5;font-size:80px}.leaf-face,.leaf-back{-webkit-backface-visibility:hidden;backface-visibility:hidden}@keyframes printed-face{0%,43%{visibility:visible;opacity:1}44%,100%{visibility:hidden;opacity:0}}.topbar{position:sticky;top:0;background:#0c241b80;backdrop-filter:blur(8px)}
/* Contain transparent image margins during perspective turns. */
.experience{overflow-x:clip}
/* Viewport-fit layout: the photo, price and page controls share the available height. */
:root{--header-height:clamp(58px,9dvh,82px);--footer-height:28px}
html{scroll-padding-top:var(--header-height)}
.topbar{height:var(--header-height);padding:12px 4%;position:relative}
.experience{height:calc(100dvh - var(--header-height) - var(--footer-height));min-height:0;max-height:none}
.scene-footer{height:var(--footer-height);padding:5px 4%;font-size:9px}
.cover-logo{width:160px;height:154px;flex-shrink:0;margin:16px 0 12px}
.cover-title{font-size:43px}.cover-title em{font-size:54px}.cover-rule{margin:15px 0 12px}
.cover-scene{height:min(470px,calc(100dvh - 180px));width:min(350px,30vw);top:43%;transform:translate(-50%,-50%) rotate(-5deg)}
.cover{padding:26px 20px}.cover-top{font-size:8px}.cover-subtitle{font-size:8px}.cover-bottom{margin-top:auto}
.open-caption{bottom:-65px;font-size:22px}.open-caption small{font-size:10px}
.page-navigation,.opened .page-navigation{position:absolute;bottom:15px;left:50%;right:auto;transform:translateX(-50%);padding:0;background:none;border:0;z-index:5}
.journey-reset,.opened .journey-reset{position:absolute;bottom:0;left:auto;right:4%;transform:none;background:none;padding:0;font-size:9px}
@media(min-width:701px){
 .book,.opened .book{width:min(1080px,calc(100% - 100px));height:clamp(250px,calc(100dvh - 320px),490px);top:auto;bottom:84px;transform:translateX(-50%)}
 .closed .book{transform:translate(-50%,30px) scale(.9)}
 .book-copy{padding:clamp(18px,3dvh,42px) clamp(25px,4vw,55px) 20px}
 .book h1{font-size:clamp(32px,6dvh,60px);margin:14px 0 14px}
 .book.long-title h1{font-size:clamp(27px,4.5dvh,42px)}
 .book-copy>p{font-size:13px;line-height:1.55;-webkit-line-clamp:3}
 .book-actions{padding:8px 0;gap:18px}.book-actions strong{font-size:22px}.add-button{min-height:40px;font-size:11px}
 .page-footer{padding-top:10px;font-size:7px}
 .dish-visual,.dish-visual.portrait,.dish-visual.photo{top:clamp(-115px,-12dvh,-55px);height:clamp(180px,43dvh,380px);left:0;width:100%;transform:rotate(-3deg)}
 .dish-visual.portrait{left:20%;width:60%}.dish-visual.photo{left:10%;width:80%;height:clamp(160px,34dvh,290px)}
 .dish-shadow{top:47%;height:26px;filter:blur(18px)}
 .photo-kind{top:auto;bottom:29%;font-size:8px}.plate-caption{top:auto;bottom:9%;left:12%;right:12%}
 .plate-caption>span{font-size:clamp(20px,3.2dvh,28px)}.plate-caption i{font-size:24px;margin:4px 0}
}
@media(min-width:701px) and (max-height:650px){
 .book,.opened .book{height:calc(100dvh - 235px);bottom:73px}
 .book-copy{padding:18px 28px 14px}.book h1{font-size:32px;margin:10px 0}.book.long-title h1{font-size:27px}
 .book-copy>p{font-size:12px;-webkit-line-clamp:2}.text-link{padding:8px 0;font-size:10px}.page-eyebrow{font-size:8px}
 .page-footer{display:none}.book-actions{margin-top:auto;padding:7px 0}.dish-visual,.dish-visual.portrait{top:-55px;height:clamp(170px,39dvh,250px)}
 .dish-visual.photo{top:-35px;height:clamp(150px,32dvh,210px)}.dish-shadow{top:51%}.plate-caption{bottom:10%}.plate-caption small{display:none}.photo-kind{bottom:30%;font-size:7px}
 .cover-logo{width:120px;height:116px;margin:9px 0}.cover-title{font-size:33px}.cover-title em{font-size:42px}.cover-rule{margin:10px 0}.cover{padding:22px 15px}.cover-scene{top:42%;height:calc(100dvh - 160px);width:280px}.cover-bottom{font-size:8px}.cover-subtitle{font-size:7px}
 .scene-heading{top:20%;max-width:270px}.scene-heading p{font-size:34px}.scene-heading .eyebrow{font-size:8px}.open-caption{bottom:-55px;font-size:20px}
}
@media(max-width:700px){
 :root{--header-height:64px;--footer-height:26px;--mobile-photo:clamp(155px,27dvh,240px)}
 .topbar{padding:10px 16px}.experience{height:calc(100dvh - 90px);min-height:0}
 .book,.opened .book{top:10px;bottom:auto;height:calc(100% - 95px);width:calc(100% - 36px);max-width:430px;transform:translateX(-50%)}
 .closed .book{transform:translate(-50%,20px) scale(.9)}
 .book-leather,.paper,.page-stack{top:calc(var(--mobile-photo)*.55)}
 .book-copy{inset:calc(var(--mobile-photo) + 24px) 0 0;padding:12px 22px 17px}
 .dish-stage{top:0;height:var(--mobile-photo)}
 .dish-visual,.dish-visual.portrait,.dish-visual.photo{top:0;left:0;width:100%;height:var(--mobile-photo);transform:rotate(-2deg)}
 .dish-visual.portrait{left:18%;width:64%}.dish-visual.photo{left:10%;width:80%;height:calc(var(--mobile-photo) - 10px);padding:6px}
 .dish-shadow{top:calc(var(--mobile-photo) - 2px);height:16px;width:60%;left:20%;filter:blur(12px)}
 .photo-kind{top:calc(var(--mobile-photo) + 14px);font-size:7px}
 .book h1{font-size:clamp(28px,4.2dvh,35px);margin:10px 0}.book.long-title h1{font-size:27px}.book.very-long-title h1{font-size:24px}
 .book-copy>p{font-size:13px;line-height:1.5;-webkit-line-clamp:3}.text-link{font-size:11px;padding:9px 0}
 .book-actions{margin-top:auto;padding:10px 0;gap:12px}.book-actions strong{font-size:22px}.add-button{min-height:42px;font-size:11px;padding:11px 12px}
 .page-footer{margin-top:0;padding-top:8px}.page-eyebrow{font-size:8px}
 .page-navigation,.opened .page-navigation{bottom:19px;gap:22px;width:max-content}.page-arrow{width:44px;height:44px}
 .journey-reset,.opened .journey-reset{bottom:0;left:0;right:0;text-align:center;font-size:8px}
 .scene-footer{height:26px;padding:4px 16px;font-size:7px}.scene-footer>span{max-width:none}
 .cover-scene{width:min(290px,calc(100vw - 72px));height:min(440px,calc(100dvh - 250px));top:51%;left:50%;transform:translate(-50%,-50%) rotate(-5deg)}
 .cover-logo{width:135px;height:130px;margin:12px 0 10px}.cover-title{font-size:34px}.cover-title em{font-size:44px}.cover{padding:23px 18px}
 .cover-rule{margin:13px 0 10px}.cover-subtitle{font-size:7px}.cover-bottom{font-size:8px}
 .scene-heading{top:8px}.scene-heading p{font-size:25px;margin:8px 20px;line-height:1.1}.scene-heading .eyebrow{font-size:7px}
 .open-caption{bottom:-56px;font-size:22px}.open-caption small{font-size:9px;margin-top:5px}
 .opened .cover-scene{transform:translate(-70%,-50%) rotate(-5deg)}
}
@media(max-width:700px) and (max-height:720px){
 :root{--mobile-photo:clamp(130px,24dvh,173px)}
 .book-copy{padding:10px 20px 12px;inset:calc(var(--mobile-photo) + 24px) 0 0}.book h1{font-size:28px;margin:8px 0}.book.long-title h1{font-size:25px}.book.very-long-title h1{font-size:23px}
 .book-copy>p{font-size:12px;-webkit-line-clamp:2}.book.long-title .book-copy>p{-webkit-line-clamp:2}.text-link{font-size:10px;padding:7px 0}.page-footer{display:none}.book-actions{padding:6px 0}.book-actions strong{font-size:21px}
 .cover-logo{width:112px;height:108px;margin:6px 0}.cover-title{font-size:28px}.cover-title em{font-size:35px}.cover-rule{margin:9px 0}.cover-subtitle{font-size:6px}.cover{padding:20px 15px}.cover-bottom{font-size:7px}.cover-scene{height:calc(100dvh - 240px);top:51%}.scene-heading p{font-size:22px}.open-caption{font-size:20px}
}
@media(max-height:450px){
 .experience{min-height:360px}.topbar{position:relative}.cover-scene{height:285px;top:43%}.cover-logo{width:90px;height:86px}.cover-title{font-size:25px}.cover-title em{font-size:32px}.cover-top,.cover-subtitle,.cover-rule{display:none}.book,.opened .book{height:240px;bottom:70px;top:auto}
}
/* Prevent invisible opening layers from creating a scroll offset. */
@media(min-height:451px){html,body{height:100dvh;overflow:hidden}}
@media(min-width:701px){.book,.opened .book{width:min(1080px,calc(100% - 100px),calc(100dvh * 1.8))}}
@media(max-width:700px){.cover-scene{width:min(250px,calc(100vw - 90px))}}
@media(max-width:700px) and (max-height:720px){.book.very-long-title .book-copy>p{-webkit-line-clamp:1}}
@media(max-width:700px){.cover-scene{width:min(230px,calc(100vw - 110px))}}
/* Center every product on the open book, with separate reading and action areas. */
.page-content{display:block}
.book-copy{position:absolute;inset:0}
.dish-stage{position:absolute;inset:0;height:100%;pointer-events:none}
.dish-visual,.dish-visual.portrait,.dish-visual.photo{left:50%;top:50%;width:36%;height:82%;transform:translate(-50%,-50%);pointer-events:auto}
.dish-visual:hover{transform:translate(-50%,-50%) scale(1.025)}
.dish-shadow{left:35%;top:79%;width:30%;height:18px}
.plate-caption{display:none}
.photo-kind{top:auto;bottom:4%;left:31%;width:38%;font-size:7px}
.book-copy>.page-eyebrow,.book-copy>h1,.book-copy>p,.book-copy>.text-link{width:28%;max-width:none}
.book-copy>h1{font-size:clamp(25px,3.5dvh,38px)}
.book.long-title h1,.book.very-long-title h1{font-size:clamp(21px,3dvh,30px)}
.book-actions{position:absolute;right:4%;top:50%;bottom:auto;width:25%;transform:translateY(-50%);display:flex;flex-direction:column;gap:18px;margin:0}
.page-footer{display:none}
.turning .dish-visual{animation:centered-dish-in .88s ease both}
@keyframes centered-dish-in{0%{opacity:0;transform:translate(-50%,-42%) scale(.94)}60%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:700px){
 .book-leather,.paper,.page-stack{top:0}
 .book-copy{inset:0;padding:20px}
 .book-copy>.page-eyebrow,.book-copy>h1,.book-copy>p,.book-copy>.text-link{width:100%}
 .book-copy>h1{font-size:30px;margin:10px 0}
 .book.long-title h1,.book.very-long-title h1{font-size:24px}
 .dish-visual,.dish-visual.portrait,.dish-visual.photo{left:50%;top:50%;width:80%;height:38%;transform:translate(-50%,-50%)}
 .dish-visual.portrait{width:58%}.dish-visual.photo{width:65%;padding:6px}
 .dish-shadow{top:66%;left:25%;width:50%}
 .photo-kind{top:71%;bottom:auto;left:0;width:100%;font-size:6px}
 .book-copy>p{position:absolute;left:20px;right:20px;bottom:85px;width:auto;font-size:12px;line-height:1.4;-webkit-line-clamp:2}
 .book-copy>.text-link{position:absolute;left:20px;bottom:58px;width:auto;font-size:10px}
 .book-actions{top:auto;bottom:10px;left:20px;right:20px;width:auto;transform:none;flex-direction:row;justify-content:space-between;align-items:center;gap:10px;padding:0}
}
@media(max-width:700px) and (max-height:720px){
 .book-copy{padding:16px 20px}.book-copy>h1{font-size:27px}.book.long-title h1,.book.very-long-title h1{font-size:22px}
 .dish-visual,.dish-visual.portrait,.dish-visual.photo{height:31%;top:48%}
 .photo-kind{top:65%}.dish-shadow{top:61%}
 .book-copy>p{bottom:81px;font-size:11px}.book-copy>.text-link{bottom:55px}
}
@media(prefers-reduced-motion:reduce){.turning .dish-visual{animation:none}}
/* A menu-sized cover: fixed proportion instead of stretching to screen height. */
.cover-scene{width:min(360px,calc((100dvh - 190px)*.75));height:auto;aspect-ratio:3/4}
.cover{transform:perspective(1100px) rotateX(12deg) rotateZ(-2deg)}
.cover:hover{transform:perspective(1100px) rotateX(10deg) rotateZ(-1deg)}
@media(min-width:701px){
 .book,.opened .book{width:min(980px,calc(100% - 80px),calc((100dvh - 235px)*2))}
}
@media(max-width:700px){
 .cover-scene{width:min(300px,calc(100vw - 80px),calc((100dvh - 270px)*.75));height:auto;aspect-ratio:3/4;top:53%}
 .cover{padding:22px 18px;transform:perspective(900px) rotateX(10deg) rotateZ(-2deg)}
 .cover:hover{transform:perspective(900px) rotateX(10deg) rotateZ(-2deg)}
 .cover-logo{width:clamp(80px,14dvh,120px);height:clamp(78px,13.5dvh,116px);margin:10px 0}
 .cover-title{font-size:30px}.cover-title em{font-size:39px}.cover-rule{margin:12px 0}.cover-bottom{margin-top:auto}
 .open-caption{bottom:-65px}
 .experience{--menu-height:min(calc(100dvh - 190px),calc((100vw - 40px)*1.45),550px)}
 .book,.opened .book{top:18px;height:var(--menu-height);width:calc(100% - 40px);max-width:380px}
 .page-navigation,.opened .page-navigation{top:calc(var(--menu-height) + 50px);bottom:auto}
 .journey-reset,.opened .journey-reset{top:calc(var(--menu-height) + 98px);bottom:auto}
}
@media(max-width:700px) and (max-height:650px){
 .cover{padding:17px 14px}.cover-logo{width:80px;height:78px;margin:5px 0}.cover-title{font-size:24px}.cover-title em{font-size:31px}.cover-rule{margin:8px 0}.cover-subtitle{font-size:6px}.cover-bottom{font-size:7px}.open-caption{font-size:19px;bottom:-61px}
}
/* Keep the actual sheet above the centered photograph throughout the turn. */
.page-flip{z-index:12;isolation:isolate;will-change:transform;transform-style:preserve-3d}
.turning .page-flip{animation:menu-sheet-turn 1.25s cubic-bezier(.35,.05,.25,1) both}
.turning.reverse .page-flip{animation-direction:reverse}
.turning .leaf-face>*{animation:none;visibility:visible;opacity:1}
.turning .book-copy,.turning .photo-kind{animation:menu-ink 1.25s both}
.turning .dish-visual{animation:menu-photo 1.25s both}
.leaf-face,.leaf-back{box-shadow:inset 0 0 0 1px #b6a47b66,18px 8px 35px #1c160b66}
@keyframes menu-sheet-turn{0%{opacity:0;transform:rotateY(0deg)}5%,94%{opacity:1}35%{transform:rotateY(-45deg)}55%{transform:rotateY(-95deg)}80%{transform:rotateY(-150deg)}100%{opacity:0;transform:rotateY(-179deg)}}
@keyframes menu-ink{0%,35%{opacity:1}45%,52%{opacity:0}75%,100%{opacity:1}}
@keyframes menu-photo{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}25%,52%{opacity:0;transform:translate(-50%,-50%) scale(.94)}85%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:700px){.page-flip{left:0;width:100%;height:100%;transform-origin:left center}.leaf-face b{font-size:27px}.leaf-face i{margin:12px 0}.leaf-face small{bottom:28px}}
/* Flexible paper, not a rigid slab. Each strip follows the continuous curl. */
.page-flip{display:none!important}
.book{touch-action:pan-y;user-select:none;-webkit-user-select:none}
.curl-layer{position:absolute;inset:0;z-index:15;pointer-events:none;perspective:6000px;transform-style:preserve-3d}
.curl-strip{position:absolute;left:0;top:0;transform-style:preserve-3d;will-change:transform}
.curl-front,.curl-back{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#f1e6ce}
.curl-back{transform:rotateY(180deg);background:linear-gradient(90deg,#dfd0b1,#f6ecd6)}
.curl-shade{position:absolute;inset:0;background:#382b16;pointer-events:none}
.curl-snapshot{position:absolute!important;top:0;background:#f1e6ce;pointer-events:none}
.curl-snapshot,.curl-snapshot *{animation:none!important;transition:none!important}
.book.curling>#page-content{opacity:0;pointer-events:none}
.book.curling.curl-revealed>#page-content{opacity:1}
.dish-visual.photo{border-radius:12px;background:transparent;padding:0;box-shadow:none}
.dish-visual.photo img,.dish-visual.portrait.photo img{object-fit:contain;border-radius:0;background:transparent}
.dish-visual:hover{transform:translate(-50%,-50%)}
@media(hover:hover) and (pointer:fine){.dish-visual:hover{transform:translate(-50%,-50%) scale(1.025)}}
.page-navigation>div>span{display:block;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(prefers-reduced-motion:reduce){.curl-layer{display:none}.book.curling>#page-content{opacity:1}}
.curl-product{position:absolute;inset:0;z-index:18;pointer-events:none;will-change:opacity,transform}
.curl-product *{pointer-events:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.curl-product{display:none}}
/* Stronger navigation and chapter typography. */
#open-index{font-size:17px;font-weight:600;gap:10px}
#open-index svg{width:24px;height:24px}
.book-copy>.page-eyebrow{position:absolute;top:20px;right:28px;width:auto;max-width:40%;font-size:16px;line-height:1.2;letter-spacing:1px;font-weight:600;text-align:right;justify-content:flex-end;color:var(--pine)}
.book-copy>.page-eyebrow .small-rule{display:none}
@media(max-width:700px){
 .topbar{padding:10px 12px}.top-actions{gap:10px}
 #open-index{font-size:14px;gap:6px;line-height:1.15;max-width:98px;text-align:left}
 #open-index span{display:block!important}#open-index svg{width:19px;min-width:19px}
 .brand{font-size:8px;letter-spacing:1px;gap:5px}.brand-wave{font-size:26px}.brand small{font-size:5px;letter-spacing:1px}
 .book-copy>.page-eyebrow{top:16px;right:20px;left:20px;max-width:none;font-size:14px;line-height:1.2;letter-spacing:.7px;justify-content:flex-end;text-align:right}
 .book-copy>h1{margin-top:40px}
}
@media(max-width:350px){#open-index{font-size:13px;max-width:86px}.quiet{gap:4px}.top-actions{gap:8px}.brand{font-size:7px}.brand small{font-size:4.5px}}
#open-index span{font-size:inherit;font-weight:inherit;line-height:inherit}
@media(max-width:700px) and (min-height:721px){
 .dish-visual,.dish-visual.portrait,.dish-visual.photo{height:44%}
 .photo-kind{top:75%}.dish-shadow{top:69%}
}
@media(max-width:700px) and (max-height:720px){
 .book:not(.long-title) .dish-visual{height:38%}
 .book:not(.long-title) .photo-kind{top:68%}
 .book:not(.long-title) .dish-shadow{top:64%}
}

@media(max-width:700px){#open-index{width:auto;max-width:none;flex-shrink:0}#open-index span{width:67px;flex:none}}

@media(min-width:701px){.book-copy>.page-eyebrow{max-width:28%}}
@media(max-width:350px) and (max-height:720px){.book-copy>h1{font-size:22px}.book.long-title h1,.book.very-long-title h1{font-size:20px}}

@media(min-width:701px){.book-copy>.page-eyebrow{max-width:calc(32% - 38px)}}

#dish-name:focus{outline:none}

.catalog-row img{object-fit:contain;border-radius:0}
.catalog-row img.isolated{filter:drop-shadow(0 5px 3px #24180c30)}
.detail-image{object-fit:contain}
.detail-image.isolated{padding:24px;background:transparent;filter:drop-shadow(0 16px 10px #24180c30)}

.book-copy>.page-eyebrow #chapter-label{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto}

@media(max-width:700px){#open-index span{max-width:none}}

/* Launch QA: clear selection semantics, persistent escape routes, mobile spacing. */
dialog>.close{position:sticky;top:12px;right:auto;margin:12px 12px -56px auto;display:block;width:44px;height:44px;z-index:30;background:var(--paper);border:1px solid #b8aa8b88;border-radius:50%;box-shadow:0 2px 10px #243d3122}
.dialog-top{position:sticky;top:0;z-index:20;background:var(--paper)}
.quantity button{width:44px;height:44px;min-width:44px}.quantity{gap:8px}
.line-subtotal{font-weight:600}.selection-explainer{font-size:14px;line-height:1.55}
.clear-selection{display:block;background:transparent;color:var(--pine);text-decoration:underline;padding:14px 0;margin-top:10px;min-height:44px}
#selection-privacy{font-size:12px;min-height:44px;padding:8px 0}
.about-inner h3{font-size:17px;margin:25px 0 8px}.about-inner p{line-height:1.6}
#dish-image[hidden]{display:none}#image-status{display:block;font-size:12px;line-height:1.5;color:var(--ink);font-family:var(--sans);padding:14px}
#image-status:empty{display:none}#dish-detail[aria-busy=true]{background:radial-gradient(ellipse,#a5947222,transparent 70%)}
#boot-status,.no-script{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);z-index:40;padding:10px 18px;background:var(--pine);border-radius:5px;max-width:90vw;text-align:center}
#toast{max-width:min(460px,calc(100vw - 24px));line-height:1.5}
@media(max-width:700px){
 .photo-kind{top:auto!important;bottom:126px;font-size:7px}
 .scene-footer #about-button{display:block!important;font-size:9px;min-height:30px;white-space:nowrap}
 .scene-footer{gap:5px;font-size:7px;padding-left:10px;padding-right:10px}.scene-footer>span{max-width:108px}
 .basket-inner{padding-left:18px;padding-right:18px}.basket-row{gap:8px}.basket-row>div:first-child{min-width:0}.basket-row strong{overflow-wrap:anywhere}.quantity{flex-shrink:0}
 .book-actions .add-button{font-size:10px;gap:8px;padding:12px 10px;min-height:44px}
}
.dialog-closebar{position:sticky;top:0;z-index:30;height:60px;padding:8px 12px;display:flex;align-items:center;justify-content:flex-end;background:var(--paper);border-bottom:1px solid #b8aa8b44}.dialog-closebar>.close{position:static;margin:0;width:44px;height:44px;background:var(--paper);border:1px solid #b8aa8b88;border-radius:50%;box-shadow:0 2px 8px #243d3111}.dialog-closebar+.basket-inner,.dialog-closebar+.about-inner{padding-top:18px}
