@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--bg:#1b1815;--panel:#302923;--ink:#f1e9dd;--muted:#bda98e;--line:#ffffff29;--serif:'Cormorant Garamond','Times New Roman',serif;--jp:'Noto Serif JP','Yu Mincho',serif;font-size:clamp(7px,.694444vw,14px);color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:3rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--jp);font-weight:400}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,article:focus-visible{outline:1px solid var(--muted);outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}button{border:0}.header{position:fixed;inset:0 0 auto;z-index:40;pointer-events:none}.header a,.header button{pointer-events:auto}.brand{position:fixed;top:50vh;left:50%;transform:translate(-50%,-50%);font-family:var(--serif);text-align:center;width:27vw;line-height:.83;transition:opacity .4s;will-change:transform,top,width}.brand>span{display:block;font-size:8.2rem;letter-spacing:.12em;padding-left:.12em}.brand small{display:block;font-size:1.35rem;letter-spacing:.43em;margin-top:1.8rem;padding-left:.43em}.intro-nav{position:absolute;top:4rem;left:4rem;display:grid;gap:3rem;font-family:var(--serif);font-size:1.6rem}.intro-nav a,footer nav a{width:max-content;position:relative}.intro-nav a:after,footer nav a:after{content:'';height:1px;background:var(--muted);position:absolute;bottom:-.5rem;left:0;width:100%;transform:scaleX(0);transform-origin:right;transition:transform .7s}.intro-nav a:hover:after,footer nav a:hover:after{transform:scaleX(1);transform-origin:left}.intro-nav,.top-book{transition:opacity .5s,visibility .5s}.top-book{position:absolute;right:4rem;top:3rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:3rem;min-height:5.6rem;border:1px solid #ffffff35;background:#b99d7c18;font-size:1.2rem;letter-spacing:.04em;padding:1.8rem 4rem;position:relative;overflow:hidden;transition:background .5s,border-color .5s,transform .5s;backdrop-filter:blur(12px)}.button:hover{background:#b99d7c45;border-color:#d6bd9b88}.button span{font-size:2rem;transition:transform .4s}.button:hover span{transform:translate(3px,-3px)}.floating-book{position:fixed;z-index:45;left:50%;bottom:4rem;transform:translateX(-50%);min-width:24rem;padding-inline:2.8rem;font-size:1.1rem;transition:opacity .4s,background .5s}.floating-book.hidden{opacity:0;pointer-events:none}.hero{height:200vh;position:relative}.hero-sticky{position:sticky;top:0;height:100vh;overflow:hidden}.hero-photo{object-position:center bottom;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 18%),#00000010}.about{margin-top:27.4rem;padding:0 4rem 10rem;position:relative;z-index:3;background:var(--bg)}.about h1{font-size:6.4rem;line-height:1.6;letter-spacing:.06em}.about-body{display:flex;justify-content:space-between;gap:4rem;border-top:1px solid var(--line);margin-top:3.8rem;padding-top:5rem}.label{font-family:var(--serif);font-size:1.8rem;letter-spacing:.03em;width:max-content;position:relative;line-height:1;padding-bottom:2.7rem}.label:after{position:absolute;content:'';height:1px;width:6.4rem;background:#c5b29a99;left:0;bottom:0;transform:rotate(-8deg)}.about-content{width:68rem;flex-shrink:0}.about-content>p{font-size:1.8rem;line-height:1.8}.flavor-map{aspect-ratio:685/495;position:relative;margin-top:4.7rem;overflow:hidden;background:radial-gradient(ellipse at 43% 65%,#745c3d30,transparent 55%),#27231e;color:#c8b391}.map-ring{border:1px solid #c8b39130;position:absolute;border-radius:50%;width:70%;aspect-ratio:1;left:5%;top:4%}.map-ring.r2{width:49%;left:15.5%;top:27%}.map-ring.r3{width:24%;left:28%;top:58%}.map-line{position:absolute;left:40%;top:0;width:1px;height:100%;background:#c8b39120}.map-copy{position:absolute;inset:12% 6% 15% 20%;display:flex;flex-direction:column;justify-content:space-between;font-size:1.5rem;letter-spacing:.15em}.map-copy span{border-bottom:1px solid #c8b39120;padding-bottom:2rem}.map-copy i{margin:0 2rem;font-style:normal;color:#c8b39170}.map-caption{position:absolute;bottom:2rem;right:2rem;font:1rem var(--serif);letter-spacing:.15em}.interlude{height:100vh;overflow:hidden;position:relative}.interlude img{object-position:center;will-change:transform}.concept{height:400vh;margin:0 .6rem}.concept-sticky{position:sticky;top:0;height:100vh;display:flex;gap:.6rem;padding-block:.6rem;overflow:hidden}.concept-body{width:50%;background:var(--panel);padding:8rem;display:flex;flex-direction:column;justify-content:space-between;position:relative}.concept-bars{position:absolute;right:8rem;top:9.5rem;display:flex;gap:1.5rem;align-items:flex-end;height:3.2rem}.concept-bars button{background:#ac967a;width:1px;height:1.6rem;padding:0;position:relative;transition:height .6s}.concept-bars button:before{content:'';position:absolute;inset:-1rem}.concept-bars button.active{height:3.2rem;background:var(--ink)}.concept-copy{margin-top:-4rem}.concept-copy p{font-size:1.4rem;margin-bottom:1.6rem}.concept-copy h3{font:8rem/1 var(--serif);letter-spacing:-.02em}.concept-copy.changed{animation:copy-in .9s both}.concept-count{display:flex;align-items:center;gap:1.6rem;font:2rem var(--serif)}.concept-count i{height:1.8rem;background:#ffffff55;width:1px}.concept-count small{font-size:1.2rem}.concept-media{width:50%;position:relative;overflow:hidden}.concept-media img{position:absolute;inset:0;clip-path:polygon(0 57%,100% 43%,100% 43%,0 57%);transition:clip-path 1.8s cubic-bezier(.16,1,.3,1);z-index:0}.concept-media img.previous{clip-path:polygon(0 -13%,100% -27%,100% 113%,0 127%);z-index:1}.concept-media img.active{clip-path:polygon(0 -13%,100% -27%,100% 113%,0 127%);z-index:2}.details{margin-top:18.2rem}.section-label{margin:0 auto 4.8rem}.detail-list{display:flex;gap:.4rem;padding:0 .6rem}.detail{position:relative;overflow:hidden;flex:0 1 18.333333vw;height:34.722222vw;transition:flex-grow .8s cubic-bezier(.16,1,.3,1);cursor:pointer}.detail.active{flex-grow:1}.detail:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#100b08b0,transparent 65%),#120c0838;pointer-events:none}.detail>img{width:62.5vw;max-width:none;object-position:center}.detail-head{position:absolute;z-index:2;top:4.2rem;left:4rem}.detail-head>span{font:1.4rem var(--serif);letter-spacing:.12em}.detail h3{font-size:3.2rem;line-height:1.5;margin-top:1.6rem;width:50rem}.detail p{position:absolute;bottom:4rem;left:4rem;z-index:2;font-size:1.5rem;line-height:1.7;width:53rem}.detail h3,.detail p{opacity:0;transition:opacity .6s}.detail.active h3,.detail.active p{opacity:1}.gallery{margin:16.2rem .6rem 5.8rem}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:62.5vw 32.777778vw 62.5vw 24.305556vw 62.5vw;gap:.416667vw}.gallery figure{grid-column:span var(--pc);overflow:hidden;position:relative}.gallery img{transition:filter .8s,scale 1.3s;will-change:transform;object-position:center}.gallery figure:hover img{scale:1.025;filter:brightness(1.08)}.gallery .crop-left{object-position:18% center}.gallery .crop-right{object-position:80% center}.ritual{display:flex;gap:9.513889vw;height:100vh;padding:8rem .6rem;align-items:center;background:var(--bg)}.ritual-image{width:49.375vw;flex-shrink:0;height:auto;aspect-ratio:711/690;overflow:hidden}.ritual-body{width:32vw;text-align:center}.ritual-head{display:flex;justify-content:space-between;font-family:var(--serif);align-items:baseline}.ritual-head h2{font-size:1.8rem}.ritual-head span{font-size:1.3rem}.ritual h3{font-size:3.2rem;line-height:1.4;margin-top:6rem}.ritual-mark{width:15.1rem;height:10rem;margin:4.8rem auto 0;object-fit:contain}.ritual p{font-size:1.5rem;line-height:1.7;margin-top:3rem}.features{display:flex;justify-content:space-between;margin-top:4.4rem;font-size:1.3rem}.features>div{display:grid;gap:1.6rem}.features span{font:4rem/1 var(--serif);color:var(--muted)}.visit{display:flex;gap:9.3rem;width:112.2rem;max-width:90%;margin:14rem auto 0;padding:14.4rem 0 14rem;position:relative}.visit-body{width:50rem}.visit h2{font:4rem/1.25 var(--serif)}.visit h2 small{display:block;font:1.8rem var(--jp);margin-top:2rem}.booking{margin-top:6.6rem;width:100%;min-height:9.6rem;font-size:1.5rem;justify-content:space-between}.notes{margin-top:6.4rem;font-family:Arial,'Yu Gothic',sans-serif}.notes h3{font:1.2rem var(--serif);margin-bottom:1.5rem}.notes p{font-size:1.1rem;line-height:1.8;margin-top:1rem;color:#d2c5b3}.visit-art{width:50.4rem;flex-shrink:0;min-height:46rem;background:var(--panel);display:flex;align-items:center;justify-content:center}.coffee-card{width:28.5rem;aspect-ratio:1.58;transform:rotate(-7deg);border-radius:.8rem;background:linear-gradient(135deg,#70543b,#38291c);box-shadow:1rem 2rem 4rem #0005;position:relative;padding:2rem;color:#dfc6a2;border:1px solid #a78b6238}.coffee-card img{position:absolute;right:2rem;top:2rem;width:7rem;height:6rem}.coffee-card strong{font:4.2rem/.9 var(--serif);letter-spacing:.1em}.coffee-card>span{display:block;font:1rem var(--serif);letter-spacing:.3em;margin-top:1rem}.coffee-card small{position:absolute;bottom:2rem;left:2rem;font: .65rem var(--serif);letter-spacing:.14em}footer{position:relative;overflow:hidden;min-height:64.5rem;padding:8rem 4rem 4rem;border-top:1px solid var(--line);background:radial-gradient(ellipse at 80% 100%,#80604455,transparent 65%),#201b16}footer nav{display:grid;gap:2rem;font:1.6rem var(--serif)}.footer-main{position:relative;margin-top:7.8rem}.footer-main p{font-size:1.6rem;line-height:1.6}.footer-word{font:9.7rem/.95 var(--serif);letter-spacing:.025em;display:block;margin-top:3.5rem}.privacy{position:absolute;right:0;top:3rem;background:none;font:1.3rem var(--serif)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:3.6rem;font:1.2rem var(--serif);letter-spacing:.12em}.footer-bottom small{font-size:1rem}.menu-toggle{display:none}.drawer{display:none}.reveal{opacity:0;transform:translateY(28px);transition:opacity 1.1s,transform 1.2s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;transform:none}.scrolled .intro-nav,.scrolled .top-book{opacity:0;visibility:hidden}.past-hero .brand{opacity:0;pointer-events:none}.menu-open{overflow:hidden}dialog{background:#29221c;color:var(--ink);border:1px solid #b69a7544;width:60rem;max-width:calc(100% - 3.2rem);padding:6rem}dialog::backdrop{background:#100c08c9;backdrop-filter:blur(10px)}dialog .label{display:block;font-size:1.4rem;margin-bottom:3rem}dialog h2{font-size:3rem;line-height:1.6}dialog p{font-size:1.4rem;line-height:1.9;margin:2rem 0}dialog form{display:grid;gap:2rem;margin-top:3rem}dialog label{display:grid;gap:1rem;font-size:1.2rem}dialog input,dialog select{width:100%;border:1px solid #b69a7566;padding:1.2rem;background:#211b17;color:var(--ink);min-height:4.6rem}dialog .demo-note{font-size:1rem;opacity:.6}.dialog-close{position:absolute;right:2rem;top:1rem;font-size:3rem;background:none}dialog .button{width:100%}@keyframes copy-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:768px){:root{font-size:calc(100vw / 37.5)}html{scroll-padding-top:2rem}.brand{top:27svh;width:72.27vw}.brand>span{font-size:6.5rem}.brand small{font-size:1.1rem;margin-top:1.3rem}.intro-nav{top:2.4rem;left:2rem;right:2rem;grid-auto-flow:column;grid-template-columns:repeat(3,max-content);grid-template-rows:repeat(3,auto);gap:1.6rem 1.8rem;justify-content:space-between;font-size:1.1rem}.intro-nav a:last-child{grid-column:3;grid-row:1}.top-book{display:none}.hero{height:200svh}.hero-sticky{height:100svh}.hero-photo{object-position:49% center}.hero-shade{background:linear-gradient(0deg,var(--bg),transparent 20%),#00000008}.about{margin-top:0;padding:0 .6rem 9.6rem}.about h1{padding:0 1.4rem;font-size:3rem;line-height:1.6;letter-spacing:.04em;max-width:35rem}.about-body{margin-top:2.6rem;padding-top:2.4rem;padding-left:1.4rem;gap:2.8rem}.label{font-size:1.3rem;padding-bottom:1.2rem}.label:after{width:5.6rem}.about-body>.label{padding-top:.6rem;flex-shrink:0}.about-content{width:auto;min-width:0;flex:1}.about-content>p{font-size:1.4rem;line-height:1.8}.flavor-map{margin-left:-22.133333vw;margin-top:4rem;width:96.8vw;aspect-ratio:363/261}.map-copy{font-size:1rem}.map-copy span{padding-bottom:1rem}.map-copy i{margin-inline:.6rem}.map-caption{font-size:.65rem;right:1rem;bottom:1rem}.interlude{height:100svh}.interlude img{object-position:35% center}.concept{height:400svh}.concept-sticky{height:100svh;flex-direction:column;justify-content:center;padding:0;gap:.6rem}.concept-body{width:100%;height:17.8rem;padding:2rem 2rem 1.3rem;flex-shrink:0}.concept-copy{margin:0}.concept-copy p{font-size:1.2rem;margin-bottom:.8rem}.concept-copy h3{font-size:4.8rem}.concept-count{position:absolute;top:2rem;right:2rem;font-size:1.6rem}.concept-count small{font-size:1rem}.concept-count i{height:1.4rem}.concept-bars{right:2rem;top:auto;bottom:2rem;gap:.9rem;height:2rem}.concept-bars button{height:1.2rem}.concept-bars button.active{height:2rem}.concept-media{width:100%;height:85.3333vw;max-height:calc(100svh - 25rem);flex-shrink:1}.details{margin-top:2rem}.section-label{margin-bottom:1.7rem;padding-bottom:1.2rem}.detail-list{display:flex;flex-direction:column;gap:.6rem}.detail{flex:none;height:133.333333vw}.detail>img{width:100%;height:100%;object-position:center}.detail-head{top:2rem;left:2rem}.detail-head>span{font-size:1.3rem}.detail h3{font-size:2.4rem;margin-top:1.3rem;width:auto;opacity:1}.detail p{left:2rem;right:2rem;bottom:2rem;width:auto;font-size:1.3rem;opacity:1}.gallery{margin-top:10.1rem;margin-bottom:0}.gallery .section-label{margin-bottom:5.1rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:64vw 48vw 177.866667vw 48vw 64vw 177.866667vw 64vw 48vw;gap:.6rem .3rem}.gallery figure{grid-column:span var(--sp)}.ritual{height:auto;display:flex;flex-direction:column;gap:0;margin-top:10rem;padding:0 .6rem}.ritual-body{width:100%;padding:0 1.4rem;order:-1}.ritual-head h2{font-size:1.2rem}.ritual-head span{font-size:1rem}.ritual h3{font-size:2.4rem;margin-top:5.4rem}.ritual-mark{width:13.6rem;height:8rem;margin-top:1.5rem}.ritual p{font-size:1.4rem;margin-top:1.8rem;line-height:1.5}.features{margin-top:3rem;font-size:1.2rem}.features span{font-size:4rem}.features>div{gap:1.6rem}.ritual-image{width:100%;margin-top:5.6rem;aspect-ratio:363/352;height:auto}.visit{display:flex;flex-direction:column;gap:0;max-width:none;width:auto;margin:0;padding:10.1rem 1.4rem 7.4rem}.visit-body{width:100%;display:contents}.visit h2{font-size:3rem;order:0}.visit h2 small{font-size:1.5rem;margin-top:1.5rem}.booking{margin:4rem 0;order:1;min-height:7rem;font-size:1.3rem}.visit-art{width:100%;height:84vw;min-height:0;order:2}.coffee-card{width:25rem}.notes{order:3;margin-top:1.9rem}.notes p{font-size:1rem}.notes h3{font-size:1.1rem}.floating-book{bottom:2.4rem;min-width:20rem;min-height:4.2rem;padding:1.3rem 2rem;font-size:1rem}.menu-toggle{position:fixed;right:2rem;top:2rem;width:2.8rem;height:2.4rem;background:none;display:flex;flex-direction:column;justify-content:space-around;align-items:flex-end;opacity:0;visibility:hidden;transition:opacity .4s}.menu-toggle i{height:1px;background:var(--ink);display:block;width:100%;transition:transform .4s}.menu-toggle i:first-child{width:40%}.menu-toggle i:nth-child(2){width:70%}.scrolled .menu-toggle{opacity:1;visibility:visible}.menu-open .menu-toggle{opacity:1;visibility:visible}.menu-open .menu-toggle i:first-child{width:100%;transform:translateY(.8rem) rotate(45deg)}.menu-open .menu-toggle i:nth-child(2){opacity:0}.menu-open .menu-toggle i:last-child{transform:translateY(-.8rem) rotate(-45deg)}.drawer{position:fixed;inset:0;background:#29221cf7;z-index:35;display:flex;flex-direction:column;gap:2.4rem;padding:10rem 3rem;font:2.6rem var(--serif);opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}.menu-open .drawer{opacity:1;visibility:visible}.drawer-word{font:9rem var(--serif);margin-top:auto;color:var(--muted);letter-spacing:.1em}.menu-open .brand{opacity:0}footer{padding:4.2rem 2rem 2.2rem;min-height:0}footer nav{gap:2.4rem;font-size:1.2rem}.footer-main{margin-top:8rem}.footer-main p{font-size:1.2rem}.footer-word{font-size:4.05rem;white-space:nowrap;margin-top:2.3rem;letter-spacing:0}.privacy{font-size:.8rem;top:1rem}.footer-bottom{display:block;margin-top:2.4rem;font-size:1rem}.footer-bottom small{display:block;font-size:.75rem;margin-top:1.6rem}dialog{width:34rem;padding:4rem 2.4rem}dialog h2{font-size:2.5rem}dialog p{font-size:1.2rem}}
.header .top-book{position:absolute}.brand>span{font-size:13rem}form[hidden]{display:none}.mobile-only{display:none}html{scroll-padding-top:0}footer{min-height:73.3rem}.hero{height:100vh}.hero-shade{background:linear-gradient(0deg,var(--bg),transparent 18%),#00000010}.about-track{margin-top:27.4rem;padding-bottom:100vh;display:flow-root;background:var(--bg)}.about{position:sticky;top:-26rem;margin-top:0}.map-ring{transform:scale(calc(1 + var(--map-progress,0)*.4));transition:transform .15s linear}.map-copy{opacity:calc(.55 + var(--map-progress,0)*.45)}
@media(min-width:769px){body:not(.scrolled) .floating-book{opacity:0;pointer-events:none}}
@media(max-width:768px){.brand>span{font-size:9rem}.mobile-only{display:block}.hero{height:100svh}.about-track{margin-top:0;padding-bottom:100svh}.about{min-height:81.6rem;overflow:clip;top:calc(100svh - 81.6rem)}.flavor-map{width:calc(100vw - 2.2rem)}.ritual{min-height:84.6rem}.visit{min-height:87.8rem}footer{min-height:50.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@supports(animation-timeline:view()){ @media(prefers-reduced-motion:no-preference){.gallery figure img{height:110%;animation:photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}@keyframes photo-drift{from{transform:translateY(-7%)}to{transform:translateY(0)}}}}
.docked-nav{position:fixed;top:3.6rem;left:4rem;right:4rem;display:flex;align-items:center;gap:6rem;font:1.4rem var(--serif);opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}.docked-nav a:nth-child(4){margin-left:auto}.docked:not(.past-hero) .docked-nav{opacity:1;visibility:visible}.docked-nav a{transition:color .4s}.docked-nav a:hover{color:#c9a477}.docked .brand{z-index:2}.docked-nav:before{position:absolute;content:'';inset:-3.6rem -4rem -2rem;background:linear-gradient(#1b1815cc,transparent);z-index:-1}
@media(max-width:768px){.docked-nav{display:none}}

.sample-back{font:12px var(--serif);text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.sample-back:hover{color:var(--muted)}@media(max-width:768px){.sample-back{display:inline-block;margin-top:20px;font-size:11px}}
