:root{--paper:#f7f3ee;--ink:#30261f;--accent:#a74324;--orange:#d96e2f;--gold:#e5a354;--scene:calc(100svh - 42px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--accent);color:var(--ink);font-family:"Noto Serif JP",serif;font-size:16px;font-weight:400;line-height:2;letter-spacing:.3px}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}p{margin:0 0 24px}h1,h2,h3,h4{margin:0}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.sample-bar{position:relative;z-index:20;background:var(--paper);color:#34291f;font-size:12px;line-height:22px}.sample-bar__inner{min-height:42px;padding:9px 20px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.sample-bar a,.footer a{text-decoration:underline;text-underline-offset:4px}
.wrap{max-width:1280px;margin:auto}.hero{position:relative}.hero-frame{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:var(--scene);object-fit:cover;filter:brightness(.74);animation:open-photo 1.8s ease both}.hero-frame:after{content:"";position:absolute;top:calc(var(--scene) - 50px);left:49%;width:20px;height:20px;border-right:1px solid white;border-bottom:1px solid white;transform:rotate(45deg)}.hero-grid{position:relative;padding-top:var(--scene);min-height:1200px}.hero-vertical{position:absolute;top:24px;left:0;width:100%;text-align:center;color:white;z-index:4}.hero-vertical small{display:block;font-size:12px;letter-spacing:3px}.hero-vertical h1{font-family:"Yuji Syuku",serif;font-size:42px;line-height:1.4;letter-spacing:6px}.hero-copy{padding:85px 40% 75px 10%;position:relative}.hero-copy__box>.eyebrow{position:absolute;top:calc(0px - var(--scene)/2 + 154px);left:0;width:100%;text-align:center;color:#fff;font-size:15px;letter-spacing:3px}.hero-copy h2{position:absolute;top:calc(0px - var(--scene)/2 - 89px);left:50%;transform:translateX(-50%);width:700px;max-width:80vw;text-align:center;color:white;font-family:"Yuji Syuku",serif;font-size:46px;font-weight:500;line-height:1.5;letter-spacing:.3px;text-shadow:0 2px 12px #0005}.hero-copy p{font-size:16px;line-height:2.2}.scarcity{display:flex;flex-direction:column;gap:5px;font-size:15px;color:var(--accent);margin:24px 0}.scarcity span:before{content:"";display:inline-block;width:7px;height:7px;border:1px solid;margin-right:12px;border-radius:50%}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:66px;padding:12px 25px;border:1px solid var(--accent);border-radius:50%;font-size:15px;transition:transform .3s}.btn:hover{transform:translateY(-4px)}.btn-primary{background:var(--accent);color:white}.btn-secondary{color:var(--accent)}.hero-side{position:absolute;right:7%;top:calc(var(--scene) + 80px);width:26%}.hero-photo{height:230px;border-radius:16px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-note{font-size:15px;line-height:2;margin-top:22px}
.ember-forms{position:absolute;inset:0 0 auto;height:var(--scene);overflow:hidden;pointer-events:none;z-index:2}.ember-form{position:absolute;display:block;animation:ember-breathe 8s ease-in-out infinite alternate;transform-origin:center}.ember-form-0{background:var(--accent);width:40%;height:30%;left:-12%;top:-8%;border-radius:42% 55% 61% 30%}.ember-form-1{background:var(--orange);width:49%;height:15%;left:21%;top:-8%;border-radius:50% 42% 60% 55%}.ember-form-2{background:var(--accent);width:33%;height:26%;right:-9%;top:-7%;border-radius:31% 32% 30% 66%}.ember-form-3{background:var(--orange);width:22%;height:48%;left:-15%;top:20%;border-radius:36% 68% 46% 39%;animation-delay:-3s}.ember-form-4{background:var(--orange);width:21%;height:53%;right:-14%;top:20%;border-radius:62% 31% 50% 68%;animation-delay:-5s}.ember-form-5{background:var(--accent);width:49%;height:38%;left:-16%;bottom:-21%;border-radius:43% 63% 25% 30%}.ember-form-6{background:var(--gold);width:22%;height:30%;left:-9%;bottom:-15%;border-radius:55% 62% 40% 60%}.ember-form-7{background:var(--accent);width:42%;height:32%;right:-12%;bottom:-19%;border-radius:63% 30% 47% 29%}
.section-head h3{font-size:24px;line-height:1.5;font-weight:700;letter-spacing:.3px}.section-head .en{font-family:Georgia,serif;font-weight:700;font-size:70px;line-height:1.25;letter-spacing:-2px;margin-bottom:18px;color:var(--accent)}.section-head p{font-size:16px;line-height:2;margin:25px 0 0}.section-head{margin-bottom:65px}.panel{padding:0}.quote-box{margin-top:44px}.brush{font-family:"Yuji Syuku",serif;font-size:30px!important;line-height:1.6!important;color:var(--accent)}
#concept{position:relative;padding:180px 0 220px;isolation:isolate;overflow:hidden;min-height:1820px;background:var(--orange)}#concept:before{content:"";position:absolute;inset:0 4% 0 11%;background:var(--paper);border-radius:45% 12% 37% 25% / 15% 25% 25% 32%;z-index:-1;transform:rotate(8deg)}#concept .wrap{position:relative;padding:0 8%}#concept .section-head{margin-left:0;width:60%}#concept .intro-grid{display:grid;grid-template-columns:34% 46%;column-gap:9%;align-items:start}#concept .intro-grid>.panel:first-child{grid-column:2;font-size:16px;line-height:2.2}#concept .intro-grid>.panel:last-child{grid-column:2;margin-top:70px}#concept .wrap:before{content:"";position:absolute;left:9.44%;top:330px;width:26.4%;height:507px;background:url('img/03.jpg') center/cover;border-radius:16px;transform:rotate(-5deg)}#concept .wrap:after{content:"";position:absolute;left:3.47%;top:950px;width:26.8%;height:310px;background:url('img/04.jpg') center/cover;border-radius:16px;transform:rotate(4deg)}.detail-list{margin:0}.detail-item{border-top:1px solid #b9876759;padding:19px 0;display:grid;grid-template-columns:100px 1fr;gap:15px}.detail-item dt{color:var(--accent);font-size:16px}.detail-item dd{margin:0;font-size:16px}
#menu{background:var(--paper);border-radius:100px 100px 0 0;padding:291px 7.5% 180px;margin-top:-95px;position:relative}#menu .section-head{max-width:720px}.menu-wrap{display:grid;grid-template-columns:25% 66%;gap:9%}.menu-copy p{line-height:2;font-size:16px}.menu-copy .mini{color:var(--accent)}.menu-board{display:grid;grid-template-columns:1fr 1fr;gap:70px 50px}.menu-card{position:relative;border-top:1px solid var(--accent);padding:30px 0 10px}.menu-card .tag{font-size:15px;color:var(--accent)}.menu-card h4{font-family:"Yuji Syuku",serif;font-size:32px;font-weight:500;line-height:1.5;margin:10px 0 20px}.menu-card p{font-size:16px}.price{font-size:24px;color:var(--accent)}.menu-note{margin:80px 0 0;font-size:15px}
#gallery{background:#efd09f;padding:200px 0 160px;overflow:hidden;border-radius:0 0 100px 100px}#gallery .section-head{margin:0 7.5% 100px;max-width:750px}.gallery-grid{display:grid;grid-template-columns:61% 31%;gap:5%;align-items:start}.gallery-stack{display:grid;gap:100px;padding-top:250px}.photo-card{position:relative;margin:0;overflow:hidden}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.photo-card:hover img{transform:scale(1.045)}.photo-card.large{height:820px;border-radius:0 28px 28px 0}.photo-card.medium{height:310px;border-radius:16px}.caption{position:absolute;bottom:0;left:0;padding:20px 24px;color:#fff;background:#2d1c16ba;width:100%;font-size:15px;line-height:1.8}
#reserve{background:var(--paper);border-radius:90px 90px 0 0;margin-top:120px;padding:160px 0}.info-grid{display:block}.hours-card,.access-card{margin-bottom:80px}#reserve>.wrap{max-width:1038px;display:grid;grid-template-columns:286px 660px;gap:92px}#reserve>.wrap>.section-head .en{font-size:51px;letter-spacing:-1px}#reserve .info-grid .section-head .en{font-size:32px;letter-spacing:0;margin:0}#reserve .info-grid .section-head{margin-bottom:25px}#reserve h3{font-size:24px}.hours-row{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #b9876766;padding:20px 0}.hours-row span{text-align:right}.hours-row>*{font-size:16px}.reserve-box{background:#ecd8c3;padding:30px;border-radius:16px;margin-top:30px}.reserve-box h4{font-size:20px;margin-bottom:12px}.reserve-box p{font-size:16px}.access-lines>div{padding:20px 0;border-bottom:1px solid #b9876766}.access-lines strong{font-size:15px;color:var(--accent)}.access-lines p{margin:10px 0 0}.footer{background:var(--accent);padding:120px 44px 40px;color:white}.footer-inner{display:flex;flex-direction:column;align-items:center;gap:65px;text-align:center;font-size:15px}.footer-inner>div:first-child{font-family:"Yuji Syuku",serif;font-size:48px}#noren-direct-reception{background:var(--paper);padding:1px 0 80px}.reveal{opacity:1}.motion-on .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform 1s}.motion-on .reveal.is-visible{opacity:1;transform:none}.hero-copy__box.reveal{opacity:1;transform:none}
@keyframes open-photo{from{transform:scale(1.07);opacity:.5}to{transform:scale(1);opacity:1}}@keyframes ember-breathe{to{transform:translate3d(8px,-8px,0) rotate(4deg)}}
@media(max-width:700px){:root{--scene:calc(100svh - 70px)}body{font-size:16px}.sample-bar{font-size:12px}.sample-bar__inner{min-height:70px;gap:0;flex-direction:column;text-align:center;padding:7px 8px}.hero-vertical{top:24px}.hero-vertical h1{font-size:30px;letter-spacing:3px}.hero-vertical small{font-size:11px;letter-spacing:1px}.hero-copy h2{font-size:26px;line-height:1.7;width:92%;max-width:none;top:calc(0px - var(--scene)/2 - 70px)}.hero-copy__box>.eyebrow{font-size:13px;top:calc(0px - var(--scene)/2 + 105px)}.hero-bg{object-position:52% center}.hero-grid{min-height:0}.hero-copy{padding:60px 28px 35px}.hero-side{position:relative;top:auto;right:auto;width:auto;padding:0 28px 70px}.hero-photo{height:250px}.hero-note{font-size:15px}.hero-actions{gap:10px}.btn{font-size:15px;padding:12px 16px;min-height:64px}.hero-copy p{font-size:16px}.ember-form-3{width:29%;left:-23%}.ember-form-4{width:29%;right:-24%}.ember-form-0{width:55%;left:-20%;height:24%}.ember-form-2{width:55%;right:-25%;height:22%}.ember-form-5{width:75%;left:-36%;height:28%}.ember-form-7{width:75%;right:-35%;height:28%}.section-head .en{font-size:44px;letter-spacing:-1px;overflow-wrap:anywhere}.section-head h3{font-size:24px}.section-head p{font-size:16px}.section-head{margin-bottom:45px}#concept{padding:120px 0 130px;min-height:0}#concept:before{inset:0 -18% 0 -20%;border-radius:42% 37% 33% 45% / 12% 18% 22% 14%}#concept .wrap{padding:0 28px}#concept .section-head{width:100%}#concept .intro-grid{display:block}#concept .wrap:before{position:relative;display:block;left:auto;top:auto;width:77%;height:290px;margin:0 0 50px;border-radius:16px}#concept .wrap:after{position:relative;display:block;top:auto;left:auto;width:87%;height:230px;margin:45px 0 0 auto}#concept .intro-grid>.panel:last-child{margin-top:40px}.detail-item{grid-template-columns:85px 1fr;gap:10px}.brush{font-size:27px!important}#menu{border-radius:45px 45px 0 0;padding:120px 28px 100px;margin-top:-30px}.menu-wrap{display:block}.menu-board{display:block;margin-top:50px}.menu-card{padding:30px 0;margin-bottom:20px}.menu-note{margin-top:35px}#gallery{padding:110px 0 100px;border-radius:0 0 45px 45px}#gallery .section-head{margin:0 28px 60px}.gallery-grid{display:block}.photo-card.large{height:470px;margin-right:28px;border-radius:0 24px 24px 0}.gallery-stack{padding:45px 28px 0;gap:35px}.photo-card.medium{height:300px}#reserve{margin-top:60px;border-radius:45px 45px 0 0;padding:100px 28px 10px}#reserve>.wrap{display:block}#reserve>.wrap>.section-head .en{font-size:44px}.hours-row{gap:12px}.hours-row strong{flex-shrink:0}.hours-row span{max-width:62%}.reserve-box{padding:24px}.footer{padding:90px 28px 35px}.footer-inner{gap:40px;font-size:15px}.footer-inner>div:first-child{font-size:36px}#noren-direct-reception{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-on .reveal{opacity:1;transform:none}}
/* The reference's organic border occupies the perimeter, with separate lobes. */
.ember-form-3:before,.ember-form-3:after,.ember-form-4:before,.ember-form-4:after{content:"";position:absolute;background:inherit;border-radius:50%}.ember-form-3:before{width:88%;height:33%;top:4%;right:-20%;transform:rotate(15deg)}.ember-form-3:after{width:70%;height:32%;bottom:9%;right:-13%;transform:rotate(-20deg)}.ember-form-4:before{width:90%;height:36%;top:4%;left:-24%;transform:rotate(-25deg)}.ember-form-4:after{width:70%;height:28%;bottom:9%;left:-16%;transform:rotate(20deg)}
@media(min-width:701px){.hero-actions .btn-primary{position:fixed;z-index:25;top:65px;right:32px;background:var(--paper);color:var(--accent);border:2px solid var(--accent);width:190px;min-height:72px;border-radius:50%}}
@media(min-width:701px){.hero-actions .btn-primary{padding:12px 16px;white-space:nowrap}}
@media(min-width:701px){
.hero-copy h2{line-height:1.3}
#menu{padding-left:7.15%;padding-right:5.2%;min-height:5484px}
.menu-wrap{display:block}.menu-copy{width:62%;margin-bottom:120px}.menu-board{display:block}.menu-card{border:0;padding:0;margin:0;min-height:950px}.dish-scene{position:sticky;top:145px;display:grid;grid-template-columns:22.7% 53.8% 11%;column-gap:6%;grid-template-rows:auto auto auto 1fr;min-height:460px;padding-top:20px}.dish-scene:before{content:"";display:block;grid-column:2;grid-row:1/5;width:100%;height:435px;background-position:center;background-size:cover;border-radius:32px}.menu-dish-0 .dish-scene:before{background-image:url('img/02.jpg')}.menu-dish-1 .dish-scene:before{background-image:url('img/01.jpg')}.menu-dish-2 .dish-scene:before{background-image:url('img/03.jpg')}.menu-dish-3 .dish-scene:before{background-image:url('img/04.jpg')}.menu-card h4{grid-column:3;grid-row:1/5;writing-mode:vertical-rl;font-size:40px;line-height:1.4;margin:0;color:var(--accent);justify-self:center;letter-spacing:4px}.menu-card .tag{grid-column:1;grid-row:1;margin-top:90px;font-size:15px}.menu-card p{grid-column:1;grid-row:2;font-size:16px;line-height:2;margin:20px 0}.menu-card .price{grid-column:1;grid-row:3;font-size:27px}.menu-note{margin-top:0;max-width:700px}
}
@media(max-width:700px){.dish-scene:before{content:"";display:block;width:100%;height:240px;background-size:cover;background-position:center;border-radius:16px;margin-bottom:25px}.menu-dish-0 .dish-scene:before{background-image:url('img/02.jpg')}.menu-dish-1 .dish-scene:before{background-image:url('img/01.jpg')}.menu-dish-2 .dish-scene:before{background-image:url('img/03.jpg')}.menu-dish-3 .dish-scene:before{background-image:url('img/04.jpg')}}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){#concept .wrap:before{transform:translateY(var(--photo-drift,0px)) rotate(-5deg)}#concept .wrap:after{transform:translateY(var(--photo-drift,0px)) rotate(4deg)}}
.concept-glimpse{display:none}
@media(min-width:701px){
#concept{min-height:3198px;padding-top:450px;padding-bottom:220px}
#concept .section-head{width:52%;margin-bottom:190px}
#concept .wrap:before{top:190px;transform:translateY(var(--photo-drift,0px))}
#concept .wrap:after{top:829px;width:20.83%;height:400px;transform:translateY(var(--photo-drift,0px))}
#concept .intro-grid>.panel:last-child{margin-top:690px}
.concept-glimpse{display:block;position:absolute;background-size:cover;background-position:center;border-radius:16px}
.glimpse-0{width:38.125%;height:325px;right:3.47%;top:3px;background-image:url('img/01.jpg')}
.glimpse-1{width:33.61%;height:287px;left:39.58%;top:994px;background-image:url('img/02.jpg')}
.glimpse-2{width:13.89%;height:156px;right:3.47%;top:1258px;background-image:url('img/03.jpg')}
.glimpse-3{width:28.06%;height:239px;left:15.35%;top:1388px;background-image:url('img/04.jpg')}
}
.hero-frame{overflow:visible;isolation:auto}
.hero-bg{animation:photo-arrive 1.8s ease both}
@keyframes photo-arrive{from{opacity:.5}to{opacity:1}}
@media(min-width:701px){.hero-copy h2{font-size:64px;line-height:1.38;width:850px;max-width:80vw}.hero-copy h2 br{display:none}}
.sample-bar,.btn{font-family:system-ui,sans-serif}
.type-loading .hero-vertical,.type-loading .hero-copy h2,.type-loading .hero-copy__box>.eyebrow{visibility:hidden}
@media(min-width:701px){.hero-copy h2{width:920px}}

/* Compact the desktop dish scenes and their surrounding empty space. */
@media (min-width:701px){
 #menu{min-height:0;padding-top:90px;padding-bottom:90px}
 .menu-copy{margin-bottom:60px}
 .menu-card{min-height:580px}
 .dish-scene{top:145px}
 #concept{min-height:2200px;padding-top:220px;padding-bottom:120px}
 #concept .section-head{margin-bottom:100px}
 #concept .intro-grid>.panel:last-child{margin-top:420px}
 #concept .wrap:before{top:300px}
 #concept .wrap:after{top:850px}
 .glimpse-1{top:800px}
 .glimpse-2{top:1090px}
 .glimpse-3{top:1250px}
 #gallery{padding-top:100px;padding-bottom:70px}
 #gallery .section-head{margin-bottom:65px}
 #reserve{margin-top:70px;padding-top:90px;padding-bottom:70px}
 .hours-card,.access-card{margin-bottom:45px}
 .footer{padding-top:70px}
}
