/* Menu and journal: charcoal, warm paper, generous photography. */
:root{--paper:#e7e0ce;--coal:#23231f;--muted:#aaa38f}
.menu-landing{position:relative;background:var(--coal);color:var(--paper);padding:100px 6vw 110px;overflow:hidden}
.menu-intro{display:grid;grid-template-columns:1fr auto;align-items:end;margin-bottom:45px;gap:12px}
.menu-intro>p{grid-column:1/-1;margin:0;letter-spacing:.18em;font-size:16px}
.menu-intro h1,.menu-intro h2{font-family:Impact,'Arial Narrow',sans-serif;font-weight:900;font-size:clamp(90px,12vw,180px);line-height:.95;letter-spacing:-.035em;margin:0}
.menu-intro>div{line-height:1.9;font-size:17px;padding-bottom:8px}
.home-menu-nav{display:flex;border-top:1px solid #e7e0ce55;border-bottom:1px solid #e7e0ce55;margin-bottom:48px;flex-wrap:wrap}
.home-menu-nav a{flex:1;min-width:105px;padding:22px 12px;display:flex;justify-content:space-between;text-decoration:none;transition:background .25s,color .25s}
.home-menu-nav a:hover{background:var(--paper);color:var(--coal)}
.home-menu-nav b{font-weight:400;opacity:.5}
.signature-dishes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.signature-photo{aspect-ratio:1.13;overflow:hidden;clip-path:polygon(0 0,96% 0,100% 5%,100% 100%,0 100%)}
.signature-photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.signature-dish:hover img{transform:scale(1.06)}
.signature-description{padding:23px 0 0;position:relative}
.signature-description>span{position:absolute;right:0;top:25px;font-size:14px;opacity:.5}
.signature-description h3{font-size:clamp(24px,2.3vw,36px);font-weight:700;margin:0 0 12px;letter-spacing:.02em}
.signature-description p{font-size:14px;margin:0 0 16px;opacity:.75}
.signature-description strong{font-size:25px;font-weight:500;font-variant-numeric:tabular-nums}
.signature-description strong small{font-size:12px;margin-left:5px;font-weight:400}
.editorial-link{display:flex;width:min(100%,450px);justify-content:space-between;border-bottom:1px solid currentColor;padding:22px 0;text-decoration:none;margin:55px 0 0 auto;font-size:17px;transition:letter-spacing .3s}
.editorial-link:hover{letter-spacing:.08em}
.journal-section{background:var(--paper);color:var(--coal);position:relative;padding:100px 6vw 110px;clip-path:polygon(0 28px,34% 28px,36% 0,100% 0,100% 100%,0 100%);margin-top:-28px}
.journal-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px;gap:30px}
.journal-heading p{line-height:1.9;margin:0;font-size:16px}
.journal-heading h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(70px,10vw,148px);line-height:1;margin:12px 0 0;letter-spacing:-.035em}
.journal-posts{display:grid;grid-template-columns:1.25fr 1fr;column-gap:65px}
.journal-post{display:grid;grid-template-columns:140px 1fr;gap:24px;text-decoration:none;border-bottom:1px solid #23231f44;padding:22px 0;align-items:center}
.journal-post:first-child{grid-row:span 3;display:block;padding:0 0 24px}
.journal-image{overflow:hidden;aspect-ratio:1.4;background:#d3cbb8}
.journal-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.journal-post:hover img{transform:scale(1.06)}
.journal-post time{font-size:12px;letter-spacing:.08em;display:block;margin:14px 0}
.journal-post h3{font-size:18px;line-height:1.65;margin:0;font-weight:500}
.journal-post:first-child h3{font-size:25px}
.journal-post .article-arrow{display:block;text-align:right;font-size:23px;margin-top:10px}
.journal-empty{line-height:2;border-bottom:1px solid #23231f44;padding:30px 0}
.menu-page{background:var(--paper);color:var(--coal)}
.inner-header{display:flex;padding:30px 5vw;align-items:center;justify-content:space-between;background:var(--coal);color:var(--paper)}
.inner-header img{width:70px;height:70px;object-fit:contain}
.inner-header a{text-decoration:none}
.full-menu{max-width:1280px;padding:65px 40px 140px;margin:auto}
.menu-category{position:sticky;top:0;z-index:5;display:flex;overflow:auto;background:var(--paper);border-block:1px solid #23231f55;margin:0 0 65px;scrollbar-width:thin}
.menu-category a{flex:1;white-space:nowrap;text-align:center;padding:23px 17px;text-decoration:none;border-bottom:3px solid transparent}
.menu-category a:hover,.menu-category a.is-active{border-color:var(--coal)}
.full-menu section{scroll-margin-top:95px}
.category-heading{font-size:clamp(28px,4vw,52px);margin:0 0 35px;letter-spacing:.04em;display:flex;gap:30px;align-items:center}
.category-heading span{font-size:14px;letter-spacing:.08em;font-weight:400}
.menu-group{border-top:1px solid #23231f55;padding-top:45px;margin-top:75px}
.menu-price-list{display:grid;grid-template-columns:1fr 1fr;gap:0 55px;margin:0}
.menu-price-list>div{display:flex;justify-content:space-between;gap:22px;border-bottom:1px solid #23231f25;padding:21px 0;align-items:start}
.menu-price-list dt{font-size:16px;line-height:1.7}
.menu-price-list dt small{display:block;font-size:12px;opacity:.65}
.menu-price-list dd{margin:0;white-space:nowrap;line-height:1.7;font-size:15px;font-variant-numeric:tabular-nums}
.course-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.course-list article{border-top:4px solid var(--coal);padding:22px 0}
.course-list h3{font-size:22px;margin:0 0 20px}
.course-list p{line-height:1.9;font-size:14px;min-height:90px}
.course-list strong{font-size:32px}.course-list small{font-size:12px;margin-left:7px;font-weight:400}
.menu-note{font-size:13px;line-height:2;margin-top:35px;opacity:.75}
.drink-heading{margin:40px 0 5px;font-size:22px}
.menu-motion .reveal-piece{opacity:0;transform:translateY(32px);transition:opacity .8s,transform .8s}
.menu-motion .reveal-piece.is-visible{opacity:1;transform:none}
@media(min-width:800px){.signature-dish:nth-child(2){transition-delay:.12s}.signature-dish:nth-child(3){transition-delay:.24s}}
@media(max-width:800px){.menu-landing{padding:65px 24px 75px}.menu-intro{display:block}.menu-intro>div{margin-top:24px;font-size:14px}.home-menu-nav{margin-top:25px;margin-bottom:35px}.home-menu-nav a{min-width:33.33%;font-size:13px;padding:16px 10px}.signature-dishes{grid-template-columns:1fr;gap:38px}.signature-dish{display:grid;grid-template-columns:46% 1fr;gap:18px;align-items:center}.signature-photo{aspect-ratio:.95}.signature-description{padding:0}.signature-description>span{display:none}.signature-description h3{font-size:23px}.signature-description p{font-size:12px;line-height:1.8}.signature-description strong{font-size:21px}.signature-description strong small{font-size:10px}.journal-section{padding:80px 24px}.journal-heading{display:block;margin-bottom:35px}.journal-heading>p{margin-top:22px;font-size:13px}.journal-posts{display:block}.journal-post:first-child h3{font-size:22px}.journal-post{grid-template-columns:100px 1fr;gap:20px}.journal-post h3{font-size:15px}.journal-post time{margin:0 0 8px}.full-menu{padding:45px 24px 120px}.menu-category{margin-top:30px;margin-bottom:45px}.menu-category a{padding:18px 15px;font-size:13px}.menu-price-list{grid-template-columns:1fr}.menu-price-list dt{font-size:14px}.menu-price-list dd{font-size:13px;white-space:normal;text-align:right;min-width:80px}.menu-group{margin-top:55px;padding-top:30px}.course-list{grid-template-columns:1fr;gap:10px}.course-list p{min-height:0}.editorial-link{font-size:15px;margin-top:35px}.inner-header{padding:20px 24px}.inner-header img{width:55px;height:55px}}
@media(prefers-reduced-motion:reduce){.menu-motion .reveal-piece{opacity:1;transform:none;transition:none}.signature-photo img,.journal-image img{transition:none}}

.menu-intro h1,.menu-intro h2{display:block;text-align:left;align-items:initial;white-space:normal}.inner-header>a{white-space:nowrap}

/* A continuous arc of real dishes; the surrounding menu remains readable. */
.menu-page #category-0{overflow:hidden;margin-inline:-40px;padding:0 40px 12px}
.menu-page .signature-dishes.is-carousel{position:relative;display:block;height:clamp(460px,45vw,610px);margin:65px -40px 0;touch-action:pan-y}
.is-carousel .signature-dish{display:block;position:absolute;left:50%;top:0;width:clamp(270px,34vw,420px);text-align:center;transform:translateX(calc(-50% + var(--position)*90%)) translateY(calc(var(--distance)*-50px)) scale(var(--scale));opacity:var(--opacity);z-index:var(--layer);transition:transform 950ms cubic-bezier(.22,.61,.36,1),opacity 950ms ease;transition-delay:0;cursor:pointer}
.is-carousel .signature-dish.no-transition{transition:none;opacity:0}
.is-carousel .signature-photo{clip-path:none;border-radius:50%;aspect-ratio:1.12;box-shadow:0 23px 15px -21px #23231f66}
.is-carousel .signature-description{padding:32px 5px 0;opacity:0;transform:translateY(15px);transition:opacity 600ms ease,transform 900ms cubic-bezier(.22,.61,.36,1)}
.is-carousel .signature-dish.is-current .signature-description{opacity:1;transform:none;transition-delay:160ms}
.is-carousel .signature-description>span{display:none}
.is-carousel .signature-description h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:34px}
.signature-controls{display:flex;align-items:center;justify-content:center;gap:30px;margin-top:-28px;position:relative;z-index:3}
.signature-controls>button{width:52px;height:52px;border:1px solid #23231f66;border-radius:50%;background:transparent;color:var(--coal);font-size:22px;cursor:pointer;transition:background .25s,color .25s}
.signature-controls>button:hover{background:var(--coal);color:var(--paper)}
.signature-dots{display:flex;gap:15px}.signature-dots button{width:26px;height:30px;border:0;background:none;cursor:pointer;padding:10px}.signature-dots button::after{content:'';display:block;width:6px;height:6px;border-radius:50%;background:var(--coal);opacity:.25;transition:opacity .3s,transform .3s}.signature-dots button[aria-pressed=true]::after{opacity:1;transform:scale(1.3)}
.signature-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.signature-controls button:focus-visible{outline:2px solid var(--coal);outline-offset:5px}
@media(max-width:800px){.menu-page #category-0{margin-inline:-24px;padding-inline:24px}.menu-page .signature-dishes.is-carousel{margin:55px -24px 0;height:440px}.is-carousel .signature-dish{width:72vw;max-width:350px;transform:translateX(calc(-50% + var(--position)*96%)) translateY(calc(var(--distance)*-30px)) scale(var(--scale))}.is-carousel .signature-description h3{font-size:28px}.signature-controls{margin-top:0;gap:25px}.is-carousel .signature-description p{font-size:13px}.is-carousel .signature-description strong{font-size:25px}}
@media(prefers-reduced-motion:reduce){.is-carousel .signature-dish,.is-carousel .signature-description{transition:none!important}}

/* A shared editorial voice, from the charcoal stage to the shop's diary. */
.taste-heading .menu-kicker{font-size:13px;letter-spacing:.16em;margin:0 0 22px;opacity:.65}
.taste-heading h2.top-menu-title{writing-mode:horizontal-tb;font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(95px,13vw,180px);letter-spacing:-.035em;line-height:.9;margin:0 auto 36px}
.taste-heading .menu-vertical{writing-mode:vertical-rl;font-size:25px;line-height:1.65;font-weight:700;letter-spacing:.08em;margin:0 auto}
.journal-composed{background:#d9ccb4;clip-path:polygon(0 65px,100% 0,100% 100%,0 100%);margin-top:-30px;padding:155px 6vw 100px;overflow:hidden}
.journal-running-label{display:flex;justify-content:space-between;border-top:1px solid #23231f55;padding:14px 0;font-size:11px;letter-spacing:.16em;margin-bottom:48px}
.journal-composed .journal-heading{position:absolute;left:6vw;top:235px;display:block;width:40%;margin:0;z-index:2;pointer-events:none}
.journal-composed .journal-heading .journal-kicker{font-size:11px;letter-spacing:.12em;margin-bottom:24px}
.journal-composed .journal-heading h2{font-family:'Zen Kaku Gothic New','Meiryo',sans-serif;font-size:clamp(50px,5.8vw,88px);line-height:1.25;letter-spacing:-.065em;font-weight:700;margin:0}
.journal-composed .journal-heading h2 span{display:block}.journal-composed .journal-heading h2 span:last-child{margin-left:.4em}
.journal-composed .journal-heading>p{font-size:14px;line-height:1.9;margin:28px 0 0 8px}
.journal-composed .journal-posts{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:45px 2.2vw;position:relative}
.journal-composed .journal-post{display:block;border:0;padding:0;position:relative;align-self:start;transition:opacity .8s,transform 1.1s cubic-bezier(.22,.61,.36,1)}
.journal-composed .journal-post:first-child{grid-column:6/13;grid-row:1;padding:0}
.journal-composed .journal-post:nth-child(2){grid-column:1/5;grid-row:1;margin-top:340px}
.journal-composed .journal-post:nth-child(3){grid-column:3/7;grid-row:2;margin-top:20px}
.journal-composed .journal-post:nth-child(4){grid-column:9/13;grid-row:2;margin-top:85px}
.journal-composed .journal-image{aspect-ratio:1.23;background:#c6bba4;transform:translateY(var(--photo-drift,0px)) rotate(var(--photo-angle,0deg));transform-origin:50% 50%;box-shadow:0 16px 26px -24px #23231f77;transition:transform .3s ease-out}
.journal-composed .journal-post:first-child .journal-image{aspect-ratio:1.35;--photo-angle:2deg}
.journal-composed .journal-post:nth-child(2) .journal-image{--photo-angle:-4deg}.journal-composed .journal-post:nth-child(3) .journal-image{--photo-angle:3deg}.journal-composed .journal-post:nth-child(4) .journal-image{--photo-angle:-2deg}
.journal-composed .journal-post>div:last-child{position:relative;margin-top:29px;padding-right:36px}
.journal-composed .journal-post time{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.12em;opacity:.65;margin:0 0 11px}
.journal-composed .journal-post h3{font-family:'Zen Kaku Gothic New','Yu Gothic',sans-serif;font-weight:700;font-size:19px;line-height:1.6;letter-spacing:-.025em}
.journal-composed .journal-post:first-child h3{font-size:clamp(21px,2.2vw,32px)}
.journal-composed .journal-post .article-arrow{position:absolute;right:0;top:26px;font-size:28px;margin:0}
.journal-composed .journal-post:hover{opacity:1}.journal-composed .journal-post:hover .article-arrow{transform:translate(4px,-4px);transition:transform .3s}
.journal-composed .journal-post.is-entering{opacity:0;transform:translateY(55px)}
.journal-composed .editorial-link{max-width:450px;margin:70px 0 0 auto;font-weight:700}

.menu-page{background:#23231f;color:#eee8dc;font-family:'Zen Kaku Gothic New','Meiryo',sans-serif}
.menu-page .inner-header{border-bottom:1px solid #eee8dc22;background:none}
.menu-page .full-menu{max-width:none;padding:65px 0 0;overflow:clip}
.menu-page .menu-intro{max-width:1280px;margin:0 auto 50px;padding:0 40px;align-items:center}
.menu-page .menu-intro>p{font-size:11px;letter-spacing:.12em;opacity:.65;margin-bottom:22px}
.menu-page .menu-intro h1{font-size:clamp(95px,11vw,158px);color:#eee8dc}
.menu-page .menu-intro>div{font-size:clamp(24px,3vw,40px);font-weight:700;line-height:1.55;letter-spacing:-.045em}
.menu-page .menu-category{max-width:1200px;margin:0 auto 55px;background:#23231f;color:#eee8dc;border-color:#eee8dc44;scrollbar-width:none}
.menu-page .menu-category a{font-size:14px;font-weight:700;letter-spacing:.02em;padding:24px 15px;transition:color .25s,border-color .25s}
.menu-page .menu-category a:hover,.menu-page .menu-category a.is-active{border-color:#eee8dc;color:#fff}
.menu-page #category-0{max-width:1280px;margin:0 auto;padding:0 40px 80px;overflow:hidden}
.menu-page #category-0 .category-heading{font-size:15px;letter-spacing:.12em;font-weight:500;margin-bottom:30px;justify-content:center;color:#bbb4a6}
.menu-page .signature-dishes.is-carousel{margin-top:70px;height:clamp(460px,43vw,600px)}
.menu-page .is-carousel .signature-photo{box-shadow:0 24px 16px -22px #000}
.menu-page .is-carousel .signature-description h3{font-family:'Zen Kaku Gothic New','Meiryo',sans-serif;font-size:34px;font-weight:700;letter-spacing:-.025em}
.menu-page .is-carousel .signature-description p{font-size:14px;color:#c7c0b3;opacity:1}
.menu-page .is-carousel .signature-description strong{font-size:26px;font-family:'Zen Kaku Gothic New','Meiryo',sans-serif;font-weight:500}
.menu-page .signature-controls>button{color:#eee8dc;border-color:#eee8dc66}.menu-page .signature-controls>button:hover{background:#eee8dc;color:#23231f}
.menu-page .signature-dots button::after{background:#eee8dc}.menu-page .signature-controls button:focus-visible{outline-color:#eee8dc}
.menu-ledger{background:#e7e0ce;color:#23231f;padding:30px max(40px,calc((100vw - 1200px)/2)) 120px}
.menu-ledger .menu-group{margin-top:65px;padding-top:45px;border-top:1px solid #23231f44}
.menu-ledger .category-heading{font-family:'Zen Kaku Gothic New','Meiryo',sans-serif;font-size:36px;font-weight:700;letter-spacing:-.035em;line-height:1.3}
.menu-ledger .menu-group:not(#category-7):not(#category-8){display:grid;grid-template-columns:210px minmax(0,1fr);gap:25px}
.menu-ledger .menu-price-list{gap:0 45px}.menu-ledger .menu-price-list>div{padding:21px 0;gap:20px}
.menu-ledger .menu-price-list dt{font-size:16px;font-weight:500;line-height:1.8;letter-spacing:0}.menu-ledger .menu-price-list dt small{font-size:12px;line-height:1.8;font-weight:400;opacity:.65}
.menu-ledger .menu-price-list dd{font-size:16px;font-weight:500;line-height:1.8;min-width:70px;text-align:right}
.menu-ledger .course-list article{border-top-width:2px}.menu-ledger .course-list h3{font-size:24px;letter-spacing:-.035em}
.menu-ledger .drink-heading{font-size:22px;font-weight:700;letter-spacing:-.03em;margin-top:45px}
.menu-ledger .menu-note{font-size:12px;line-height:1.9;margin-top:55px}
@media(max-width:900px){.menu-ledger .menu-group:not(#category-7):not(#category-8){display:block}.menu-ledger .category-heading{margin-bottom:25px}}
@media(max-width:800px){
 .taste-heading h2.top-menu-title{font-size:110px;margin-bottom:26px}.taste-heading .menu-vertical{font-size:22px}
 .journal-composed{padding:90px 24px 80px;clip-path:polygon(0 30px,100% 0,100% 100%,0 100%)}
 .journal-running-label{font-size:9px;margin-bottom:35px;padding-top:12px;letter-spacing:.08em}
 .journal-composed .journal-heading{position:static;width:100%;margin-bottom:50px;pointer-events:auto}
 .journal-composed .journal-heading h2{font-size:clamp(43px,10.7vw,72px);line-height:1.3}.journal-composed .journal-heading>p{font-size:12px;margin-top:22px}
 .journal-composed .journal-heading .journal-kicker{font-size:10px;margin-bottom:18px}
 .journal-composed .journal-posts{grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 16px}
 .journal-composed .journal-post:first-child{grid-column:1/7;grid-row:1;margin:0 8px}.journal-composed .journal-post:nth-child(2){grid-column:1/5;grid-row:2;margin-top:0}.journal-composed .journal-post:nth-child(3){grid-column:3/7;grid-row:3;margin-top:0}.journal-composed .journal-post:nth-child(4){grid-column:1/5;grid-row:4;margin-top:0}
 .journal-composed .journal-post>div:last-child{margin-top:23px;padding-right:22px}.journal-composed .journal-post h3{font-size:16px}.journal-composed .journal-post:first-child h3{font-size:21px}.journal-composed .journal-post .article-arrow{font-size:22px;top:26px}.journal-composed .journal-post time{font-size:10px}
 .journal-composed .editorial-link{margin-top:50px;font-size:14px}
 .menu-page .full-menu{padding-top:45px}.menu-page .menu-intro{padding:0 24px;margin-bottom:35px}.menu-page .menu-intro>p{font-size:10px}.menu-page .menu-intro>div{font-size:25px;margin-top:25px}
 .menu-page .menu-category{margin:0 24px 40px}.menu-page .menu-category a{font-size:13px;padding:19px 18px}
 .menu-page #category-0{padding:0 24px 65px}.menu-page .signature-dishes.is-carousel{height:clamp(440px,75vw,510px);margin-top:55px}.menu-page .is-carousel .signature-description h3{font-size:28px}
 .menu-ledger{padding:10px 24px 95px}.menu-ledger .menu-group{padding-top:30px;margin-top:45px}.menu-ledger .category-heading{font-size:30px}.menu-ledger .menu-price-list{grid-template-columns:1fr}.menu-ledger .menu-price-list dt,.menu-ledger .menu-price-list dd{font-size:14px}.menu-ledger .menu-price-list dd{white-space:normal}.menu-ledger .course-list h3{font-size:23px}
}
@media(prefers-reduced-motion:reduce){.journal-composed .journal-post{transition:none}.journal-composed .journal-image{transform:rotate(var(--photo-angle,0deg));transition:none}}
