@font-face{font-family:Cormorant;src:url('./vendor/cormorant-regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Cormorant;src:url('./vendor/cormorant-italic.ttf') format('truetype');font-display:swap;font-style:italic}
@font-face{font-family:Manrope;src:url('./vendor/manrope-regular.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:Manrope;src:url('./vendor/manrope-bold.ttf') format('truetype');font-display:swap;font-weight:700}
:root{--paper:#f3eee1;--muted:#c4c5ba;--gold:#d9bd83;--ink:#202724;--line:#f6f0db29;--serif:Cormorant,Georgia,serif;--sans:Manrope,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--paper);font-family:var(--sans)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible,#viewport:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0;background:transparent}a{color:inherit}button[hidden],[hidden]{display:none!important}
#experience,#viewport,.vignette{position:absolute;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}#viewport{outline:0}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(17,26,25,.76),transparent 48%),linear-gradient(0deg,rgba(13,19,18,.94),transparent 26%,transparent 77%,rgba(13,19,18,.6));transition:opacity .5s}
.topbar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:25px 38px;z-index:3}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:10px;letter-spacing:2px;font-weight:700}.brand-mark{font-family:var(--serif);font-size:46px;font-weight:400;line-height:.9;letter-spacing:-4px;padding-right:5px}.brand small{display:block;color:var(--gold);font-size:8px;letter-spacing:3.3px;margin-top:7px}.top-actions{display:flex;align-items:center;gap:23px}.live-label{font-size:8px;letter-spacing:1.8px;display:flex;align-items:center;gap:8px}.live-label i{width:5px;height:5px;background:#b8d1a6;border-radius:50%;box-shadow:0 0 9px #b8d1a6}.quiet-button{font-size:10px;border-bottom:1px solid var(--line);padding:10px 0}.quiet-button span{margin-left:12px;color:var(--gold)}.icon-button{width:34px;height:34px;border:1px solid var(--line);font-size:23px}
.intro{position:absolute;top:26%;left:6%;width:365px;transition:opacity .6s,transform .6s;pointer-events:none}.intro>*{pointer-events:auto}.eyebrow{font-size:8px;font-weight:700;letter-spacing:2.4px;color:var(--gold);margin:0 0 20px}.intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(48px,4.5vw,72px);line-height:1;letter-spacing:-1.6px;margin:0 0 21px}.intro h1 em{color:#e3cea5;font-weight:400}.intro-sub{font-size:12px;letter-spacing:1.2px;margin:0 0 12px}.intro-copy{font-size:11px;line-height:1.9;color:var(--muted);max-width:275px}.primary-button{background:var(--gold);color:#242923;font-weight:700;font-size:10px;padding:17px 22px;margin-top:17px;display:flex;gap:23px;align-items:center;box-shadow:0 3px 30px #0002;transition:background .2s,transform .2s}.primary-button:hover{background:#f0d49e;transform:translateY(-2px)}.primary-button span{font-size:20px;line-height:12px}.intro-note{display:block;font-size:8px;color:#c5c3b5;margin-top:12px}
.place-caption{position:absolute;right:4%;bottom:185px;max-width:215px;border-left:1px solid #dfc48d80;padding-left:18px;text-shadow:0 2px 16px #000}.place-caption>span{font-size:9px;color:var(--gold);letter-spacing:2px}.place-caption h2{font-family:var(--serif);font-size:32px;font-weight:400;margin:6px 0}.place-caption p{font-size:10px;line-height:1.8;color:#e4e0d6;margin:0}.scene-tools{position:absolute;right:36px;top:110px;display:flex;gap:7px}.scene-tools button{background:#202724bf;backdrop-filter:blur(12px);padding:10px 13px;font-size:12px;border:1px solid var(--line)}.scene-tools button span{font-size:9px;margin-left:6px}.scene-tools button[aria-pressed=true]{background:#d9bd83;color:var(--ink)}
.journey{position:absolute;bottom:48px;left:4%;right:4%;height:97px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:25px;background:linear-gradient(90deg,#20272488,#20272433);padding:0 16px}.journey-label{min-width:98px}.journey-label span{font-size:8px;letter-spacing:1.9px;color:var(--gold)}.journey-label small{display:block;font-size:9px;color:var(--muted);margin-top:9px}.stops{display:flex;align-self:stretch;flex:1;justify-content:space-between;gap:15px}.stops button{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-width:74px;padding:0 8px;opacity:.65;transition:opacity .2s}.stops b{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--gold)}.stops span{font-size:10px;white-space:nowrap}.stops button:before{content:'';position:absolute;top:-1px;left:8px;right:8px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .3s;transform-origin:left}.stops button:hover,.stops button.selected{opacity:1}.stops button.selected:before{transform:scaleX(1)}.tour-button{display:flex;align-items:center;gap:12px;font-size:10px;border-left:1px solid var(--line);padding-left:25px;white-space:nowrap}.tour-button>span:first-child{font-size:25px;color:var(--gold)}.tour-button[aria-pressed=true]{color:var(--gold)}.scene-footer{position:absolute;bottom:20px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.5px;color:#c0c5bb}.scene-footer>span:first-child{letter-spacing:1.5px}.scene-footer button{font-size:8px;padding:4px 0;border-bottom:1px solid #c0c5bb66}
body.exploring .intro{opacity:0;transform:translateX(-20px);pointer-events:none}body.exploring .intro>*{pointer-events:none}body.exploring .vignette{background:linear-gradient(0deg,rgba(13,19,18,.9),transparent 23%,transparent 85%,rgba(13,19,18,.65))}#walking-hint{position:absolute;top:120px;left:38px;background:#202724bd;border:1px solid var(--line);padding:16px 20px;backdrop-filter:blur(12px)}#walking-hint>span{font-size:8px;color:var(--gold);letter-spacing:2px}#walking-hint p{font-size:9px;color:var(--muted);margin:10px 0}kbd{font:inherit;border:1px solid #b7b9aa66;padding:2px 5px;margin:0 2px}#exit-walk{font-size:10px;padding:7px 0;color:var(--gold)}#joystick{position:absolute;bottom:175px;left:35px;width:100px;height:100px;border-radius:50%;border:1px solid #efdfb878;background:#1b231f66;touch-action:none}#stick{position:absolute;left:30px;top:30px;width:40px;height:40px;border-radius:50%;background:#e4d1a2aa;pointer-events:none}#look-up{position:absolute;bottom:195px;right:30px;width:45px;height:45px;background:#202724aa;border:1px solid var(--line);border-radius:50%;font-size:20px}
#loading,#error-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#242b28;z-index:10;text-align:center;padding:25px}#loading h2,#error-state h2{font:400 34px var(--serif);margin-bottom:10px}#loading p,#error-state p{font-size:11px;color:var(--muted);max-width:430px;line-height:1.8}.loading-arch{display:block;width:38px;height:57px;border:1px solid var(--gold);border-radius:30px 30px 0 0}.loading-line{width:150px;height:1px;background:var(--gold);margin-top:20px;animation:breathe 1.3s infinite alternate}@keyframes breathe{from{opacity:.2;transform:scaleX(.3)}to{opacity:1;transform:scaleX(1)}}#error-state button{margin:10px;border:1px solid var(--gold);padding:13px 20px;font-size:11px}body.clean .topbar,body.clean .intro,body.clean .journey,body.clean .scene-footer,body.clean .place-caption,body.clean .scene-tools,body.clean .vignette,body.clean #walking-hint{display:none}#restore-ui{position:absolute;bottom:24px;right:24px;background:#202724bf;border:1px solid var(--line);padding:11px 16px;font-size:10px}
dialog{color:var(--ink);background:#eeeadd;border:1px solid #b7b6a0;padding:36px;width:min(1000px,92vw);max-height:88dvh;overflow-y:auto;box-shadow:0 35px 120px #0008}dialog::backdrop{background:#111c1cbf;backdrop-filter:blur(7px)}dialog .eyebrow{color:#76764f}dialog h2{font:400 42px var(--serif);margin:0 0 14px;letter-spacing:-.6px}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.close-dialog{font-size:30px;line-height:1;width:36px;height:36px;border:1px solid #20272433;flex-shrink:0}.research-lead{font-size:12px;line-height:1.8;max-width:750px;color:#565d51}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0}.research-grid figure{margin:0}.research-grid img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#d1ccb9}.research-grid figcaption{font-size:10px;margin-top:9px;line-height:1.6}.research-grid figcaption a{text-decoration:underline;text-underline-offset:3px}.research-grid figcaption small{display:block;color:#687062;font-size:8px}.research-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px 30px}.research-columns section{border-top:1px solid #20272430;padding-top:8px}.research-columns h3{font:400 26px var(--serif);margin:9px 0}.research-columns p{font-size:11px;line-height:1.9;color:#4e594b}.research-columns a{font-size:10px;color:#4a5c48;text-underline-offset:3px}#help-dialog{width:min(550px,90vw)}#help-dialog>.close-dialog{float:right}#help-dialog p:not(.eyebrow){font-size:12px;line-height:1.9;color:#50594a}.no-script{position:fixed;z-index:100;inset:30%;background:#eeeadd;color:#242b28;padding:30px}
@media(min-width:1700px){.intro{left:8%;top:29%;width:450px}.intro h1{font-size:86px}.intro-copy{font-size:13px;max-width:320px}.primary-button{font-size:12px;padding:20px 24px}.place-caption{bottom:210px}.journey{left:6%;right:6%;bottom:55px;height:110px}}
@media(max-width:1100px){.journey{gap:8px;padding:0 7px}.journey-label{display:none}.stops{gap:0}.tour-button{padding-left:15px}.intro{left:5%;width:310px}.place-caption{right:4%;max-width:180px}.topbar{padding:20px 26px}.scene-tools{right:26px}.live-label{display:none}}
@media(max-width:680px){.topbar{padding:18px 19px}.brand{font-size:8px;gap:9px;letter-spacing:1.2px}.brand-mark{font-size:36px}.brand small{font-size:6px;letter-spacing:2px}.top-actions{gap:12px}.quiet-button{font-size:8px;max-width:94px;text-align:left;line-height:1.6}.quiet-button span{display:none}.icon-button{display:none}.intro{top:auto;bottom:222px;left:25px;width:260px}.intro .eyebrow{font-size:7px;letter-spacing:1.7px;margin-bottom:15px}.intro h1{font-size:48px;line-height:.98;margin-bottom:16px}.intro-sub{font-size:10px;margin-bottom:5px}.intro-copy{font-size:10px;max-width:240px;line-height:1.75}.primary-button{font-size:9px;padding:14px 17px;margin-top:13px}.intro-note{font-size:7px}.vignette{background:linear-gradient(0deg,#17221ff2,transparent 78%),linear-gradient(90deg,#17221f9c,transparent 85%)}.scene-tools{top:91px;right:19px;gap:5px}.scene-tools button{padding:8px 10px;font-size:14px}.scene-tools span{display:none}.place-caption{display:none}body.exploring .place-caption{display:block;bottom:180px;right:22px;max-width:170px}.place-caption h2{font-size:27px}.place-caption p{font-size:9px}.journey{bottom:48px;left:15px;right:15px;height:123px;flex-wrap:wrap;align-content:flex-start;gap:0}.stops{height:79px;width:100%;flex:none;overflow:auto;gap:6px;scrollbar-width:none}.stops button{min-width:70px;padding:0 3px;gap:6px}.stops b{font-size:18px}.stops span{font-size:9px}.tour-button{height:38px;padding:0 3px;gap:9px;border-left:0;font-size:9px;border-top:1px solid var(--line);width:100%}.tour-button>span:first-child{font-size:21px}.scene-footer{bottom:15px;left:22px;right:22px;font-size:6px;gap:10px}.scene-footer>span:first-child{display:none}.scene-footer>span:nth-child(2){max-width:230px;line-height:1.7}.scene-footer button{font-size:7px;white-space:nowrap}#walking-hint{top:87px;left:18px;padding:12px;max-width:185px}#walking-hint p{font-size:8px;line-height:1.8}#walking-hint>span{font-size:7px}#joystick{bottom:205px;left:23px;width:90px;height:90px}#stick{top:25px;left:25px}#look-up{bottom:300px;right:20px}body.walking .place-caption{display:none}.research-grid{grid-template-columns:1fr 1fr;gap:17px 10px}.research-columns{grid-template-columns:1fr}dialog{padding:22px;max-height:88dvh}dialog h2{font-size:31px}.dialog-heading .eyebrow{font-size:7px;line-height:1.8;letter-spacing:1px;margin-bottom:13px}.research-lead{font-size:10px}.research-grid figcaption{font-size:9px}.research-grid figcaption small{font-size:7px}}
@media(max-height:640px) and (min-width:681px){.intro{top:22%;transform:scale(.85);transform-origin:top left}.journey{height:78px;bottom:35px}.place-caption{bottom:145px}.scene-footer{bottom:12px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.intro-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.secondary-button{font-size:10px;padding:8px 0;border-bottom:1px solid #dcc99c88;color:#f4e9cb}.secondary-button span{margin-left:18px}.intro-actions .primary-button{margin-top:12px}body.exploring .intro-actions button{pointer-events:none}
@media(max-width:680px){.intro{bottom:196px;width:280px}.intro h1{font-size:44px}.intro-copy{max-width:260px}.intro-actions{flex-direction:row;flex-wrap:wrap;gap:8px}.intro-actions .primary-button{margin-top:3px;padding:13px 14px;gap:14px}.secondary-button{font-size:9px}.secondary-button span{margin-left:8px}.intro-note{margin-top:8px}}
