@charset "UTF-8";
:root{--wine:#632a32;--ink:#40272b;--paper:#faf3e7;--outside:#f2e9de;--quiet:#78535a;--rule:#b99691;--serif:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;--roman:"Cormorant Garamond",Georgia,serif;--column:min(44vw,610px);--shrink:0;--rail-width:42px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:60px}body{margin:0;background:var(--outside);color:var(--ink);font-family:var(--serif);font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.5' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}.skip{position:fixed;top:-100px;left:20px;z-index:90;background:var(--paper);padding:12px 18px}.skip:focus{top:12px}.shape-library{position:absolute;width:0;height:0;overflow:hidden}.masthead{height:70px;display:flex;justify-content:space-between;align-items:center;padding:0 3.4%;font-size:13px;letter-spacing:.12em;position:relative;z-index:30;color:var(--wine)}.masthead>a:first-child{font-size:18px}.masthead>a:first-child span{font-size:11px;letter-spacing:.1em;margin-right:9px}.masthead a{min-height:44px;display:flex;align-items:center}.masthead>a:last-child{gap:16px}.masthead-place{font-size:12px}
.side-nav,.side-sign{position:fixed;top:50%;transform:translateY(-45%);z-index:5;opacity:0;visibility:hidden;transition:opacity .7s,visibility .7s}.is-reading .side-nav,.is-reading .side-sign{opacity:1;visibility:visible}.side-nav{left:max(4%,calc((100vw - 610px)/4 - 110px));width:220px;color:var(--wine)}.side-location{font-size:12px;letter-spacing:.18em;margin-bottom:36px}.side-nav nav{display:grid;gap:18px;font-size:19px;letter-spacing:.11em}.side-nav nav a{display:block;padding:7px 0;width:max-content;position:relative}.side-nav nav a::after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:currentColor;transition:width .3s}.side-nav nav a:hover::after,.side-nav nav a:focus-visible::after{width:100%}.side-instagram{display:inline-flex;gap:32px;margin-top:60px;font-size:13px;padding:8px 0}.side-sign{right:max(2%,calc((100vw - 610px)/4 - 135px));width:270px;text-align:center;color:var(--wine)}.sign-small{display:block;font-size:13px;letter-spacing:.23em}.wordmark{display:block;font:italic 500 155px/.95 var(--roman);letter-spacing:-.075em;padding-right:.09em}.side-sign .wordmark{margin:24px 0 28px;font-size:clamp(120px,12vw,190px)}.side-sign svg{width:130px;margin:40px auto 0;fill:none;stroke:var(--wine);stroke-width:1.2;opacity:.75}
.opening{height:calc(100svh + 260px);position:relative;padding:0 28px;z-index:10}.opening-window{position:sticky;top:24px;margin:auto;width:var(--opening-width,100%);height:calc(100svh - 105px);min-height:490px;max-height:1000px;clip-path:url(#yoka-petal);background:var(--wine);overflow:hidden;isolation:isolate}.opening-photographs,.opening-photo,.opening-shade{position:absolute;inset:0;width:100%;height:100%}.opening-photo{object-fit:cover;object-position:49% 50%;opacity:0;transition:opacity 1.2s ease;transform:scale(1.015)}.opening-photo.is-current{opacity:1}.opening-shade{background:linear-gradient(90deg,rgba(32,20,19,.18),transparent 45%,rgba(32,20,19,.32)),linear-gradient(0deg,rgba(32,20,19,.28),transparent 40%)}.opening h1{position:absolute;right:11%;top:17%;writing-mode:vertical-rl;font-size:clamp(27px,2.8vw,50px);letter-spacing:.20em;line-height:1.65;color:#fffaf0;text-shadow:0 1px 10px #30201b33}.opening h1 span{display:block}.opening-logo{position:absolute;left:9%;bottom:15%;color:var(--paper);opacity:calc(1 - var(--shrink)*1.15);transition:opacity .1s;white-space:nowrap}.opening-logo>span{display:block;letter-spacing:.35em;font-size:16px;margin-left:16px}.opening-logo strong{font:italic 500 clamp(100px,16vw,260px)/.85 var(--roman);letter-spacing:-.065em}.opening-caption{position:absolute;left:7%;top:19%;writing-mode:vertical-rl;font-size:13px;letter-spacing:.20em;color:white;opacity:calc(1 - var(--shrink))}.photo-next{position:absolute;right:8%;bottom:14%;padding:12px 0;border:0;background:none;color:#fff8ed;display:flex;align-items:center;gap:15px;font-size:12px;letter-spacing:.08em;opacity:calc(1 - var(--shrink))}.photo-next svg{width:35px;fill:none;stroke:currentColor;stroke-width:1.2}.photo-next:focus-visible{outline-color:white}.enter-story{position:absolute;bottom:65px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:15px;color:var(--wine);font-size:11px;letter-spacing:.17em;opacity:calc(1 - var(--shrink))}.scroll-line{height:40px;width:1px;background:var(--wine);transform-origin:top;animation:breathe 2.8s ease-in-out infinite}@keyframes breathe{50%{transform:scaleY(.55);opacity:.35}}
.story-window{width:var(--column);margin:0 auto 0;position:relative;z-index:12;background:linear-gradient(to bottom,transparent 0 145px,var(--paper) 145px);padding:155px 0 65px;border-radius:0 0 160px 160px / 0 0 48px 48px}.paper-crown{position:absolute;top:0;left:0;width:100%;height:150px;fill:var(--paper);z-index:-1}.rail{position:absolute;top:86px;bottom:52px;width:var(--rail-width);background:url('assets/botanical-rail.svg') center top / 100% 228px repeat-y;opacity:.78;pointer-events:none}.rail-left{left:calc(-1 * var(--rail-width) - 12px)}.rail-right{right:calc(-1 * var(--rail-width) - 12px);transform:scaleX(-1)}.welcome{text-align:center;padding-top:0}.vertical-title{writing-mode:vertical-rl;margin:0 auto;color:var(--wine);font-size:clamp(25px,2.25vw,34px);line-height:1.9;letter-spacing:.18em;text-align:left}.vertical-title span{display:block}.illustration-river{width:100%;overflow:hidden;margin:65px 0 45px;position:relative;height:300px}.illustration-track{height:100%;display:flex;align-items:center;width:max-content;animation:river 48s linear infinite;gap:45px}.illustration-track img{width:900px;height:300px;max-width:none;object-fit:contain}.illustration-track.reverse{animation-direction:reverse;animation-duration:60s}@keyframes river{to{transform:translateX(-50%)}}.poem{font-size:17px;line-height:2.6;letter-spacing:.08em;padding:0 24px}.poem p+p{margin-top:38px}.quiet-link{display:inline-flex;align-items:center;gap:25px;margin:36px auto 0;padding:9px 0;border-bottom:1px solid var(--rule);font-size:14px;letter-spacing:.07em}.quiet-link span,.oval-link span,.map-link span{display:inline-block;transition:transform .2s}.quiet-link:hover span,.oval-link:hover span,.map-link:hover span{transform:translate(3px,-3px)}
.coffee-section{padding:100px 0 80px;text-align:center}.botanical-divider{display:flex;gap:20px;align-items:center;justify-content:center;margin:0 50px 55px}.botanical-divider span{height:1px;width:70px;background:var(--rule)}.botanical-divider svg{width:34px;height:50px;fill:none;stroke:var(--wine);stroke-width:1.1}.section-title{font-size:clamp(28px,2.9vw,40px);line-height:1.9;letter-spacing:.14em;color:var(--wine)}.section-intro{font-size:16px;letter-spacing:.06em;line-height:2.1;margin:25px 20px 50px}.petal-figure{width:86%;margin:0 auto 58px}.petal-photo{clip-path:url(#yoka-petal);overflow:hidden;background:#e2d2c4;aspect-ratio:1.03}.petal-photo img{height:100%;width:100%;object-fit:cover;transition:transform .8s}.petal-photo:hover img{transform:scale(1.025)}.petal-figure figcaption{margin:20px auto 0;font-size:15px;letter-spacing:.1em}.petal-figure figcaption strong{font-weight:500;font-size:23px;display:block;line-height:1.7;color:var(--wine)}.petal-figure figcaption span{display:block;font-size:14px;margin-top:6px}.product-figure+.product-figure{margin-top:70px}.menu-note{font-size:13px;line-height:2.1;margin:0 auto 25px;color:var(--quiet);letter-spacing:.05em}.oval-link{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:66px;min-width:260px;padding:14px 35px;border:1px solid var(--wine);border-radius:50%;color:var(--wine);font-size:14px;letter-spacing:.07em;transition:background .2s,color .2s}.oval-link:hover{background:var(--wine);color:var(--paper)}
.room-section{text-align:center;padding:75px 0 45px}.room-section .vertical-title{margin-bottom:52px}.room-figure .petal-photo{aspect-ratio:1.03}.room-text{font-size:16px;line-height:2.45;letter-spacing:.05em;padding:0 18px}.river-small{height:200px;margin:55px 0 20px}.river-small .illustration-track img{width:660px;height:220px}.visit-section{padding:65px 0 30px;text-align:center}.visit-section .section-title{font-size:29px;letter-spacing:.10em;margin:0 18px 44px}.exterior-figure{width:86%;margin-bottom:35px}.exterior-figure .petal-photo{aspect-ratio:1.2}.shop-details{padding:0 30px;font-size:15px;line-height:2.15}.shop-details h3{font-size:26px;color:var(--wine);letter-spacing:.03em}.shop-details h3 span{display:block;font-size:11px;letter-spacing:.12em;margin-top:4px}.shop-details address{font-style:normal;margin-top:22px}.shop-details p{margin-top:22px}.shop-details small{font-size:11px;line-height:1.6}.map-link{border-bottom:1px solid var(--rule);display:inline-flex;padding:8px 0;gap:25px;margin-top:13px;font-size:14px}.shop-details p.opening-info{margin-top:48px;margin-bottom:20px}.window-footer{text-align:center;padding:90px 15px 15px;color:var(--wine)}.window-footer p{font-size:17px;letter-spacing:.17em;margin-bottom:30px}.window-footer .wordmark{font-size:150px;display:inline-block}.window-footer>span{display:block;font-size:10px;letter-spacing:.11em;margin-top:23px}.demo-footer{text-align:center;padding:100px 25px 60px;max-width:850px;margin:auto;font-size:11px;line-height:1.9;color:#725c5b}.demo-footer details{margin:18px auto;width:min(100%,600px)}.demo-footer summary{cursor:pointer;width:max-content;margin:auto;padding:5px}.demo-footer details p{padding:15px 0}.demo-footer>a{border-bottom:1px solid #bca6a2;margin:0 15px}.demo-footer>span{white-space:nowrap}.motion-control{position:fixed;right:24px;bottom:22px;z-index:40;display:flex;align-items:center;gap:10px;border:1px solid #af8b87;border-radius:24px;background:var(--paper);color:var(--wine);padding:10px 16px;font-family:var(--serif);font-size:11px;letter-spacing:.05em;box-shadow:0 3px 15px #40272b08;min-height:44px}.motion-icon{font:15px Georgia,serif}.motion-paused .illustration-track,.motion-paused .scroll-line{animation-play-state:paused}.motion-paused .opening-photo{transition:none}
@media(min-width:1800px){.opening-window{max-width:1800px}.opening h1{font-size:48px}}
@media(max-width:1100px){:root{--column:54vw;--rail-width:30px}.side-nav{left:3%;width:155px}.side-nav nav{font-size:16px}.side-sign{right:1.5%;width:190px}.side-sign .wordmark{font-size:130px}.sign-small{font-size:11px}.side-sign svg{width:100px}.side-location{font-size:11px}.opening h1{font-size:34px}.illustration-river{height:270px}.illustration-track img{height:270px;width:810px}}
@media(max-width:820px){:root{--column:calc(100vw - 76px);--rail-width:23px}.side-nav,.side-sign{display:none}.masthead{height:64px;padding:0 24px;font-size:11px}.masthead>a:first-child{font-size:16px}.masthead-place{display:none}.masthead>a:last-child{gap:8px}.opening{padding:0 14px;height:calc(100svh + 120px)}.opening-window{min-height:480px;height:calc(100svh - 105px);top:20px}.opening h1{font-size:30px;right:14%;top:20%;letter-spacing:.15em}.opening-logo{left:10%;bottom:16%}.opening-logo strong{font-size:160px}.opening-logo>span{font-size:12px;margin-left:10px}.opening-caption{left:9%;font-size:10px;top:24%}.photo-next{right:11%;bottom:12%;font-size:10px}.photo-next span{display:none}.enter-story{bottom:20px}.story-window{padding-top:130px}.paper-crown{height:145px}.rail-left{left:-30px}.rail-right{right:-30px}.vertical-title{font-size:29px;line-height:1.8}.poem{font-size:16px;letter-spacing:.03em;padding:0 12px}.illustration-river{height:255px;margin:50px 0 35px}.illustration-track img{height:255px;width:765px}.section-title{font-size:33px}.coffee-section{padding-top:75px}.room-section{padding-top:45px}.petal-figure{width:90%}.river-small{height:185px}.river-small .illustration-track img{height:185px;width:555px}.visit-section .section-title{font-size:26px}.motion-control{right:12px;bottom:12px;padding:9px 13px}.demo-footer{padding:60px 30px 88px}}
@media(max-width:440px){:root{--column:calc(100vw - 52px);--rail-width:18px}.masthead{padding:0 17px}.masthead>a:last-child{font-size:10px}.masthead>a:first-child span{font-size:9px;margin-right:5px}.opening{padding:0 8px}.opening-window{min-height:460px}.opening h1{font-size:26px;right:16%;line-height:1.75}.opening-logo strong{font-size:137px}.opening-logo{left:11%;bottom:18%}.opening-photo{object-position:44% 50%}.opening-caption{left:12%;font-size:10px}.rail-left{left:-22px}.rail-right{right:-22px}.story-window{padding-top:122px}.vertical-title{font-size:26px;letter-spacing:.13em}.illustration-river{height:235px;margin-top:44px}.illustration-track img{height:235px;width:705px}.poem{font-size:15px;line-height:2.6;letter-spacing:0;padding:0 8px}.poem p+p{margin-top:30px}.quiet-link{font-size:12px}.section-title{font-size:30px}.section-intro{font-size:15px}.botanical-divider{margin:0 30px 40px}.coffee-section{padding-top:65px;padding-bottom:50px}.petal-figure figcaption strong{font-size:22px}.petal-figure figcaption span{font-size:12px}.oval-link{min-width:235px;min-height:62px;padding:13px 23px;font-size:13px}.menu-note{font-size:12px}.room-text{font-size:15px;letter-spacing:0;padding:0 8px}.river-small{height:170px}.river-small .illustration-track img{height:170px;width:510px}.visit-section .section-title{font-size:23px}.shop-details{padding:0 12px;font-size:14px}.shop-details h3{font-size:23px}.shop-details small{font-size:10px}.window-footer{padding-top:65px}.window-footer .wordmark{font-size:135px}}
@media(max-width:350px){.masthead>a:first-child{font-size:14px}.masthead>a:last-child{font-size:9px}.opening h1{font-size:24px}.poem{font-size:14px}.section-title{font-size:27px}.oval-link{min-width:210px;font-size:12px}.shop-details address{font-size:12px}.vertical-title{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.opening-photo{transform:none}.opening-window{width:100%!important}.opening{height:calc(100svh + 30px)}.enter-story{display:none}}
.rail{background-size:100% auto}
.illustration-track{gap:0}.illustration-track img{margin-right:45px}
.motion-control,.photo-next{display:none}.has-motion-js .motion-control,.has-motion-js .photo-next{display:flex}
.opening-shade{background:linear-gradient(90deg,rgba(32,20,19,.18),transparent 43%,rgba(32,20,19,.46)),linear-gradient(0deg,rgba(32,20,19,.28),transparent 40%)}
.opening h1{text-shadow:0 1px 9px #24141077}
@media(max-width:440px){.motion-control{min-width:44px;width:44px;height:44px;padding:0;justify-content:center}.motion-control .motion-label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.motion-icon{font-size:16px}}

/* Yoka: retain the approved silhouette; fit the original fictional wordmark. */
.side-sign .wordmark{font-size:clamp(110px,10vw,158px);letter-spacing:-.07em}.fiction-note{font-size:14px;line-height:2.2;margin-bottom:30px!important}.shop-details .oval-link{font-size:12px;min-width:0;padding:14px 22px}.demo-footer{font-size:12px}
@media(max-width:1100px){.side-sign .wordmark{font-size:110px}}@media(max-width:440px){.opening h1{font-size:24px}.masthead>a:first-child{font-size:15px}.opening-logo strong{font-size:125px}.window-footer .wordmark{font-size:120px}}
