@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Libre+Caslon+Display&display=swap');
:root{--ivory:#f5f0e3;--mist:#b9d3d5;--brass:#d7b87d;--navy:#071e2b;--teal:#78c7cc}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--navy);color:var(--ivory)}body{font:14px/1.7 'DM Sans',Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:6px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:100px;z-index:100;background:var(--navy);padding:15px}.world{height:100svh;min-height:740px;position:relative;isolation:isolate;overflow:hidden}.landscape{position:absolute;inset:0;z-index:-1;overflow:hidden}.scene{position:absolute;inset:-1.8%;width:103.6%;height:103.6%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.2s ease,filter 1s ease;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.012);will-change:opacity,transform}.scene.active{opacity:1}.scene-shade{position:absolute;inset:0;background:linear-gradient(90deg,#051b2bb3 0%,#051b2b40 40%,transparent 72%),linear-gradient(0deg,#03131fdf,transparent 25%,transparent 76%,#041b2b90)}.vignette{position:absolute;inset:0;box-shadow:inset 0 0 180px 20px #00111b66;pointer-events:none}.northern-light{position:absolute;width:75%;height:55%;left:-15%;top:-30%;background:radial-gradient(ellipse,#46ccb22b,transparent 65%);filter:blur(45px);mix-blend-mode:screen;transform:rotate(-20deg);animation:borealis 18s ease-in-out infinite alternate;pointer-events:none}#snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:opacity 1s}body:not([data-scene=arrival]) #snow{opacity:0}body:not([data-scene=arrival]) .northern-light{opacity:.15}body[data-scene=reception] .scene-shade{background:linear-gradient(90deg,#041b2b9c,transparent 38%),linear-gradient(0deg,#03131ff0,transparent 25%,transparent 75%,#041b2b99)}body[data-scene=room] .scene-shade{background:linear-gradient(270deg,#03131fdd,transparent 72%),linear-gradient(0deg,#03131ff0,transparent 35%,transparent 80%,#041b2b99)}.world-header{position:absolute;top:0;left:0;right:0;padding:38px 4.5%;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:5}.world-brand{width:350px;display:block}.world-brand img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);opacity:.96}.world-header nav{display:flex;gap:28px;align-items:center;font-size:11px;letter-spacing:.4px}.world-header button{background:transparent;padding:8px 0;display:flex;align-items:center;gap:10px}.journal-shortcut{opacity:.8}.world-header button:hover,.journal-shortcut:hover{color:var(--brass)}#rooms-open{border-left:1px solid #d8e7de50;padding-left:25px;gap:22px}.menu-symbol{font-size:17px;font-weight:400}.sound-bars{display:inline-flex;gap:3px;align-items:center;height:16px}.sound-bars i{height:3px;width:2px;background:currentColor}.sound-bars i:nth-child(2){height:10px}.sound-bars i:nth-child(3){height:15px}.sound-bars i:nth-child(4){height:7px}[aria-pressed=true] .sound-bars i{animation:levels 1.3s ease-in-out infinite alternate}[aria-pressed=true] .sound-bars i:nth-child(2){animation-delay:.3s}[aria-pressed=true] .sound-bars i:nth-child(3){animation-delay:.6s}.eyebrow{font-size:9px;letter-spacing:3px;font-weight:500;margin:0 0 28px;color:var(--brass)}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.02;margin:0}em{font-weight:400;color:inherit}h1{font-size:clamp(65px,6.2vw,105px);letter-spacing:-1px}h1 em{color:#c0e0df}.arrival-copy{position:absolute;left:7%;top:28%;max-width:700px;animation:appear 1.1s ease both}.arrival-subtitle{font-size:15px;line-height:1.8;color:#d9e6e4;margin:28px 0 30px;letter-spacing:.4px}.enter-button{display:inline-flex;gap:45px;align-items:center;border:1px solid #d5c29999;background:#07273755;padding:14px 22px;font-size:12px;transition:.3s;backdrop-filter:blur(6px)}.enter-button span{font-size:19px;color:var(--brass)}.enter-button:hover{background:var(--ivory);color:var(--navy);border-color:var(--ivory);transform:translateY(-2px)}.quiet-link{display:block;margin-top:18px;font-size:10px;color:#c4d6d8;letter-spacing:.2px}.quiet-link:hover{color:var(--brass)}.reception-copy{position:absolute;left:6%;top:22%;max-width:380px;animation:appear .8s ease both;pointer-events:none}.reception-copy h2{font-size:61px}.reception-copy p:not(.eyebrow){font-size:12px;color:#e0e1d6;margin-top:22px;line-height:1.9}.reception-copy .eyebrow{font-size:8px;margin-bottom:20px}.room-pins{position:absolute;inset:0;pointer-events:none}.room-pin{position:absolute;transform:translate(-50%,-50%);padding:9px 14px;background:#082638ba;border:1px solid #d6c49388;border-radius:1px;backdrop-filter:blur(10px);font-size:10px;letter-spacing:.5px;display:flex;gap:10px;align-items:center;pointer-events:auto;box-shadow:0 4px 30px #0004;transition:background .25s,box-shadow .25s}.room-pin:before{content:'';width:5px;height:5px;background:var(--brass);border-radius:50%;box-shadow:0 0 0 4px #d7b87d20}.room-pin:hover{background:#0e3c4ee8;box-shadow:0 0 25px #cfb16c44}.world-bottom{position:absolute;bottom:33px;left:4.5%;right:4.5%;display:flex;justify-content:space-between;gap:25px;align-items:end;font-size:8px;letter-spacing:1.3px}.place-note{display:flex;gap:14px;align-items:center}.place-rule{display:block;width:35px;height:1px;background:var(--brass)}.place-note small{display:block;font-size:9px;letter-spacing:.2px;opacity:.65;margin-top:4px}.world-tools{display:flex;align-items:center;gap:22px}.world-tools button{background:none;padding:0;color:#c8d9da;font-size:9px;letter-spacing:.2px}.development-label{border-left:1px solid #d5e7e440;padding-left:20px;opacity:.55;font-size:7px}.room-rail{position:absolute;left:4.5%;right:4.5%;bottom:92px;display:flex;border-top:1px solid #d1d5bb55;border-bottom:1px solid #d1d5bb33;background:#05202f55;backdrop-filter:blur(15px);justify-content:space-between}.room-rail button{padding:15px 12px 17px;background:none;text-align:left;flex:1;transition:.3s;font:18px/1.12 'Libre Caslon Display',Georgia,serif;color:#e1e5da}.room-rail button+button{border-left:1px solid #c5d5cf25}.room-rail button span{display:block;font:7px 'DM Sans',sans-serif;letter-spacing:1.4px;color:var(--brass);margin-bottom:7px}.room-rail button[aria-current=true],.room-rail button:hover{background:#bf9b4b22;color:white}.back-hall{position:absolute;left:4.5%;top:145px;background:#08263899;border:1px solid #d6c49366;padding:9px 15px;font-size:10px;backdrop-filter:blur(15px)}.room-panel{position:absolute;right:6%;top:21%;width:440px;max-height:calc(100svh - 360px);overflow:auto;padding:28px 32px 30px;background:linear-gradient(135deg,#092638ea,#062230dc);border:1px solid #b7c5b54d;box-shadow:0 20px 80px #0005;backdrop-filter:blur(20px);animation:appear .7s ease both;scrollbar-width:thin;scrollbar-color:#8b9c94 #153543}.room-panel .eyebrow{font-size:8px;margin-bottom:20px}.room-panel h2{font-size:53px}.room-panel .room-intro{color:#c0d1d1;font-size:12px;line-height:1.8;margin:18px 0}.room-panel .room-primary{font-size:11px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #bba46f66;border-bottom:1px solid #bba46f66;padding:13px 0;color:#e8d8ad;margin:22px 0}.room-panel .room-primary:hover{color:white}.room-extra{display:block;padding:10px 0;border-bottom:1px solid #c7d8d526;font:22px/1.2 'Libre Caslon Display',Georgia,serif}.room-extra small{display:block;font:8px 'DM Sans',sans-serif;color:#91b3ba;margin:0 0 7px;letter-spacing:1px}.room-extra:hover{color:var(--brass)}.room-panel label{font-size:9px;color:#c7d2c9;display:block;margin-bottom:7px}.room-panel input{width:100%;border:1px solid #b2c4bd55;padding:11px;background:#ecf2df0d;color:white;font-size:12px}.room-panel input::placeholder{color:#a1b5b7}.room-counter{font-size:9px;color:#91b3ba;margin:12px 0 5px}.room-promise{border-left:1px solid var(--brass);padding-left:15px;color:#d2d8cc;font-size:12px;font-style:italic}.room-link-list{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin-top:15px}.room-link-list a{display:block;padding:10px 0;border-bottom:1px solid #d6e5dc33;font-size:11px}.room-link-list a:hover{color:var(--brass)}dialog{max-height:90svh;overflow:auto;border:1px solid #c8b27c66;background:#0a2734;color:var(--ivory);padding:40px;box-shadow:0 30px 150px #0008;scrollbar-width:thin}dialog::backdrop{background:#03131bd9;backdrop-filter:blur(12px)}.rooms-dialog{max-width:1100px;width:90vw}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-close{background:none;font-size:11px;display:block;margin-left:auto;padding:0;color:#c0d2ce}.rooms-dialog h2{font-size:62px;margin:10px 0 35px}.rooms-dialog h2 em,.place-dialog h2 em{color:var(--brass)}.room-directory{display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px}.room-directory button{display:block;text-align:left;background:none;border-top:1px solid #b9bda14d;padding:22px 0;color:var(--ivory)}.room-directory button>span{display:block;font-size:8px;color:var(--brass);margin-bottom:15px;letter-spacing:1px}.room-directory h3{font-size:28px}.room-directory p{font-size:10px;color:#afc4c6;line-height:1.8}.complete-directory{border-top:1px solid #acbea755;margin-top:30px;padding-top:20px}.complete-directory summary{cursor:pointer;font-size:12px;color:#d4c595}.complete-directory>div{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:25px}.complete-directory h3{font-size:24px;margin-bottom:12px}.complete-directory a{display:block;font-size:10px;color:#bbd0cf;margin-bottom:6px}.complete-directory a:hover{color:var(--brass)}.place-dialog{max-width:630px;width:90vw;padding:45px}.place-dialog .eyebrow{margin-top:20px}.place-dialog h2{font-size:51px;margin-bottom:28px}.place-dialog p{color:#c3d4d2;font-size:13px;line-height:1.9}.place-dialog label{display:block;font-size:10px;color:var(--brass);margin:25px 0 10px}.place-dialog input{accent-color:var(--brass);width:100%}.place-dialog .small-note{font-size:10px}.dialog-link{display:inline-block;color:var(--brass);border-bottom:1px solid #a4b7ac55;padding-bottom:7px;font-size:11px}.noscript{position:fixed;bottom:100px;left:7%;z-index:20;background:var(--navy);padding:25px}.noscript h2{font-size:35px;margin-bottom:20px}[hidden]{display:none!important}[data-motion=off] .scene{transform:none;will-change:opacity}[data-motion=off] .northern-light,[data-motion=off] .sound-bars i{animation:none!important}[data-motion=off] #snow{display:none}
@keyframes appear{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@keyframes borealis{from{opacity:.3;transform:rotate(-20deg) translateX(0)}to{opacity:.8;transform:rotate(-10deg) translateX(8%)}}@keyframes levels{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@media(min-width:1800px){.room-panel{top:25%;width:500px;max-height:calc(100svh - 420px)}.room-panel h2{font-size:64px}.room-rail button{font-size:22px;padding:22px 18px}.room-rail{bottom:100px}.arrival-copy{top:31%}}@media(max-height:820px) and (min-width:761px){.world{min-height:660px}.world-header{padding-top:25px}.arrival-copy{top:25%}h1{font-size:78px}.room-panel{top:19%;max-height:calc(100svh - 320px);padding:22px 26px}.room-panel h2{font-size:43px}.room-panel .room-intro{margin:12px 0}.room-panel .room-primary{margin:13px 0}.room-rail{bottom:77px}.world-bottom{bottom:22px}.reception-copy{top:19%}.reception-copy h2{font-size:50px}.back-hall{top:112px}}
@media(max-width:1050px){.world-header{padding:30px 4%}.world-brand{width:285px}.world-header nav{gap:20px}.room-panel{right:4%;width:410px}.room-rail button{font-size:16px;padding:14px 9px}.reception-copy h2{font-size:52px}.reception-copy{max-width:310px}.room-directory{grid-template-columns:1fr 1fr}.complete-directory>div{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.world{height:100svh;min-height:780px}.world-header{padding:25px 6%;gap:20px;align-items:start}.world-brand{width:225px;max-width:56vw}.world-header nav{gap:15px;font-size:9px;flex-wrap:wrap;justify-content:end}.journal-shortcut{display:none}#rooms-open{padding-left:0;border-left:0;gap:10px}.world-header button{gap:7px;padding-top:0}#sound-label{font-size:0}#sound-label:after{content:'Sound';font-size:9px}.sound-bars{height:15px}.arrival-copy{left:8%;right:8%;top:28%}.arrival-copy .eyebrow{font-size:7px;letter-spacing:2px;margin-bottom:25px}h1{font-size:62px;letter-spacing:-1px}.arrival-subtitle{font-size:13px;margin:25px 0}.enter-button{padding:12px 18px;gap:40px;font-size:11px}.quiet-link{font-size:9px}.scene{object-position:62% center}.scene-shade{background:linear-gradient(90deg,#041b2bc9,#041b2b22),linear-gradient(0deg,#03131ff0,transparent 40%,transparent 85%,#041b2b99)}.world-bottom{left:6%;right:6%;bottom:22px;display:block}.place-note{font-size:7px;letter-spacing:1px}.place-note small{font-size:8px}.world-tools{gap:20px;margin-top:15px;padding-top:13px;border-top:1px solid #d6e1d933;justify-content:space-between}.world-tools button{font-size:8px}.development-label{font-size:6px;padding-left:12px}.place-rule{width:24px}.reception-copy{top:19%;left:8%;max-width:300px}.reception-copy h2{font-size:49px}.reception-copy p:not(.eyebrow){font-size:12px}.room-pins{display:none!important}.room-rail{left:6%;right:6%;bottom:125px;display:grid;grid-template-columns:repeat(4,1fr);background:#062435b8}.room-rail button{font-size:18px;padding:13px 9px;min-height:85px}.room-rail button:nth-child(5){border-left:0}.room-rail button:nth-child(n+5){border-top:1px solid #c5d5cf25}.room-rail button span{font-size:6px;letter-spacing:.7px;margin-bottom:5px}.room-panel{top:18%;left:6%;right:6%;width:auto;max-height:calc(100svh - 450px);padding:22px 23px;background:#062838d9;backdrop-filter:blur(14px)}.room-panel h2{font-size:42px}.room-panel .room-intro{font-size:11px;line-height:1.8;margin:12px 0}.room-panel .eyebrow{margin-bottom:16px}.room-panel .room-primary{margin:14px 0}.room-extra{font-size:22px}.back-hall{top:91px;left:6%;padding:6px 12px;font-size:9px}body[data-scene=room] .scene{object-position:38% center}body[data-scene=room] .scene-shade{background:linear-gradient(0deg,#03131feb,transparent 70%,#041b2b99)}body[data-scene=reception] .scene-shade{background:linear-gradient(90deg,#041b2ba1,transparent),linear-gradient(0deg,#03131ff0,transparent 55%,#041b2b99)}dialog{padding:25px}.rooms-dialog h2{font-size:47px}.room-directory{gap:0 25px}.room-directory h3{font-size:26px}.room-directory p{font-size:10px}.complete-directory>div{grid-template-columns:1fr 1fr}.place-dialog{padding:28px}.place-dialog h2{font-size:43px}.place-dialog p{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scene{transform:none!important}#snow{display:none!important}}
