:root{--page:#eee7d7;--ink:#343b3b;--muted:#5d6156;--rose:#9d5868;--line:#b5ae9c;--gold:#84642e;font-family:Inter,sans-serif;font-synthesis:none;color-scheme:light}*{box-sizing:border-box}html{background:var(--page);scroll-behavior:smooth;scrollbar-color:#9d8e71 var(--page)}body{margin:0;background:var(--page);color:var(--ink);font:14px/1.65 Inter,sans-serif}h1,h2{color:var(--ink)}a{color:inherit;text-underline-offset:5px}button,input{font:inherit}button{color:inherit}::selection{background:#314d5b;color:#fff3da}:focus-visible{outline:2px solid var(--rose);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:20;padding:14px;background:var(--ink);color:var(--page)}.skip:focus{top:12px}header{position:absolute;top:0;left:0;right:0;z-index:3;display:flex;align-items:center;justify-content:space-between;padding:18px 4.5vw;min-height:80px}.artist{font:300 26px/1.2 Fraunces,serif;text-decoration:none}.back{display:flex;align-items:center;gap:10px;min-height:44px;font-size:14px;text-decoration:none}.back:hover{text-decoration:underline}svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.back svg,footer svg{width:22px;height:22px}.experience{position:relative;min-height:600px;height:calc(100svh - 118px);max-height:1050px;isolation:isolate}.art-stage{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;background:var(--page)}.art-stage canvas,.art-stage>svg{position:absolute;inset:0;width:100%;height:100%;display:block}.art-stage>svg{object-fit:contain}.art-stage canvas{opacity:0}body[data-renderer=webgpu] canvas{opacity:1}body[data-renderer=webgpu] #art-fallback{visibility:hidden}.hero-copy{position:absolute;left:6vw;top:clamp(130px,19vh,220px);pointer-events:none;max-width:320px}h1{font:300 clamp(58px,6.5vw,96px)/.98 Fraunces,serif;letter-spacing:-.04em;margin:0 0 26px}h1 em{font-weight:300;color:var(--rose)}.hero-copy>p{font:300 23px/1.4 Fraunces,serif;max-width:20ch;margin:0}.gesture{position:absolute;bottom:24px;left:4.5vw;margin:0;color:var(--muted);font-size:13px;pointer-events:none}#renderer-status{position:absolute;bottom:24px;right:4.5vw;margin:0;color:var(--muted);font-size:13px;pointer-events:none}.control-dock{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:4vw;padding:17px 4.5vw 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;background:var(--page)}.control{min-width:0}.control label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:14px}.control output{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;min-width:4ch;text-align:right}.control input{appearance:none;-webkit-appearance:none;display:block;width:100%;height:44px;margin:0;cursor:pointer;background:transparent}.control input::-webkit-slider-runnable-track{height:1px;background:#918b7b}.control input::-moz-range-track{height:1px;background:#918b7b}.control input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#314d5b;border:3px solid var(--page);box-shadow:0 0 0 1px #314d5b;margin-top:-7px}.control input::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:#314d5b;border:3px solid var(--page);box-shadow:0 0 0 1px #314d5b}.actions{display:flex;align-items:center;gap:24px}.actions button{min-height:44px;font-size:14px;border:0;cursor:pointer}.actions #play{background:#314d5b;color:#fff4df;padding:10px 16px;display:flex;align-items:center;gap:10px;white-space:nowrap}.actions #play:hover:not(:disabled){background:#243b47}.actions #play:disabled{opacity:.5;cursor:not-allowed}.actions #play svg{width:17px;height:17px;fill:currentColor;stroke:none}.actions #reset{background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}.actions #reset:hover{color:var(--rose)}.references{max-width:1560px;margin:auto;display:grid;grid-template-columns:.9fr 1fr 1fr;gap:5%;padding:80px 4.5vw 90px}.references h2{font:300 clamp(34px,3.2vw,48px)/1.12 Fraunces,serif;letter-spacing:-.03em;margin:0 0 26px}.references h2 em{font-weight:300;color:var(--rose)}.references p{font-size:14px;line-height:1.85;max-width:36ch;margin:0 0 20px}.references .attribution{font-size:13px;color:var(--muted)}.references figure{min-width:0;margin:0}.references figure a{display:block}.references img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.references figcaption{font:300 20px/1.4 Fraunces,serif;margin-top:17px;display:flex;flex-direction:column;gap:7px}.references figcaption span{font:13px/1.7 Inter,sans-serif;color:var(--muted)}footer{max-width:1560px;margin:auto;padding:25px 4.5vw 35px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:13px;color:var(--muted)}footer>a:first-child{font:300 23px Fraunces,serif;color:var(--ink);text-decoration:none}footer>a:last-child{display:flex;align-items:center;gap:12px;min-height:44px;text-decoration:none}footer>a:hover{text-decoration:underline}
@media(max-width:1100px){.experience{height:calc(100svh - 184px);min-height:600px}.hero-copy{left:4.5vw;max-width:250px}h1{font-size:70px}.hero-copy>p{font-size:21px}.control-dock{grid-template-columns:1fr 1fr 1fr;gap:5px 6%}.actions{grid-column:1/-1;justify-content:center}.references{grid-template-columns:1fr 1fr;gap:30px}.reference-copy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.reference-copy h2{grid-row:1/3}.reference-copy p{max-width:50ch}}
@media(max-width:720px){header{position:relative;padding:12px 6vw;min-height:76px}.artist{font-size:24px}.experience{height:650px;min-height:0;max-height:none;padding-top:0}.hero-copy{position:relative;top:auto;left:auto;max-width:none;padding:14px 6vw 0;display:flex;align-items:start;justify-content:space-between;gap:25px}.hero-copy h1{font-size:48px;line-height:1.02;margin:0}.hero-copy p{font-size:20px;max-width:13ch;padding-top:8px}.art-stage{top:80px;bottom:60px}.gesture{left:6vw;bottom:34px;max-width:31ch;font-size:12px}#renderer-status{left:6vw;right:auto;bottom:10px;font-size:12px}.control-dock{grid-template-columns:1fr;padding:20px 6vw 24px;gap:13px}.control label{font-size:14px}.actions{grid-row:1;justify-content:flex-start;margin-top:0;margin-bottom:5px;gap:30px}.references{display:block;padding:45px 6vw 25px}.reference-copy{display:block;margin-bottom:30px}.references h2{font-size:37px;margin-bottom:22px}.references p{max-width:56ch}.references figure{margin-bottom:30px}.references img{aspect-ratio:1.3;object-fit:contain;background:#e3ddcf}footer{padding:22px 6vw 28px;align-items:flex-start;flex-direction:column;gap:12px}}
@media(max-width:380px){.hero-copy{gap:18px}.hero-copy h1{font-size:43px}.hero-copy p{font-size:18px}.experience{height:610px}.art-stage{top:80px;bottom:65px}.back{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
