@font-face{font-family:'Shirakaba Brush';src:url('assets/yuji-logo.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f5f4f1;--white:#fff;--ink:#3c4038;--muted:#77796f;--line:#cecec5;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--brush:'Shirakaba Brush',var(--serif);--ease:cubic-bezier(.18,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/2 var(--serif);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0;font-weight:400}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button{border:0;background:none;cursor:pointer}img{display:block;width:100%;max-width:100%}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #7e6944;outline-offset:6px}::selection{background:#ccd3c4}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.skip-link{position:fixed;z-index:200;top:12px;left:20px;background:var(--paper);padding:10px 20px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;height:112px;padding:0 max(calc((100vw - 1000px)/2),5.5vw);display:flex;align-items:flex-start;justify-content:space-between;transition:background .6s,color .6s;color:white;pointer-events:none}.site-header nav{display:flex;align-items:center;gap:32px;margin-left:auto;padding-top:17px;pointer-events:auto}.site-header nav>a,.site-header nav>button{font-size:14px;letter-spacing:.02em;min-height:44px;display:flex;align-items:center;padding:0;white-space:nowrap}.site-header nav>a:hover,.site-header nav>button:hover{opacity:.65}.small-logo{font:400 38px/1.05 var(--brush);writing-mode:vertical-rl;letter-spacing:-.07em;margin-top:18px;opacity:0;transition:opacity .6s;pointer-events:none}.site-header.scrolled,.subpage .site-header{background:rgba(255,255,255,.95);color:var(--ink)}.site-header.scrolled .small-logo,.subpage .small-logo{opacity:1;pointer-events:auto}.menu-toggle{gap:12px}.menu-toggle i{border-right:1px solid;border-bottom:1px solid;width:10px;height:10px;transform:rotate(45deg) translateY(-3px);transition:transform .4s}.menu-toggle[aria-expanded=true] i{transform:rotate(225deg) translate(-3px,-1px)}
.hero{position:relative;height:100svh;min-height:620px;max-height:1080px;overflow:hidden;background:#182219;color:#fff;isolation:isolate}.hero-images,.hero-slide,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-slide{object-fit:cover;object-position:center;opacity:0;transition:opacity 1.8s ease;transform:scale(1.025)}.hero-slide.is-current{opacity:1}.hero-shade{background:linear-gradient(180deg,#0003,transparent 35%,#0001);pointer-events:none}.hero-logo{position:absolute;left:max(calc((100vw - 1000px)/2),5.5vw);top:10.5%;text-align:center}.hero-logo>span{font:400 74px/1 var(--brush);writing-mode:vertical-rl;letter-spacing:-.06em;display:block;margin:auto}.hero-logo small{font:12px/1.2 Georgia,serif;letter-spacing:.11em;display:block;margin-top:24px}.hero-place{position:absolute;left:max(calc((100vw - 1000px)/2),5.5vw);bottom:115px;font-size:13px;letter-spacing:.2em;writing-mode:vertical-rl}.slide-arrow{position:absolute;top:50%;width:52px;height:60px;display:grid;place-items:center;z-index:3}.slide-arrow.previous{left:6.1%}.slide-arrow.next{right:6.1%}.slide-arrow i{width:13px;height:13px;transform:rotate(45deg);border-top:1px solid;border-right:1px solid}.slide-arrow.previous i{transform:rotate(-135deg)}.slide-controls{position:absolute;bottom:112px;right:8%;display:flex;align-items:center;gap:20px;font:12px/1.5 Georgia,serif;letter-spacing:.09em;z-index:4}.motion-toggle{min-width:44px;min-height:44px;font:17px/1 serif;display:grid;place-items:center}.hero-scroll{position:absolute;left:49%;bottom:98px;z-index:4;font:11px/1.5 Georgia,serif;letter-spacing:.05em;display:flex;flex-direction:column;align-items:center;gap:10px}.hero-scroll i,.vertical-link i{display:block;width:14px;height:14px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.curve{position:absolute;z-index:3;pointer-events:none;bottom:-15%;left:-15%;width:130%;height:25%;border-radius:50% 50% 0 0;background:var(--paper)}.hero>.curve{height:20%;bottom:-9%;left:-13%;width:126%}
.story{width:min(1000px,80%);margin:140px auto 0;display:grid;grid-template-columns:36% 64%;align-items:start;min-height:550px}.story-photo{position:relative;overflow:hidden;aspect-ratio:1.3;background:#d1d0c8}.story-photo>img{height:100%;object-fit:cover}.vertical-copy{display:flex;flex-direction:row-reverse;gap:36px;padding-right:40px;justify-content:flex-start;position:relative;min-height:470px}.vertical-copy h2{writing-mode:vertical-rl;font-size:23px;line-height:1.85;letter-spacing:.18em;font-weight:400}.vertical-copy p{writing-mode:vertical-rl;font-size:17px;line-height:1.9;letter-spacing:.12em;padding-top:2px}.vertical-link{position:absolute;left:0;bottom:38px;writing-mode:vertical-rl;font-size:13px;line-height:1.8;display:flex;align-items:center;gap:18px}.vertical-link i{margin-top:8px}.story-photo>img{transition:transform 1.4s var(--ease)}
html:not(.enhanced) .slide-arrow,html:not(.enhanced) .slide-controls,html:not(.enhanced) .menu-toggle,html:not(.enhanced) [data-reserve]{display:none}

@media(max-width:850px){.site-header{height:94px;padding:0 6%}.site-header nav{gap:25px;padding-top:15px}.small-logo{font-size:33px;margin-top:12px}.hero-logo{left:7%;top:12%}.hero-logo>span{font-size:67px}.hero-place{left:7%;bottom:90px}.hero{min-height:580px}.hero-scroll{bottom:78px}.slide-controls{bottom:80px}.story{width:86%;grid-template-columns:40% 60%;margin-top:100px;min-height:460px}.vertical-copy{gap:24px;padding-right:24px;min-height:405px}.vertical-copy h2{font-size:20px}.vertical-copy p{font-size:15px}.story-photo{aspect-ratio:1/1.2}.vertical-link{bottom:0}}
@media(max-width:700px){html{scroll-padding-top:88px}.site-header{height:86px;padding:0 24px}.site-header nav{gap:21px;padding-top:10px}.site-header nav>a,.site-header nav>button{font-size:13px}.small-logo{font-size:29px;margin-top:13px}.hero{min-height:600px;max-height:950px}.hero-logo{top:13%;left:9%}.hero-logo>span{font-size:65px}.hero-logo small{font-size:10px;letter-spacing:.075em;margin-top:20px}.hero-slide{object-position:center}.hero-place{left:10%;bottom:100px;font-size:12px}.slide-arrow.previous{left:2%}.slide-arrow.next{right:2%}.slide-arrow{height:64px;width:44px}.slide-controls{right:8%;bottom:90px;font-size:11px;gap:6px}.hero-scroll{bottom:85px;left:48%;font-size:10px}.hero>.curve{width:160%;left:-30%;height:12%;bottom:-6%}.story{display:flex;flex-direction:column;width:100%;margin:70px auto 0;min-height:0}.vertical-copy{width:88%;margin:0 auto 50px;padding-right:0;gap:30px;justify-content:center;min-height:335px}.vertical-copy h2{font-size:21px;line-height:1.9;letter-spacing:.15em}.vertical-copy p{font-size:15px;line-height:1.9;letter-spacing:.08em}.vertical-link{left:0;bottom:5px;font-size:12px}.story-photo{width:88%;margin-left:auto;aspect-ratio:1.16}.story-photo .curve{height:23%;bottom:-14%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}
:root{--paper:#f5f3f2}.site-header{height:120px;transition:background .2s,color .2s}.site-header.scrolled,.subpage .site-header{background:rgba(255,255,255,.8);backdrop-filter:blur(5px)}.story{grid-template-columns:326fr 644fr;gap:30px;min-height:486px}.story+.story{margin-top:230px}.story-photo{aspect-ratio:644/486}.vertical-copy{padding-right:0;gap:36px;min-height:486px}.vertical-copy h2{font-size:21px;line-height:1.83;letter-spacing:.3em}.vertical-copy p{font-size:17px;line-height:1.88;letter-spacing:.1em}.story-left{grid-template-columns:644fr 326fr}.story-left .vertical-copy{padding-left:0}.photo-close img{object-position:70% 65%;transform:scale(1.42)}.story-photo{isolation:isolate}
/* Half-second horizontal photograph transitions match the reference. */
.hero-slide{opacity:0;transform:none;transition:none;will-change:transform}.hero-slide.is-current{opacity:1}.hero-slide:not(.is-current){visibility:hidden}.hero:focus-visible{outline:2px solid white;outline-offset:-6px}.hero{touch-action:pan-y}.enhanced .hero-images{pointer-events:none}.slide-arrow,.motion-toggle{transition:opacity .2s}.slide-arrow:hover,.motion-toggle:hover{opacity:.55}.motion-paused .hero-slide{will-change:auto}
.reservation-section{max-width:1000px;width:80%;margin:210px auto 130px;text-align:center}.reservation-section h2{font-size:24px;letter-spacing:.3em;margin-bottom:28px}.reservation-section>p{font-size:16px;letter-spacing:.08em}.reservation-links{display:grid;grid-template-columns:1fr 1fr;gap:65px;max-width:780px;margin:55px auto 0}.reservation-links>a,.reservation-links>button,.underlined-link{border-bottom:1px solid #87897e;display:flex;align-items:center;justify-content:space-between;padding:14px 0;text-align:left;letter-spacing:.1em;font-size:16px}.reservation-links span,.underlined-link span{margin-left:40px;transition:transform .4s}.reservation-links a:hover span,.reservation-links button:hover span,.underlined-link:hover span{transform:translateX(5px)}
.site-footer{background:#fff;padding:85px max(calc((100vw - 1000px)/2),5.5vw) 30px}.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:65px}.footer-information{display:flex;gap:55px;align-items:flex-start}.footer-logo{font:45px/1.05 var(--brush);writing-mode:vertical-rl;letter-spacing:-.06em;flex-shrink:0}.shop-name{font-size:18px;letter-spacing:.14em;margin-bottom:24px}.shop-information dl{margin:0;font-size:14px;line-height:1.9}.shop-information dl>div{display:grid;grid-template-columns:85px 1fr;margin-bottom:15px;gap:10px}.shop-information dd{margin:0}.shop-information dt{color:#73786b}.shop-location{font-size:14px;line-height:2;margin-top:25px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:24px;font-size:13px}.footer-links button{padding:0}.footer-links a,.footer-links button{border-bottom:1px solid transparent}.footer-links a:hover,.footer-links button:hover{border-color:currentColor}.footer-landscape img{height:365px;object-fit:cover;object-position:52%}.footer-landscape figcaption{font-size:13px;letter-spacing:.1em;text-align:right;margin-top:12px;color:#717669}.footer-bottom{margin-top:55px;display:flex;gap:25px;align-items:center;position:relative;padding-right:65px;font-size:12px;color:#73786b;line-height:1.8}.footer-bottom small{font:11px/1.8 Georgia,serif;white-space:nowrap}.footer-bottom p{font-size:12px}.back-top{margin-left:auto;position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:15px}.back-top i{display:block;width:10px;height:10px;border-top:1px solid;border-left:1px solid;transform:rotate(45deg)}
dialog{border:0;background:var(--paper);color:var(--ink);max-height:88dvh;overflow:auto}dialog::backdrop{background:#14201577;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:14px;letter-spacing:.08em}.dialog-heading>button{min-height:44px;padding:0;display:flex;gap:22px;align-items:center;font-size:14px}.dialog-heading button span{font:28px/1 Arial,sans-serif}.menu-dialog{width:470px;margin:0 0 0 auto;max-width:100%;max-height:100dvh;height:100dvh;padding:30px 50px}.menu-dialog nav{display:flex;flex-direction:column;gap:28px;margin:45px 0}.menu-dialog nav a,.menu-dialog nav button{font-size:20px;letter-spacing:.13em;text-align:left;padding:3px 0}.menu-dialog>p{font-size:13px;letter-spacing:.16em;color:var(--muted)}.information-dialog{width:650px;max-width:calc(100% - 30px);padding:30px 48px 45px}.information-dialog h2{font-size:24px;letter-spacing:.15em;margin:38px 0 25px}.information-dialog>p{font-size:16px;line-height:2.1;margin-top:20px}.information-dialog .underlined-link{margin-top:25px;width:100%}.demo-notice{border-top:1px solid var(--line);margin-top:36px;padding-top:26px}.demo-notice h3{font-size:16px;margin-bottom:12px}.demo-notice p{font-size:14px;line-height:2;color:#6f7468}.information-dialog .study-motion{font-size:14px;margin-top:12px;border-bottom:0;width:auto}.locked{overflow:hidden}.menu-dialog[open]{animation:menu-enter .5s var(--ease)}.information-dialog[open]{animation:panel-enter .5s var(--ease)}@keyframes menu-enter{from{transform:translateX(100%);opacity:0}to{transform:none;opacity:1}}@keyframes panel-enter{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}html:not(.enhanced) [data-study]{display:none}.no-script-notice{padding:25px 8%;font-size:14px}.no-script-notice a{border-bottom:1px solid}
.menu-page{padding-top:120px}.menu-banner{height:34.5vw;max-height:650px;min-height:250px;overflow:hidden}.menu-banner img{height:100%;object-fit:cover;object-position:50% 53%}.menu-content{width:min(1000px,80%);margin:90px auto 100px}.menu-content h1{font-size:24px;letter-spacing:.3em;margin-bottom:35px}.menu-content>p{font-size:17px;line-height:2.3;letter-spacing:.08em}.price-list{margin-top:55px}.price-list>div{display:grid;grid-template-columns:36% 32% 1fr;gap:25px;padding:25px 0;border-top:1px solid var(--line);align-items:baseline}.price-list>div:last-child{border-bottom:1px solid var(--line)}.price-list h2{font-size:18px;letter-spacing:.13em}.price-list p{font-size:18px;letter-spacing:.1em}.price-list p>span{font-size:13px;letter-spacing:0}.price-list small{font-size:13px;line-height:1.8;color:var(--muted)}.menu-notes{margin-top:28px;font-size:13px;line-height:2.2;color:#71766a}.menu-content>.underlined-link{margin-top:40px;max-width:340px;min-width:280px}.middle-banner img{object-position:50% 61%}.menu-editorial{width:min(1000px,80%);margin:110px auto;display:grid;grid-template-columns:33% 1fr;gap:55px;align-items:start}.menu-editorial figure{aspect-ratio:1;overflow:hidden}.menu-editorial img{height:100%;object-fit:cover;object-position:65%}.season-label{font-size:14px;letter-spacing:.1em;color:var(--muted)}.menu-editorial h2{font-size:24px;letter-spacing:.12em;margin:16px 0 30px}.menu-editorial p:not(.season-label){font-size:16px;line-height:2.25;margin-top:20px}.dining-banner img{object-position:50% 60%}.menu-ending{width:min(1000px,80%);margin:80px auto 110px}.menu-ending h2{font-size:24px;letter-spacing:.16em;margin-bottom:24px}.menu-ending>p{font-size:16px;line-height:2.2}.menu-ending>.underlined-link{max-width:360px;width:100%;margin-top:35px}.home-return{display:inline-block;margin-top:30px;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:5px}
@media(max-width:1050px){.footer-information{gap:30px}.footer-inner{gap:35px}.footer-information dl>div{grid-template-columns:75px 1fr}.price-list>div{grid-template-columns:1fr 1fr}.price-list small{grid-column:1/-1}.menu-editorial{gap:40px}.story{width:86%;gap:25px}.vertical-copy{gap:27px}.vertical-copy h2{font-size:20px;letter-spacing:.2em}.vertical-copy p{font-size:16px;letter-spacing:.1em}}
@media(max-width:850px){.story{grid-template-columns:40% 60%;gap:0}.story-left{grid-template-columns:60% 40%}.story-photo{aspect-ratio:1/1.1}.vertical-copy{padding-right:25px;min-height:470px;gap:24px}.story-left .vertical-copy{padding-left:25px;padding-right:0}.vertical-copy p{font-size:15px}.story+.story{margin-top:170px}.site-header{height:100px}.menu-page{padding-top:100px}.footer-inner{display:block}.footer-landscape{margin-top:45px}.footer-landscape img{height:auto;max-height:440px}.footer-information{gap:45px}.reservation-links{gap:35px}.reservation-section{margin-top:150px}.menu-editorial{grid-template-columns:34% 1fr;gap:30px}.menu-editorial h2{font-size:22px}}
@media(max-width:700px){.site-header{height:86px}.story{display:flex;width:100%;gap:0}.story+.story{margin-top:95px}.vertical-copy,.story-left .vertical-copy{padding:0;width:88%;min-height:365px;gap:30px}.vertical-copy h2{font-size:21px;letter-spacing:.19em}.vertical-copy p{font-size:15px;letter-spacing:.08em;line-height:2}.story-left .vertical-copy{order:-1}.story-photo{aspect-ratio:644/486;width:88%}.story-left .story-photo{margin-left:0;margin-right:auto}.photo-close img{transform:scale(1.22)}.reservation-section{width:84%;margin:105px auto 75px}.reservation-section h2{font-size:22px;margin-bottom:20px}.reservation-section>p{font-size:15px;line-height:2.1}.reservation-links{grid-template-columns:1fr;gap:20px;margin-top:30px}.reservation-links a,.reservation-links button{font-size:16px}.site-footer{padding:55px 25px 25px}.footer-information{gap:27px}.footer-logo{font-size:36px}.shop-name{font-size:17px;margin-bottom:20px}.shop-information dl{font-size:14px}.shop-information dl>div{gap:8px;grid-template-columns:78px 1fr}.shop-location{font-size:14px}.footer-links{gap:19px;font-size:12px}.footer-landscape{margin-top:35px}.footer-landscape img{aspect-ratio:1.35;object-fit:cover}.footer-landscape figcaption{font-size:12px}.footer-bottom{display:block;margin-top:35px;padding-right:35px}.footer-bottom small{font-size:10px}.footer-bottom p{font-size:11px;margin-top:8px}.back-top{font-size:11px;gap:9px}.information-dialog{padding:22px 24px 30px}.information-dialog h2{font-size:22px;letter-spacing:.08em;margin:27px 0 20px}.information-dialog>p{font-size:15px;line-height:2}.menu-dialog{padding:25px 30px}.menu-dialog nav{gap:25px}.menu-dialog nav a,.menu-dialog nav button{font-size:19px}.dialog-heading{font-size:13px}.demo-notice p{font-size:14px}.menu-page{padding-top:86px}.menu-banner{height:60vw;min-height:230px}.menu-content{width:84%;margin:55px auto 65px}.menu-content h1{font-size:23px;margin-bottom:28px}.menu-content>p{font-size:16px;line-height:2.1;letter-spacing:.01em}.price-list{margin-top:35px}.price-list>div{display:block;padding:25px 0}.price-list h2{font-size:18px;letter-spacing:.08em}.price-list p{font-size:19px;margin:9px 0}.price-list small{font-size:13px}.menu-notes{font-size:12px;line-height:2}.menu-content>.underlined-link{min-width:0;max-width:none;width:100%;font-size:16px}.menu-editorial{width:84%;display:block;margin:65px auto}.menu-editorial figure{width:76%;margin-bottom:35px}.menu-editorial h2{font-size:23px;margin-bottom:23px}.menu-editorial p:not(.season-label){font-size:16px;line-height:2.15}.menu-ending{width:84%;margin:55px auto 75px}.menu-ending h2{font-size:22px}.menu-ending>p{font-size:16px}.menu-ending>.underlined-link{max-width:none}.home-return{font-size:14px}}
@media(max-width:360px){.site-header{padding:0 18px}.site-header nav{gap:16px}.site-header nav>a,.site-header nav>button{font-size:12px}.vertical-copy,.story-left .vertical-copy{gap:21px;width:90%}.vertical-copy h2{font-size:19px}.vertical-copy p{font-size:14px}.footer-information{gap:20px}.shop-information dl>div{grid-template-columns:73px 1fr;gap:4px}}

/* The menu opens with photography beneath the white overlay navigation. */
.menu-page{padding-top:0}.menu-top{position:relative;color:#fff;isolation:isolate}.menu-top:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004,transparent 70%);z-index:1;pointer-events:none}.menu-top .hero-logo{z-index:2;top:20%;left:max(calc((100vw - 1000px)/2),5.5vw)}.subpage .site-header:not(.scrolled){background:transparent;color:#fff;backdrop-filter:none}.subpage .site-header:not(.scrolled) .small-logo{opacity:0;pointer-events:none}
@media(max-width:700px){.menu-top .hero-logo{left:9%;top:24%}.menu-top .hero-logo>span{font-size:47px}.menu-top .hero-logo small{font-size:9px;margin-top:13px}.menu-top{min-height:300px}}

/* Course photographs share the existing paper, fine rules, and quiet spacing. */
.price-list.with-photos{margin-top:55px}
.price-list>.menu-course{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;padding:42px 0}
.course-photo{margin:0;min-width:0}
.course-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.course-photo figcaption{font-size:14px;line-height:1.9;color:#71766a;letter-spacing:.025em;margin-top:13px}
.course-copy{min-width:0;padding-bottom:26px}
.price-list .course-copy h2{font-size:22px;line-height:1.8;letter-spacing:.15em}
.price-list .course-copy p{font-size:20px;line-height:1.9;margin:22px 0 12px}
.price-list .course-copy small{display:block;font-size:14px;line-height:2;letter-spacing:.04em}
@media(max-width:850px){.price-list>.menu-course{gap:32px;padding:32px 0}.price-list .course-copy h2{font-size:20px;letter-spacing:.08em}.price-list .course-copy p{font-size:18px;margin:16px 0 10px}.course-photo figcaption{font-size:13px}.course-copy{padding-bottom:22px}}
@media(max-width:700px){.price-list.with-photos{margin-top:35px}.price-list>.menu-course{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:30px 0 35px}.course-copy{padding:0}.price-list .course-copy h2{font-size:21px;letter-spacing:.1em}.price-list .course-copy p{font-size:20px;margin:12px 0 8px}.course-photo figcaption{font-size:13px;margin-top:11px}.price-list .course-copy small{font-size:14px}}
