@font-face{font-family:Space;src:url('assets/space-regular.woff') format('woff');font-weight:400 500;font-display:swap}@font-face{font-family:Space;src:url('assets/space-bold.woff') format('woff');font-weight:600 900;font-display:swap}@font-face{font-family:Plex;src:url('assets/plex-mono.woff') format('woff');font-display:swap}
:root{--accent:#82edff;--accent-rgb:130,237,255;--paper:#eaf1f7;--muted:#8594a8;--line:#a4b8d321;--background:#05070c;--ease:cubic-bezier(.22,1,.36,1);color-scheme:dark;font-family:Space,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--paper);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}svg{display:block}svg:not([stroke]){stroke:currentColor}h1,h2,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}::selection{background:var(--accent);color:#05070c}.mono,.eyebrow{font-family:Plex,monospace;font-size:9px;font-weight:400;letter-spacing:.11em}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--paper);color:#05070c;padding:15px}.skip:focus{top:10px}
.experience{position:relative;height:100svh;min-height:760px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 67% 40%,#101b29,#05070c 65%);transition:filter .7s,transform .8s var(--ease)}#world-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:0;transition:opacity 1.5s}.rendering #world-canvas{opacity:1}.scene-fallback{position:absolute;left:45%;top:15%;width:50%;height:60%;color:var(--accent);opacity:.7;transition:opacity .8s}.scene-fallback svg{width:100%;height:100%;stroke-width:.6}.scene-fallback svg text{display:none}.rendering .scene-fallback{opacity:0;pointer-events:none}.vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#05070cce 0%,#05070c45 30%,transparent 54%),linear-gradient(0deg,#05070c 0%,#05070c77 12%,transparent 32%,transparent 75%,#05070c55 100%)}.grain{position:absolute;inset:0;z-index:20;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.architectural-lines{position:absolute;inset:0;pointer-events:none;opacity:.45;z-index:2}.architectural-lines i:nth-child(1){position:absolute;left:32px;top:104px;bottom:80px;width:1px;background:linear-gradient(transparent,#90accc22,transparent)}.architectural-lines i:nth-child(2){position:absolute;right:32px;top:104px;bottom:80px;width:1px;background:linear-gradient(transparent,#90accc22,transparent)}.architectural-lines i:nth-child(3){position:absolute;left:4.5%;right:4.5%;bottom:58px;height:1px;background:linear-gradient(90deg,#90accc22,transparent 40%,#90accc22)}
.header{position:absolute;left:4.5%;right:4.5%;top:0;height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:25;border-bottom:1px solid #9ab0c214}.brand{display:flex;gap:12px;align-items:center;font-size:20px;letter-spacing:-.045em;font-weight:700}.brand>svg{width:28px;height:33px;stroke:var(--paper);stroke-width:.9}.brand b{font-weight:400}.brand small{display:block;font:6px Plex,monospace;letter-spacing:.23em;color:#7a8d9d;margin-top:5px}.header-caption{color:#65748a;font-size:7px}.header-caption span{margin:0 14px;color:var(--accent)}.header-actions{display:flex;gap:25px;align-items:center}.index-open{display:flex;gap:12px;align-items:center;font-size:11px}.index-open>b{font:8px Plex,monospace;color:var(--accent);margin-right:12px}.index-open>svg{width:18px;height:18px;stroke-width:1;transition:transform .4s}.index-open:hover>svg{transform:rotate(90deg)}.motion{display:grid;place-items:center;width:35px;height:40px}.wave{display:flex;gap:3px;align-items:center;height:15px}.wave i{width:2px;background:var(--accent);height:9px;animation:wave 1.2s ease-in-out infinite alternate}.wave i:nth-child(2){height:15px;animation-delay:-.8s}.wave i:nth-child(3){height:6px;animation-delay:-.4s}
.stage{position:absolute;inset:0;z-index:3}.stage-overline{position:absolute;left:6%;top:143px;color:#8292a7;font-size:8px;display:flex;align-items:center;gap:13px;pointer-events:none}.live-dot{display:block;width:4px;height:4px;background:var(--accent);box-shadow:0 0 15px var(--accent)}.stage-rule{display:block;height:1px;width:48px;background:#54637955}.edition{font-size:6px;color:#44556b}.ghost-number{position:absolute;left:2%;top:14%;font-size:min(40vw,550px);line-height:1;font-weight:700;letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px #b7cce105;pointer-events:none;user-select:none}.project-info{position:absolute;top:47%;left:6%;width:42%;transform:translateY(-50%);z-index:5;pointer-events:none}.project-info a{pointer-events:auto}.project-meta{display:flex;gap:13px;align-items:center;font-size:8px;color:#96a5b7;margin-bottom:24px}.project-order{color:var(--accent);font-size:12px}.slash{color:#3a485c}.title-window{overflow:hidden;padding-bottom:10px;margin-left:-4px}.title-window h1{font-size:clamp(68px,8.3vw,128px);letter-spacing:-.075em;line-height:.94;font-weight:600;overflow-wrap:normal}.title-window h1>span{display:block}.project-dot{color:var(--accent);transition:color .9s}.project-tagline{font-size:17px;letter-spacing:-.03em;color:#c3ceda;margin-top:18px}.project-description{font-size:12px;line-height:1.8;color:#7e91a7;max-width:300px;margin-top:15px}.project-actions{display:flex;align-items:center;gap:24px;margin-top:30px}.enter{display:flex;gap:17px;align-items:center;font-size:12px;font-weight:500}.enter-circle{width:54px;height:54px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;color:var(--accent);position:relative;transition:background .35s,color .35s,box-shadow .35s}.enter-circle:after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px dashed var(--accent);opacity:.25;transition:transform 1s}.enter-circle svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.2;transition:transform .4s}.enter:hover .enter-circle{background:var(--accent);color:#05070c;box-shadow:0 0 45px #82edff22}.enter:hover .enter-circle:after{transform:rotate(90deg)}.enter:hover .enter-circle svg{transform:translateX(2px)}.enter small{display:block;margin-top:7px;font:6px Plex,monospace;letter-spacing:.1em;color:#5c7187;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.direct{font-size:7px;color:#728296;white-space:nowrap;padding:12px 0}.direct:hover{color:var(--accent)}
.artifact-hud{position:absolute;left:49%;right:6%;top:20%;height:49%;pointer-events:none}.artifact-callout{position:absolute;right:7%;top:0;color:#60849c;font-size:6px;display:flex;align-items:center;gap:12px}.artifact-callout i{width:30px;height:1px;background:var(--accent);opacity:.4}.artifact-ruler{position:absolute;right:0;top:12%;bottom:12%;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}.artifact-ruler i{display:block;width:5px;height:1px;background:#52778c77}.artifact-ruler i:nth-child(3n){width:12px;background:#7ba3b299}.artifact-caption{position:absolute;bottom:0;right:12%;font-size:6px;letter-spacing:.3em;color:#4e718b}.drag-area{position:absolute;left:46%;right:4%;top:19%;height:49%;z-index:6;cursor:grab;touch-action:pan-y}.drag-area:active,.reel:active{cursor:grabbing}.scene-instruction{position:absolute;right:21%;bottom:27%;font-size:6px;color:#708599;display:flex;align-items:center;gap:14px;pointer-events:none}.drag-symbol{font-size:22px;letter-spacing:-.2em;color:var(--accent)}
.navigation{position:absolute;bottom:104px;left:6%;display:flex;align-items:center;gap:25px;z-index:12}.nav-counter{display:flex;align-items:center;gap:13px}.nav-counter>span:first-child{font-size:29px;font-weight:400;letter-spacing:-.07em;color:var(--paper)}.counter-line{width:30px;height:1px;background:#6a7a8c}.nav-counter small{font:9px Plex,monospace;color:#61738a}.nav-buttons{display:flex;gap:8px}.nav-buttons button{width:42px;height:42px;border:1px solid #8299b333;border-radius:50%;display:grid;place-items:center;transition:background .2s,border-color .2s}.nav-buttons button:hover{background:#8299b31c;border-color:var(--accent)}.nav-buttons svg{width:17px;height:17px;fill:none;stroke-width:1}.navigation-help{font-size:6px;color:#3e556d;position:absolute;left:0;top:62px;white-space:nowrap}.reel{position:absolute;left:39%;right:4%;bottom:88px;height:142px;z-index:10;perspective:950px;cursor:grab;touch-action:pan-y;isolation:isolate}.reel:before{content:'';position:absolute;inset:10% -7% 20%;background:radial-gradient(ellipse at 50% 70%,rgba(var(--accent-rgb),.1),transparent 65%);pointer-events:none}.reel-plane{position:absolute;left:50%;top:0;transform-style:preserve-3d}.world-tab{position:absolute;top:0;left:-48px;width:96px;height:132px;transform-origin:center;will-change:transform;display:flex;align-items:center;flex-direction:column;padding:0;color:var(--tab-color);-webkit-user-select:none;user-select:none;backface-visibility:hidden}.tab-face{position:relative;display:block;width:86px;height:100px;border:1px solid color-mix(in srgb,var(--tab-color) 30%,transparent);background:linear-gradient(135deg,#121d28ee,#080e18e8);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));box-shadow:inset 0 0 25px #0005;transition:border-color .4s,background .4s}.tab-face:after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#ffffff10,transparent 50%);opacity:.6}.tab-number{position:absolute;left:9px;top:8px;font:7px Plex,monospace;color:currentColor;opacity:.6}.tab-art{position:absolute;inset:12px 2px 3px;display:grid;place-items:center;opacity:.6;transition:opacity .4s}.tab-art svg{width:100%;height:100%;stroke-width:1.2}.tab-art text{display:none}.tab-corner{position:absolute;left:9px;bottom:8px;height:2px;width:7px;background:currentColor;opacity:.7}.tab-name{display:block;width:130px;text-align:center;font-size:8px;color:#7b90a6;white-space:nowrap;line-height:1.3;padding-top:11px;transition:color .4s}.world-tab[aria-pressed=true] .tab-face{border-color:var(--accent);background:linear-gradient(135deg,#243548f0,#0c1a28f0)}.world-tab[aria-pressed=true] .tab-art,.world-tab:hover .tab-art{opacity:1}.world-tab[aria-pressed=true] .tab-name{color:var(--paper)}.world-tab:focus-visible{outline:0}.world-tab:focus-visible .tab-face{border:2px solid var(--paper)}.reel-marker{position:absolute;left:50%;top:144px;transform:translateX(-50%);text-align:center;pointer-events:none}.reel-marker i{display:block;width:3px;height:3px;background:var(--accent);box-shadow:0 0 10px var(--accent);margin:auto}.reel-marker span{display:block;margin-top:10px;font:5px Plex,monospace;letter-spacing:.2em;color:#55748c}
.footer{position:absolute;z-index:15;left:4.5%;right:4.5%;bottom:20px;display:flex;align-items:center;justify-content:space-between;color:#506176;font-size:6px}.footer button{font:inherit;color:#76879c;letter-spacing:.05em}.footer button:hover{color:var(--accent)}.footer button span{margin-left:9px;color:var(--accent)}.progress-track{display:flex;gap:7px;align-items:center}.progress-track i{width:16px;height:2px;background:#253446;position:relative;transition:background .8s,box-shadow .8s}.progress-track i.active{background:var(--accent);box-shadow:0 0 12px rgba(var(--accent-rgb),.6)}
/* Every change is a composed motion: title cuts, room travel, sculpture morph, reel rotation. */
.changing .title-window h1{animation:titleChange .9s var(--ease) both}.changing .project-tagline{animation:copyChange .9s .06s var(--ease) both}.changing .project-description{animation:copyChange .9s .13s var(--ease) both}.changing .project-meta{animation:copyChange .8s var(--ease) both}.changing .artifact-callout{animation:copyChange 1s var(--ease)}.changing .artifact-caption{animation:copyChange 1.2s var(--ease)}.travel{position:absolute;inset:0;z-index:60;pointer-events:none;visibility:hidden;display:grid;place-items:center}.travel-flare{position:absolute;inset:-50%;background:radial-gradient(ellipse,rgba(var(--accent-rgb),.9),rgba(var(--accent-rgb),.1) 28%,transparent 55%);opacity:0;transform:scale(.1)}.travel-title{text-align:center;opacity:0;transform:scale(.85);filter:blur(6px)}.travel-title small{font-size:8px;color:var(--accent);display:block;margin-bottom:20px}.travel-title strong{font-size:clamp(40px,7vw,100px);font-weight:400;letter-spacing:-.075em}.travelling .travel{visibility:visible}.travelling .travel-flare{animation:travelFlare 1s ease-in both}.travelling .travel-title{animation:travelTitle .9s var(--ease) both}.travelling .project-info,.travelling .header,.travelling .navigation,.travelling .reel,.travelling .footer,.travelling .stage-overline,.travelling .artifact-hud,.travelling .scene-instruction{opacity:0;filter:blur(8px);transition:opacity .4s,filter .6s;pointer-events:none}.travelling .project-info{transform:translateY(-50%) translateX(-40px)}.travelling .drag-area{pointer-events:none}
/* A direct, accessible index is part of the experience, not a second landing page. */
.project-index{background:#080d15;color:var(--paper);position:relative;padding:70px 0}.enhanced .project-index{position:fixed;inset:0;z-index:80;display:none;overflow-y:auto;overscroll-behavior:contain;background:#080d15f5;backdrop-filter:blur(22px)}.enhanced.index-visible .project-index{display:block;animation:indexReveal .65s var(--ease) both}.index-visible{overflow:hidden}.index-visible .experience{transform:scale(.96);filter:blur(12px)}.index-shell{width:calc(100% - 100px);max-width:1000px;margin:auto}.index-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.eyebrow{font-size:8px;color:#6f899f;margin-bottom:15px}.index-header h2{font-size:54px;line-height:1;letter-spacing:-.065em;font-weight:400}.index-header em{font-style:normal;color:var(--accent)}.index-close{display:flex;align-items:center;gap:20px;font-size:34px;font-weight:400;color:#7c96ab}.index-close span{font-size:7px}.index-toolbar{border-block:1px solid var(--line);padding:18px 0;display:flex;align-items:center;gap:30px;justify-content:space-between}.index-search{display:flex;gap:15px;align-items:center;flex:1}.index-search>svg{width:18px;height:18px;stroke:var(--muted);stroke-width:1}.index-search input{border:0;background:transparent;color:var(--paper);font-size:12px;width:100%;min-width:100px;padding:12px 0}.index-search input::placeholder{color:#5e778c}.index-search kbd{font:8px Plex,monospace;border:1px solid #455b7133;padding:3px 6px}.filters{display:flex;gap:2px}.filters button{padding:10px 12px;font-size:10px;color:#7890a5;border:1px solid transparent;min-height:42px}.filters button[aria-pressed=true]{border-color:#7196b655;color:var(--paper);background:#182b3b66}.index-list{margin-top:17px}.index-item{display:flex;align-items:center;gap:28px;border-bottom:1px solid #7184961c;padding:21px 0;transition:background .3s,padding .4s var(--ease)}.index-item:hover,.index-item:focus-visible{padding-inline:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--item-color) 10%,transparent),transparent)}.index-number{font:9px Plex,monospace;color:var(--item-color);width:22px}.index-name{font-size:27px;letter-spacing:-.05em}.index-category{font:7px Plex,monospace;color:#648097;margin-left:auto;letter-spacing:.07em}.index-arrow{margin-left:25px;color:var(--item-color);font-size:23px}.index-bottom{display:flex;justify-content:space-between;gap:15px;font-size:6px;color:#57728a;margin-top:26px}.index-empty{text-align:center;padding:55px 20px;color:var(--muted);font-size:14px}
dialog{width:min(540px,calc(100% - 40px));padding:55px;border:1px solid #7992aa44;background:#0c131e;color:var(--paper);box-shadow:0 20px 120px #0008;max-height:85svh;overflow:auto}dialog::backdrop{background:#02050bcc;backdrop-filter:blur(15px)}dialog[open]{animation:copyChange .5s var(--ease)}#about-close{position:absolute;right:20px;top:13px;font-size:28px;color:#8095a9}dialog h2{font-size:60px;font-weight:400;letter-spacing:-.065em;line-height:1.05;margin:25px 0}dialog>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#98aabb}.about-signature{display:block;font-size:14px;margin-top:25px;color:var(--accent)}.about-signature i{font-style:normal;float:right}
@keyframes titleChange{0%{opacity:0;transform:translate3d(0,45px,0) skewY(5deg);filter:blur(9px)}100%{opacity:1;transform:translate3d(0,0,0) skewY(0);filter:blur(0)}}@keyframes copyChange{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{to{height:3px}}@keyframes travelFlare{0%{opacity:0;transform:scale(.1)}60%{opacity:.8}100%{opacity:1;transform:scale(3)}}@keyframes travelTitle{0%{opacity:0;transform:scale(.85);filter:blur(6px)}55%,85%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;transform:scale(1.05);filter:blur(3px)}}@keyframes indexReveal{from{opacity:0;clip-path:inset(12% 0 0 0);transform:translateY(40px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
.paused .wave i{animation:none!important;height:3px!important}.paused .changing *{animation:none!important}.paused .world-tab{will-change:auto}.paused .travel{display:none!important}.paused .scene-instruction{color:#708599}
@media(min-width:1600px){.project-info{width:38%;left:7%}.header,.footer{left:5%;right:5%}.stage-overline{left:7%}.navigation{left:7%;bottom:130px}.reel{bottom:110px}.title-window h1{font-size:140px}.project-description{font-size:14px;max-width:340px}.project-tagline{font-size:20px}.enter{font-size:14px}.enter-circle{width:60px;height:60px}.scene-instruction{bottom:28%}}
@media(max-width:1100px){.header-caption{display:none}.header{left:5%;right:5%}.project-info{width:43%}.title-window h1{font-size:8.6vw}.project-description{font-size:11px;max-width:260px}.project-tagline{font-size:14px}.project-actions{gap:18px}.enter{font-size:11px}.enter-circle{width:46px;height:46px}.direct{font-size:6px}.navigation{gap:18px}.nav-counter{gap:10px}.counter-line{width:20px}.reel{left:39%;right:1%}.scene-instruction{right:19%}.nav-buttons button{width:38px;height:38px}.index-name{font-size:25px}.artifact-caption{font-size:5px}}
@media(max-width:760px){.experience{min-height:780px}.header{height:82px;left:24px;right:24px;gap:15px}.brand{font-size:18px;gap:9px}.brand>svg{width:25px;height:29px}.brand small{font-size:5px;letter-spacing:.14em}.header-actions{gap:12px}.index-open{gap:8px}.index-open>span{display:none}.index-open>b{margin-right:4px;font-size:8px}.index-open>svg{width:19px;height:19px}.motion{width:30px}.stage-overline{left:26px;top:108px;font-size:6px;gap:9px}.stage-rule{width:20px}.edition{font-size:5px}.project-info{display:contents;position:static;transform:none}.project-meta{position:absolute;top:150px;left:26px;font-size:6px;gap:10px;margin:0}.project-order{font-size:9px}.title-window{position:absolute;top:177px;left:26px;right:26px;padding-bottom:10px;margin:0}.title-window h1{font-size:clamp(48px,10vw,76px);line-height:1;letter-spacing:-.07em}.title-window h1>span{display:inline}.project-tagline{display:none}.project-description{position:absolute;bottom:273px;left:26px;right:26px;max-width:300px;font-size:11px;line-height:1.6;margin:0}.project-actions{position:absolute;left:26px;bottom:204px;margin:0;gap:17px}.enter{font-size:11px;gap:13px}.enter-circle{height:45px;width:45px}.enter small{font-size:5px;margin-top:6px;max-width:175px}.direct{display:none}.navigation{left:auto;right:26px;bottom:208px;gap:0}.nav-counter,.navigation-help{display:none}.nav-buttons{gap:6px}.nav-buttons button{width:35px;height:35px}.nav-buttons svg{width:14px;height:14px}.reel{left:5%;right:5%;bottom:62px;height:121px;perspective:700px}.world-tab{width:78px;left:-39px;height:110px}.tab-face{width:68px;height:78px}.tab-name{font-size:7px;width:105px;padding-top:10px}.tab-number{font-size:6px;left:7px;top:6px}.tab-art{inset:8px 0 0}.tab-corner{left:7px;bottom:7px}.reel-marker{top:118px}.reel-marker span{display:none}.scene-instruction{right:26px;bottom:283px;font-size:5px;gap:9px}.drag-symbol{font-size:16px}.artifact-hud{left:14%;right:10%;top:34%;height:26%}.artifact-callout{top:0;right:0;font-size:5px}.artifact-caption{display:none}.artifact-ruler{right:0;top:20%;bottom:16%;opacity:.6}.artifact-ruler i{width:4px}.artifact-ruler i:nth-child(3n){width:8px}.drag-area{left:5%;right:5%;top:30%;height:31%;z-index:4}.ghost-number{top:16%;left:3%;font-size:65vw;-webkit-text-stroke:1px #b7cce107}.footer{left:26px;right:26px;bottom:18px;font-size:5px}.footer>span{display:none}.footer .progress-track{gap:5px}.progress-track i{width:10px}.footer button{font-size:5px}.architectural-lines i:nth-child(1){left:12px;top:110px;bottom:50px}.architectural-lines i:nth-child(2){right:12px;top:110px;bottom:50px}.architectural-lines i:nth-child(3){bottom:43px;left:26px;right:26px}.vignette{background:linear-gradient(0deg,#05070c 0%,#05070c88 15%,transparent 37%,transparent 60%,#05070cb0 85%)}.scene-fallback{left:10%;top:29%;width:80%;height:34%}.index-shell{width:calc(100% - 48px)}.project-index{padding-top:40px;padding-bottom:35px}.index-header h2{font-size:40px}.eyebrow{font-size:7px}.index-header{margin-bottom:25px}.index-close{font-size:30px;gap:12px}.index-close span{font-size:6px}.index-toolbar{flex-direction:column;gap:10px;padding-block:10px 16px}.index-search{width:100%;gap:10px}.index-search input{font-size:11px}.filters{width:100%;justify-content:space-between}.filters button{font-size:10px;flex:1;padding:9px 6px}.index-item{gap:12px;padding:19px 0}.index-name{font-size:23px}.index-number{font-size:7px;width:18px}.index-category{display:none}.index-arrow{margin-left:auto;font-size:20px}.index-bottom{font-size:5px}.index-bottom>span:last-child{display:none}dialog{padding:35px 28px}dialog h2{font-size:50px}dialog>p:not(.eyebrow){font-size:13px}.travelling .project-info{transform:none}}
@media(max-width:420px){.title-window h1{font-size:12.5vw}.project-meta{top:141px}.title-window{top:166px}.project-description{font-size:10px;max-width:240px}.scene-instruction{right:24px;bottom:333px;font-size:4px}.artifact-hud{top:31%;height:29%}.header{left:24px;right:24px}.navigation{right:24px}.project-actions{gap:10px}.enter{font-size:10px}.enter-circle{width:42px;height:42px}.nav-buttons button{width:33px;height:33px}.project-actions{bottom:208px}.tab-name{font-size:6px}}
@media(max-height:760px) and (min-width:761px){.experience{min-height:700px}.header{height:80px}.stage-overline{top:111px}.project-info{top:47%}.title-window h1{font-size:clamp(65px,7.4vw,100px)}.project-meta{margin-bottom:17px}.project-description{margin-top:10px;font-size:11px}.project-tagline{margin-top:10px;font-size:15px}.project-actions{margin-top:22px}.reel{bottom:78px;height:125px;transform:scale(.9);transform-origin:center bottom}.navigation{bottom:95px}.scene-instruction{bottom:27%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.travel{display:none!important}}

@media(max-width:420px){.title-window[data-long-title="true"] h1{font-size:10.7vw}}

/* KINETIC / 03 — motion stays attached to the finger, including between worlds. */
.stage{touch-action:pan-y pinch-zoom}
.drag-area,.reel{touch-action:pan-y pinch-zoom}
.dragging,.dragging .stage,.dragging .reel{cursor:grabbing;user-select:none;-webkit-user-select:none}
.dragging .title-window h1,.dragging .title-window h1>span,.dragging .project-meta,.dragging .project-tagline,.dragging .project-description{animation:none!important}
.dragging .title-window h1{opacity:1}
.title-window{translate:calc(var(--drift,0)*-20px) 0}
.artifact-hud{translate:calc(var(--drift,0)*-13px) 0}
.scene-fallback{translate:calc(var(--drift,0)*-34px) 0}
.tab-face:after{opacity:calc(.35 + var(--proximity,0)*.65);background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.17) 44%,transparent 69%);transform:translateX(calc((1 - var(--proximity,0))*-70%));transition:opacity .15s}
.world-tab .tab-face{box-shadow:inset 0 0 25px #0005,inset 0 1px 0 #cdeaff22}
.world-tab[aria-pressed=true] .tab-corner{width:20px;box-shadow:0 0 12px currentColor;transition:width .35s var(--ease)}
.changing .title-window h1{animation:none}
.changing .title-window h1>span{animation:kineticTitle .52s var(--ease) both;animation-delay:0ms}
.changing .title-window h1>span:nth-child(2){animation-delay:35ms}
.changing .project-meta{animation:copyChange .35s var(--ease) both}
.changing .project-tagline{animation:copyChange .42s .03s var(--ease) both}
.changing .project-description{animation:copyChange .46s .06s var(--ease) both}
.reel-marker i{width:18px;height:2px;box-shadow:0 0 16px var(--accent);transition:background .3s}
.scene-instruction{font-size:7px;letter-spacing:.12em}
.drag-symbol{position:relative;font-size:22px;animation:swipeHint 3.4s ease-in-out infinite}
.dragging .drag-symbol{animation:none}
@keyframes kineticTitle{from{opacity:.18;filter:blur(5px);transform:translate3d(calc(var(--travel-direction,1)*26px),14px,0) rotateX(-12deg)}to{opacity:1;filter:blur(0);transform:translate3d(0,0,0) rotateX(0)}}
@keyframes swipeHint{0%,50%,100%{transform:translateX(0);opacity:.6}65%{transform:translateX(-6px);opacity:1}80%{transform:translateX(6px);opacity:1}}
@media(max-width:760px){.scene-instruction{bottom:322px;top:auto;left:0;right:0;justify-content:center;font-size:6px;gap:12px}.scene-instruction .drag-symbol{font-size:19px}.nav-buttons button{min-width:40px;min-height:40px}.navigation{bottom:207px}.experience{min-height:740px}.title-window h1>span{display:inline-block}.project-meta{top:132px}.title-window{top:158px}.stage-overline{top:104px}.project-description{bottom:270px}.reel{bottom:60px}}
@media(max-width:420px){.scene-instruction{font-size:5px;top:auto}.project-description{max-width:290px}}
.paused .drag-symbol,.paused .changing .title-window h1>span{animation:none!important}
@media(prefers-reduced-motion:reduce){.drag-symbol,.changing .title-window h1>span{animation:none!important}}

/* The lower reel is a dedicated, uninterrupted touch surface, including SVG faces. */
.reel,.world-tab,.world-tab *{touch-action:pan-y pinch-zoom;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.reel .tab-art,.reel .tab-number,.reel .tab-corner,.reel .tab-name,.reel .tab-face{pointer-events:none}
.spinning .title-window h1>span,.spinning .project-meta,.spinning .project-tagline,.spinning .project-description{animation:none!important}

/* Authentic project worlds — original marks, game art and real interfaces. */
.scene-fallback{display:none}
.project-gallery{position:absolute;left:48%;right:7%;top:27%;height:36%;perspective:1200px;pointer-events:none;z-index:3;isolation:isolate}
.project-art{position:absolute;inset:0;margin:0;transform-style:preserve-3d;will-change:transform,opacity;pointer-events:none}
.art-float{position:absolute;inset:0;animation:worldFloat 7s ease-in-out infinite;transform-style:preserve-3d}
.visual-window{position:absolute;inset:0;border:1px solid #d0e9ff30;border-radius:4px 24px 4px 24px;overflow:hidden;background:#10151f;box-shadow:0 36px 65px #0008,0 0 50px #0004;isolation:isolate}
.visual-window:after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff05,inset 0 1px 0 #fff3;background:linear-gradient(120deg,#fff0 30%,#fff07 48%,#fff0 65%);opacity:.6}
.visual-cover{width:100%;height:100%;object-fit:cover;display:block}
.visual-note{position:absolute;bottom:7%;left:7%;right:7%;font:7px Plex,monospace;letter-spacing:.2em;color:#fff9;z-index:2}
.indy-world{background:#10101c}.indy-world>.visual-cover{object-position:center 46%;filter:brightness(1.3);opacity:.8;transform:scale(1.05)}
.indy-world:before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse,#06091808,#0b081d77)}
.indy-emblem{position:absolute;inset:10% 0 10%;z-index:2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px}
.indy-emblem>img{height:51%;width:auto;aspect-ratio:1;filter:drop-shadow(0 12px 24px #09051e);border-radius:23%;transform:rotate(-7deg)}
.indy-emblem strong{font-size:clamp(22px,3vw,45px);letter-spacing:-.04em;font-weight:700;color:#ff88cc;text-shadow:0 3px 15px #08040f}
.indy-emblem strong b{color:#b4a5ff}.indy-emblem>span{font:6px Plex,monospace;letter-spacing:.34em;color:#e5d8f4}
.chamber-world>.visual-cover{object-position:50% 45%}.chamber-world:before,.grand-world:before,.person-world:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#05080fe6,transparent 65%);z-index:1}
.visual-wordmark{position:absolute;bottom:9%;left:7%;z-index:2}.visual-wordmark small{font:6px Plex,monospace;letter-spacing:.18em;color:#ccc5b6;display:block;margin-bottom:9px}.visual-wordmark strong{font-size:clamp(20px,2.6vw,38px);letter-spacing:.04em;color:#e5d9bb}
.grand-world>.visual-cover{object-position:56% center}.grand-brand{position:absolute;left:7%;bottom:17%;display:flex;align-items:center;gap:15px;z-index:2}.grand-brand img{width:76px;border-radius:50%;box-shadow:0 8px 25px #0007}.grand-brand strong{font-size:40px;letter-spacing:-.05em;color:white}.grand-brand b{color:#d8f03f}
.curteo-world{position:absolute;inset:0;transform-style:preserve-3d}.curteo-screen{position:absolute;left:0;top:17%;width:86%;border:5px solid #231c29;border-radius:12px;overflow:hidden;box-shadow:0 30px 50px #0008;transform:perspective(900px) rotateY(9deg) rotateZ(-5deg)}.curteo-screen img{width:100%;display:block}.curteo-athlete{position:absolute;right:-6%;bottom:-8%;height:118%;width:auto;filter:drop-shadow(0 15px 25px #0006)}.curteo-brand{position:absolute;top:-7%;left:7%;display:flex;align-items:center;gap:10px;filter:drop-shadow(0 5px 12px #0009)}.curteo-brand img{width:52px}.curteo-brand strong{font-size:32px;color:#d8faae}
.sponzero-world{display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 60% 65%,#5a3d2b55,transparent 67%),#0b1714}.sponzero-brand{width:76%;position:relative;z-index:1;filter:drop-shadow(0 12px 15px #0005)}.sponzero-halo{position:absolute;inset:-80% 15%;border:1px solid #c6bf8f26;border-radius:50%;transform:rotate(-35deg);box-shadow:0 0 0 25px #ffffff02,0 0 0 26px #d4c68d0b,0 0 0 65px #ffffff01,0 0 0 66px #d4c68d0b}.sponzero-world .visual-note{text-align:center;color:#bdb99b;font-size:6px;bottom:22%}
.kurt-world{background:#14100b;border-color:#ad5b353d;display:flex;align-items:center;justify-content:center}.kurt-brand{position:relative;width:64%;z-index:1;mix-blend-mode:screen}.kurt-overline{position:absolute;top:12%;left:18%;font:6px Plex,monospace;letter-spacing:.3em;color:#b99d7c}.kurt-world .visual-note{left:18%;color:#b99d7c;font-size:6px}.kurt-lines{position:absolute;inset:-30% -30% -30% 65%;transform:rotate(-23deg);border:1px solid #b15e3040;box-shadow:0 0 0 45px #b15e3005,0 0 0 46px #b15e3020}
.person-world{overflow:visible;background:none;border:0;box-shadow:none}.person-world>.visual-cover{border-radius:4px 24px 4px 24px;opacity:.9;object-position:center bottom;border:1px solid #fedcaa25}.person-world:before{border-radius:4px 24px 4px 24px}.person{position:absolute;bottom:7%;height:115%;width:auto;z-index:2;filter:drop-shadow(0 15px 15px #0007)}.person-one{left:9%;transform:rotate(-6deg)}.person-two{right:6%;transform:rotate(5deg)}.person-title{position:absolute;bottom:5%;left:0;right:0;text-align:center;font-size:clamp(17px,2.6vw,36px);font-weight:700;letter-spacing:-.035em;color:#ffd389;text-shadow:0 2px 0 #7e401f,0 6px 15px #000;z-index:4}
.thieves-world{background:#0b1425}.thieves-brand{position:absolute;top:9%;left:8%;display:flex;align-items:center;gap:10px;z-index:2}.thieves-brand>span{font-size:28px;color:#ffcf61}.thieves-brand strong{font-size:26px;color:#ffda91;letter-spacing:-.05em}.thieves-shot{position:absolute;width:100%;left:0;top:25%;mask-image:linear-gradient(#000 70%,transparent);opacity:.82}.thieves-world .visual-note{font-size:6px;color:#f5cf8b;bottom:8%}
.barak-world{position:absolute;inset:0;transform-style:preserve-3d}.app-window{position:absolute;inset:-4% 0 2%;overflow:hidden;border-radius:10px;border:1px solid #8398c36b;box-shadow:0 25px 60px #0009;transform:perspective(1000px) rotateY(-9deg) rotateZ(2deg);background:#121c30}.app-shot{display:block;width:100%}.window-bar{display:flex;gap:5px;align-items:center;height:25px;padding:0 10px;background:#152039}.window-bar i{width:4px;height:4px;border-radius:50%;background:#7c8da0}.window-bar b{font:5px Plex,monospace;color:#9baec8;margin:auto;letter-spacing:.18em}.barak-label{position:absolute;bottom:-9%;right:-2%;background:#134adb;border:1px solid #8eb2ff66;padding:14px 19px;border-radius:8px;font-weight:700;font-size:17px;box-shadow:0 12px 28px #0006}.barak-label>span{display:block;font:5px Plex,monospace;letter-spacing:.2em;margin-top:5px;color:#c6d9ff}
.chvalium-world{background:radial-gradient(ellipse at 35% 20%,#49322366,transparent 70%),#15131c;border-color:#ffb45429}.chvalium-identity{position:absolute;inset:15% 0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.chvalium-identity img{height:47%;margin-bottom:12px;filter:drop-shadow(0 12px 15px #0007)}.chvalium-identity strong{font-size:34px;letter-spacing:-.04em}.chvalium-identity>span{font:6px Plex,monospace;letter-spacing:.16em;color:#e5b579;margin-top:12px}.music-lines{position:absolute;inset:20% -10%;transform:rotate(-12deg);display:flex;flex-direction:column;justify-content:space-around;opacity:.2}.music-lines i{height:1px;background:linear-gradient(90deg,transparent,#ffb45466,transparent)}
.archive-world{background:repeating-linear-gradient(0deg,#abcfff03 0 1px,transparent 1px 4px),radial-gradient(ellipse at 70% 20%,#153446,#05131d 80%);padding:9% 10%;border-color:#b8c6c74d}.archive-world>small{display:block;color:#96aab4;font:6px Plex,monospace;letter-spacing:.3em}.archive-world>strong{display:block;font:bold clamp(28px,4.5vw,64px)/.86 Georgia,serif;color:#e4dabc;margin-top:6%;letter-spacing:-.035em}.archive-world em{display:block;font-weight:500;color:#c3d4dd}.archive-rule{display:block;width:36%;height:1px;background:#d1c3a966;margin-top:6%}.archive-world .visual-note{left:10%;font-size:6px;color:#bdb79d;bottom:9%}
.artifact-hud{z-index:4;top:23%;height:42%;left:49%;right:5%}.artifact-caption{right:12%;bottom:-3%}.artifact-callout{right:8%}.artifact-ruler{right:-1%}.drag-area{z-index:6}
.tab-art{inset:14px 5px 9px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:3px}.tab-art img{display:block;pointer-events:none;user-select:none;-webkit-user-drag:none}.tab-art .tile-contain{width:76%;height:90%;object-fit:contain;filter:drop-shadow(0 4px 6px #0008)}.tab-art .tile-cover{width:100%;height:100%;object-fit:cover}.tab-art .tile-wordmark{width:98%;height:75%;object-fit:contain}.tab-art .tile-person{height:114%;width:100%;object-fit:contain;object-position:center 12px}.tile-key{font-size:40px;color:#ffe0a7;filter:drop-shadow(0 0 12px #d19e5555)}.tile-archive{font:bold 13px/.95 Georgia,serif;color:#e4dabc;letter-spacing:-.04em}.tile-archive em{display:block;font-size:23px;color:#bcd1da}.tab-number{z-index:3;text-shadow:0 1px 5px #000}.tab-face:after{z-index:4;pointer-events:none}.tab-corner{z-index:5}
@keyframes worldFloat{0%,100%{transform:translateY(0) rotateZ(-.45deg)}50%{transform:translateY(-9px) rotateZ(.45deg)}}
.dragging .art-float,.spinning .art-float,.paused .art-float{animation-play-state:paused}.paused .art-float{transform:none;animation:none}
@media(min-width:1600px){.project-gallery{left:49%;right:9%;top:28%;height:35%}}
@media(max-width:1100px) and (min-width:761px){.project-gallery{left:49%;right:6%;top:30%;height:31%}.grand-brand strong{font-size:30px}.grand-brand img{width:55px}.thieves-brand strong{font-size:20px}.chvalium-identity strong{font-size:28px}}
@media(max-width:760px){
 .project-gallery{left:12%;right:12%;top:235px;height:calc(100% - 575px);min-height:155px;max-height:290px;perspective:800px}
 .art-float{animation-duration:8s}.visual-window{border-radius:3px 16px 3px 16px;box-shadow:0 18px 35px #0008}.artifact-hud{top:229px;height:calc(100% - 568px);left:9%;right:8%}.artifact-callout{top:-7px;font-size:4px;right:0}.artifact-ruler{right:-5%;top:20%;bottom:15%}
 .visual-note{font-size:4px;letter-spacing:.12em}.indy-emblem{gap:7px;inset:9% 0 7%}.indy-emblem strong{font-size:24px}.indy-emblem>span{font-size:4px;letter-spacing:.24em}.visual-wordmark small{font-size:4px;margin-bottom:5px}.visual-wordmark strong{font-size:20px}.grand-brand{gap:10px}.grand-brand img{width:45px}.grand-brand strong{font-size:25px}.curteo-brand{top:-5%;left:3%;gap:6px}.curteo-brand img{width:32px}.curteo-brand strong{font-size:23px}.curteo-screen{border-width:3px;top:14%;border-radius:7px}.curteo-athlete{height:110%;bottom:-5%;right:-5%}.sponzero-world .visual-note{font-size:4px;letter-spacing:.14em}.kurt-overline{font-size:4px}.kurt-world .visual-note{font-size:3.7px}.person-title{font-size:20px}.person{height:112%}.person-one{left:7%}.person-two{right:3%}.thieves-brand{top:7%;left:7%;gap:7px}.thieves-brand>span{font-size:19px}.thieves-brand strong{font-size:19px}.thieves-world .visual-note{font-size:3.6px}.window-bar{height:15px;padding:0 6px}.window-bar b{font-size:3px}.window-bar i{height:3px;width:3px}.barak-label{font-size:12px;padding:8px 12px}.barak-label>span{font-size:3px}.chvalium-identity img{margin-bottom:7px}.chvalium-identity strong{font-size:24px}.chvalium-identity>span{font-size:3.5px;margin-top:8px}.archive-world>small{font-size:3.6px}.archive-world>strong{font-size:37px}.archive-world .visual-note{font-size:3.4px}.tab-art{inset:13px 4px 8px}.tile-archive{font-size:11px}.tile-archive em{font-size:19px}.tile-key{font-size:31px}
}
@media(prefers-reduced-motion:reduce){.art-float{animation:none}}

@media(max-width:760px){.curteo-screen{width:80%;top:13%}.curteo-athlete{height:104%;bottom:0}}

/* Kinetic 06: the particle sculpture is the main scene again. Authentic art
   accompanies it as a smaller suspended preview, so neither replaces the other. */
.project-gallery{left:auto;right:5%;top:auto;bottom:25%;width:45%;height:36%;max-height:none;min-height:0;transform:scale(.56);transform-origin:100% 100%;z-index:7}
.project-gallery:before{content:'';position:absolute;left:-56px;top:50%;width:52px;height:1px;background:linear-gradient(90deg,transparent,var(--accent));opacity:.5;transform:rotate(-30deg);transform-origin:right}
.project-gallery:after{content:'';position:absolute;right:-12px;top:8%;height:84%;width:2px;background:linear-gradient(transparent,var(--accent),transparent);box-shadow:0 0 12px var(--accent);opacity:.55}
.project-art{filter:drop-shadow(0 12px 22px #0007)}
.art-float{animation:worldFloat 8s ease-in-out infinite}
.visual-window{border-color:rgba(var(--accent-rgb),.4);box-shadow:0 35px 70px #000b,0 0 35px rgba(var(--accent-rgb),.07)}
.person-world>.visual-cover{opacity:1}.person-one{left:4%;height:111%;transform:rotate(-4deg)}.person-two{right:0;height:115%;transform:rotate(3deg)}
.artifact-hud{left:49%;right:6%;top:20%;height:49%}.artifact-caption{left:0;right:auto;bottom:5%;max-width:42%;font-size:5px}.scene-instruction{left:51%;right:auto;bottom:27%;font-size:6px}
.travelling .project-gallery{opacity:0;filter:blur(10px);translate:60px -20px;transition:opacity .35s,filter .4s,translate .8s}
@media(min-width:1600px){.project-gallery{left:auto;right:7%;top:auto;bottom:26%;width:42%;height:35%}}
@media(max-width:1100px) and (min-width:761px){.project-gallery{left:auto;right:5%;top:auto;bottom:27%;width:45%;height:31%}}
@media(max-width:760px){
 .project-gallery{left:auto;right:7%;top:auto;bottom:310px;width:76%;height:210px;min-height:0;max-height:none;transform:scale(.56)}
 .project-gallery:before{left:-26px;width:22px}.project-gallery:after{right:-8px;width:1px}.artifact-hud{left:13%;right:10%;top:30%;height:28%}.artifact-callout{top:0;font-size:5px}.artifact-caption{display:none}
 .scene-instruction{left:26px;right:auto;bottom:335px;font-size:5px;gap:8px;justify-content:flex-start}.scene-instruction .drag-symbol{font-size:17px}
 .person-one{left:3%;height:108%}.person-two{right:0;height:112%}
}
@media(max-height:760px) and (min-width:761px){.project-gallery{bottom:27%}}

/* The preview is a real link; horizontal dragging still controls the world reel. */
.project-art{cursor:pointer;border-radius:4px 24px 4px 24px;touch-action:pan-y pinch-zoom;-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.project-art[aria-hidden="false"]{pointer-events:auto}
.project-art *{pointer-events:none;-webkit-user-drag:none}
.project-art:focus-visible{outline:3px solid var(--accent);outline-offset:12px}
.dragging .project-art{cursor:grabbing}
.travelling .project-art{pointer-events:none}
