html,body{overflow-x:clip}body{background:#f5ecd6}.concept{background:#401d23;position:relative;z-index:50}header{position:absolute;top:31px;left:0;right:0;z-index:30;background:transparent;color:#fff1cf;border-bottom:1px solid #fff2c53d;padding:28px 4%}.nav-book{background:#f0d482;color:#542327}.logo{font-size:40px}.supper-arrival{position:relative;height:calc(100svh - 30px);min-height:760px;background:#452021;color:#fff2cf;overflow:hidden;isolation:isolate}.supper-arrival-image{position:absolute;inset:0;z-index:-3}.supper-arrival-image img{height:115%;width:100%;object-fit:cover;object-position:center 58%;transform:translateY(var(--entrance-drift,0px)) scale(1.04);animation:arrive-photo 2.4s cubic-bezier(.2,.7,.2,1) both}.supper-arrival-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#290e2466,transparent 70%),linear-gradient(0deg,#2c0e24bb,transparent 70%),linear-gradient(180deg,#1b102373,transparent 35%)}.supper-curtain{position:absolute;top:0;bottom:0;width:51%;z-index:20;background:repeating-linear-gradient(90deg,#582027 0 10px,#68222a 20px,#4a1924 40px);box-shadow:0 0 40px #160b1c66;pointer-events:none}.supper-curtain.left{left:0;animation:open-left 1.8s cubic-bezier(.76,0,.24,1) .15s both}.supper-curtain.right{right:0;animation:open-right 1.8s cubic-bezier(.76,0,.24,1) .15s both}.supper-welcome{position:absolute;left:5%;top:155px;font-size:8px;letter-spacing:.2em;color:#f4d68c;animation:text-arrive 1.2s .6s both}.supper-arrival h1{position:absolute;left:4.5%;top:25%;font-size:clamp(100px,12vw,185px);line-height:.86;letter-spacing:-.065em;text-shadow:0 5px 45px #1d0e2440;margin:0;animation:text-arrive 1.5s .7s both;transform:translateY(var(--entrance-type,0px))}.supper-arrival h1 em{color:#f2d587}.arrival-ticket{position:absolute;right:7%;bottom:125px;background:#f2dfad;color:#5f2a2c;width:245px;padding:25px;transform:rotate(5deg);box-shadow:0 12px 45px #190e2455;animation:ticket-arrive 1.8s .9s both}.arrival-ticket:before,.arrival-ticket:after{content:'';position:absolute;left:-7px;width:14px;height:14px;border-radius:50%;background:#543527;top:55px}.arrival-ticket:after{left:auto;right:-7px}.arrival-ticket>span{font-size:7px;letter-spacing:.15em;padding-bottom:17px;border-bottom:1px dashed #5f2a2c55;display:block}.arrival-ticket p{font:26px/1.15 'DM Serif Display';margin:20px 0}.arrival-ticket a{display:flex;justify-content:space-between;background:#642d2b;color:#fff0d0;padding:13px 14px;font-size:11px}.arrival-ticket small{display:block;font-size:6px;letter-spacing:.1em;margin-top:16px}.supper-arrival-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:end;gap:25px;color:#f3e2bd}.supper-arrival-bottom>span{font-size:8px;letter-spacing:.12em;line-height:1.8}.supper-arrival-bottom>a{display:flex;gap:22px;align-items:center;font-size:9px;letter-spacing:.15em}.supper-arrival-bottom i{font-size:29px;font-style:normal;animation:supper-bounce 2s ease-in-out infinite}.hero-doodle{position:absolute;left:5%;bottom:120px;width:85px;transform:rotate(-10deg);opacity:.9}.hero-doodle svg{width:100%;fill:none;stroke:#f3d98d;stroke-width:2;stroke-linecap:round}.marquee{background:#f1d582;color:#61252b;padding:15px 0;font-size:34px}.marquee span{animation-duration:24s}.table-ritual{height:260svh;position:relative;background:#efe3c7;color:#67282e}.ritual-sticky{position:sticky;top:0;height:100svh;min-height:700px;overflow:hidden;isolation:isolate;background:repeating-linear-gradient(90deg,transparent 0 119px,#913c3020 120px 121px),repeating-linear-gradient(0deg,transparent 0 119px,#913c3020 120px 121px),#f0e5c9}.table-rings{position:absolute;width:730px;height:730px;right:-70px;top:50%;transform:translateY(-50%);border:1px solid #71332630;border-radius:50%;z-index:-1}.table-rings:before,.table-rings:after{content:'';position:absolute;inset:22px;border:1px solid #71332625;border-radius:50%}.table-rings:after{inset:-22px}.ritual-heading{position:absolute;left:5%;top:16%;width:45%;z-index:4}.ritual-heading h2{font-size:clamp(65px,7vw,110px);margin:35px 0 25px;line-height:.95;letter-spacing:-.045em}.ritual-heading>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:280px}.floating-dish{position:absolute;right:-9%;top:50%;width:76%;height:90%;object-fit:contain;transform:translateY(-50%) translateX(var(--dish-x,0px)) rotate(var(--dish-turn,-15deg)) scale(var(--dish-scale,1));filter:drop-shadow(0 20px 25px #54231c30);will-change:transform;user-select:none;pointer-events:none}.ritual-side-note{position:absolute;right:5%;top:7%;left:5%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.12em}.ritual-progress{position:absolute;left:5%;right:5%;bottom:47px;display:flex;border-top:1px solid #682d2d50;gap:35px;padding-top:20px;z-index:5}.ritual-progress button{background:none;border:0;text-align:left;flex:1;display:flex;gap:15px;align-items:center;font-size:11px;opacity:.5}.ritual-progress span{font:31px 'DM Serif Display'}.ritual-progress button[aria-pressed=true]{opacity:1}.ritual-progress button[aria-pressed=true] span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.ritual-scroll-note{position:absolute;bottom:16px;right:5%;font-size:7px;letter-spacing:.15em}.ritual-sticky[data-act="2"] .floating-dish{width:47%;height:66%;right:2%;object-fit:cover;clip-path:inset(3% 3% round 2px);filter:drop-shadow(0 20px 20px #54231c30)}.story{padding-top:110px;padding-bottom:110px;background:#f8efd9}.story h2{font-size:clamp(45px,4.7vw,72px)}.menu{background:#642c31;color:#f9eacd;position:relative}.menu-heading h2{font-size:clamp(78px,9vw,135px);letter-spacing:-.06em}.menu-heading h2 em{color:#eac980}.menu-tools{border-color:#f2dfac50}.tabs button[aria-pressed=true]{background:#edce86;color:#642c31}.vegetarian input{accent-color:#e7ce8b}.dish{border-color:#f1d69845;padding:30px 0}.dish-name{font-size:34px;color:#fff0d2}.dish-name:hover{color:#edce86}.dish p{color:#e5c6b6}.diet{border-color:#f0d88a45;color:#e9d49e;font-size:7px}.add-dish{border-color:#f1deae75;color:#f6e9cc}.add-dish:hover{background:#edce86;color:#642c31}.table-board{position:sticky;top:25px;background:#f0dda9;color:#642c31;padding:30px;box-shadow:14px 14px 0 #401b2355;transform:rotate(2deg)}.table-board-top{border-bottom:1px dashed #642c3150;padding-bottom:17px}.table-board h3{font-size:39px}.table-scene{height:160px;background:none}.table-scene .plate{display:none}.table-scene:before{content:'';position:absolute;width:100%;height:160px;background:url('assets/pasta.png') center/contain no-repeat;transform:rotate(-15deg)}.table-scene .fork,.table-scene .wine{display:none}.table-total{border-color:#642c3170}.table-note,.empty-table{color:#865a4b}.table-row{border-color:#642c3140}.table-row button{border-color:#642c3160}.table-board #clear-table{border-color:#642c3160}.allergy-note{color:#dec4b0;font-size:9px}.dessert-story{display:grid;grid-template-columns:1fr 1fr;background:#e7c785;min-height:650px;overflow:hidden}.dessert-story>div{padding:80px 10%;position:relative}.dessert-story h2{font-size:clamp(60px,6vw,95px);margin:40px 0 25px;line-height:.98}.dessert-story p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:270px}.dessert-story a{display:inline-block;font-size:12px;border-bottom:1px solid;padding:7px 0;margin-top:25px}.dessert-story>img{height:120%;width:100%;max-height:850px;object-fit:cover;transform:translateY(var(--dessert-drift,0px))}.dessert-handwriting{position:absolute;right:30px;bottom:50px;font:italic 28px/1.1 Georgia;transform:rotate(-10deg);color:#a44e32}.choose-corner{display:grid;grid-template-columns:1.2fr 1fr;min-height:670px;background:#f2e8ce}.corner-image{position:relative;overflow:hidden;min-height:650px}.corner-image img{width:100%;height:110%;position:absolute;object-fit:cover;object-position:35% center;transform:translateY(var(--corner-drift,0px))}.corner-pin{position:absolute;left:var(--x);top:var(--y);width:44px;height:44px;border:1px solid #fff7d6a0;border-radius:50%;background:#672c2bbd;color:#fff2d0;backdrop-filter:blur(6px);font-size:10px;box-shadow:0 0 0 10px #ffedc511}.corner-pin[aria-pressed=true]{background:#f2d384;color:#672c2b;box-shadow:0 0 0 13px #ffedc530}.corner-copy{padding:75px 12%;align-self:center}.corner-copy h2{font-size:clamp(48px,4.8vw,75px);margin:30px 0}.corner-tabs{display:flex;flex-direction:column;margin:30px 0;border-top:1px solid #642c3140}.corner-tabs button{background:none;border:0;border-bottom:1px solid #642c3130;padding:16px 0;text-align:left;display:flex;justify-content:space-between;font-size:13px}.corner-tabs button:after{content:'↗';opacity:.4}.corner-tabs button[aria-pressed=true]{font-weight:600}.corner-tabs button[aria-pressed=true]:after{content:'✓';opacity:1}.corner-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;min-height:100px}.corner-copy .button{margin-top:22px;font-size:11px}.corner-copy small{display:block;font-size:9px;line-height:1.8;margin-top:18px}.visit{background:#f8efd9;padding-top:110px;padding-bottom:110px;gap:100px}.visit h2{font-size:75px}.reservation{background:#eadbbb;border:0;box-shadow:15px 15px 0 #d1b893;transform:rotate(-1deg)}.reservation:before,.reservation:after{background:#f8efd9}.booking-preference{margin:15px 0 0;background:#e0cda6;font-size:11px;line-height:1.8;padding:12px 15px}.footer-logo{font-size:clamp(80px,14vw,220px);letter-spacing:-.07em}footer{position:relative;overflow:hidden}footer:before{content:'✳';position:absolute;right:-10px;top:-35px;color:#fff2ca09;font-size:350px;animation:supper-turn 80s linear infinite}.v3-reveal{transition:transform .85s,opacity .85s}.v3-reveal:not(.entered){opacity:.15;transform:translateY(28px)}.read-progress{position:fixed;left:0;top:0;width:var(--read,0%);height:2px;background:#e9c77e;z-index:100;pointer-events:none}@keyframes open-left{to{transform:translateX(-104%)}}@keyframes open-right{to{transform:translateX(104%)}}@keyframes arrive-photo{from{transform:scale(1.2)}to{transform:scale(1.04)}}@keyframes text-arrive{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes ticket-arrive{from{opacity:0;translate:40px 20px;rotate:8deg}to{opacity:1;translate:0 0;rotate:0deg}}@keyframes supper-bounce{50%{transform:translateY(9px)}}@keyframes supper-turn{to{transform:rotate(360deg)}}@media(max-width:1000px){.supper-arrival h1{font-size:13.5vw;top:30%}.supper-welcome{top:145px}.arrival-ticket{right:7%;bottom:115px;width:215px;padding:22px}.arrival-ticket p{font-size:23px}.hero-doodle{bottom:120px;width:65px}.ritual-heading{width:45%;top:20%}.ritual-heading h2{font-size:8vw}.floating-dish{right:-14%;width:84%;height:86%}.ritual-heading>p:not(.eyebrow){max-width:230px;font-size:12px}.ritual-sticky[data-act="2"] .floating-dish{width:50%;height:58%;right:0}.table-board{padding:22px;box-shadow:8px 8px 0 #401b2355}.menu-layout{gap:40px}.dish-name{font-size:29px}.corner-copy{padding:60px 9%}.corner-image{min-height:620px}.visit{gap:45px}.visit h2{font-size:64px}.dessert-story>div{padding:65px 9%}.dessert-story h2{font-size:65px}.dessert-handwriting{font-size:24px}}@media(max-width:650px){header{padding:22px 5%;top:30px}.logo{font-size:32px}.supper-arrival{height:calc(100svh - 30px);min-height:780px}.supper-arrival-image img{object-position:47% center;height:115%}.supper-welcome{top:120px;font-size:7px;left:6%}.supper-arrival h1{font-size:clamp(65px,17.5vw,110px);top:26%;left:5%;line-height:.93;max-width:95%;letter-spacing:-.06em}.arrival-ticket{right:8%;bottom:110px;width:205px;padding:21px;transform:rotate(4deg)}.arrival-ticket p{font-size:25px}.arrival-ticket>span{font-size:6px}.arrival-ticket small{font-size:6px}.hero-doodle{left:7%;bottom:160px;width:55px}.supper-arrival-bottom{left:6%;right:6%;bottom:28px;align-items:end;gap:15px}.supper-arrival-bottom>span{font-size:6px}.supper-arrival-bottom>span:last-child{display:none}.supper-arrival-bottom>a{font-size:7px;gap:12px}.supper-arrival-bottom i{font-size:24px}.marquee{font-size:27px}.table-ritual{height:250svh}.ritual-sticky{min-height:730px}.ritual-heading{left:6%;right:6%;top:12%;width:auto}.ritual-heading h2{font-size:clamp(49px,12vw,72px);margin:25px 0 18px;max-width:340px}.ritual-heading>p:not(.eyebrow){font-size:12px;max-width:260px}.ritual-side-note{top:5%;font-size:6px;gap:20px}.ritual-side-note>span:last-child{max-width:100px;text-align:right;line-height:1.7}.floating-dish{top:auto;bottom:50px;right:-22%;height:58%;width:128%;transform:translateY(0) translateX(var(--dish-x,0px)) rotate(var(--dish-turn,-15deg)) scale(var(--dish-scale,1))}.table-rings{width:470px;height:470px;top:auto;bottom:-10px;right:-75px;transform:none}.ritual-progress{gap:12px;bottom:42px;padding-top:15px;left:6%;right:6%}.ritual-progress button{font-size:8px;gap:7px;line-height:1.4}.ritual-progress span{font-size:24px}.ritual-scroll-note{font-size:6px;bottom:17px;right:6%}.ritual-sticky[data-act="2"] .floating-dish{height:43%;width:78%;right:2%;bottom:95px}.story{padding:65px 6%}.story h2{font-size:41px}.menu-heading h2{font-size:83px}.menu{padding:65px 6%}.menu-layout{gap:40px}.table-board{transform:none;padding:27px;box-shadow:8px 8px 0 #401b2355}.table-board h3{font-size:42px}.dish-name{font-size:31px}.dish{padding:26px 0}.dessert-story{grid-template-columns:1fr;min-height:0}.dessert-story>div{padding:60px 7% 85px}.dessert-story h2{font-size:75px;margin-top:30px}.dessert-story>img{height:440px;max-height:none;object-fit:cover;transform:none}.dessert-handwriting{bottom:35px;right:35px;font-size:25px}.choose-corner{grid-template-columns:1fr;min-height:0}.corner-image{min-height:450px}.corner-copy{padding:60px 7%}.corner-copy h2{font-size:64px}.corner-copy>p:not(.eyebrow){min-height:0}.corner-pin{width:36px;height:36px}.visit{padding:65px 6%}.visit h2{font-size:64px}.reservation{transform:none;box-shadow:8px 8px 0 #d1b893}.footer-logo{font-size:72px}.footer-logo>span{font-size:6px;max-width:60px}footer:before{font-size:250px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.supper-curtain{display:none}.supper-arrival h1,.supper-arrival-image img,.corner-image img,.dessert-story>img{transform:none!important}.table-ritual{height:auto}.ritual-sticky{position:relative;height:800px}.floating-dish{transform:translateY(-50%)!important}.v3-reveal:not(.entered){opacity:1;transform:none}@media(max-width:650px){.floating-dish{transform:none!important}}}

@keyframes arrive-photo{from{transform:translateY(var(--entrance-drift,0px)) scale(1.2)}to{transform:translateY(var(--entrance-drift,0px)) scale(1.04)}}

.ritual-progress{background:#f0e5c9ed;backdrop-filter:blur(8px);padding:14px 18px;border:1px solid #71332625;border-radius:3px}.ritual-progress button{opacity:.72}.ritual-progress button[aria-pressed=true]{opacity:1}@media(max-width:650px){.ritual-progress{padding:12px 10px;gap:8px}}

/* Let the restaurant introduce itself through the room, not an oversized slogan. */
.supper-arrival h1.sr-only{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);font-size:1px;line-height:1;animation:none;transform:none}
