:root{color-scheme:dark;--paper:#f2eedf;--gold:#c3a77c;--ink:#151a17;--p:0}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:70px}body{margin:0;background:#101512;color:var(--paper);font-family:'Hiragino Kaku Gothic ProN',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,p{margin:0}h1,h2,.brand{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-weight:500}.skip{position:fixed;top:-100px;z-index:100;background:var(--paper);color:var(--ink);padding:18px}.skip:focus{top:0}.mast{height:76px;position:absolute;top:0;left:0;right:0;z-index:10;padding:0 4vw;display:flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff20}.brand{font-size:18px;letter-spacing:.14em;white-space:nowrap}.brand span{font-size:32px;margin-left:8px}.preview{font-size:10px;color:#c7c4b9;border-left:1px solid #ffffff40;padding-left:18px}.mast nav{margin-left:auto;display:flex;gap:30px;font-size:12px}.scene{height:220svh;position:relative}.screen{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden;isolation:isolate}.chapter{position:absolute;left:4vw;right:4vw;top:112px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.16em;z-index:4}.motion-note{opacity:.65;font-size:10px;letter-spacing:0}.grill-picture{position:absolute;inset:0 0 0 25%;transform:scale(calc(1 + var(--p)*.045)) translateY(calc(var(--p)*-14px));transform-origin:70% 60%}.grill-picture img{width:100%;height:100%;object-fit:cover;object-position:45% 50%}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#101512 8%,#101512ed 24%,#10151290 46%,#10151200 75%),linear-gradient(0deg,#101512aa,transparent 45%);z-index:1}.grill-copy{position:absolute;left:8vw;top:27%;z-index:3}.eyebrow{font-size:11px;letter-spacing:.15em;line-height:1.9;color:var(--gold)}h1{font-size:clamp(50px,6vw,96px);line-height:1.48;letter-spacing:.04em;margin:20px 0 25px}h1 span{display:inline-block;transform:translateY(calc((1 - var(--p))*12px))}.grill-detail{font-size:15px;line-height:2.1;color:#dbdace;opacity:calc(.35 + var(--p)*.65);transform:translateY(calc((1 - var(--p))*20px))}.event-teaser{position:absolute;left:8vw;right:8vw;bottom:11%;z-index:3;display:flex;align-items:end;gap:38px}.event-teaser p{display:flex;gap:17px;align-items:center}.event-teaser strong{font-size:52px;font-weight:400;letter-spacing:-.04em}.event-teaser p span{font-size:11px;line-height:1.8;color:#d9d5c9}.event-teaser a{border-bottom:1px solid #e7d5b680;min-height:40px;padding-bottom:10px;font-size:12px;min-width:210px}.event-teaser a span{float:right}.scroll-cue{position:absolute;right:4vw;bottom:12%;z-index:3;font-size:10px;letter-spacing:.1em}.scroll-cue span{margin-left:14px}.photo-note{position:absolute;bottom:25px;left:4vw;font-size:9px;color:#cec9bd;z-index:4}.oyster{background:var(--paper);color:var(--ink);height:240svh}.oyster .chapter{top:42px}.oyster .eyebrow{color:#775d3c}.oyster-copy{position:absolute;left:8vw;top:26%;z-index:3}.oyster h2{font-size:clamp(48px,5.5vw,88px);line-height:1.45;letter-spacing:.025em;margin:18px 0}.oyster-detail{font-size:14px;line-height:2;color:#576050;opacity:calc(.4 + var(--p)*.6);transform:translateY(calc((1 - var(--p))*16px))}.price{font-size:16px;margin-top:28px}.price strong{font-size:40px;font-weight:400;margin:0 4px}.price span{font-size:12px;margin-left:6px}.oyster-visual{position:absolute;left:40%;right:-3%;top:14%;bottom:12%;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 95%)}.oyster-visual img,.oyster-visual video{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.oyster-visual video{opacity:0}.oyster-visual video.ready{opacity:1}.view-progress{position:absolute;bottom:13%;left:8vw;display:flex;align-items:center;gap:14px;font-size:10px;color:#59604f}.view-progress i{height:1px;width:120px;background:#bcc0b3;position:relative}.view-progress b{position:absolute;inset:-1px auto -1px 0;background:#6d7f60;width:calc(var(--p)*100%)}.oyster-note{position:absolute;left:8vw;bottom:5%;right:8vw;font-size:10px;color:#646857;line-height:1.8}.information{padding:100px 8vw 80px;max-width:1000px;margin:auto}.information h2{font-size:clamp(32px,4vw,55px);line-height:1.65;margin:20px 0}.lead{font-size:15px;line-height:2;color:#c5cbbd}dl{margin:48px 0;max-width:760px}dl>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid #ffffff24;padding:22px 0;font-size:14px;line-height:1.9}dt{color:#b1bba6}dd{margin:0}dd small{display:block;font-size:11px;color:#b2baaa;margin-top:6px}.cta{max-width:600px;display:flex;justify-content:space-between;align-items:center;background:#ded0b3;color:#192018;padding:24px 26px;font-size:15px}.booking-note,.responsible{font-size:11px;line-height:1.9;color:#adb4a5;margin-top:14px}.responsible{margin-top:48px}.review{background:#202921;padding:46px 8vw;line-height:2}.review h2{font-size:26px;margin:10px 0}.review p{max-width:740px;font-size:13px;color:#cbd1c2}.review a{display:inline-block;margin-top:20px;border-bottom:1px solid #a6b197;font-size:13px}footer{padding:30px 8vw;font-size:10px;letter-spacing:.1em;color:#98a18e}
@media(max-width:700px){.mast{height:66px;padding:0 22px;gap:12px}.brand{font-size:13px}.brand span{font-size:25px}.preview{font-size:9px;padding-left:10px}.mast nav{gap:0}.mast nav a:first-child{display:none}.mast nav a{font-size:10px}.screen{min-height:640px}.chapter{top:93px;left:24px;right:24px;font-size:10px;letter-spacing:.06em}.motion-note{font-size:8px;max-width:135px;text-align:right}.grill-picture{inset:22% 0 0 0;transform-origin:55% 65%}.grill-picture img{object-position:50% 68%}.shade{background:linear-gradient(180deg,#101512 12%,#101512ed 22%,#10151236 54%,#10151200 68%,#101512bd 94%)}.grill-copy{left:28px;top:18%}h1{font-size:45px;line-height:1.45;margin:14px 0}.grill-copy .eyebrow{font-size:9px;letter-spacing:.05em}.grill-detail{font-size:12px;line-height:1.9}.event-teaser{left:28px;right:28px;bottom:9%;display:block}.event-teaser strong{font-size:40px}.event-teaser p span{font-size:10px}.event-teaser a{display:block;max-width:250px;margin-top:15px;font-size:11px;min-height:30px}.scroll-cue{right:25px;bottom:22%;writing-mode:vertical-rl;font-size:9px}.scroll-cue span{margin:12px 0}.photo-note{left:24px;right:24px;bottom:18px;font-size:8px;line-height:1.6}.oyster .chapter{top:32px;left:24px;right:24px}.scroll-label{font-size:9px;letter-spacing:0}.oyster-copy{left:28px;top:12%}.oyster h2{font-size:43px;line-height:1.35;margin:12px 0}.oyster .eyebrow{font-size:10px}.oyster-detail{font-size:12px;line-height:1.9}.price{position:absolute;left:210px;top:102px;white-space:nowrap;font-size:12px;margin:0}.price strong{font-size:31px}.price span{display:block;text-align:right;font-size:10px}.oyster-visual{left:0;right:0;top:41%;bottom:14%;mask-image:none}.oyster-visual img,.oyster-visual video{object-fit:contain}.view-progress{bottom:10%;left:28px}.oyster-note{bottom:3%;left:28px;right:28px;font-size:9px}.information{padding:70px 28px 55px}.information h2{font-size:32px}.lead{font-size:13px}dl>div{grid-template-columns:65px 1fr;font-size:12px}.cta{padding:22px 18px;font-size:13px}.booking-note{font-size:10px}.review{padding:36px 28px}.review h2{font-size:22px}.review p{font-size:12px}}
@media(max-width:700px){.oyster-copy{right:28px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:end}.oyster-copy .eyebrow{grid-column:1/-1}.oyster h2{font-size:clamp(30px,calc(10vw - 2px),43px);grid-column:1}.oyster-detail{grid-column:1/-1}.price{position:static;grid-column:2;grid-row:2;margin-bottom:16px}.price strong{font-size:29px}}
@media(prefers-reduced-motion:reduce){.scene{height:auto}.screen{position:relative}.grill-picture,h1 span,.grill-detail,.oyster-detail{transform:none!important}.grill-detail,.oyster-detail{opacity:1}.oyster-visual video{display:none}.scroll-cue,.view-progress,.scroll-label{display:none}}
/* Complete edition: source-preserving camera moves and stable reading layers. */
[hidden]{display:none!important}
.motion-toggle{font:inherit;color:inherit;background:#10151280;border:1px solid #ffffff45;border-radius:20px;padding:9px 13px;cursor:pointer;min-height:36px;letter-spacing:0}
button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}
.grill{height:230svh}.grill-picture{inset:0 0 0 22%;transform:scale(calc(1 + var(--p)*.12)) translate(calc(var(--p)*-22px),calc(var(--p)*-28px))}
.grill-picture picture,.grill-picture video{position:absolute;inset:0;width:100%;height:100%}
.grill-picture video{object-fit:cover;object-position:45% 50%;opacity:0}
.grill-picture video.ready{opacity:1}
.grill-detail{opacity:calc(.6 + var(--p)*.4);transform:translateY(calc((1 - var(--p))*28px))}
.event-teaser .hero-price{font-size:20px;gap:4px;margin-bottom:12px;align-items:baseline}
.event-teaser .hero-price span{font-size:10px}
.cheese{height:225svh;background:#101619}
.cheese .chapter{top:42px}
.dish-copy{position:absolute;left:8vw;top:28%;z-index:3}
.dish-copy h2{font-size:clamp(40px,4.5vw,70px);line-height:1.5;margin:18px 0}
.dish-detail{font-size:14px;line-height:2;color:#c4c9c5;opacity:calc(.45 + var(--p)*.55);transform:translateY(calc((1 - var(--p))*24px))}
.dish-tag{display:inline-block;margin-top:30px;padding:8px 0;border-top:1px solid #ffffff40;font-size:10px;color:#c6c4b8;letter-spacing:.05em}
.dish-visual{position:absolute;left:42%;right:-7%;top:10%;bottom:12%;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 96%);transform:translateX(calc((1 - var(--p))*28px))}
.dish-visual img,.dish-visual video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.dish-visual video{opacity:0}.dish-visual video.ready{opacity:1}
.cheese .view-progress{color:#b8c2b0}
.cheese .view-progress i{background:#445145}.cheese .view-progress b{background:#c3a77c}
.dish-note{position:absolute;left:8vw;right:8vw;bottom:5%;font-size:10px;line-height:1.8;color:#aaa99d}
.oyster{height:225svh}.oyster-visual{left:40%;right:-3%}
.menu-bridge{background:#e7e3d4;color:#1d261f;padding:90px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:20px 9vw}
.menu-bridge .eyebrow{grid-column:1/-1;color:#77623f}
.menu-bridge h2{font-size:clamp(30px,3.4vw,52px);line-height:1.6}
.menu-list{font-size:13px;line-height:1.8}.menu-list p{padding:13px 0;border-bottom:1px solid #27342525}
.fine{font-size:10px;line-height:1.9;color:#b5baa9}
.menu-bridge .fine{grid-column:1/-1;color:#6a705e;margin-top:18px}
.sake{padding:100px 8vw 75px;background:#242d24;display:grid;grid-template-columns:1fr 1fr;gap:35px 8vw}
.sake h2{font-size:clamp(35px,4.6vw,68px);line-height:1.5;margin:20px 0 28px}
.sake-intro>p:last-child,.sake-count p{font-size:13px;line-height:2;color:#c7ccb9}
.sake-count{align-self:center}.sake-count strong{font-weight:400;font-size:clamp(110px,16vw,230px);line-height:1;letter-spacing:-.065em;color:#dbcaac}.sake-count strong span{font-size:.4em;vertical-align:top;line-height:1.7;margin-left:10px}
.breweries{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28;padding:26px 0}
.breweries p{font-size:10px;color:#adb99e}.breweries span{display:block;font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;color:#ece7d7;margin-top:10px}
.sake .fine{grid-column:1/-1}
.support{padding:0 8vw 70px;max-width:1000px;margin:auto}
.faq{border-top:1px solid #ffffff25;padding:20px 0;font-size:13px;line-height:1.9}
.faq summary{cursor:pointer;min-height:28px}
.faq>p,.legal-content{margin-top:20px;color:#c0c7b6}
.legal-table{margin:20px 0}.legal-table>div{grid-template-columns:140px 1fr;font-size:11px}.legal-table dd{overflow-wrap:anywhere}
.contact{font-size:11px;line-height:1.9;margin-top:28px;color:#b0baa5}.contact a{text-decoration:underline;text-underline-offset:4px}
footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-bottom:90px}
.floating-cta{position:fixed;bottom:20px;right:24px;z-index:20;display:flex;align-items:center;gap:25px;border:1px solid #ffffff3c;border-radius:40px;background:#1b251eee;backdrop-filter:blur(14px);color:#f5efdf;padding:17px 23px;font-size:12px;box-shadow:0 5px 24px #0003}
.floating-cta span{font-size:10px;color:#c4cbb8}
@media(max-width:700px){
 .grill-picture{inset:23% 0 0;transform-origin:55% 65%}
 .grill-picture video{object-position:50% 68%}
 .grill-copy{top:17%}.grill-copy .eyebrow{font-size:9px}
 .grill-detail{font-size:11px}
 .event-teaser{bottom:8%;display:flex;justify-content:space-between;align-items:end;gap:16px}
 .event-teaser>p{gap:10px}.event-teaser strong{font-size:37px}
 .event-teaser .hero-price{font-size:17px;margin-bottom:7px}
 .event-teaser a{min-width:0;width:158px;font-size:10px;margin-top:0}
 .event-teaser .hero-price span{font-size:8px}
 .scroll-cue{bottom:25%}
 .motion-toggle{font-size:9px;min-height:34px;padding:7px 10px}
 .cheese .chapter{top:32px}
 .dish-copy{left:28px;right:28px;top:12%}
 .dish-copy h2{font-size:clamp(28px,8.6vw,39px);line-height:1.4;margin:12px 0}
 .dish-copy .eyebrow{font-size:10px}
 .dish-detail{font-size:12px;line-height:1.9}
 .dish-tag{font-size:9px;margin-top:15px}
 .dish-visual{left:0;right:0;top:42%;bottom:14%;mask-image:none;transform:none}
 .dish-visual img,.dish-visual video{object-fit:cover;object-position:48% 55%}
 .dish-note{left:28px;right:28px;bottom:3%;font-size:9px}
 .oyster-visual{left:0;right:0}
 .menu-bridge{display:block;padding:60px 28px}.menu-bridge h2{font-size:30px;margin:15px 0 25px}.menu-list{font-size:12px}
 .sake{padding:65px 28px;gap:24px;grid-template-columns:1fr}
 .sake h2{font-size:36px;margin:16px 0 22px}
 .sake-count{display:block}.sake-count strong{font-size:116px}.sake-count p{font-size:12px;margin-top:16px}
 .breweries{padding:23px 0}.breweries span{font-size:17px}
 .support{padding:0 28px 45px}.faq{font-size:12px}
 .legal-table>div{display:block}.legal-table dt{margin-bottom:8px}
 .floating-cta{left:20px;right:20px;bottom:12px;justify-content:space-between;padding:16px 20px}
}
@media(max-width:360px){.event-teaser{left:22px;right:22px;gap:10px}.event-teaser a{width:135px}.event-teaser strong{font-size:31px}.event-teaser p span{font-size:8px}.sake-count{gap:18px}.sake-count strong{font-size:96px}}
@media(max-width:700px) and (max-height:720px){
 .dish-copy{top:11%}.dish-copy h2{font-size:clamp(24px,8vw,30px);line-height:1.3;margin:8px 0}
 .dish-detail{font-size:11px;line-height:1.8;transform:translateY(calc((1 - var(--p))*8px))}
 .dish-tag{margin-top:8px;padding:6px 0}.dish-visual{top:46%}
}
@media(prefers-reduced-motion:reduce){
 .scene{height:auto}.screen{position:relative}
 .grill-picture,.dish-visual,.dish-detail,.grill-detail,.oyster-detail{transform:none!important}
 .dish-detail,.grill-detail,.oyster-detail{opacity:1}
 .grill-picture video,.dish-visual video,.oyster-visual video,.motion-toggle{display:none!important}
}
