*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#eeece5;color:#302a24;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}a{color:inherit;text-decoration:none}a:hover{opacity:.7}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #9a482e;outline-offset:6px}img{display:block;width:100%}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:#e5e1d7;position:relative;z-index:10}.brand{display:grid;grid-template-columns:auto auto;align-items:center;gap:0 13px;line-height:1.15}.brand span{font-size:10px;writing-mode:vertical-rl;grid-row:span 2;letter-spacing:2px}.brand strong{font-size:39px;letter-spacing:9px;font-weight:500}.brand small{font-family:Georgia,serif;letter-spacing:5px;font-size:9px;margin-top:5px}nav{display:flex;gap:35px;align-items:center;font-size:13px;letter-spacing:1px}.reserve{background:#493728;color:#fff;padding:12px 24px}.reserve span{margin-left:30px}.menu-toggle{display:none}.hero{height:calc(100svh - 104px);min-height:520px;max-height:1000px;position:relative;background:#2b241c;color:#fff}.hero>img{height:100%;object-fit:cover;object-position:center 63%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,13,8,.52),transparent 80%),linear-gradient(0deg,rgba(18,14,9,.4),transparent 60%)}.hero-copy{position:absolute;left:9%;top:22%}.hero-copy p{font-size:15px;letter-spacing:8px;margin:0 0 28px}.hero h1{font-size:clamp(30px,3.3vw,54px);font-weight:400;line-height:1.8;letter-spacing:6px}.hero-copy>span{font:10px Georgia,serif;letter-spacing:3px}.scroll{position:absolute;bottom:38px;left:9%;font-size:9px;letter-spacing:3px}.scroll b{font-size:25px;margin-left:22px;font-weight:400}.hero-location{position:absolute;right:5%;bottom:40px;font-size:12px;letter-spacing:4px}.section{padding:115px 9%;scroll-margin-top:20px}.eyebrow{font:11px Georgia,serif;letter-spacing:2px;color:#80684e;margin:0 0 32px}h2{font-weight:400;font-size:clamp(28px,3vw,43px);line-height:1.7;letter-spacing:4px;margin:0}p{font-size:14px;line-height:2.15}h3{font-size:20px;letter-spacing:2px;font-weight:400}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-bottom:75px}.intro-layout p{margin-top:0;margin-bottom:25px}.text-link{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #aea494;padding:15px 0;font-size:13px}.text-link span{white-space:nowrap;font-size:11px}.wide-photo{margin:0;width:100%}.wide-photo img{height:460px;object-fit:cover;object-position:center 48%}.wide-photo figcaption{font-size:11px;text-align:right;margin-top:15px;letter-spacing:2px}.cuisine{background:#e3ded3}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:55px}.section-title .eyebrow{margin-bottom:22px}.section-title p{margin:0}.course-list{border-top:1px solid #b3a999}details{border-bottom:1px solid #b3a999}summary{display:flex;align-items:center;gap:30px;cursor:pointer;padding:32px 0;list-style:none}summary::-webkit-details-marker{display:none}.course-number{font:14px Georgia;color:#816b55}.course-list h3{margin:0 0 5px}.course-list summary p{margin:0;font-size:12px;color:#655d52}.price{margin-left:auto;white-space:nowrap;font:24px Georgia,serif}.price small{display:block;font:10px "Yu Mincho",serif;text-align:right;margin-top:12px}.plus{font-size:22px;margin-left:22px}details[open] .plus{transform:rotate(45deg)}.course-detail{padding:0 7% 35px;max-width:800px}.course-detail h4{font-weight:400}.course-detail li{font-size:13px;padding:4px 0}.course-detail p{font-size:12px}.menu-links{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:35px}.note{font-size:11px!important;color:#746b60;line-height:1.9}.cuisine>.note{margin-top:30px;max-width:760px}.chef{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:70% center}.chef-name{font-size:23px;margin:28px 0}.chef-name small{display:block;font:9px Georgia,serif;letter-spacing:3px;margin-top:8px}.chef-copy>p:last-child{margin-bottom:0}.shop{background:#312d26;color:#e9e4d8;display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.shop .eyebrow{color:#bea889}.shop p{margin:25px 0}.shumai{height:440px;overflow:hidden}.shumai img{height:100%;object-fit:cover;object-position:center 23%;transform:scale(1.1)}.outline-link{display:flex;justify-content:space-between;border:1px solid #9e8d76;padding:16px 24px;font-size:13px;margin-top:38px}.access-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:stretch}.access h3{margin:0 0 24px}.access-grid p{margin:15px 0}.phone{font:27px Georgia,serif;letter-spacing:2px}dl{display:grid;grid-template-columns:65px 1fr;font-size:12px;gap:10px;margin-top:25px}dd{margin:0}iframe{border:0;width:100%;min-height:400px}.sister{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;border-top:1px solid #c4bbae;margin-top:65px;padding-top:40px}.sister h3{font-size:18px;margin:10px 0 0}.sister p{margin:0}.closing{background:#e3ded3;text-align:center;padding:68px 20px}.closing p{font-size:23px;letter-spacing:4px}.closing>a{display:inline-block;background:#493728;color:white;padding:16px 48px;font-size:14px}.closing span{margin-left:50px}footer{padding:55px 6%;display:flex;gap:50px;align-items:center;justify-content:space-between}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:11px}footer>p{font:9px/2 Georgia,serif;color:#776c5e}.skip{position:fixed;top:-100px;background:#fff;padding:10px;z-index:30}.skip:focus{top:0}@media(max-width:900px){nav{gap:18px;font-size:11px}.section{padding:80px 7%}.hero-copy{left:7%}.section-title{gap:20px}.intro-layout,.chef,.shop{gap:8%}footer{flex-wrap:wrap}.course-list h3{font-size:17px}}@media(max-width:680px){html{scroll-padding-top:85px}header{height:82px;padding:0 6%}.brand strong{font-size:31px}.brand span{font-size:9px}.brand small{font-size:8px}.menu-toggle{display:flex;align-items:center;gap:13px;border:0;background:none;color:#302a24;font:10px Georgia;letter-spacing:2px;padding:15px 0}.menu-toggle i{display:block;width:22px;height:8px;border-top:1px solid;border-bottom:1px solid}nav{position:absolute;top:82px;left:0;right:0;display:none;background:#e5e1d7;padding:28px 7% 40px;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav>a{padding:13px 0;font-size:14px}.reserve{margin-top:20px;text-align:center!important;padding:16px!important}.hero{height:calc(88svh - 82px);min-height:520px}.hero>img{object-position:55% center}.hero-copy{top:25%;left:9%}.hero h1{font-size:29px;letter-spacing:4px}.hero-copy p{font-size:11px;letter-spacing:5px}.hero-copy>span{font-size:8px;letter-spacing:1.5px}.hero-location{display:none}.section{padding:65px 7%}.eyebrow{font-size:9px;margin-bottom:25px}.intro-layout,.chef,.shop,.access-grid,.sister{grid-template-columns:1fr;gap:30px}.intro-layout{margin-bottom:40px}.intro-layout h2{margin-bottom:10px}.intro-layout p{font-size:13px}.wide-photo img{height:280px}.wide-photo figcaption{font-size:9px;letter-spacing:1px}.section-title{display:block;margin-bottom:32px}.section-title>p{font-size:12px;margin-top:20px}.section-title .text-link{margin-top:15px}h2{font-size:29px;letter-spacing:3px}summary{gap:14px;flex-wrap:wrap;padding:24px 0}.course-number{font-size:11px}.course-list h3{font-size:16px;letter-spacing:1px}.course-list summary p{font-size:10px}.price{margin-left:29px;font-size:21px}.price small{display:inline;margin-left:13px;font-size:9px}.plus{margin-left:auto}.course-detail{padding:0 0 25px 15px}.course-detail ol{padding-left:18px}.menu-links{grid-template-columns:1fr;gap:10px;margin-top:20px}.portrait{width:80%;margin-bottom:10px}.portrait img{aspect-ratio:1}.chef-copy h2 br{display:none}.chef-copy h2{font-size:26px}.shumai{height:320px;margin-top:12px;grid-row:1}.shop{gap:25px}.shop h2{font-size:30px}.shop .eyebrow{margin:0 0 20px}.outline-link{margin-top:25px}iframe{min-height:320px}.sister{gap:20px;margin-top:40px;padding-top:30px}.closing{padding:45px 20px}.closing p{font-size:17px;letter-spacing:2px}.closing>a{font-size:13px;padding:16px 25px}footer{gap:30px;padding:40px 7%}.footer-links{max-width:250px;gap:15px}footer>p{width:100%;margin:0}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Photo gallery and recruitment */
.gallery-teaser{margin-top:80px}.gallery-teaser .section-title{margin-bottom:28px}.gallery-teaser h2{font-size:30px}.teaser-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.teaser-grid img{aspect-ratio:1;object-fit:cover}.gallery-nav{display:flex;gap:24px;margin:30px 0 45px;border-bottom:1px solid #b3a999;padding-bottom:16px;font-size:14px}.gallery-section{margin-top:65px}.gallery-section h2{font-size:28px;margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.gallery-grid figure{margin:0}.gallery-grid a{display:block}.gallery-grid img{aspect-ratio:1;object-fit:cover;background:#e3ded3}.gallery-grid figcaption{font-size:12px;margin-top:10px;color:#655d52}.gallery-intro{max-width:650px}.article.gallery-page{max-width:1440px}.recruit-conditions{display:block;margin:40px 0}.recruit-conditions>div{display:grid;grid-template-columns:140px 1fr;padding:22px 0;border-top:1px solid #b3a999}.recruit-conditions dt{font-size:14px}.recruit-conditions dd{font-size:15px;line-height:2}.recruit-conditions ul{margin:0;padding-left:20px}.recruit-original{margin:45px 0}.recruit-original img{width:100%;height:auto}.recruit-original figcaption{font-size:11px;color:#746b60}.article h2{font-size:27px;margin-top:45px}.recruit-contact{margin:30px 0}.recruit-contact .text-link{max-width:500px}@media(max-width:900px){nav{gap:20px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.gallery-teaser{margin-top:50px}.teaser-grid{gap:8px}.gallery-teaser h2{font-size:26px}.gallery-grid{gap:24px 14px}.gallery-grid figcaption{font-size:11px}.recruit-conditions>div{grid-template-columns:1fr;gap:10px}.gallery-section{margin-top:45px}.gallery-nav{gap:20px}.gallery-page{padding-left:6%;padding-right:6%}}

.teaser-grid img,.gallery-grid img{height:auto;aspect-ratio:1;object-fit:cover}

.menu-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.photo-dialog{border:0;padding:55px 18px 18px;background:#eeece5;max-width:min(94vw,1200px);max-height:94dvh;overflow:auto}.photo-dialog::backdrop{background:rgba(20,16,12,.86)}.photo-dialog img{width:auto;height:auto;max-width:86vw;max-height:78dvh;object-fit:contain}.photo-close{position:absolute;top:10px;right:15px;padding:10px 14px;border:1px solid #aea494;background:#eeece5;color:#302a24;cursor:pointer;font:14px serif}.gallery-nav{flex-wrap:wrap}.menu-photo-grid img{height:auto;aspect-ratio:1;object-fit:contain}@media(max-width:680px){.menu-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-nav{gap:14px;font-size:12px}.photo-dialog{padding:50px 10px 10px}.photo-dialog img{max-width:84vw;max-height:76dvh}}

/* Text-based recruitment page */
.article.recruit-page{max-width:1280px}.recruit-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:9%;margin:60px 0 75px}.recruit-intro .eyebrow{margin-bottom:22px}.recruit-intro h2{font-size:clamp(30px,3vw,44px);line-height:1.8}.recruit-intro>p{margin:25px 0}.recruit-heading{font-size:19px;letter-spacing:2px;margin:0 0 22px}.recruit-terms{display:block;margin:0;border-top:1px solid #b3a999}.recruit-terms>div{display:grid;grid-template-columns:135px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #d2cbbf}.recruit-terms dt{font-size:12px;color:#80684e;letter-spacing:1px}.recruit-terms dd{margin:0;font-size:14px}.recruit-terms ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 22px}.recruit-contact{margin-top:45px}.recruit-contact p{font-size:13px}.recruit-contact .text-link{max-width:none}nav{gap:27px}@media(max-width:900px){nav{gap:18px}}@media(max-width:700px){.recruit-layout{grid-template-columns:1fr;gap:40px;margin:35px 0 45px}.recruit-terms>div{grid-template-columns:1fr;gap:10px;padding:20px 0}.recruit-intro h2{font-size:32px}.recruit-contact{margin-top:35px}}

.article{max-width:1000px;margin:auto;min-height:65vh}.article h1{font-size:clamp(25px,4vw,40px);font-weight:400;letter-spacing:3px;margin:0 0 35px}.article h4{font-weight:400}.article li{font-size:14px;line-height:2.2}.article .outline-link{margin-bottom:35px}.lead{font-size:24px}.article>p{margin:25px 0}
