:root{--bg: #0d0b09;--ink: #ece4d6;--ink-soft: #c9bfae;--ink-mute: #8c8273;--line: rgba(236, 228, 214, .22);--panel: rgba(16, 13, 11, .78);--f-title: "Cormorant Garamond", Georgia, serif;--f-italic: "Cormorant Garamond", Georgia, serif;--f-nav: "Libre Baskerville", Georgia, serif;--f-hand: "Cedarville Cursive", cursive;--f-body: "Crimson Pro", Georgia, serif;--gutter: clamp(16px, 4.5vw, 72px);--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased}body{font-family:var(--f-body);font-size:18px;line-height:1.55}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.stage{position:fixed;top:0;right:0;bottom:0;left:0;touch-action:none}.stage.flat{background:radial-gradient(120% 80% at 70% 100%,#3a2b24 0%,#1a1411 45%,var(--bg) 75%)}.ui{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.ui>*{pointer-events:auto}.ui.is-outside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#0d0b09eb,#0d0b0999 34%,#0d0b0900 62%),linear-gradient(0deg,#0d0b09d9,#0d0b0900 28%);pointer-events:none;animation:fade 1.2s var(--ease) both}.ui:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0d0b09bf,#0d0b0900 18%);pointer-events:none}.top{position:absolute;top:0;left:0;right:0;z-index:2;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:28px var(--gutter)}.brand{display:flex;flex-direction:column;align-items:center;gap:4px}.brand-logo{display:block;width:84px;height:auto;transition:opacity .4s var(--ease)}.brand:hover .brand-logo{opacity:.85}.brand-mark{font-family:var(--f-title);font-weight:400;font-size:20px;letter-spacing:.55em;margin-right:-.55em}.nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 30px;font-family:var(--f-nav);font-size:13px;letter-spacing:.04em}.nav button{position:relative;padding:6px 0;color:var(--ink-soft);transition:color .3s var(--ease)}.nav button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transition:transform .4s var(--ease)}.nav button:hover,.nav button[aria-current=page]{color:var(--ink)}.nav button:hover:after,.nav button[aria-current=page]:after{transform:scaleX(1)}.motto{margin:0;font-family:var(--f-italic);font-style:italic;font-weight:300;font-size:17px;line-height:1.2;text-align:right;letter-spacing:.06em;color:var(--ink-soft)}.menu-btn{display:none;font-family:var(--f-nav);font-size:13px;letter-spacing:.08em;justify-self:end}.hero{position:absolute;left:var(--gutter);top:50%;transform:translateY(-52%);max-width:520px;z-index:1}.hero>*{animation:rise 1.4s var(--ease) both}.hero>*:nth-child(2){animation-delay:.12s}.hero>*:nth-child(3){animation-delay:.24s}.hero>*:nth-child(4){animation-delay:.36s}.hero>*:nth-child(5){animation-delay:.5s}.hero>*:nth-child(n+6){animation-delay:.64s}.hero-title{margin:0 -.3em 0 0;font-family:var(--f-title);font-weight:400;font-size:clamp(56px,8vw,104px);line-height:1;letter-spacing:.3em}.hero-tag{margin:14px 0 0;font-family:var(--f-italic);font-style:italic;font-weight:300;font-size:clamp(22px,2.3vw,30px);letter-spacing:.1em}.hero-intro{margin:26px 0 0;font-size:19px;font-weight:300;color:var(--ink-soft);max-width:44ch}.rule{display:block;width:52px;height:1px;background:var(--ink-mute);margin:34px 0 30px}.script{margin:0;font-family:var(--f-hand);font-size:clamp(24px,2.3vw,30px);line-height:1.3;color:var(--ink-mute);transform:rotate(-4deg);transform-origin:left}.enter{margin-top:36px;padding:14px 30px;border:1px solid var(--line);font-family:var(--f-nav);font-size:13px;letter-spacing:.14em;text-transform:uppercase;transition:background .4s var(--ease),border-color .4s var(--ease),transform .2s var(--ease)}.enter:hover{background:#ece4d614;border-color:var(--ink-soft)}.enter:active{transform:scale(.97)}.hint-small{margin:12px 0 0;font-family:var(--f-italic);font-style:italic;font-size:16px;color:var(--ink-mute)}.foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;animation:fade 1.6s .6s var(--ease) both}.foot blockquote{margin:0}.foot blockquote p{margin:0;font-family:var(--f-italic);font-style:italic;font-size:22px}.foot cite{display:flex;align-items:center;gap:12px;margin-top:6px;font-style:normal;font-family:var(--f-nav);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute)}.foot cite:before{content:"";width:36px;height:1px;background:var(--ink-mute)}.socials{list-style:none;display:flex;gap:18px;margin:0;padding:0}.socials a{color:var(--ink-soft);display:block;transition:color .3s var(--ease)}.socials a:hover{color:var(--ink)}.courtyard-hint{position:absolute;left:var(--gutter);right:var(--gutter);bottom:28px;margin:0 auto;max-width:900px;text-align:center;animation:rise 1s 1.4s var(--ease) both}.courtyard-hint p{margin:0;font-family:var(--f-italic);font-style:italic;font-size:19px;color:var(--ink-soft)}.kicker{font-family:var(--f-nav)!important;font-style:normal!important;font-size:11px!important;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-mute)!important;margin:0 0 6px!important}.doors{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0 0;padding:0}.doors button{padding:9px 16px;border:1px solid var(--line);background:#0d0b098c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--f-title);font-size:14px;letter-spacing:.24em;text-transform:uppercase;transition:border-color .3s var(--ease),background .3s var(--ease)}.doors button:hover{border-color:var(--ink-soft);background:#0d0b09cc}.hover-tip{position:absolute;left:50%;top:50%;transform:translate(-50%,40px);margin:0;font-family:var(--f-italic);font-style:italic;font-size:20px;text-shadow:0 2px 12px rgba(0,0,0,.8);pointer-events:none;animation:fade .3s var(--ease) both}.panel{position:absolute;top:110px;right:var(--gutter);bottom:32px;width:min(440px,40vw);overflow-y:auto;padding:40px 38px;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(236,228,214,.1);animation:panel 1.1s 1.2s var(--ease) both;scrollbar-width:thin;scrollbar-color:var(--ink-mute) transparent;outline:none}.panel h2{margin:0;font-family:var(--f-title);font-weight:400;font-size:46px;line-height:1.05;letter-spacing:.2em;text-transform:uppercase}.room-intro{margin:16px 0 0;font-family:var(--f-italic);font-style:italic;font-size:21px;line-height:1.4;color:var(--ink-soft)}.items{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line)}.items li{padding:20px 0;border-bottom:1px solid var(--line)}.items h3{margin:0;font-family:var(--f-title);font-weight:500;font-size:24px}.items .meta{margin:2px 0 8px;font-family:var(--f-nav);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.items p{margin:0;color:var(--ink-soft);font-weight:300}.back{margin-top:28px;font-family:var(--f-nav);font-size:13px;letter-spacing:.06em;color:var(--ink-soft);transition:color .3s var(--ease)}.back:hover{color:var(--ink)}.veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-content:center;text-align:center;background:var(--bg);transition:opacity 1.4s var(--ease),visibility 1.4s}.veil.gone{opacity:0;visibility:hidden}.veil-logo{display:block;width:140px;height:auto;margin:0 auto 10px;animation:breathe 2.4s ease-in-out infinite}.veil-mark{margin:0 -.6em 0 0;font-family:var(--f-title);font-size:34px;letter-spacing:.6em}.veil-text{margin:10px 0 0;font-family:var(--f-italic);font-style:italic;font-size:18px;color:var(--ink-mute);animation:breathe 2.4s ease-in-out infinite}@keyframes breathe{50%{opacity:.4}}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes panel{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.hero{animation:none}.ui:not(.ready) .hero>*,.ui:not(.ready) .foot,.ui:not(.ready):before{animation-play-state:paused}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}@media (max-width: 899px){.top{grid-template-columns:1fr auto;padding:20px var(--gutter)}.motto{display:none}.menu-btn{display:block;padding:8px 0}.nav{position:fixed;top:64px;left:var(--gutter);right:var(--gutter);flex-direction:column;align-items:flex-start;gap:0;padding:12px 20px;max-height:calc(100dvh - 84px);overflow-y:auto;overscroll-behavior:contain;background:#0d0b09f0;border:1px solid var(--line);font-size:15px;opacity:0;transform:translateY(-8px);visibility:hidden;transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s}.nav.open{opacity:1;transform:none;visibility:visible}.nav button{width:100%;text-align:left;padding:12px 0}.nav button:after{display:none}.ui.is-outside:before{background:linear-gradient(0deg,#0d0b09f5,#0d0b09bf 45%,#0d0b0900 70%)}.hero{top:auto;bottom:120px;transform:none;right:var(--gutter)}.hero-intro{font-size:17px;margin-top:16px}.rule,.script{display:none}.enter{margin-top:22px}.foot{bottom:20px}.foot blockquote p{font-size:18px}.panel{top:auto;left:0;right:0;bottom:0;width:auto;max-height:58vh;padding:28px var(--gutter) 32px;border-width:1px 0 0;animation-name:sheet}.panel h2{font-size:34px}.doors button{font-size:12px;padding:8px 12px}}@keyframes sheet{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
