:root{--paper:#f5f3ee;--ink:#262c2b;--muted:#626762;--line:#d5d6ce;--dark:#202726;--accent:#977351;--serif:'Hiragino Mincho ProN','Yu Mincho',YuMincho,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--rail:120px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:2;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:2px solid #bc8858;outline-offset:7px}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}::selection{background:#d6cbb9;color:#202726}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:12px}.skip:focus{top:0}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--rail);display:flex;align-items:center;flex-direction:column;padding:37px 20px 26px;z-index:10;background:var(--paper);border-right:1px solid var(--line)}.logo{width:58px;aspect-ratio:350/270;object-fit:contain;filter:invert(1);mix-blend-mode:multiply}.brand-name{font-family:var(--serif);font-size:14px;writing-mode:vertical-rl;letter-spacing:.28em;margin-top:24px}.sidebar nav{display:flex;flex-direction:column;align-items:center;gap:29px;margin-top:auto;margin-bottom:auto;padding:35px 0}.sidebar nav a{writing-mode:vertical-rl;font-size:14px;letter-spacing:.15em;transition:color .2s}.sidebar nav a:hover{color:var(--accent)}.side-meta{font-size:12px;writing-mode:vertical-rl;letter-spacing:.12em;color:var(--muted)}main,footer{margin-left:var(--rail)}.hero{position:relative;height:calc(100svh - 40px);min-height:610px;max-height:1050px;background:#343b3d;color:#fff;isolation:isolate}.hero>img{width:100%;height:100%;object-fit:cover;object-position:55% center;position:absolute;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,22,24,.68),transparent 62%),linear-gradient(0deg,rgba(10,19,20,.62),transparent 32%)}.hero-top{position:absolute;top:38px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font-family:Georgia,serif;font-size:12px;letter-spacing:.17em}.hero-top .edition{font-family:var(--sans);border-left:1px solid #ffffff80;padding-left:20px;font-size:12px;letter-spacing:.08em}.hero-title{position:absolute;top:24%;left:8%;writing-mode:vertical-rl;font-size:clamp(34px,3.5vw,52px);letter-spacing:.19em;line-height:1.8;text-shadow:0 2px 20px #13202480}.hero-bottom{position:absolute;bottom:38px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.hero-bottom p{font-family:var(--serif);font-size:17px;letter-spacing:.16em;line-height:2.1}.hero-caption{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.03em;margin-top:12px;color:#eeefeb}.scroll-link{display:flex;align-items:center;gap:20px;font-family:Georgia,serif;font-size:12px;letter-spacing:.14em}.scroll-link:after{content:'';height:62px;width:1px;background:#d6dcd7}.opening{display:flex;justify-content:space-between;align-items:center;padding:24px 6%;border-bottom:1px solid var(--line);gap:20px}.opening p{font-size:14px;letter-spacing:.1em}.opening a{font-size:14px;border-bottom:1px solid var(--ink);white-space:nowrap}.section-label{font-family:Georgia,serif;font-size:12px;letter-spacing:.18em;color:var(--muted)}.section-label .number{color:var(--accent);margin-right:18px}.intro{padding:135px 8% 145px;position:relative;display:grid;grid-template-columns:.9fr 1.1fr;column-gap:10%;align-items:start}.intro .section-label{grid-column:1/-1;margin-bottom:60px}.intro h2{font-size:clamp(30px,3.1vw,43px);line-height:1.9;letter-spacing:.12em}.intro-copy{padding-top:7px}.body-copy{font-size:16px;line-height:2.25;letter-spacing:.045em}.body-copy+.body-copy{margin-top:27px}.small-wordmark{margin-top:42px;font-family:var(--serif);font-size:19px;letter-spacing:.2em}.chapter-heading{padding:0 8% 65px;display:flex;align-items:baseline;justify-content:space-between;gap:30px}.chapter-heading h2{font-size:26px;letter-spacing:.16em}.service{position:relative;padding:65px 8% 100px;border-top:1px solid var(--line)}.service-meta{display:flex;align-items:center;gap:24px;margin-bottom:46px}.service-meta .time{font-family:Georgia,serif;letter-spacing:.18em;font-size:13px}.service-meta .hairline{height:1px;width:60px;background:var(--accent)}.service-meta .service-kind{font-size:14px;letter-spacing:.14em}.service-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:11%;align-items:start}.kanji{font-family:var(--serif);font-size:clamp(100px,13vw,175px);line-height:1.1;letter-spacing:.03em;color:#697067;font-weight:400}.service-title{font-size:clamp(29px,3vw,41px);line-height:1.85;letter-spacing:.12em;margin-bottom:30px}.service-copy{max-width:640px}.service-caption{font-size:14px;margin-top:28px;border-top:1px solid var(--line);padding-top:20px;color:var(--muted)}.night{padding-top:65px;padding-bottom:0;background:var(--dark);color:#edeee8;border:0}.night .kanji{color:#a4aa9e}.night .service-meta{color:#d5dace}.night .service-caption{color:#c3cac1;border-color:#54605a}.night-figure{margin:65px -9.524% 0;position:relative}.night-figure img{width:100%;height:auto}.night-figure figcaption{position:absolute;bottom:20px;right:25px;padding:3px 10px;background:#17201ecc;color:#fff;font-size:12px}.chef{padding:125px 8%;display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;background:#eaece5}.chef-identity{border-left:1px solid #b6bcb2;padding-left:27px}.chef-identity .section-label{margin-bottom:60px}.chef-name{font-size:34px;letter-spacing:.16em;line-height:1.7}.chef-en{font-family:Georgia,serif;font-size:12px;letter-spacing:.15em;margin-top:15px}.chef-role{font-size:14px;letter-spacing:.08em;margin-top:30px;color:var(--muted)}.chef h2{font-size:clamp(26px,2.7vw,36px);line-height:1.9;letter-spacing:.08em;margin-bottom:32px}.profile{margin-top:35px;padding-top:18px;border-top:1px solid #b6bcb2}.profile summary{font-size:14px;cursor:pointer;padding:5px 0}.profile p{margin-top:20px;font-size:16px;line-height:2.2}.visit{padding:130px 8% 115px;display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.visit-heading h2{font-size:38px;line-height:1.7;letter-spacing:.14em;margin-top:45px}.visit-logo{width:100px;margin-top:65px}.shop-name{font-size:25px;letter-spacing:.1em;line-height:1.7;margin-bottom:36px}.address{font-size:16px;line-height:2.1;font-style:normal;margin-bottom:30px}.info{margin:0;border-top:1px solid var(--line)}.info>div{display:grid;grid-template-columns:95px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.info dd{margin:0;font-size:16px;color:var(--muted)}.reservation{padding-top:35px}.reservation h3{font-size:20px;letter-spacing:.1em;margin-bottom:12px}.reservation p{font-size:14px;line-height:2.1;color:var(--muted)}.instagram{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);padding:22px 0 12px;margin-top:15px;font-size:14px}.instagram span{font-family:Georgia,serif;font-size:18px;letter-spacing:.05em}footer{padding:30px 8%;background:var(--dark);color:#dde2da;display:flex;justify-content:space-between;align-items:center;gap:25px}footer small{font-size:12px;letter-spacing:.08em}footer a{font-size:14px}.footer-logo{width:38px;filter:none;mix-blend-mode:screen}.footer-brand{display:flex;align-items:center;gap:20px}.fade-in{animation:enter .9s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.intro,.service,.chef,.visit{padding-left:12%;padding-right:12%}.night-figure{margin-left:-15.789%;margin-right:-15.789%}}
@media(max-width:1000px){:root{--rail:90px}.sidebar{padding-left:15px;padding-right:15px}.intro,.service,.chef,.visit{padding-left:7%;padding-right:7%;column-gap:7%}.night-figure{margin-left:-8.14%;margin-right:-8.14%}.intro{grid-template-columns:1fr}.intro-copy{margin-top:35px;max-width:650px}.intro .section-label{margin-bottom:35px}.hero-title{left:8%;font-size:37px}.chef{grid-template-columns:.8fr 1.2fr}.chef h2{font-size:27px}.service-grid{grid-template-columns:.5fr 1.5fr;gap:7%}}
@media(max-width:700px){:root{--rail:0px}html{scroll-padding-top:90px}.sidebar{position:relative;width:100%;height:84px;padding:14px 6%;flex-direction:row;gap:15px;border-right:0;border-bottom:1px solid var(--line)}.sidebar .logo{width:42px}.brand-name{writing-mode:horizontal-tb;font-size:12px;letter-spacing:.1em;margin:0}.sidebar nav{margin:0 0 0 auto;padding:0;flex-direction:row;gap:18px}.sidebar nav a{writing-mode:horizontal-tb;font-size:14px;letter-spacing:0}.sidebar nav a:first-child,.side-meta{display:none}.hero{height:calc(86svh - 84px);min-height:510px;max-height:820px}.hero>img{object-position:53% center}.hero:after{background:linear-gradient(90deg,#15212080,transparent 75%),linear-gradient(0deg,#122023a6,transparent 35%)}.hero-top{top:23px;left:7%;right:7%;font-size:12px;letter-spacing:.05em}.hero-top .edition{font-size:12px;padding-left:12px}.hero-title{top:23%;left:8%;font-size:31px;line-height:1.65;letter-spacing:.15em}.hero-bottom{bottom:26px;left:7%;right:7%;gap:16px}.hero-bottom p{font-size:14px;letter-spacing:.07em}.hero-caption{font-size:12px}.scroll-link{font-size:12px;gap:12px}.scroll-link:after{height:43px}.opening{padding:21px 7%;align-items:flex-start}.opening p{font-size:14px;letter-spacing:0}.opening a{font-size:14px}.intro{padding:80px 8% 85px;display:block}.intro .section-label{margin-bottom:32px}.intro h2{font-size:29px;letter-spacing:.07em}.intro-copy{margin-top:27px}.body-copy{font-size:16px;line-height:2.1;letter-spacing:.015em}.small-wordmark{margin-top:28px;font-size:17px}.chapter-heading{padding:0 8% 32px;display:block}.chapter-heading h2{font-size:23px;margin-top:17px;letter-spacing:.1em}.service{padding:35px 8% 65px}.service-meta{margin-bottom:30px;gap:17px}.service-meta .hairline{width:35px}.service-grid{grid-template-columns:1fr;gap:25px}.kanji{font-size:90px}.service-title{font-size:28px;letter-spacing:.08em;line-height:1.75;margin-bottom:24px}.service-caption{font-size:14px}.night{padding-bottom:0}.night-figure{margin:45px -9.524% 0}.night-figure img{aspect-ratio:4/3;object-fit:cover;object-position:59% center}.night-figure figcaption{right:12px;bottom:12px}.chef{padding:75px 8%;grid-template-columns:1fr;gap:45px}.chef-identity .section-label{margin-bottom:25px}.chef-name{font-size:31px}.chef-role{margin-top:18px}.chef h2{font-size:27px}.visit{padding:80px 8%;grid-template-columns:1fr;gap:40px}.visit-heading h2{font-size:30px;margin-top:27px}.visit-logo{display:none}.shop-name{font-size:23px;margin-bottom:26px}.info>div{grid-template-columns:75px 1fr;gap:15px}.address{overflow-wrap:anywhere}footer{padding:26px 8%;align-items:flex-start;flex-wrap:wrap;gap:15px}.footer-brand{gap:15px}footer small{max-width:210px;line-height:1.8}.footer-logo{width:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{animation:none}}

/* Keep text columns stable at intermediate widths and enlarged text sizes. */
.hero-title span{display:block}.intro>*,.service-grid>*,.chef>*,.visit>*{min-width:0}.service-copy,.chef-story{container-type:inline-size}.service-title{font-size:clamp(20px,6cqw,41px)}.chef h2{font-size:clamp(20px,6cqw,36px)}.hero-title{max-height:65%;top:24%;font-size:clamp(30px,3vw,44px)}.hero-top{flex-wrap:wrap;row-gap:8px}.body-copy,.address,.profile p{overflow-wrap:break-word;line-break:strict}.opening a,.instagram{min-height:44px}.sidebar nav a{padding:4px}
@media(max-width:700px){.hero-title{font-size:32px;top:23%}.service-title,.chef h2{font-size:clamp(20px,6cqw,28px)}.hero-bottom>div{max-width:calc(100% - 60px)}.hero-caption{line-height:1.8}.hero-top .edition{border-left:0;padding-left:0}.sidebar nav{gap:12px}.brand-name{letter-spacing:0}.opening p{flex:1}}

/* White canvas, including the evening and profile sections. */
:root{--paper:#fff;--ink:#252a29;--muted:#646964;--line:#e3e5e1}
.night{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.night .kanji{color:#697067}
.night .service-meta{color:var(--ink)}
.night .service-caption{color:var(--muted);border-color:var(--line)}
.chef{background:var(--paper);border-bottom:1px solid var(--line)}
footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.footer-logo{filter:invert(1);mix-blend-mode:multiply}

/* Original vector logo on a transparent background. */
.logo,.footer-logo{filter:none;mix-blend-mode:normal;aspect-ratio:1.3028442758947618;height:auto}

/* Align the vertical navigation beneath the brand, toward the top. */
@media(min-width:701px){
  .sidebar{padding-top:28px;padding-bottom:24px;overflow-y:auto}
  .sidebar>a,.brand-name,.sidebar nav,.side-meta{flex-shrink:0}
  .brand-name{margin-top:16px;letter-spacing:.16em;line-height:1.5;white-space:nowrap}
  .sidebar nav{margin-top:32px;margin-bottom:auto;padding:0 0 30px;gap:22px}
  .sidebar nav a{line-height:1.5;letter-spacing:.12em;white-space:nowrap;text-align:start}
  .side-meta{writing-mode:horizontal-tb;text-align:center;font-size:12px;line-height:1.8;letter-spacing:.04em;margin-top:20px}
}
@media(min-width:701px) and (max-height:680px){
  .sidebar{padding-top:22px;padding-bottom:18px}
  .sidebar nav{margin-top:24px;gap:16px;padding-bottom:18px}
  .brand-name{margin-top:12px}
  .side-meta{margin-top:12px}
}

@media(min-width:701px){.sidebar nav{margin-top:56px}}
@media(min-width:701px) and (max-height:680px){.sidebar nav{margin-top:42px}}

.intro{container-type:inline-size}.story-heading span{display:block;white-space:nowrap}.intro .story-heading{font-size:clamp(20px,2.6cqw,43px);letter-spacing:.07em}
@media(max-width:1000px){.intro .story-heading{font-size:clamp(20px,4.8cqw,38px)}}
@media(max-width:700px){.intro .story-heading{font-size:clamp(20px,7cqw,29px)}}

.instagram-label{display:inline-flex;align-items:center;gap:12px}.instagram-icon{flex-shrink:0}.instagram .instagram-account{font-family:var(--sans);font-size:14px;letter-spacing:0}
@media(max-width:380px){.instagram{flex-wrap:wrap;gap:6px 16px}}

@media(min-width:701px){.sidebar nav{margin-top:100px}}
@media(min-width:701px) and (max-height:680px){.sidebar nav{margin-top:64px}}

.lunch-photo-grid{grid-template-columns:1fr 1fr;gap:8%;align-items:center}.shoyu-photo{margin:0}.shoyu-photo img{width:100%;height:auto}.lunch-photo-grid .service-title{font-size:clamp(20px,5.8cqw,36px)}
@media(max-width:700px){.lunch-photo-grid{grid-template-columns:1fr;gap:35px}.shoyu-photo{width:88%}.lunch-photo-grid .service-title{font-size:clamp(20px,6cqw,28px)}}

.noodles-photo{margin-top:35px}.noodles-photo img,.craft-photo img{display:block;width:100%;height:auto}.craft-photo{margin-top:42px}.chef{grid-template-columns:1fr 1fr;gap:8%}.chef-identity{padding-left:0;border-left:0}
@media(max-width:700px){.noodles-photo{margin-top:28px}.craft-photo{margin-top:30px}.chef{grid-template-columns:1fr;gap:40px}}

/* Center the vertical menu within the viewport independently of the logo. */
@media(min-width:701px) and (min-height:760px){
  .sidebar nav{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;padding:0;gap:22px}
  .side-meta{margin-top:auto}
}
@media(min-width:701px) and (max-height:759px){
  .sidebar nav{position:static;transform:none;margin-top:72px;margin-bottom:auto;padding-bottom:24px}
}

@media(min-width:701px){.sidebar nav a{font-family:var(--serif);font-weight:400;letter-spacing:.16em}}

/* Optical alignment for the asymmetric Q mark in the side rail. */
@media(min-width:701px){.sidebar>a{transform:translateX(3px)}}

.portrait-photo{margin-top:35px;width:88%;max-width:370px}.portrait-photo img,.chef-cooking-photo img{display:block;width:100%;height:auto}.chef-cooking-photo{margin-top:32px}.profile .craft-photo{margin-top:25px}
@media(max-width:700px){.portrait-photo{width:78%;max-width:330px;margin-top:28px}.chef-cooking-photo{margin-top:25px}}

.lunch-kanji{margin-bottom:40px}
@media(max-width:700px){.lunch-kanji{margin-bottom:28px}}

.profile-content{padding-top:25px}.profile-content h3{font-size:25px;letter-spacing:.08em;line-height:1.7}.profile-reading{display:block;font-family:var(--sans);font-size:14px;letter-spacing:.05em;color:var(--muted);margin-top:5px}.profile-content h4{font-family:var(--serif);font-size:20px;font-weight:400;letter-spacing:.1em;margin:38px 0 15px}.career-timeline{margin:0}.career-timeline>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:18px;border-top:1px solid var(--line);padding:16px 0}.career-timeline dt{font-size:14px}.career-timeline dd{margin:0;font-size:16px;line-height:1.9}.career-list{padding-left:1.25em;margin:0;font-size:16px;line-height:1.9}.career-list li+li{margin-top:12px}.career-date{display:block;color:var(--muted);font-size:14px}
@media(max-width:700px){.career-timeline>div{grid-template-columns:1fr;gap:6px}.profile-content h3{font-size:23px}}

/* A quiet entrance for the expandable biography; native keyboard behavior remains. */
@keyframes profile-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.profile[open] .profile-content{animation:profile-reveal .38s ease-out both}
@media(prefers-reduced-motion:reduce){.profile[open] .profile-content{animation:none}}

/* Biography unfolds across both desktop columns. */
.chef{column-gap:8%;row-gap:32px}
.chef>.profile{grid-column:1 / -1;margin-top:0}
.profile-content{max-width:920px;margin-inline:auto;padding-bottom:12px}
@media(min-width:701px){.chef>.profile:not([open]){grid-column:2}.profile[open]{padding-top:24px}.profile[open] summary{margin-bottom:12px}}

/* Brief, single-pass chapter entrances. Content stays visible without JavaScript. */
.chapter-reveal{opacity:0;filter:blur(6px);transform:translateY(14px);transition:opacity .8s ease,filter .8s ease,transform .8s cubic-bezier(.2,.65,.3,1)}
.chapter-reveal.is-visible{opacity:1;filter:blur(0);transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.chapter-reveal{opacity:1;filter:none;transform:none;transition:none}}

/* Keep the chapter number and title together on every screen. */
.chapter-heading{display:block}
.chapter-heading .section-label{margin-bottom:0}
.chapter-heading h2{margin-top:20px;line-height:1.7}
@media(max-width:700px){.chapter-heading h2{margin-top:17px}}

/* Let the large day/night characters reveal more slowly than the headings. */
.kanji.chapter-reveal{filter:blur(12px);transform:translateY(24px);transition-duration:1.8s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.kanji.chapter-reveal.is-visible{filter:blur(0);transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.kanji.chapter-reveal{filter:none;transform:none;transition:none}}

/* White brand mark at the center of the facade. */
.hero-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(115px,13vw,185px);pointer-events:none}
.hero-logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 2px 12px rgba(0,0,0,.12))}
@media(max-width:700px){.hero-logo{width:clamp(68px,21vw,112px)}}

/* Give the two-line story heading room instead of shrinking its typography. */
@media(min-width:1001px){.intro{grid-template-columns:1.2fr 1fr;column-gap:6%}.intro .story-heading{font-size:clamp(30px,3.8cqw,43px);letter-spacing:.06em}}
@media(min-width:701px) and (max-width:1000px){.intro .story-heading{font-size:clamp(32px,5.8cqw,43px)}}
@media(max-width:700px){.intro .story-heading{font-size:clamp(20px,8cqw,32px);letter-spacing:.04em}}

/* A measured entrance for the central logo and its signature. */
@keyframes hero-brand-reveal{from{opacity:0;filter:blur(7px);translate:0 10px}to{opacity:1;filter:blur(0);translate:0 0}}
.hero-logo{animation:hero-brand-reveal 2.4s ease-out .2s both;text-align:center}
.hero-logo-caption{display:block;position:relative;left:50%;transform:translateX(-50%);width:max-content;margin-top:22px;color:#fff;font-family:Georgia,'Times New Roman',serif;font-size:clamp(10px,.85vw,12px);font-weight:400;letter-spacing:.2em;line-height:1.85;white-space:nowrap;text-shadow:0 1px 12px #0005}
.hero-top{justify-content:flex-end}
@media(max-width:700px){.hero-logo-caption{font-size:10px;letter-spacing:.14em;margin-top:18px}}
@media(prefers-reduced-motion:reduce){.hero-logo{animation:none}}

/* Shared content edges, column spacing and chapter rhythm. */
main{--content-inset:max(6%,calc((100% - 1120px)/2));--column-space:clamp(28px,4vw,56px);--chapter-space:104px}
.intro,.chapter-heading,.service,.chef,.visit,.opening{padding-left:var(--content-inset);padding-right:var(--content-inset)}
.intro,.chef,.visit{padding-top:var(--chapter-space);padding-bottom:var(--chapter-space);grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--column-space);row-gap:0;align-items:start}
.intro>.section-label,.chef>.section-label,.visit>.section-label{grid-column:1 / -1;margin-bottom:40px}
.intro-copy{padding-top:0;margin-top:0;max-width:none}
.chapter-heading{padding-bottom:48px}
.service,.night{padding-top:56px;padding-bottom:80px}
.service-meta{margin-bottom:32px}
.service>.kanji{margin:0 0 40px;line-height:1.1}
.service-grid,.lunch-photo-grid,.dinner-photo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--column-space);align-items:start}
.service-copy{max-width:none}
.service-grid .service-title{font-size:clamp(20px,5.8cqw,36px)}
.shoyu-photo,.dinner-photo{width:100%;margin:0}
.shoyu-photo img,.dinner-photo img{width:100%;height:auto;aspect-ratio:2 / 3;object-fit:cover}
.dinner-photo img{object-position:58% center}
.night-figure{margin:56px 0 0}
.night-figure img{aspect-ratio:16 / 9;object-fit:cover}
.visit-heading h2{margin-top:0}
.chef>.profile{margin-top:40px}
.hero-logo img{transform:translateX(2.5%)}
@media(min-width:1001px){.intro .story-heading{font-size:clamp(28px,3.6cqw,40px)}}
@media(min-width:701px) and (max-width:1000px){.intro{grid-template-columns:1fr}.intro-copy{margin-top:32px}}
@media(max-width:700px){
 main{--content-inset:8%;--chapter-space:72px;--column-space:30px}
 .intro,.chef,.visit{grid-template-columns:1fr}
 .intro>.section-label,.chef>.section-label,.visit>.section-label{margin-bottom:28px}
 .intro-copy{margin-top:28px}
 .chapter-heading{padding-bottom:32px}
 .service,.night{padding-top:36px;padding-bottom:56px}
 .service-meta{margin-bottom:28px}
 .service>.kanji{margin-bottom:28px}
 .service-grid,.lunch-photo-grid,.dinner-photo-grid{grid-template-columns:1fr;gap:30px}
 .night-figure{margin-top:36px}
 .chef-story,.visit-heading+div{margin-top:32px}
 .chef>.profile{margin-top:32px}
}

/* Access map below the shop details, aligned to the shared content edges. */
.access-map{padding:0 var(--content-inset) 72px}
.access-map iframe{display:block;width:100%;height:440px;border:0;background:#f4f4f4}
.map-caption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:18px;font-size:14px;color:var(--muted)}
.map-caption a{flex-shrink:0;color:var(--ink);border-bottom:1px solid var(--line);padding:8px 0}
@media(max-width:700px){.access-map{padding-bottom:48px}.access-map iframe{height:330px}.map-caption{flex-direction:column;gap:4px}}
