/* Only the requested enquiry addition; original sections retain their styles. */
.ux-solid{border:1px solid var(--red);background:var(--red);color:white;min-height:46px;padding:13px 20px;font:600 14px 'DM Sans',sans-serif;cursor:pointer}.ux-solid:hover{background:#bd341a}.header .ux-book{white-space:nowrap}.ux-label{font-size:12px;letter-spacing:.1em;font-weight:600}.ux-modal [hidden]{display:none!important}
.ux-modal{width:min(560px,calc(100% - 28px));max-height:90dvh;overflow:auto;border:1px solid var(--ink);padding:40px;background:var(--paper);color:var(--ink)}.ux-modal::backdrop{background:#191916b8;backdrop-filter:blur(5px)}.ux-close{position:absolute;top:12px;right:12px;border:0;background:none;font-size:28px;width:44px;height:44px;cursor:pointer}.ux-modal h2{font-family:var(--display);font-size:55px;line-height:.95;margin:20px 0}.ux-modal>p,.ux-modal #ux-enquiry-result p{font-size:16px;line-height:1.6;margin-bottom:20px}.ux-modal form{display:grid;gap:18px}.ux-modal label{display:grid;gap:8px;font-size:14px}.ux-modal input,.ux-modal select{width:100%;min-height:48px;border:1px solid #aaa69d;background:transparent;padding:12px;font:inherit;border-radius:0}.ux-modal small{font-size:12px;line-height:1.5;color:var(--muted)}.ux-success{font-size:42px;color:var(--red)}.ux-modal h3{font-family:var(--display);font-size:35px;margin:15px 0}
@media(max-width:1000px){.header{gap:16px}.header nav{gap:14px}.header .ux-book{padding:12px}}
@media(max-width:600px){.header{gap:12px}.header .brand{font-size:34px}.header .nav-cta{font-size:12px;gap:5px}.header .ux-book{font-size:12px;padding:10px;min-height:44px}.ux-modal{padding:30px 24px}.ux-modal h2{font-size:44px}}
/* Preserve all original navigation links in narrow preview panels. */
@media(max-width:1000px){
 .header{display:flex;flex-wrap:wrap;height:auto;min-height:100px;padding:18px 0 0;gap:16px}
 .header .brand{margin-right:auto}
 .header nav{display:flex;order:4;flex:0 0 100%;justify-content:center;gap:28px;border-top:1px solid var(--line);padding:8px 0}
 .header nav a{display:flex;align-items:center;min-height:44px;font-size:14px;white-space:nowrap}
}
@media(max-width:420px){.header nav{gap:16px}.header nav a{font-size:12px}.header{column-gap:10px}.header .nav-cta{gap:5px}}
/* Receipt motion: one brief sequence whenever the hero enters view. */
.scene-receipt{--receipt-angle:7deg;transform-origin:50% 12%}
.scene-receipt.receipt-in-view{animation:receipt-arrive .85s cubic-bezier(.2,.8,.25,1) both,receipt-settle 3.2s ease-in-out .85s forwards}
.receipt-in-view .receipt-paid{animation:receipt-confirm .55s cubic-bezier(.16,1,.3,1) .7s both;transform-origin:left center}
.receipt-in-view .receipt-row{animation:receipt-line .55s ease-out .3s both}
.receipt-in-view .receipt-row+.receipt-row{animation-delay:.45s}
@keyframes receipt-arrive{from{opacity:0;transform:translateY(-34px) rotate(2deg) scale(.96)}to{opacity:1;transform:translateY(0) rotate(var(--receipt-angle)) scale(1)}}
@keyframes receipt-settle{0%,100%{transform:translateY(0) rotate(var(--receipt-angle))}40%{transform:translateY(-8px) rotate(calc(var(--receipt-angle) - 1.5deg))}75%{transform:translateY(2px) rotate(calc(var(--receipt-angle) + .4deg))}}
@keyframes receipt-confirm{0%{opacity:0;transform:scale(1.16) rotate(-4deg)}70%{opacity:1;transform:scale(.98) rotate(0)}100%{opacity:1;transform:scale(1)}}
@keyframes receipt-line{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){.scene-receipt{--receipt-angle:6deg}}
@media(prefers-reduced-motion:reduce){.scene-receipt.receipt-in-view,.receipt-in-view .receipt-paid,.receipt-in-view .receipt-row{animation:none!important}}

/* Brand casing remains PayOn even inside uppercase labels. */
.payon-name{text-transform:none!important}

/* Receipt wordmark uses the existing PayOn orange accent. */
.scene-receipt .receipt-brand{color:var(--red)}
.header .brand,footer .brand,#demo .mini-brand{color:var(--red)}

/* Keep the experience tactile without adding another section. */
#experience .journey-step:focus-visible{outline:2px solid var(--red);outline-offset:6px}
#experience .journey-step.active .step-arrow{transform:rotate(45deg);color:var(--red)}
#experience .step-arrow{transition:transform .2s}
.experience-menu{display:grid;gap:9px;background:var(--paper);color:var(--ink);padding:12px;font-size:11px;box-shadow:5px 5px 0 #23232112}
.experience-menu>span{display:flex;justify-content:space-between;gap:8px}
.experience-menu b{white-space:nowrap;font-weight:500;color:var(--red)}
#experience .mini-split small{display:block;font-size:9px;letter-spacing:.06em;margin-bottom:6px}
#experience .experience-unsplit{grid-template-columns:1fr}
.experience-feedback{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:14px 0;font-size:12px;color:var(--muted)}
.experience-feedback p{margin:0;line-height:1.5}
.experience-feedback button{flex-shrink:0;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;cursor:pointer}
.experience-feedback button:hover{border-color:var(--red);color:var(--red)}
@media(max-width:600px){.experience-feedback{align-items:flex-start}.experience-menu{font-size:12px}}
@media(prefers-reduced-motion:reduce){#experience .step-art,#experience .step-arrow{transition:none}}

/* Quiet Mode: a little activity, then a visible moment of calm. */
.quiet-card .quiet-preview{transition:border-color .6s ease,background .6s ease}
.quiet-card .feature-glyph{display:inline-block;transition:transform .7s ease,opacity .7s ease}
.quiet-card:not(.is-quiet) .quiet-wave i{transform-origin:center;animation:quiet-service-wave 1s ease-in-out 4}
.quiet-card:not(.is-quiet) .quiet-wave i:nth-child(2n){animation-delay:.12s}
.quiet-card:not(.is-quiet) .quiet-wave i:nth-child(3n){animation-delay:.24s}
.quiet-card.is-quiet .quiet-preview{border-color:#f9927660;background:#f992760a}
.quiet-card.is-quiet .feature-glyph{transform:rotate(180deg);opacity:.6}
.quiet-card.is-quiet .quiet-preview::after{content:"";position:absolute;pointer-events:none;inset:0;border:1px solid #f9927680;animation:quiet-calm-ring 1.4s ease-out both}
.quiet-card.is-quiet #quiet-status{animation:quiet-message-in .6s ease-out both}
#quiet-toggle:focus-visible{outline:2px solid #f99276;outline-offset:5px}
@keyframes quiet-service-wave{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.3)}}
@keyframes quiet-calm-ring{from{opacity:.8;transform:scale(.93)}to{opacity:0;transform:scale(1.03)}}
@keyframes quiet-message-in{from{opacity:.35;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.quiet-card .quiet-wave i,.quiet-card.is-quiet .quiet-preview::after,.quiet-card.is-quiet #quiet-status{animation:none!important}.quiet-card .quiet-preview,.quiet-card .feature-glyph,.quiet-card .quiet-wave i,#quiet-toggle,#quiet-toggle>span{transition:none!important}.quiet-card.is-quiet .quiet-preview::after{display:none}}

/* A sign swings in once, then stays still while Quiet Mode is on. */
.quiet-card .feature-glyph{transform:none!important;opacity:1!important}
.quiet-bell{display:block}
.quiet-bell-slash{stroke-dasharray:30;stroke-dashoffset:30;transition:stroke-dashoffset .5s ease}
.is-quiet .quiet-bell-slash{stroke-dashoffset:0}
.quiet-sign-space{height:118px;position:relative;display:grid;place-items:center;margin-bottom:16px;border-bottom:1px solid #ffffff16;padding-bottom:12px}
.quiet-hanging-sign{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;background:var(--paper);color:var(--ink);border-top:3px solid var(--red);padding:10px 23px;transform-origin:50% -8px;opacity:0;transform:translateY(-8px) rotate(-8deg);transition:opacity .25s;box-shadow:3px 4px 0 #0002}
.quiet-hanging-sign>span{font-size:8px;letter-spacing:.13em;color:var(--red)}
.quiet-hanging-sign strong{font:600 23px/.95 var(--display);letter-spacing:-.3px}
.quiet-hanging-sign small{font-size:8px;color:var(--muted)}
.quiet-sign-idle{position:absolute;font-size:10px;letter-spacing:.1em;color:#bdb9af;transition:opacity .25s}
.is-quiet .quiet-sign-idle{opacity:0}
.is-quiet .quiet-hanging-sign{opacity:1;animation:quiet-sign-arrive 1.1s ease-out both}
@keyframes quiet-sign-arrive{0%{opacity:0;transform:translateY(-8px) rotate(-10deg)}35%{opacity:1;transform:translateY(0) rotate(6deg)}65%{transform:rotate(-3deg)}85%{transform:rotate(1deg)}100%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.quiet-bell-slash,.quiet-hanging-sign,.quiet-sign-idle{transition:none}.is-quiet .quiet-hanging-sign{animation:none;transform:none}}

/* Background ripples fade away after Quiet Mode is enabled. */
.quiet-card .quiet-preview::before{content:"";position:absolute;pointer-events:none;width:280px;height:280px;left:50%;top:32%;margin:-140px 0 0 -140px;border-radius:50%;opacity:0;background:repeating-radial-gradient(circle,transparent 0 27px,#f9927626 28px 29px,transparent 30px 50px)}
.quiet-card.is-quiet .quiet-preview::before{animation:quiet-background-ripples 2.4s ease-out both}
.quiet-card .quiet-preview> *{position:relative;z-index:1}
@keyframes quiet-background-ripples{0%{opacity:0;transform:scale(.35)}20%{opacity:.75}100%{opacity:0;transform:scale(1.8)}}
@media(prefers-reduced-motion:reduce){.quiet-card.is-quiet .quiet-preview::before{animation:none;display:none}}

/* Fill the waiter card with a compact, responsive service moment. */
.waiter-scene{display:grid;grid-template-columns:1fr 1.25fr;gap:15px;align-items:center;padding:18px 14px;margin:0 0 20px;border:1px solid #23232122;min-height:142px;overflow:hidden}
.waiter-bell-wrap{position:relative;display:grid;justify-items:center;color:var(--red)}
.waiter-service-bell{position:relative;width:95px;height:76px;transform-origin:50% 85%}
.waiter-bell-caption{font-size:8px;letter-spacing:.1em;white-space:nowrap;color:var(--muted)}
.waiter-ring{position:absolute;top:3px;width:78px;height:78px;border:1px solid var(--red);border-radius:50%;opacity:0}
.waiter-ticket{position:relative;padding:13px 12px;background:var(--paper);border-top:3px solid var(--red);box-shadow:3px 3px 0 #2323210c;min-width:0}
.waiter-ticket>span:first-child{font-size:8px;letter-spacing:.1em;color:var(--muted)}
.waiter-ticket-title{display:block;font:600 25px/.95 var(--display);margin:7px 0}
.waiter-ticket-detail{display:block;font-size:9px;line-height:1.4;color:var(--muted)}
.waiter-ticket-check{position:absolute;right:9px;top:8px;color:var(--red);opacity:0}
.has-waiter-request .waiter-service-bell{animation:waiter-bell-ring .7s ease-in-out}
.has-waiter-request .waiter-ring{animation:waiter-ring-out 1s ease-out}
.has-waiter-request .waiter-ticket{animation:waiter-ticket-arrive .55s ease-out}
.has-waiter-request .waiter-ticket-check{opacity:1;animation:waiter-ticket-arrive .7s ease-out}
@keyframes waiter-bell-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-10deg)}40%{transform:rotate(9deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}
@keyframes waiter-ring-out{0%{opacity:.5;transform:scale(.65)}100%{opacity:0;transform:scale(1.5)}}
@keyframes waiter-ticket-arrive{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.has-waiter-request .waiter-service-bell,.has-waiter-request .waiter-ring,.has-waiter-request .waiter-ticket,.has-waiter-request .waiter-ticket-check{animation:none}}

/* One visible request receipt; retain the original live status for assistive technology. */
.waiter-feedback.waiter-live-only{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.waiter-flow{display:flex;align-items:center;gap:9px;font-size:9px;color:var(--muted);padding:24px 0 16px}
.waiter-flow i{height:1px;flex:1;background:#23232126}
.waiter-flow .done,.has-waiter-request .waiter-flow span{color:var(--red)}
.has-waiter-request .waiter-flow i{background:var(--red);transition:background .4s}
.waiter-request-art{width:100px;height:85px;overflow:visible}
.request-water{transform-origin:center bottom;animation:waiter-water-fill .85s ease-out both}
.request-menu{transform-origin:center;animation:waiter-menu-open .6s ease-out both}
.request-napkin{animation:waiter-napkin-slide .6s ease-out both}
.request-napkin.top{animation-delay:.12s}
.has-waiter-request .request-bell{transform-origin:50% 85%;animation:waiter-bell-ring .7s ease-in-out}
.waiter-card:not(.has-waiter-request) .waiter-ticket{animation:waiter-ticket-reset .35s ease-out}
@keyframes waiter-water-fill{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
@keyframes waiter-menu-open{from{transform:scaleX(.25);opacity:.3}to{transform:scaleX(1);opacity:1}}
@keyframes waiter-napkin-slide{from{transform:translate(15px,-9px);opacity:0}to{transform:translate(0,0);opacity:1}}
@keyframes waiter-ticket-reset{from{transform:translateY(-6px);opacity:.3}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.request-water,.request-menu,.request-napkin,.has-waiter-request .request-bell,.waiter-card:not(.has-waiter-request) .waiter-ticket{animation:none!important}.waiter-flow i{transition:none!important}}

/* Short answers, a tactile reveal, and a useful next step. */
#details .faq summary{align-items:center;min-height:44px;gap:14px;transition:color .2s}
#details .faq summary>span{margin-left:auto;flex-shrink:0;transition:transform .3s ease}
#details .faq-number{font:500 10px 'DM Sans',sans-serif;letter-spacing:.06em;color:var(--muted);flex-shrink:0}
#details .faq details[open] .faq-number,#details .faq summary:hover{color:var(--red)}
#details .faq details[open]{border-bottom-color:var(--red)}
#details .faq-answer{padding-left:29px}
#details .faq details[open] .faq-answer{animation:faq-answer-reveal .35s ease-out}
#details .faq-try{display:inline-flex;align-items:center;min-height:44px;padding:8px 0;margin-top:8px;border:0;background:transparent;color:var(--ink);font:500 12px 'DM Sans',sans-serif;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--red)}
#details .faq-try:hover{color:var(--red)}
#details summary:focus-visible,#details .faq-try:focus-visible,#details .faq-ticket:focus-visible{outline:2px solid var(--red);outline-offset:5px}
#details .faq-ticket{transition:transform .25s ease,box-shadow .25s ease,border-color .25s}
#details .faq-ticket b{transition:transform .25s ease}
#details .faq-ticket:hover{transform:translateY(-3px) rotate(-.5deg);box-shadow:5px 6px 0 #2323210c;border-color:var(--red)}
#details .faq-ticket:hover b{transform:translate(3px,-3px)}
@keyframes faq-answer-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#details .faq details[open] .faq-answer{animation:none}#details .faq summary,#details .faq summary>span,#details .faq-ticket,#details .faq-ticket b{transition:none}}

/* Large scalloped bites travel across the word, then it returns. */
#details .last-bites-word{display:inline-block;position:relative;isolation:isolate}
.bites-edible{display:inline-block;animation:bites-eat-loop 10s linear infinite;animation-play-state:paused;clip-path:inset(0)}
.bites-playing .bites-edible,.bites-playing .bites-crumbs{animation-play-state:running}
@keyframes bites-eat-loop{
 0%,12%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}
 18%,26%{clip-path:polygon(0 0,82% 0,76% 12%,83% 24%,74% 38%,82% 53%,73% 68%,81% 83%,76% 100%,0 100%);opacity:1}
 32%,40%{clip-path:polygon(0 0,60% 0,54% 12%,61% 24%,52% 38%,60% 53%,51% 68%,59% 83%,54% 100%,0 100%);opacity:1}
 46%,54%{clip-path:polygon(0 0,38% 0,32% 12%,39% 24%,30% 38%,38% 53%,29% 68%,37% 83%,32% 100%,0 100%);opacity:1}
 60%,68%{clip-path:polygon(0 0,16% 0,10% 12%,17% 24%,8% 38%,16% 53%,7% 68%,15% 83%,10% 100%,0 100%);opacity:1}
 74%,83%{clip-path:polygon(0 0,0 0,0 100%,0 100%);opacity:0}
 84%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:0}
 94%,100%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);opacity:1}
}
.bites-crumbs{position:absolute;top:45%;right:5%;width:18%;height:35%;pointer-events:none;opacity:0;animation:bites-crumb-loop 10s linear infinite;animation-play-state:paused}
.bites-crumbs i{position:absolute;width:.09em;height:.09em;background:var(--red);transform:rotate(25deg);border-radius:2px}
.bites-crumbs i:nth-child(2){left:45%;top:35%;width:.065em;height:.065em;transform:rotate(-30deg)}
.bites-crumbs i:nth-child(3){left:80%;top:5%;width:.05em;height:.05em}
@keyframes bites-crumb-loop{
 0%,12%{opacity:0;transform:translate(0,0)}
 16%{opacity:1;transform:translate(0,8px)}26%{opacity:0;transform:translate(8px,35px)}
 27%{opacity:0;transform:translate(-100%,0)}32%{opacity:1;transform:translate(-100%,8px)}40%{opacity:0;transform:translate(-90%,35px)}
 41%{opacity:0;transform:translate(-220%,0)}46%{opacity:1;transform:translate(-220%,8px)}54%{opacity:0;transform:translate(-210%,35px)}
 55%{opacity:0;transform:translate(-340%,0)}60%{opacity:1;transform:translate(-340%,8px)}68%{opacity:0;transform:translate(-330%,35px)}
 69%{opacity:0;transform:translate(-440%,0)}74%{opacity:1;transform:translate(-440%,8px)}83%,100%{opacity:0;transform:translate(-430%,35px)}
}
@media(prefers-reduced-motion:reduce){.bites-edible{animation:none;clip-path:none;opacity:1}.bites-crumbs{display:none}}

/* The invitation prints once and stays ready for interaction. */
#details .faq-ticket{overflow:hidden;transform-origin:50% 0}
#details .faq-ticket.ticket-printed{animation:table-ticket-print .8s cubic-bezier(.2,.75,.25,1)}
#details .faq-ticket::after{content:"";position:absolute;right:0;bottom:0;width:21px;height:21px;background:linear-gradient(135deg,#e4dfd4 0 48%,#eae7df 51%);transform:translate(100%,100%);transition:transform .25s;pointer-events:none}
#details .faq-ticket:hover::after,#details .faq-ticket:focus-visible::after{transform:translate(0,0)}
#details .table-ready-stamp{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;text-align:center;background:var(--paper);color:var(--red);font:600 30px/1 var(--display);font-style:normal;letter-spacing:.02em;opacity:0;pointer-events:none;border:3px double var(--red);margin:14px;transform:rotate(-5deg) scale(1.2)}
#details .ticket-stamped .table-ready-stamp{animation:table-ready-stamp .6s ease-out both}
@keyframes table-ticket-print{0%{clip-path:inset(0 0 100% 0);transform:translateY(-12px)}75%{clip-path:inset(0);transform:translateY(3px)}100%{clip-path:inset(0);transform:translateY(0)}}
@keyframes table-ready-stamp{0%{opacity:0;transform:rotate(-9deg) scale(1.2)}35%{opacity:1;transform:rotate(-5deg) scale(.98)}55%,100%{opacity:1;transform:rotate(-5deg) scale(1)}}
@media(prefers-reduced-motion:reduce){#details .faq-ticket.ticket-printed,#details .ticket-stamped .table-ready-stamp{animation:none}#details .faq-ticket::after{transition:none}}

/* Match the mixed-case brand optically to the uppercase closing strapline. */
.closing .section-label .payon-name{font-family:inherit;font-weight:inherit;font-size:1.15em;letter-spacing:inherit;line-height:inherit}

/* A staggered dance with a resting beat between rounds. */
.closing h2 .dance-word{display:inline-block;white-space:nowrap;color:inherit}
.closing h2 .dance-flow{color:var(--ink)}
.closing h2>.dance-word{color:var(--paper)}
.closing .dance-letter{display:inline-block;font:inherit;transform-origin:50% 90%;animation:closing-letter-dance 4.8s ease-in-out infinite;animation-delay:calc(var(--beat)*.085s);animation-play-state:paused}
.closing .dance-visible .dance-letter{animation-play-state:running}
@keyframes closing-letter-dance{0%,48%,100%{transform:translateY(0) rotate(0) scale(1)}10%{transform:translateY(-.11em) rotate(-5deg) scale(1.025)}20%{transform:translateY(.02em) rotate(4deg) scale(.98)}30%{transform:translateY(-.055em) rotate(-2deg) scale(1.01)}40%{transform:translateY(0) rotate(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.closing .dance-letter{animation:none;transform:none}}

/* A lit, dimensional still life built from layered surfaces. */
.closing{position:relative}
.closing-toast{position:absolute;right:5%;top:35px;width:clamp(210px,25vw,350px);pointer-events:none;text-align:center}
.closing-toast>span{display:block;font:500 8px 'DM Sans',sans-serif;letter-spacing:.13em;color:var(--paper);margin-top:2px}
.object-stage{height:255px;position:relative;perspective:850px;isolation:isolate}
.object-shadow{position:absolute;left:12%;right:6%;height:38px;bottom:18px;background:#511b1680;border-radius:50%;filter:blur(16px);transform:rotate(-12deg)}
.ceramic-plate{position:absolute;width:205px;height:205px;bottom:0;left:calc(50% - 104px);border-radius:50%;transform:rotateX(61deg) rotateZ(-18deg);background:linear-gradient(135deg,#fffef8,#ddd5c7 45%,#fffaf0 70%,#c2b8a8);box-shadow:0 2px 0 #c9bdad,0 5px 0 #ab9b88,0 9px 0 #998570,3px 15px 13px #62281950,inset 0 0 0 3px #ffffffa0}
.plate-well{position:absolute;inset:27px;border-radius:50%;background:linear-gradient(135deg,#d5cbbc,#fffaf0 58%,#ece4d6);box-shadow:inset 3px 5px 10px #89765c45,0 1px 2px #fff}
.sculpted-receipt{position:absolute;left:calc(50% - 61px);top:12px;width:130px;transform-style:preserve-3d;transform:rotateY(-19deg) rotateX(12deg) rotateZ(9deg);animation:receipt-sculpture 8s ease-in-out infinite;filter:drop-shadow(15px 18px 10px #4b1c1640)}
.receipt-face{position:relative;padding:15px 13px 18px;background:linear-gradient(110deg,#f1e8d6 0%,#fffdf6 28%,#f7f0e2 70%,#d9cdb8 100%);color:#494238;text-align:left;border-top:1px solid #fffef9;clip-path:polygon(0 0,100% 0,100% 97%,95% 100%,90% 97%,85% 100%,80% 97%,75% 100%,70% 97%,65% 100%,60% 97%,55% 100%,50% 97%,45% 100%,40% 97%,35% 100%,30% 97%,25% 100%,20% 97%,15% 100%,10% 97%,5% 100%,0 97%)}
.receipt-face strong{display:block;color:var(--red);font:700 25px 'Barlow Condensed',sans-serif;letter-spacing:-.5px}
.receipt-face small{display:block;font:500 5px 'DM Sans',sans-serif;letter-spacing:.5px;margin:5px 0}
.fine-rule{border-top:1px dashed #ad9f874f;margin:12px 0}
.receipt-item{display:flex;justify-content:space-between;font:8px/1.9 'DM Sans',sans-serif}
.paid-seal{color:var(--red);font:600 19px 'Barlow Condensed',sans-serif;white-space:nowrap;margin:6px 0 11px}
.paid-seal>span{display:inline-grid;place-items:center;border:1px solid var(--red);border-radius:50%;width:17px;height:17px;font:11px 'DM Sans',sans-serif;vertical-align:middle}
.receipt-barcode{height:16px;width:70%;background:repeating-linear-gradient(90deg,#746a59 0 1px,transparent 1px 3px,#746a59 3px 5px,transparent 5px 6px,#746a59 6px 7px,transparent 7px 10px);opacity:.5;margin-bottom:8px}
.receipt-curl{position:absolute;top:-3px;left:0;right:0;height:6px;border-radius:50%;background:linear-gradient(#bcb09b,#fffaf0);box-shadow:0 1px 1px #61584730}
.steel-fork{position:absolute;left:15%;top:109px;width:23px;height:115px;transform:rotateZ(23deg) rotateX(30deg);filter:drop-shadow(3px 6px 3px #57291e60)}
.steel-fork i{position:absolute;width:3px;height:28px;top:0;left:0;border-radius:3px;background:linear-gradient(90deg,#675b4d,#fff6e2 45%,#a99a82)}
.steel-fork i:nth-child(2){left:6px}.steel-fork i:nth-child(3){left:12px}.steel-fork i:nth-child(4){left:18px}
.steel-fork b{position:absolute;top:24px;left:0;width:21px;height:83px;background:linear-gradient(90deg,#897560,#fff8e4 38%,#a3937c 65%,#e6dac1);clip-path:polygon(0 0,100% 0,82% 13%,62% 20%,67% 92%,58% 100%,37% 100%,29% 92%,37% 20%,12% 13%)}
.payment-medallion{position:absolute;right:12%;top:145px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#fff1c5,#b6935e 45%,#f8e4b5 70%,#a27b42);box-shadow:2px 3px 0 #95713d,4px 6px 0 #7d592d,9px 12px 10px #59221950;display:grid;place-items:center;transform:rotateY(-25deg) rotateZ(-13deg);animation:medallion-float 8s ease-in-out infinite}
.payment-medallion>span{border:1px solid #9d7c46;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font:22px Georgia;color:#816236;text-shadow:0 1px #fff3cc}
.finale-object .sculpted-receipt,.finale-object .payment-medallion{animation-play-state:paused}
.finale-object.toast-visible .sculpted-receipt,.finale-object.toast-visible .payment-medallion{animation-play-state:running}
@keyframes receipt-sculpture{0%,100%{transform:translateY(0) rotateY(-19deg) rotateX(12deg) rotateZ(9deg)}50%{transform:translateY(-12px) rotateY(6deg) rotateX(5deg) rotateZ(5deg)}}
@keyframes medallion-float{0%,100%{transform:translateY(0) rotateY(-25deg) rotateZ(-13deg)}50%{transform:translateY(-7px) rotateY(15deg) rotateZ(-5deg)}}
@media(min-width:721px) and (max-width:900px){.closing-toast{right:2%;width:220px;top:55px}.object-stage{transform:scale(.85);transform-origin:center top;height:222px}}
@media(max-width:720px){.closing-toast{position:relative;top:auto;right:auto;width:270px;margin:28px auto 0}}
@media(prefers-reduced-motion:reduce){.finale-object .sculpted-receipt,.finale-object .payment-medallion{animation:none}}

/* Match the Table Chat lockup: centered logo, proportional size and consistent gap. */
.scene-receipt .receipt-brand,.sculpted-receipt .receipt-face>strong{display:flex;align-items:center;justify-content:flex-start;gap:.27em;white-space:nowrap}
.scene-receipt .receipt-brand>.receipt-payon-logo,.sculpted-receipt .receipt-face>strong>.receipt-payon-logo{display:block;width:1.08em;height:1.08em;flex:0 0 1.08em;max-width:none;object-fit:contain;margin:0;mix-blend-mode:multiply;border:0;box-shadow:none;transform:none}

/* Optical alignment for the hero wordmark; leave the closing receipt unchanged. */
.scene-receipt .receipt-brand>.receipt-payon-logo{transform:translateY(.04em)}

/* Section 02 menu branding; preserve the existing wordmark typography. */
#demo .product-top .mini-brand{display:inline-flex;align-items:center;gap:.27em;white-space:nowrap}
#demo .product-top .mini-brand>.menu-payon-logo{display:block;width:1.08em;height:1.08em;flex:0 0 1.08em;max-width:none;object-fit:contain;margin:0;mix-blend-mode:multiply;border:0;box-shadow:none;transform:none}
/* Dimensional service objects, confined to the waiter demonstration. */
.waiter-card .waiter-scene{min-height:205px;background:radial-gradient(ellipse at 25% 50%,#fffaf1,transparent 70%);padding:20px 14px;gap:20px}
.waiter-card .waiter-request-art{width:160px;height:145px;position:relative;perspective:650px;isolation:isolate}
.waiter-card .service-object{position:absolute;inset:0;transform-style:preserve-3d}
.waiter-card .service-object:after{content:'';position:absolute;bottom:6px;left:25px;width:112px;height:15px;background:#3b2c2233;filter:blur(7px);border-radius:50%;z-index:-1}
.waiter-card .waiter-ring{display:none}
.waiter-card .water-glass{position:absolute;left:51px;top:47px;width:65px;height:87px;border:1px solid #b2c5c3;border-radius:6px 6px 18px 18px;background:linear-gradient(90deg,#ffffff99,#ccded31a 25%,#ffffffaa 50%,#a2b7b733 85%,#ffffffdd);box-shadow:inset 3px 0 5px #fff, inset -3px -2px 6px #85999555,3px 4px 7px #43504a15;overflow:hidden}
.waiter-card .glass-rim{position:absolute;top:-1px;left:-1px;right:-1px;height:12px;border:2px solid #d5e3dc;border-radius:50%;background:#fff8;box-shadow:0 1px 2px #6b888155}
.waiter-card .glass-base{position:absolute;bottom:2px;left:5px;right:5px;height:10px;border:2px solid #d4ded7;border-radius:50%;background:#d1e5dd70;box-shadow:0 2px 2px #fff}
.waiter-card .glass-liquid{position:absolute;bottom:7px;left:4px;right:4px;height:59px;border-radius:0 0 13px 13px;background:linear-gradient(90deg,#99c5bf88,#d4f0e899 35%,#a9d0caaa 80%,#83b1ad77);transform-origin:bottom;animation:service-fill 4.8s ease-in-out infinite}
.waiter-card .glass-liquid:before{content:'';position:absolute;top:-5px;left:0;right:0;height:11px;border-radius:50%;background:#d4ede6bd;border:1px solid #9fc8c2}
.waiter-card .glass-liquid i{position:absolute;top:-4px;left:30%;width:40%;height:8px;border:1px solid #fff;border-radius:50%;animation:service-water-ripple 1s ease-out infinite}
.waiter-card .glass-shine{position:absolute;top:14px;bottom:17px;left:8px;width:5px;border-radius:50%;background:#fffd;box-shadow:40px 0 0 -1px #ffffff99}
.waiter-card .water-carafe{position:absolute;top:-4px;right:8px;width:42px;height:67px;transform:rotate(-42deg);transform-origin:top center;animation:service-pour 4.8s ease-in-out infinite}
.waiter-card .carafe-neck{position:absolute;top:0;left:14px;width:16px;height:25px;border:1px solid #b2c5c3;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#e0ebe377,#fff,#c2d9cf99)}
.waiter-card .carafe-body{position:absolute;top:21px;width:42px;height:46px;border-radius:12px 12px 7px 7px;border:1px solid #b2c5c3;background:linear-gradient(90deg,#b7d2cba0,#ffffffb0 40%,#a4c8c0aa);box-shadow:inset 5px 0 4px #fff9}
.waiter-card .water-stream{position:absolute;left:81px;top:25px;width:4px;height:51px;border-radius:40%;background:linear-gradient(90deg,#a0c9c7,#fff,#bddcd7);transform-origin:top;animation:service-stream 4.8s ease-in-out infinite;z-index:2}
.waiter-card .menu-book{position:absolute;left:46px;top:19px;width:84px;height:111px;transform:rotateX(15deg) rotateY(-18deg) rotateZ(7deg);transform-style:preserve-3d}
.waiter-card .menu-page{position:absolute;inset:0;background:#fff9e9;border-radius:1px 5px 5px 1px;padding:11px 10px;box-shadow:2px 1px 0 #d5ccba,4px 2px 0 #f6eeda,5px 3px 0 #b5a995;color:#383029}
.waiter-card .menu-page small{font:5px 'DM Sans',sans-serif;letter-spacing:.04em}.waiter-card .menu-page i{display:block;height:1px;background:#b5a995;margin:7px 0;width:90%}.waiter-card .menu-page b{font:600 23px/.9 var(--display);display:block;color:var(--red)}
.waiter-card .menu-cover{position:absolute;inset:0;transform-origin:left;transform-style:preserve-3d;backface-visibility:visible;background:linear-gradient(100deg,#912915,#e54425 12%,#ed5a37 65%,#cb361d);border-radius:2px 4px 4px 2px;box-shadow:inset 2px 0 2px #fff4,1px 2px 3px #38241466;padding:12px 9px;color:#fff0d6;animation:service-menu-open 5.5s ease-in-out infinite}
.waiter-card .menu-cover>span{font:600 9px 'DM Sans',sans-serif}.waiter-card .menu-cover strong{display:block;font:600 29px/.87 var(--display);margin:13px 0}.waiter-card .menu-cover small{font:4px 'DM Sans',sans-serif;letter-spacing:.03em}
.waiter-card .napkin-plate{position:absolute;left:14px;top:58px;width:136px;height:69px;border-radius:50%;background:radial-gradient(ellipse,#e6ddcc 48%,#fffaf0 51%,#e3dbcc 63%,#fffcf6 66%);box-shadow:0 5px 0 #c9c1b4,0 9px 10px #50432e29;transform:rotate(-9deg)}
.waiter-card .linen-stack{position:absolute;left:39px;top:45px;width:87px;height:74px;transform:rotateX(52deg) rotateZ(-22deg);background:repeating-linear-gradient(0deg,#ece4d5 0 1px,#f9f3e9 1px 3px);border:1px solid #d4c8b5;box-shadow:1px 4px 0 #bfb29d,2px 6px 5px #6b583922}
.waiter-card .linen-middle{top:37px;transform:rotateX(52deg) rotateZ(-15deg)}
.waiter-card .linen-top{top:28px;transform:rotateX(52deg) rotateZ(-22deg);animation:service-linen 5s ease-in-out infinite}
.waiter-card .linen-top:before{content:'';position:absolute;inset:5px;border:1px dashed #d3c6b0}.waiter-card .linen-top i{position:absolute;inset:0;background:linear-gradient(135deg,transparent 48%,#c5b89f88 50%,#fff9ed 53%);clip-path:polygon(0 0,100% 0,0 100%)}
.waiter-card .linen-top span{position:absolute;bottom:12px;right:12px;color:#b76646;font:600 10px 'DM Sans',sans-serif;transform:rotate(2deg)}
.waiter-card .bell-dome{position:absolute;left:31px;top:49px;width:100px;height:64px;border-radius:60px 60px 3px 3px;background:radial-gradient(ellipse at 35% 18%,#fff 0,#d8d6cf 20%,#77786f 45%,#f9f8ef 65%,#73776f 91%);box-shadow:inset 0 -6px 3px #4a4f47}
.waiter-card .bell-plunger{position:absolute;left:74px;top:33px;width:13px;height:21px;background:linear-gradient(90deg,#666,#fff,#858579);border-radius:5px;animation:service-bell-press 4s ease-in-out infinite}
.waiter-card .bell-foot{position:absolute;left:23px;top:109px;width:117px;height:16px;border-radius:50%;background:linear-gradient(#93968a,#f0eee1 40%,#33382e 50%,#33382e 85%,#878e7e);box-shadow:0 5px 8px #2223}
@keyframes service-fill{0%,12%{transform:scaleY(.22)}65%,88%{transform:scaleY(1)}100%{transform:scaleY(.22)}}
@keyframes service-pour{0%,8%,90%,100%{transform:translate(10px,-9px) rotate(-10deg);opacity:0}18%,73%{transform:rotate(-42deg);opacity:1}83%{transform:translate(5px,-5px) rotate(-10deg);opacity:0}}
@keyframes service-stream{0%,17%,77%,100%{transform:scaleY(0);opacity:0}25%,66%{transform:scaleY(1);opacity:.85}}
@keyframes service-water-ripple{from{transform:scale(.3);opacity:.9}to{transform:scale(1.7);opacity:0}}
@keyframes service-menu-open{0%,12%,100%{transform:rotateY(0)}40%,74%{transform:rotateY(-105deg)}}
@keyframes service-linen{0%,15%,100%{transform:translate(0,0) rotateX(52deg) rotateZ(-22deg)}45%,68%{transform:translate(-10px,-16px) rotateX(40deg) rotateZ(-29deg)}}
@keyframes service-bell-press{0%,35%,55%,100%{transform:translateY(0)}43%{transform:translateY(6px)}}
@media(max-width:420px){.waiter-card .waiter-request-art{width:135px;transform:scale(.85);transform-origin:center}.waiter-card .waiter-scene{gap:6px;grid-template-columns:1fr 1fr}.waiter-card .waiter-ticket-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){.waiter-card .service-object *{animation:none!important}.waiter-card .menu-cover{transform:rotateY(-85deg)}.waiter-card .water-carafe,.waiter-card .water-stream{display:none}}
/* Water-only refinement: glass optics, aligned spout and a slower pour. */
.waiter-card .water-realistic:after{display:none}
.waiter-card .water-study{display:block;width:100%;height:100%;overflow:visible;animation:refill-scene-cycle 7s linear infinite}
.waiter-card .refill-pitcher{transform-origin:98px 41px;animation:refill-pitcher-tilt 7s ease-in-out infinite}
.waiter-card .refill-pour-stream{stroke-dasharray:90;stroke-dashoffset:90;animation:refill-stream-flow 7s ease-in-out infinite}
.waiter-card .refill-water-level{animation:refill-level-rise 7s cubic-bezier(.3,.1,.4,1) infinite}
.waiter-card .refill-ripple{transform-box:fill-box;transform-origin:center;animation:refill-surface-ripple 1.5s ease-out infinite}
.waiter-card .ripple-two{animation-delay:.7s}
.waiter-card .refill-bubble{animation:refill-air-rise 2.2s ease-out infinite}
.waiter-card .bubble-two{animation-delay:.9s}
@keyframes refill-scene-cycle{0%,100%{opacity:0}7%,92%{opacity:1}}
@keyframes refill-pitcher-tilt{0%,7%{transform:translate(10px,-9px) rotate(20deg);opacity:0}17%,65%{transform:translate(0,0) rotate(0);opacity:1}79%,100%{transform:translate(10px,-9px) rotate(20deg);opacity:0}}
@keyframes refill-stream-flow{0%,16%{stroke-dashoffset:90;opacity:0}23%,61%{stroke-dashoffset:0;opacity:.85}71%,100%{stroke-dashoffset:-90;opacity:0}}
@keyframes refill-level-rise{0%,17%{transform:translateY(35px)}68%,100%{transform:translateY(-5px)}}
@keyframes refill-surface-ripple{0%{transform:scale(.2);opacity:0}20%{opacity:.85}100%{transform:scale(1.6);opacity:0}}
@keyframes refill-air-rise{0%{transform:translateY(8px);opacity:0}25%{opacity:.8}100%{transform:translateY(-15px);opacity:0}}
@media(prefers-reduced-motion:reduce){.waiter-card .water-study,.waiter-card .water-study *{animation:none!important}.waiter-card .refill-pitcher,.waiter-card .refill-pour-stream,.waiter-card .refill-bubble{display:none}.waiter-card .refill-water-level{transform:translateY(-5px)}}
/* Keep the sculpted animation style, with more restrained fabric movement. */
.waiter-card .linen-stack{background:repeating-linear-gradient(90deg,#ffffff12 0 1px,transparent 1px 3px),repeating-linear-gradient(0deg,#ded5c633 0 1px,#f8f1e6 1px 3px);border-radius:2px 3px 5px 2px;box-shadow:0 1px 0 #fffc,1px 3px 0 #d9cdbc,2px 5px 0 #bfb29d,3px 8px 6px #6b583926}
.waiter-card .linen-top{animation:service-linen-refined 6.5s cubic-bezier(.45,0,.25,1) infinite;transform-style:preserve-3d}
.waiter-card .linen-top:before{inset:6px;border-color:#cfc0a9;opacity:.65}
.waiter-card .linen-top i{background:linear-gradient(135deg,transparent 46%,#c5b89f55 49%,#fffaf0 52%,#eee4d4 58%);opacity:.8}
.waiter-card .linen-fold-corner{position:absolute;right:-1px;bottom:-1px;width:25px;height:25px;background:linear-gradient(135deg,#d7cbb8,#fffaf0 60%,#eee2d0);clip-path:polygon(100% 0,100% 100%,0 100%);transform-origin:100% 100%;animation:service-linen-corner 6.5s ease-in-out infinite}
.waiter-card .service-napkins:after{animation:service-linen-shadow 6.5s ease-in-out infinite}
.waiter-card .water-study{animation:none}
.waiter-card .refill-pitcher,.waiter-card .refill-pour-stream,.waiter-card .refill-water-level{animation-duration:8.5s}
.waiter-card .refill-pour-stream{stroke-width:2.3}
.waiter-card .refill-ripple{stroke-width:.6;animation-duration:1.9s}
.waiter-card .refill-bubble{animation-duration:3s;opacity:.5}
@keyframes service-linen-refined{0%,18%,100%{transform:translate(0,0) rotateX(52deg) rotateZ(-22deg)}44%,64%{transform:translate(-4px,-9px) rotateX(46deg) rotateZ(-25deg)}83%{transform:translate(0,1px) rotateX(53deg) rotateZ(-22deg)}}
@keyframes service-linen-corner{0%,20%,100%{transform:rotateX(0)}45%,62%{transform:rotateX(-24deg)}80%{transform:rotateX(4deg)}}
@keyframes service-linen-shadow{0%,18%,100%{opacity:1;transform:scale(1)}44%,64%{opacity:.65;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){.waiter-card .service-napkins:after{animation:none}}

/* Ceramic plate under the linen: continuous shading instead of outlined rings. */
.waiter-card .service-napkins{isolation:isolate}
.waiter-card .napkin-plate{z-index:0;background:radial-gradient(ellipse at 48% 38%,#f0e9dc 0%,#f1eadd 46%,#f9f4ea 62%,#fdf9f0 74%,#e8dfd0 100%);border:0;box-shadow:0 2px 1px #c9c0b24d,0 5px 8px #50432e16}
.waiter-card .linen-stack{z-index:1}
.waiter-card .linen-middle{z-index:2}
.waiter-card .linen-top{z-index:3}

/* A centered cord runs from the N directly through the hotel tag eyelet. */
.quiet-card .dnd-letter{position:relative;display:inline-block}
.quiet-card .hotel-dnd{position:absolute;z-index:3;top:76%;left:50%;margin-left:-27px;width:54px;pointer-events:none;opacity:0;visibility:hidden;transform:rotate(-8deg);transform-origin:27px 0;transition:opacity .25s ease,visibility .25s ease}
.quiet-card .dnd-cord{position:absolute;left:22px;top:-7px;width:10px;height:36px;border:1.3px solid #c4a783;border-radius:50%;z-index:2;box-shadow:inset 1px 0 0 #fff6,1px 0 1px #0005}
.quiet-card .dnd-door-tag{position:relative;margin-top:15px;display:flex;flex-direction:column;align-items:center;width:54px;padding:7px 5px 9px;box-sizing:border-box;border:1px solid #f9efda;border-radius:19px 19px 5px 5px;background:linear-gradient(115deg,#fffaf0 0%,#f3e8d3 70%,#e8d8ba 100%);color:#343027;box-shadow:1px 2px 0 #b8a58a,2px 5px 8px #0004,inset 1px 0 0 #fff9;font-family:'DM Sans',sans-serif;letter-spacing:0;text-shadow:none}
.quiet-card .dnd-door-tag:after{content:'';position:absolute;inset:27px 4px 4px;border:1px solid #b9a38340;border-radius:2px;pointer-events:none}
.quiet-card .dnd-hole{display:block;flex-shrink:0;width:11px;height:11px;box-sizing:border-box;border-radius:50%;background:var(--ink);border:1px solid #ae9878;box-shadow:inset 0 1px 2px #0005,0 1px 0 #fffc;margin-bottom:7px}
.quiet-card .dnd-moon{color:#d43e23;font:19px/1 Georgia,serif;margin-bottom:5px}
.quiet-card .dnd-door-tag strong{font:700 13px/.95 var(--display);text-align:center;letter-spacing:.025em}
.quiet-card .dnd-rule{width:18px;height:1px;background:#d43e2370;margin:6px 0 5px}
.quiet-card .dnd-door-tag small{font:600 4px/1.2 'DM Sans',sans-serif;letter-spacing:.13em;color:#766348}
.quiet-card.is-quiet .hotel-dnd{visibility:visible;opacity:1;animation:hotel-dnd-hang 1.8s ease-out both}
@keyframes hotel-dnd-hang{0%{opacity:0;transform:rotate(-12deg)}22%{opacity:1;transform:rotate(9deg)}45%{transform:rotate(-5deg)}65%{transform:rotate(3deg)}82%{transform:rotate(-1deg)}100%{transform:rotate(0)}}
@media(prefers-reduced-motion:reduce){.quiet-card .hotel-dnd{transition:none}.quiet-card.is-quiet .hotel-dnd{animation:none;transform:rotate(0)}}

/* Suspend the band through the upper inner opening of the N. */
.quiet-card .hotel-dnd{top:28%;left:69%;transform-origin:27px 0}
.quiet-card .dnd-cord{top:-1px;left:24px;width:6px;height:52px;border-width:1px;transform:rotate(-3deg);transform-origin:50% 0}
.quiet-card .dnd-door-tag{margin-top:37px}
.quiet-card.is-quiet .hotel-dnd{animation:hotel-dnd-hang 1.8s ease-out both,hotel-dnd-sway 4.8s ease-in-out 1.8s infinite}
@keyframes hotel-dnd-sway{0%,100%{transform:rotate(0)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){.quiet-card.is-quiet .hotel-dnd{animation:none;transform:none}}

/* Two identical runs meet edge to edge for a seamless ticker. */
.ticker{display:block;padding-left:0;padding-right:0}
.ticker .ticker-track{display:flex;width:max-content;animation:payon-ticker-run 26s linear infinite;will-change:transform}
.ticker .ticker-group{display:flex;align-items:center;justify-content:space-around;gap:34px;min-width:100vw;flex-shrink:0;padding:0 17px;box-sizing:border-box}
.ticker .ticker-group>span,.ticker .ticker-group>b{display:block;flex-shrink:0}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes payon-ticker-run{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none;transform:none;will-change:auto;width:auto}.ticker .ticker-group{min-width:0;flex-wrap:wrap;gap:16px;justify-content:center;width:100%}.ticker .ticker-group+ .ticker-group{display:none}}

/* Useful ticker links and a slow rotation of the existing separators. */
.ticker .ticker-group>a{display:block;flex-shrink:0;color:inherit;transition:transform .25s ease;text-decoration:none}
.ticker .ticker-group>a>span{display:block}
.ticker .ticker-group>a:hover{transform:translateY(-3px)}
.ticker .ticker-group>a:focus-visible{outline:2px solid currentColor;outline-offset:6px;border-radius:2px}
.ticker .ticker-group>b{animation:ticker-star-turn 18s linear infinite;transform-origin:center}
.ticker:focus-within .ticker-track{animation-play-state:paused}
@keyframes ticker-star-turn{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-group>b{animation:none}.ticker .ticker-group>a{transition:none}}

/* COMFORTABLE takes its seat; preserve the existing heading typography. */
#experience .comfortable-seat{position:relative;display:inline-block;padding-bottom:22px;isolation:isolate;white-space:nowrap}
#experience .comfortable-word{position:relative;display:inline-block;z-index:2;color:var(--red)}
#experience .comfortable-letter{display:inline-block;color:inherit;transform-origin:50% 100%}
#experience .comfortable-bench{position:absolute;left:-2%;right:-2%;height:10px;bottom:18px;border-radius:50% 50% 4px 4px/45% 45% 4px 4px;background:linear-gradient(#f5debc 0%,#dcc09b 45%,#b89369 85%,#c6a47c 100%);box-shadow:0 2px 0 #967650,0 6px 7px #70523120;z-index:1;transform-origin:center}
#experience .comfortable-bench:before{content:'';position:absolute;inset:2px 4% 4px;border-top:1px solid #fff6;border-radius:50%}
#experience .comfortable-bench i,#experience .comfortable-bench b{position:absolute;top:9px;width:5px;height:14px;background:linear-gradient(90deg,#aa8660,#d1af85 50%,#98724d);border-radius:0 0 2px 2px;z-index:-1}
#experience .comfortable-bench i{left:10%;transform:rotate(8deg)}#experience .comfortable-bench b{right:10%;transform:rotate(-8deg)}
#experience .comfortable-seat.is-seated .comfortable-letter{animation:comfortable-sit 1.05s cubic-bezier(.2,.7,.25,1) var(--seat-delay) both}
#experience .comfortable-seat.is-seated .comfortable-bench{animation:comfortable-seat-give 1.6s ease-out .2s both}
#experience .comfortable-seat:hover .comfortable-word{transform:translateY(1px);transition:transform .4s ease}
@keyframes comfortable-sit{0%{transform:translateY(-13px) rotate(-2deg)}45%{transform:translateY(2px) scaleY(.97)}70%{transform:translateY(-1px) rotate(.5deg)}100%{transform:translateY(0) rotate(0)}}
@keyframes comfortable-seat-give{0%,100%{transform:translateY(0)}40%{transform:translateY(2px)}70%{transform:translateY(-.5px)}}
@media(prefers-reduced-motion:reduce){#experience .comfortable-seat *,#experience .comfortable-seat:hover .comfortable-word{animation:none!important;transition:none!important;transform:none}}

/* TABLE alternates with a table in the same typographic footprint. */
#experience .table-word-morph{position:relative;display:inline-block;color:var(--ink);vertical-align:baseline;white-space:nowrap;isolation:isolate}
#experience .table-morph-text{display:inline-block;color:inherit;animation:table-to-word 8s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 80%}
#experience .table-morph-object{position:absolute;inset:0;color:inherit;opacity:0;pointer-events:none;animation:word-to-table 8s ease-in-out infinite;animation-play-state:paused;transform-origin:50% 85%}
#experience .morph-table-top{position:absolute;left:2%;right:2%;top:23%;height:18%;border-radius:50% 50% 3px 3px/40% 40% 3px 3px;background:linear-gradient(#f0c99b,#c59d70 55%,#9b734d);box-shadow:0 2px 0 #79573b,inset 0 1px 1px #fff9;z-index:2}
#experience .morph-table-leg{position:absolute;top:39%;height:43%;width:5%;border-radius:0 0 2px 2px;background:linear-gradient(90deg,#876144,#cea577 55%,#a07751);z-index:1}
#experience .morph-table-leg.leg-left{left:12%;transform:rotate(7deg)}#experience .morph-table-leg.leg-right{right:12%;transform:rotate(-7deg)}
#experience .morph-table-shadow{position:absolute;bottom:11%;left:7%;right:7%;height:7%;background:#61452d30;filter:blur(3px);border-radius:50%}
#experience .table-word-morph.morph-visible>span{animation-play-state:running}
@keyframes table-to-word{0%,22%,88%,100%{opacity:1;transform:translateY(0) scaleY(1);filter:blur(0)}34%,74%{opacity:0;transform:translateY(.08em) scaleY(.22);filter:blur(2px)}}
@keyframes word-to-table{0%,22%,88%,100%{opacity:0;transform:translateY(.04em) scaleX(.8) scaleY(.3)}36%,72%{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){#experience .table-morph-text{animation:none;opacity:1}#experience .table-morph-object{animation:none;display:none}}

/* Reserve room for the hanging tag, keeping copy and controls unobstructed. */
.quiet-card h3{padding-bottom:60px}
@media(max-width:720px){.quiet-card .quiet-last-line{font-size:.85em}}

/* Guest reservation occasion */
.booking-fields .booking-occasion{grid-column:1/-1}.booking-occasion>span{font-weight:400;color:var(--muted);font-size:11px}.booking-occasion select:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* Photoreal glass, retaining the existing 160 × 145 service-art container. */
.waiter-card .water-crystal:after{display:none}
.refill-crystal{position:absolute;width:110px;height:110px;left:20px;bottom:5px;isolation:isolate}
.refill-crystal>img,.refill-crystal>svg{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.crystal-level{animation:crystal-fill 8s linear infinite}
.crystal-stream{animation:crystal-pour 8s linear infinite}
.crystal-ripple{transform-box:fill-box;transform-origin:center;animation:crystal-ripple 1.1s ease-out infinite}
.crystal-ripple-delayed{animation-delay:.55s}
@keyframes crystal-fill{0%,10%{transform:translateY(925px);opacity:0}14%{opacity:1}65%,88%{transform:translateY(430px);opacity:1}96%,100%{transform:translateY(430px);opacity:0}}
@keyframes crystal-pour{0%,10%{height:890px;opacity:0}14%{height:860px;opacity:.85}65%{height:400px;opacity:.85}69%,100%{height:400px;opacity:0}}
@keyframes crystal-ripple{0%{transform:scale(.2);opacity:0}20%{opacity:.8}100%{transform:scale(2.4);opacity:0}}
@media(prefers-reduced-motion:reduce){.waiter-card .crystal-level{animation:none!important;transform:translateY(430px)}.waiter-card .crystal-stream,.waiter-card .crystal-ripple{display:none}}

/* Blender Cycles: water, stream and glass are one ray-traced animation. */
.waiter-card .water-cycles:after{display:none}
.waiter-card .refill-render{display:block;position:absolute;width:110px;height:124px;left:20px;bottom:5px}
.waiter-card .refill-render img{display:block;width:100%;height:100%;object-fit:contain}

.waiter-card .refill-render{height:110px}
#demo{position:relative}
.menu-guide-arrow{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3;color:var(--red)}
.menu-guide-arrow path{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.menu-guide-line{stroke-dasharray:1;stroke-dashoffset:1;animation:menu-guide-draw 4.8s ease-in-out infinite;animation-play-state:paused}
.menu-guide-head{opacity:0;animation:menu-guide-tip 4.8s ease-in-out infinite;animation-play-state:paused}
.menu-guide-arrow.guide-visible path{animation-play-state:running}
@keyframes menu-guide-draw{0%,8%{stroke-dashoffset:1;opacity:0}13%{opacity:1}48%,80%{stroke-dashoffset:0;opacity:1}96%,100%{stroke-dashoffset:0;opacity:0}}
@keyframes menu-guide-tip{0%,43%{opacity:0}51%,80%{opacity:1}96%,100%{opacity:0}}
@media(max-width:700px){.menu-guide-arrow path{stroke-width:2.25}}
@media(prefers-reduced-motion:reduce){.menu-guide-arrow path{animation:none}.menu-guide-line{stroke-dashoffset:0}.menu-guide-head{opacity:1}}
