@font-face{font-family:Cormorant;src:url('vendor/cormorant-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('vendor/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
:root{--wine:#260c0b;--dark:#180b0b;--cream:#f0e6db;--muted:#c1aaa0;--copper:#c29b76;--line:rgba(240,230,219,.2);--serif:Cormorant,Georgia,'Times New Roman',serif;--cn:'Songti SC','STSong','SimSun',serif;--sans:'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{margin:0;background:var(--wine);color:var(--cream);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}a:focus-visible,button:focus-visible{outline:2px solid var(--copper);outline-offset:6px}::selection{background:#ac725b;color:#fff}img{max-width:100%;display:block}.site-hidden{visibility:hidden;pointer-events:none}[v-cloak]{display:none!important}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--cream);color:var(--wine);padding:14px}.skip-link:focus{top:20px}
.site-header{position:absolute;top:0;left:0;width:100%;height:100px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;z-index:20;border-bottom:1px solid rgba(240,230,219,.12)}
.brand{display:flex;align-items:baseline;gap:10px;font:28px var(--cn);white-space:nowrap}.brand>span{font:32px var(--serif);letter-spacing:2px}.brand small{font:9px var(--sans);letter-spacing:1.8px;margin-left:14px;color:var(--muted)}
#site-nav{display:flex;gap:36px}#site-nav a{display:flex;flex-direction:column;gap:5px;font-size:12px;letter-spacing:2px;padding:12px 0;position:relative}#site-nav a span{font-size:8px;letter-spacing:1.7px;color:var(--muted)}#site-nav a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:left;transition:transform .25s}#site-nav a:hover:after{transform:scaleX(1)}.nav-toggle{display:none}
.hero-story{position:relative;min-height:680px;height:100svh}.hero-stage{position:relative;width:100%;height:100svh;min-height:680px;overflow:hidden;background:#260c0b}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-left{position:absolute;left:6%;top:36%;width:32%;z-index:2}.eyebrow{font-size:10px;letter-spacing:2.5px;line-height:1.8;text-transform:uppercase}.hero-date{display:flex;gap:20px;color:var(--cream);font-size:11px;letter-spacing:1.5px;margin:0 0 28px}.hero-date span{color:var(--muted);text-transform:none}.hero-chinese{font:clamp(78px,8.6vw,160px)/1.1 var(--cn);letter-spacing:.14em;display:block}.hero-english{display:block;font:italic clamp(34px,3.8vw,72px)/1.15 var(--serif);margin:16px 0 28px}.hero-tagline{font:14px var(--cn);letter-spacing:4px;color:var(--muted)}
.hero-right{position:absolute;right:4.5%;top:47%;width:27%;text-align:center;z-index:2}.hero-invitation{font:22px/1.7 var(--cn);letter-spacing:3px}.hero-location{font-size:11px;letter-spacing:1.2px;color:var(--muted);margin-top:20px}.text-link{display:inline-flex;gap:20px;align-items:center;min-height:46px;padding:12px 0;border-bottom:1px solid var(--copper);font-size:13px;letter-spacing:1px;transition:color .2s,border-color .2s}.text-link span{font-size:9px;letter-spacing:1.5px}.text-link:hover{color:#fff;border-color:#fff}.hero-cta{margin-top:32px}.hero-bottom{position:absolute;left:4%;right:4%;bottom:25px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:2px;color:var(--muted);z-index:2}.hero-bottom a{display:flex;align-items:center;gap:13px;padding:10px}.scroll-rule{height:30px;width:1px;background:var(--copper);display:inline-block}.hero-transition{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;opacity:0;visibility:hidden;text-align:center;pointer-events:none}.transition-title{font:120px/1.3 var(--cn);letter-spacing:.2em}.hero-transition>p:not(.transition-title){font-size:12px;letter-spacing:2px}
.section-pad{padding:80px max(6%,calc((100vw - 1400px)/2)) 110px}.section-kicker{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:20px;margin-bottom:80px;font-size:9px;letter-spacing:2px;color:var(--muted)}.section-kicker>span:last-child{font-size:11px;letter-spacing:3px}.copper{color:var(--copper)}
.countdown-row{display:flex;justify-content:center;align-items:center;gap:25px;margin:0 0 65px;padding-bottom:35px;border-bottom:1px solid var(--line)}.countdown-target{font-size:11px;margin-top:12px;line-height:1.8;color:var(--muted)}.countdown-target span{display:block;font-size:9px;letter-spacing:1px}#countdown-label{font:36px/1.3 var(--cn);letter-spacing:4px}.countdown{display:flex;justify-content:center;gap:28px}.countdown>span+span:before{content:":";position:absolute;left:-20px;top:0;font:76px/1.1 var(--serif);color:var(--copper)}.countdown[hidden],.countdown-ended[hidden]{display:none}.countdown>span{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.countdown strong{font:76px/1.1 var(--serif);font-variant-numeric:tabular-nums;min-width:76px;text-align:center}.countdown small{font-size:8px;letter-spacing:1.6px;color:var(--muted)}.countdown-ended{font:32px var(--cn);letter-spacing:4px;color:var(--copper)}
.event-section{background:var(--dark)}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%}.event-grid h2{font:90px/1.2 var(--cn);margin:25px 0 0;letter-spacing:12px}.event-grid h2 em{font:italic 60px/1.3 var(--serif);display:block;letter-spacing:-1px;margin-top:20px}.event-copy{padding-top:10px}.event-copy h3{font:26px/1.6 var(--cn);letter-spacing:2px;margin-bottom:25px}.event-copy>p{color:var(--muted);font-size:13px;line-height:2.2;max-width:440px}.event-details{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:36px 0}.event-details>div{border-top:1px solid var(--line);padding-top:18px}.event-details dt{font-size:9px;letter-spacing:2px;color:var(--copper);margin-bottom:15px}.event-details dd{font:20px var(--cn);line-height:1.6}.event-details small{display:block;font:11px/1.8 var(--sans);color:var(--muted);margin-top:5px}
.menu-section{background:#efe6d8;color:#34221e}.menu-section .section-kicker{border-color:#c5b7a4;color:#786b60}.menu-heading{text-align:center;margin:0 0 65px}.menu-heading .eyebrow{color:#786b60}.menu-heading h2{font:76px/1.2 var(--serif);margin:10px 0 20px}.menu-heading>p:last-child{font:13px var(--cn);letter-spacing:3px;color:#766558}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 7%;max-width:1100px;margin:0 auto}.menu-item-border{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #bfb09d;padding-bottom:14px;gap:12px}.menu-item h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;min-width:0}.drink-name{font:25px/1.2 var(--serif)}.drink-name-cn{font:12px var(--cn);color:#776452;white-space:nowrap}.drink-price{font:24px/1 var(--serif);flex-shrink:0}.drink-type{font-size:10px;color:#8b7662;letter-spacing:2px;margin:14px 0 9px}.drink-description{font:12px/1.9 var(--cn);color:#756555}.menu-footnote{max-width:1100px;margin:60px auto 0;padding-top:22px;border-top:1px solid #cfc1b0;display:flex;justify-content:center;text-align:center;gap:15px;font-size:10px;color:#7b6b59;letter-spacing:1px}
.moments-section{background:#210d0c}.moments-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:50px}.moments-heading h2{font:72px/.95 var(--serif);letter-spacing:-2px}.moments-heading h2 em{color:var(--copper)}.moments-heading>p{font:13px/2 var(--cn);letter-spacing:2px;color:var(--muted);padding-bottom:10px}.moments-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:42px 24px}.moment{min-width:0}.photo-link{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:#3b2520}.moment:nth-child(3n+2){padding-top:55px}.moment:nth-child(3n+3){padding-top:100px}.photo-link img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) sepia(.13) brightness(.88);transition:transform .8s,filter .5s}.photo-link:hover img{transform:scale(1.035);filter:saturate(.95) sepia(.05) brightness(1)}.moment figcaption{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:16px}.gallery-hint{margin-top:35px;font-size:10px;letter-spacing:1.4px;color:var(--muted)}.gallery-hint>span{display:none}
.visit-section{background:#140a0a;padding-bottom:30px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;margin-bottom:100px}.visit-grid h2{font:76px/1.2 var(--serif);letter-spacing:0;margin:25px 0}.visit-grid h2 em{font-style:normal;color:var(--copper)}.about-copy{font-size:12px;line-height:2;color:var(--muted)}.visit-info{padding-top:15px}.visit-date{font:65px/1.2 var(--serif);margin:14px 0 25px}.visit-date span{font:13px var(--sans);color:var(--muted);margin-left:14px;white-space:nowrap}.visit-location{font:24px var(--cn);margin-bottom:10px}.muted{color:var(--muted);font-size:12px}.copy-wechat{margin-top:30px}.copy-status{min-height:26px;padding-top:8px;color:var(--copper);font-size:11px}.social-links{display:flex;gap:30px;font-size:12px;margin-top:20px;color:var(--muted)}.social-links a:hover{color:var(--cream)}.site-footer{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);padding-top:25px;font-size:9px;letter-spacing:1.3px;color:var(--muted)}.site-footer p{font:italic 16px var(--serif);letter-spacing:.3px}.pos-entry{padding:10px 0}.photo-dialog{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:30px;background:#120909f5;color:var(--cream);border:0;z-index:100}.photo-dialog::backdrop{background:#120909}.photo-dialog[open]{display:flex;flex-direction:column}.photo-dialog-content{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px}.photo-dialog-content img{max-height:calc(100svh - 200px);max-width:90vw;width:auto;object-fit:contain}.photo-caption{font-size:12px;color:var(--muted);text-align:center}.photo-navigation{display:flex;align-items:center;justify-content:center;gap:45px;font-size:12px;margin-top:20px}.photo-navigation button{padding:12px}.photo-counter{color:var(--muted);font:20px var(--serif)}
.motion-ready .hero-story{height:340svh}.motion-ready .hero-stage{position:sticky;top:0;min-height:0}
.hero-transition{background:rgba(38,12,11,.84);-webkit-mask-image:linear-gradient(to bottom,transparent 42%,#000 58%);mask-image:linear-gradient(to bottom,transparent 42%,#000 58%);-webkit-mask-size:100% 240%;mask-size:100% 240%;-webkit-mask-position:0% 0%;mask-position:0% 0%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
@media(min-width:1800px){.hero-image{object-fit:cover}.hero-left{left:7%}.hero-right{right:6%}}
@media(max-width:1100px){.brand small{display:none}#site-nav{gap:24px}.hero-chinese{font-size:85px}.hero-english{font-size:44px}.hero-left{left:5%;width:35%}.hero-right{right:4%;width:28%}.hero-invitation{font-size:18px;letter-spacing:2px}.hero-location{font-size:10px}.hero-date{display:block;line-height:2}.hero-date span{display:block}.event-grid h2{font-size:70px}.event-grid h2 em{font-size:48px}.visit-grid h2{font-size:64px}.visit-date{font-size:55px}.visit-date span{display:block;margin:5px 0 0}}
@media(max-width:699px){
 html{scroll-padding-top:24px}.site-header{height:70px;padding:0 24px}.brand{font-size:23px;gap:7px}.brand>span{font-size:27px}.nav-toggle{display:block;font-size:11px;letter-spacing:2px;border-bottom:1px solid var(--copper);padding:12px 0}.nav-toggle[aria-expanded=true]{color:var(--copper)}
 .countdown-row{display:flex;margin:0 0 40px;padding-bottom:25px}#countdown-label{font-size:30px}.countdown{justify-content:center;gap:16px;margin-top:0}.countdown strong{font-size:54px;min-width:55px}.countdown>span+span:before{left:-19px;top:0;font-size:54px}.countdown-target span{display:inline;margin-left:12px}.countdown-ended{margin-top:20px;font-size:27px}
 #site-nav{position:absolute;top:69px;left:0;right:0;display:none;background:#260c0b;padding:18px 24px 28px;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:12px 30px}#site-nav.is-open{display:grid}#site-nav a{font-size:13px}
 .hero-story,.hero-stage{height:100svh;min-height:760px}.hero-image{inset:30% 0 auto;height:54%;width:100%;object-fit:cover;object-position:center;mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent)}
 .hero-left{top:100px;left:24px;right:24px;width:auto;text-align:center}.hero-date{display:flex;justify-content:center;gap:18px;font-size:10px;line-height:1.5;margin-bottom:18px;letter-spacing:1.8px}.hero-date span{display:inline}.hero-chinese{font-size:62px;line-height:1.15;letter-spacing:.18em;padding-left:.18em}.hero-english{font-size:36px;margin:6px 0 0}.hero-tagline{font-size:11px;letter-spacing:3px;margin-top:12px}
 .hero-right{top:auto;bottom:65px;left:24px;right:24px;width:auto}.hero-invitation{display:none}.hero-location{font-size:10px;margin:0;letter-spacing:1px}.hero-cta{margin-top:5px;gap:20px;font-size:12px;min-height:44px}.hero-bottom{bottom:14px;left:24px;right:24px;justify-content:center}.hero-bottom>span{display:none}.hero-bottom a{font-size:7px;gap:10px}.scroll-rule{height:18px}.hero-transition{display:flex;padding:24px}.transition-title{font-size:80px}.hero-transition>p:not(.transition-title){font-size:11px;letter-spacing:1px}
 .section-pad{padding:55px 24px 65px}.section-kicker{margin-bottom:45px;padding-top:17px;font-size:8px;letter-spacing:1.5px}.section-kicker>span:last-child{font-size:10px}.event-grid,.visit-grid{grid-template-columns:1fr;gap:40px}.event-grid h2{font-size:62px;letter-spacing:8px;margin-top:15px}.event-grid h2 em{font-size:44px;letter-spacing:-1px;margin-top:8px}.event-copy{padding-top:0}.event-copy h3{font-size:23px;margin-bottom:18px}.event-copy>p{font-size:12px}.event-details{margin:28px 0;gap:16px}.event-details dd{font-size:17px}.event-details small{font-size:10px}.eyebrow{font-size:9px;letter-spacing:1.8px}.menu-heading{margin-bottom:40px}.menu-heading h2{font-size:60px;margin:9px 0 13px}.menu-heading>p:last-child{font-size:11px}.menu-grid{grid-template-columns:1fr;gap:32px}.menu-item h3{gap:6px 10px}.drink-name{font-size:24px}.drink-name-cn{font-size:11px}.drink-price{font-size:22px}.drink-description{font-size:12px}.menu-footnote{margin-top:40px;font-size:9px;flex-wrap:wrap}
 .moments-heading{display:block;margin-bottom:30px}.moments-heading h2{font-size:60px}.moments-heading>p{font-size:11px;margin-top:25px}.moments-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:0 -24px;padding:0 24px 20px;scrollbar-width:thin;scrollbar-color:#775045 transparent}.moment{flex:0 0 77%;scroll-snap-align:center}.moment:nth-child(n){padding-top:0}.photo-link{aspect-ratio:4/5}.moment figcaption{font-size:9px}.gallery-hint{margin-top:22px;font-size:9px;line-height:2}.gallery-hint>span{display:block}.visit-grid{margin-bottom:55px}.visit-grid h2{font-size:60px;letter-spacing:0;margin:18px 0}.about-copy{font-size:11px}.visit-info{border-top:1px solid var(--line);padding-top:30px}.visit-date{font-size:60px}.visit-date span{display:inline;font-size:12px;margin-left:12px}.visit-location{font-size:23px}.site-footer{flex-direction:column;gap:15px;text-align:center;padding-top:20px}.site-footer p{font-size:15px}.photo-dialog{padding:14px}.photo-caption{font-size:11px}.photo-navigation{gap:25px}.photo-dialog-content img{max-width:100%}
}
@media(max-width:374px){.hero-chinese{font-size:56px}.hero-date{gap:12px;font-size:9px}.drink-name{font-size:23px}.visit-date span{display:block;margin-left:0}}
@media(max-width:699px) and (max-height:740px){.hero-story,.hero-stage{min-height:660px}.hero-left{top:85px}.hero-date{margin-bottom:12px}.hero-chinese{font-size:50px}.hero-english{font-size:31px}.hero-tagline{margin-top:8px}.hero-image{top:31%;height:51%}.hero-right{bottom:52px}.hero-bottom{bottom:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-story{height:100svh!important}.hero-stage{position:relative!important}.hero-transition{display:none!important}}

/* The camera movement is rendered in Blender, never simulated by scaling the poster. */
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;visibility:hidden;pointer-events:none}
.hero-canvas.is-ready{visibility:visible}
.sequence-ready .hero-image{visibility:hidden}
@media(max-width:699px){.hero-canvas{inset:30% 0 auto;height:54%;mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 82%,transparent)}}
@media(max-width:699px) and (max-height:740px){.hero-canvas{top:31%;height:51%}}

@media(max-width:699px){.hero-image,.hero-canvas{height:48%}}
@media(max-width:699px) and (max-height:740px){.hero-image,.hero-canvas{height:46%}}

/* The opening countdown holds scrolling until the device's sequence is downloaded. */
.entry-screen{display:none;position:fixed;inset:0;z-index:1000;background:radial-gradient(ellipse at 50% 65%,#3c1612,var(--dark) 75%);align-items:center;justify-content:center;opacity:1;transition:opacity .65s ease;touch-action:none}
.entry-loading,.entry-loading body{overflow:hidden;overscroll-behavior:none}
.entry-loading .entry-screen{display:flex}
.entry-screen[hidden]{display:none}
.entry-screen.is-leaving{opacity:0}
.entry-screen .countdown-row{margin:0;padding:24px;border:0;width:100%;flex-direction:column;gap:30px}
.countdown-status{display:flex;align-items:center;justify-content:center;gap:12px;margin:0;font:clamp(18px,2.4vw,28px)/1.5 var(--cn);letter-spacing:.22em;color:var(--muted);text-align:center}
.countdown-status.is-live{font-family:var(--serif);letter-spacing:.1em;color:var(--cream)}
.countdown-status[hidden]{display:none}
.countdown-status.is-live:before{content:'';width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#7eae92;box-shadow:0 0 14px #7eae9233}
.entry-screen .countdown{gap:clamp(16px,3vw,50px);width:min(100%,940px);margin:0}
.entry-screen .countdown>span{flex:1;min-width:0;gap:12px}
.entry-screen .countdown strong{font-size:clamp(46px,10vw,150px);line-height:1;min-width:0;font-variant-numeric:lining-nums tabular-nums}
.entry-screen .countdown small{font:400 clamp(9px,1vw,12px)/1.5 var(--sans);letter-spacing:.22em;color:var(--muted)}
.entry-screen .countdown>span+span:before{font-size:clamp(46px,10vw,150px);line-height:1;left:calc(clamp(16px,3vw,50px) * -.75);color:var(--copper);opacity:.65}
@media(max-width:699px){.entry-screen .countdown-row{padding:20px;gap:26px}.entry-screen .countdown>span{gap:10px}}
.bartender-section{background:#efe6d8;color:#34221e;padding:0 24px 100px;display:flex;justify-content:center}
.bartender-portrait{width:230px;margin:0;text-align:center}
.portrait-frame{position:relative;isolation:isolate}
.portrait-frame:before,.portrait-frame:after{content:'';position:absolute;z-index:-1;pointer-events:none;border:1px solid #b49a7c}
.portrait-frame:before{inset:16px -20px -16px 20px}
.portrait-frame:after{width:55px;height:75px;left:-17px;top:-17px;border-right:0;border-bottom:0}
.portrait-frame img{width:100%;height:auto}
.bartender-portrait figcaption{font:italic 38px/1.2 var(--serif);letter-spacing:1px;margin-top:38px}
.visit-grid{align-items:center;gap:8%;grid-template-columns:1fr 1.2fr;max-width:1150px;margin:0 auto 90px}
.visit-grid h2{margin:0;font-size:clamp(64px,7vw,100px)}
.visit-info{padding:8px 0 8px 48px;border-left:1px solid var(--line)}
.visit-campus{font:clamp(22px,2.2vw,32px)/1.6 var(--cn);letter-spacing:2px;margin:0}
.visit-info .copy-wechat{margin-top:24px}
.visit-info .social-links{margin-top:12px}
@media(max-width:699px){.bartender-section{padding:10px 24px 80px}.bartender-portrait{width:190px}.bartender-portrait figcaption{font-size:34px}.visit-grid{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.visit-info{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.visit-campus{font-size:23px;letter-spacing:1px}.visit-grid h2{font-size:68px}}

.hero-left{text-align:center}
.hero-chinese{padding-left:.14em}
.bartender-label{font:italic 24px/1.2 var(--serif);letter-spacing:1px;margin:0 0 36px;text-align:center;color:#786554}
.visit-info .copy-wechat{margin-top:0}
@media(min-width:700px){.hero-left{top:42%}}
@media(max-width:699px){.hero-chinese{padding-left:.18em}.bartender-label{font-size:22px;margin-bottom:32px}}

.hero-cta{align-items:baseline;line-height:1.4}.hero-cta span{font-size:inherit;line-height:inherit;letter-spacing:1px}
