@font-face{font-family:Manrope;src:url('media/manrope.woff2') format('woff2');font-display:swap}@font-face{font-family:Cormorant;src:url('media/cormorant.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--ivory:#f5efe2;--ink:#24231e;--line:#e7dac24d;--spacing:clamp(22px,3vw,48px)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--ivory);font-family:Manrope,Arial,sans-serif}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 #fff5ce;outline-offset:5px}header{position:fixed;z-index:4;left:var(--spacing);right:var(--spacing);top:25px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.brand{color:inherit;text-decoration:none;letter-spacing:.19em;font-size:16px;line-height:1.8;pointer-events:auto;text-shadow:0 1px 9px #000}.brand span{display:block;font-size:12px;letter-spacing:.22em;text-transform:uppercase}#help-toggle{border:0;background:#24231eaa;padding:10px 14px;border-radius:3px;font-size:12px;pointer-events:auto}#help-toggle span{margin-left:12px;border:1px solid var(--line);padding:1px 6px;border-radius:100%}main,#viewport{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#viewport{outline:none;touch-action:none}.caption{position:absolute;bottom:108px;left:var(--spacing);pointer-events:none;text-shadow:0 1px 14px #0009}.caption p{text-transform:uppercase;letter-spacing:.18em;font-size:12px;margin:0 0 8px}.caption h1{font-family:Cormorant,Georgia,serif;font-size:clamp(29px,3.5vw,49px);font-weight:400;line-height:1.05;margin:0 0 8px}.caption>span{font-size:12px;color:#eee5d5}.viewpoints{position:absolute;left:var(--spacing);bottom:38px;display:flex;gap:24px}.viewpoints button{border:0;background:none;padding:12px 0;border-bottom:1px solid transparent;font-size:12px;text-shadow:0 1px 8px #000}.viewpoints button[aria-pressed=true]{border-bottom-color:#eee6d5}.viewpoints button:hover{color:#fff}.instruction{position:absolute;right:var(--spacing);bottom:24px;font-size:12px;color:#eee5d5;pointer-events:none}.walk-controls{position:absolute;right:var(--spacing);bottom:65px;display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,35px);gap:4px}.walk-controls button{border:1px solid #e5d5b448;background:#24231e9c;border-radius:2px;touch-action:none;user-select:none}.walk-controls button:hover,.walk-controls button:active{background:#ded0b6;color:#27241e}.walk-controls button:nth-child(1){grid-column:2}.walk-controls button:nth-child(2){grid-column:1;grid-row:2}.walk-controls span{grid-column:2;grid-row:2}.walk-controls button:nth-child(4){grid-column:3;grid-row:2}.walk-controls button:nth-child(5){grid-column:2;grid-row:3}#help{position:absolute;right:var(--spacing);top:90px;width:min(355px,calc(100% - 44px));padding:25px;background:#292820f5;border:1px solid var(--line);z-index:6;font-size:12px;line-height:1.8}#help h2{font-family:Cormorant,Georgia,serif;font-size:27px;font-weight:400;margin:0 0 12px}#help button{padding:9px 24px;border:1px solid var(--line);background:none;margin-top:8px}kbd{font:inherit;border:1px solid var(--line);padding:1px 4px}#loading,#failure{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);z-index:8;font-size:14px}#failure a{color:var(--ivory)}[hidden]{display:none!important}
@media(max-width:650px){header{top:18px}.brand{font-size:12px}.brand span{font-size:12px}#help-toggle{font-size:12px;padding:8px}.caption{bottom:158px;max-width:220px}.caption h1{font-size:29px}.caption p{font-size:12px}.caption>span{font-size:12px}.viewpoints{bottom:33px;right:22px;gap:0;justify-content:space-between}.viewpoints button{font-size:12px}.walk-controls{bottom:100px;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:3px}.instruction{bottom:76px;left:22px;right:auto;font-size:12px}.caption{bottom:214px}.caption h1{font-size:29px}#help{top:75px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
main::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(20,18,14,.65),transparent 14%);z-index:0}.caption,.viewpoints,.walk-controls,.instruction{z-index:1}.caption,.instruction{color:#fff8eb;text-shadow:0 1px 3px #17130e}.caption>span,.instruction{color:#fff5e3}.caption::before{content:"";position:absolute;z-index:-1;inset:-16px -35px -18px -45px;background:linear-gradient(90deg,rgba(20,18,14,.85),rgba(20,18,14,.70) 66%,transparent);filter:blur(15px)}

.walk-controls svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.walk-controls button{display:grid;place-items:center} @media(max-width:650px){.caption{bottom:170px;max-width:200px}.caption>span{font-size:12px}.viewpoints{gap:17px}.walk-controls{bottom:99px}.brand{font-size:12px}.brand span{font-size:12px;letter-spacing:.08em}.instruction{font-size:12px;bottom:71px;max-width:330px}}


/* A fixed quality choice avoids resolution pumping while walking. */
.quality-control{position:fixed;right:40px;top:137px;z-index:6;border:1px solid #f5efe236;background:#24231ecc;color:#f5efe2;padding:9px 13px;font:12px Manrope,sans-serif;cursor:pointer}.quality-control:hover{border-color:#f5efe299;background:#24231e}.quality-control:focus-visible{outline:2px solid #fff5ce;outline-offset:3px}@media(max-width:650px){.quality-control{right:18px;top:113px;font-size:12px;padding:9px 11px}}
