:root{color-scheme:light;font-family:Arial,sans-serif;color:#262720;background:#e9e5dc;--paper:#f4f2eb;--ink:#262720}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button,a,select,input{touch-action:manipulation}button,select{min-height:44px;cursor:pointer}button{border:0;background:none;color:inherit;padding:10px 16px}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #77512d;outline-offset:4px}button:disabled{opacity:.55;cursor:wait}#viewport{position:fixed;inset:0}canvas{display:block;touch-action:none}#toolbar{position:fixed;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:20px 28px;pointer-events:none;z-index:3}.wordmark{font-family:Georgia,serif;letter-spacing:.09em;text-decoration:none;font-size:19px;padding:10px 0;pointer-events:auto;text-shadow:0 1px 12px #f4f2eb}.wordmark span{display:block;font:9px Arial;letter-spacing:.28em;margin-top:5px}.toolbar-right{display:flex;align-items:center;background:rgba(244,242,235,.92);pointer-events:auto}.toolbar-right button{font-size:12px}.toolbar-right button+button{border-left:1px solid #deddd5}#presence-status{font-size:11px;padding:0 15px;color:#565850}#presence-status:empty{display:none}.intro{position:fixed;inset:0;z-index:2;display:flex;align-items:center;padding:100px 8vw 60px;pointer-events:none}.intro-copy{background:rgba(247,245,239,.96);padding:42px;width:min(440px,100%);pointer-events:auto;border-top:1px solid #c8c3b7}.eyebrow{font-size:10px;letter-spacing:.25em}h1{font:clamp(38px,4vw,62px)/1.04 Georgia,serif;font-weight:400;margin:25px 0 18px}#exhibition-author{font-size:14px}#exhibition-introduction{font-size:14px;line-height:1.6;color:#65665e;margin:24px 0}#load-status{font-size:12px;color:#67685e;min-height:18px;margin-top:22px}.primary{background:var(--ink);color:var(--paper);width:100%;text-align:left;display:flex;justify-content:space-between;padding:15px 20px;min-height:52px}.presence-choice{display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.4;margin-top:23px}.presence-choice input{width:17px;height:17px;accent-color:#555b4e}.privacy-note{font-size:11px;line-height:1.55;color:#77796e}.text-link{display:inline-block;margin-top:18px;font-size:11px;text-underline-offset:4px}#bottom-bar{position:fixed;bottom:22px;left:28px;right:28px;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none;z-index:2}#bottom-bar[hidden],#touch-controls[hidden],#intro[hidden]{display:none}#bottom-bar select,#tour-button{pointer-events:auto;background:rgba(247,245,239,.94);border:0;padding:12px 18px;font-size:12px;min-width:140px}#movement-hint{font-size:11px;background:rgba(247,245,239,.92);padding:11px 16px;color:#606256}#tour-button{min-width:120px}#touch-controls{position:fixed;bottom:88px;left:20px;z-index:4;text-align:center;display:none}#touch-controls button{width:46px;height:46px;background:rgba(247,245,239,.86);border:1px solid #d3d0c4;font-size:18px;margin:2px}#touch-controls button[data-pressed=true]{background:#a5ad9a}#focus-hint{position:fixed;left:50%;top:55%;transform:translateX(-50%);background:var(--paper);padding:8px 14px;font-size:12px;pointer-events:none}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;font-size:12px;padding:12px 20px;z-index:8;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}dialog{border:0;padding:42px;background:var(--paper);color:var(--ink);max-width:600px;max-height:90dvh;overflow:auto}dialog::backdrop{background:rgba(22,25,21,.8)}dialog h2{font:32px Georgia,serif;font-weight:400}dialog p{font-size:14px;line-height:1.65}dialog .dialog-close{position:absolute;top:8px;right:8px;font-size:26px;z-index:2;background:var(--paper)}#art-dialog{width:min(1300px,95vw);max-width:none;padding:0;overflow:hidden}#art-dialog .art-stage{height:75dvh;padding:32px 48px 12px;display:flex;justify-content:center;align-items:center;background:#e8e7e0}.art-stage img{max-width:100%;max-height:100%;object-fit:contain}.art-caption{padding:12px 32px 22px;display:flex;align-items:baseline;gap:22px;flex-wrap:wrap}.art-caption h2{font-size:18px;margin:0}.art-caption p{font-size:12px;margin:0}.art-caption a{font-size:12px;margin-left:auto;text-underline-offset:4px}#works-dialog{width:min(880px,94vw);max-width:none}#works-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}#works-list button{text-align:left;padding:0}#works-list img{width:100%;height:150px;object-fit:contain;background:#e6e3da}#works-list span{display:block;font-size:12px;margin:8px 0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;left:10px;top:-100px;z-index:99;background:white;padding:15px}.skip:focus{top:10px}#exhibition-content:target{position:fixed!important;clip:auto;white-space:normal;width:90vw;height:80vh;top:10vh;left:5vw;overflow:auto;background:white;padding:30px;z-index:99}.fatal{max-width:480px;padding:30px;background:var(--paper)}@media(pointer:coarse){#touch-controls{display:block}#movement-hint{display:none}}@media(max-width:700px){#toolbar{padding:12px 16px}.wordmark{font-size:14px}.wordmark span{font-size:8px}.toolbar-right button{padding:8px 10px}#presence-status{position:fixed;right:17px;top:71px;background:var(--paper);padding:7px 10px;font-size:10px}.intro{padding:95px 18px 24px;align-items:flex-end}.intro-copy{padding:26px;width:100%;max-height:calc(100dvh - 120px);overflow:auto}.intro h1{font-size:42px;margin:20px 0 12px}.intro #exhibition-introduction{margin:16px 0}.intro .privacy-note{margin:8px 0}.intro .presence-choice{margin-top:16px}#bottom-bar{bottom:16px;left:16px;right:16px;gap:8px}#movement-hint{display:none}#bottom-bar select{max-width:58%;min-width:0}#tour-button{min-width:110px}#touch-controls{display:block;left:14px;bottom:80px}#works-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#art-dialog .art-stage{height:65dvh;padding:30px 14px 10px}.art-caption{padding:16px;gap:8px 15px}.art-caption a{width:100%;margin:8px 0 0}dialog{padding:30px 24px}#toast{width:max-content;max-width:90vw;text-align:center}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.sky-controls{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid #c6c2b7;display:grid;gap:.7rem}.sky-controls label{font-size:.9rem}.sky-controls select{min-height:44px;width:100%;padding:.6rem;background:#f8f6f0;color:#262923;border:1px solid #aaa99e;font:inherit}.sky-controls p{margin:0}#help-dialog{max-height:calc(100dvh - 2rem);overflow-y:auto}
#viewport:not([data-sky-phase="day"])~#toolbar .wordmark{background:rgba(247,245,239,.94);padding:10px 12px;text-shadow:none}
#help-dialog{width:min(600px,calc(100vw - 2rem))}.sky-controls select{min-width:0;max-width:100%}

#place-action{position:fixed;right:28px;bottom:92px;z-index:5;min-height:48px;padding:13px 20px;background:#f4f2eb;color:#292d26;border:1px solid #b4aa93;font-size:13px;box-shadow:0 2px 16px #17241b18}
#place-action[hidden],#world-transition[hidden]{display:none}
#world-transition{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#eee8dc;color:#343b30;font:24px Georgia,serif;letter-spacing:.02em}
body[data-world=beach] .wordmark{padding:10px 12px;background:#f4f2ebe6;text-shadow:none}
#asset-credits{font-size:11px;text-underline-offset:3px}
#beach-view-controls{position:fixed;right:28px;bottom:156px;display:flex;gap:1px;z-index:4;background:#cec8b9}
#beach-view-controls button{background:rgba(244,242,235,.94);font-size:12px;min-height:44px;padding:12px 16px}
#beach-view-controls[hidden],#quiet-exit[hidden]{display:none}
#quiet-exit{position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:9;background:rgba(244,242,235,.94);font-size:12px;opacity:0;transition:opacity .4s;min-height:44px}
body[data-quiet=true] :is(#toolbar,#bottom-bar,#touch-controls,#place-action,#beach-view-controls,#focus-hint,#toast){opacity:0;visibility:hidden;pointer-events:none}
body[data-quiet=true][data-quiet-hint=true] #quiet-exit,#quiet-exit:hover,#quiet-exit:focus-visible{opacity:1}
@media(max-width:700px),(pointer:coarse){#beach-view-controls{right:16px;bottom:156px;display:flex;flex-direction:column;max-width:calc(100vw - 194px)}#beach-view-controls button{padding:10px 12px;font-size:12px}}
@media(max-width:700px){#place-action{right:16px;bottom:94px;max-width:calc(100vw - 186px);padding:12px;font-size:12px}body[data-world=beach] #tour-button{min-width:116px;max-width:46%;padding:12px 10px}body[data-world=beach] #room-select{max-width:52%}body[data-world=beach] .wordmark{padding:9px;font-size:12px}}

/* Exhibition labels lead to a reading surface; photographs remain the focus. */
:root{--story-line:#c6c2b7;--story-muted:#606256;--scroll-thumb:#aaa69a;--scroll-track:#eeece4;--scroll-hover:#777568}
*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}
::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:2px solid var(--scroll-track)}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--scroll-hover)}
.room-navigation{display:flex;align-items:center;gap:1px;min-width:0;pointer-events:auto;background:var(--story-line)}
#bottom-bar .room-navigation select{max-width:290px;min-width:0;text-overflow:ellipsis}
#room-story-button{background:rgba(247,245,239,.96);font-size:12px;white-space:nowrap;min-height:44px;padding:12px 16px}
#room-story-button:hover,#room-story-button:active{background:#e5e1d8}
#room-story-button[hidden],#art-story-button[hidden],#art-description[hidden],#art-commerce[hidden],#story-source[hidden],#story-introduction[hidden],#story-body[hidden]{display:none}
#art-dialog{max-height:94dvh;overflow:auto;scrollbar-gutter:stable}
#art-dialog .art-stage{height:64dvh;min-height:180px;padding-bottom:16px}
#art-dialog .dialog-close{position:sticky;top:8px;float:right;margin-bottom:-44px;margin-right:8px}
.art-caption{display:block;padding:20px 32px 28px}
.art-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px}
.art-heading #art-author{font-size:13px}.art-heading #art-title{font-size:23px}.art-heading #art-year{color:var(--story-muted)}
#art-description{max-width:68ch;margin:18px 0 0}
#art-description p{font-size:14px;line-height:1.7;margin:0 0 10px;white-space:pre-line;overflow-wrap:anywhere}
.art-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;margin-top:14px}
.art-links #art-story-button{padding:0;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.art-links #art-story-button:hover,.art-links a:hover,.story-body a:hover,.story-footer a:hover{text-decoration-thickness:2px}
.art-links #art-contact{margin:0;display:inline-flex;align-items:center;min-height:44px;width:auto}
#story-dialog{width:min(820px,calc(100vw - 32px));max-width:none;max-height:94dvh;padding:0;overflow-y:auto;scrollbar-gutter:stable}
#story-dialog .dialog-close{position:sticky;top:10px;float:right;margin-right:10px;margin-bottom:-44px;min-width:44px}
.story-page{padding:58px clamp(24px,6vw,74px) 38px;overflow-wrap:anywhere}
#story-eyebrow{font-size:10px;line-height:1.5;letter-spacing:.2em;text-transform:uppercase;color:var(--story-muted);margin:0 0 30px}
#story-author{font-size:12px;letter-spacing:.08em;margin:0 0 12px}
#story-title{font:clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:0 0 28px;max-width:20ch}
.story-introduction{margin:0 0 26px;padding-bottom:24px;border-bottom:1px solid var(--story-line)}
.story-introduction p{font:19px/1.65 Georgia,serif;margin:0 0 16px;white-space:pre-line}
.story-introduction p:last-child{margin-bottom:0}
.story-body{max-width:64ch}
.story-body p,.story-body li{font-size:16px;line-height:1.85}
.story-body p{margin:0 0 1.25em}
.story-body h2{font:29px/1.2 Georgia,serif;margin:1.5em 0 .65em}
.story-body h3{font:23px/1.3 Georgia,serif;margin:1.4em 0 .6em}
.story-body ul,.story-body ol{padding-left:24px;margin:0 0 22px}
.story-body li+li{margin-top:8px}.story-body a,.story-footer a{text-underline-offset:4px}
.story-body blockquote{border-left:2px solid var(--story-line);padding-left:24px;margin:30px 0}
.story-body blockquote p{font-family:Georgia,serif;font-size:20px;line-height:1.65}
.story-footer{border-top:1px solid var(--story-line);margin-top:30px;padding-top:24px;display:flex;align-items:flex-start;flex-direction:column;gap:20px}
#story-source{font-size:12px;line-height:1.7;padding:5px 0}
#story-return{background:var(--ink);color:var(--paper);min-height:46px;padding:12px 20px;font-size:13px}
#story-return:hover,#story-return:active,.art-commerce__actions button:not(:disabled):hover,.art-commerce__actions button:not(:disabled):active{background:#44473c}
.art-commerce{margin-top:18px;padding-top:20px;border-top:1px solid var(--story-line);max-width:720px}
.art-commerce__price{font:28px/1.2 Georgia,serif!important;margin:0 0 12px!important}
.art-commerce__details{font-size:13px;line-height:1.65;margin:12px 0}
.art-commerce__details summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:13px}
.art-commerce__details p{margin:0 0 12px;font-size:13px;line-height:1.7}
.art-commerce__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:14px 0}
.art-commerce__actions button,.art-commerce__actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin:0;padding:12px 20px;font-size:13px}
.art-commerce__actions button{background:var(--ink);color:var(--paper);min-width:150px}
.art-commerce__actions .art-commerce__add{background:var(--ink);color:var(--paper);min-width:150px;text-decoration:none}
.art-commerce__actions .art-commerce__add:not([aria-disabled=true]):hover,.art-commerce__actions .art-commerce__add:not([aria-disabled=true]):active{background:#44473c}
.art-commerce__add[aria-disabled=true]{opacity:.65;cursor:default}.art-commerce__add[aria-busy=true]{cursor:progress}
.art-commerce__status{font-size:13px!important;line-height:1.65!important;margin:10px 0!important;min-height:22px}
.art-commerce__status[role=alert]{color:#963b32}
@media(max-width:1050px){#movement-hint{display:none}}
@media(max-width:700px){
 #bottom-bar{align-items:flex-end}.room-navigation{flex-direction:column;align-items:stretch;max-width:calc(100% - 118px)}
 #bottom-bar .room-navigation select{max-width:100%;width:100%;padding:12px;min-height:44px;font-size:12px}
 #room-story-button{font-size:11px;padding:10px 12px;text-align:left}
 body:not([data-world=beach]):has(#room-story-button:not([hidden])) #touch-controls{bottom:132px}
 #art-dialog{width:96vw;max-height:96dvh}#art-dialog .art-stage{height:53dvh;min-height:180px;padding:34px 14px 12px}
 .art-caption{padding:16px 20px 24px}.art-heading{gap:6px 14px}.art-heading #art-title{font-size:22px}
 .art-links{gap:0 16px;margin-top:8px}.art-links #art-contact{width:auto;margin:0}
 #story-dialog{width:calc(100vw - 16px);max-height:96dvh}.story-page{padding:58px 24px 28px}
 #story-eyebrow{margin-bottom:24px}#story-title{margin-bottom:24px}.story-body p,.story-body li{font-size:15px;line-height:1.8}
 .story-body blockquote{padding-left:16px}.story-body blockquote p{font-size:19px}.story-introduction p{font-size:18px}
 .art-commerce__actions{align-items:stretch}.art-commerce__actions button,.art-commerce__actions .art-commerce__add{width:100%}
}
@media(max-height:560px){#art-dialog .art-stage{height:58dvh;min-height:145px}.story-page{padding-top:42px}.story-body p{font-size:15px}#story-eyebrow{margin-bottom:18px}}
@media(forced-colors:active){*{scrollbar-color:auto}.story-introduction,.story-footer,.art-commerce{border-color:CanvasText}#story-return,.art-commerce__actions button{border:1px solid ButtonText}}
:is(#art-dialog,#story-dialog) .dialog-tools{position:sticky;top:0;z-index:3;display:flex;justify-content:flex-end;align-items:center;min-height:48px;padding:2px 8px;background:var(--paper);border-bottom:1px solid var(--story-line)}
:is(#art-dialog,#story-dialog) .dialog-tools .dialog-close{position:static;float:none;margin:0;min-height:44px;min-width:44px;padding:4px 12px}
#story-dialog .story-page{padding-top:28px}

/* Held movement owns its touch pointers; browsers must not pan the pad. */
#touch-controls,#touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none}
