:root{--black:#0b0908;--black-soft:#120f0d;--panel:#18130f;--panel-raised:#201914;--cream:#f4ecdf;--cream-soft:#dfd4c4;--muted:#a89c8d;--line:#f4ecdf29;--red:#d84231;--red-deep:#8d1f1d;--amber:#e2a64a;--green:#6cd17d;--shadow:0 28px 70px #00000057;--max-width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{background:var(--black);color:var(--cream);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}body::selection{color:var(--black);background:var(--amber)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%}svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;display:block}:focus-visible{outline:2px solid var(--amber);outline-offset:4px}.siteHeader{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0b0908e6;border-bottom:1px solid #f4ecdf1a;position:sticky;top:0}.headerInner{width:min(calc(100% - 48px), var(--max-width));grid-template-columns:180px 1fr auto;align-items:center;gap:28px;min-height:78px;margin:0 auto;display:grid}.brand{width:152px;display:block}.brand img{width:100%;height:auto;display:block}.desktopNav{justify-content:center;align-items:center;gap:clamp(24px,3vw,44px);display:flex}.desktopNav a{color:var(--cream-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700;transition:color .18s}.desktopNav a:hover{color:var(--amber)}.headerActions{align-items:center;gap:16px;display:flex}.languageSwitch{color:#756a5e;letter-spacing:.05em;align-items:center;gap:5px;font-size:.72rem;display:flex}.languageSwitch button{color:#756a5e;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-weight:800}.languageSwitch button.active,.languageSwitch button:hover{color:var(--cream)}.headerCta{border:1px solid var(--amber);background:var(--amber);min-height:42px;color:var(--black);letter-spacing:.04em;justify-content:center;align-items:center;padding:0 18px;font-size:.79rem;font-weight:850;transition:transform .18s,background .18s;display:inline-flex}.headerCta:hover{background:#f0ba61;transform:translateY(-2px)}.menuButton{border:1px solid var(--line);width:42px;height:42px;color:var(--cream);cursor:pointer;background:0 0;place-items:center;padding:0;display:none}.menuButton svg{width:20px;height:20px}.mobileNav{display:none}.hero{width:min(calc(100% - 48px), var(--max-width));isolation:isolate;grid-template-columns:minmax(0,1fr) minmax(420px,.88fr);align-items:center;gap:clamp(48px,7vw,100px);min-height:calc(100svh - 78px);margin:0 auto;padding:clamp(56px,7vw,94px) 0 clamp(64px,8vw,108px);display:grid;position:relative}.heroGlow{z-index:-1;pointer-events:none;background:radial-gradient(circle at 76% 35%,#d842312e,#0000 31%),radial-gradient(circle at 16% 54%,#e2a64a17,#0000 28%);position:absolute;inset:0}.eyebrow,.sectionLabel{color:var(--amber);letter-spacing:.2em;text-transform:uppercase;margin:0 0 24px;font-size:.72rem;font-weight:850}.hero h1{letter-spacing:-.065em;max-width:760px;margin:0;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(3.8rem,7.1vw,7.1rem);font-weight:500;line-height:.88}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--amber);font-weight:500}html[lang=zh-Hans] .hero h1{letter-spacing:-.08em;font-family:Songti SC,STSong,Georgia,serif;font-size:clamp(4rem,7vw,7.2rem);line-height:.96}.heroBody{max-width:590px;color:var(--cream-soft);margin:32px 0 0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.75}.heroButtons{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{letter-spacing:.035em;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:54px;padding:0 22px;font-size:.86rem;font-weight:850;transition:transform .18s,color .18s,background .18s,border-color .18s;display:inline-flex}.button svg{width:19px;height:19px}.button:hover{transform:translateY(-2px)}.buttonPrimary{background:var(--red);color:#fff}.buttonPrimary:hover{background:#eb503e}.buttonGhost{border-color:var(--line);color:var(--cream);background:#ffffff06}.buttonGhost:hover{border-color:var(--amber);color:var(--amber)}.openStatus{color:var(--muted);align-items:center;gap:10px;margin-top:27px;font-size:.83rem;font-weight:700;display:flex}.statusDot{background:#756a5e;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 5px #756a5e1f}.statusDot.open{background:var(--green);box-shadow:0 0 0 5px #6cd17d1f}.heroVisual{min-height:620px;position:relative}.heroPhotoMain{width:82%;height:100%;min-height:620px;box-shadow:var(--shadow);border:1px solid #f4ecdf29;margin-left:auto;position:relative;overflow:hidden}.heroPhotoMain:after,.visitPhoto:after{content:"";pointer-events:none;background:linear-gradient(#0000 62%,#0b09087a);position:absolute;inset:0}.heroPhotoMain img,.heroPhotoInset img,.experienceCard img,.groupImage img,.galleryGrid img,.visitPhoto img{object-fit:cover}.heroPhotoMain img{object-position:55% center}.heroPhotoInset{aspect-ratio:1/1.18;z-index:2;border:8px solid var(--black);width:43%;position:absolute;bottom:8%;left:0;overflow:hidden;box-shadow:0 20px 45px #0006}.heroPhotoInset:after{content:"";background:linear-gradient(#0000 56%,#070606d6);position:absolute;inset:0}.heroPhotoInset span{z-index:2;letter-spacing:.16em;font-size:.66rem;font-weight:900;position:absolute;bottom:16px;left:18px;right:18px}.heroStamp{z-index:3;border:1px solid var(--amber);background:var(--black);width:86px;height:86px;color:var(--amber);text-align:center;border-radius:50%;place-content:center;display:grid;position:absolute;top:5%;left:4%;transform:rotate(-8deg)}.heroStamp span,.heroStamp small{letter-spacing:.15em;font-size:.49rem;font-weight:900}.heroStamp strong{font-family:Georgia,serif;font-size:1.8rem;line-height:1}.factBar{width:min(calc(100% - 48px), var(--max-width));border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);align-items:stretch;min-height:86px;margin:0 auto;display:grid}.factBar>div{color:var(--cream-soft);text-align:center;justify-content:center;align-items:center;gap:12px;padding:24px 28px;font-size:.82rem;font-weight:750;display:flex}.factBar>div+div{border-left:1px solid var(--line)}.factBar svg{width:18px;height:18px;color:var(--amber);flex:none}.section{width:min(calc(100% - 48px), var(--max-width));margin:0 auto;padding:clamp(92px,12vw,160px) 0}.sectionIntro{grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);column-gap:52px;max-width:840px;margin-bottom:54px;display:grid}.sectionIntro .sectionLabel{grid-column:1/-1}.sectionIntro h2,.galleryIntro h2,.menuHeader h2,.reservation h2,.visitInfo h2{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(2.8rem,5vw,5.4rem);font-weight:500;line-height:.98}html[lang=zh-Hans] .sectionIntro h2,html[lang=zh-Hans] .galleryIntro h2,html[lang=zh-Hans] .menuHeader h2,html[lang=zh-Hans] .reservation h2,html[lang=zh-Hans] .visitInfo h2{letter-spacing:-.06em;font-family:Songti SC,STSong,Georgia,serif;line-height:1.08}.sectionIntro>p:last-child,.galleryIntro>p:last-child,.menuHeader>p,.reservationPitch>p,.visitInfo>p{color:var(--muted);align-self:end;margin:0;font-size:1rem;line-height:1.75}.experienceGrid{grid-template-columns:1.18fr 1fr 1fr;gap:14px;display:grid}.experienceCard{background:var(--panel);min-height:500px;position:relative;overflow:hidden}.experienceCard img{transition:transform .7s cubic-bezier(.22,1,.36,1)}.experienceCard:hover img{transform:scale(1.035)}.cardShade{background:linear-gradient(#0b09080a 35%,#0b0908f5 100%);position:absolute;inset:0}.cardCopy{z-index:2;position:absolute;inset:auto 28px 28px}.cardCopy>span{color:var(--amber);letter-spacing:.18em;font-size:.66rem;font-weight:900}.cardCopy h3{letter-spacing:-.035em;margin:10px 0 12px;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(1.6rem,2.5vw,2.4rem);font-weight:500;line-height:1.06}.cardCopy p{color:#cbc1b4;max-width:360px;margin:0;font-size:.9rem;line-height:1.62}.menuSection{background:var(--cream);color:var(--black)}.menuInner{width:min(calc(100% - 48px), var(--max-width));margin:0 auto;padding:clamp(86px,11vw,144px) 0}.sectionLabel.dark{color:var(--red-deep)}.menuHeader{grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr);align-items:end;gap:72px;display:grid}.menuHeader h2{max-width:780px}.menuHeader>p{color:#6c6257}.menuTableWrap{border-top:2px solid var(--black);border-bottom:2px solid var(--black);margin-top:64px;overflow-x:auto}.menuTable{min-width:680px}.menuRow{border-bottom:1px solid #0b09082e;grid-template-columns:1.4fr repeat(3,1fr);align-items:center;min-height:82px;display:grid}.menuRow:last-child{border-bottom:0}.menuRow>*{padding:20px 28px}.menuRow>*+*{border-left:1px solid #0b090824}.menuRow strong{font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.menuRow span:not(:first-child){font-size:1rem;font-weight:850}.menuHead{background:var(--black);min-height:50px;color:var(--cream)}.menuHead>*{letter-spacing:.13em;text-transform:uppercase;padding-top:14px;padding-bottom:14px;border-color:#ffffff1f!important;font-size:.66rem!important;font-weight:850!important}.menuNote{color:#71665a;margin:14px 0 0;font-size:.77rem}.groupFeature{background:var(--red-deep);min-height:540px;color:var(--cream);grid-template-columns:1.05fr .95fr;margin-top:84px;display:grid}.groupImage{min-height:540px;position:relative;overflow:hidden}.groupImage img{transition:transform .7s}.groupFeature:hover .groupImage img{transform:scale(1.025)}.groupCopy{flex-direction:column;justify-content:center;padding:clamp(44px,6vw,82px);display:flex}.groupCopy>p{color:var(--amber);letter-spacing:.18em;margin:0 0 18px;font-size:.68rem;font-weight:900}.groupCopy h3{letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:clamp(2.5rem,4.2vw,4.7rem);font-weight:500;line-height:.98}.groupCopy>span{color:#e7d8c6;margin-top:26px;line-height:1.75}.groupCopy a{border-bottom:1px solid var(--amber);width:fit-content;color:var(--amber);align-items:center;gap:12px;margin-top:36px;padding-bottom:8px;font-size:.83rem;font-weight:850;display:flex}.groupCopy a svg{width:18px;height:18px;transition:transform .18s}.groupCopy a:hover svg{transform:translate(4px)}.galleryIntro{grid-template-columns:minmax(0,1fr) minmax(280px,.6fr);column-gap:52px;max-width:920px;margin-bottom:54px;display:grid}.galleryIntro .sectionLabel{grid-column:1/-1}.galleryGrid{grid-template-rows:repeat(2,minmax(300px,42vh));grid-template-columns:1.25fr .75fr;gap:14px;display:grid}.galleryGrid figure{background:var(--panel);min-width:0;min-height:0;margin:0;position:relative;overflow:hidden}.galleryGrid .galleryTall{grid-row:1/3}.galleryGrid figure img{transition:transform .7s}.galleryGrid figure:hover img{transform:scale(1.025)}.reservation{background:var(--red-deep);grid-template-columns:minmax(0,.85fr) minmax(520px,1.15fr);display:grid}.reservationPitch{flex-direction:column;justify-content:center;padding:clamp(72px,9vw,128px) clamp(34px,7vw,112px);display:flex}.reservationPitch h2{max-width:640px}.reservationPitch>p{color:#e7d8c6;max-width:540px;margin-top:28px}.reservationContact{flex-direction:column;align-items:flex-start;gap:12px;margin-top:42px;display:flex}.reservationContact a{border-bottom:1px solid var(--amber);color:var(--amber);align-items:center;gap:10px;padding-bottom:7px;font-weight:850;display:flex}.reservationContact svg{width:18px;height:18px}.reservationContact span{color:#cbb9a5;font-size:.83rem}.bookingForm{background:var(--cream);color:var(--black);padding:clamp(58px,7vw,104px)}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 16px;display:grid}.formGrid label{flex-direction:column;gap:9px;min-width:0;display:flex}.formGrid label>span{color:#5f554b;letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:850}.formGrid input,.formGrid select,.formGrid textarea{width:100%;min-height:52px;color:var(--black);background:0 0;border:0;border-bottom:1px solid #0b090842;border-radius:0;outline:0;transition:border-color .18s,background .18s}.formGrid input,.formGrid select{padding:0 4px}.formGrid textarea{resize:vertical;min-height:96px;padding:12px 4px}.formGrid input::placeholder,.formGrid textarea::placeholder{color:#938779}.formGrid input:focus,.formGrid select:focus,.formGrid textarea:focus{border-color:var(--red);background:#d8423106}.fullWidth{grid-column:1/-1}.formSubmit{background:var(--black);width:100%;min-height:58px;color:var(--cream);cursor:pointer;border:0;justify-content:center;align-items:center;gap:12px;margin-top:30px;padding:0 22px;font-size:.84rem;font-weight:850;transition:background .18s,transform .18s;display:flex}.formSubmit:hover{background:var(--red);transform:translateY(-2px)}.formSubmit svg{width:19px;height:19px}.formSubmit svg:last-child{margin-left:auto}.formNote{color:#7d7165;text-align:center;margin:14px 0 0;font-size:.74rem;line-height:1.5}.visit{grid-template-columns:.98fr 1.02fr;align-items:stretch;gap:clamp(54px,8vw,104px);display:grid}.visitPhoto{border:1px solid var(--line);min-height:680px;position:relative;overflow:hidden}.visitPin{z-index:2;color:var(--cream);letter-spacing:.08em;align-items:center;gap:11px;font-size:.8rem;font-weight:850;display:flex;position:absolute;bottom:28px;left:28px}.visitPin svg{width:28px;height:28px;color:var(--amber)}.visitInfo{flex-direction:column;justify-content:center;padding:34px 0;display:flex}.visitInfo>p{max-width:580px}.visitInfo dl{margin:48px 0 0}.visitInfo dl>div{border-top:1px solid var(--line);grid-template-columns:130px 1fr;gap:24px;padding:20px 0;display:grid}.visitInfo dl>div:last-child{border-bottom:1px solid var(--line)}.visitInfo dt{color:var(--amber);letter-spacing:.12em;text-transform:uppercase;font-size:.68rem;font-weight:850}.visitInfo dd{color:var(--cream-soft);margin:0;font-size:.92rem;line-height:1.65}.visitInfo dd a{text-underline-offset:4px;-webkit-text-decoration:underline #f4ecdf4d;text-decoration:underline #f4ecdf4d}.visitInfo dd a:hover{color:var(--amber)}.visitButton{width:fit-content;margin-top:34px}footer{border-top:1px solid var(--line)}.footerInner{width:min(calc(100% - 48px), var(--max-width));grid-template-columns:1fr auto;align-content:center;gap:42px;min-height:310px;margin:0 auto;padding:64px 0 38px;display:grid}.footerInner>div:first-child img{width:180px;height:auto}.footerInner>div:first-child p{color:var(--muted);letter-spacing:.08em;margin:16px 0 0;font-size:.84rem}.footerLinks{color:var(--cream-soft);flex-direction:column;justify-content:center;align-items:flex-end;gap:10px;font-size:.83rem;display:flex}.footerLinks a:hover{color:var(--amber)}.copyright{border-top:1px solid var(--line);color:#6f655b;grid-column:1/-1;margin:0;padding-top:24px;font-size:.7rem}.mobileActionBar{display:none}@media (max-width:1080px){.hero{grid-template-columns:minmax(0,1fr) minmax(370px,.82fr);gap:48px}.heroVisual,.heroPhotoMain{min-height:560px}.experienceGrid{grid-template-columns:1.1fr 1fr}.experienceCard:last-child{grid-column:1/-1;min-height:420px}.experienceCard:last-child .cardCopy{max-width:480px}.reservation{grid-template-columns:.8fr 1.2fr}.reservationPitch,.bookingForm{padding-left:48px;padding-right:48px}}@media (max-width:860px){.headerInner{width:min(calc(100% - 32px), var(--max-width));grid-template-columns:1fr auto;min-height:70px}.brand{width:132px}.desktopNav,.headerCta{display:none}.headerActions{gap:12px}.menuButton{display:grid}.mobileNav{opacity:0;max-height:0;padding:0 16px;transition:max-height .26s,opacity .2s,padding .26s;display:grid;overflow:hidden}.mobileNav.open{opacity:1;max-height:420px;padding-top:10px;padding-bottom:18px}.mobileNav a{border-bottom:1px solid var(--line);min-height:52px;color:var(--cream-soft);justify-content:space-between;align-items:center;padding:0 6px;font-size:.88rem;font-weight:800;display:flex}.mobileNav svg{width:18px;height:18px;color:var(--amber)}.hero{width:min(calc(100% - 32px), var(--max-width));grid-template-columns:1fr;gap:58px;min-height:auto;padding:72px 0 92px}.heroContent{max-width:720px}.hero h1{font-size:clamp(4rem,12vw,6.8rem)}html[lang=zh-Hans] .hero h1{font-size:clamp(4rem,13vw,7rem)}.heroVisual{min-height:690px}.heroPhotoMain{width:80%;min-height:690px}.heroPhotoInset{width:42%}.factBar{width:min(calc(100% - 32px), var(--max-width));grid-template-columns:1fr}.factBar>div{text-align:left;justify-content:flex-start}.factBar>div+div{border-top:1px solid var(--line);border-left:0}.section,.menuInner{width:min(calc(100% - 32px), var(--max-width))}.sectionIntro,.galleryIntro,.menuHeader{grid-template-columns:1fr;gap:24px}.sectionIntro .sectionLabel,.galleryIntro .sectionLabel{grid-column:auto}.experienceGrid{grid-template-columns:1fr}.experienceCard,.experienceCard:last-child{grid-column:auto;min-height:520px}.groupFeature{grid-template-columns:1fr}.groupImage{min-height:480px}.galleryGrid{grid-template-rows:560px 360px;grid-template-columns:1fr 1fr}.galleryGrid .galleryTall{grid-area:auto/1/auto/-1}.reservation{grid-template-columns:1fr}.reservationPitch,.bookingForm{padding:72px max(32px,50vw - 360px)}.visit{grid-template-columns:1fr}.visitPhoto{min-height:620px}.visitInfo{padding:0}}@media (max-width:620px){body{padding-bottom:68px}.headerInner{min-height:66px}.brand{width:116px}.languageSwitch{font-size:.67rem}.menuButton{width:38px;height:38px}.hero{gap:44px;padding-top:56px}.hero h1,html[lang=zh-Hans] .hero h1{font-size:clamp(3.45rem,17vw,5rem)}.heroBody{margin-top:24px}.heroButtons{flex-direction:column}.button{width:100%}.heroVisual,.heroPhotoMain{min-height:540px}.heroPhotoMain{width:88%}.heroPhotoInset{border-width:6px;width:44%}.heroStamp{width:72px;height:72px;left:0}.section{padding-top:92px;padding-bottom:92px}.sectionIntro h2,.galleryIntro h2,.menuHeader h2,.reservation h2,.visitInfo h2{font-size:clamp(2.7rem,13vw,4rem)}.experienceCard,.experienceCard:last-child{min-height:470px}.cardCopy{inset:auto 22px 22px}.menuInner{padding-top:92px;padding-bottom:92px}.menuTableWrap{margin-top:44px}.menuRow>*{padding-left:18px;padding-right:18px}.groupFeature{margin-top:64px}.groupImage{min-height:390px}.groupCopy{padding:42px 26px 48px}.galleryGrid{grid-template-rows:520px 390px 390px;grid-template-columns:1fr}.galleryGrid .galleryTall{grid-column:auto}.reservationPitch,.bookingForm{padding:66px 24px}.formGrid{grid-template-columns:1fr}.fullWidth{grid-column:auto}.visitPhoto{min-height:500px}.visitInfo dl>div{grid-template-columns:1fr;gap:9px}.visitButton{width:100%}.footerInner{width:min(calc(100% - 32px), var(--max-width));grid-template-columns:1fr}.footerLinks{align-items:flex-start}.mobileActionBar{z-index:120;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0b0908f5;grid-template-columns:.38fr .62fr;gap:8px;height:68px;padding:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobileActionBar a{background:var(--panel-raised);justify-content:center;align-items:center;gap:8px;font-size:.75rem;font-weight:850;display:flex}.mobileActionBar a:last-child{background:var(--red)}.mobileActionBar svg{width:18px;height:18px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
