/*
Theme Name: KURO Japanese Dining
Description: KURO restaurant website with menu, gallery, cart and email-verified reservations
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kuro
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Georgian:wght@300;400;500;600&family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&display=swap');
:root{--bg:#11110f;--text:#e9e5dc;--muted:#92918a;--orange:#e96b3e;--line:#ffffff15}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans Georgian',sans-serif;font-size:14px}body:before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:10;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.7' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{font:inherit;cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--orange);outline-offset:6px}header{height:105px;display:flex;align-items:center;justify-content:space-between;margin:0 5%;border-bottom:1px solid var(--line);position:relative;z-index:5}.logo{font:26px Georgia,serif;letter-spacing:8px;display:flex;align-items:center;gap:12px}.logo span{font-size:24px;color:var(--orange);letter-spacing:0}nav{display:flex;gap:40px;align-items:center;font-size:12px}nav a{color:var(--muted)}nav .active{color:var(--text)}nav .active:before{content:'•';color:var(--orange);margin-right:8px}.text-btn{border:0;background:none;padding:0}.bag{background:none;border:1px solid #ffffff25;border-radius:30px;padding:12px 18px;font-size:12px}.bag span{margin-left:14px;color:var(--orange)}.hero{min-height:710px;height:calc(100svh - 105px);max-height:1000px;position:relative;display:grid;grid-template-columns:31% 47% 22%;align-items:center;padding:0 5% 90px;overflow:hidden;background:radial-gradient(ellipse at 52% 50%,#29261f65,transparent 55%)}.watermark{position:absolute;font-family:serif;font-size:420px;top:5%;left:28%;color:#ffffff02;pointer-events:none}.hero-copy{z-index:2}.eyebrow{font-size:9px;letter-spacing:2.2px;color:var(--muted)}.eyebrow i{display:inline-block;width:5px;height:5px;background:var(--orange);border-radius:50%;margin-right:8px}.copy-inner{transition:opacity .26s,transform .4s}.copy-inner.out{opacity:0;transform:translateY(18px)}.dish-category{display:block;margin-top:53px;font-size:10px;letter-spacing:2px;color:var(--orange)}h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(62px,6.9vw,110px);letter-spacing:-3px;line-height:.97;margin:24px 0}h1 em{font-weight:400}#description{font-size:12px;line-height:2;color:#9e9d96;max-width:280px;min-height:72px}.details{display:flex;gap:14px;color:#aaa69b;font-size:10px;margin-top:22px}.details span+span{border-left:1px solid #ffffff25;padding-left:14px}.order{display:flex;align-items:center;gap:25px;margin-top:32px}.price{font-family:Georgia,serif;font-size:30px}.price small{font:16px 'Noto Sans Georgian',sans-serif}.orange{border:0;border-radius:30px;padding:15px 24px;background:var(--orange);color:#17130f;font-size:12px;transition:background .2s,transform .2s}.orange:hover{background:#ff8355;transform:translateY(-2px)}.orange span{margin-left:25px}.plate-stage{position:relative;aspect-ratio:1;width:122%;margin-left:-11%;z-index:1;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.plate-wrap{position:absolute;inset:0;filter:drop-shadow(0 30px 25px #0009);will-change:transform;transform:rotate(-13deg);transition:transform 1.15s cubic-bezier(.2,.7,.2,1)}.plate{width:100%;height:100%;object-fit:contain;position:absolute;transition:opacity .65s,transform 1.2s cubic-bezier(.2,.7,.2,1)}.plate.leaving{opacity:0;transform:rotate(50deg) scale(.75)}.plate.entering{opacity:0;transform:rotate(-60deg) scale(.8)}.orbit{position:absolute;inset:5%;border:1px solid #ffffff09;border-radius:50%}.orbit.two{inset:1%;border:1px solid #ffffff05}.orbit-label{position:absolute;top:2%;left:37%;font-size:7px;letter-spacing:3px;color:#6a6860}.explore{position:absolute;bottom:0;left:50%;transform:translate(-50%,70%);background:none;border:0;white-space:nowrap;font-size:20px;color:#a09a8d}.explore span{font-size:10px;vertical-align:middle;margin-left:8px}.ingredient-dot{position:absolute;background:none;border:0;opacity:0;pointer-events:none;transition:opacity .4s;z-index:4;font-size:9px;white-space:nowrap}.ingredient-dot span{display:inline-block;width:7px;height:7px;border-radius:50%;border:1px solid #ede4d4;box-shadow:0 0 0 5px #ffffff12}.ingredient-dot b{position:absolute;font-weight:400;top:-16px;left:0;border-bottom:1px solid #ffffff60;width:130px;padding-bottom:7px;text-align:right;text-shadow:0 1px 4px #000}.dot1{top:38%;left:49%}.dot2{top:58%;left:29%}.dot2 b{left:auto;right:0;text-align:left}.dot3{top:67%;left:61%}.plate-stage.ingredients .ingredient-dot{opacity:1;pointer-events:auto}.dish-nav{padding-left:30px;z-index:3}.dish-nav>.eyebrow{font-size:8px;letter-spacing:2px}.dish-choice{display:flex;align-items:center;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);text-align:left;background:none;opacity:.43;transition:opacity .3s,transform .3s}.dish-choice:hover,.dish-choice.selected{opacity:1}.dish-choice.selected{transform:translateX(-8px)}.dish-choice img{width:49px;height:49px;object-fit:contain;margin-right:12px}.dish-choice span{font:15px Georgia,serif}.dish-choice small{display:block;font:7px sans-serif;letter-spacing:1.5px;margin-bottom:8px;color:#939085}.dish-choice b{color:var(--orange);margin-left:auto;font-weight:400;opacity:0}.dish-choice.selected b{opacity:1}.nav-note{font-size:10px;line-height:1.9;color:#6f6d65;margin-top:25px}.hero-bottom{position:absolute;bottom:32px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between}.scroll-cue{font-size:10px;color:#939085;display:flex;align-items:center;gap:16px}.scroll-cue>span{width:31px;height:40px;border:1px solid #ffffff20;border-radius:20px;display:grid;place-items:center}.pagination{display:flex;align-items:center;gap:16px;font-size:10px}.pagination button{background:none;border:0;color:#aaa;padding:10px}.progress{width:72px;height:1px;background:#ffffff20}.progress i{display:block;height:1px;width:33.3%;background:var(--orange);transition:width .5s}.muted{color:#67665e}.bottom-note{font-size:7px;letter-spacing:2px;color:#66655f}.philosophy{border-top:1px solid var(--line);padding:95px 9%;display:grid;grid-template-columns:28% 72%;background:#151512}.story h2,.invitation h2{font-size:clamp(25px,3.1vw,48px);line-height:1.55;font-weight:300;margin:0 0 25px;letter-spacing:-1px}.story h2 em,.invitation h2 em{font-style:normal;color:#8a877e}.story p{max-width:520px;color:#929087;font-size:13px;line-height:2.1}.line-link{display:inline-block;margin:20px 0;font-size:11px;border-bottom:1px solid #8a877e;padding-bottom:9px}.principles{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;gap:20px}.principles>div{border-top:1px solid var(--line);padding-top:25px}.principles span{font-size:26px;color:var(--orange)}.principles p{font-size:12px}.principles small{color:var(--muted);font-size:10px}.invitation{text-align:center;padding:100px 20px}.invitation h2{margin:30px 0}footer{margin:0 5%;padding:30px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#77766d;font-size:9px}footer .logo{font-size:19px;color:var(--text)}dialog{width:min(470px,92vw);background:#1b1b17;border:1px solid #ffffff20;color:var(--text);padding:28px;border-radius:14px;max-height:85svh}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{font-weight:400;font-size:23px}.close{background:none;border:0;color:#aaa;font-size:30px}.demo-note{color:#969386;font-size:11px;line-height:1.9}.cart-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.cart-row img{width:65px}.cart-row h3{font:17px Georgia;margin:0 0 10px}.cart-row p{font-size:12px;margin:0}.qty{margin-left:auto;display:flex;gap:10px;align-items:center}.qty button{background:#30302a;border:0;border-radius:50%;width:25px;height:25px}.total{display:flex;justify-content:space-between;margin:25px 0}.close-button{width:100%}form label{display:flex;flex-direction:column;gap:8px;font-size:11px;margin:18px 0}.form-row{display:flex;gap:15px}.form-row label{width:50%;margin:0}input,select{width:100%;padding:12px;color:var(--text);background:#24241e;border:1px solid #ffffff20;border-radius:5px;font:12px inherit;color-scheme:dark}#bookingStatus{font-size:12px;color:#b2c79c;line-height:1.8}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);opacity:0;background:#eee6d6;color:#151512;padding:14px 24px;border-radius:30px;z-index:30;transition:.3s;font-size:12px;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.hero{padding-left:9%;padding-right:9%}}@media(max-width:1050px){.hero{grid-template-columns:34% 46% 20%;padding-left:4%;padding-right:4%}.dish-nav{padding-left:8px}.dish-choice img{width:35px;margin-right:5px}.dish-choice span{font-size:12px}.dish-choice small{font-size:6px}h1{font-size:75px}.order{gap:15px}.orange{padding:14px 18px}.bottom-note{display:none}}@media(max-width:720px){header{height:80px;margin:0 6%}.logo{font-size:22px;letter-spacing:5px}nav{gap:16px}nav a:not(.active),nav button{display:none}.bag{font-size:10px;padding:10px 13px}.hero{height:auto;max-height:none;min-height:0;padding:35px 6% 100px;display:flex;flex-direction:column;align-items:stretch}.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.8px}.copy-inner{padding-top:0}.dish-category{margin-top:28px;font-size:8px}h1{font-size:62px;line-height:.96;margin:18px 0}h1 br{display:none}h1 em{margin-left:8px}#description{font-size:11px;min-height:0;max-width:100%;line-height:1.9}.details{margin-top:14px}.order{margin-top:20px}.price{font-size:27px}.plate-stage{width:100%;margin:12px 0 30px;align-self:center;max-width:460px}.plate-wrap{inset:-4%}.orbit-label{font-size:6px}.explore{transform:translate(-50%,40%)}.dish-nav{padding:16px 0 0;display:flex;gap:8px;justify-content:space-between}.dish-nav>.eyebrow,.nav-note{display:none}.dish-choice{width:33.3%;flex-direction:column;gap:6px;padding:10px 3px;text-align:center;border:1px solid transparent;border-radius:9px;background:#ffffff03}.dish-choice.selected{transform:none;border-color:#e96b3e50}.dish-choice img{width:47px;height:47px;margin:0}.dish-choice span{font-size:12px}.dish-choice small{font-size:6px;margin-bottom:5px}.dish-choice b{display:none}.hero-bottom{bottom:23px;left:6%;right:6%}.scroll-cue{font-size:9px;gap:8px}.pagination{gap:8px}.progress{width:38px}.philosophy{padding:55px 7%;display:block}.story{margin-top:28px}.story h2{font-size:27px}.story p{font-size:12px}.principles{margin-top:35px;gap:12px}.principles small{font-size:9px;line-height:1.8;display:block}.principles p{font-size:11px}.invitation{padding:65px 20px}footer{flex-wrap:wrap;gap:20px}footer p{order:3;width:100%;margin:0;font-size:8px}.ingredient-dot b{width:100px;font-size:8px}.watermark{left:15%;top:25%;font-size:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* The plate stays still on hover; only ingredient callouts animate. */
.ingredient-lines{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:visible}
.ingredient-lines path{fill:none;stroke:#e9e5dca6;stroke-width:1;stroke-dasharray:400;stroke-dashoffset:400;transition:stroke-dashoffset .65s cubic-bezier(.2,.7,.2,1)}
.ingredient-lines circle{fill:#eee5d6;opacity:0;transition:opacity .2s}
.ingredient-dot{padding:0;transition:opacity .25s .15s;}
.ingredient-dot span{display:none}
.ingredient-dot b{position:static;display:block;width:auto;border:0;padding:0;font-size:10px;font-weight:400;text-align:inherit;color:#f0e9dc;text-shadow:0 1px 6px #000,0 0 12px #000;}
.dot1{top:20.5%;left:64%;right:10%;text-align:right}
.dot2{top:56%;left:5%;right:auto;text-align:left}
.dot3{top:72.5%;left:68%;right:8%;text-align:right}
.plate-stage.ingredients .ingredient-lines path{stroke-dashoffset:0}
.plate-stage.ingredients .ingredient-lines circle{opacity:1}
@media(hover:hover) and (pointer:fine){
 .plate-stage:hover .ingredient-lines path,.plate-stage:focus-within .ingredient-lines path{stroke-dashoffset:0}
 .plate-stage:hover .ingredient-lines circle,.plate-stage:focus-within .ingredient-lines circle{opacity:1}
 .plate-stage:hover .ingredient-dot,.plate-stage:focus-within .ingredient-dot{opacity:1;pointer-events:auto}
}
.pagination button{width:42px;height:42px;border:1px solid #ffffff30;border-radius:50%;font-size:18px;display:grid;place-items:center;transition:border-color .2s,color .2s}
.pagination button:hover{border-color:var(--orange);color:var(--orange)}
@media(max-width:720px){.ingredient-dot b{font-size:8px}.pagination button{width:35px;height:35px}.pagination{gap:7px}}

/* Contained plate and dedicated navigation: visible inside the first viewport. */
.hero{min-height:520px;grid-template-columns:31% 47% 22%;padding-bottom:65px}
.plate-column{min-width:0;display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:2}
.plate-stage{width:100%;max-width:min(540px,calc(100svh - 260px));margin:0;flex-shrink:0}
.plate-wrap{inset:0;transform:none;overflow:hidden;filter:drop-shadow(0 18px 18px #0008);border-radius:50%}
.dish-frame{position:absolute;inset:0;transform:translateX(0);opacity:1;transition:transform .8s cubic-bezier(.22,.75,.25,1),opacity .65s;will-change:transform}
.dish-frame.entering{transform:translateX(var(--from,115%));opacity:0}
.dish-frame.leaving{transform:translateX(var(--to,-115%));opacity:0}
.dish-frame .plate{inset:0;transform:none;transition:none}
.plate-brand{position:absolute;left:42%;top:7.5%;width:16%;display:flex;flex-direction:column;align-items:center;gap:3px;color:#d5c8a6;opacity:.8;pointer-events:none;text-shadow:0 1px 2px #000;}
.plate-logo{font:clamp(12px,1.6vw,23px) Georgia,serif;line-height:1}
.plate-wordmark{font:clamp(5px,.6vw,9px) Georgia,serif;white-space:nowrap;letter-spacing:1px}
.plate-column .pagination{position:relative;z-index:6;justify-content:center;gap:18px;height:52px;flex-shrink:0}
.pagination button{width:50px;height:50px;background:#26251f;border:1px solid #b3a58a;color:#f4ebda;box-shadow:0 3px 15px #0003}
.pagination button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pagination button:hover{background:#e96b3e;border-color:#e96b3e;color:#11110f}
.pagination button:disabled{cursor:wait;opacity:.65}
.explore{bottom:0;transform:translate(-50%,20%);font-size:15px}
.explore span{font-size:8px}
.plate-stage.switching .ingredient-dot,.plate-stage.switching .ingredient-lines{opacity:0}
@media(max-width:1050px) and (min-width:721px){.hero{grid-template-columns:33% 47% 20%}h1{font-size:clamp(48px,7vw,75px)}.dish-category{margin-top:25px}.plate-column{gap:20px}}
@media(max-width:720px){
 header{height:68px}
 .hero{min-height:0;height:auto;padding:22px 6% 85px;gap:0}
 .hero-copy{display:contents}
 .hero-copy>.eyebrow{order:0;margin-bottom:10px}
 .plate-column{order:1;gap:15px;width:100%;margin:0 0 22px}
 .plate-stage{width:min(100%,42svh);max-width:380px;margin:0}
 .plate-wrap{inset:0}
 .plate-column .pagination{height:46px;gap:17px}
 .pagination button{height:44px;width:44px}
 .copy-inner{order:2}
 .dish-category{margin-top:5px}
 h1{font-size:52px;margin:14px 0}
 .dish-nav{order:3;margin-top:16px}
 .plate-logo{font-size:18px}.plate-wordmark{font-size:7px}
 .hero-bottom{justify-content:flex-start}
 .plate-brand{top:7.5%}
}
@media(max-height:680px) and (min-width:721px){header{height:75px}.hero{height:calc(100svh - 75px);min-height:440px}.plate-stage{max-width:calc(100svh - 210px)}.dish-category{margin-top:18px}h1{font-size:60px;margin:15px 0}.order{margin-top:18px}.hero-bottom{bottom:15px}}

/* Slide across the viewport without a local mask or frame. */
.plate-column,.plate-stage,.plate-wrap{overflow:visible}
.plate-wrap{border-radius:0}
.plate-stage{width:118%;max-width:min(680px,calc(100svh - 215px))}
.plate-stage .orbit{display:none}
.dish-frame{transition:transform .8s cubic-bezier(.22,.75,.25,1);opacity:1}
.dish-frame.entering{transform:translateX(var(--from,100vw));opacity:1}
.dish-frame.leaving{transform:translateX(var(--to,-100vw));opacity:1}
@media(max-width:720px){.plate-stage{width:min(110%,52svh);max-width:440px}.plate-column{gap:20px}}
@media(max-height:680px) and (min-width:721px){.plate-stage{max-width:calc(100svh - 185px)}}

/* Brief overlapping, turning transition rather than a full-screen slide. */
.dish-frame{opacity:1;transform:translateX(0) rotate(0) scale(1);transition:transform .68s cubic-bezier(.4,0,.2,1),opacity .68s cubic-bezier(.4,0,.2,1)}
.dish-frame.entering{transform:translateX(var(--from,72%)) rotate(var(--turn,24deg)) scale(.8);opacity:0}
.dish-frame.leaving{transform:translateX(var(--to,-72%)) rotate(var(--turn,-24deg)) scale(.8);opacity:0}
.dish-rotor{position:absolute;inset:0;transform-origin:50% 50%;will-change:transform}
.ingredient-lines path{stroke:#fff;stroke-width:1.2;stroke-dasharray:1000;stroke-dashoffset:1000}
.ingredient-lines circle{fill:#fff}
@media(prefers-reduced-motion:reduce){.dish-frame{transition:none}}

/* Branding sits on the ceramic; the food-filled center occludes the print. */
.brand-surface{position:absolute;inset:0;pointer-events:none;mask-image:radial-gradient(circle closest-side,transparent 63%,#000 64%);-webkit-mask-image:radial-gradient(circle closest-side,transparent 63%,#000 64%)}
.dish-rotor[data-dish-image="ramen"] .brand-surface{mask-image:radial-gradient(circle closest-side,transparent 83.5%,#000 84%);-webkit-mask-image:radial-gradient(circle closest-side,transparent 83.5%,#000 84%)}
.dish-rotor[data-dish-image="ramen"] .plate-brand{top:5.8%;opacity:.6;gap:1px}
.dish-rotor[data-dish-image="ramen"] .plate-logo{font-size:clamp(12px,1.25vw,18px)}
.plate-brand{opacity:.64;color:#b6ab91;text-shadow:0 1px 1px #0008}
.dish-choice{padding:11px 0}.nav-note{margin-top:16px}.progress i{width:16.6667%}
@media(max-width:720px){.dish-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dish-choice{width:100%;padding:10px 3px}.dish-choice span{font-size:11px}.dish-rotor[data-dish-image="ramen"] .plate-logo{font-size:12px}}
@media(max-height:740px) and (min-width:721px){.dish-choice{padding:6px 0}.dish-choice img{width:38px;height:38px}.nav-note{display:none}}

/* Section two: scroll-controlled plating, with a pinned full-height scene. */
.assembly{position:relative;height:340vh;height:340svh;background:#171713;border-top:1px solid #ffffff12}
.assembly-sticky{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;display:grid;grid-template-columns:39% 61%;align-items:center;padding:80px 7%;overflow:hidden;background:radial-gradient(ellipse at 69% 48%,#34312560,transparent 56%)}
.assembly-top{position:absolute;top:38px;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center}
.assembly-index{font:10px Georgia,serif;letter-spacing:3px;color:#77766c}
.assembly-copy{position:relative;z-index:3;max-width:420px;pointer-events:none}
.assembly-kicker{color:var(--orange);font-size:10px;letter-spacing:1px}
.assembly-copy h2{font-weight:300;font-size:clamp(30px,3.5vw,58px);line-height:1.55;letter-spacing:-1.8px;margin:24px 0}
.assembly-copy h2 em{font-style:normal;color:#99978b}
.assembly-copy>p{font-size:12px;line-height:2.1;color:#8f8e82;max-width:290px}
.assembly-status{display:flex;align-items:center;gap:17px;margin-top:42px;max-width:270px}
#assemblyNumber{font:37px Georgia,serif;color:#e4dccb;font-variant-numeric:tabular-nums}
.assembly-status>div{flex:1}.assembly-status small{display:block;color:#b6b0a0;font-size:10px;min-height:17px}
.assembly-track{height:1px;margin-top:11px;background:#ffffff20}.assembly-track i{display:block;width:0%;height:100%;background:var(--orange)}
.assembly-total{font:12px Georgia;color:#6f6d61;align-self:flex-end;margin-bottom:5px}
.assembly-hint{margin-top:38px;font-size:9px;letter-spacing:.5px;color:#858174;display:flex;align-items:center;gap:12px}
.assembly-hint>span{border:1px solid #ffffff25;border-radius:20px;width:26px;height:36px;display:grid;place-items:center;font-size:16px}
.assembly-visual{width:100%;max-width:min(750px,78svh);aspect-ratio:1;justify-self:center;position:relative;filter:drop-shadow(0 26px 24px #0006)}
.assembly-plate{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.assembly-brand{position:absolute;top:11%;left:50%;transform:translateX(-50%);font:19px Georgia,serif;color:#b9ad94;text-align:center;opacity:.6}
.assembly-brand span{display:block;margin-top:3px;font-size:7px;letter-spacing:1.5px}
.assembly-piece{position:absolute;width:31%;height:31%;object-fit:contain;opacity:0;transform:translate(-50%,-50%);will-change:transform,opacity;filter:drop-shadow(2px 6px 4px #0008);pointer-events:none}
.assembly-bottom{position:absolute;left:7%;right:7%;bottom:35px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff12;padding-top:20px;font-size:10px;color:#7a786b}
.assembly-bottom>span:first-child{font-size:16px;letter-spacing:3px}.assembly-bottom i{font:9px 'Noto Sans Georgian',sans-serif;letter-spacing:0;margin-left:12px;font-style:normal}
#assemblyFootnote{font-size:10px}
@media(max-width:720px){
 .assembly{height:320svh}
 .assembly-sticky{min-height:0;display:flex;flex-direction:column;justify-content:center;padding:65px 6% 64px;gap:5px}
 .assembly-top{top:24px;left:6%;right:6%}.assembly-top .eyebrow{font-size:7px}.assembly-index{font-size:8px}
 .assembly-copy{width:100%;max-width:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 10px}
 .assembly-kicker{font-size:8px;grid-column:1/-1}
 .assembly-copy h2{font-size:27px;line-height:1.45;letter-spacing:-.8px;margin:14px 0 8px}
 .assembly-copy>p{grid-column:1/-1;font-size:10px;max-width:260px;line-height:1.8;margin:0}
 .assembly-status{grid-column:2;grid-row:2;margin:0;gap:8px;width:95px;flex-wrap:wrap}
 #assemblyNumber{font-size:29px}.assembly-status>div{order:3;flex-basis:100%}.assembly-status small{font-size:8px}.assembly-total{margin-bottom:3px}.assembly-track{margin-top:5px}
 .assembly-hint{display:none}
 .assembly-visual{width:min(110%,49svh);max-width:480px;flex-shrink:0;margin-top:10px}
 .assembly-brand{font-size:15px}.assembly-brand span{font-size:6px}
 .assembly-bottom{left:6%;right:6%;bottom:20px;padding-top:12px}.assembly-bottom i{font-size:7px;margin-left:6px}.assembly-bottom>span:first-child{font-size:12px}#assemblyFootnote{font-size:8px;max-width:145px;text-align:right}
}
@media(prefers-reduced-motion:reduce){.assembly{height:auto}.assembly-sticky{position:relative}.assembly-piece{opacity:1;will-change:auto}}

.assembly-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(58px,6vw,96px);line-height:1.02;letter-spacing:-2px}.assembly-copy h2 em{font-style:italic}@media(max-width:720px){.assembly-copy h2{font-size:49px;line-height:.98;margin:12px 0}}

.assembly-empty,.assembly-photo-base,.assembly-photo-piece,.assembly-exact-final{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.assembly-photo-base,.assembly-photo-piece,.assembly-exact-final{opacity:0}.assembly-photo-piece{will-change:opacity,transform}.assembly-brand{top:7.5%;z-index:2}

.assembly-photo-piece{overflow:visible;filter:drop-shadow(0 4px 3px #0005)}

.signature-section{position:relative;background:#010101;min-height:620px;height:90svh;max-height:1000px;display:flex;align-items:center;justify-content:center;border-top:1px solid #ffffff12;overflow:hidden}
.signature-top,.signature-bottom{position:absolute;left:7%;right:7%;display:flex;justify-content:space-between;align-items:center;z-index:2}
.signature-top{top:36px}.signature-top>span:last-child{font:10px Georgia,serif;letter-spacing:3px;color:#72726b}
.signature-animation{width:min(100%,1000px);height:100%;display:grid;place-items:center}
#signatureCanvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;aspect-ratio:4/3}
.signature-bottom{bottom:32px;color:#8e8c82;font-size:10px;border-top:1px solid #ffffff14;padding-top:20px}
#signatureToggle{background:none;border:1px solid #ffffff26;border-radius:30px;color:#b5b1a6;padding:9px 17px;font-size:10px}
@media(max-width:720px){.signature-section{min-height:430px;height:76svh}.signature-top,.signature-bottom{left:6%;right:6%}.signature-top{top:25px}.signature-bottom{bottom:22px;font-size:8px;gap:10px}.signature-bottom>span{max-width:100px;line-height:1.8}.signature-bottom>a{font-size:8px}#signatureToggle{font-size:8px;padding:8px 11px}.signature-top .eyebrow{font-size:8px}#signatureCanvas{width:100%;height:auto}}

.assembly-sauce,.assembly-seed{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.assembly-seed{opacity:0;filter:drop-shadow(0 1px .4px #0007)}

/* One-shot entry animation, removed after playback. */
.site-loader{display:none;position:fixed;inset:0;z-index:10000;background:#010101;align-items:center;justify-content:center;transition:opacity 1.15s cubic-bezier(.22,1,.36,1),visibility 0s 1.15s}
.is-loading{overflow:hidden}.is-loading body{overflow:hidden}
.is-loading .site-loader{display:flex}
.is-loading body>header,.is-loading body>main,.is-loading body>footer{visibility:hidden}
.site-loader #signatureCanvas{width:min(100vw,1000px);height:auto;max-height:100svh;object-fit:contain}
.site-loader.is-finished{display:flex;opacity:0;visibility:hidden;pointer-events:none}
#loaderSkip{position:absolute;right:5%;bottom:30px;border:1px solid #ffffff26;background:transparent;color:#9d9b90;padding:10px 18px;border-radius:30px;font-size:10px}
@media(prefers-reduced-motion:reduce){.site-loader{transition:none}}

/* Static main dish. Every endpoint is fixed to the same photo coordinates. */
.main-dish{padding:42px 7% 28px;background:#161612;border-top:1px solid #ffffff15}
.main-dish-heading{display:flex;justify-content:space-between;align-items:center}.main-dish-edition{color:#77766b;font-size:8px;letter-spacing:2px}
.main-dish-intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:30px}
.main-dish-kicker{color:var(--orange);font-size:clamp(20px,2.3vw,30px);font-weight:500;line-height:1.5;letter-spacing:0;display:block}
.main-dish-intro h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(46px,5vw,80px);font-weight:400;letter-spacing:-2px;margin:15px 0 0;line-height:1.1}.main-dish-intro h2 em{font-weight:400;color:#aaa391}
.main-dish-intro p{color:#969284;font-size:12px;line-height:2;max-width:335px;margin:0}
.main-dish-map{display:block;width:min(100%,960px);height:auto;margin:0 auto;overflow:visible}
.dish-callout path{fill:none;stroke:#e6dfce;stroke-width:1.15;vector-effect:non-scaling-stroke}
.dish-callout circle{fill:#e8dfce;stroke:#171713;stroke-width:1.1}
.dish-callout text{fill:#eee8db;font-family:'Noto Sans Georgian',sans-serif;font-size:22px;font-weight:400;paint-order:stroke;stroke:#161612;stroke-width:4px;stroke-linejoin:round}
.main-dish-footer{border-top:1px solid #ffffff12;padding-top:23px;display:flex;justify-content:space-between;color:#8e897b;font-size:10px}.main-dish-footer i{padding:0 12px;color:var(--orange);font-style:normal}
@media(max-width:720px){.main-dish{padding:28px 5% 22px}.main-dish-heading .eyebrow{font-size:8px}.main-dish-edition{font-size:6px;letter-spacing:1px}.main-dish-intro{display:block;margin-top:22px}.main-dish-intro h2{font-size:49px;letter-spacing:-1.5px}.main-dish-intro p{font-size:11px;max-width:100%;margin-top:20px;line-height:1.9}.main-dish-map{width:108%;max-width:none;margin:15px -4% 0}.dish-callout text{font-size:28px;stroke-width:5px}.main-dish-footer{font-size:9px;gap:15px;line-height:1.8}.main-dish-footer>span:last-child{max-width:180px;text-align:right}}

/* Let the final wordmark dissolve while the restaurant rises into view. */
.is-entering,.is-entering body{overflow:hidden}
.site-loader #signatureCanvas{transition:transform 1.1s cubic-bezier(.22,1,.36,1),opacity .7s ease,filter .9s ease}
.site-loader.is-finished #signatureCanvas{transform:translateY(-32px) scale(1.035);opacity:0;filter:blur(5px)}
.is-entering body>main{animation:kuroEnterMain 1.4s cubic-bezier(.22,1,.36,1) both}
.is-entering body>header,.is-entering body>footer{animation:kuroEnterChrome 1.2s ease .15s both}
@keyframes kuroEnterMain{from{opacity:0;transform:translateY(56px)}to{opacity:1;transform:translateY(0)}}
@keyframes kuroEnterChrome{from{opacity:0}to{opacity:1}}
.main-dish-intro p strong{display:block;color:#ded8c9;font-weight:500;font-size:15px;margin-bottom:12px;line-height:1.8}
@media(max-width:720px){.main-dish-kicker{font-size:22px}.main-dish-intro p strong{font-size:14px}}
@media(prefers-reduced-motion:reduce){.site-loader #signatureCanvas{transition:none}.is-entering body>main,.is-entering body>header,.is-entering body>footer{animation:none}}

/* Delivery Service: original KURO noodle-pouring footage, shown without player chrome. */
.delivery{padding:0 7%;background:#242321;border-top:1px solid #ffffff14;overflow:hidden}
.delivery-heading{display:flex;align-items:center;justify-content:space-between}
.delivery-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;gap:0;max-width:1440px;min-height:clamp(600px,48vw,780px);margin:0 auto}
.delivery-content{min-width:0;padding:72px 40px 80px 0}
.delivery-heading{margin-bottom:48px}
.delivery-kicker{font-size:13px;color:#c5b69e}
.delivery-content h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.4vw,70px);letter-spacing:-2px;line-height:1.06;margin:18px 0 28px}
.delivery-content h2 em{display:block;margin-top:7px;font-family:inherit;font-size:.72em;font-weight:400;letter-spacing:0;color:#c1aa88}
.delivery-copy{max-width:370px}
.delivery-copy p{font-size:12px;line-height:2;color:#c0bcb1;margin:0 0 23px}
.delivery-order{display:flex;gap:40px;align-items:center}
.delivery-media{display:block;width:100%;margin:0;min-width:0}
.delivery-source{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip-path:inset(50%)}
.delivery-cutout{position:absolute;inset:0;display:block;width:100%;height:100%;background:transparent}
/* Crop only the empty lateral source margins; the original top frame meets the divider. */
.delivery-media{position:relative;aspect-ratio:16/9;width:120%;align-self:start}
@media(max-width:720px){.delivery{padding:0 6% 54px}.delivery-heading .eyebrow{font-size:8px}.delivery-layout{display:flex;flex-direction:column;align-items:stretch;gap:26px;min-height:0;margin-top:0}.delivery-content{padding:0}.delivery-heading{margin-bottom:24px}.delivery-content h2{font-size:clamp(30px,8.5vw,42px);letter-spacing:-1px;margin:13px 0 17px}.delivery-content h2 em{margin-top:5px;font-size:.82em}.delivery-kicker{font-size:11px}.delivery-copy{max-width:100%}.delivery-copy p{font-size:11px;line-height:1.9;margin-bottom:18px}.delivery-media{order:-1;width:calc(100% + 8vw);margin:0 -4vw;align-self:center}}

/* Fine alignment of the delivery introduction. */
.delivery-kicker,.delivery-content h2,.delivery-copy p{position:relative;left:10px;top:-10px}

/* Delivery typography and independently positioned section index. */
.delivery{position:relative}
.delivery>.delivery-heading{position:absolute;top:42px;left:7%;margin:0;z-index:1}
.delivery-content h2{font-family:'Noto Sans Georgian',sans-serif;font-weight:400;font-style:normal;font-size:clamp(34px,3.8vw,58px);line-height:1.35;letter-spacing:0;color:#c1aa88}
.delivery-copy{max-width:470px}
.delivery-copy p{font-size:16px;line-height:1.95}
.delivery-order{position:relative;justify-content:center;min-width:228px;min-height:54px;padding:16px 46px;font-size:14px;text-align:center}
.delivery-order span{position:absolute;right:22px}
@media(max-width:720px){.delivery>.delivery-heading{top:28px;left:6%;max-width:30%}.delivery-content h2{font-size:clamp(30px,8vw,42px)}.delivery-copy p{font-size:14px}.delivery-order{min-width:220px;min-height:52px}}

/* Give the delivery film more scale and breathing room below the divider. */
.delivery-media{width:128%;margin:64px 0 0 -8%}
@media(max-width:720px){.delivery-media{width:112%;margin:64px -6% 0}}

/* An inline reservation section between the collection and signature dish. */
.reservation{padding:42px 7% 72px;background:#1c1b17;border-top:1px solid #ffffff15;scroll-margin-top:24px}
.reservation-heading{display:flex;align-items:center;justify-content:space-between}
.reservation-mark{font-family:serif;color:#b6a78e;font-size:25px}
.reservation-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,130px);align-items:center;max-width:1440px;margin:44px auto 0}
.reservation-kicker{color:#c1aa88;font-size:13px}
.reservation-intro h2{font-family:'Noto Sans Georgian',sans-serif;font-size:clamp(34px,4.3vw,64px);font-weight:400;line-height:1.35;letter-spacing:-1px;margin:18px 0 24px}
.reservation-intro h2 span{color:#c1aa88}
.reservation-intro>p{color:#aaa69b;max-width:380px;line-height:1.95;font-size:14px}
.reservation-signature{display:flex;align-items:center;gap:20px;font:20px Georgia,serif;letter-spacing:5px;margin-top:36px}
.reservation-signature span{color:#827e72;font:8px sans-serif;letter-spacing:2px}
.reservation-panel{padding:30px 32px;border:1px solid #ffffff1b;background:#ffffff02}
.reservation-panel form label{font-size:12px;color:#c8c0b0;margin:0 0 22px;gap:10px}
.reservation-panel input,.reservation-panel select{border:0;border-bottom:1px solid #ffffff30;border-radius:0;background:#24231e;padding:14px 12px;font-family:inherit;font-size:15px;line-height:1.5;min-width:0;min-height:52px;width:100%;color:#e9e5dc}
.reservation-panel .form-row{gap:20px}
.reservation-panel .form-row label{min-width:0}
.reservation-panel input:focus-visible,.reservation-panel select:focus-visible{outline:1px solid #c1aa88;outline-offset:3px}
.reservation-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:24px;min-height:54px;font-size:14px}
.reservation-note{color:#969084;font-size:10px;line-height:1.8;text-align:center;margin:14px 0 0}
.reservation-panel #bookingStatus:empty{display:none}
.reservation-panel #bookingStatus{font-size:12px;line-height:1.8;margin:16px 0 0}
@media(max-width:720px){.reservation{padding:28px 6% 44px}.reservation-heading .eyebrow{font-size:8px}.reservation-layout{grid-template-columns:1fr;gap:28px;margin-top:25px}.reservation-intro h2{font-size:38px}.reservation-intro>p{font-size:13px}.reservation-signature{margin-top:22px}.reservation-panel{padding:24px 18px}.reservation-panel input,.reservation-panel select{font-size:16px}.reservation-panel .form-row{gap:12px}}

/* Reservation controls and a Georgian calendar. */
.reservation-panel select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c1aa88' stroke-width='1.7'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.reservation-date-field{position:relative;display:flex;flex-direction:column;gap:10px;width:50%;min-width:0;margin-bottom:22px;color:#c8c0b0;font-size:12px}
.date-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:52px;padding:14px 12px;text-align:left;background:#24231e;border:0;border-bottom:1px solid #ffffff30;color:#e9e5dc;font-size:13px;line-height:1.5}
.date-picker-toggle svg{width:18px;height:18px;flex:none;color:#c1aa88}
.reservation-calendar{position:absolute;left:0;top:calc(100% + 10px);width:310px;max-width:calc(100vw - 60px);padding:18px;background:#24231e;border:1px solid #c1aa8838;border-radius:16px;box-shadow:0 24px 64px #0008;z-index:20}
.reservation-calendar[hidden]{display:none}
.calendar-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:18px}
.calendar-top span{font-size:13px;color:#e9e5dc}
.calendar-top button{width:32px;height:32px;border:1px solid #ffffff18;border-radius:50%;background:transparent;font-size:22px;line-height:1}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.calendar-weekdays{color:#938c7c;font-size:10px;margin-bottom:10px}
.calendar-days button{padding:0;aspect-ratio:1;min-width:0;border:0;border-radius:50%;background:transparent;font-size:12px;color:#ded8cc}
.calendar-days button:not(:disabled):hover{background:#ffffff10}
.calendar-days button[aria-current="date"]{box-shadow:inset 0 0 0 1px #c1aa8877}
.calendar-days button[aria-pressed="true"],.calendar-days button[aria-pressed="true"]:hover{background:#e96b3e;color:#161612}
.reservation-calendar button:disabled{opacity:.23;cursor:default}
.calendar-today{display:block;width:100%;margin-top:14px;padding:12px 0 0;border:0;border-top:1px solid #ffffff14;background:none;font-size:12px;color:#c1aa88}
@media(max-width:480px){.reservation-contact{flex-direction:column;gap:0!important}.reservation-panel .reservation-contact label{width:100%}.date-picker-toggle{font-size:12px;padding-left:9px;padding-right:9px}.reservation-calendar{width:290px;max-width:calc(100vw - 88px);padding:14px}}

/* Clear, accessible manual controls for the six-second dish carousel. */
.pagination button{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #ffffff35;border-radius:50%;color:#e9e5dc;transition:background .2s,border-color .2s,color .2s}
.pagination button:hover{background:#ffffff0d;border-color:#c1aa88;color:#fff}
.pagination button:disabled{opacity:.55}
.pagination button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){.pagination button{width:38px;height:38px}}

.verification-form[hidden],.booking-success[hidden],#bookingForm[hidden]{display:none}
.verification-form h3,.booking-success h3{font-size:24px;line-height:1.5;font-weight:400;margin:22px 0 16px;color:#e9e5dc}
.verification-form>p,.booking-success p{font-size:13px;line-height:1.9;color:#b9b3a6;overflow-wrap:anywhere}
.reservation-panel .verification-form label{margin:24px 0 12px;display:block}
.reservation-panel #emailCode{font-size:28px;letter-spacing:10px;text-align:center;margin-bottom:24px}
.verification-actions{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;margin-top:24px}
.verification-actions button{background:none;border:0;padding:4px 0;color:#c1aa88;font-size:11px}
.reservation-panel button:disabled{opacity:.5;cursor:wait;transform:none}
.booking-success{text-align:center;padding:35px 0}
.booking-check{display:grid;place-items:center;width:58px;height:58px;border:1px solid #c1aa8855;border-radius:50%;font-size:27px;color:#c1aa88;margin:0 auto}
#bookingReference{font-size:11px;color:#c1aa88;letter-spacing:2px}

/* KURO's complete menu: a contemporary Japanese dining journal. */
.full-menu{padding:44px 7% 58px;border-top:1px solid #ffffff18;background:#141411;scroll-margin-top:24px}
.menu-section-heading{display:flex;align-items:center;justify-content:space-between}
.menu-japanese{font-family:serif;font-size:18px;letter-spacing:8px;color:#a49a86}
.menu-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:40px 0 28px}
.menu-kicker{font-size:12px;color:#c1aa88;letter-spacing:.4px}
.menu-intro h2{font-family:'Noto Sans Georgian',sans-serif;font-weight:400;letter-spacing:-2px;font-size:clamp(38px,5vw,76px);line-height:1.3;margin:18px 0 0}
.menu-intro h2 em{color:#c1aa88;font-style:normal}
.menu-intro>p{color:#aaa497;font-size:13px;line-height:1.9;margin:0 0 8px}
.menu-featured{position:relative;display:grid;grid-template-columns:1fr 1.1fr .55fr;align-items:center;min-height:300px;padding:26px 36px;background:radial-gradient(ellipse at 55% 48%,#3a332775,transparent 60%),#1c1c17;border:1px solid #c1aa8824;overflow:hidden}
.menu-featured-copy{z-index:1}.menu-featured-copy h3{font-family:Georgia,serif;font-size:clamp(28px,3.4vw,48px);font-weight:400;letter-spacing:-1px;margin:20px 0 10px}.menu-featured-copy p{color:#aaa497;font-size:12px;line-height:1.9;margin:0 0 18px}.menu-featured-copy>span:last-of-type{color:#c7bead;font-size:12px}.menu-featured-copy i{color:#e96b3e;padding:0 12px;font-style:normal}
.menu-featured>img{width:min(100%,330px);height:auto;justify-self:center;filter:drop-shadow(0 15px 20px #0005)}
.menu-signature-add{display:flex;gap:25px;align-items:center;width:max-content;background:none;border:0;border-bottom:1px solid #c1aa8866;padding:10px 0;margin-top:16px;color:#e4dccd;font-size:11px}
.menu-signature-add span{color:#e96b3e}
.menu-counts{display:flex;flex-direction:column;gap:19px;border-left:1px solid #ffffff15;padding-left:32px;color:#969080;font-size:10px}
.menu-counts span{display:flex;gap:16px;align-items:baseline}.menu-counts b{font:30px Georgia,serif;font-weight:400;color:#d8ccba;min-width:40px}
.menu-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff18;padding:32px 0 24px}
.menu-filters{display:flex;flex-wrap:wrap;gap:8px}.menu-filters button{border:1px solid #ffffff18;border-radius:30px;padding:11px 16px;background:transparent;color:#a9a497;font-size:11px;line-height:1.4;transition:background .2s,color .2s}
.menu-filters button[aria-pressed="true"]{background:#c1aa88;border-color:#c1aa88;color:#161510}
.menu-filters button:hover{border-color:#c1aa88}.menu-search{display:flex;align-items:center;gap:10px;min-width:180px;max-width:240px;flex:1;border-bottom:1px solid #ffffff25;padding:8px 0}
.menu-search svg{width:17px;height:17px;fill:none;stroke:#a49a86;stroke-width:1.5;flex:none}.menu-search input{border:0;background:none;padding:5px 0;border-radius:0;color:#ded8cb;font-family:inherit;font-size:12px;min-width:0;outline-offset:3px}
.menu-category{margin-top:42px}.menu-category-heading{display:flex;align-items:center;gap:20px;padding-bottom:22px}.menu-category-index{font:12px Georgia,serif;color:#e96b3e;align-self:flex-start;margin-top:6px}.menu-category-heading h3{font-size:22px;font-weight:400;color:#dcd5c8;margin:0}.menu-category-heading p{font-size:11px;line-height:1.8;color:#8f897d;margin:6px 0 0}.menu-category-kanji{margin-left:auto;font:30px serif;color:#c1aa8866;letter-spacing:6px}
.menu-item-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 36px}.menu-item{display:flex;align-items:center;gap:16px;min-width:0;padding:22px 0;border-top:1px solid #ffffff12}.menu-item>img{width:100px;height:100px;object-fit:contain;flex:none}.menu-item-copy{min-width:0;flex:1}.menu-item-top{display:flex;align-items:baseline;gap:16px;justify-content:space-between}.menu-item h4{font:22px Georgia,serif;letter-spacing:-.3px;font-weight:400;margin:0;color:#eee6d7}.menu-item-price{font:21px Georgia,serif;white-space:nowrap;color:#c1aa88}.menu-item-price small{font-family:'Noto Sans Georgian',sans-serif;font-size:12px;margin-left:7px}.menu-item-georgian{display:block;color:#c3bbaa;font-size:11px;margin-top:7px}.menu-item p{font-size:11px;line-height:1.9;color:#949083;max-width:380px;min-height:42px;margin:10px 0}.menu-item-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#8b867a;font-size:10px}.menu-item-bottom i{color:#c1aa88;font-style:normal}.menu-item-bottom button{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff25;border-radius:50%;background:none;color:#c1aa88;flex:none;transition:background .2s}.menu-item-bottom button:hover{background:#e96b3e;border-color:#e96b3e;color:#11110f}.menu-item-bottom svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.4;fill:none}
.menu-empty{padding:40px 0;font-size:14px;color:#c1aa88}.menu-footnote{display:flex;justify-content:space-between;gap:22px;border-top:1px solid #ffffff15;margin-top:30px;padding-top:24px;color:#8b867a;font-size:10px;line-height:1.8}.menu-footnote span:last-child{font:9px sans-serif;letter-spacing:2px}.cart-monogram{display:grid;place-items:center;width:65px;height:65px;border:1px solid #c1aa8828;border-radius:50%;font:25px serif;color:#c1aa88;flex:none}
@media(max-width:1024px){.menu-featured{grid-template-columns:1fr 1fr .5fr;padding:24px}.menu-counts{padding-left:20px}.menu-item-grid{gap:0 24px}.menu-item>img{width:75px;height:75px}.menu-item h4{font-size:19px}.menu-item{gap:12px}.menu-toolbar{flex-direction:column;align-items:stretch}.menu-search{max-width:none}}
@media(max-width:720px){.full-menu{padding:28px 6% 40px}.menu-section-heading .eyebrow{font-size:8px}.menu-japanese{font-size:14px;letter-spacing:5px}.menu-intro{display:block;margin-top:28px}.menu-intro h2{font-size:42px;letter-spacing:-1px}.menu-intro>p{font-size:12px;margin-top:18px}.menu-featured{grid-template-columns:1fr 1fr;padding:22px 18px;min-height:0}.menu-featured-copy h3{font-size:26px}.menu-featured-copy .eyebrow{font-size:7px}.menu-featured-copy p{font-size:10px}.menu-featured>img{width:130%;max-width:240px;margin-right:-15px}.menu-counts{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:12px;border-left:0;border-top:1px solid #ffffff15;padding:20px 0 0;margin-top:22px}.menu-counts b{font-size:25px;min-width:0}.menu-counts span{gap:8px;font-size:9px}.menu-toolbar{padding:24px 0 20px;gap:18px}.menu-filters{gap:7px}.menu-filters button{padding:9px 12px;font-size:10px}.menu-item-grid{grid-template-columns:1fr}.menu-category{margin-top:32px}.menu-category-heading{gap:14px;padding-bottom:18px}.menu-category-heading h3{font-size:20px}.menu-category-kanji{font-size:25px}.menu-item h4{font-size:22px}.menu-item>img{width:84px;height:84px}.menu-item p{min-height:0}.menu-footnote{flex-direction:column;gap:10px}}

/* Readable Georgian copy and full-size photography. */
.menu-item-georgian{font-size:15px;line-height:1.65;color:#d4cbbc}.menu-item p{font-size:14px;line-height:1.85;color:#b5afa2;min-height:0}.menu-photo{position:relative;width:100px;height:100px;flex:none;border:0;background:none;padding:0;cursor:pointer}.menu-photo img{width:100%;height:100%;object-fit:contain}.menu-photo>span,.book-photo>span{position:absolute;bottom:0;right:0;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#c1aa88;color:#171612;font-size:17px}.menu-book-open{display:flex;gap:22px;align-items:center;border:1px solid #c1aa8855;background:transparent;color:#dfd5c4;padding:16px 24px;font-size:14px;margin:28px 0 4px}.menu-book-open>span:first-child{color:#c1aa88;font-family:serif;letter-spacing:4px}.menu-book-open:hover{background:#c1aa8810}
.menu-lightbox{width:min(860px,94vw);max-height:92dvh;padding:32px;background:#191915;border:1px solid #c1aa8830;border-radius:4px;text-align:center;overflow:auto}.menu-lightbox img{display:block;width:100%;height:min(68dvh,650px);object-fit:contain}.menu-lightbox p{font-size:18px;line-height:1.6;color:#d8cdbb}.photo-close{position:absolute;right:14px;top:12px;width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;background:#22221d;color:#eee;font-size:27px;z-index:1}
.menu-book{width:min(960px,96vw);height:94dvh;max-height:94dvh;border:1px solid #b5a68d50;border-radius:4px;background:#1b1c18;color:#ebe4d8;padding:0;overflow:hidden}.menu-book[open]{display:flex;flex-direction:column}.book-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 24px;border-bottom:1px solid #ffffff18;flex:none}.book-toolbar>span{font:12px Georgia,serif;letter-spacing:2px}.book-jump-label{display:flex;align-items:center;gap:12px;font-size:11px;color:#bcb09b}.book-toolbar select{max-width:220px;background:#292922;color:#eee4d3;border:1px solid #ffffff20;padding:9px;font:inherit}.book-toolbar>button{font-size:28px;background:none;border:0;width:38px;height:38px}.book-scroll{overflow:auto;flex:1;min-height:0;padding:28px;background:#25251f}.book-page{max-width:790px;min-height:900px;margin:auto;padding:40px 48px 24px;background:radial-gradient(ellipse at top right,#d9cbb250,transparent 60%),#eee7da;color:#282821;box-shadow:0 12px 40px #0004}.book-masthead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #39392f;padding-bottom:18px;font:30px Georgia,serif;letter-spacing:5px}.book-seal{display:grid;place-items:center;border:1px solid #9d4334;color:#9d4334;width:40px;height:45px;font:29px serif;letter-spacing:0}.book-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:28px 0 8px}.book-eyebrow{font:9px sans-serif;letter-spacing:2px;color:#8c5141}.book-heading h2{font-size:27px;font-weight:400;line-height:1.5;margin:12px 0 6px}.book-heading p{font-size:12px;color:#686355;line-height:1.8}.book-heading>span{writing-mode:vertical-rl;font:38px serif;letter-spacing:8px;color:#9d4334}.book-dish{display:grid;grid-template-columns:155px 1fr;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid #3c342329;min-height:198px}.book-photo{position:relative;width:155px;height:155px;padding:0;background:none;border:0;cursor:pointer}.book-photo img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 10px #332b221a)}.book-photo>span{background:#dfd2bc;color:#4d4538}.book-dish-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.book-dish h3{font:25px Georgia,serif;margin:0}.book-dish strong{font:19px Georgia,serif;white-space:nowrap;color:#974d38}.book-dish h4{font-size:15px;font-weight:500;line-height:1.6;margin:9px 0}.book-dish p{font-size:13px;line-height:1.85;color:#625c50;margin:8px 0}.book-dish small{font-size:10px;color:#867a68}.book-page-footer{display:flex;justify-content:space-between;gap:20px;padding-top:24px;font-size:10px;color:#766b5a}.book-navigation{display:flex;justify-content:center;align-items:center;gap:30px;padding:12px;flex:none;border-top:1px solid #ffffff18;font-size:12px}.book-navigation button{width:44px;height:38px;background:transparent;border:1px solid #c1aa8855;color:#e0d1b9;font-size:22px}.book-navigation button:disabled{opacity:.25;cursor:default}
@media(max-width:720px){.menu-photo{width:84px;height:84px}.menu-item-georgian{font-size:14px}.menu-item p{font-size:13px}.menu-book{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}.book-toolbar{padding:10px 14px;gap:8px}.book-toolbar>span{font-size:9px;letter-spacing:1px}.book-jump-label{font-size:0}.book-toolbar select{font-size:11px;max-width:170px}.book-scroll{padding:12px}.book-page{padding:24px 20px;min-height:0}.book-heading h2{font-size:23px}.book-dish{grid-template-columns:100px 1fr;gap:14px;padding:25px 0;min-height:200px}.book-photo{width:100px;height:100px}.book-dish-title{flex-wrap:wrap;gap:7px}.book-dish h3{font-size:22px}.book-dish h4{font-size:14px}.book-dish p{font-size:12px}.book-masthead{font-size:25px}.book-page-footer{font-size:9px}.menu-lightbox{padding:35px 15px 15px}}
@media(max-width:380px){.book-dish{grid-template-columns:80px 1fr;gap:12px}.book-photo{width:80px;height:80px}.book-page{padding:22px 15px}}

/* Open category navigation and an integrated menu basket. */
.menu-book{width:min(1260px,98vw)}.book-categories{display:flex;flex-wrap:wrap;gap:7px;padding:12px 24px;border-bottom:1px solid #ffffff18;flex:none}.book-categories button{font-size:12px;line-height:1.5;padding:9px 14px;border:1px solid #c1aa8830;border-radius:3px;background:none;color:#c6bcaa}.book-categories button[aria-pressed="true"]{background:#c1aa88;color:#1b1c18;border-color:#c1aa88}.book-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;flex:1;min-height:0}.book-scroll{min-width:0}.book-cart{padding:25px 20px;overflow:auto;border-left:1px solid #ffffff18;background:#191a16}.book-cart h3{font-size:18px;font-weight:400;color:#d8c9b1;margin:0 0 20px}.book-cart-empty{color:#a59c8c;font-size:12px;line-height:1.9}.book-cart-row{display:flex;gap:12px;padding:16px 0;border-bottom:1px solid #ffffff15}.book-cart-row>img{width:54px;height:54px;object-fit:contain;flex:none}.book-cart-row>div{flex:1;min-width:0}.book-cart-row h4{font-size:12px;line-height:1.7;font-weight:400;margin:0 0 5px;overflow-wrap:anywhere}.book-cart-row>div>span{font:16px Georgia,serif;color:#c1aa88}.book-cart-qty{display:flex;align-items:center;gap:13px;margin-top:10px;font-size:12px}.book-cart-qty button{width:28px;height:28px;border:1px solid #ffffff25;background:none;border-radius:50%;font-size:17px}.book-cart-total{display:flex;justify-content:space-between;align-items:center;margin-top:25px;padding-top:18px;border-top:1px solid #c1aa8850;font-size:14px}.book-cart-total strong{font:24px Georgia,serif;color:#c1aa88}.book-dish-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.book-dish-actions button{display:flex;gap:14px;align-items:center;border:1px solid #974d3850;background:none;color:#794536;padding:8px 12px;font-size:11px}.book-dish-actions button:hover{background:#974d3810}.book-dish-actions button>span{font-size:17px}.menu-photo>span.photo-expand,.book-photo>span.photo-expand{background:#191a16cc;color:#d5c6ae;border:1px solid #c1aa8840;border-radius:3px;width:25px;height:25px;opacity:.75}.photo-expand svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.3}.menu-photo:hover .photo-expand,.book-photo:hover .photo-expand{opacity:1}.menu-lightbox img{max-height:68dvh}
@media(max-width:900px){.book-body{grid-template-columns:minmax(0,1fr) 225px}.book-cart{padding:22px 14px}.book-page{padding:30px 24px}.book-dish{grid-template-columns:115px 1fr;gap:15px}.book-photo{width:115px;height:115px}}
@media(max-width:720px){.book-categories{padding:10px 12px;gap:6px}.book-categories button{padding:6px 9px;font-size:10px}.book-body{display:block;overflow:auto}.book-scroll{overflow:visible;padding:12px}.book-cart{overflow:visible;border-left:0;border-top:1px solid #ffffff18;padding:22px}.book-cart-row{display:inline-flex;vertical-align:top;width:50%;padding-right:12px}.book-cart h3{font-size:17px}.book-dish{grid-template-columns:100px 1fr}.book-photo{width:100px;height:100px}.book-page{padding:24px 20px}.book-dish-actions{flex-wrap:wrap}.book-navigation{padding:9px}.menu-book{width:100vw}.book-toolbar{padding:8px 14px}.book-toolbar>span{font-size:12px}.book-cart-total{position:sticky;bottom:0;background:#191a16;padding:16px 0;margin-top:15px}}
@media(max-width:380px){.book-dish{grid-template-columns:80px 1fr}.book-photo{width:80px;height:80px}.book-cart-row{display:flex;width:100%}}

/* Complete categories on one continuous menu page. */
.book-page{min-height:0}.book-photo,.menu-photo{cursor:pointer}.book-page-footer{justify-content:flex-start}

/* Restrained Japanese ink illustration on the menu's paper. */
.book-page{position:relative;isolation:isolate;background:#eee7da;overflow:hidden}
.book-page::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url('assets/menu/japanese-ink.svg');background-position:center top;background-size:100% auto;background-repeat:repeat-y;opacity:.22}
.book-page::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 0%,#eee7da99 27%,#eee7dac9 76%,transparent 100%)}
.book-masthead,.book-heading,.book-dishes,.book-page-footer{position:relative;z-index:1}
@media(max-width:720px){.book-page::before{opacity:.18;background-size:130% auto;background-position:center top}.book-page::after{background:linear-gradient(90deg,transparent,#eee7dab3 30%,#eee7dacc 85%,transparent)}}

/* An intimate pause between the dish collection and reservations. */
.atmosphere{padding:40px 7% 46px;background:#191a16;border-top:1px solid #ffffff18;scroll-margin-top:24px}.atmosphere-heading{display:flex;justify-content:space-between;align-items:center}.atmosphere-kanji{font:18px serif;letter-spacing:6px;color:#a79b87}.atmosphere-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin:34px 0 36px}.atmosphere-kicker{font-size:12px;color:#c1aa88}.atmosphere-intro h2{font-size:clamp(32px,3.8vw,58px);font-weight:400;line-height:1.35;letter-spacing:-1px;margin:14px 0 0}.atmosphere-intro h2 em{color:#c1aa88;font-style:normal}.atmosphere-intro>p{max-width:360px;font-size:13px;line-height:2;color:#b2ab9d;margin:0 0 4px}.atmosphere-scene{position:relative;isolation:isolate;margin:0;height:clamp(350px,44vw,630px);overflow:hidden;background:#25241d}.atmosphere-scene picture{display:block;width:100%;height:100%}.atmosphere-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}.atmosphere-scene::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0e0e0ab8);pointer-events:none}.atmosphere-scene figcaption{position:absolute;z-index:1;bottom:30px;left:34px;right:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.atmosphere-scene figcaption>span:first-child{font-size:clamp(17px,1.7vw,25px);line-height:1.7;color:#eee6d7}.atmosphere-photo-mark{font:15px Georgia,serif;letter-spacing:5px;color:#e1d3bd}.atmosphere-photo-mark i{display:block;text-align:right;font:30px serif;margin-top:12px;font-style:normal;letter-spacing:0}.atmosphere-bottom{display:flex;justify-content:space-between;align-items:center;gap:28px;margin-top:27px}.atmosphere-notes{display:flex;flex-wrap:wrap;gap:12px 22px;color:#9e9687;font-size:11px;line-height:1.8}.atmosphere-notes span+span{border-left:1px solid #ffffff20;padding-left:22px}.atmosphere-reserve{display:flex;align-items:center;justify-content:space-between;gap:30px;flex:none;padding:11px 0;border-bottom:1px solid #c1aa8870;font-size:12px;color:#d8c9b2}.atmosphere-reserve span{color:#e96b3e;font-size:18px}.atmosphere-reserve:hover{color:#fff;border-bottom-color:#e96b3e}
@media(max-width:900px){.atmosphere-intro>p{max-width:280px;font-size:12px}.atmosphere-notes{gap:10px}.atmosphere-notes span+span{padding-left:10px}}
@media(max-width:720px){.atmosphere{padding:28px 6% 34px}.atmosphere-heading .eyebrow{font-size:8px}.atmosphere-kanji{font-size:14px;letter-spacing:4px}.atmosphere-intro{display:block;margin:26px 0}.atmosphere-intro h2{font-size:clamp(31px,8.7vw,44px);letter-spacing:-.6px}.atmosphere-intro>p{max-width:100%;font-size:13px;line-height:1.9;margin:22px 0 0}.atmosphere-scene{height:440px;height:clamp(340px,57svh,490px);margin:0 -2vw}.atmosphere-scene img{object-position:45% center}.atmosphere-scene figcaption{bottom:22px;left:20px;right:20px}.atmosphere-photo-mark{font-size:11px;letter-spacing:3px}.atmosphere-bottom{align-items:flex-start;flex-direction:column;gap:18px;margin-top:20px}.atmosphere-notes{font-size:10px;gap:8px}.atmosphere-notes span+span{padding-left:8px}.atmosphere-reserve{font-size:12px;gap:38px}}

/* Restaurant information beside an intimate photo gallery. */
.atmosphere-split{padding-bottom:48px}.atmosphere-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(35px,6vw,100px);align-items:center;margin-top:34px}.atmosphere-information{padding:22px 0;max-width:470px}.atmosphere-information h2{display:flex;align-items:center;gap:24px;font:clamp(55px,5.5vw,84px) Georgia,serif;letter-spacing:9px;margin:17px 0 24px;color:#e9e5dc}.atmosphere-information h2 span{font:34px serif;letter-spacing:0;color:#c1aa88}.atmosphere-information h3{font-size:clamp(18px,1.9vw,27px);line-height:1.6;font-weight:400;color:#c1aa88;margin:0 0 22px}.atmosphere-description{color:#b6aea0;font-size:14px;line-height:2;margin:0 0 16px}.atmosphere-hours{border-top:1px solid #ffffff18;margin-top:34px;padding-top:25px}.atmosphere-hours .eyebrow{letter-spacing:1px;font-size:10px}.atmosphere-hours p{display:flex;justify-content:space-between;align-items:center;gap:20px;color:#d5cbb9;font-size:14px;margin:16px 0 0}.atmosphere-hours strong{font:20px Georgia,serif;font-weight:400;letter-spacing:1px}.atmosphere-links{display:flex;flex-wrap:wrap;align-items:center;gap:20px 34px;margin-top:30px}.atmosphere-menu-link{font-size:12px;color:#aba08e}.atmosphere-menu-link span{margin-left:12px;color:#c1aa88}.atmosphere-gallery{position:relative;height:650px;height:clamp(520px,49vw,700px);min-width:0;isolation:isolate;overflow:hidden;background:#25241d;touch-action:pan-y}.atmosphere-slides,.atmosphere-slide{position:absolute;inset:0;margin:0}.atmosphere-slide{opacity:0;transition:opacity .65s ease;pointer-events:none}.atmosphere-slide.is-active{opacity:1}.atmosphere-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.atmosphere-gallery::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#11110edb);pointer-events:none}.atmosphere-gallery-controls{position:absolute;z-index:2;bottom:23px;left:22px;right:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.atmosphere-gallery-controls>button{width:42px;height:42px;display:grid;place-items:center;border:1px solid #e1d3bd66;border-radius:50%;background:#14141055;backdrop-filter:blur(8px);color:#eee5d5}.atmosphere-gallery-controls>button:hover{background:#c1aa8840;border-color:#e1d3bd}.atmosphere-gallery-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3}.atmosphere-gallery-position{text-align:center;color:#e1d7c6;font-size:12px;line-height:1.6}.atmosphere-dots{display:flex;justify-content:center;gap:4px;margin-top:9px}.atmosphere-dots button{display:grid;place-items:center;width:25px;height:25px;background:none;border:0;padding:0}.atmosphere-dots button::after{content:'';width:6px;height:6px;border:1px solid #e1d3bd;border-radius:50%}.atmosphere-dots button[aria-pressed="true"]::after{background:#e1d3bd}.atmosphere-gallery:focus-visible{outline:1px solid #c1aa88;outline-offset:5px}
@media(max-width:900px){.atmosphere-layout{gap:30px;grid-template-columns:1fr 1fr}.atmosphere-description{font-size:13px}.atmosphere-information h2{font-size:60px}.atmosphere-gallery{height:580px}.atmosphere-hours strong{font-size:18px}}
@media(max-width:720px){.atmosphere-layout{grid-template-columns:1fr;gap:27px;margin-top:24px}.atmosphere-information{max-width:none;padding:0}.atmosphere-information h2{font-size:62px;margin-bottom:20px}.atmosphere-information h3{font-size:23px}.atmosphere-description{font-size:14px}.atmosphere-hours{margin-top:26px;padding-top:21px}.atmosphere-links{margin-top:23px}.atmosphere-gallery{height:clamp(370px,65svh,550px);margin:0 -2vw}.atmosphere-gallery-controls{bottom:18px;left:17px;right:17px}.atmosphere-gallery-controls>button{width:40px;height:40px}.atmosphere-split{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.atmosphere-slide{transition:none}}
