.door-hotspot{z-index:2;cursor:pointer;background:0 0;border:none;padding:0;position:absolute}.door-hotspot.is-pending{cursor:default}
.room-doors{--leaf-side:linear-gradient(90deg, #ddcba6, #b7a07a 70%, #9a8562);--leaf-wood:linear-gradient(90deg, #4b2d1d, #33201a 70%, #24160f);position:absolute;inset:0}.room-doors[data-foyer=night]{--leaf-side:var(--leaf-wood)}.door-ajar{pointer-events:none;opacity:0;perspective:var(--swing-depth,600px);transition:opacity .18s;position:absolute}.door-ajar.is-open{opacity:1}.door-ajar-view{background-color:#2a150d;background-image:var(--view);background-size:var(--view-size);background-position:var(--view-pos);filter:brightness(1.2)saturate(1.05);background-repeat:no-repeat;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 18px #00000073}.door-ajar-view:after{content:"";background:radial-gradient(70% 60% at 50% 45%,#ffdca057,#ffdca000 70%),linear-gradient(#ffeccd1f,#ffeccd1f);position:absolute;inset:0}.room-doors:not(.is-visited) .door-ajar-view{background-image:none}.scroll-sequence-overlay:not(.is-active) :is(.door-ajar,.door-ajar-leaf,.door-light){transition:none}.door-ajar-leaf{background:var(--leaf-side);backface-visibility:hidden;transition:transform .72s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 1px #3c281440}.door-ajar-leaf:after{content:"";border:1px solid #46321c4d;position:absolute;inset:9% 18% 52%}.door-ajar--both .door-ajar-leaf{background:var(--leaf-wood)}.door-ajar--left .is-left,.door-ajar--right .is-right{width:100%}.door-ajar--both .door-ajar-leaf{width:50%}.door-ajar-leaf.is-left{transform-origin:0;left:0}.door-ajar-leaf.is-right{transform-origin:100%;right:0}.door-ajar.is-open .door-ajar-leaf.is-left{transform:rotateY(72deg)}.door-ajar.is-open .door-ajar-leaf.is-right{transform:rotateY(-72deg)}.door-sill{pointer-events:none;background:linear-gradient(90deg,#0000 28%,#ffd696 30% 70%,#0000 72%) 0 47%/100% 2px no-repeat,radial-gradient(50% 44% at 50% 52%,#ffc476cc,#ffc47647 45%,#ffc47600 75%);position:absolute}.door-light{pointer-events:none;opacity:0;transition:opacity .42s;position:absolute}.door-light.is-open{opacity:1}.door-light:before{content:"";background:radial-gradient(50% 50%,#ffce8c3d,#ffce8c00 70%);position:absolute;inset:-55% -190% -70%}.door-light:after{content:"";clip-path:polygon(33.4% 0,66.6% 0,100% 100%,0 100%);background:linear-gradient(#ffd6a066,#ffd6a000 85%);height:100%;position:absolute;top:100%;left:-100%;right:-100%}.room-island{z-index:46;opacity:0;visibility:hidden;pointer-events:none;gap:6px;height:112px;transition:opacity .6s,visibility 0s linear .6s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.room-island.is-shown{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .6s,visibility}.room-island-room{color:#f7f2eabd;height:100%;text-shadow:var(--navbar-shadow,var(--on-room));cursor:pointer;background:0 0;border:0;align-items:center;padding:0 22px;font-size:15px;transition:color .2s;display:flex;position:relative}.room-island-room.is-on{color:var(--ivory)}.room-island-room:after{content:"";background:var(--gold);opacity:0;height:3px;transition:opacity .2s;position:absolute;bottom:-1px;left:22px;right:22px;box-shadow:0 0 14px #e8c88cbf}.room-island-room.is-on:after{opacity:1}.room-island-room:disabled{opacity:.4;cursor:default}@media (min-width:768px) and (max-height:520px){.room-island{height:68px}.room-island-go{top:12px}.room-island-go:before{inset:-12px 0 -12px -10px}}@media (min-width:768px) and (max-width:1099px){.room-island-room{padding:0 14px}.room-island-room:after{left:14px;right:14px}}.room-island-go{opacity:0;pointer-events:none;transform-origin:0;width:44px;height:44px;min-height:44px;padding:0;transition:opacity .2s,transform .26s cubic-bezier(.2,.7,.2,1),background-color .16s;position:absolute;top:34px;left:calc(100% + 2px);transform:translate(-8px)scale(.7)}.room-island-go:before{content:"";position:absolute;inset:-34px 0 -34px -10px}.room-island-go.is-on{opacity:1;pointer-events:auto;transform:none}.room-island:not(.is-shown) .room-island-room,.room-island:not(.is-shown) .room-island-room:after,.room-island:not(.is-shown) .room-island-go{transition:none}.room-doors.is-entering:before{content:"";z-index:4;background:#0807068c;animation:.5s both door-dim;position:absolute;inset:0}.scroll-sequence-stage:has(.room-doors.is-entering) .scroll-sequence-canvas{transition:transform .76s cubic-bezier(.65,0,.25,1);transform:scale(.97)}.door-portal{z-index:5;clip-path:var(--from);background:#0b0a09;animation:.76s cubic-bezier(.65,0,.25,1) forwards door-portal-open;position:absolute;inset:0;overflow:hidden}.door-portal-img{max-width:none;animation:.76s cubic-bezier(.65,0,.25,1) both door-portal-settle;position:absolute}@keyframes door-dim{0%{opacity:0}}@keyframes door-portal-open{0%{clip-path:var(--from)}to{clip-path:inset(0)}}@keyframes door-portal-settle{0%{transform:scale(1.08)}}@media (prefers-reduced-motion:reduce){.door-ajar-leaf{transition:none}.room-island-go{transition:opacity .2s,background-color .16s;transform:none}}.room-doors-list{background:linear-gradient(#0000 0%,#000000b3 55%,#000000eb 100%);flex-direction:column;justify-content:flex-end;align-items:center;gap:1rem;padding:0 1.5rem 3rem;display:flex;position:absolute;inset:0}.room-doors-list-title{color:var(--gold);font:650 13px/1 var(--font-sans), system-ui, sans-serif;letter-spacing:.16em;text-transform:uppercase;font-stretch:87.5%}.room-doors-list ul{border-top:1px solid var(--rule);flex-direction:column;width:100%;max-width:22rem;margin:0;padding:0;list-style:none;display:flex}.room-doors-list-room{border:0;border-bottom:1px solid var(--rule);width:100%;min-height:3.5rem;color:var(--ivory);font:800 24px/1 var(--font-sans), system-ui, sans-serif;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:0 .25rem;font-stretch:75%;display:flex}.room-doors-list-room .cc-arrow{color:var(--gold)}.room-doors-list-room:disabled{opacity:.4;cursor:default}.room-doors-list-room em{color:var(--ivory-2);font:500 13px/1 var(--font-sans), system-ui, sans-serif;text-transform:none;font-style:normal}@media (prefers-reduced-motion:no-preference){.scroll-sequence-overlay.is-active .room-doors-list-title,.scroll-sequence-overlay.is-active .room-doors-list li{animation:.62s cubic-bezier(.2,.7,.2,1) both cc-room-in}.scroll-sequence-overlay.is-active .room-doors-list li:first-child{animation-delay:90ms}.scroll-sequence-overlay.is-active .room-doors-list li:nth-child(2){animation-delay:.17s}.scroll-sequence-overlay.is-active .room-doors-list li:nth-child(3){animation-delay:.25s}}@keyframes cc-room-in{0%{opacity:0;clip-path:inset(-20% 100% -20% -10%);transform:translate(-14px)}to{opacity:1;clip-path:inset(-20% -10%);transform:none}}.room-doors-list-room:active{background:linear-gradient(90deg,#dcc2931f,#0000 70%)}.room-doors-calibrate{cursor:crosshair;position:absolute;inset:0}.room-doors-calibrate-frame{pointer-events:none;outline:1px dashed #00c8ffb3;position:absolute}.room-doors-calibrate-guide{pointer-events:none;background:#00ff8c8c;width:1px;position:absolute;top:0;bottom:0}.room-doors-calibrate-rect{letter-spacing:.1em;color:#d4af37;pointer-events:none;outline:1px solid #d4af37e6;font-size:.6rem;position:absolute}.room-doors-calibrate-rect.is-cropped{color:#ff5050;outline-color:#ff5050e6}.room-doors-calibrate-panel{color:#d4af37;cursor:default;background:#000000d9;border:1px solid #d4af3766;flex-direction:column;gap:.5rem;max-width:min(30rem,100% - 2rem);padding:.85rem 1rem;font-size:.7rem;line-height:1.5;display:flex;position:absolute;top:5rem;left:1rem}.room-doors-calibrate-panel pre{white-space:pre;max-height:40vh;margin:0;font-size:.65rem;overflow:auto}.room-doors-calibrate-actions{gap:.5rem;display:flex}.room-doors-calibrate-panel button{color:#d4af37;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:1px solid #d4af3780;padding:.35rem .75rem;font-size:.65rem}
.foyer-video{z-index:1;left:var(--reel-left);top:var(--reel-top);width:var(--reel-width,0px);height:var(--reel-height,0px);color:var(--gold);position:absolute;container-type:inline-size}.foyer-video-frame{width:100%;height:100%;box-shadow:0 0 0 1px var(--gold-deep), 0 0 0 2px #000000bf, inset 0 0 0 1px #f0dcb02e, 0 18px 36px #0009, 0 0 70px 14px #ffd6a029;background:linear-gradient(#211f1d,#0b0a0a 30%,#050505);border-radius:.5cqw;padding:1.5cqw;position:relative;overflow:hidden}.foyer-video-frame:after{content:"";pointer-events:none;background:linear-gradient(118deg,#ffffff17,#ffffff05 34%,#fff0 35%);position:absolute;inset:1.5cqw}.foyer-video:after{content:"";pointer-events:none;background:#ffd9a8;border-radius:50%;width:3px;height:3px;margin-left:-1.5px;position:absolute;bottom:calc(.75cqw - 1.5px);left:50%;box-shadow:0 0 6px #ffcf8f}.foyer-video video,.foyer-video-placeholder{object-fit:cover;background:#090909;border-radius:.2cqw;width:100%;height:100%;display:flex}.foyer-video-bug{z-index:1;opacity:.7;filter:drop-shadow(0 1px 4px #0009);pointer-events:none;width:8cqw;height:auto;position:absolute;top:6cqw;right:6cqw}.foyer-video-placeholder{text-align:center;background:radial-gradient(at 50% 40%,#241d16,#0b0a09 80%);flex-direction:column;justify-content:center;align-items:center;gap:3cqw;padding:6cqw}.foyer-video-title,.foyer-video-note{letter-spacing:.16em;text-transform:uppercase;font-weight:650;font-stretch:87.5%}.foyer-video-title{font-size:clamp(12px,4.4cqw,15px)}.foyer-video-note{color:var(--ivory-2);font-size:12px}.foyer-video-toggle{z-index:2;width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--rule), 0 4px 14px #00000059;color:var(--ivory);cursor:pointer;opacity:0;background:#0b0a09c7;border:0;border-radius:0;place-items:center;padding:0;transition:opacity .2s;display:grid;position:absolute;bottom:calc(1.5cqw + clamp(6px,3cqw,12px));right:calc(1.5cqw + clamp(6px,3cqw,12px))}.foyer-video:hover .foyer-video-toggle,.foyer-video-toggle:focus-visible,.foyer-video-toggle.is-stopped{opacity:1}.foyer-video-pause{border-inline:3.5px solid;width:11px;height:13px}.foyer-video-play{border-block:7px solid #0000;border-left:11px solid;width:0;height:0;margin-left:3px}@media (hover:none){.foyer-video-toggle{opacity:1}}@media (max-width:767px){.scroll-sequence-overlay:has(.foyer-video) .room-doors-list{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}}
.seasonal-layer{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}
.scroll-sequence{background:#000;width:100%;position:relative}.scroll-sequence-stage{width:100%;height:100vh;position:sticky;top:0;overflow:hidden}.scroll-sequence-canvas{width:100%;height:100%;display:block}.scroll-sequence-tint{pointer-events:none;position:absolute;inset:0}.scroll-sequence-title{background:var(--ink);pointer-events:none;place-items:center;transition:background-color .7s,opacity .9s;display:grid;position:absolute;inset:0;overflow:hidden}.scroll-sequence-title.is-over-frame{background:0 0}.scroll-sequence-title.is-done{opacity:0}.scroll-sequence-title.is-skipped{transition:none}.scroll-sequence-title-blur{object-fit:cover;filter:blur(14px)brightness(.62)saturate(1.1);width:100%;height:100%;animation:.7s both scroll-sequence-title-blur-in;position:absolute;inset:0;transform:scale(1.06)}.scroll-sequence-title-mark{filter:drop-shadow(0 6px 30px #00000073);width:min(62vw,56rem);height:auto;animation:1.1s both scroll-sequence-title-in;position:relative}@keyframes scroll-sequence-title-blur-in{0%{opacity:0}}@keyframes scroll-sequence-title-in{0%{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}.scroll-sequence-progress{pointer-events:none;background:#dcc2931f;height:2px;transition:opacity .6s;position:absolute;bottom:0;left:0;right:0}.scroll-sequence-progress>span{background:var(--cc-accent,var(--gold));transform-origin:0;height:100%;transition:transform .3s linear;display:block}.scroll-sequence-progress.is-done{opacity:0}.scroll-sequence-loader{background:var(--ink);color:var(--gold);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.scroll-sequence-loader-text,.scroll-sequence-loader-pct{letter-spacing:.16em;text-transform:uppercase;font-size:13px;font-weight:650;font-stretch:87.5%}.scroll-sequence-loader-pct{color:var(--ivory-2)}@media (prefers-reduced-motion:reduce){.scroll-sequence-title-mark,.scroll-sequence-title-blur{animation:none}}.scroll-sequence-overlay{opacity:.001;pointer-events:none;will-change:opacity;transition:opacity .6s;position:absolute;inset:0}.scroll-sequence-overlay.is-active{opacity:1;pointer-events:auto}
