:root{font-family:Arial,Helvetica,sans-serif;color:#262626;background:#fff;font-synthesis:none}*{box-sizing:border-box}html{background:#fff;scrollbar-width:thin;scrollbar-color:#ddd #fff}body{margin:0;background:#fff;overflow-x:hidden}button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid #333;outline-offset:6px}button:disabled{cursor:default;color:#8a8a8a}.masthead{position:fixed;z-index:5;left:30px;right:30px;top:28px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.masthead>*{pointer-events:auto}.wordmark{font-size:12px;letter-spacing:-.055em;font-weight:600}.edition{font-size:8px;letter-spacing:.08em;position:absolute;left:27%}nav{display:flex;gap:24px;font-size:9px}#scene{position:fixed;inset:0;pointer-events:none}#scene canvas{display:block;width:100%;height:100%}#intro-copy{position:fixed;top:38%;left:50%;width:80%;margin:0;transform:translate(-50%,-50%);text-align:center;font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(15px,1.7vw,25px);line-height:1.4;letter-spacing:-.015em;pointer-events:none;opacity:0}#intro-copy span{display:block}#project-label{position:fixed;z-index:4;right:30px;bottom:83px;display:flex;gap:24px;font-size:10px;opacity:0;pointer-events:none}#project-number{color:#999;font-variant-numeric:tabular-nums}footer{position:fixed;left:30px;right:30px;bottom:25px;z-index:5;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.06em;opacity:0;transition:opacity .35s}footer:before{content:'';position:absolute;z-index:-1;left:-30px;right:-30px;bottom:-25px;height:70px;background:linear-gradient(#fff0,#fff 80%);pointer-events:none}#scroll-hint{position:absolute;left:50%;transform:translateX(-50%);color:#737373;white-space:nowrap}.view-options{display:flex;gap:9px;align-items:center}.view-options span{color:#bbb}.view-options button{color:#a0a0a0}.view-options button[aria-pressed=true]{color:#222}.view-options button[aria-pressed=true]:after{content:'';display:block;height:1px;background:currentColor;margin-top:4px}#skip-intro{position:fixed;right:30px;bottom:25px;font-size:8px;z-index:6}body[data-phase=drum] footer{opacity:1}body[data-phase=drum] #skip-intro{display:none}#webgl-error{position:fixed;inset:40% 15% auto;text-align:center;font-size:14px;line-height:1.6;background:white;padding:20px}#scroll-space{width:1px;pointer-events:none}
@media(max-width:650px){.masthead{left:18px;right:18px;top:24px}.edition{display:none}nav{gap:16px;font-size:8px}.wordmark{font-size:11px}#intro-copy{font-size:18px;top:36%;line-height:1.45}footer{left:18px;right:18px;bottom:20px;font-size:7px}#project-label{left:18px;right:18px;bottom:67px;justify-content:space-between;font-size:9px}#scroll-hint{display:none}#skip-intro{right:18px;bottom:20px;font-size:7px}}
footer:before{display:none}
#index{position:fixed;inset:64px 0 0;overflow:hidden;touch-action:none;cursor:grab;outline:none;user-select:none}#index.dragging{cursor:grabbing}#index h2{position:fixed;margin:0;font-size:13px;font-weight:400;pointer-events:none}#index h2 span{margin-left:32px;font-size:10px;color:#999}#index-labels{position:fixed;inset:0;list-style:none;margin:0;padding:0;pointer-events:none;overflow:hidden}#index-labels li{position:absolute;left:0;top:0;display:flex;gap:24px;font-size:11px;line-height:1.5;white-space:nowrap}#index-labels li span{color:#999;font-variant-numeric:tabular-nums}#index-controls{position:fixed;bottom:30px;left:48px;right:48px;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:8px;letter-spacing:.06em;color:#777;cursor:default}#index-position{appearance:none;width:170px;height:20px;margin:0;background:transparent;cursor:ew-resize}#index-position::-webkit-slider-runnable-track{height:1px;background:#ddd}#index-position::-webkit-slider-thumb{appearance:none;width:28px;height:3px;margin-top:-1px;background:#555}#index-position::-moz-range-track{height:1px;background:#ddd}#index-position::-moz-range-thumb{width:28px;height:3px;border:0;border-radius:0;background:#555}#index-position:focus-visible{outline:1px solid #555;outline-offset:4px}body[data-phase=reorganize] #skip-intro,body[data-phase=index] #skip-intro{display:none}body[data-phase=reorganize] footer,body[data-phase=index] footer{opacity:0;visibility:hidden;pointer-events:none}#projects[aria-pressed=true]{text-decoration:underline;text-underline-offset:5px}body[data-phase=index] .masthead:before{content:'';position:absolute;inset:-28px -30px -18px;background:#fff;z-index:-1}body[data-phase=reorganize],body[data-phase=index]{overflow-anchor:none;overscroll-behavior:none}
@media(max-width:650px){#index h2{font-size:12px}#index-labels li{font-size:10px}#index-controls{left:24px;right:24px;bottom:24px;font-size:7px}#index-position{width:100px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
#gallery{position:absolute;left:0;right:0;top:0;width:100%;z-index:2;background:#fff;opacity:0;overflow-x:clip;overflow-y:visible;touch-action:pan-y pinch-zoom}
.gallery-heading{position:absolute;top:101px;left:var(--gallery-margin,7vw);right:var(--gallery-margin,7vw);display:flex;gap:36px;align-items:baseline;pointer-events:none}
.gallery-heading h2{margin:0;font-size:13px;font-weight:400}.gallery-heading>span{font-size:9px;color:#929292}
.gallery-stage{position:absolute;overflow:visible;touch-action:pan-y pinch-zoom;outline:none;user-select:none}
.gallery-field{position:absolute;left:0;top:0;width:100%}
.gallery-item{position:absolute;display:block;border:0;border-radius:0;padding:0;cursor:pointer;text-align:left;touch-action:pan-y pinch-zoom;user-select:none;color:inherit;text-decoration:none}
.gallery-item img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.gallery-caption{position:absolute;left:0;right:0;top:calc(100% + 12px);display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 18px;line-height:1.5;font-size:10px;opacity:0;transition:opacity .18s;pointer-events:none}
.gallery-caption>span:last-child{color:#929292}.gallery-item:hover .gallery-caption,.gallery-item:focus-visible .gallery-caption{opacity:1}
.gallery-controls{position:absolute;bottom:58px;left:var(--gallery-margin,7vw);right:var(--gallery-margin,7vw);display:flex;justify-content:space-between;gap:24px;font-size:8px;letter-spacing:.06em}.gallery-controls>span{color:#888}
body[data-phase^=gallery] #skip-intro,body[data-phase^=gallery] footer{display:none}body[data-phase^=gallery]{overscroll-behavior:none;overflow-anchor:none}
body[data-phase^=gallery] #project-label{z-index:1}
#project-placeholder{width:min(420px,calc(100vw - 48px));padding:34px;border:1px solid #e8e8e8;background:#fff;color:#262626;box-shadow:0 12px 70px #00000008}
#project-placeholder::backdrop{background:#ffffffd9}#project-placeholder h2{font-size:23px;font-weight:400;margin:18px 0}#project-placeholder p{font-size:12px;color:#888;line-height:1.6}#project-placeholder .placeholder-type{font-size:9px;letter-spacing:.1em;text-transform:uppercase}#project-placeholder button{font-size:9px;margin-top:24px}
@media(max-width:650px){.gallery-heading{top:91px;gap:22px}.gallery-heading h2{font-size:12px}.gallery-heading>span{font-size:8px}.gallery-controls{bottom:38px;font-size:7px}.gallery-caption{font-size:9px;gap:3px 10px}}
@media(hover:none){.gallery-caption{opacity:.8}}
.gallery-edit-toggle{pointer-events:auto;margin-left:auto;font-size:10px;letter-spacing:.03em;min-height:32px;color:#555;white-space:nowrap}
.gallery-editor{position:fixed;z-index:12;right:18px;bottom:18px;width:292px;max-width:calc(100vw - 28px);padding:16px;background:rgba(255,255,255,.97);border:1px solid #deded9;color:#333;font-size:11px;line-height:1.5;box-shadow:0 3px 20px #00000007;touch-action:pan-y}
.gallery-editor[hidden],.gallery-editor-body[hidden]{display:none}
.gallery-editor-heading{display:flex;gap:10px;align-items:center}.gallery-editor-heading strong{font-weight:400;font-size:12px}.gallery-editor-profile{color:#888;font-size:9px}.gallery-editor-heading button{margin-left:auto}
.gallery-editor button{font:inherit;font-size:10px;color:inherit;padding:5px 7px;min-height:28px;border:1px solid #e2e2dc;letter-spacing:0;cursor:pointer}
.gallery-editor button:disabled{opacity:.35;cursor:default}.gallery-editor button:hover:not(:disabled){background:#f4f4f0}.gallery-editor button:focus-visible,.gallery-editor input:focus-visible,.gallery-edit-toggle:focus-visible{outline:1px solid #555;outline-offset:3px}
.gallery-editor-help{color:#777;margin:14px 0 10px;font-size:10px}.gallery-editor-selection{margin:0 0 12px;font-size:10px;overflow-wrap:anywhere}
.gallery-editor-fields{display:flex;gap:8px}.gallery-editor-fields label{display:grid;gap:5px;flex:1;min-width:0;color:#777;font-size:9px}.gallery-editor-fields input{width:100%;min-width:0;border:1px solid #ddd;background:#fff;color:#333;border-radius:0;padding:6px;font:inherit;font-size:11px}
.gallery-editor-align{display:flex;gap:6px;margin:10px 0}.gallery-editor-actions{display:flex;flex-wrap:wrap;gap:6px}.gallery-editor-bottom{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:13px}.gallery-editor-status{color:#888;font-size:9px;overflow-wrap:anywhere}
.gallery-resize-handle{display:none}.is-editing .gallery-item{cursor:grab;touch-action:none;outline:1px solid #00000016;outline-offset:0}.is-editing .gallery-item.editor-selected{outline:1px solid #666;z-index:3}.is-editing .editor-selected .gallery-resize-handle{display:block;position:absolute;width:12px;height:12px;background:#fff;border:1px solid #666;z-index:4;touch-action:none}
.gallery-resize-handle[data-corner=nw]{left:-6px;top:-6px;cursor:nwse-resize}.gallery-resize-handle[data-corner=ne]{right:-6px;top:-6px;cursor:nesw-resize}.gallery-resize-handle[data-corner=sw]{left:-6px;bottom:-6px;cursor:nesw-resize}.gallery-resize-handle[data-corner=se]{right:-6px;bottom:-6px;cursor:nwse-resize}.editor-dragging .gallery-item{cursor:grabbing}
@media(max-width:649px){.gallery-editor{right:14px;bottom:14px;padding:12px}.gallery-edit-toggle{font-size:9px}.gallery-heading{gap:12px}}
#intro-copy{width:max-content;max-width:calc(100% - 48px);text-align:left}
#intro-copy small{display:block;margin-top:12px;font:inherit;color:inherit;text-align:right}
@media(max-width:650px){#intro-copy small{margin-top:10px}}
