:root{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;color:#f4f1ea;background:#120f17;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #f4f1ea;outline-offset:8px}header{position:fixed;inset:0 0 auto;z-index:30;padding:30px 3.8vw;display:flex;align-items:center;justify-content:space-between;pointer-events:none;font-size:11px;letter-spacing:.14em}header a{pointer-events:auto}.brand{font-size:30px;letter-spacing:-.08em;display:flex;align-items:center;gap:12px;mix-blend-mode:difference}.brand span{font-size:10px;letter-spacing:.2em}.descriptor{position:absolute;left:50%;transform:translateX(-50%);font-size:9px}.index-link{font-size:10px;letter-spacing:.04em}.index-link span{padding-left:18px}.screen{position:relative;min-height:100svh;overflow:hidden}.screen[hidden]{display:none!important}.filter-defs{position:absolute;width:0;height:0}.home{height:100svh;background:#120f17}.dither-veil{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;touch-action:pan-y;background:url('assets/home-reference.jpg') center/contain no-repeat}.home-caption{position:absolute;left:3.8vw;top:26%;pointer-events:none;mix-blend-mode:difference}.home-caption>span{font-size:9px;letter-spacing:.25em}.home-caption h1{font-size:clamp(22px,3.2vw,52px);font-weight:300;letter-spacing:.04em;margin-top:18px}.glass{--lx:50%;--ly:20%;position:relative;isolation:isolate;border:1px solid #ffffff65;background:linear-gradient(140deg,#ffffff24,#ffffff06 48%,#ffffff10);box-shadow:inset 0 1px 2px #ffffffa6,inset 0 -1px 3px #ffffff25,0 12px 40px #08041438;backdrop-filter:blur(14px) saturate(155%);-webkit-backdrop-filter:blur(14px) saturate(155%)}.glass:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--lx) var(--ly),#ffffff4a,transparent 55%);z-index:-1;pointer-events:none}.glass:after{content:'';position:absolute;inset:3px;border-radius:inherit;border:1px solid #ffffff16;pointer-events:none}.watch{position:absolute;left:3.8vw;bottom:7%;border-radius:100px;display:flex;gap:24px;align-items:center;padding:27px 33px;min-width:300px;font-size:28px;font-weight:500;letter-spacing:-.04em;transition:background .3s,box-shadow .3s}.watch:hover{background-color:#ffffff1c;box-shadow:inset 0 1px 2px #fff,0 15px 50px #0005}.play{font-size:20px}.watch-arrow{margin-left:auto;font-size:22px;font-weight:300}.home-note{position:absolute;right:3.8vw;bottom:9%;text-align:right;pointer-events:none}.home-note>span{font-size:8px;letter-spacing:.14em}.home-note small{display:block;font-size:9px;margin-top:14px;color:#b7b3bd}#webgl-note{position:absolute;bottom:15px;left:4vw;font-size:11px}.work{padding:150px 5vw 30px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 75% 65%,#36344533,transparent 52%),#111016}.work:before{content:'';position:absolute;width:70vw;height:65vw;left:-10vw;top:38%;border-radius:50%;background:radial-gradient(ellipse,#bab0d114,transparent 65%);pointer-events:none}.work-intro{text-align:center;position:relative}.eyebrow{font-size:9px;letter-spacing:.24em;color:#b8b3c4}.work-intro h1{font-size:clamp(34px,4.3vw,66px);font-weight:400;line-height:1.05;letter-spacing:-.055em;margin:25px 0 19px}.work-intro h1 span{color:#c8b8e0}.subheading{font-size:11px;color:#b4aebc;letter-spacing:.15em}.orbs{display:flex;justify-content:center;align-items:center;gap:clamp(70px,10vw,180px);flex:1;padding:55px 0 65px;width:100%;position:relative}.orb{height:clamp(210px,22vw,310px);width:clamp(210px,22vw,310px);flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 35px;transform:perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translate3d(var(--tx,0px),var(--ty,0px),0);transition:box-shadow .45s,background .45s;will-change:transform}.orb:hover{background-color:#ffffff0c;box-shadow:inset 0 2px 4px #fff9,inset 0 -2px 4px #fff3,0 20px 70px #0004,0 0 50px #c2afe610}.orb-number{font-size:8px;letter-spacing:.18em;color:#c0bac7}.orb-icon{width:39px;height:39px;margin:20px 0 7px;opacity:.8}.orb strong{font-size:clamp(30px,3.6vw,47px);font-weight:400;letter-spacing:-.055em}.orb-bottom{display:flex;align-items:center;gap:20px;font-size:10px;margin-top:17px;color:#c8c3ce;letter-spacing:.1em}.orb-bottom span{font-size:15px}.work-bottom{display:flex;justify-content:space-between;width:100%;font-size:8px;letter-spacing:.13em;color:#98909f}.collection{padding:155px 8vw 60px;background:radial-gradient(ellipse at 80% 20%,#36304366,transparent 60%),#111016}.back{font-size:11px;color:#bbb3c5;display:inline-block;margin-bottom:65px}.collection h1{font-size:clamp(48px,8vw,100px);font-weight:400;letter-spacing:-.065em;margin:24px 0}.collection-description{font-size:12px;color:#bbb3c5;line-height:2}.empty-frame{border:1px solid #ffffff22;min-height:240px;margin-top:45px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aba1b7;font-size:11px;letter-spacing:.1em}.empty-cross{font-size:36px;font-weight:200;margin-bottom:20px}.empty-frame p{font-size:11px;color:#736a80}#cursor-trail{position:fixed;inset:0;z-index:50;pointer-events:none}.transition-in{animation:enter .65s cubic-bezier(.16,1,.3,1) both}@keyframes enter{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@media(max-width:700px){header{padding:24px}.descriptor{display:none}.home-caption{left:24px;top:20%}.home-caption h1{font-size:25px}.watch{left:24px;bottom:10%;min-width:240px;padding:23px 27px;font-size:24px;gap:21px}.home-note{left:24px;right:auto;text-align:left;bottom:3%}.home-note>span{display:none}.work{padding:125px 24px 28px}.work-intro h1{font-size:42px}.orbs{gap:30px;flex-wrap:wrap;padding:45px 0}.orb{height:220px;width:220px}.orb strong{font-size:38px}.orb-icon{margin-top:15px}.work-bottom{gap:15px;font-size:7px}.collection{padding:120px 24px 40px}.back{margin-bottom:40px}}@media(max-width:480px){.orbs{flex-direction:column;gap:24px}.orb{width:205px;height:205px}.work-intro h1{font-size:35px}.orb-number{font-size:7px}.orb-icon{width:30px;height:30px}.orb-bottom{margin-top:11px}.work{min-height:100svh}.home-caption{top:19%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.orb{transform:none!important}#cursor-trail{display:none}}
.collection{background:#000;padding:125px 0 26px;display:flex;flex-direction:column;min-height:100svh}.collection-heading{padding:0 4vw}.collection .back{margin-bottom:26px;font-size:10px}.collection-heading-row{display:flex;justify-content:space-between;align-items:end;gap:25px}.collection .eyebrow{margin:0;font-size:8px}.collection h1{font-size:clamp(28px,3.1vw,46px);margin:12px 0 0;letter-spacing:-.05em}.collection-description{font-size:10px;letter-spacing:.07em;margin-bottom:5px}.gallery-host{position:relative;height:560px;min-height:340px;flex:1;width:100%;isolation:isolate}.gallery-host>.flex-carousel,.gallery-host>.circular-carousel{min-height:340px}.gallery-current{position:absolute;right:4vw;top:25px;display:flex;gap:7px;font-size:9px;font-variant-numeric:tabular-nums;color:#ccc;pointer-events:none;z-index:2}.gallery-current span+span{color:#737079}.gallery-footer{padding:15px 4vw 0;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.04em;color:#8e8797}.gallery-loading,.gallery-fallback{position:absolute;inset:0;display:grid;place-content:center;font-size:12px;color:#9c94a5}.gallery-host canvas{max-width:100%}@media(min-height:850px){.gallery-host{height:calc(100svh - 295px)}}@media(max-width:700px){.collection{padding-top:110px}.collection-heading{padding:0 24px}.collection-heading-row{align-items:start;flex-direction:column;gap:8px}.collection h1{font-size:29px}.gallery-host{height:480px;flex:none}.gallery-footer{padding:15px 24px 0;flex-direction:column;gap:12px;font-size:8px}.collection-description{margin:0}.gallery-current{right:24px}}
/* Light scan room: behind the two glass entry points only. */
body[data-page=work]{background:#f7f8fa}body[data-page=work] header{color:#191b23}body[data-page=work] .brand{mix-blend-mode:normal}.work{isolation:isolate;background:#f7f8fa;color:#171921}.work:before{display:none}.work-background{position:absolute;inset:0;z-index:-1;pointer-events:none}.work-intro,.work .orbs,.work-bottom{position:relative;z-index:1}.work .eyebrow,.work .subheading,.work .work-bottom{color:#626979}.work-intro h1 span{color:#0284c7}.work .glass{background:linear-gradient(140deg,#ffffff85,#ffffff12 48%,#ffffff40);border-color:#ffffffd9;box-shadow:inset 0 1px 3px #fff,inset 0 -1px 4px #9ca6b733,0 15px 50px #48556e19;backdrop-filter:blur(9px) saturate(145%);-webkit-backdrop-filter:blur(9px) saturate(145%)}.work .orb-number,.work .orb-bottom{color:#535e70}.work .orb:hover{background-color:#ffffff30;box-shadow:inset 0 2px 4px #fff,0 20px 60px #4f7fa52e}
/* Bound the carousel to its available viewport, with breathing room below. */
.collection{height:100svh;min-height:660px;padding:112px 0 64px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;row-gap:12px}.collection-heading{align-self:start}.collection .back{margin-bottom:19px}.collection h1{font-size:clamp(28px,2.6vw,40px)}.gallery-host{height:100%;min-height:0;flex:initial;align-self:stretch;transform:translateY(-16px)}.gallery-host>.flex-carousel,.gallery-host>.circular-carousel{height:100%;min-height:0}.gallery-footer{padding-top:0;align-self:end}.gallery-current{top:12px}.collection[data-kind=image] .flex-carousel[data-hover=open]{cursor:pointer}
.media-dialog{padding:0;border:1px solid #ffffff24;border-radius:14px;background:#0b0a0e;color:#f4f1ea;width:min(1120px,calc(100vw - 72px));max-width:calc(100vw - 32px);max-height:92svh;overflow:visible;box-shadow:0 30px 140px #000b}.media-dialog::backdrop{background:#050409d9;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.media-dialog-body{position:relative;padding:20px}.media-close{position:absolute;right:12px;top:12px;z-index:3;border:1px solid #ffffff4d;background:#0a0a0d99;backdrop-filter:blur(12px);color:#fff;width:40px;height:40px;border-radius:50%;font-size:26px;line-height:1;display:grid;place-items:center}.media-dialog video{display:block;width:100%;max-height:72svh;object-fit:contain;background:#000;border-radius:6px}.media-caption{padding:18px 3px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px;align-items:center}.media-caption strong{font-weight:400}.media-caption span{color:#98919f;font-size:10px}.media-dialog button:focus-visible{outline:2px solid #fff;outline-offset:3px}.lightbox-image{display:grid;place-items:center;min-height:200px}.lightbox-image img{display:block;max-width:100%;max-height:74svh;width:auto;object-fit:contain}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding-top:14px;font-size:11px;color:#c8c1cf}.lightbox-controls button{padding:10px 16px;border:1px solid #ffffff33;background:transparent;color:#fff;border-radius:30px}.project{background:#0c0b0f;padding:140px 5vw 70px;min-height:100svh;overflow:visible}.project-detail{max-width:1600px;margin:auto}.project-detail>.back{font-size:11px;color:#aaa1b8;margin-bottom:40px}.project-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-bottom:60px}.project-heading h1{font-size:clamp(40px,6vw,88px);font-weight:400;line-height:1.1;letter-spacing:-.06em;margin:22px 0 0}.project-heading>p{font-size:10px;color:#a39aaa;line-height:2.2;letter-spacing:.06em;text-align:right}.project-heading>p span{color:#756c7e}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px 28px;align-items:start}.project-frame{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.project-frame img{display:block;width:100%;height:clamp(230px,42vw,640px);object-fit:contain;background:#15131a;transition:filter .3s}.project-frame:hover img{filter:brightness(1.08)}.project-frame>span{display:flex;justify-content:space-between;padding-top:12px;font-size:10px;letter-spacing:.12em;color:#9d92aa}.project-bottom{display:flex;justify-content:space-between;margin-top:80px;padding-top:30px;border-top:1px solid #ffffff26;font-size:10px;color:#a198ab}.project-missing{padding:80px}.project-missing a{font-size:14px;text-decoration:underline}@media(max-width:700px){.collection{padding-top:100px;padding-bottom:44px;min-height:650px;row-gap:18px}.collection h1{font-size:27px}.collection-heading-row{gap:6px}.gallery-host{height:100%;transform:translateY(-8px)}.gallery-footer{gap:10px;padding-top:4px}.project{padding:115px 24px 45px}.project-heading{display:block;padding-bottom:30px}.project-heading>p{text-align:left;margin-top:25px}.project-grid{grid-template-columns:1fr;gap:32px}.project-frame img{height:auto;max-height:75svh}.media-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.media-dialog-body{padding:10px}.media-caption{padding:16px 4px 4px;font-size:11px;flex-direction:column;align-items:start;gap:8px}.media-close{width:34px;height:34px;right:10px;top:10px}.project-bottom{gap:20px}.project-bottom span{font-size:8px}}
.home-caption h1{line-height:1.22;font-size:clamp(26px,3vw,48px);letter-spacing:.02em;margin-top:18px}.work-intro h1{letter-spacing:-.055em;line-height:1.04}.media-close{width:44px;height:44px}.lightbox-controls button{min-width:44px;min-height:44px}.back,.index-link,.work-bottom a{min-height:44px;display:inline-flex;align-items:center}.back{width:fit-content}.work-bottom{align-items:center}.gallery-footer{line-height:1.6}.project-heading h1{overflow-wrap:anywhere}.lightbox-image{touch-action:pan-y pinch-zoom}
.header-actions{display:flex;align-items:center;gap:24px;pointer-events:auto}.sound-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#ffffff06;color:inherit;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.sound-toggle:hover{background:#ffffff16}.sound-toggle .sound-slash{display:none}.sound-toggle[data-enabled=false] .sound-waves{display:none}.sound-toggle[data-enabled=false] .sound-slash{display:block}body[data-page=work] .sound-toggle{border-color:#252b3826;background:#ffffff33}.sound-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:700px){
 header{padding:max(22px,calc(env(safe-area-inset-top) + 12px)) 24px 12px}.brand{font-size:27px}.header-actions{gap:12px}.index-link{font-size:11px}.index-link span{padding-left:9px}.home-caption{top:16%;max-width:calc(100vw - 48px)}.home-caption h1{font-size:32px}.watch{bottom:max(90px,calc(env(safe-area-inset-bottom) + 68px));min-width:240px}.home-note{bottom:max(24px,calc(env(safe-area-inset-bottom) + 12px));max-width:calc(100vw - 48px)}.home-note small{line-height:1.5}
 .work{padding:125px 24px max(20px,env(safe-area-inset-bottom));min-height:100svh}.work-intro h1{font-size:46px}.work .subheading{font-size:11px;line-height:1.8;letter-spacing:.04em;max-width:300px;margin:18px auto 0}.work .orbs{flex-direction:row;flex-wrap:nowrap;gap:18px;padding:48px 0}.work .orb{width:min(39vw,174px);height:min(39vw,174px);padding:18px 10px}.work .orb-number{font-size:7px;letter-spacing:.09em}.work .orb-icon{width:27px;height:27px;margin:10px 0 5px}.work .orb strong{font-size:30px}.work .orb-bottom{font-size:9px;gap:12px;margin-top:12px}.work-bottom{font-size:8px;gap:14px}
 .collection{height:100svh;height:100dvh;min-height:600px;padding-top:max(94px,calc(env(safe-area-inset-top) + 76px));padding-bottom:max(28px,calc(env(safe-area-inset-bottom) + 18px));row-gap:12px}.collection-heading{padding:0 22px}.collection .back{margin-bottom:10px;font-size:11px}.collection .eyebrow{font-size:9px}.collection h1{font-size:27px;line-height:1.2}.collection-description{font-size:11px;line-height:1.7}.gallery-footer{font-size:10px;padding:0 22px;gap:7px;letter-spacing:0}.gallery-current{font-size:11px;right:22px}.gallery-host{transform:translateY(-4px)}
 .media-dialog{max-height:calc(100dvh - 30px - env(safe-area-inset-bottom))}.media-dialog-body{padding:8px}.media-dialog video{max-height:65dvh}.media-close{top:10px;right:10px}.lightbox-image img{max-height:68dvh}.lightbox-controls{gap:30px;padding-bottom:max(4px,env(safe-area-inset-bottom))}.project{padding-bottom:max(40px,calc(env(safe-area-inset-bottom) + 20px))}.project-heading>p,.project-bottom{font-size:11px}.project-frame>span{font-size:11px}
}
@media(max-width:359px){.work .orbs{gap:12px}.work .orb{width:39vw;height:39vw}.work .orb strong{font-size:27px}.work .orb-number{font-size:6px}.work-intro h1{font-size:40px}.header-actions{gap:6px}.index-link{font-size:10px}.brand{gap:8px}}
@media(orientation:landscape) and (max-height:500px){header{padding:10px 22px}.brand{font-size:22px}.collection{min-height:400px;padding-top:67px;padding-bottom:18px;row-gap:5px}.collection .back{min-height:32px;margin-bottom:4px}.collection-heading-row{flex-direction:row;align-items:center}.collection h1{font-size:22px;margin-top:5px}.collection-description{display:none}.gallery-footer{flex-direction:row;font-size:9px}.collection .eyebrow{font-size:8px}.home-caption{top:25%;left:24px}.home-caption h1{font-size:24px}.watch{min-width:200px;padding:15px 22px;font-size:20px;bottom:25px}.home-note{right:24px;left:auto;bottom:28px}.media-dialog video,.lightbox-image img{max-height:63dvh}}
.image-fallback{height:100%;display:flex;gap:14px;align-items:center;overflow-x:auto;padding:35px max(22px,calc((100vw - 360px)/2));scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.image-fallback a{display:block;flex:0 0 min(360px,75vw);scroll-snap-align:center}.image-fallback img{display:block;width:100%;height:min(42vh,380px);object-fit:contain;background:#131116}.image-fallback span{display:block;text-align:center;margin-top:15px;color:#c9c2d2;font-size:12px}.grid-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#f7f8fa88,#f7f8fa11 70%),repeating-linear-gradient(0deg,transparent 0 70px,#d4d4d866 71px 72px),repeating-linear-gradient(90deg,transparent 0 70px,#d4d4d866 71px 72px)}.grid-fallback:after{content:'';position:absolute;inset:15% 10%;border:1px solid #0284c744;box-shadow:0 0 40px #0284c71a,inset 0 0 40px #0284c70c}
@media(max-width:700px){#webgl-note{bottom:62px;left:24px;max-width:calc(100vw - 48px);font-size:10px;line-height:1.5}}@media(orientation:landscape) and (max-height:500px){#webgl-note{bottom:4px;left:24px;font-size:9px}}

.video-work-caption{position:absolute;bottom:3px;left:22px;right:22px;display:flex;align-items:center;flex-direction:column;gap:7px;pointer-events:none;text-align:center;z-index:2}.video-work-caption strong{font-size:14px;font-weight:400;line-height:1.5}.video-work-caption span{font-size:10px;color:#9e96a8}.media-caption strong{line-height:1.6}.media-caption span{flex-shrink:0}@media(max-width:700px){.video-work-caption{bottom:0}.video-work-caption strong{font-size:12px}.media-caption{align-items:flex-start;flex-direction:column;gap:6px}.media-caption span{font-size:10px}}@media(orientation:landscape) and (max-height:500px){.video-work-caption{bottom:0;flex-direction:row;justify-content:center;gap:12px}.video-work-caption strong{font-size:10px}.video-work-caption span{font-size:9px}}

/* Keep the mobile heading, artwork and entry in separate layout rows. */
.watch{justify-content:center;letter-spacing:-.025em;min-height:64px}
.project-frame{min-width:0;-webkit-tap-highlight-color:transparent}
.project-frame:active img{filter:brightness(.94)}
@media(max-width:700px){
 .home{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:22px;height:100svh;height:100dvh;min-height:520px;padding:max(106px,calc(env(safe-area-inset-top) + 82px)) 24px max(30px,calc(env(safe-area-inset-bottom) + 20px))}
 .home-caption{position:relative;grid-row:1;left:auto;top:auto;max-width:100%;mix-blend-mode:normal;color:#f4f1ea}
 .home-caption>span{font-size:9px;letter-spacing:.18em}
 .home-caption h1{font-size:28px;line-height:1.2;margin:12px 0 0}
 .home .dither-veil{position:relative;grid-row:2;inset:auto;min-height:0;height:100%;width:100%;background-position:center}
 .home .watch{position:relative;grid-row:3;left:auto;bottom:auto;justify-self:start;min-width:210px;max-width:100%;padding:18px 30px;font-size:24px;min-height:66px}
 .home-note{display:none}
 body[data-page=project] header,body[data-page=collection] header{background:#0c0b0fed;border-bottom:1px solid #ffffff10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
 .project-grid{gap:28px}.project-frame img{max-width:100%}
 #webgl-note{bottom:auto;top:76px;left:24px;font-size:9px;max-width:calc(100% - 48px)}
}
@media(orientation:landscape) and (max-height:500px){
 .home{min-height:320px;height:100dvh;display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr);grid-template-rows:minmax(0,1fr) auto;column-gap:24px;row-gap:12px;padding:80px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}
 .home-caption{position:relative;left:auto;top:auto;grid-column:1;grid-row:1;align-self:center;mix-blend-mode:normal}.home-caption h1{font-size:24px;margin:12px 0 0}
 .home .dither-veil{position:relative;inset:auto;grid-column:2;grid-row:1 / 3;min-height:0;width:100%;height:100%}
 .home .watch{position:relative;left:auto;bottom:auto;grid-column:1;grid-row:2;justify-self:start;min-width:180px;min-height:54px;padding:14px 24px;font-size:20px}
 .home-note{display:none}
}
