:root{--ivory:#F7F4ED;--ink:#302B26;--green:#344B3F;--sand:#E9E2D5;--wood:#B7A68B;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--en:"Cormorant Garamond",serif;--pad:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300;overflow-x:hidden}img{width:100%;height:100%;object-fit:cover;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:.08em}h2{font-size:clamp(2.7rem,6vw,6.8rem);line-height:1.35}.skip{position:fixed;left:10px;top:-100px;background:#fff;padding:12px;z-index:1000}.skip:focus{top:10px}.section-no,.eyebrow{font-family:var(--en);font-size:.78rem;letter-spacing:.28em}.site-header{position:fixed;inset:0 0 auto;z-index:80;padding:22px var(--pad);display:flex;align-items:center;justify-content:space-between;color:#fff;mix-blend-mode:difference}.brand{font-family:var(--serif);display:flex;flex-direction:column;line-height:1.1;letter-spacing:.12em}.brand small{font-family:var(--en);font-size:.55rem;letter-spacing:.28em;margin-top:4px}.menu-button{border:0;background:none;color:inherit;display:flex;align-items:center;gap:12px;font:11px var(--en);letter-spacing:.2em;cursor:pointer}.menu-button i{width:36px;height:1px;background:currentColor;position:relative}.menu-button i:after{content:"";position:absolute;right:0;top:6px;width:24px;height:1px;background:currentColor}.nav{position:fixed;inset:0;background:rgba(52,75,63,.97);display:grid;place-content:center;gap:24px;font:400 clamp(1.8rem,4vw,4rem) var(--serif);transform:translateY(-105%);transition:transform .7s cubic-bezier(.7,0,.2,1);mix-blend-mode:normal}.nav.is-open{transform:none}.scene{position:relative}.hero{height:130svh;color:#fff}.hero-media,.hero-shade{position:absolute;inset:0 0 30svh;overflow:hidden}.hero-media img{transform:scale(1.05)}.hero-shade{background:linear-gradient(180deg,rgba(20,24,16,.15),rgba(20,20,14,.42)),linear-gradient(90deg,rgba(20,18,12,.18),transparent)}.hero-copy{position:absolute;inset:0 0 30svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px}.hero-copy h1{font-size:clamp(3.1rem,8vw,8.6rem);line-height:1.15;text-shadow:0 2px 28px rgba(0,0,0,.22)}.hero-copy h1 span{font-size:.75em}.hero-en{font:400 clamp(1.05rem,2vw,1.6rem) var(--en);letter-spacing:.45em;margin:18px 0 36px}.tagline{font-family:var(--serif);letter-spacing:.16em}.eyebrow{margin-bottom:28px}.scroll-cue{position:absolute;bottom:34svh;right:var(--pad);display:flex;align-items:center;gap:12px;font:10px var(--en);letter-spacing:.25em}.scroll-cue i{display:block;width:70px;height:1px;background:#fff}.concept{height:400svh;background:var(--green);color:#fff}.concept-stage{height:100svh;position:sticky;top:0;overflow:hidden}.concept-visuals,.concept-bg,.concept-wash{position:absolute;inset:0}.concept-bg{opacity:0;transition:opacity .15s}.concept-bg.is-active{opacity:1}.concept-bg img{transform:scale(1.08)}.concept-wash{background:linear-gradient(90deg,rgba(27,40,33,.92) 0%,rgba(27,40,33,.7) 48%,rgba(27,40,33,.28))}.concept-intro{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);max-width:720px}.concept-intro h2{margin:26px 0 44px}.concept-intro>p:last-child{font-size:clamp(.9rem,1.25vw,1.1rem);line-height:2.25;letter-spacing:.08em}.concept-themes{position:absolute;right:var(--pad);bottom:8vh;list-style:none;padding:0;margin:0;width:min(35vw,430px)}.concept-themes li{display:flex;gap:20px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.32);opacity:.35;transition:opacity .3s}.concept-themes li.is-active{opacity:1}.concept-themes span{font-family:var(--serif)}.concept-themes b{display:block;font:400 1.15rem var(--serif);letter-spacing:.1em}.concept-themes small{font-size:.68rem;letter-spacing:.1em}.dish{height:260svh;background:var(--ivory)}.dish-sticky{height:100svh;position:sticky;top:0;display:grid;place-items:center;overflow:hidden}.dish-image{margin:0;width:28vw;height:32vh;overflow:hidden;clip-path:inset(0 0 0 0)}.dish-image img{transform:scale(1.18)}.dish-copy{position:absolute;left:var(--pad);bottom:10vh;z-index:2;opacity:0;transform:translateY(40px);mix-blend-mode:difference;color:#fff}.dish-copy h2{margin:16px 0 22px}.dish-copy p:last-child{line-height:2}.dish-kanji{position:absolute;right:4vw;top:3vh;font:400 38vw var(--serif);line-height:1;color:rgba(183,166,139,.13);z-index:-1}.menu-scene{background:var(--sand);padding-top:18vh}.menu-heading{padding:0 var(--pad) 10vh;display:grid;grid-template-columns:1fr 1fr;align-items:end}.menu-heading h2{margin-top:20px}.menu-heading>p:last-child{justify-self:end;padding-bottom:24px}.menu-pin{height:100svh;overflow:hidden}.menu-track{height:100%;display:flex;gap:clamp(28px,4vw,64px);padding:8vh var(--pad);width:max-content}.menu-card{width:clamp(280px,36vw,560px);flex:none}.menu-card figure{margin:0;height:62vh;overflow:hidden}.menu-card:nth-child(even){padding-top:8vh}.menu-card:nth-child(even) figure{height:54vh}.menu-card img{transform:scale(1.08)}.menu-card>p{font:italic 1.5rem var(--en);margin:18px 0 8px;color:var(--green)}.menu-card h3{font:400 clamp(1.25rem,2vw,1.8rem) var(--serif);letter-spacing:.06em}.menu-card span{display:block;font-size:.78rem;margin-top:10px;letter-spacing:.05em}.demo-note{font-size:.68rem;padding:24px var(--pad) 90px;color:#6b6258}.sake{min-height:160svh;background:#26342d;color:#fff;overflow:hidden}.sake-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 20% 10%,rgba(178,157,122,.25),transparent 40%),linear-gradient(135deg,#1c2a23,#344b3f)}.sake-main{position:absolute;left:7vw;top:20vh;width:58vw;height:108vh;margin:0;clip-path:inset(0 0 100% 0)}.sake-main img{transform:scale(1.12)}.sake-copy{position:absolute;right:var(--pad);top:48vh;width:min(40vw,520px);z-index:2}.sake-copy h2{margin:18px 0 34px}.sake-copy>p:not(.section-no){line-height:2.2;max-width:440px}.sake-detail{border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);margin-top:40px;padding:20px 0;display:flex;justify-content:space-between}.sake-detail span{font-family:var(--serif)}.sake-detail small{font-family:var(--en);letter-spacing:.14em}.space{min-height:260svh;padding:18vh var(--pad);background:var(--ivory)}.space>header{text-align:center;position:sticky;top:14vh;z-index:0}.space>header h2{margin-top:20px}.space-stage{position:relative;height:190svh;margin-top:14vh}.space-photo{position:absolute;margin:0;background:var(--sand);padding:10px;box-shadow:0 28px 80px rgba(48,43,38,.15);overflow:hidden}.space-photo img{height:calc(100% - 30px)}.space-photo figcaption{font:10px var(--en);letter-spacing:.15em;padding-top:10px}.p1{width:58vw;height:72vh;left:0;top:5vh}.p2{width:42vw;height:62vh;right:-2vw;top:62vh}.p3{width:33vw;height:50vh;left:12vw;top:125vh}.info{min-height:100svh;background:var(--sand);padding:18vh var(--pad) 12vh;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;overflow:hidden}.info-leaf{position:absolute;width:55vw;height:55vw;border:1px solid rgba(52,75,63,.18);border-radius:0 100% 0 100%;left:-28vw;top:-22vw;transform:rotate(30deg)}.info-heading{position:relative}.info-heading h2{margin:20px 0 40px}.info-heading>p:last-child{font-family:var(--serif);letter-spacing:.08em}.info-grid{padding-top:8vh}.info-grid dl{margin:0}.info-grid dl div{display:grid;grid-template-columns:130px 1fr;border-top:1px solid rgba(48,43,38,.25);padding:18px 0}.info-grid dt{font-size:.75rem}.info-grid dd{margin:0;font-family:var(--serif);line-height:1.6}.info-grid small{font-family:var(--sans);font-size:.65rem;color:#6f665c}.reserve{margin-top:60px}.reserve>p:first-child{font:400 1.2rem var(--serif)}.reserve>a{display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#fff;margin:14px 0;padding:22px 26px;font-family:var(--serif);letter-spacing:.12em;transition:.3s}.reserve>a:hover,.reserve>a:focus-visible{background:#26382e;transform:translateY(-3px)}.reserve-result{margin-top:12px;font-size:.75rem;color:var(--green);min-height:1em}footer{background:#1f2d26;color:#fff;padding:64px var(--pad);display:flex;justify-content:space-between;align-items:flex-end}.footer-mark{font:400 2rem var(--serif);display:flex;flex-direction:column}.footer-mark small{font:10px var(--en);letter-spacing:.3em}footer>div{text-align:center}footer>div p{font-family:var(--serif);margin-bottom:14px}footer>div small,footer>a:last-child{font:9px var(--en);letter-spacing:.18em}
@media(max-width:760px){h2{font-size:clamp(2.4rem,12vw,4rem)}.site-header{padding:18px 20px}.hero{height:115svh}.hero-media,.hero-shade,.hero-copy{bottom:15svh}.hero-copy h1{font-size:14vw}.hero-en{margin:12px 0 28px}.scroll-cue{bottom:18svh;right:20px}.concept{height:320svh}.concept-intro{left:24px;right:24px;top:42%}.concept-intro h2{margin:18px 0 28px}.concept-intro>p:last-child{font-size:.78rem;line-height:2}.concept-themes{left:24px;right:24px;bottom:4vh;width:auto;display:flex}.concept-themes li{flex:1;display:block;padding:12px 5px}.concept-themes li span,.concept-themes li small{display:none}.concept-themes b{font-size:.78rem}.dish{height:190svh}.dish-image{width:68vw;height:38vh}.dish-copy{left:24px;right:24px;bottom:8vh}.dish-copy p:last-child{font-size:.76rem}.menu-scene{padding-top:12vh}.menu-heading{padding:0 24px 5vh;display:block}.menu-heading>p:last-child{margin-top:24px;font-size:.78rem}.menu-pin{height:auto;overflow:visible}.menu-track{height:auto;width:auto;display:block;padding:0 24px}.menu-card,.menu-card:nth-child(even){width:100%;padding:0;margin-bottom:64px}.menu-card figure,.menu-card:nth-child(even) figure{height:58svh}.demo-note{padding:0 24px 64px}.sake{min-height:130svh}.sake-main{left:0;top:12vh;width:86vw;height:62svh}.sake-copy{left:24px;right:24px;top:70svh;width:auto}.space{min-height:220svh;padding:12vh 24px}.space>header{top:10vh}.space-stage{height:160svh}.p1{width:88vw;height:55svh;top:5vh}.p2{width:72vw;height:48svh;right:-14vw;top:56svh}.p3{width:64vw;height:42svh;left:0;top:108svh}.info{display:block;padding:12vh 24px 10vh}.info-grid{padding-top:10vh}.info-grid dl div{grid-template-columns:100px 1fr}footer{display:block;text-align:center;padding:52px 24px}.footer-mark{align-items:center;margin-bottom:36px}footer>div{margin-bottom:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.concept{height:auto}.concept-stage{position:relative}.concept-bg:not(:first-child){display:none}.dish{height:auto}.dish-sticky{position:relative;min-height:100svh}.menu-pin{height:auto}.menu-track{transform:none!important}.sake-main{clip-path:none}.space>header{position:relative}}

/* Scroll choreography layer */
.hero-media{clip-path:inset(0);will-change:clip-path,transform}.hero-shade{will-change:opacity}.concept-wash{background-size:160% 100%;will-change:background-position}.dish-image,.dish-image img,.sake-main,.sake-main img,.menu-track,.space-photo{will-change:transform,clip-path}.page-progress{position:fixed;z-index:90;right:18px;top:50%;width:1px;height:120px;background:rgba(255,255,255,.25);mix-blend-mode:difference;color:#fff;pointer-events:none}.page-progress i{position:absolute;inset:0;background:currentColor;transform:scaleY(0);transform-origin:top}.page-progress span{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);font:9px var(--en);letter-spacing:.1em}.scene-rail{position:fixed;z-index:79;left:18px;top:50%;transform:translateY(-50%);list-style:none;margin:0;padding:0;display:grid;gap:11px;color:#fff;mix-blend-mode:difference;pointer-events:none}.scene-rail li{display:flex;align-items:center;gap:8px;opacity:.32;transition:opacity .35s}.scene-rail li i{display:block;width:7px;height:1px;background:currentColor;transition:width .35s}.scene-rail li span{font:8px var(--en);letter-spacing:.08em}.scene-rail li.is-active{opacity:1}.scene-rail li.is-active i{width:22px}.menu-card figure{clip-path:inset(0);transition:clip-path .5s}.menu-card:hover figure{clip-path:inset(2%)}.info-grid dl>div{will-change:transform,opacity}
@media(max-width:760px){.scene-rail{display:none}.page-progress{right:8px;height:86px}.hero-media{clip-path:inset(0)!important}.dish-image{max-width:none}.sake-backdrop{transform-origin:center}.menu-card figure{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.page-progress,.scene-rail{display:none}.hero-media{clip-path:none!important}.dish-image,.sake-main,.reserve{clip-path:none!important}.info-grid dl>div{opacity:1!important;transform:none!important}}
