:root{--white:#fff;--cream:#faf7f4;--pink:#f3e5e5;--pink-light:#faf2f2;--silver:#d6d0cd;--ink:#454140;--muted:#726866;--rose:#80575f;--line:#ded6d2;--serif:'Fraunces',Georgia,serif;--display:'Zen Maru Gothic',sans-serif;--script:'Caveat',cursive;--sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--rose);outline-offset:5px}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 96px));margin-inline:auto}.serif{font-family:var(--serif);font-style:italic}.eyebrow{font-family:var(--script);font-weight:500;font-size:11px;letter-spacing:.18em;line-height:1.8;color:var(--rose)}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:12px 20px;background:white;transform:translateY(-160%)}.skip-link:focus{transform:none}
.announcement{padding:9px 16px;text-align:center;font-family:var(--serif);font-size:11px;letter-spacing:.08em;background:var(--pink);color:#635658}.announcement span{padding:0 12px}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,253,251,.96);border-bottom:1px solid var(--line)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:var(--serif);font-size:32px;letter-spacing:-.055em;line-height:1.15}.brand>span{display:block;margin-top:7px;font-family:var(--script);font-size:9px;letter-spacing:.14em;color:var(--muted)}.nav-links{display:flex;align-items:center;gap:34px;font-size:12px}.nav-links>a:not(.button),.footer-links a{display:flex;align-items:center;min-height:44px}.nav-links>a:hover,.footer-links a:hover{color:var(--rose)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--display);min-height:52px;padding:13px 24px;border:1px solid #cba5af;border-radius:12px;background:#fff8fa;color:#684650;font-size:13px;font-weight:500;box-shadow:inset 0 0 0 3px rgba(255,255,255,.6),0 3px 0 #dfc3cb,0 7px 16px rgba(128,87,95,.08);transition:background .2s,color .2s,transform .2s,box-shadow .2s}.button:hover{background:#f7e2e8;color:#684650;transform:translateY(-2px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.65),0 4px 0 #d9b7c1,0 9px 18px rgba(128,87,95,.12)}.button:active{transform:translateY(2px);box-shadow:inset 0 0 0 3px rgba(255,255,255,.5),0 1px 0 #d9b7c1}.button-heart{width:13px;height:13px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.button-small{min-height:44px;padding:9px 19px;border-radius:10px}.button-primary{background:linear-gradient(180deg,#f6e0e6,#edcbd5);border-color:#c99eab;color:#684650}.button-primary:hover{background:linear-gradient(180deg,#f4d8e1,#e9c1ce);color:#684650}.menu-toggle{width:44px;height:44px;padding:10px;border:0;background:none}.menu-toggle span{display:block;height:1px;width:24px;background:var(--ink);margin:7px 0}.text-link{display:inline-flex;align-items:center;min-height:48px;border-bottom:1px solid #a89895;font-size:13px}.text-link:hover{color:var(--rose)}
.hero{position:relative;isolation:isolate;background:var(--cream);overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0;pointer-events:none}.hero-media{z-index:-3;background:url('assets/hero.jpg') center center/cover no-repeat}.hero-media video{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .5s}.hero-media video.is-playing{opacity:1}.hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(255,253,250,.94) 0%,rgba(255,252,250,.84) 33%,rgba(255,251,249,.28) 69%,rgba(255,251,249,.22) 100%)}.hero-inner{display:flex;align-items:center;min-height:650px;min-height:clamp(620px,76svh,820px);padding-block:80px 100px}.hero-copy{max-width:570px}.hero h1{font-family:var(--display);font-size:clamp(42px,4.6vw,66px);font-weight:500;letter-spacing:.1em;line-height:1.6;margin:27px 0 22px}.hero-description{font-size:14px;line-height:2.2;letter-spacing:.055em}.hero-actions{display:flex;flex-wrap:wrap;gap:20px 30px;margin-top:32px;align-items:center}.hero-hours{display:flex;align-items:center;flex-wrap:wrap;gap:11px;font-size:11px;color:#635b58;margin-top:28px}.hero-hours>span{font-size:9px;letter-spacing:.12em}.hero-hours i{height:11px;border-left:1px solid #b6a5a1;margin:0 4px}.hero-signature{position:absolute;bottom:38px;right:48px;font-family:var(--script);font-size:22px;font-style:italic;color:#684b51}.video-toggle{position:absolute;right:28px;top:24px;min-height:44px;padding:8px 14px;border:1px solid #cec0bb;background:rgba(255,255,255,.88);color:var(--ink);border-radius:3px;font-size:11px}.intro{display:grid;grid-template-columns:1fr 1.3fr auto;gap:28px;align-items:center;padding-block:48px;border-bottom:1px solid var(--line)}.intro>.serif{font-size:25px;color:var(--rose)}.intro p{font-size:13px;line-height:2.1}.intro-mark{display:grid;place-items:center;width:54px;height:68px;border:1px solid #b9b5b4;font-family:var(--serif);font-size:27px;color:var(--rose)}
.section{padding:100px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:48px}.section-heading h2{font-family:var(--display);margin-top:12px;font-size:clamp(26px,2.7vw,36px);font-weight:500;letter-spacing:.065em;line-height:1.7}.section-heading>.serif{font-size:19px;color:var(--muted)}.menu-layout{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:64px}.menu-photo img{border:1px solid #e1d6d0}.menu-photo figcaption{display:flex;justify-content:space-between;margin-top:17px;color:var(--muted);font-size:10px;letter-spacing:.12em}.menu-paper{background:#fffdfb;border:1px solid var(--silver);padding:32px 36px;box-shadow:8px 8px 0 #eee9e5}.paper-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:25px;border-bottom:1px solid #bcb3b0}.paper-heading .serif{font-size:26px}.paper-heading>span:last-child{font-size:9px;letter-spacing:.13em;color:var(--muted)}.flavor{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid #e9e4e1}.num{font-family:var(--serif);font-style:italic;font-size:13px;color:var(--rose);padding-top:2px}.flavor h3{font-family:var(--serif);font-size:16px;font-weight:400;line-height:1.6}.flavor p{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.8}.dot{display:inline-block;width:7px;height:7px;border:1px solid #b8aaa5;border-radius:50%;margin-right:10px;vertical-align:middle}.paper-note{text-align:center;color:var(--muted);font-size:11px;letter-spacing:.1em;margin-top:24px}
.moment{background:var(--pink-light);border-block:1px solid #eadfdb}.moment-layout{display:grid;grid-template-columns:.85fr 1fr;gap:100px;align-items:center}.moment-copy{padding-left:36px}.moment-copy h2{font-family:var(--display);font-size:clamp(30px,3.6vw,47px);font-weight:500;line-height:1.9;letter-spacing:.1em;margin:25px 0}.moment-copy>p:not(.eyebrow){font-size:14px;line-height:2.3}.moment-copy>.serif{display:block;margin-top:42px;color:var(--rose);font-size:22px}.moment-photo{padding:12px 12px 0;background:white;border:1px solid var(--silver)}.moment-photo img{aspect-ratio:4/5;object-fit:cover}.moment-photo figcaption{padding:18px 6px;text-align:center;font-family:var(--script);font-size:15px;font-style:italic;color:var(--muted)}
.access-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}.shop-card{padding:35px;background:#fffdfb;border:1px solid #cac3c0;box-shadow:6px 6px 0 #ece7e4}.card-brand{font-family:var(--serif);font-size:33px;letter-spacing:-.035em}.card-brand>span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:3px}.info{list-style:none;padding:0;margin:25px 0 0}.info li{display:grid;grid-template-columns:80px 1fr;gap:14px;border-top:1px solid #e9e3de;padding:13px 0;font-size:12px;line-height:1.9}.info li span{font-family:var(--display);font-size:11px;color:var(--muted)}.info li b{font-weight:400;overflow-wrap:anywhere}.note{font-size:10px;color:var(--muted);margin-top:18px}.map-card svg{display:block;width:100%;height:auto;border:1px solid var(--line)}.map-card figcaption{font-size:13px;margin-top:24px}.map-card figcaption span{font-size:10px;letter-spacing:.12em;color:var(--rose);margin-right:20px}.map-card>p{font-size:12px;color:var(--muted);margin-top:10px}.closing{padding:85px 0;background:var(--pink);text-align:center;border-block:1px solid #e2d3d4}.closing h2{font-family:var(--display);font-size:clamp(27px,3vw,40px);font-weight:500;line-height:1.8;letter-spacing:.08em;margin:18px 0}.closing p:not(.eyebrow){font-size:13px;margin-bottom:27px}.closing-signature{display:block;font-size:21px;color:var(--rose);margin-top:38px}footer{padding:44px 0 22px;background:#faf9f7}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-links{display:flex;gap:30px;font-size:12px}.footer-top>p{font-size:11px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:32px;color:var(--muted);font-size:10px}.footer-bottom small{font-size:inherit}
@media(min-width:1500px){.hero-media{background-position:center 55%}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.menu-layout{gap:32px}.menu-paper{padding:28px 24px}.flavor{padding:13px 0}.moment-layout{gap:50px}.moment-copy{padding-left:0}.access-grid{gap:28px}.shop-card{padding:26px}.section-heading>.serif{font-size:16px}.hero h1{font-family:var(--display);font-size:48px}.hero-overlay{background:linear-gradient(90deg,rgba(255,253,250,.93),rgba(255,252,250,.8) 42%,rgba(255,251,249,.25))}}
@media(max-width:760px){html{scroll-padding-top:92px}.wrap{width:calc(100% - 40px)}.announcement{font-size:9px;padding-block:8px}.announcement span{padding:0 5px}.nav{min-height:76px;gap:16px;flex-wrap:wrap}.brand{font-size:27px}.brand>span{font-size:8px}.nav-links{flex-wrap:wrap;gap:20px;width:100%;padding:8px 0 18px}.nav-links .button{font-size:11px}.js .menu-toggle{display:block}.js .nav-links{display:none;position:absolute;top:100%;left:0;width:100%;padding:22px 20px;background:#fffdfb;border-bottom:1px solid var(--line)}.js .nav-links.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.js .nav-links>a{padding:12px}.hero-inner{min-height:670px;min-height:max(660px,calc(100svh - 110px));padding-block:195px 62px;align-items:end}.hero-media{background-position:72% center}.hero-media video{object-position:72% center}.hero-overlay{background:linear-gradient(180deg,rgba(255,251,249,.24) 0%,rgba(255,251,249,.45) 21%,rgba(255,253,250,.87) 40%,rgba(255,253,250,.97) 64%,rgba(255,253,250,.98) 100%)}.hero-copy{width:100%}.hero h1{font-family:var(--display);font-size:clamp(38px,9vw,53px);line-height:1.55;letter-spacing:.1em;margin:15px 0 18px}.hero-description{font-size:13px;line-height:2}.hero-actions{margin-top:25px;gap:18px}.hero-actions .button{padding-inline:24px}.hero-actions .text-link{font-size:12px}.hero-hours{margin-top:24px;font-size:10px}.hero-signature{right:20px;bottom:17px;font-size:17px}.video-toggle{top:16px;right:16px}.intro{grid-template-columns:1fr auto;padding-block:34px;gap:16px}.intro>.serif{font-size:23px}.intro p{grid-column:1;font-size:12px}.intro-mark{grid-column:2;grid-row:1/3;width:44px;height:62px;font-size:24px}.section{padding:64px 0}.section-heading{display:block;margin-bottom:30px}.section-heading h2{font-family:var(--display);font-size:26px;margin-top:8px}.section-heading>.serif{margin-top:12px;font-size:17px}.menu-layout{grid-template-columns:1fr;gap:32px}.menu-photo{max-width:520px;width:100%;margin-inline:auto}.menu-paper{padding:26px 23px;box-shadow:5px 5px 0 #eee9e5}.flavor{padding:16px 0}.flavor h3{font-size:17px}.flavor p{font-size:12px}.moment-layout{grid-template-columns:1fr;gap:32px}.moment-copy h2{font-family:var(--display);font-size:34px;margin-block:18px}.moment-copy>.serif{margin-top:24px}.moment-photo{max-width:520px;width:100%;margin:auto}.access-grid{grid-template-columns:1fr;gap:35px}.shop-card{padding:26px 22px}.info li{grid-template-columns:66px 1fr;gap:12px;font-size:12px}.closing{padding:62px 0}.closing h2{font-family:var(--display);font-size:28px}.footer-top{flex-wrap:wrap;gap:25px}.footer-links{gap:23px}.footer-top>p{width:100%}.footer-bottom{font-size:9px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.hero-media video{display:none}}
