/* The living Studio is deliberately its own room within the exhibition. */
.studio-page{--paper:#101715;--ink:#f2f0e7;--line:#3a4540;--accent:#dfff75;background:var(--paper);color:var(--ink)}
.studio-page header{border-color:var(--line)}
.studio-page .skip{color:#101715}
.studio-page a:focus-visible,.studio-page button:focus-visible,.studio-page input:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.studio-page .menu{color:var(--ink);border-color:var(--line)}
.studio-page footer{border-top:1px solid var(--line);background:#0b100e;color:var(--ink)}
.studio-lab{--muted:#aab6ac;--serif:Georgia,'Times New Roman',serif;overflow:clip}
.studio-lab [hidden]{display:none!important}
.studio-lab button{color:inherit;cursor:pointer;font:inherit}
.lab-topline,.lab-hero,.lab-divider,.lab-experiment,.lab-process,.lab-composition,.lab-exit{padding-inline:6%}
.lab-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:26px;font:11px/1.5 monospace;letter-spacing:.08em}
.lab-topline p{margin:0;display:flex;align-items:center;gap:9px}
.lab-dot{width:7px;height:7px;background:var(--accent);border-radius:50%;box-shadow:0 0 18px #dfff7540;flex-shrink:0}
.lab-kicker{font:11px/1.55 monospace;letter-spacing:.12em;margin:0 0 24px;color:var(--muted)}
.lab-quiet{border:0;border-bottom:1px solid #718277;background:none;padding:12px 0;min-height:44px;text-align:left;font-size:12px!important;line-height:1.5;white-space:nowrap}
.lab-quiet:hover{color:var(--accent)}
.lab-hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:2%;padding-top:42px;padding-bottom:68px}
.lab-hero h1{font-size:clamp(54px,7.6vw,124px);letter-spacing:-.075em;line-height:.97;font-weight:400;margin:0 0 34px}
.studio-lab em{font-family:var(--serif);font-weight:400;letter-spacing:-.065em;color:var(--accent)}
.lab-intro{font-size:clamp(17px,1.65vw,24px);line-height:1.5;color:#c9d0c8;max-width:400px;margin-bottom:32px}
.lab-enter{display:inline-flex;align-items:center;gap:26px;font-size:14px}
.lab-enter b{width:45px;height:45px;display:grid;place-items:center;border:1px solid #7c8c80;border-radius:50%;font-size:20px;font-weight:400;transition:background .2s,color .2s,transform .2s}
.lab-enter:hover b{background:var(--accent);color:var(--paper);transform:translateY(4px)}
.lab-installation{min-width:0}
.lab-deck{position:relative;width:100%;aspect-ratio:1.04;perspective:1100px}
.lab-orbit{position:absolute;inset:9%;border:1px solid #71827740;border-radius:50%;transform:rotate(-24deg) scaleX(.86)}
.lab-orbit:before,.lab-orbit:after{content:'';position:absolute;inset:12%;border:1px solid #71827722;border-radius:50%}
.lab-orbit:after{inset:-12%;border-style:dashed}
.lab-float{position:absolute;width:25%;left:var(--x);top:var(--y);transform:translate(-50%,-50%) rotate(var(--r));transition:left 1s cubic-bezier(.2,.7,.2,1),top 1s cubic-bezier(.2,.7,.2,1),width 1s ease,transform 1s cubic-bezier(.2,.7,.2,1);z-index:calc(2 + var(--i))}
.lab-float:nth-of-type(1){--x:20%;--y:27%;--r:-12deg}
.lab-float:nth-of-type(2){--x:49%;--y:21%;--r:5deg}
.lab-float:nth-of-type(3){--x:79%;--y:34%;--r:13deg}
.lab-float:nth-of-type(4){--x:23%;--y:70%;--r:-8deg}
.lab-float:nth-of-type(5){--x:54%;--y:63%;--r:7deg}
.lab-float:nth-of-type(6){--x:81%;--y:76%;--r:-9deg}
.lab-float-inner{background:#263229;padding:5px;box-shadow:0 15px 30px #0007;animation:lab-float 7s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-1.2s);transition:box-shadow .25s}
.lab-float img{aspect-ratio:3/4;object-fit:contain;background:#161c19}
.lab-float span{display:block;padding:5px 3px 2px;font:9px/1.3 monospace;letter-spacing:.08em}
.lab-float:hover,.lab-float:focus-visible{z-index:12;transform:translate(-50%,-50%) rotate(0deg) scale(1.1)}
.lab-float:hover .lab-float-inner,.lab-float:focus-visible .lab-float-inner{box-shadow:0 18px 48px #000b;animation-play-state:paused}
.lab-deck[data-spread="gathered"] .lab-float{left:50%;top:49%;transform:translate(-50%,-50%) rotate(calc((var(--i) - 2.5)*8deg));width:30%}
.lab-deck[data-spread="gathered"] .lab-float-inner{animation-play-state:paused}
.lab-deck-note{position:absolute;bottom:0;left:0;font:10px/1.6 monospace;color:var(--muted)}
.lab-installation-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:25px}
.lab-installation-footer>span{font:9px/1.5 monospace;letter-spacing:.09em;color:var(--muted)}
.lab-divider{display:flex;align-items:center;gap:24px;padding-block:24px;border-block:1px solid var(--line);font:10px/1.5 monospace;letter-spacing:.1em;color:#a5b1a8}
.lab-rule{height:1px;flex:1;background:#425349}
.lab-experiment{padding-block:88px 104px;scroll-margin-top:28px;background:radial-gradient(ellipse at 10% 60%,#25332955,transparent 60%)}
.lab-section-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:0 8%;align-items:end;max-width:1200px;margin:0 auto 44px}
.lab-section-heading>.lab-kicker{grid-column:1/-1}
.studio-lab h2{font-size:clamp(36px,4.6vw,72px);line-height:1.03;letter-spacing:-.055em;font-weight:400;margin:0}
.lab-section-heading>p:last-child{color:#bdc8bf;font-size:16px;line-height:1.8;max-width:400px;margin:0 0 4px}
.lab-workbench{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:8%;max-width:1200px;margin:auto;align-items:center}
.lab-viewer{min-width:0}
.lab-comparison{position:relative;aspect-ratio:3/4;width:100%;background:#1a251e;box-shadow:0 28px 65px #0005;touch-action:pan-y;isolation:isolate;overflow:hidden}
.lab-comparison img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.lab-source,.lab-art-layer,.lab-vision{position:absolute;inset:0}
.lab-art-layer{clip-path:inset(0 calc(100% - var(--reveal)) 0 0)}
.lab-vision{background:#151b17}
.lab-vision:not([hidden]){animation:lab-arrive .45s ease both}
.lab-view-labels{position:absolute;inset:14px 14px auto;display:flex;justify-content:space-between;gap:10px;pointer-events:none}
.lab-view-labels span{background:#101715d9;padding:6px 8px;font:9px/1.5 monospace;letter-spacing:.1em;color:#f2f0e7}
.lab-split{position:absolute;left:var(--reveal);top:0;bottom:0;width:1px;background:#f4f4e8;box-shadow:0 0 12px #0008;pointer-events:none}
.lab-split span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f2f0e7;color:#101715;font:20px monospace;box-shadow:0 3px 16px #0005}
.lab-slider-tools{margin-top:25px}
.lab-slider-tools label{font-size:12px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;color:#c9d0c8}
.lab-slider-tools output{font:11px monospace;color:var(--accent)}
.lab-slider-tools input{display:block;accent-color:var(--accent);width:100%;margin:8px 0 0;min-height:44px;cursor:ew-resize}
.lab-slider-ends{display:flex;justify-content:space-between;font:10px/1.5 monospace;color:var(--muted)}
.lab-small-number{display:block;font:11px monospace;color:var(--accent);margin-bottom:25px;letter-spacing:.16em}
.lab-instruments h3{font:400 clamp(24px,2.6vw,38px)/1.15 Arial,sans-serif;letter-spacing:-.04em;margin:0 0 14px}
.lab-instruments>p{font-size:14px;color:var(--muted);margin:0 0 25px}
.lab-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-block:26px}
.lab-choices button{display:flex;align-items:center;gap:11px;text-align:left;padding:13px 10px;min-height:64px;background:#18221c;border:1px solid #3e4b41;transition:background .2s,border-color .2s}
.lab-choices button:hover{background:#243028;border-color:#9fab9f}
.lab-choices button[aria-pressed="true"]{border-color:var(--accent);background:#2b3523}
.lab-choices button>span:last-child{font-size:13px}
.lab-choices small{font:9px/1.5 monospace;letter-spacing:.06em;color:var(--muted);display:block;margin-top:4px}
.lab-swatch{width:8px;height:30px;flex-shrink:0;background:var(--swatch)}
.lab-artwork-note{border-top:1px solid var(--line);padding-top:25px;margin-top:26px}
.lab-artwork-note .lab-kicker{color:var(--accent);margin-bottom:12px}
.lab-current-note{font-size:14px;line-height:1.75;min-height:100px;color:#c6cfc5;margin:0 0 20px}
.lab-study-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #6c7f70;font-size:14px}
.lab-study-link:hover{color:var(--accent)}
.lab-experiment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:24px}
.lab-pill{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:12px 18px;border:1px solid #6b7d70;border-radius:100px;background:transparent;min-height:46px;font-size:13px!important;line-height:1.5;transition:color .2s,background .2s}
.lab-pill:hover{background:#2c3a2e}
.lab-pill[aria-pressed="true"],.lab-primary{background:var(--accent);border-color:var(--accent);color:#152014!important}
.lab-primary:hover{background:#efffc3;color:#101715}
.lab-instruments .lab-feedback{font-size:12px;min-height:20px;margin-top:14px;margin-bottom:0;color:var(--accent)}
.lab-fallback{display:flex;flex-wrap:wrap;gap:18px;font-size:13px;margin-block:25px}
.lab-enhanced .lab-fallback{display:none}
.lab-process{border-block:1px solid var(--line);padding-block:72px 64px;background:#1b2720}
.lab-process blockquote{font-size:clamp(25px,3.7vw,56px);line-height:1.25;letter-spacing:-.035em;margin:35px 0 48px;font-weight:400}
.lab-process-notes{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:780px;margin-left:auto}
.lab-process-notes p{font-size:14px;line-height:1.8;color:#c0cbbe;margin:0}
.lab-process-notes span{display:block;font:10px/1.6 monospace;letter-spacing:.08em;color:var(--accent);margin-bottom:12px}
.lab-composition{padding-block:90px 75px;background:radial-gradient(ellipse at 50% 65%,#2a352655,transparent 60%)}
.lab-composition-heading{display:flex;align-items:end;justify-content:space-between;gap:7%;margin-bottom:40px}
.lab-composition-heading>p{max-width:300px;color:#bdc8bf;line-height:1.8;font-size:15px;margin:0 0 5px}
.lab-board-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:22px;border-block:1px solid var(--line)}
.lab-layouts{display:flex;flex-wrap:wrap;gap:8px}
.lab-board-toolbar>span{font:10px/1.7 monospace;color:var(--muted);letter-spacing:.06em}
.lab-board{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:22px;padding-block:28px;background-image:radial-gradient(#8c9d7925 1px,transparent 1px);background-size:24px 24px}
.lab-wall-tile{display:block;z-index:2;min-width:0}
.lab-wall-tile>div{padding:5px;background:#253128;box-shadow:0 9px 25px #0006;transition:transform .25s,box-shadow .25s}
.lab-wall-tile img{aspect-ratio:3/4;object-fit:contain;background:#121b15}
.lab-wall-tile span{display:block;text-align:right;font:9px/1.5 monospace;letter-spacing:.07em;padding:4px 2px 0}
.lab-enhanced .lab-board{display:block;aspect-ratio:2.05;padding:0}
.lab-enhanced .lab-wall-tile{position:absolute;left:var(--x);top:var(--y);width:var(--w);transform:translate(-50%,-50%) rotate(var(--r));transition:left 1.05s cubic-bezier(.2,.7,.2,1),top 1.05s cubic-bezier(.2,.7,.2,1),width 1.05s ease,transform 1.05s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i)*18ms)}
.lab-board-center{display:none;position:absolute;inset:0;place-content:center;text-align:center;font-size:clamp(28px,4vw,58px);line-height:.97;letter-spacing:-.06em;pointer-events:none;color:#9aa991;opacity:.65}
.lab-enhanced .lab-board[data-layout="constellation"] .lab-board-center{display:grid}
.lab-wall-tile:hover,.lab-wall-tile:focus-visible{z-index:15}
.lab-wall-tile:hover>div,.lab-wall-tile:focus-visible>div{transform:translateY(-6px) scale(1.07);box-shadow:0 14px 35px #000a}
.lab-board-note{font-size:12px;color:var(--muted);margin-top:18px}
.lab-exit{padding-block:80px 90px;border-top:1px solid var(--line);text-align:center;background:#17221b}
.lab-exit h2{margin-bottom:30px}
.lab-exit>p:not(.lab-kicker){max-width:540px;margin:0 auto 32px;font-size:15px;line-height:1.85;color:#c0cbbe}
.lab-exit>div{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px}
.lab-exit-link{font-size:13px;border-bottom:1px solid #768972;padding-block:13px}
.lab-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lab-enhanced .lab-section-heading,.lab-enhanced .lab-process blockquote,.lab-enhanced .lab-composition-heading{transition:opacity .7s ease,transform .7s ease}
.lab-enhanced .lab-coming{opacity:0;transform:translateY(22px)}
.studio-lab[data-motion="paused"] *, .studio-lab[data-sleeping="true"] *{animation-play-state:paused!important}
.lab-deck.lab-away .lab-float-inner{animation-play-state:paused}
.studio-lab[data-motion="paused"] .lab-coming{opacity:1;transform:none}
.studio-lab[data-motion="paused"] .lab-vision{animation:none}
@keyframes lab-float{from{transform:translateY(-7px)}to{transform:translateY(8px)}}
@keyframes lab-arrive{from{opacity:.15}to{opacity:1}}
@media(min-width:1500px){.lab-hero{max-width:1700px;margin:auto}.lab-deck{max-height:680px}.lab-composition{padding-inline:max(6%,calc((100vw - 1450px)/2))}}
@media(max-width:1000px){.lab-topline,.lab-hero,.lab-divider,.lab-experiment,.lab-process,.lab-composition,.lab-exit{padding-inline:5%}.lab-hero{padding-top:55px}.lab-hero h1{font-size:8vw}.lab-workbench{gap:5%}.lab-choices{gap:6px}.lab-choices button{padding:10px 8px;gap:8px}.lab-installation-footer{align-items:start;flex-direction:column;gap:4px}.lab-current-note{min-height:125px}.lab-composition-heading{align-items:start}.lab-composition-heading>p{max-width:240px}.lab-board-toolbar{align-items:start}.lab-board-toolbar>span{max-width:130px}}
@media(max-width:700px){.lab-topline{font-size:9px;letter-spacing:.04em;gap:12px;padding-top:18px}.lab-topline p{max-width:210px}.lab-motion{font-size:10px!important}.lab-hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:38px;gap:28px}.lab-hero h1{font-size:clamp(50px,13vw,86px);margin-bottom:22px}.lab-hero .lab-kicker{font-size:10px;margin-bottom:25px}.lab-intro{font-size:18px;margin-bottom:24px}.lab-enter{font-size:13px;gap:20px}.lab-installation{max-width:480px;width:100%;margin-inline:auto}.lab-deck{aspect-ratio:1.1}.lab-float{width:24%}.lab-float-inner{padding:4px}.lab-float span{font-size:7px}.lab-installation-footer{flex-direction:row;align-items:center;margin-top:18px}.lab-installation-footer>span{font-size:8px;max-width:140px}.lab-divider{gap:15px;font-size:8px;padding-block:18px}.lab-divider>span:last-child{max-width:145px}.lab-experiment{padding-block:58px 60px}.lab-section-heading{grid-template-columns:1fr;margin-bottom:30px;gap:22px}.lab-section-heading>.lab-kicker{margin:0}.lab-section-heading>p:last-child{font-size:14px;max-width:450px}.studio-lab h2{font-size:clamp(34px,8.7vw,50px)}.lab-workbench{grid-template-columns:1fr;gap:36px}.lab-viewer{max-width:450px;width:100%;margin:auto}.lab-view-labels{inset:10px 10px auto}.lab-instruments{max-width:500px;width:100%;margin:auto}.lab-small-number{margin-bottom:18px}.lab-instruments h3{font-size:29px}.lab-choices button{min-height:65px;padding:12px}.lab-choices{gap:8px;margin-block:24px}.lab-current-note{min-height:0}.lab-artwork-note{margin-top:24px}.lab-experiment-actions{justify-content:space-between;gap:12px}.lab-process{padding-block:50px}.lab-process .lab-kicker{font-size:9px;max-width:270px}.lab-process blockquote{font-size:30px;margin-block:25px 34px}.lab-process blockquote br{display:none}.lab-process-notes{grid-template-columns:1fr;gap:25px}.lab-process-notes p{font-size:13px}.lab-composition{padding-block:55px 42px}.lab-composition-heading{display:block;margin-bottom:25px}.lab-composition-heading>p{margin-top:25px;max-width:450px;font-size:14px}.lab-board-toolbar{display:block;padding-block:18px}.lab-board-toolbar>span{display:block;max-width:none;margin-top:14px;font-size:9px}.lab-layouts{gap:6px}.lab-layouts .lab-pill{padding:10px 13px;font-size:12px!important;gap:8px}.lab-board{grid-template-columns:repeat(3,1fr);gap:18px}.lab-enhanced .lab-board{aspect-ratio:.76}.lab-wall-tile>div{padding:3px}.lab-wall-tile span{font-size:8px}.lab-enhanced .lab-board[data-layout="constellation"] .lab-board-center{display:none}.lab-board-note{font-size:11px;line-height:1.7;max-width:270px}.lab-exit{padding-block:56px}.lab-exit>p:not(.lab-kicker){font-size:14px}.lab-exit>div{gap:16px}}
@media(prefers-reduced-motion:reduce){.studio-lab *, .studio-lab *:before,.studio-lab *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lab-enhanced .lab-coming{opacity:1;transform:none}}
