:root{--ink:#f6f1e9;--dim:#f6f1e999;--night:#0b0908;--serif:"Cormorant Garamond", Georgia, serif;--sans:"Jost", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--night);color:var(--ink);font-family:var(--sans)}.app--cinema{height:100%;overflow:hidden}body:has(.app--cinema){overflow:hidden}.stage{position:fixed;inset:0}.scene{opacity:0;pointer-events:none;transition:opacity 1.6s;position:absolute;inset:0}.scene.is-on{opacity:1;pointer-events:auto}.scene-media{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.06)}.scene.is-on .scene-media{animation:14s ease-out forwards push}@keyframes push{0%{transform:scale(1.06)}to{transform:scale(1.16)}}.scene:after{content:"";background:linear-gradient(#0a080780 0%,#0000 26% 62%,#0a0807b8 100%),radial-gradient(60% 50%,#0a080747 0%,#0000 70%);position:absolute;inset:0}.scene-copy{z-index:2;text-align:center;place-content:center;justify-items:center;padding:0 6vw;display:grid;position:absolute;inset:0}.scene-title{font-family:var(--serif);letter-spacing:.36em;text-indent:.36em;text-transform:uppercase;text-shadow:0 2px 40px #00000080;opacity:0;font-size:clamp(30px,5.4vw,74px);font-weight:300;line-height:1.1;transform:translateY(14px)}.scene-sub{letter-spacing:.34em;text-indent:.34em;text-transform:uppercase;color:#f6f1e9d9;text-shadow:0 1px 24px #000000bf;opacity:0;margin-top:20px;font-size:clamp(9px,.85vw,11px);font-weight:300;transform:translateY(10px)}.scene.is-on .scene-title{animation:1.6s cubic-bezier(.2,.7,.3,1) .35s forwards reveal}.scene.is-on .scene-sub{animation:1.4s cubic-bezier(.2,.7,.3,1) .8s forwards reveal}@keyframes reveal{to{opacity:1;transform:none}}.stub{background:var(--stub,linear-gradient(180deg, #f7b267, #b5651d 55%, #2b1a14));position:absolute;inset:0}.stub:after{content:"";background:repeating-linear-gradient(90deg,#0c0807eb 0 3.2%,#0000 3.2% 4.4%,#0c0807d1 4.4% 7%,#0000 7% 8.6%,#0c0807f2 8.6% 12%,#0000 12% 13.4%);height:38%;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 34%);mask-image:linear-gradient(#0000,#000 34%)}.grade{z-index:4;pointer-events:none;mix-blend-mode:multiply;background:radial-gradient(120% 90% at 50% 45%,#0000 40%,#08050499 100%);position:fixed;inset:0}.grain{z-index:5;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.top{z-index:8;letter-spacing:.3em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:20px;padding:clamp(18px,3vh,30px) clamp(20px,4vw,54px);font-size:10px;font-weight:300;display:flex;position:fixed;top:0;left:0;right:0}.brand{font-family:var(--serif);letter-spacing:.42em;text-indent:.42em;color:var(--ink);white-space:nowrap;font-size:16px;text-decoration:none}.menu{gap:clamp(18px,2.6vw,38px);display:flex}.menu a{color:var(--dim);white-space:nowrap;text-decoration:none;transition:color .3s}.menu a:hover,.menu a.active{color:var(--ink)}.loc{color:var(--dim)}.app--page .top{background:var(--night)}.bottom{z-index:8;justify-content:center;align-items:center;gap:22px;padding:clamp(18px,3vh,32px);display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{width:34px;height:34px;color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:1px solid #f6f1e940;border-radius:50%;font-size:12px;transition:color .3s,border-color .3s,background .3s}.nav-btn:hover{color:var(--night);background:var(--ink);border-color:var(--ink)}.dots{gap:9px;list-style:none;display:flex}.dots button{cursor:pointer;background:#f6f1e947;border:0;width:22px;height:2px;padding:0;transition:background .4s,width .4s}.dots button.is-on{background:var(--ink);width:38px}.scroll-hint{z-index:8;letter-spacing:.3em;color:#f6f1e966;font-size:9px;animation:3s ease-in-out infinite hint;position:fixed;bottom:calc(clamp(18px,3vh,32px) + 46px);left:50%;transform:translate(-50%)}@keyframes hint{0%,to{opacity:.4}50%{opacity:.12}}.cta{z-index:6;opacity:0;align-items:center;gap:28px;animation:1.4s cubic-bezier(.2,.7,.3,1) 1.2s forwards cta-reveal;display:flex;position:fixed;top:62%;left:50%;transform:translate(-50%)}@keyframes cta-reveal{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.cta-btn{color:var(--ink);font:inherit;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #f6f1e959;padding:15px 38px;font-size:10px;font-weight:300;text-decoration:none;transition:background .4s,color .4s,border-color .4s}.cta-btn:hover{background:var(--ink);color:var(--night);border-color:var(--ink)}.cta-link{color:var(--dim);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;white-space:nowrap;font-size:10px;text-decoration:none;transition:color .3s}.cta-link:hover{color:var(--ink)}.sheet{z-index:20;opacity:0;pointer-events:none;place-items:center;padding:20px;transition:opacity .45s;display:grid;position:fixed;inset:0}.sheet.is-open{opacity:1;pointer-events:auto}.sheet-scrim{cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#080605db;border:0;padding:0;position:absolute;inset:0}.sheet-panel{background:var(--ink);width:min(940px,100%);max-height:90vh;color:var(--night);padding:clamp(22px,3vw,34px);transition:transform .45s cubic-bezier(.2,.7,.3,1);position:relative;overflow-y:auto;transform:translateY(14px)}.sheet.is-open .sheet-panel{transform:none}.sheet-close{color:#0b090873;width:30px;height:30px;font:inherit;cursor:pointer;background:0 0;border:0;font-size:14px;line-height:1;transition:color .3s;position:absolute;top:14px;right:14px}.sheet-close:hover{color:var(--night)}.cta-btn--wide{text-align:center;color:var(--night);border-color:#0b090859;display:block}.cta-btn--wide:hover{background:var(--night);color:var(--ink);border-color:var(--night)}.app--page{background:var(--night);min-height:100%}.page{max-width:1180px;margin:0 auto;padding:clamp(110px,16vh,170px) clamp(20px,4vw,54px) 80px}.page-head{text-align:center;margin-bottom:clamp(28px,5vh,52px)}.page-title{font-family:var(--serif);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;font-size:clamp(28px,4.6vw,58px);font-weight:300}.page-sub{letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--dim);margin-top:18px;font-size:10px;font-weight:300}.booking-module{background:var(--ink);color:var(--night);border-radius:4px;min-height:420px;padding:clamp(12px,2vw,26px)}.booking-fallback{text-align:center;color:var(--night);padding:40px 20px;line-height:2}.booking-fallback a{color:#b5651d}@media (width<=760px){.loc,.menu-phone,.menu-home{display:none}.top{gap:12px}.menu{letter-spacing:.18em;gap:14px;font-size:9px}.brand{letter-spacing:.2em;text-indent:.2em;font-size:12px}.scene-title{letter-spacing:.24em;text-indent:.24em}.cta{flex-direction:column;gap:18px;top:58%}}@media (prefers-reduced-motion:reduce){.scene.is-on .scene-media{animation:none}*,:before,:after{transition-duration:.2s!important;animation-duration:10ms!important}}.page--tour{padding-bottom:60px}.tour-stage{border:1px solid #f6f1e924;height:min(62vh,620px);min-height:340px;position:relative;overflow:hidden}.tour-canvas,.tour-canvas canvas{width:100%;height:100%;display:block}.tour-labels{pointer-events:none;position:absolute;top:0;left:0}.tour-label{white-space:nowrap;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);text-shadow:0 1px 12px #000000e6;align-items:center;gap:8px;font-size:10px;font-weight:300;display:flex}.tour-label-n{letter-spacing:0;width:18px;height:18px;text-shadow:none;border:1px solid #f6f1e980;border-radius:50%;place-items:center;font-size:9px;display:grid}.tour-label-area{color:var(--dim)}.tour-loading{letter-spacing:.3em;text-transform:uppercase;height:100%;color:var(--dim);place-items:center;font-size:10px;display:grid}.tour-note{letter-spacing:.24em;text-transform:uppercase;text-align:center;color:var(--dim);background:#0b0908b8;padding:10px 16px;font-size:9px;position:absolute;bottom:0;left:0;right:0}.tour-legend{letter-spacing:.22em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:26px;font-size:10px;display:flex}.tour-legend ol{flex-wrap:wrap;gap:22px;list-style:none;display:flex}.tour-legend li{color:var(--ink);align-items:center;gap:8px;display:flex}.tour-legend-area,.tour-meta{color:var(--dim)}.tour-cta{width:min(340px,100%);color:var(--ink);border-color:#f6f1e959;margin:34px auto 0}.tour-cta:hover{background:var(--ink);color:var(--night);border-color:var(--ink)}@media (width<=760px){.tour-stage{height:56vh}.tour-legend{text-align:center;justify-content:center}.tour-legend ol{justify-content:center;gap:14px}}
