:root{--ink:#0c1724;--paper:#e9ebe5;--muted:#a5b0b8;--line:#e9ebe530;--accent:#b4c6c3;--serif:Georgia,'Hiragino Mincho ProN','Yu Mincho',serif;--sans:Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ink);color:var(--paper);font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}main{overflow-x:clip}a{color:inherit;text-decoration:none}button,select{font:inherit}a,button,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button,a,summary{touch-action:manipulation}p{margin:0 0 24px}h2,h3{font-weight:400;margin:0}h2{font:400 clamp(30px,3.6vw,56px)/1.55 var(--serif);letter-spacing:.025em;text-wrap:balance}figure{margin:0}img{display:block;width:100%;object-fit:cover}figcaption{font-size:13px;line-height:1.7;color:var(--muted);padding-top:16px}figcaption b{font-weight:400;font-size:11px;letter-spacing:1.5px}button{cursor:pointer}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);color:var(--ink);padding:10px 20px;z-index:99}.skip-link:focus{top:10px}.reading-progress{position:fixed;inset:0 auto auto 0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:50;pointer-events:none}
header{height:86px;display:flex;align-items:center;padding:0 4%;gap:35px;position:sticky;top:0;z-index:20;background:var(--ink);border-bottom:1px solid var(--line)}.brand{font:bold 25px/.9 var(--serif);letter-spacing:-1px}.brand span{display:block;font:10px var(--sans);letter-spacing:1.7px;margin-top:9px}nav{display:flex;gap:30px;margin-left:auto}nav a{font-size:13px;padding:12px 0;position:relative}nav a:after{content:'';position:absolute;bottom:6px;left:0;right:0;height:1px;background:var(--paper);transform:scaleX(0);transform-origin:left;transition:transform .4s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}select{background:var(--ink);color:var(--paper);padding:10px 6px;border:0;border-bottom:1px solid var(--line);max-width:118px;font-size:12px;cursor:pointer}
.hero{padding:24px 4% 0;position:relative}.hero-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.4px}.hero h1{display:flex;align-items:baseline;justify-content:space-between;font:normal 18.3vw/.97 var(--serif);letter-spacing:-.07em;margin:15px 0 32px;overflow:hidden}.hero h1 em{font-style:normal}.hero-image{position:relative;height:660px;max-height:75svh;min-height:480px;overflow:hidden}.hero-image>img{height:100%;object-position:50% 62%;transform:scale(1.12);will-change:transform}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071019ce,transparent 55%);pointer-events:none}.hero-copy{position:absolute;left:5%;bottom:42px;z-index:2}.hero-copy>p{font:32px/1.6 var(--serif);letter-spacing:.06em;margin-bottom:22px}.hero-copy>p br{display:none}.hero-secondary{display:inline-block;font-size:13px;margin-right:30px;padding:12px 0;border-bottom:1px solid #fff6}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;border:1px solid #e9ebe570;font-size:14px;transition:background .3s,color .3s}.button:hover{background:var(--paper);color:var(--ink)}.photo-label{position:absolute;bottom:28px;right:28px;z-index:2;font-size:11px;letter-spacing:1.5px;writing-mode:vertical-rl}.hero-bottom{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:1.3px}.type-ribbon{overflow:hidden;padding:62px 0 0;opacity:.22;pointer-events:none}.type-ribbon>div{font:normal clamp(60px,9vw,140px)/1.1 var(--serif);letter-spacing:-.03em;white-space:nowrap;width:max-content}.type-ribbon i{font-style:normal;font-size:.65em}
.eyebrow{display:block;font:11px/1.6 var(--sans);letter-spacing:2px;color:var(--muted);margin-bottom:30px}.welcome{padding:95px 12% 130px;display:grid;grid-template-columns:1fr 1fr;gap:12%}.welcome h2{font-size:clamp(34px,4vw,60px)}.welcome-copy{padding-top:45px}.welcome-copy p{line-height:2.2;color:#c3cbd0}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid currentColor;padding:8px 0;transition:opacity .25s}.text-link:hover{opacity:.65}.small{font-size:13px;color:var(--muted);line-height:1.8;margin-top:16px}.gallery-section{padding:95px 6% 120px;background:var(--paper);color:var(--ink)}.gallery-section .eyebrow,.gallery-section .small{color:#53646a}.gallery-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:55px;align-items:end}.gallery-heading p{max-width:430px;margin-bottom:0;line-height:2}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:75px 8%;align-items:start}.photo-grid .wide-shot{grid-column:1/-1}.photo-grid .wide-shot img{aspect-ratio:1.85;object-position:center 60%}.photo-grid>figure:nth-child(2){margin-top:0}.photo-grid>figure:nth-child(3){margin-top:110px}.photo-grid>figure:not(.wide-shot) img{aspect-ratio:4/5}.photo-grid figcaption{display:flex;justify-content:space-between;gap:14px;color:#526268;border-top:1px solid #0c172440;margin-top:16px}.photo-grid figcaption span{max-width:60%;text-align:right}.gallery-open{display:block;overflow:hidden;cursor:zoom-in}.gallery-open img{transition:transform 1s cubic-bezier(.16,1,.3,1)}.gallery-open:hover img{transform:scale(1.04)}.gallery-section>.small{text-align:right}
.drinks{padding:150px 8%;display:grid;grid-template-columns:1fr .9fr;gap:12%;align-items:center}.drinks>div>p{color:#bac5cc;max-width:450px}.drinks h2{margin-bottom:30px}.drink-list{margin:35px 0}.drink-list>span{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font:25px/1.4 var(--serif)}.drink-list small{font:12px/1.7 var(--sans);color:var(--muted);align-self:center;text-align:right;max-width:47%}.drink-photo{margin:30px 0 0}.drink-photo img{height:600px;object-position:center}.drink-photo figcaption{font-size:11px;letter-spacing:1px}.menu-section{padding:105px 8% 120px;border-top:1px solid var(--line);background:#101f2e}.menu-section h2{font-family:var(--sans);font-size:34px;letter-spacing:0}.menu-section .gallery-heading{align-items:start;margin-bottom:45px}.menu-section .gallery-heading p{color:#c3ccd2}.menu-section .gallery-heading .small{font-size:13px;color:var(--muted);margin-top:16px}.menu-charge{margin-top:25px!important;border-left:1px solid #c3ccd260;padding-left:20px;font-size:16px}.menu-layout{display:grid;grid-template-columns:1.1fr .8fr;gap:12%;align-items:start}.menu-prices details{border-bottom:1px solid var(--line)}.menu-prices summary{display:flex;gap:12px;align-items:center;list-style:none;min-height:72px;padding:20px 0;cursor:pointer;font-size:16px}.menu-prices summary::-webkit-details-marker{display:none}.menu-prices summary>span:first-child{flex:1}.menu-range{font:15px/1.4 var(--serif);white-space:nowrap;color:var(--accent)}.menu-prices summary:after{content:'+';font:22px var(--sans);font-weight:200;color:var(--accent);transition:rotate .3s}.menu-prices details[open] summary:after{rotate:45deg}.menu-prices details p{font-size:14px;line-height:2.1;color:var(--muted);padding:0 15px 20px 0;margin:0}.menu-original{padding:10px;background:#ffffff08}.menu-original img{height:auto}.menu-original figcaption{font-size:12px;padding:12px 5px 3px}
.team{padding:100px 8%;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid var(--line)}.team-title h2{font-size:32px}.team-profile .eyebrow{margin-bottom:8px}.team-profile h3{font:40px/1.5 var(--serif);margin-bottom:28px}.team-profile h3 span{font:11px var(--sans);display:block;letter-spacing:2px;margin-top:7px}.team-profile p{font-size:15px;color:var(--muted)}.first-visit{padding:100px 8%}.first-intro{display:grid;grid-template-columns:1fr 1fr;gap:8px 12%;align-items:end}.first-intro .eyebrow{grid-column:1/-1;margin-bottom:20px}.first-intro h2{font:30px/1.5 var(--sans)}.first-intro p{color:var(--muted);font-size:14px;margin:0}.first-items{display:grid;grid-template-columns:repeat(3,1fr);gap:6%;margin-top:45px}.first-items article{border-top:1px solid var(--line);padding-top:20px}.step{font:italic 18px var(--serif);color:var(--muted)}.first-items h3{font-size:18px;margin:22px 0 12px}.first-items p{font-size:14px;color:var(--muted)}.first-items a{font-size:13px}
.visit{padding:105px 8%;display:grid;grid-template-columns:1fr 1.1fr;gap:10%;background:var(--paper);color:var(--ink)}.visit .eyebrow,.visit .small{color:#526268}.visit h2{font-size:38px}.location{font:14px/1.6 var(--sans);letter-spacing:2px;margin:35px 0}.visit .button{border-color:#0c172480}.visit .button:hover{background:var(--ink);color:var(--paper)}.row{display:grid;grid-template-columns:85px 1fr;gap:25px;border-bottom:1px solid #0c172430;padding:23px 0}.row:first-child{padding-top:0}.row h3{font-size:12px;padding-top:4px}.row p{margin-bottom:0}.row .small{margin-top:12px;font-size:13px}.row .text-link{font-size:13px;margin-top:12px}.phone{font:27px/1.5 var(--serif);white-space:nowrap}.social{padding:90px 8%;display:grid;grid-template-columns:1fr 1fr;column-gap:10%}.social-heading{grid-column:1;grid-row:1/9;font:clamp(90px,14vw,210px)/.82 var(--serif);letter-spacing:-.06em}.social-heading em{font-style:normal}.social .eyebrow{margin:0 0 10px}.social>a{grid-column:2;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font:38px/1.3 var(--serif);padding:18px 0;margin-bottom:12px}.social>a small{font:12px var(--sans);margin-left:18px;color:var(--muted)}.social p,.social>span{grid-column:2;font-size:13px;color:var(--muted)}.social p{margin:0 0 5px}.social .x-link{margin-top:28px}footer{margin:0 8%;padding:30px 0 45px;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px}footer .brand{margin-left:auto;font-size:20px}footer>span{font-size:11px;color:var(--muted)}.language-links{display:flex;gap:20px;font-size:12px}.mobile-bar{display:none}
#photo-dialog{border:0;background:var(--ink);color:var(--paper);width:min(96vw,1150px);max-height:94svh;padding:58px 20px 20px}#photo-dialog::backdrop{background:#03070cf2}#photo-dialog img{max-height:75svh;object-fit:contain}#photo-dialog p{text-align:center;font-size:13px;margin:12px 0 0}#photo-dialog button{position:absolute;top:6px;right:12px;width:44px;height:44px;background:none;border:0;color:var(--paper);font:32px var(--sans)}
@keyframes entrance{from{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.hero h1>span:not(.sr-only){animation:entrance 1.2s cubic-bezier(.16,1,.3,1) both}.hero h1 em{animation:entrance 1.2s .12s cubic-bezier(.16,1,.3,1) both}.hero-copy{animation:entrance 1.2s .25s both}.reveal{opacity:0;translate:0 38px;transition:opacity .9s,translate 1.1s cubic-bezier(.16,1,.3,1)}.reveal.visible{opacity:1;translate:0 0}.photo-grid>figure:not(.wide-shot){transform:translateY(calc(var(--offset,0)*35px))}.drink-photo img{transform:scale(1.06) translateY(calc(var(--offset,0)*16px))}.drink-photo{overflow:hidden}#photo-dialog[open]{animation:entrance .4s both}}
@media(min-width:1600px){.hero h1{font-size:285px}.hero,.welcome,.gallery-section,.drinks,.menu-section,.team,.first-visit,.visit,.social{max-width:1800px;margin-left:auto;margin-right:auto}}
@media(max-width:950px){nav{gap:18px}header{gap:20px}.welcome,.drinks{gap:7%}.menu-layout{gap:6%}.phone{font-size:22px}}
@media(max-width:650px){
 html{scroll-padding-top:115px}header{height:105px;padding:13px 22px 0;flex-wrap:wrap;gap:0;align-content:space-between}.brand{font-size:22px}.brand span{font-size:9px;letter-spacing:1.4px;margin-top:6px}header select{margin-left:auto;font-size:12px;max-width:100px;padding:8px 0;min-height:35px}nav{order:3;width:100%;margin:0;justify-content:space-between;gap:10px}nav a{font-size:12px;padding:10px 0 12px;min-height:44px}nav a:after{bottom:8px}
 .hero{padding:19px 20px 0}.hero-top{font-size:10px;letter-spacing:.5px}.hero-top span:last-child{font-size:10px}.hero h1{font-size:19.6vw;line-height:1.08;margin:13px 0 21px;letter-spacing:-.07em}.hero-image{margin:0 -20px;max-height:none;min-height:0;height:64svh;min-height:460px}.hero-image>img{object-position:57% 58%}.hero-image:after{background:linear-gradient(0deg,#06101be0,transparent 63%)}.hero-copy{left:26px;right:26px;bottom:35px}.hero-copy>p{font-size:31px;line-height:1.6;margin-bottom:20px;letter-spacing:.06em}.hero-copy>p br{display:initial}.hero-secondary{font-size:12px;margin-right:20px}.hero-copy .button{font-size:12px;padding:12px 15px;min-height:46px}.photo-label{right:13px;bottom:145px;font-size:9px;letter-spacing:1px}.hero-bottom{padding:18px 2px;font-size:10px;letter-spacing:.8px}.type-ribbon{padding-top:38px}.type-ribbon>div{font-size:67px}
 .welcome{padding:70px 27px 85px;grid-template-columns:1fr;gap:30px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:22px}.welcome h2{font-size:36px;line-height:1.7;letter-spacing:.06em}.welcome-copy{padding:0}.welcome-copy p{font-size:15px;line-height:2.1;margin-bottom:20px}.welcome-copy .text-link{margin-top:8px;font-size:13px}.gallery-section{padding:65px 22px 60px}.gallery-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.gallery-heading h2{font-size:32px}.gallery-heading p{font-size:14px;line-height:2}.photo-grid{grid-template-columns:1fr 1fr;gap:40px 15px}.photo-grid .wide-shot{margin:0 -22px}.photo-grid .wide-shot img{aspect-ratio:1.05;object-position:56% center}.photo-grid .wide-shot figcaption{margin-left:22px;margin-right:22px}.photo-grid>figure:nth-child(3){margin-top:55px}.photo-grid>figure:not(.wide-shot) img{aspect-ratio:2/3}.photo-grid figcaption{display:block;font-size:12px;line-height:1.8;padding-top:12px;margin-top:12px}.photo-grid figcaption b{display:block;font-size:9px;letter-spacing:.8px;margin-bottom:7px}.photo-grid figcaption span{max-width:none;text-align:left;display:block}.photo-grid .wide-shot figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.photo-grid .wide-shot figcaption span{max-width:55%;text-align:right}.gallery-section>.small{font-size:11px;margin-top:30px}
 .drinks{padding:80px 27px 85px;grid-template-columns:1fr;gap:45px}.drinks h2{font-size:32px;margin-bottom:25px}.drinks>div>p{font-size:15px;line-height:2}.drink-list>span{font-size:25px;padding:15px 0;gap:12px}.drink-list small{font-size:11px}.drinks .small{font-size:12px}.drink-photo{width:85%;margin:0 0 0 auto}.drink-photo img{height:420px}.drink-photo figcaption{font-size:10px;position:relative;background:var(--ink);padding-top:15px}.menu-section{padding:65px 24px 70px}.menu-section h2{font-size:27px}.menu-section .gallery-heading{gap:30px;margin-bottom:24px}.menu-section .gallery-heading p{font-size:14px}.menu-section .gallery-heading .small{font-size:12px}.menu-charge{font-size:15px!important;line-height:2.1!important;margin-top:22px!important}.menu-layout{grid-template-columns:1fr;gap:40px}.menu-prices summary{font-size:14px;min-height:68px;padding:20px 0;gap:10px}.menu-range{font-size:14px}.menu-prices summary:after{font-size:20px}.menu-original{width:75%;margin:0 auto}.menu-original figcaption{font-size:11px}.menu-prices details p{font-size:14px}
 .team{padding:65px 27px;grid-template-columns:1fr;gap:32px}.team-title h2{font-size:28px}.team-profile{border-top:1px solid var(--line);padding-top:25px}.team-profile h3{font-size:34px}.team-profile p{font-size:14px}.team-profile .text-link{font-size:13px}.first-visit{padding:65px 27px 75px}.first-intro{display:block}.first-intro h2{font-size:26px;margin-bottom:16px}.first-intro p{font-size:14px}.first-items{grid-template-columns:1fr;gap:30px;margin-top:30px}.first-items article{display:grid;grid-template-columns:28px 1fr;gap:0 16px}.first-items h3{margin:0 0 13px;font-size:17px}.first-items p,.first-items a{grid-column:2}.first-items p{margin-bottom:12px;font-size:14px}.first-items a{justify-self:start;font-size:13px}.step{font-size:16px;padding-top:3px}
 .visit{padding:65px 27px 70px;grid-template-columns:1fr;gap:45px}.visit h2{font-size:30px}.location{font-size:12px;margin:25px 0}.visit .button{font-size:13px}.row{grid-template-columns:1fr;gap:8px;padding:21px 0}.row h3{font-size:11px;color:#53646a}.row p{font-size:15px}.row .small{font-size:12px}.phone{font-size:26px}.social{padding:70px 27px 60px;grid-template-columns:1fr}.social-heading{grid-column:1;grid-row:auto;font-size:30vw;line-height:.86;margin-bottom:55px}.social-heading br{display:none}.social-heading em{margin-left:.16em}.social .eyebrow,.social>a,.social p,.social>span{grid-column:1}.social>a{font-size:34px}.social .x-link{margin-top:25px}.social p{font-size:12px}.social>a small{font-size:12px}footer{margin:0 27px;padding:25px 0 105px;flex-wrap:wrap;gap:25px 15px}.language-links{width:100%;justify-content:space-between;gap:12px;font-size:12px}footer .brand{margin:0}.mobile-bar{display:grid;grid-template-columns:1.15fr .8fr 1.15fr;position:fixed;z-index:30;bottom:0;left:0;right:0;padding:0 10px env(safe-area-inset-bottom);background:var(--paper);color:var(--ink);border-top:1px solid #0c172430;box-shadow:0 -4px 25px #07101a15}.mobile-bar a{display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1.4;min-height:62px;padding:10px 5px;position:relative}.mobile-bar a+a:before{content:'';height:20px;width:1px;background:#0c172430;position:absolute;left:0}.mobile-bar a:active{background:#0c172411}
}
@media(max-width:360px){.hero h1{font-size:19.2vw}.hero-copy{left:23px;right:23px}.hero-copy>p{font-size:28px}.hero-secondary{margin-right:13px}.hero-copy .button{padding:12px;font-size:11px}.menu-prices summary{font-size:13px}.menu-range{font-size:13px}.social-heading{font-size:29vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image>img,.type-ribbon>div,.photo-grid>figure,.drink-photo img{transform:none!important}.reveal{opacity:1;translate:none}}
