/* Restaurant evening: a five-part experience in one physical setting. */
.restaurant-evening .section-heading{align-items:end}.restaurant-evening .section-heading p{max-width:340px}.re-world{--accent:#ed4924;--cream:#fff9ed;--ink:#253a2d;overflow:hidden;border:1px solid #c7b79c;border-radius:22px;background:#171e17;box-shadow:0 25px 70px #392a1720}.re-world *{box-sizing:border-box}.re-world button{font:inherit;cursor:pointer}.re-world button:disabled{cursor:default;opacity:.4}.re-world button:focus-visible,.re-world textarea:focus-visible{outline:3px solid #f58450;outline-offset:3px}.re-top{display:flex;align-items:center;gap:24px;padding:17px 25px;color:#eee4d4;font:10px/1.3 monospace;letter-spacing:2px;border-bottom:1px solid #fff2}.re-top>span:first-child{display:flex;align-items:center;gap:9px}.re-top i{width:6px;height:6px;border-radius:50%;background:#f17a46;box-shadow:0 0 10px #f17a4660}.re-progress{margin-left:auto;color:#d9c6a7}.re-reset{color:#efe6d7;background:none;border:0;font-size:11px!important;letter-spacing:0}.re-stage{position:relative;height:clamp(560px,48vw,690px);overflow:hidden;isolation:isolate;background:#403328;--image-position:50%}.re-background{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;object-position:var(--image-position) center;pointer-events:none}.re-alternate{opacity:0;transition:opacity .6s ease}.re-alternate.is-visible{opacity:1}.re-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c170fd9 0%,#0c170f9c 21%,transparent 56%),linear-gradient(0deg,#142018b0,transparent 18%);pointer-events:none}.re-story{position:absolute;top:12%;left:5%;width:32%;color:var(--cream);z-index:2;pointer-events:none}.re-eyebrow{font:10px/1.5 monospace;letter-spacing:1.5px;color:#e3bea1}.re-story h3{font-family:Georgia,serif;font-size:clamp(34px,4.4vw,64px);font-weight:400;line-height:1.04;letter-spacing:-2px;margin:25px 0 20px;max-width:390px;text-wrap:balance}.re-story p{font-size:14px;line-height:1.7;max-width:245px;color:#e1d2bf;margin:0}.re-story-note{display:flex;align-items:center;gap:14px;margin-top:35px;padding-top:20px;border-top:1px solid #e9d9be40;width:max-content;font:10px monospace;letter-spacing:1px}.re-story-note>span{font-family:Georgia,serif;font-size:36px;color:#e9b98f}.re-story-note small{display:block;font:11px/1.8 sans-serif;letter-spacing:0;color:#beac97}.re-phone{position:absolute;top:0;left:0;width:280px;height:590px;transform-origin:0 0;z-index:5;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 1px #fff8;will-change:transform}.re-screen{height:100%;background:#fbf8f1;color:var(--ink);position:relative;padding:0 17px;font-family:Arial,sans-serif}.re-statusbar{height:37px;display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:700;padding:0 3px}.re-statusbar svg{width:36px;height:12px}.re-island{width:72px;height:18px;border-radius:20px;background:#090a09;position:absolute;left:104px;top:7px}.re-phone-brand{display:flex;align-items:center;gap:4px;font-size:20px;font-weight:750;letter-spacing:-.5px;color:var(--accent);border-bottom:1px solid #263a2b20;padding:4px 0 13px}.re-phone-brand img{width:22px;height:22px;object-fit:contain;mix-blend-mode:multiply}.re-phone-brand small{font:8px monospace;margin-left:auto;color:#71806e;letter-spacing:1px}.re-panel{padding-top:18px;display:flex;flex-direction:column;height:490px;animation:re-panel-in .3s ease}.re-panel h4{font:500 30px/1.05 Georgia,serif;letter-spacing:-1px;color:var(--ink);margin:12px 0 15px}.re-mini-label{font:8px/1.4 monospace;letter-spacing:1.2px;color:#7b846d}.re-qr-window{position:relative;background:#f2e8d9;padding:15px;border-radius:18px;margin:6px auto 10px;width:210px;height:210px;box-shadow:inset 0 0 0 1px #ccbba860,0 8px 25px #1c30120d}.re-qr-window img{width:100%;height:100%;object-fit:contain;border-radius:6px}.re-qr-window::after{content:'';position:absolute;inset:8px;border:1px solid #dd4b2780;border-radius:12px;pointer-events:none}.re-qr-window i{position:absolute;left:10px;right:10px;height:2px;top:20px;background:#fc7a39;box-shadow:0 0 10px 2px #ed6822;animation:re-scan 2.3s ease-in-out infinite alternate;animation-play-state:paused}.re-in-view .re-qr-window i{animation-play-state:running}.is-scanning i{animation-duration:.45s}.is-scanning{box-shadow:0 0 30px #ed492433}.re-hint{font:12px/1.5 Arial,sans-serif;margin:0 0 14px;color:#77816e}.re-primary{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:10px;padding:14px 13px;min-height:44px;background:var(--ink);color:#fffaf0;font-size:11px!important;font-weight:600!important;margin-top:auto;box-shadow:0 3px 0 #112017;transition:background .2s,transform .2s}.re-primary:hover:not(:disabled){background:#ed4924;transform:translateY(-1px)}.re-primary b{font-size:17px;font-weight:400}.re-micro{display:block;text-align:center;font:8px/1.5 Arial,sans-serif;color:#899080;margin:10px 0 0}.re-homebar{position:absolute;width:75px;height:3px;border-radius:5px;background:#203225;bottom:8px;left:calc(50% - 37px)}.re-menu{display:grid;gap:13px}.re-menu article{display:flex;gap:11px;border-bottom:1px solid #243b2718;padding-bottom:13px}.re-menu article>img{width:75px;height:90px;border-radius:10px;object-fit:cover}.re-menu article>div{flex:1;min-width:0}.re-menu strong{font-size:12px;display:block;margin:3px 0 5px}.re-menu small{font-size:9px;line-height:1.4;color:#7e8679;display:block}.re-dish-bottom{margin-top:9px;display:flex;gap:3px;flex-wrap:wrap;align-items:center;justify-content:space-between}.re-dish-bottom>b{font-size:10px}.re-quantity{display:flex;align-items:center;gap:5px;font-size:11px}.re-quantity button{border:0;color:#fff;background:var(--ink);border-radius:50%;width:28px;height:28px;font-size:18px;display:grid;place-items:center;padding:0}.re-quantity button:hover{background:var(--accent)}.re-total-line{display:flex;justify-content:space-between;padding:14px 0;font-size:12px}.re-bill-total{background:#eee8da;border:1px solid #e0d5c1;padding:15px;border-radius:12px;text-align:center}.re-bill-total small{display:block;font:8px monospace;letter-spacing:1px;color:#73816c}.re-bill-total strong{font-size:27px;display:block;margin-top:7px;letter-spacing:-1px}.re-guest-control{display:flex;align-items:center;justify-content:space-between;margin:15px 0 10px;font-size:12px}.re-guest-control b{font-size:20px}.re-guest-control button{width:35px;height:35px;border-radius:50%;border:1px solid #d6cfbd;background:#fffdf7;color:var(--ink);font-size:20px}.re-shares{display:grid;grid-template-columns:1fr 1fr;gap:5px}.re-shares>div{background:#fffef9;border:1px solid #e8e0d2;padding:9px;border-radius:6px}.re-shares span{display:block;font-size:8px;color:#899080}.re-shares b{font-size:11px;display:block;margin-top:4px;font-variant-numeric:tabular-nums}.re-love{font:88px/1 Georgia,serif;text-align:center;color:var(--accent);padding:0 0 18px}.re-love small{display:block;font:7px/1.5 monospace;letter-spacing:1px;margin-top:8px;color:#829077}.re-tips{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.re-tips button{font-size:11px;border:1px solid #dbd4c4;border-radius:10px;background:linear-gradient(#fffdf7,#e9e1d1);padding:12px 0;color:var(--ink);box-shadow:0 3px 0 #cabea5,inset 0 1px #fff}.re-tips button[aria-pressed=true]{background:linear-gradient(#f77045,#ed4924);color:white;border-color:#e8451e;box-shadow:0 3px 0 #ac341b,inset 0 1px #ffa375}.re-tip-bill{margin:22px 0}.re-tip-bill>div{display:flex;justify-content:space-between;font-size:11px;margin:10px 0}.re-tip-bill>div:last-child{border-top:1px dashed #bcc3b0;padding-top:15px;font-size:15px}.re-stars{display:flex;justify-content:space-between;margin:10px 0 6px}.re-stars button{font:34px Georgia,serif;color:#d2ccba;padding:0;border:0;background:none;transition:color .2s,transform .2s}.re-stars button:hover{transform:scale(1.15)}.re-stars .is-lit{color:#d88731}.re-rating-caption{text-align:center;font-size:10px;height:25px;color:#8a846e}.re-tags{display:flex;gap:5px;margin:14px 0}.re-tags button{font-size:9px;padding:8px;border:1px solid #d2d7c9;border-radius:20px;color:var(--ink);background:transparent}.re-tags button[aria-pressed=true]{background:#dce6d5;border-color:#728668}.re-review-label{font-size:11px;margin:12px 0 8px}.re-review-label span{font-size:9px;color:#999c8b;margin-left:6px}.re-panel textarea{resize:none;width:100%;height:85px;border:1px solid #d7d7c9;border-radius:8px;background:#fffdf7;padding:10px;font:11px/1.5 Arial,sans-serif;color:#26392a;margin-bottom:16px}.re-completion{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%;padding-top:20px}.re-seal{font-size:42px;width:90px;height:90px;border:1px solid #a3b19a;border-radius:50%;display:grid;place-items:center;margin-bottom:22px;background:radial-gradient(#fffef8,#e4e9d8);box-shadow:0 8px 20px #20342110}.re-completion p{font-size:12px;color:#7f8977;line-height:1.6}.re-summary{display:flex;gap:9px;font-size:9px;padding:12px 0}.re-scene-note{position:absolute;left:5%;bottom:23px;z-index:6;font-size:11px;line-height:1.5;color:#f0dfc4;max-width:43%;border-left:2px solid #ef8a50;padding-left:10px;pointer-events:none}.re-table-receipts{position:absolute;z-index:3;pointer-events:none}.re-table-receipts>div{position:absolute;width:105px;height:132px;padding:13px;background:linear-gradient(115deg,#fffdf4,#e1d6c0);box-shadow:3px 15px 20px #1d190a50;border-radius:3px 3px 0 0;transform:translate(calc((var(--index) - (var(--count) - 1)/2)*46px),-85%) rotate(calc((var(--index) - (var(--count) - 1)/2)*9deg));transform-origin:50% 140%;animation:re-slip-in .55s both;clip-path:polygon(0 0,100% 0,100% 100%,95% 96%,90% 100%,85% 96%,80% 100%,75% 96%,70% 100%,65% 96%,60% 100%,55% 96%,50% 100%,45% 96%,40% 100%,35% 96%,30% 100%,25% 96%,20% 100%,15% 96%,10% 100%,5% 96%,0 100%)}.re-table-receipts span{display:block;color:#e14a28;font-weight:750;font-size:14px}.re-table-receipts small{font:8px monospace;display:block;margin:12px 0 4px;color:#7c715b}.re-table-receipts strong{display:block;font-size:18px;color:#31382b}.re-table-receipts em{font:6px monospace;color:#817766;display:block;margin-top:8px}.re-balloons{position:absolute;z-index:7;pointer-events:none}.re-heart{position:absolute;width:var(--size);left:calc(var(--size)/-2);top:calc(var(--size)/-2);animation:re-heart-flight 4s cubic-bezier(.25,.1,.35,1) both;animation-delay:var(--delay)}.re-heart img{width:100%;display:block;filter:drop-shadow(2px 9px 8px #210e0940)}.re-heart i{display:block;position:absolute;left:50%;height:95px;width:18px;border-left:1px solid #d1b59a;border-radius:50%;top:90%;transform:rotate(8deg)}.re-journey{display:grid;grid-template-columns:repeat(5,1fr);background:#f3ede1;padding:8px;gap:5px}.re-journey button{display:flex;align-items:center;text-align:left;gap:10px;border:0;border-radius:10px;padding:16px 12px;background:none;color:#5b6654;font-size:12px;transition:background .25s,color .25s}.re-step-number{font:11px monospace;color:#a99b81}.re-journey b{font-size:14px;margin-left:auto;font-weight:400}.re-journey button[aria-current=step]{background:#263c2e;color:#fff9ed;box-shadow:0 4px 12px #1c2b221a}.re-journey button[aria-current=step] .re-step-number{color:#e4b18c}.re-journey button:not(:disabled):hover{background:#e6dfcf;color:#293e2e}.re-disclaimer{display:flex;justify-content:space-between;gap:15px;padding:14px 24px;background:#ece4d5;color:#716853;font-size:11px}.re-disclaimer small{font-size:9px;color:#8a816f}@keyframes re-scan{from{top:20px}to{top:185px}}@keyframes re-panel-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@keyframes re-slip-in{from{opacity:0;margin-top:25px}to{opacity:1;margin-top:0}}@keyframes re-heart-flight{0%{opacity:0;transform:translate(0,0) scale(.18)}12%{opacity:1;transform:translate(0,-10px) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-480px) scale(1.12)}}
@media(min-width:1600px){.re-stage{height:750px}}@media(max-width:900px){.re-story h3{font-size:40px}.re-story{left:4%;width:30%;top:10%}.re-story p{font-size:12px}.re-story-note{margin-top:23px}.re-journey button{font-size:10px;padding:14px 7px;gap:5px}.re-step-number{font-size:9px}.re-journey b{display:none}.re-disclaimer{padding:13px 18px}.re-disclaimer>span{display:none}}
@media(max-width:900px){.re-world{border-radius:16px}.re-top{padding:14px 15px;gap:10px;font-size:8px;letter-spacing:1px}.re-reset{font-size:10px!important}.re-stage{height:630px}.re-story{top:15px;left:18px;width:90%;z-index:7}.re-story h3{font-size:26px;letter-spacing:-1px;max-width:100%;margin:5px 0}.re-story p,.re-story-note,.re-eyebrow{display:none}.re-shade{background:linear-gradient(180deg,#0c170fe8,transparent 19%,transparent 80%,#0c170fa0)}.re-scene-note{left:18px;bottom:16px;max-width:90%;font-size:10px}.re-journey{gap:3px;padding:6px}.re-journey button{flex-direction:column;justify-content:center;text-align:center;font-size:9px;padding:11px 2px;gap:6px;border-radius:8px;line-height:1.3}.re-step-number{font-size:10px}.re-disclaimer{padding:12px;font-size:8px}.re-disclaimer small{font-size:8px}.re-table-receipts{display:none}.re-balloons{left:50%!important;top:65%!important}}
@media(prefers-reduced-motion:reduce){.re-world *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.re-heart{display:none}}

/* Keep the rendered scene and its interactive screen in the same fitted frame. */
.restaurant-evening .re-world{max-width:1280px;margin-inline:auto}
.restaurant-evening .re-stage{height:auto;aspect-ratio:1800/1100}
.restaurant-evening .re-background{max-width:none;inset:auto;object-fit:fill}
@media(min-width:901px){.restaurant-evening .re-world{width:min(100%,calc((100svh - 170px)*1.6364))}.restaurant-evening .re-story h3{font-size:clamp(28px,3.3vw,48px)}.restaurant-evening .re-story{top:10%}.restaurant-evening .re-story-note{margin-top:20px}.restaurant-evening .re-story p{font-size:12px}.restaurant-evening .re-journey button{padding:12px 8px;font-size:11px}}
@media(max-width:900px){.restaurant-evening .re-stage{aspect-ratio:auto;height:clamp(510px,74svh,680px)}.restaurant-evening .re-story h3{font-size:24px}.restaurant-evening .re-scene-note{bottom:10px}}

/* Soft light belongs to actionable buttons, never the surrounding tray. */
button.re-guidance,.re-guidance button:not(:disabled){animation:re-button-glow 2.4s ease-in-out 1}
.re-menu.re-guidance button:not([data-add]){animation:none}
.re-menu.re-guidance article:nth-child(2) [data-add]{animation-delay:.35s}
@keyframes re-button-glow{0%,100%{outline:2px solid transparent;outline-offset:3px;filter:brightness(1)}30%,65%{outline:2px solid #f2753ee6;outline-offset:4px;filter:brightness(1.18);box-shadow:0 0 0 5px #f28c5445,0 0 22px #ed784b75}}
@media(prefers-reduced-motion:reduce){button.re-guidance,.re-guidance button:not(:disabled){animation:none!important}}
/* Tip invitation: rounded material glow, without an outline or tray border. */
.re-tips.re-guidance button:not(:disabled){animation:re-tip-glow 2.4s cubic-bezier(.4,0,.2,1) 1;--re-tip-base:#cabea5;--re-tip-highlight:#fff;outline:none}
.re-tips.re-guidance button[aria-pressed=true]{--re-tip-base:#ac341b;--re-tip-highlight:#ffa375}
@keyframes re-tip-glow{0%,100%{filter:brightness(1);box-shadow:0 3px 0 var(--re-tip-base),inset 0 1px var(--re-tip-highlight)}40%,60%{filter:brightness(1.08);box-shadow:0 3px 0 var(--re-tip-base),inset 0 1px var(--re-tip-highlight),inset 0 0 12px #ffbe7d38,0 3px 14px #ee75465c}}
@media(prefers-reduced-motion:reduce){.re-tips.re-guidance button:not(:disabled){animation:none!important}}
/* Rating invitation illuminates the star glyphs, never their button boxes. */
.re-stars.re-guidance button:not(:disabled){animation:re-star-fill 2.8s cubic-bezier(.4,0,.2,1) 1;outline:none;box-shadow:none}
@keyframes re-star-fill{0%,100%{color:#d2ccba}10%,76%{color:#eea448}}
.re-stars.re-guidance button:nth-child(2){animation-name:re-star-fill-2}
.re-stars.re-guidance button:nth-child(3){animation-name:re-star-fill-3}
.re-stars.re-guidance button:nth-child(4){animation-name:re-star-fill-4}
.re-stars.re-guidance button:nth-child(5){animation-name:re-star-fill-5}
@keyframes re-star-fill-2{0%,10%,100%{color:#d2ccba}22%,76%{color:#eea448}}
@keyframes re-star-fill-3{0%,22%,100%{color:#d2ccba}34%,76%{color:#eea448}}
@keyframes re-star-fill-4{0%,34%,100%{color:#d2ccba}46%,76%{color:#eea448}}
@keyframes re-star-fill-5{0%,46%,100%{color:#d2ccba}58%,76%{color:#eea448}}
@media(prefers-reduced-motion:reduce){.re-stars.re-guidance button:not(:disabled){animation:none!important}}
/* Live evening indicator: a gentle breathing light, paused off-screen. */
.re-top i{background:radial-gradient(circle at 30% 25%,#ffe4ae,#ff9152 35%,#ee541f 70%,#b33213);animation:re-live-pulse 2.6s ease-in-out infinite;animation-play-state:paused}
.re-in-view .re-top i{animation-play-state:running}
@keyframes re-live-pulse{0%,100%{opacity:.45;box-shadow:0 0 2px #f17a4620;transform:scale(.9)}50%{opacity:1;box-shadow:0 0 5px #ffad7690,0 0 13px #f17a4670;transform:scale(1.1)}}
@media(prefers-reduced-motion:reduce){.re-top i{animation:none;opacity:1;transform:none}}
/* Match the rating prompt to the one-time star invitation. */
.re-stars.re-guidance + .re-rating-caption{animation:re-rating-prompt 2.8s ease-in-out 1}
@keyframes re-rating-prompt{0%,100%{text-shadow:none}18%,68%{color:#ef4823;text-shadow:0 0 10px #ef482326}}
@media(prefers-reduced-motion:reduce){.re-stars.re-guidance + .re-rating-caption{animation:none!important}}

/* Original scene caption, with a lightweight typewriter reveal. */
.re-status-spoken{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.re-typing>span[aria-hidden]::after{content:'|';color:#f18449;margin-left:2px;animation:re-type-caret .6s steps(1) infinite}
@keyframes re-type-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.re-typing>span[aria-hidden]::after{animation:none}}
