:root{--ink:#060507;--cream:#ece0cb;--gold:#cbb48a;--gold-2:#e3cfa6;--mute:#8f877a;--dim:#5f5a52;--line:rgba(203,180,138,.22);--gx:48px;--gy:34px;--serif:"Cormorant Garamond",Georgia,serif;--sans:Inter,system-ui,-apple-system,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}html,body{background:var(--ink);color:var(--cream)}body{font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;line-height:1.5}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}i,em{font-style:italic}.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}#gl{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}#flood{position:fixed;inset:0;z-index:3;pointer-events:none;background:#fff6e6;opacity:0}body.no-gl #gl{display:none}body.no-gl:before{content:"";position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 18% 46% at 50% 44%,#ffecc6f2,#ffe2aa59 40%,#ffdca000 72%),radial-gradient(ellipse 60% 40% at 50% 70%,#78603c47,#0000 70%),var(--ink)}#loader{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:var(--ink);transition:opacity .9s cubic-bezier(.4,0,.2,1),visibility .9s}#loader.done{opacity:0;visibility:hidden}.loader-mark{font-family:var(--serif);font-weight:500;font-size:28px;letter-spacing:.03em}.loader-mark i,.wordmark i{font-style:normal;color:var(--gold)}.loader-line{width:140px;height:1px;background:#cbb48a2e;position:relative;overflow:hidden}.loader-line i{position:absolute;left:0;top:0;height:100%;width:0;background:var(--gold);transition:width .25s linear}.loader-note{color:var(--mute)}#nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:var(--gy) var(--gx);mix-blend-mode:normal;transition:opacity .6s}.wordmark{font-family:var(--serif);font-weight:500;font-size:25px;letter-spacing:.03em;color:var(--cream)}.menu{display:flex;gap:40px;align-items:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#b7ad9c}.menu a{position:relative;padding:6px 0;transition:color .3s}.menu a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:right .4s cubic-bezier(.2,.7,.2,1)}.menu a:hover{color:var(--cream)}.menu a:hover:after{right:0}.sound{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#b7ad9c;padding:6px 0}.sound b{font-weight:500;color:var(--cream)}.sound .dot{width:6px;height:6px;border-radius:50%;border:1px solid var(--gold);transition:background .3s,box-shadow .3s}.sound[aria-pressed=true] .dot{background:var(--gold);box-shadow:0 0 10px #cbb48acc}#hero{position:fixed;inset:0;z-index:10;pointer-events:none;opacity:0}#hero.on{opacity:1}#hero .lead,#hero .rooms,#hero .cue,#hero .word{pointer-events:auto}.word{position:absolute;left:0;top:0;font-family:var(--serif);font-weight:300;font-size:var(--word-size,100px);letter-spacing:.3em;line-height:1;white-space:nowrap;color:#ece0cbeb;will-change:transform,opacity;opacity:0}.word span{display:block}.word-l{transform-origin:right center}.word-l span{margin-right:-.3em}.word .tag{display:block;font-size:.16em;font-weight:400;font-style:italic;letter-spacing:.02em;color:#bfae8c;margin-top:.14em;padding-left:.06em}.lead{position:absolute;left:var(--gx);bottom:44px;max-width:440px}.eyebrow{display:block}.lead h1{font-family:var(--serif);font-weight:300;font-size:42px;line-height:1.08;margin:14px 0;color:var(--cream)}.lead h1 em{color:var(--gold-2)}.lead p{font-size:13.5px;line-height:1.7;color:#a99f8f;max-width:430px;text-wrap:pretty}.rooms{position:absolute;right:var(--gx);bottom:44px;display:grid;grid-template-columns:repeat(3,128px);column-gap:22px;row-gap:16px}.rooms-head{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:4px}.rooms-head a{transition:color .3s}.rooms-head a:hover{color:var(--cream)}.room{display:block;border-top:1px solid var(--line);padding-top:10px;transition:border-color .4s}.room .n,.room .t,.room .k{display:block}.room:hover{border-color:#e3cfa6b3}.room .n{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--gold)}.room .t{font-family:var(--serif);font-size:23px;font-weight:400;margin-top:2px;color:var(--cream);line-height:1.1}.room .k{font-size:11px;color:var(--mute);margin-top:3px;letter-spacing:.02em}.cue{position:absolute;left:50%;transform:translate(-50%);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:10px}.scroll-hint{display:inline-block;margin-top:22px;color:#9a8f7c;transition:color .3s}.scroll-hint:hover{color:var(--cream)}.cue i{display:block;width:1px;height:38px;background:linear-gradient(var(--gold),transparent);transform-origin:top;animation:cue 2.6s cubic-bezier(.6,0,.3,1) infinite}@keyframes cue{0%{transform:scaleY(0);opacity:0}30%{transform:scaleY(1);opacity:1}to{transform:scaleY(1) translateY(10px);opacity:0}}#hero .lead,#hero .rooms,#hero .cue{opacity:0;transform:translateY(14px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}#hero.on .lead{opacity:1;transform:none;transition-delay:.9s}#hero.on .rooms{opacity:1;transform:none;transition-delay:1.15s}#hero.on .cue{opacity:1;transform:none;transition-delay:1.6s}#hero.on .word{opacity:1;transition:opacity 1.6s cubic-bezier(.2,.7,.2,1) .5s}#passage{height:260vh}#top{position:absolute;top:0}#hall-labels{position:fixed;inset:0;z-index:5;pointer-events:none}.hl{position:absolute;left:0;top:0;transform:translate(-50%);text-align:center;white-space:nowrap;opacity:0;transition:opacity .5s;pointer-events:auto;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.9),0 0 16px rgba(0,0,0,.95)}.hl .n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gold)}.hl .t{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--cream);line-height:1.1;margin-top:2px;transition:color .3s}.hl .d{font-size:12px;color:var(--mute);margin-top:4px;max-height:0;opacity:0;overflow:hidden;transition:max-height .4s,opacity .4s}.hl.hot .d{max-height:40px;opacity:1}.hl .s{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#9a8f7c;margin-top:5px}.hl.on{opacity:1}.hl.hot .t{color:#fff3dc}.hl.hot .s{color:var(--gold)}main{position:relative;z-index:6}.section{min-height:100vh;display:flex;align-items:center;padding:120px var(--gx)}.section-inner{width:100%;max-width:1180px;margin:0 auto}.section-inner.narrow{max-width:720px}.section h2{font-family:var(--serif);font-weight:300;font-size:56px;line-height:1.05;margin:16px 0 36px;color:var(--cream)}.section h2 em{color:var(--gold-2)}#worlds{align-items:flex-start;padding-top:110px}#worlds .section-inner{max-width:560px;margin:0 auto;padding-bottom:16px}@media(min-width:641px){body.gl #worlds .section-inner{text-align:center}}@media(min-width:641px){body.gl #worlds .directory{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}#worlds h2{font-size:44px}.directory{list-style:none;counter-reset:room}.directory li{display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:18px;padding:16px 0;border-top:1px solid var(--line);transition:border-color .4s;cursor:pointer}.directory li:last-child{border-bottom:1px solid var(--line)}.directory li:hover,.directory li.hot{border-top-color:#e3cfa6bf}.directory .n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--gold)}.directory .t{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1;color:var(--cream)}.directory .d{display:block;font-size:12.5px;color:var(--mute);margin-top:6px;letter-spacing:.01em}.directory .s{font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.directory a.s{color:var(--gold)}.prose p{font-family:var(--serif);font-size:24px;font-weight:300;line-height:1.5;color:#cfc3ad;margin-bottom:22px}.prose p:first-child:first-letter{color:var(--gold-2)}.mail{display:inline-block;font-family:var(--serif);font-size:44px;font-weight:300;color:var(--cream);position:relative;padding-bottom:6px;transition:color .3s}.mail i{position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.mail:hover{color:#fff3dc}.mail:hover i{transform:scaleX(.3)}.foot{display:flex;justify-content:space-between;margin-top:140px;color:var(--dim);letter-spacing:.14em}.rv{opacity:0;transform:translateY(18px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.cue i{animation:none}.rv{transition:none;opacity:1;transform:none}#hero .lead,#hero .rooms,#hero .cue,#hero .word{transition:none}}@media(max-width:640px){:root{--gx:20px;--gy:22px}.wordmark{font-size:22px}.menu{gap:18px;font-size:9.5px;letter-spacing:.16em}.menu a{display:none}.sound{font-size:9.5px;letter-spacing:.16em}.word{font-size:var(--word-size,30px);letter-spacing:.2em}.word-l span{margin-right:-.2em}.word .tag{font-size:.4em}.lead{left:var(--gx);right:var(--gx);bottom:150px;max-width:none}.lead h1{font-size:31px;margin:10px 0}.lead p{font-size:12px;max-width:none;line-height:1.6}.rooms{left:var(--gx);right:var(--gx);bottom:26px;grid-template-columns:repeat(3,1fr);column-gap:12px;row-gap:10px}.rooms-head{display:none}.room{padding-top:7px}.room .t{font-size:18px}.room .k,.cue,.scroll-hint{display:none}#passage{height:220vh}#hall-labels{display:none}.section{padding:90px var(--gx)}#worlds .section-inner{position:relative}#worlds .section-inner:before{content:"";position:absolute;inset:-30px -20px;background:radial-gradient(ellipse at 50% 40%,#060507d1,#0605078c 60%,#06050700);z-index:-1}.section h2,#worlds h2{font-size:34px;margin:12px 0 26px}.directory li{grid-template-columns:36px 1fr auto;gap:12px;padding:13px 0}.directory .t{font-size:24px}.directory .d{font-size:12px}.prose p{font-size:20px}.mail{font-size:28px}.foot{margin-top:90px;flex-direction:column;gap:8px}}
