:root{--ink:#0b1f3a;--navy:#102b4f;--blue:#244f78;--cream:#f1eadc;--paper:#f8f4eb;--rust:#c45b3f;--gold:#c8aa70;--white:#fffdf8;--muted:#667486;--line:rgba(11,31,58,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;font-weight:300}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit}img{display:block;width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;padding:.8rem 1rem}.skip-link:focus{top:1rem}.site-header{position:fixed;inset:0 0 auto;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:96px;padding:0 4vw;color:#fff;border-bottom:1px solid rgba(255,255,255,.24);transition:.35s}.site-header.scrolled,.site-header.nav-open{min-height:72px;background:#0b1f3af5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wordmark{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;line-height:1;letter-spacing:.12em}.wordmark-cn{font-family:Songti SC,STSong,serif;font-size:1.7rem;font-weight:600}.wordmark-en{margin-top:.45rem;font-size:.54rem;letter-spacing:.22em}.site-nav{grid-column:1;grid-row:1;display:flex;gap:1.6rem;justify-self:start;font-size:.82rem;letter-spacing:.1em}.site-nav a{position:relative}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:#fff;transition:.25s}.site-nav a:hover:after,.site-nav a:focus-visible:after{right:0}.header-book{grid-column:3;grid-row:1;justify-self:end;background:transparent;border:1px solid rgba(255,255,255,.7);padding:.7rem 1.4rem;cursor:pointer}.menu-toggle{display:none;grid-column:1;grid-row:1}.hero{position:relative;height:100svh;min-height:650px;color:#fff;overflow:hidden}.hero>img{height:100%;object-fit:cover;object-position:center;animation:heroZoom 16s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#04102370,#0410231a 45%,#041023ad);box-shadow:inset 0 0 160px #04102338}.hero-center{position:absolute;inset:49% auto auto 50%;width:min(780px,88vw);text-align:center;transform:translate(-50%,-50%)}.eyebrow,.kicker{margin:0 0 1.4rem;font-size:.7rem;letter-spacing:.3em;font-weight:500}.seal{width:80px;height:80px;margin:0 auto 1.4rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;position:relative}.seal:after{content:"";position:absolute;inset:6px;border:1px solid rgba(255,255,255,.35);border-radius:50%}.seal span{font-family:serif;font-size:1.3rem;letter-spacing:.08em}.hero h1{margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(2.8rem,5vw,5.2rem);line-height:1.25;font-weight:400;letter-spacing:.08em;text-shadow:0 3px 25px rgba(0,0,0,.25)}.hero-center>p:last-child{margin-top:1.5rem;font-size:.9rem;letter-spacing:.18em}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.55rem;align-items:center;font-size:.6rem;letter-spacing:.2em}.scroll-cue i{height:45px;width:1px;background:#fff;animation:pulse 1.8s infinite}.quick-actions{position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:-1px auto 0;background:var(--cream);border-bottom:1px solid var(--line)}.quick-actions>*{min-height:126px;padding:1.6rem 2rem;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;display:grid;grid-template-columns:1fr auto;cursor:pointer}.quick-actions small{grid-column:1/-1;font-size:.55rem;letter-spacing:.25em;color:var(--blue)}.quick-actions strong{font-size:.9rem;font-weight:400;align-self:end}.quick-actions span{align-self:end;transition:.25s}.quick-actions>*:hover span{transform:translate(6px)}.section{max-width:1240px;margin:auto;padding:9rem 5vw}.intro{display:grid;grid-template-columns:1fr .86fr;gap:10vw;align-items:center}.kicker{color:var(--rust)}.intro h2,.section-heading h2,.visit h2{font-family:Songti SC,STSong,serif;font-size:clamp(2.3rem,4vw,4.4rem);line-height:1.35;font-weight:400;margin:0 0 2rem}.intro-copy>p:not(.kicker){max-width:36rem;color:var(--muted);line-height:2}.text-link{display:inline-flex;margin-top:1.8rem;padding-bottom:.6rem;gap:3rem;border-bottom:1px solid;font-size:.82rem;letter-spacing:.1em}.portrait-card{margin:0;position:relative}.portrait-card img{aspect-ratio:4/5;object-fit:cover}.portrait-card figcaption{margin-top:1rem;display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}.history-strip{max-width:1240px;margin:0 auto 8rem;padding:0 5vw 7rem;display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;align-items:end;border-bottom:1px solid var(--line)}.history-intro h2{margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(2rem,3vw,3.4rem);line-height:1.4;font-weight:400}.history-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}.history-steps li{min-height:190px;padding:1.5rem;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.history-steps strong{color:var(--blue);font-family:Songti SC,STSong,serif;font-size:1.2rem;font-weight:500}.history-steps span{color:var(--muted);font-size:.78rem;line-height:1.9}.manifesto{padding:7rem 5vw;background:var(--ink);color:var(--cream);text-align:center;overflow:hidden}.manifesto p{color:var(--gold);letter-spacing:.5em;font-size:.65rem}.manifesto h2{margin:.7rem 0;font-family:Songti SC,STSong,serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:400}.manifesto em{color:var(--gold);font-weight:400}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:4rem}.section-heading>p{line-height:2;color:var(--muted);max-width:32rem}.menu-feature{position:relative;min-height:620px;overflow:hidden}.menu-feature>img{height:100%;min-height:620px;object-fit:cover;transition:1s}.menu-feature:hover>img{transform:scale(1.025)}.menu-overlay{position:absolute;inset:auto 0 0;padding:5rem 4rem 3rem;color:#fff;background:linear-gradient(transparent,#0a1412de)}.menu-overlay p{font-size:.65rem;letter-spacing:.25em}.menu-overlay h3{font-family:Songti SC,STSong,serif;font-size:2.4rem;margin:.4rem 0;font-weight:400}.menu-overlay span{display:block;margin:.6rem 0 1rem}.menu-overlay strong{font-weight:400}.menu-tabs{display:flex;justify-content:center;gap:3rem;margin:4rem 0 2rem;border-bottom:1px solid var(--line)}.menu-tabs button{border:0;background:transparent;padding:1rem .4rem;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent}.menu-tabs button[aria-selected=true]{color:var(--ink);border-color:var(--rust)}.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw}.menu-list article{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.menu-list h3{margin:0;font-family:Songti SC,STSong,serif;font-size:1.05rem;font-weight:500}.menu-list p{margin:.5rem 0 0;color:var(--muted);font-size:.78rem}.menu-list strong{font-weight:400}.menu-note{margin-top:1.5rem;text-align:center;color:var(--muted);font-size:.7rem}.week{padding-top:4rem}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.program-grid article{min-height:330px;padding:2.3rem;border-right:1px solid var(--line);display:flex;flex-direction:column}.program-grid article:last-child{border-right:0}.program-grid article>p:first-child{margin:0 0 3rem;color:var(--muted);font-size:.65rem;letter-spacing:.12em}.program-grid article>p:first-child span{color:var(--rust);margin-right:.5rem}.program-grid h3{margin:0 0 1.3rem;font-family:Songti SC,STSong,serif;font-size:1.8rem;font-weight:400}.program-grid article>p:not(:first-child){margin:0;color:var(--muted);line-height:1.9;font-size:.85rem}.program-grid small{margin-top:auto;padding-top:2rem;color:var(--blue);border-top:1px solid var(--line);font-size:.68rem;letter-spacing:.06em}.concept-note{margin:1.2rem 0 0;color:var(--muted);text-align:right;font-size:.68rem}.tonight{position:relative;min-height:88vh;display:grid;place-items:center;color:#fff;overflow:hidden}.tonight>img{position:absolute;inset:0;height:100%;object-fit:cover}.tonight-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05142bdb,#05142b33)}.tonight-copy{position:relative;z-index:2;width:min(1120px,86vw)}.concept-badge{display:inline-block;margin:-.2rem 0 1.4rem;padding:.45rem .7rem;background:#ffffff21;border:1px solid rgba(255,255,255,.35);font-size:.62rem;letter-spacing:.12em}.tonight-copy h2{font-family:Songti SC,STSong,serif;font-size:clamp(3rem,6vw,6rem);font-weight:400;margin:0 0 1.5rem}.tonight-copy p:not(.kicker){line-height:2;letter-spacing:.08em}.outline-button,.dark-button{margin-top:2rem;border:1px solid currentColor;padding:1rem 2rem;background:transparent;color:inherit;cursor:pointer}.round-stamp{position:absolute;z-index:2;right:7vw;bottom:6vw;width:150px;height:150px;border:1px solid rgba(255,255,255,.7);border-radius:50%;display:grid;place-items:center;font-size:.6rem;letter-spacing:.25em;text-align:center;padding:2rem;transform:rotate(-12deg)}.people{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;align-items:center}.people-visual{margin:0}.people-visual img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.75) contrast(1.04)}.people-visual figcaption{margin-top:1rem;color:var(--muted);font-size:.68rem}.people-copy h2,.friends-copy h2{margin:0 0 2rem;font-family:Songti SC,STSong,serif;font-size:clamp(2.4rem,4vw,4.2rem);line-height:1.35;font-weight:400}.people-copy>p:not(.kicker){color:var(--muted);line-height:2}.people-copy ul{list-style:none;margin:2.4rem 0 0;padding:0}.people-copy li{display:grid;grid-template-columns:80px 1fr;padding:1.2rem 0;border-top:1px solid var(--line)}.people-copy li strong{color:var(--blue);font-weight:500}.people-copy li span{color:var(--muted)}.friends{background:linear-gradient(135deg,var(--ink),#12345f);color:var(--cream);padding:8rem max(6vw,calc((100vw - 1240px)/2 + 5vw));display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.friends .kicker{color:var(--gold)}.friends-copy>p:not(.kicker){max-width:35rem;color:#bdc7d4;line-height:2}.friend-promises{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.2)}.friend-promises>div{min-height:230px;padding:1.5rem;border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column}.friend-promises>div:last-child{border-right:0}.friend-promises span{color:var(--gold);font-size:.65rem}.friend-promises strong{margin:auto 0 1rem;font-family:Songti SC,STSong,serif;font-size:1.25rem;font-weight:400}.friend-promises p{margin:0;color:#aeb9c8;font-size:.72rem;line-height:1.7}.visit{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.visit-card dl{margin:2.5rem 0 0}.visit-card dl>div{display:grid;grid-template-columns:80px 1fr;padding:1.2rem 0;border-top:1px solid var(--line)}.visit-card dt{font-size:.68rem;letter-spacing:.2em;color:var(--rust)}.visit-card dd{margin:0;line-height:1.7}.visit-card small{color:var(--muted)}.dark-button{background:var(--ink);color:#fff;border-color:var(--ink)}.visit-visual{position:relative}.visit-visual img{aspect-ratio:4/5;object-fit:cover;filter:saturate(.85)}.map-mark{position:absolute;left:-52px;bottom:45px;width:106px;height:106px;background:var(--rust);color:#fff;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:serif;letter-spacing:.12em}.map-mark span{font-family:PingFang SC,Microsoft YaHei,sans-serif;font-size:.65rem}footer{background:var(--ink);color:var(--cream);padding:6rem 6vw 3rem;text-align:center}.footer-mark{width:max-content;margin:auto}footer>p{margin:2rem 0 3rem;color:#aeb9c8}footer>div{display:flex;justify-content:center;gap:2rem;margin-bottom:4rem;font-size:.8rem}footer>small{color:#8190a5;font-size:.6rem;letter-spacing:.1em}.booking-dialog{width:min(560px,92vw);border:0;padding:3.5rem;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px #00000059}.booking-dialog::backdrop{background:#041023c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.booking-dialog h2{font-family:Songti SC,STSong,serif;font-size:2.2rem;font-weight:400;margin:.4rem 0}.booking-dialog>p:not(.kicker){color:var(--muted);line-height:1.7}.dialog-close{position:absolute;right:1.2rem;top:1rem;border:0;background:none;font-size:2rem;cursor:pointer}.booking-dialog form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.booking-dialog label:first-child{grid-column:1/-1}.booking-dialog label{font-size:.7rem;letter-spacing:.1em}.booking-dialog input,.booking-dialog select{display:block;width:100%;margin-top:.5rem;padding:.8rem;border:1px solid var(--line);background:#fff}.booking-dialog form button{grid-column:1/-1}.friend-dialog-steps{margin:2rem 0 0;border-top:1px solid var(--line)}.friend-dialog-steps p{display:grid;grid-template-columns:40px 1fr;gap:.6rem;margin:0;padding:1rem 0;border-bottom:1px solid var(--line);color:var(--muted);line-height:1.6}.friend-dialog-steps span{color:var(--rust)}.friends-dialog form{display:block;margin-top:0}.friends-dialog form button{width:100%}.mobile-cta{display:none}.reveal{opacity:1;transform:none}.reveal.reveal-pending{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s}.reveal.reveal-pending.visible{opacity:1;transform:none}@keyframes heroZoom{0%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulse{0%,to{transform:scaleY(.4);transform-origin:top;opacity:.5}50%{transform:scaleY(1);opacity:1}}@media(max-width:850px){.site-header{min-height:72px;grid-template-columns:1fr auto 1fr;padding:0 1.2rem}.menu-toggle{display:block;justify-self:start;width:42px;height:42px;padding:0;border:0;background:transparent}.menu-toggle span{display:block;width:22px;height:1px;margin:6px 0;background:#fff;transition:.25s}.nav-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.site-nav{display:none;position:absolute;top:72px;left:0;right:0;padding:2rem;background:#0b1f3afa;flex-direction:column;text-align:center}.nav-open .site-nav{display:flex}.header-book{font-size:.72rem;padding:.55rem .75rem}.wordmark-cn{font-size:1.25rem}.wordmark-en{font-size:.4rem}.hero{min-height:680px}.hero h1{font-size:clamp(2.4rem,10vw,3.7rem)}.hero-center{top:48%}.quick-actions{grid-template-columns:1fr 1fr}.quick-actions>*{min-height:108px;padding:1.2rem}.section{padding:6rem 1.3rem}.intro,.visit,.section-heading{grid-template-columns:1fr;gap:4rem}.intro h2,.section-heading h2,.visit h2{font-size:2.5rem}.portrait-card{margin-left:12vw}.history-strip{margin-bottom:5rem;padding:0 1.3rem 5rem;grid-template-columns:1fr;gap:3rem}.history-steps{grid-template-columns:1fr}.history-steps li{min-height:130px;border-left:0;border-top:1px solid var(--line)}.menu-feature,.menu-feature>img{min-height:520px}.menu-overlay{padding:5rem 1.5rem 2rem}.menu-overlay h3{font-size:2rem}.menu-tabs{gap:1rem;justify-content:space-between}.menu-tabs button{font-size:.76rem}.menu-list,.program-grid{grid-template-columns:1fr}.program-grid article{min-height:270px;border-right:0;border-bottom:1px solid var(--line)}.program-grid article:last-child{border-bottom:0}.concept-note{text-align:left;line-height:1.7}.tonight{min-height:720px}.round-stamp{width:112px;height:112px;right:1.5rem;bottom:2rem;font-size:.48rem}.people{grid-template-columns:1fr;gap:4rem}.people-visual{margin-right:10vw}.people-copy h2,.friends-copy h2{font-size:2.5rem}.friends{padding:6rem 1.3rem 7.5rem;grid-template-columns:1fr;gap:4rem}.friend-promises{grid-template-columns:1fr}.friend-promises>div{min-height:150px;border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.friend-promises>div:last-child{border-bottom:0}.visit-card{order:2}.visit-visual{margin-left:10vw}.map-mark{left:-45px}.booking-dialog{padding:3rem 1.5rem 1.5rem}.mobile-cta{position:fixed;z-index:18;left:1rem;right:1rem;bottom:1rem;display:grid;grid-template-columns:1fr 1fr;background:#0b1f3af5;color:#fff;box-shadow:0 10px 30px #0410234d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mobile-cta>*{min-height:52px;display:grid;place-items:center;border:0;border-right:1px solid rgba(255,255,255,.22);background:transparent;color:inherit;font-size:.78rem}.mobile-cta>*:last-child{border-right:0}footer{padding-bottom:8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal.reveal-pending{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
