@font-face{font-family:Flux Sans;src:url(../assets/fonts/space-grotesk.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:Flux Serif;src:url(../assets/fonts/instrument-italic.woff2) format("woff2");font-style:italic;font-display:swap}
:root{--ink:#171916;--paper:#eee9df;--cream:#f5efdf;--muted:#bec0b2;--line:rgba(228,226,204,.22);--signal:#ff9159;--pad:clamp(20px,4vw,74px);font-family:"Flux Sans",Arial,sans-serif;color:var(--cream);background:var(--ink);color-scheme:dark;scrollbar-color:#585c50 var(--ink)}
*{box-sizing:border-box}body,figure,p,h1,h2,h3{margin:0}body{overflow-x:clip}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--signal);outline-offset:4px}button[hidden],a[hidden],[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:100;background:var(--paper);color:var(--ink);padding:12px}
.journey{position:relative}.exhibit{position:relative;isolation:isolate;display:flex;flex-direction:column;height:100svh;min-height:620px;background:var(--ink)}.interactive .journey{height:calc(100svh + 2500px)}.interactive .exhibit{position:sticky;top:0}
.mast{display:flex;align-items:center;justify-content:space-between;height:clamp(56px,7.6svh,82px);flex:none;padding:0 var(--pad);border-bottom:1px solid #bbb9ad;background:var(--paper);color:#21231f}
.wordmark{display:inline-flex;align-items:center;gap:9px;font-size:clamp(21px,1.55vw,29px);letter-spacing:-.085em;font-weight:700;line-height:1}.wordmark img{width:27px;height:27px}.wordmark span{font:9px/1.05 ui-monospace,Consolas,monospace;letter-spacing:.1em;border-left:1px solid #b8b6ab;padding-left:10px;margin-left:3px}
.mast nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,48px);font-size:13px;font-weight:500}.mast nav a{display:inline-flex;align-items:center;gap:8px;min-height:44px}.mast nav span{font-size:16px}.mast a:hover,.notes a:hover{text-decoration:underline;text-underline-offset:4px}
.studio{position:relative;display:grid;grid-template-columns:33% minmax(0,1fr);flex:1;min-height:0;background:radial-gradient(ellipse at 66% 45%,#30332a 0%,#23251f 36%,#1b1d19 64%,#161815 92%);overflow:hidden}
.studio::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.024;background-image:url(../assets/grain.png);z-index:3}
.narrative{position:relative;z-index:4;padding:clamp(24px,5vh,66px) 0 clamp(30px,6vh,72px) var(--pad);align-self:center;margin-right:-6%;pointer-events:none}.narrative a,.narrative button{pointer-events:auto}
.eyebrow,.art-caption,.orientation,.transport-line,.chapters small,.part-id,.component-tag{font:500 10px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.105em;text-transform:uppercase}
.eyebrow{display:flex;align-items:center;gap:9px}.eyebrow i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--signal)}.specimen{color:#d1d2c3}
.scene-copy h1,.notes h2,.drawer-head h2{font-weight:500;letter-spacing:-.084em;line-height:.88}.scene-copy h1{font-size:clamp(69px,min(6.8vw,11svh),122px);margin:.28em 0 .24em}.scene-copy h1 em{display:block}.scene-copy em,.notes em,.drawer-head em{font-family:"Flux Serif",Georgia,serif;font-weight:400;letter-spacing:-.047em}
.scene-copy>p:last-child{max-width:30ch;color:var(--muted);font-size:clamp(14px,1.12vw,19px);line-height:1.55;text-wrap:pretty}.action-slot{margin-top:clamp(17px,3.4svh,35px);min-height:42px}
.action{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 14px 10px 17px;border:1px solid transparent;background:#ffa477;color:#241a13;font-size:13px;font-weight:650;border-radius:4px;min-height:42px}.action:hover{background:#ffb58e}.action span{font-size:17px}
.inspect-controls{display:inline-flex;align-items:stretch;border:1px solid #697063;border-radius:4px;overflow:hidden}.inspect-controls button{border:0;background:transparent;padding:8px 12px;min-width:40px;min-height:42px}.inspect-controls button:hover{background:#373a32}.inspect-controls .part-choice{font-size:13px;border-inline:1px solid #53594f}
.object{position:relative;align-self:stretch;min-width:0;min-height:0;isolation:isolate}.object canvas,.poster{position:absolute;inset:0;width:100%;height:100%;display:block}.object canvas{z-index:1;opacity:0;touch-action:pan-y}.object.live canvas{opacity:1}.object.live .poster{visibility:hidden}.poster{object-fit:contain}.object.live{cursor:grab}.object.grabbing{cursor:grabbing}
.axis-line{position:absolute;z-index:-1;top:50%;height:1px;left:4%;right:6%;background:linear-gradient(90deg,transparent,#a4a48b20 20%,#a4a48b20 80%,transparent)}
.art-caption,.orientation{position:absolute;z-index:3;pointer-events:none;color:#babdb1}.art-caption{display:flex;align-items:center;gap:10px;right:var(--pad);top:clamp(18px,3svh,34px);font-size:9px}.art-caption span:first-child{color:var(--signal)}.art-caption span+span{padding-left:10px;border-left:1px solid #5e655a}
.orientation{display:flex;gap:6px;align-items:center;right:var(--pad);bottom:24px;font-size:8px}.orientation i{display:block;width:20px;height:10px;border-left:1px solid #a9af97;border-bottom:1px solid #a9af97;transform:skewY(-25deg)}
.anchor{position:absolute;z-index:2;pointer-events:none;left:0;top:0;display:flex;align-items:center;gap:0;white-space:nowrap}.anchor i{height:8px;width:8px;border:1px solid #ffd8b6;border-radius:50%;box-shadow:0 0 0 3px #191c1680}.anchor::after{content:"";position:absolute;left:8px;top:50%;width:clamp(10px,2vw,32px);height:1px;background:#e7b68a}.anchor span{margin-left:clamp(10px,2vw,32px);background:#272920ec;padding:5px 7px;font:10px/1.15 ui-monospace,monospace;color:#ffceac;border:1px solid #8c745c}.anchor.left{flex-direction:row-reverse;transform:translateX(calc(-100% + 8px))}.anchor.left::after{right:8px;left:auto}.anchor.left span{margin-left:0;margin-right:clamp(10px,2vw,32px)}
.transport{padding:13px var(--pad) clamp(12px,2svh,24px);border-top:1px solid var(--line);position:relative;background:#191c17;flex:none}
.anchor{translate:0 -50%}
#motor-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:hidden;opacity:0;transition:opacity .16s}
#motor-leaders.shown{opacity:1}#motor-leaders g{color:#d4d8c7}#motor-leaders g:first-child{color:#ffb786}
#motor-leaders path{stroke:currentColor;stroke-width:1;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .42s cubic-bezier(.2,.55,.3,1)}
#motor-leaders.shown path{stroke-dashoffset:0}#motor-leaders circle{stroke:currentColor;fill:#2b2d25;stroke-width:1}
#motor-leaders text{font:10px ui-monospace,SFMono-Regular,monospace;fill:currentColor;paint-order:stroke;stroke:#1c201b;stroke-width:4px;stroke-linejoin:round}
@media(prefers-reduced-motion:reduce){#motor-leaders,#motor-leaders path{transition:none}}
html:not(.interactive) #parts-list details a{display:none}
.transport-line{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#c5c8bc}.transport-line label{display:flex;align-items:center;gap:7px;cursor:pointer}.cue-mark,.progress-count b{color:var(--signal)}.cue-mark{font-size:13px}.progress-count{letter-spacing:.13em}
#sequence{display:block;width:100%;height:22px;appearance:none;-webkit-appearance:none;background:transparent;margin:1px 0;cursor:ew-resize;accent-color:var(--signal)}
#sequence::-webkit-slider-runnable-track{height:1px;background:linear-gradient(90deg,var(--signal) var(--pct,0%),#595f50 var(--pct,0%))}
#sequence::-moz-range-track{height:1px;background:#595f50}#sequence::-moz-range-progress{height:1px;background:var(--signal)}
#sequence::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;margin-top:-5px;width:11px;height:11px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px #302920}
#sequence::-moz-range-thumb{width:10px;height:10px;border:0;border-radius:50%;background:var(--signal)}
.chapters{display:grid;grid-template-columns:repeat(4,1fr);gap:1vw}.chapters a{color:#acb0a3;display:flex;align-items:center;gap:10px;min-height:36px;font-size:clamp(12px,1.2vw,18px);letter-spacing:-.025em}.chapters small{color:#919889;font-size:9px}.chapters [aria-current=step]{color:var(--cream)}.chapters [aria-current=step] small{color:var(--signal)}.chapters a:hover{color:#fff}
.notes{position:relative;padding:clamp(38px,6vw,92px) var(--pad) 0;background:var(--paper);color:#20231e;color-scheme:light}
.notes-top,.notes footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.notes-top>a,.notes footer{font-size:12px}.notes-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:5vw;padding:40px 0 55px}.notes h2{font-size:clamp(46px,5.7vw,102px);max-width:10ch}.notes h2 em{color:#625743}.notes-intro p{max-width:47ch;line-height:1.55}.notes h3{font-weight:550;letter-spacing:-.03em;font-size:23px;margin-bottom:14px}
#parts-list{border-top:1px solid #acae9e}.notes details{border-bottom:1px solid #c6c7b8;scroll-margin-top:15px}.notes details summary{padding:16px 3px;display:flex;align-items:center;gap:20px;font-size:19px;cursor:pointer;list-style:none}.notes details summary::-webkit-details-marker{display:none}.notes summary::after{content:"+";margin-left:auto}.notes details[open] summary::after{content:"−"}.part-id{color:#716452}.notes details p{max-width:65ch;margin:0 0 14px 38px;line-height:1.48}.notes details a{display:inline-block;margin:0 0 16px 38px;text-decoration:underline;text-underline-offset:3px}.references{margin:58px 0;display:grid;grid-template-columns:1fr 2fr;gap:18px}#sources{display:grid;gap:10px}#sources a{font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.notes footer{padding:22px 0;border-top:1px solid #bcbcaf}
dialog{background:var(--paper);color:#22251e;border:0;padding:clamp(20px,3vw,42px);width:min(470px,calc(100vw - 28px));max-height:90svh;overflow:auto;border-radius:6px;color-scheme:light}dialog::backdrop{background:#080b08bb}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.drawer-head .eyebrow{color:#78593f}.drawer-head h2{font-size:48px;margin-top:9px}#drawer-close{font-size:24px;border:1px solid #aaa99b;border-radius:50%;width:40px;height:40px;background:transparent}
#drawer-parts{border-top:1px solid #b6b8a9}#drawer-parts button{display:flex;justify-content:space-between;gap:14px;align-items:center;width:100%;min-height:42px;background:transparent;padding:9px 3px;color:#25291e;border:0;border-bottom:1px solid #c7c9ba;text-align:left}.drawer-item{display:flex;gap:14px;align-items:center}#drawer-parts button:hover,#drawer-parts button[aria-pressed=true]{background:#dedfce}.notes a:focus-visible,dialog button:focus-visible,.mast a:focus-visible{outline-color:#a53e12}
@media(min-width:1650px){.studio{grid-template-columns:36% minmax(0,1fr)}}
@media(max-width:760px){
 .exhibit{min-height:530px}.interactive .journey{height:calc(100svh + 1850px)}.mast{height:49px}.mast nav{gap:14px;font-size:11px}.mast nav a{gap:3px}.wordmark{font-size:21px;gap:6px}.wordmark img{width:23px;height:23px}.wordmark span{font-size:7px;padding-left:7px;margin-left:0}
 .studio{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.narrative{align-self:start;margin:0;padding:clamp(15px,3svh,28px) var(--pad) 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px}.scene-copy{display:contents}.scene-copy .specimen,.scene-copy h1,.scene-copy>p:last-child{grid-column:1/-1}.scene-copy h1{font-size:clamp(46px,min(11.1vw,8.6svh),68px);margin:10px 0}.scene-copy h1 em{display:inline}.scene-copy>p:last-child{font-size:13px;max-width:47ch;line-height:1.4}.eyebrow,.specimen{font-size:8px}.action-slot{grid-column:1/-1;min-height:0;margin:10px 0 0}.action,.inspect-controls button{font-size:12px;min-height:33px;padding:5px 10px}.inspect-controls button{min-width:35px}.action span{font-size:14px}
 .art-caption{right:var(--pad);top:6px;font-size:8px;gap:6px}.art-caption span+span{padding-left:6px}.orientation{bottom:7px}.transport{padding:9px var(--pad) max(8px,env(safe-area-inset-bottom))}.transport-line{font-size:8px}.chapters{gap:4px}.chapters a{flex-direction:column;align-items:flex-start;gap:3px;justify-content:center;height:36px;font-size:12px;white-space:nowrap}.chapters small{font-size:8px}.anchor span{font-size:8px}
 .notes-intro{grid-template-columns:1fr;gap:20px;padding:28px 0 35px}.notes h2{max-width:15ch}.notes-intro p{font-size:15px}.notes details summary{font-size:16px}.references{grid-template-columns:1fr;margin:35px 0}
}
@media(max-width:390px){.wordmark span{display:none}.chapters a{font-size:11px}.art-caption{font-size:7px}.narrative{padding-top:14px}.scene-copy h1{margin:8px 0}}
.object:not(.live) .orientation{visibility:hidden}
@media(max-width:760px) and (orientation:portrait){.narrative{min-height:clamp(190px,26svh,220px);align-content:start}}
@media(max-height:600px) and (min-width:761px){.exhibit{min-height:380px}.mast{height:42px}.scene-copy h1{font-size:58px}.scene-copy>p:last-child{font-size:13px}.action-slot{margin-top:10px}.transport{padding-block:5px}.chapters a{min-height:30px}.narrative{padding-block:14px}}
@media(max-height:510px) and (orientation:landscape) and (max-width:760px){.exhibit{height:auto;min-height:100svh}.interactive .journey{height:auto}.interactive .exhibit{position:relative}.studio{grid-template-columns:40% 60%;grid-template-rows:minmax(220px,58svh)}.narrative{display:block}.scene-copy{display:block}.scene-copy h1{font-size:40px}.scene-copy>p:last-child{font-size:12px}.action-slot{margin-top:8px}}
@media(max-height:510px) and (orientation:landscape){
 .studio{grid-template-columns:37% minmax(0,1fr)}.mast{height:38px}.narrative{padding-block:8px}
 .scene-copy h1{font-size:clamp(34px,10.5svh,49px);margin:8px 0}.scene-copy>p:last-child{font-size:12px;line-height:1.35;max-width:37ch}
 .action-slot{margin-top:8px;min-height:32px}.action,.inspect-controls button{min-height:32px;padding:4px 10px;font-size:12px}
 .transport{padding-block:5px}.chapters a{min-height:26px}
}
@media(prefers-reduced-motion:reduce){.interactive .journey{height:auto}.interactive .exhibit{position:relative}}
html:not(.interactive) .transport{display:none}html:not(.interactive) .action-slot{display:none}html:not(.interactive) .exhibit{min-height:570px}
