@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap');
:root{--bg:#09080d;--ink:#eeeaf6;--muted:#81798e;--purple:#ad83ff;--pink:#f36ee6;--line:#2a2435}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Space Grotesk',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}header,footer{display:flex;justify-content:space-between;align-items:center;margin:0 4vw}header{height:100px;border-bottom:1px solid var(--line)}.brand{font-size:25px;font-weight:700;letter-spacing:-1.5px}.brand span{color:var(--purple);font-size:13px;vertical-align:top;margin-left:5px}nav{display:flex;gap:26px;font-size:13px}nav a:hover,.back:hover{color:var(--purple)}.header-note,.eyebrow,.archive-heading,.project-link .number,.project-link .meta,.demo-note,.bottom-note,.drag-note,.object-label,footer,.back,.project-meta{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.05em}.header-note{color:var(--muted)}#home{min-height:calc(100svh - 158px);position:relative;display:grid;grid-template-columns:1.1fr 1.2fr .85fr;align-items:center;padding:65px 4vw 100px;gap:2vw;overflow:hidden}.intro{z-index:2;pointer-events:none}.eyebrow{color:var(--purple);text-transform:uppercase;display:flex;gap:10px;align-items:center}i{display:inline-block;width:5px;height:5px;background:var(--purple);box-shadow:0 0 10px #ad83ff77}h1{font-size:clamp(48px,5.9vw,100px);letter-spacing:-.075em;line-height:.95;font-weight:500;margin:28px 0}.glitched{color:var(--purple);position:relative}.glitched:after{content:attr(data-text);position:absolute;left:0;top:0;color:var(--pink);clip-path:inset(45% 0 45%);animation:text-glitch 7s infinite;pointer-events:none}.intro p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:30px}.scene{height:440px;position:relative;perspective:1100px;touch-action:none}.cube-wrap{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);transform-style:preserve-3d;animation:float 9s ease-in-out infinite}#cube{width:220px;height:220px;position:relative;transform-style:preserve-3d;cursor:grab;outline:none}#cube:active{cursor:grabbing}#cube:focus-visible .tile{border-color:var(--pink)}.face{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:7px;backface-visibility:hidden;transform-style:preserve-3d}.tile{border:1px solid #79648a;background:linear-gradient(145deg,#211a2aee,#0d0b13f5);position:relative;box-shadow:inset 0 0 22px #ad83ff08;transition:background .4s,border-color .4s,box-shadow .4s}.tile:before{content:'+';position:absolute;left:6px;top:4px;color:#645372;font:9px monospace}.tile:after{content:attr(data-cell);position:absolute;right:5px;bottom:5px;font:7px monospace;color:#645372}.face.active .tile{border-color:var(--purple);background:linear-gradient(145deg,#594070,#191123);box-shadow:inset 0 0 25px #ad83ff19,0 0 8px #ad83ff20}.face.active .tile:after{color:var(--purple)}.orbit{position:absolute;left:50%;top:48%;width:350px;height:350px;border:1px dashed #30243d;border-radius:50%;transform:translate(-50%,-50%) rotateX(68deg) rotateZ(-20deg)}.scene-cross{position:absolute;width:14px;height:14px}.scene-cross:before,.scene-cross:after{content:'';position:absolute;background:#695579}.scene-cross:before{height:1px;width:14px;top:7px}.scene-cross:after{height:14px;width:1px;left:7px}.cross-one{left:7%;top:10%}.cross-two{right:5%;bottom:20%}.object-label{position:absolute;bottom:52px;left:0;right:0;display:flex;justify-content:center;gap:20px;color:var(--purple)}#cube-code{color:var(--muted)}.drag-note{position:absolute;bottom:22px;width:100%;text-align:center;color:var(--muted)}.archive{z-index:3}.archive-heading{display:flex;justify-content:space-between;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:9px}.project-link{display:grid;grid-template-columns:26px 1fr 16px;gap:8px;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .25s,color .25s}.project-link:hover,.project-link:focus-visible{color:var(--purple);padding-left:9px}.project-link .number{color:var(--muted);padding-top:3px}.project-link .name{font-size:16px;display:block;letter-spacing:-.03em}.project-link .meta{font-size:8px;color:var(--muted);display:block;margin-top:7px}.arrow{font-size:14px;color:var(--purple)}.demo-note{font-size:8px;color:var(--muted);margin-top:20px}.bottom-note{position:absolute;bottom:28px;left:4vw;right:4vw;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}footer{height:58px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}footer i{margin-right:8px}footer button{background:none;border:0;font:inherit;padding:12px}.scanlines{position:fixed;inset:0;z-index:20;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,#00000012 3px 4px);opacity:.45}body.interference .scene{filter:drop-shadow(3px 0 0 #f36ee655)}body.interference .tile:nth-child(3n){transform:translateZ(7px)}#project-page{padding:40px 8vw 80px;min-height:calc(100svh - 158px)}[hidden]{display:none!important}.back{color:var(--muted)}.project-title{max-width:850px;padding:70px 0 40px}.project-title h1{font-size:clamp(55px,8vw,110px);color:var(--purple)}.project-title p{color:var(--muted);max-width:480px;line-height:1.8;font-size:14px}.project-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;color:var(--muted)}#gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:32px}#gallery img,#gallery video{width:100%;max-height:650px;object-fit:contain;background:#14101c}.empty-state{grid-column:1/-1;min-height:250px;border:1px dashed #493956;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);gap:16px;font:11px 'IBM Plex Mono',monospace}.empty-state strong{font-weight:400;font-size:35px;color:var(--purple)}body.paused .cube-wrap,body.paused .glitched:after{animation-play-state:paused}@keyframes float{0%,100%{translate:0 -10px}50%{translate:12px 12px}}@keyframes text-glitch{0%,94%,100%{transform:none;opacity:0}95%{transform:translate(-5px,2px);opacity:1}96%{transform:translate(4px,-1px);opacity:1}97%{transform:none;opacity:0}98%{transform:translate(3px,0);opacity:1}}@media(min-width:1600px){#home{gap:4vw}.scene{height:550px}#cube{width:270px;height:270px}}@media(max-width:1000px){.header-note{display:none}#home{grid-template-columns:1fr 1fr;gap:15px;padding-top:55px}.intro h1{font-size:75px}.archive{grid-column:1/-1;max-width:100%;display:block}#projects{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.scene{height:380px}}@media(max-width:600px){header{height:80px}.brand{font-size:22px}nav{gap:18px;font-size:11px}#home{display:flex;flex-direction:column;align-items:stretch;padding:40px 6vw 70px}.intro h1{font-size:64px}.intro p{font-size:11px}.scene{height:350px;margin:15px 0 25px}#cube{width:190px;height:190px}.orbit{width:290px;height:290px}#projects{display:block}.project-link{padding:18px 0}.bottom-note{font-size:8px}footer{font-size:8px}footer>span:last-child{display:none}#project-page{padding:35px 6vw 60px}.project-title{padding-top:50px}#gallery{grid-template-columns:1fr}.project-meta{font-size:8px}}@media(prefers-reduced-motion:reduce){.cube-wrap,.glitched:after{animation:none}*{scroll-behavior:auto!important}}
:root{--bg:#000}body{background:#000}#home{display:block;min-height:calc(100svh - 158px);padding:0;isolation:isolate}.intro{position:absolute;left:4vw;bottom:55px;right:3vw;z-index:0}.intro h1{font-size:clamp(90px,15.6vw,290px);letter-spacing:-.08em;line-height:.83;margin:0;font-weight:500}.scene{position:absolute;inset:0;width:100%;height:100%;perspective:1300px;pointer-events:none;z-index:2;touch-action:auto}.cube-wrap{left:48%;top:46%;animation:none;translate:none}.cube-wrap,#cube{pointer-events:auto}#cube{width:72px;height:72px;transform-style:preserve-3d;touch-action:none}.cubie{position:absolute;inset:0;width:72px;height:72px;transform-style:preserve-3d}.piece-face{position:absolute;inset:0;width:72px;height:72px;background:#100b17;border:1px solid #3b284b;backface-visibility:hidden;overflow:hidden}.piece-face img,.piece-face canvas{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.piece-face[data-external="false"]{background:#050306;border-color:#1d1425}.texture-source{position:fixed;width:1px;height:1px;left:-20px;top:0;opacity:0;pointer-events:none}.archive{position:absolute;right:4vw;top:60px;width:240px;z-index:4}.project-link{background:#000b}.bottom-note{z-index:1}@media(min-width:1600px){#cube{width:72px;height:72px}.scene{height:100%}}@media(max-width:1000px){#home{display:block}.intro h1{font-size:16vw}.archive{width:200px;top:40px}#projects{display:block}.scene{height:100%}}@media(max-width:600px){#home{display:block;min-height:780px;padding:0}.intro{left:6vw;bottom:100px}.intro h1{font-size:19vw;line-height:.95}.archive{top:25px;right:6vw;width:150px}.cube-wrap{scale:.72}.scene{height:100%;margin:0}.header-note{display:none}}
.plate-surface{position:absolute;inset:0;width:72px;height:72px;transform-style:preserve-3d}.project-plate{background:#140d1c;border:1px solid #56396a;backface-visibility:hidden;transition:opacity .3s,border-color .3s;opacity:1;cursor:pointer}.empty-plate{background:linear-gradient(135deg,#21102e99,#10091966);border-color:#5e367677;pointer-events:none}.project-plate img{pointer-events:none}.has-selection .project-plate{opacity:.12}.has-selection .project-plate.selected{opacity:1;border-color:#edbaff;box-shadow:0 0 15px #ad83ff44}
.project-plate{backface-visibility:visible}
.project-plate{backface-visibility:hidden}.empty-plate{background:#160c20;border-color:#56366b}
.project-plate{backface-visibility:visible}.has-selection .project-plate{opacity:.1}.has-selection .project-plate.selected{opacity:1}
/* Borderless plates; scale the entire object, including spacing. */
.cube-wrap{scale:1.2}.piece-face,.project-plate,.empty-plate,.has-selection .project-plate.selected{border:0;box-shadow:none}.project-plate{cursor:grab;user-select:none;-webkit-user-drag:none}.empty-plate{pointer-events:auto}.plate-surface,.project-plate{touch-action:none}.project-plate:active{cursor:grabbing}@media(max-width:600px){.cube-wrap{scale:.864}}
.project-plate img{position:absolute;inset:0}.project-plate .slide-next{opacity:0;transition:opacity 1.3s ease}.project-plate .slide-next.slide-visible{opacity:1}@media(prefers-reduced-motion:reduce){.project-plate .slide-next{transition:none}}
.project-room-page{height:100svh;overflow:hidden}.project-room-page header{position:relative;z-index:5;height:80px;border:0}.project-room-page footer{display:none}.project-room-page #project-page{padding:0;min-height:0;height:calc(100svh - 80px);position:relative}.project-room-page .back{position:absolute;left:4vw;top:12px;z-index:5}.project-room-page .project-title{position:absolute;right:4vw;top:4px;padding:0;z-index:5;text-align:right}.project-room-page .project-title h1{font-size:24px;letter-spacing:-.04em;margin:0;color:#eeeaf6}.project-room-page .project-title .eyebrow,.project-room-page .project-meta{display:none}.project-room-page #gallery{display:block;position:absolute;inset:0;padding:0;perspective:950px;overflow:hidden;cursor:grab;touch-action:none}.project-room-page #gallery:active{cursor:grabbing}.media-room{position:absolute;left:50%;top:50%;transform-style:preserve-3d;transition:transform .08s linear}.room-tile{position:absolute;left:-110px;top:-85px;width:220px;height:170px;background:transparent;border:0;padding:0;cursor:pointer;backface-visibility:hidden;transform-style:preserve-3d}.project-room-page #gallery .room-tile img,.project-room-page #gallery .room-tile video{width:100%;height:100%;max-height:none;object-fit:contain;background:none;pointer-events:none}.room-play{position:absolute;right:9px;bottom:9px;color:white;z-index:2;font-size:20px;text-shadow:0 0 5px black}.room-toolbar{position:absolute;bottom:22px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:center;font:9px 'IBM Plex Mono',monospace;color:#a99ab7;z-index:5;pointer-events:none}.room-toolbar button{pointer-events:auto;border:0;background:#000a;padding:12px;font:inherit;color:inherit}.room-empty{position:absolute;inset:45% 0;text-align:center;color:#888}.media-viewer{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;padding:50px 24px 24px;background:#000f;border:0;color:white}.media-viewer::backdrop{background:#000e}.viewer-content{height:100%;display:flex;align-items:center;justify-content:center}.viewer-content img,.viewer-content video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.viewer-close{position:absolute;right:25px;top:15px;padding:10px;border:0;background:none;font:12px 'IBM Plex Mono',monospace}.media-viewer[open]{display:block}@media(max-width:600px){.project-room-page header{height:65px}.project-room-page #project-page{height:calc(100svh - 65px)}.media-room{scale:.58}.room-toolbar span{max-width:160px;line-height:1.8}.project-room-page .project-title h1{font-size:19px}.project-room-page #gallery{perspective:700px}}
/* Dense project index and direct plate interaction. */
#home .scene{z-index:40}.archive{top:26px;bottom:55px;width:250px;display:flex;flex-direction:column}.archive-heading{border:0;padding-bottom:10px;flex:none}#projects{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.project-link{border:0;background:transparent;padding:0;min-height:0;flex:1;align-items:center;grid-template-columns:22px 1fr 12px;gap:8px}.project-link:hover,.project-link:focus-visible{padding-left:5px}.project-link .name{font-size:12px;line-height:1.2}.project-link .number{font-size:8px;padding:0}.project-link .meta{display:none}.project-link .arrow{font-size:11px}.has-selection .project-plate{opacity:.3}.has-selection .project-plate.selected{opacity:1}.project-plate{transition:opacity .4s ease,translate .5s cubic-bezier(.2,.8,.2,1),filter .4s ease;translate:0 0 0}.project-plate.plate-hover{translate:0 0 24px;filter:brightness(1.15);opacity:1;cursor:pointer}.project-plate:active{cursor:grabbing}@media(max-width:600px){.archive{top:22px;bottom:auto;height:340px;width:145px}.project-link .name{font-size:10px}.project-link{min-height:12px}.project-link .number{font-size:7px}}
/* Original image files, with no texture canvas, filters or scanline layer. */
.scanlines{display:none}.project-plate img{image-rendering:auto;filter:none;opacity:1}.project-plate.plate-hover{filter:none}.project-plate{will-change:transform}.intro h1{position:relative;animation:crt-jitter 9s infinite}.intro h1::before,.intro h1::after{content:attr(data-glitch);white-space:pre;position:absolute;inset:0;pointer-events:none;opacity:0;color:#9beeff;mix-blend-mode:screen}.intro h1::before{animation:crt-tear-a 9s infinite;text-shadow:4px 0 #f96edd}.intro h1::after{animation:crt-tear-b 9s infinite;text-shadow:-4px 0 #b894ff}.intro h1 .glitched{color:transparent;background:linear-gradient(115deg,#e8e4ff 0%,#b997ff 14%,#f8a9e5 27%,#b9eeff 39%,#ffffff 49%,#aaa4ff 59%,#f6b8eb 72%,#b9eaff 85%,#e8e4ff 100%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;animation:hologram-flow 12s ease-in-out infinite;text-shadow:none}.glitched:after{display:none}@keyframes hologram-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes crt-jitter{0%,91%,95%,100%{transform:none;filter:none}92%{transform:translateX(-2px);filter:contrast(1.15)}92.4%{transform:translateX(2px)}92.8%{transform:none}94%{transform:translateX(1px)}}@keyframes crt-tear-a{0%,91%,95%,100%{opacity:0;transform:none;clip-path:inset(20% 0 74%)}91.5%{opacity:.8;transform:translateX(9px);clip-path:inset(20% 0 74%)}92%{opacity:.6;transform:translateX(-7px);clip-path:inset(56% 0 38%)}92.7%{opacity:0}93.4%{opacity:.7;transform:translateX(5px);clip-path:inset(82% 0 14%)}94%{opacity:0}}@keyframes crt-tear-b{0%,91%,95%,100%{opacity:0;transform:none}91.8%{opacity:.65;transform:translateX(-8px);clip-path:inset(38% 0 58%)}92.5%{opacity:.5;transform:translateX(12px);clip-path:inset(70% 0 25%)}93%{opacity:0}94%{opacity:.5;transform:translateX(-3px);clip-path:inset(8% 0 89%)}}body.paused .intro h1,body.paused .intro h1::before,body.paused .intro h1::after,body.paused .intro h1 .glitched{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.intro h1,.intro h1::before,.intro h1::after,.intro h1 .glitched{animation:none}}
.has-selection .project-plate{opacity:.15}.has-selection .project-plate.selected,.has-selection .project-plate.plate-hover{opacity:1}
/* Viewport-fitted puzzle: each image owns a non-overlapping cell. */
.project-room-page #gallery{perspective:1100px;cursor:default}.media-room.puzzle-room{inset:0;left:0;top:0;transform:none!important;scale:1;width:100%;height:100%}.puzzle-tile{left:0;top:0;transition:transform .65s cubic-bezier(.15,.7,.25,1),filter .3s;transform-origin:center;backface-visibility:visible}.puzzle-tile:hover{filter:brightness(1.1)}.room-toolbar{pointer-events:none}.plate-info{position:absolute;left:4vw;top:24px;z-index:60;font:15px 'IBM Plex Mono',monospace;color:#f6edff;background:#000b;padding:12px 0;pointer-events:none}.intro h1 .glitched{background-image:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#fff 0%,#ffffffdd 7%,#bce8ff88 16%,transparent 36%),linear-gradient(175deg,#f9faff 0%,#7e8191 10%,#eeeaff 17%,#29243b 28%,#a7a3be 35%,#fff 42%,#c4ecff 46%,#443750 52%,#e7afff 58%,#fcecff 64%,#73708b 72%,#d8ecff 80%,#454053 89%,#eceaff 100%);background-size:100% 100%,100% 180%;text-shadow:none;filter:drop-shadow(0 1px 0 #ddd5) drop-shadow(2px 3px 0 #302639) drop-shadow(4px 6px 0 #16111e);animation:metal-reflection 8s ease-in-out infinite}.intro h1{animation:crt-jitter 4.5s infinite}.intro h1::before{animation:crt-tear-a 4.5s infinite;text-shadow:7px 0 #ff56dc,-5px 0 #91dfff}.intro h1::after{animation:crt-tear-b 4.5s infinite;text-shadow:-7px 0 #c99bff}.intro h1::before,.intro h1::after{font-weight:inherit}@keyframes metal-reflection{0%,100%{background-position:0 0,0 0}50%{background-position:0 0,0 100%}}@keyframes crt-tear-a{0%,79%,94%,100%{opacity:0;transform:none}80%{opacity:1;transform:translateX(15px);clip-path:inset(15% 0 74%)}81%{opacity:.9;transform:translateX(-18px);clip-path:inset(55% 0 32%)}82%{opacity:.7;transform:translateX(8px);clip-path:inset(32% 0 55%)}83%{opacity:0}88%{opacity:.9;transform:translateX(-12px);clip-path:inset(81% 0 8%)}90%{opacity:.8;transform:translateX(17px);clip-path:inset(61% 0 28%)}92%{opacity:0}}@keyframes crt-tear-b{0%,79%,94%,100%{opacity:0}80.5%{opacity:.8;transform:translateX(-14px);clip-path:inset(38% 0 49%)}81.8%{opacity:.9;transform:translateX(22px);clip-path:inset(69% 0 20%)}83%{opacity:0}89%{opacity:.8;transform:translateX(-9px);clip-path:inset(7% 0 81%)}91%{opacity:0}}@media(prefers-reduced-motion:reduce){.intro h1,.intro h1::before,.intro h1::after,.intro h1 .glitched{animation:none}.puzzle-tile{transition:none}}
.media-viewer{padding:60px 75px 50px}.viewer-prev,.viewer-next{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#17111dcc;border:1px solid #574168;color:white;width:44px;height:60px;font-size:24px;cursor:pointer}.viewer-prev{left:15px}.viewer-next{right:15px}.viewer-prev:hover,.viewer-next:hover{background:#38234a}.viewer-counter{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font:11px 'IBM Plex Mono',monospace;color:#c8b5db}.viewer-content{cursor:zoom-out}.viewer-content img,.viewer-content video{cursor:default}@media(max-width:600px){.media-viewer{padding:65px 48px 50px}.viewer-prev,.viewer-next{width:34px;height:48px}.viewer-prev{left:7px}.viewer-next{right:7px}}
.viewer-prev,.viewer-next{top:auto;bottom:14px;transform:none;border:0;background:none!important;width:auto;height:auto;padding:12px 16px;color:#fff;font:11px 'IBM Plex Mono',monospace}.viewer-prev{left:calc(50% - 170px)}.viewer-next{right:calc(50% - 170px)}.viewer-counter{bottom:27px}.room-tile>*{pointer-events:none!important}.room-tile{isolation:isolate}.puzzle-tile:hover{transition-duration:.15s}.puzzle-tile:focus-visible{outline:1px solid #d8c1ef;outline-offset:5px}@media(max-width:600px){.viewer-prev{left:calc(50% - 140px)}.viewer-next{right:calc(50% - 140px)}}
/* Lighter headline with room for the final punctuation. */
.intro h1{font-weight:400;line-height:1;overflow:visible}.intro h1 .glitched{display:inline-block;padding-right:.07em;padding-bottom:.08em;margin-right:-.07em;margin-bottom:-.08em;filter:none;text-shadow:none;overflow:visible}.intro{overflow:visible}
.intro h1{font-size:clamp(81px,14.04vw,261px)}@media(max-width:1000px){.intro h1{font-size:14.4vw}}@media(max-width:600px){.intro h1{font-size:17.1vw}}
.intro h1{font-size:clamp(72.9px,12.636vw,234.9px)}@media(max-width:1000px){.intro h1{font-size:12.96vw}}@media(max-width:600px){.intro h1{font-size:15.39vw}}
.brand{color:transparent;background-image:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#fff 0%,#ffffffdd 7%,#bce8ff88 16%,transparent 36%),linear-gradient(175deg,#f9faff 0%,#7e8191 10%,#eeeaff 17%,#29243b 28%,#a7a3be 35%,#fff 42%,#c4ecff 46%,#443750 52%,#e7afff 58%,#fcecff 64%,#73708b 72%,#d8ecff 80%,#454053 89%,#eceaff 100%);background-size:100% 100%,100% 180%;background-clip:text;-webkit-background-clip:text;animation:metal-reflection 8s ease-in-out infinite}.brand span{color:inherit}body.paused .brand{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.brand{animation:none}}
.brand{font-weight:400}
.has-selection .project-plate{opacity:.1}.has-selection .project-plate.selected,.has-selection .project-plate.plate-hover{opacity:1}.puzzle-tile{translate:0 0 0;transition:transform .65s cubic-bezier(.15,.7,.25,1),translate .45s cubic-bezier(.2,.8,.2,1),filter .3s}.puzzle-tile:hover,.puzzle-tile:focus-visible{translate:0 0 24px;z-index:2;transition-duration:.45s}@media(prefers-reduced-motion:reduce){.puzzle-tile{transition:none}}
.header-note a:hover{color:#eeeaf6}
.archive-heading{text-transform:none}
.ghost-pfp{position:absolute;left:17vw;bottom:100px;width:clamp(210px,32vw,580px);height:auto;z-index:-1;opacity:0;pointer-events:none;mix-blend-mode:screen;animation:ghost-spasm 13s infinite;filter:grayscale(.35) contrast(1.15)}@keyframes ghost-spasm{0%,57%,62%,87%,91%,100%{opacity:0;transform:none;clip-path:inset(0)}57.4%{opacity:.4;transform:translate(-7px,2px);clip-path:inset(5% 0 0)}57.9%{opacity:.12;transform:translate(5px,-2px)}58.3%{opacity:0}59%{opacity:.35;transform:translate(-3px,0);clip-path:inset(0 0 14%)}59.6%{opacity:0}60.1%{opacity:.4;transform:translate(2px,1px)}60.5%{opacity:0}87.4%{opacity:.3;transform:translate(4px,-3px);clip-path:inset(13% 0 7%)}87.8%{opacity:0}88.3%{opacity:.4;transform:translate(-5px,0)}88.7%{opacity:0}}body.paused .ghost-pfp{animation-play-state:paused}@media(max-width:600px){.ghost-pfp{left:8vw;bottom:130px;width:70vw}}@media(prefers-reduced-motion:reduce){.ghost-pfp{animation:none;opacity:0}}
.ghost-pfp{left:var(--ghost-x,17vw);top:var(--ghost-y,25%);bottom:auto;width:var(--ghost-size,32vw);animation:none}.ghost-pfp.is-haunting{animation:ghost-spasm 1.25s linear both}@keyframes ghost-spasm{0%,100%{opacity:0;transform:none}9%{opacity:.4;transform:translate(-6px,2px)}16%{opacity:0}27%{opacity:.25;transform:translate(4px,-2px);clip-path:inset(8% 0 0)}35%{opacity:0}52%{opacity:.4;transform:translate(-3px,0);clip-path:inset(0 0 11%)}62%{opacity:0}79%{opacity:.3;transform:translate(2px,1px)}88%{opacity:0}}@media(max-width:600px){.ghost-pfp{left:var(--ghost-x,8vw);top:var(--ghost-y,25%);bottom:auto;width:var(--ghost-size,60vw)}}@media(prefers-reduced-motion:reduce){.ghost-pfp.is-haunting{animation:none}}
.brand{display:flex;align-items:center;gap:10px;background:none;color:inherit;animation:none}.brand-pfp{display:block;width:34px;height:34px;object-fit:contain;flex:none}.brand .brand-name{font-size:25px;font-weight:400;letter-spacing:-1.5px;margin:0;color:transparent;background-image:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,40%),#fff 0%,#ffffffdd 7%,#bce8ff88 16%,transparent 36%),linear-gradient(175deg,#f9faff 0%,#7e8191 10%,#eeeaff 17%,#29243b 28%,#a7a3be 35%,#fff 42%,#c4ecff 46%,#443750 52%,#e7afff 58%,#fcecff 64%,#73708b 72%,#d8ecff 80%,#454053 89%,#eceaff 100%);background-size:100% 100%,100% 180%;background-clip:text;-webkit-background-clip:text;animation:metal-reflection 8s ease-in-out infinite}body.paused .brand-name{animation-play-state:paused}@media(max-width:600px){.brand-pfp{width:29px;height:29px}.brand .brand-name{font-size:22px}}@media(prefers-reduced-motion:reduce){.brand .brand-name{animation:none}}
/* Use one visual hit region for both hover and clicks on perspective cards. */
.puzzle-room{pointer-events:none}.puzzle-tile{pointer-events:auto;isolation:auto;filter:none!important}.puzzle-tile:hover{translate:0 0 0;z-index:auto}.puzzle-tile.media-hover,.puzzle-tile:focus-visible{translate:0 0 24px;z-index:2}
.project-room-page .project-title{left:50%;right:auto;transform:translateX(-50%);text-align:center;max-width:50%;white-space:nowrap}.next-gallery{position:absolute;right:4vw;top:12px;z-index:6;font:11px 'IBM Plex Mono',monospace;color:#eee}.next-gallery:hover{color:#ad83ff}.gallery-exit #gallery{animation:gallery-out .55s cubic-bezier(.6,0,.3,1) both;pointer-events:none}.gallery-enter #gallery{animation:gallery-in .75s cubic-bezier(.2,.8,.2,1) both}img,video{-webkit-user-drag:none;user-select:none}@keyframes gallery-out{to{transform:translateX(-105%);opacity:0}}@keyframes gallery-in{from{transform:translateX(105%);opacity:0}to{transform:none;opacity:1}}@media(max-width:600px){.project-room-page .project-title{top:38px;max-width:85%}.project-room-page .project-title h1{font-size:16px}.next-gallery{font-size:9px}}@media(prefers-reduced-motion:reduce){.gallery-exit #gallery,.gallery-enter #gallery{animation:none}}
.cube-wrap{scale:1.32}@media(max-width:600px){.cube-wrap{scale:.9504}}
.cube-wrap{scale:1.254}@media(max-width:600px){.cube-wrap{scale:.90288}}
@media(max-width:600px){.cube-wrap{scale:.767448}}
.brand{gap:8px}.brand-pfp{width:29px;height:29px}.brand .brand-name{font-size:21px}@media(max-width:600px){.brand-pfp{width:25px;height:25px}.brand .brand-name{font-size:19px}}
