/* Atmospheric motion; warm dining palette overrides below retain the official brand. */
:root{--ink:#f3f5ef;--paper:#173e50;--paper-light:#f3f5ef;--mist:#204c60;--deep:#123446;--line:rgba(226,239,241,.28);--soft:#b4cbd3;--ease:cubic-bezier(.2,.65,.2,1)}
html{background:var(--deep)}
body{background:transparent;isolation:isolate;color:var(--ink)}
body::after{opacity:.045}
main,.site-footer{position:relative}
main{z-index:1}
.site-header{z-index:50;color:var(--ink)}
.brand,.hero h1,.story-sign,.section-script,.sake .section-script{color:var(--ink)}
.section-script{color:var(--soft)}
.scene-backdrop{position:fixed;inset:0;z-index:-1;background:var(--deep);overflow:hidden;pointer-events:none}
.scene-photo{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transform:scale(1.055);transition:opacity 1.25s var(--ease),transform 2.4s var(--ease)}
.scene-photo.is-active{opacity:1;transform:scale(1)}
.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,44,59,.82),rgba(24,63,80,.58) 55%,rgba(20,54,69,.38)),linear-gradient(0deg,rgba(17,47,62,.55),transparent 45%,rgba(20,54,69,.35))}
.hero{min-height:max(850px,100svh)}
.hero-wash{background:linear-gradient(110deg,rgba(43,95,117,.26),transparent 70%)}
.hero h1{text-shadow:0 3px 30px rgba(10,30,39,.12)}
.hero-word{opacity:.08;color:#d2e3e7}
.hero-film-window{background:var(--deep);box-shadow:0 25px 70px rgba(3,22,31,.25)}
.hero-kicker,.hero-label,.hero-description{color:var(--paper-light)}
.hero-copy,.hero-film,.hero-label{animation:none}
.is-ready .hero-copy,.is-ready .hero-film,.is-ready .hero-label{animation:scene-enter 1.25s var(--ease) both}
.is-ready .hero-film{animation-delay:.12s}
.is-ready .hero-label{animation-delay:.06s}
.header-reserve{border-color:rgba(255,255,255,.42);background:rgba(43,95,117,.28)}
.menu-toggle{background:rgba(24,63,80,.92);border-color:rgba(255,255,255,.45);color:var(--ink)}
.film-progress span,.scroll-line::after{background:var(--paper-light)}
.film-control{color:var(--ink)}
.round-link:hover .arrow-circle,.sake .round-link:hover .arrow-circle{background:var(--paper-light);color:var(--brand)}
.story,.food,.sake,.space,.stores,.faq,.closing{position:relative}
.story{background:linear-gradient(180deg,rgba(20,55,72,.12),rgba(29,69,87,.32) 28%,rgba(24,61,79,.3))}
.story-small{box-shadow:0 0 0 10px var(--paper)}
.story .section-script{color:var(--soft)}
.food{background:linear-gradient(180deg,rgba(24,61,79,.28),rgba(16,47,63,.38));padding-top:70px}
.chapter-word{color:var(--soft);opacity:.72}
.signature{background:rgba(43,95,117,.92)}
.dishes-intro .eyebrow,.dish .eyebrow{color:#c6dbe2}
.sake{background:linear-gradient(110deg,rgba(20,53,71,.12),rgba(28,67,85,.65) 65%);color:var(--ink)}
.sake .section-script{color:var(--soft)}
.section-film{background:var(--deep);box-shadow:0 15px 55px rgba(3,22,31,.22)}
.space{background:linear-gradient(90deg,rgba(22,58,76,.38),rgba(22,58,76,.12));min-height:820px}
.stores{background:rgba(26,66,85,.9)}
.store-filters button{color:var(--ink)}
.store-filters button.active,.store-filters button:hover{background:var(--paper-light);color:var(--deep);border-color:var(--paper-light)}
.store-links a:first-child{border:1px solid rgba(255,255,255,.4);background:var(--brand)}
.store-row{animation:scene-enter .65s var(--ease) both}
.store-row:nth-child(2){animation-delay:.08s}.store-row:nth-child(3){animation-delay:.16s}
.faq{background:rgba(19,51,68,.93)}
.closing{min-height:600px;background:linear-gradient(180deg,rgba(19,51,68,.72),rgba(34,79,99,.48));padding-block:150px}
.site-footer{z-index:1;background:var(--brand)}
.photo-notice{font-size:10px;color:#dce7e9;margin-bottom:20px}
.note,.space-image figcaption{opacity:.86}
.page-loader{position:fixed;inset:0;z-index:1000;background:#2b5f75;display:grid;place-items:center;color:#f3f5ef;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s var(--ease),visibility .65s}
.is-loading .page-loader{opacity:1;visibility:visible;pointer-events:auto}
.loader-mark{display:flex;flex-direction:column;align-items:center;text-align:center;transform:translateY(-12px)}
.loader-kicker{font:11px/1.5 var(--serif);letter-spacing:.45em;margin-left:.45em}
.loader-word{font:500 clamp(43px,7vw,74px)/1.5 var(--serif);letter-spacing:.12em;margin:.25em -.12em .3em 0}
.loader-word>span{margin-left:-.12em}
.loader-rule{position:relative;width:54px;height:1px;background:rgba(255,255,255,.25);overflow:hidden;margin:15px 0 22px}
.loader-rule::after{content:'';position:absolute;inset:0;background:#f3f5ef;transform:scaleX(.2);transform-origin:left;animation:loader-flow 1.5s var(--ease) infinite}
.loader-copy{font:11px/1.5 var(--serif);letter-spacing:.25em;opacity:.8}
.page-transition{position:fixed;inset:0;z-index:800;display:grid;place-items:center;background:var(--brand);color:var(--paper-light);transform:translateY(100%);visibility:hidden;pointer-events:none;transition:none}
.page-transition>span{font:500 36px/1.5 var(--serif);letter-spacing:.1em;opacity:.7}
.page-transition.is-covering{visibility:visible;transform:translateY(0);pointer-events:auto;transition:transform .45s var(--ease)}
.page-transition.is-leaving{visibility:visible;transform:translateY(-100%);transition:transform .5s var(--ease)}
#menu-dialog[open]{animation:menu-enter .6s var(--ease) both}
#menu-dialog.is-closing{animation:menu-exit .4s var(--ease) both}
#menu-dialog.is-navigating{animation:menu-exit .55s var(--ease) both;pointer-events:none}
#menu-dialog.is-covered{opacity:0}
#menu-dialog{background:var(--paper)}
#menu-dialog .menu-inner nav a{transition:color .3s,padding-left .35s var(--ease)}
#menu-dialog .menu-inner nav a:hover{padding-left:12px}
#menu-dialog[open] .menu-inner nav a{animation:scene-enter .65s var(--ease) both;animation-delay:calc(var(--menu-index,0)*55ms + 80ms)}
.js-reveal .reveal{opacity:0;transform:translateY(38px);transition:opacity 1s var(--ease),transform 1.2s var(--ease);transition-delay:var(--reveal-delay,0ms)}
.js-reveal .reveal.seen{opacity:1;transform:translateY(0)}
.js-reveal .story-large,.js-reveal .sake-film,.js-reveal .space-image,.js-reveal .signature-image{clip-path:inset(12% 0 0 0);transition:opacity 1.1s var(--ease),transform 1.3s var(--ease),clip-path 1.4s var(--ease)}
.js-reveal .story-large.seen,.js-reveal .sake-film.seen,.js-reveal .space-image.seen,.js-reveal .signature-image.seen{clip-path:inset(0)}
@keyframes scene-enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-6%)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-exit{to{opacity:0;transform:translateY(-8%)}}
@keyframes loader-flow{0%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}
@media(max-width:900px){.scene-shade{background:linear-gradient(90deg,rgba(17,47,64,.82),rgba(27,66,83,.57)),linear-gradient(0deg,rgba(17,47,64,.4),transparent)}.space{min-height:0}}
@media(max-width:650px){
 .hero{min-height:0}.hero-film-window{box-shadow:0 18px 45px rgba(3,22,31,.25)}
 .scene-photo{object-position:50% 50%}
 .story{background:rgba(24,61,79,.3)}.food{padding-top:52px}
 .sake{background:rgba(24,61,79,.4)}.space{background:rgba(24,61,79,.3)}
 .story-small{box-shadow:0 0 0 7px var(--paper)}
 .closing{min-height:450px;padding-block:100px}
 .mobile-reserve{background:rgba(43,95,117,.97);box-shadow:0 6px 30px rgba(5,26,38,.3)}
 .loader-word{font-size:48px}.loader-copy{font-size:10px}
 .photo-notice{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 html:not(.motion-full) .scene-photo,html:not(.motion-full) .scene-photo.is-active{transform:none}html:not(.motion-full) .page-transition{display:none}
 html:not(.motion-full) .page-loader{transition:none}html:not(.motion-full) .loader-rule::after{animation:none;transform:none}
 html:not(.motion-full) .js-reveal .reveal{opacity:1;transform:none;clip-path:none}
 html:not(.motion-full) #menu-dialog[open],html:not(.motion-full) #menu-dialog.is-closing,html:not(.motion-full) #menu-dialog.is-navigating{animation:none}
}
