:root{color-scheme:light;--cream:#fff6e8;--paper:#f7ecda;--ink:#191714;--soft-ink:rgba(25,23,20,0.72);--line:rgba(25,23,20,0.18);--amber:#d8942d;--coral:#ef7c68;--aqua:#7ecad6;--leaf:#94b983;--night:#15130f;--qte-progress:0;--peephole-progress:0;--peephole-scale:0.92;--peephole-view-opacity:0.18;--peephole-view-scale:0.82;--peephole-view-blur:7px;--peephole-shutter-y:0%;--peephole-pull-opacity:0.9;--peephole-tunnel-opacity:1;--pointer-x:0.5;--pointer-y:0.5;--scroll-progress:0;--accent-mix:0.18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--night);color:var(--ink)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{min-height:100%}body{margin:0;overflow:hidden;background:var(--night)}body[data-state=home]{overflow:visible;background:var(--cream)}canvas,img,video{display:block}a{color:inherit;text-decoration:none}button{font:inherit}.intro-root{position:fixed;inset:0;z-index:20;overflow:hidden;background:#0d0b08;transition:opacity .72s ease,visibility .72s ease}body[data-state=home] .intro-root{visibility:hidden;opacity:0;pointer-events:none}.skip-intro{position:fixed;top:clamp(18px,3vw,34px);right:clamp(18px,3vw,34px);z-index:30;display:grid;min-width:58px;height:34px;place-items:center;border:1px solid rgba(255,246,232,.36);border-radius:999px;background:rgba(16,13,9,.42);color:rgba(255,246,232,.82);letter-spacing:0;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.skip-intro:hover{border-color:rgba(255,246,232,.76);color:var(--cream)}.door-approach-stage,.phone-sequence-stage{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .52s ease,filter .52s ease,transform .52s ease}.phone-sequence-stage{z-index:5;display:grid;place-items:center;background:radial-gradient(circle at 50% 42%,rgba(92,154,186,.3),transparent 34%),linear-gradient(145deg,#151410,#090806 62%,#17100c)}body[data-state=doorTurn] .phone-sequence-stage,body[data-state=knocking] .phone-sequence-stage,body[data-state=mapHome] .phone-sequence-stage,body[data-state=mapOpening] .phone-sequence-stage,body[data-state=phoneHome] .phone-sequence-stage{opacity:1;pointer-events:auto}body[data-state=doorTurn] .phone-sequence-stage{opacity:0;filter:blur(12px) brightness(.72);transform:perspective(900px) translate3d(-15vw,7vh,-120px) rotateY(18deg) rotate(-7deg)}.phone-light{position:absolute;inset:-20%;background:radial-gradient(circle at 45% 38%,rgba(126,202,214,.32),transparent 26%),radial-gradient(circle at 58% 62%,rgba(216,148,45,.22),transparent 32%);filter:blur(28px);opacity:.78}.phone-device{position:relative;width:min(54vw,430px);aspect-ratio:768/1546;max-height:92vh;overflow:hidden;--phone-image-y:-6.53%;--app-left:52.6%;--app-top:23.7%;--app-right:29.6%;--app-bottom:67.2%;filter:drop-shadow(0 42px 70px rgba(0,0,0,.5)) drop-shadow(0 8px 18px rgba(0,0,0,.35));transform:translate3d(calc((var(--pointer-x) - .5) * -14px),calc((var(--pointer-y) - .5) * -10px),0) rotateX(calc((var(--pointer-y) - .5) * 3deg)) rotateY(calc((var(--pointer-x) - .5) * -4deg));transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.82,.2,1),filter .52s ease}body[data-state=knocking] .phone-device,body[data-state=mapHome] .phone-device,body[data-state=mapOpening] .phone-device{transform:translate3d(0,-1.6vh,0) scale(1.018)}body[data-state=knocking] .phone-device{animation:phone-knock .92s ease-in-out both}.phone-visual{position:absolute;top:0;left:0;width:100%;height:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none;transition:opacity .52s ease,transform .68s cubic-bezier(.2,.82,.2,1),filter .52s ease}.phone-home-visual{opacity:1;transform:translateY(var(--phone-image-y))}.phone-map-visual{opacity:0;transform:translateY(var(--phone-image-y)) scale(.965);filter:blur(5px) brightness(1.1)}body[data-state=doorTurn] .phone-home-visual,body[data-state=knocking] .phone-home-visual,body[data-state=mapHome] .phone-home-visual{opacity:0;transform:translateY(var(--phone-image-y)) scale(1.06);filter:blur(5px)}body[data-state=mapOpening] .phone-home-visual{opacity:.98;transform:translateY(var(--phone-image-y)) scale(.992);filter:saturate(.92) brightness(.92) blur(.6px)}body[data-state=doorTurn] .phone-map-visual,body[data-state=knocking] .phone-map-visual,body[data-state=mapHome] .phone-map-visual{opacity:1;transform:translateY(var(--phone-image-y)) scale(1);filter:blur(0) brightness(1)}.app-launch-surface{position:absolute;inset:0;z-index:2;overflow:hidden;opacity:0;pointer-events:none;transform-origin:61.5% 28.2%;-webkit-clip-path:inset(var(--app-top) var(--app-right) var(--app-bottom) var(--app-left) round 6%);clip-path:inset(var(--app-top) var(--app-right) var(--app-bottom) var(--app-left) round 6%);will-change:clip-path,opacity,transform,filter}.app-launch-surface img{position:absolute;top:0;left:0;width:100%;height:auto;transform:translateY(var(--phone-image-y));-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}body[data-state=mapOpening] .app-launch-surface{opacity:1;animation:ios-app-open .68s cubic-bezier(.16,.86,.22,1) both}.joi-map-app-hit{position:absolute;left:var(--app-left);top:var(--app-top);z-index:3;width:17.8%;height:9.1%;border:0;border-radius:24%;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}.joi-map-app-hit:focus-visible{outline:2px solid rgba(255,246,232,.82);outline-offset:6px}.tap-ripple,body[data-state=doorTurn] .joi-map-app-hit,body[data-state=knocking] .joi-map-app-hit,body[data-state=mapHome] .joi-map-app-hit,body[data-state=mapOpening] .joi-map-app-hit{pointer-events:none}.tap-ripple{position:absolute;left:61.5%;top:28.1%;z-index:2;width:17.8%;aspect-ratio:1;border:0;border-radius:28%;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),0 10px 24px rgba(0,0,0,.16);opacity:0;transform:translate(-50%,-50%) scale(.96);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body[data-state=mapOpening] .tap-ripple{animation:ios-icon-press .42s cubic-bezier(.2,.78,.2,1) both}.knock-field{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.knock-field span{position:absolute;width:min(72vw,560px);aspect-ratio:1;border:1px solid rgba(255,246,232,.48);border-radius:50%;opacity:0;transform:scale(.26)}body[data-state=knocking] .knock-field span:first-child{animation:knock-ring .38s ease-out 0s both}body[data-state=knocking] .knock-field span:nth-child(2){animation:knock-ring .38s ease-out .28s both}body[data-state=knocking] .knock-field span:nth-child(3){animation:knock-ring .42s ease-out .58s both}.door-approach-stage{z-index:4;background:#120b06}body[data-state=doorTurn] .door-approach-stage,body[data-state=peepholeApproach] .door-approach-stage,body[data-state=peepholeDragging] .door-approach-stage,body[data-state=peepholeLocked] .door-approach-stage,body[data-state=peepholeOpening] .door-approach-stage,body[data-state=videoIntro] .door-approach-stage{opacity:1}body[data-state=peepholeDragging] .door-approach-stage,body[data-state=peepholeLocked] .door-approach-stage,body[data-state=peepholeOpening] .door-approach-stage{pointer-events:auto}body[data-state=videoIntro] .door-approach-stage{opacity:0;filter:blur(8px) brightness(.5)}.door-approach-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform-origin:50% 46%;transform:scale(1.08) translateX(5vw);filter:saturate(.98) brightness(.92);transition:transform 1.32s cubic-bezier(.16,.84,.16,1),filter 1.32s ease}body[data-state=doorTurn] .door-approach-bg{animation:door-turn-in .86s cubic-bezier(.18,.74,.22,1) both}body[data-state=peepholeApproach] .door-approach-bg,body[data-state=peepholeDragging] .door-approach-bg,body[data-state=peepholeLocked] .door-approach-bg,body[data-state=peepholeOpening] .door-approach-bg,body[data-state=videoIntro] .door-approach-bg{transform:scale(4.85);filter:saturate(1.02) brightness(.8) blur(.5px)}.turn-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 46%,transparent 0 18%,rgba(10,6,4,.18) 48%,rgba(7,4,3,.64) 100%),linear-gradient(90deg,rgba(0,0,0,.2),transparent 34% 66%,rgba(0,0,0,.24))}.peephole-lock{position:absolute;left:50%;top:46%;width:clamp(18px,2.6vw,34px);aspect-ratio:1;border:2px solid rgba(255,232,177,.72);border-radius:50%;box-shadow:0 0 24px rgba(255,204,124,.34),0 0 0 999px rgba(0,0,0,0);opacity:0;transform:translate(-50%,-50%) scale(.8);transition:opacity .48s ease,transform .76s cubic-bezier(.18,.76,.2,1)}body[data-state=doorTurn] .peephole-lock,body[data-state=peepholeApproach] .peephole-lock,body[data-state=peepholeDragging] .peephole-lock,body[data-state=peepholeLocked] .peephole-lock,body[data-state=peepholeOpening] .peephole-lock{opacity:1;transform:translate(-50%,-50%) scale(1)}body[data-state=peepholeApproach] .peephole-lock,body[data-state=peepholeDragging] .peephole-lock,body[data-state=peepholeLocked] .peephole-lock,body[data-state=peepholeOpening] .peephole-lock{transform:translate(-50%,-50%) scale(5.4);opacity:.35}.peephole-interaction{position:absolute;left:50%;top:46%;z-index:5;width:clamp(232px,34vw,410px);aspect-ratio:1;opacity:0;pointer-events:none;isolation:isolate;transform:translate(-50%,-50%) scale(var(--peephole-scale));transition:opacity .42s ease,transform .52s cubic-bezier(.18,.74,.2,1),filter .42s ease}.peephole-interaction:after,.peephole-interaction:before{content:"";position:absolute;border-radius:50%;pointer-events:none}.peephole-interaction:before{inset:-7.5%;z-index:-2;background:conic-gradient(from 18deg,#231107,#7a4b23 9%,#e2b46e 15%,#4c2810 27%,#1a0b05 40%,#b88442 54%,#f0ca83 61%,#5b3016 72%,#251006 100%);box-shadow:inset 0 0 0 1px rgba(255,222,154,.26),0 0 0 10px rgba(11,6,3,.18),0 36px 110px rgba(0,0,0,.58),0 0 72px rgba(190,111,38,.22);opacity:.78}.peephole-interaction:after{inset:-2.8%;z-index:-1;background:radial-gradient(circle at 35% 24%,rgba(255,238,191,.42),transparent 18%),conic-gradient(from 120deg,rgba(255,228,160,.34),rgba(45,21,8,.4),rgba(221,154,70,.28),rgba(31,14,6,.56),rgba(255,231,170,.24));box-shadow:inset 0 0 0 1px rgba(255,226,165,.48),inset 0 0 0 9px rgba(30,14,6,.36),0 0 42px rgba(255,187,94,.16)}body[data-state=peepholeDragging] .peephole-interaction,body[data-state=peepholeLocked] .peephole-interaction,body[data-state=peepholeOpening] .peephole-interaction{opacity:1;pointer-events:auto}body[data-state=peepholeOpening] .peephole-interaction{filter:blur(1px) brightness(1.18);transform:translate(-50%,-50%) scale(1.18)}.peephole-hit{position:absolute;inset:-18%;z-index:4;padding:0;border:0;border-radius:50%;background:transparent;cursor:ns-resize;-webkit-tap-highlight-color:transparent}.peephole-hit:focus-visible{outline:1px solid rgba(255,246,232,.78);outline-offset:12px}.peephole-lens{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(255,231,178,.72);border-radius:50%;background:radial-gradient(circle at 34% 23%,rgba(255,248,226,.42),transparent 11%),radial-gradient(circle at 58% 62%,rgba(125,74,33,.5),rgba(16,8,4,.98) 65%),conic-gradient(from 210deg,rgba(255,225,151,.18),rgba(50,24,10,.48),rgba(238,170,82,.12),rgba(13,6,3,.66),rgba(255,218,139,.16));box-shadow:inset 0 0 0 1px rgba(31,14,5,.86),inset 0 0 0 10px rgba(6,3,2,.3),inset 0 14px 28px rgba(255,215,135,.08),inset 0 -24px 40px rgba(0,0,0,.54),0 0 48px rgba(255,196,105,.28),0 34px 80px rgba(0,0,0,.55)}.peephole-lens:after,.peephole-lens:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.peephole-lens:before{background:repeating-conic-gradient(from 8deg,rgba(255,231,172,.08) 0 1deg,transparent 1deg 4deg),repeating-radial-gradient(circle at 50% 48%,transparent 0 13px,rgba(255,231,172,.045) 14px,transparent 15px 31px);mix-blend-mode:overlay;opacity:.45}.peephole-lens:after{background:radial-gradient(circle at 30% 21%,rgba(255,249,228,.6),rgba(255,235,199,.26) 8%,transparent 16%),radial-gradient(ellipse at 35% 12%,rgba(255,255,255,.28),transparent 18%),linear-gradient(145deg,rgba(255,244,210,.16),transparent 26% 68%,rgba(255,205,122,.16));mix-blend-mode:screen;opacity:.84}.peephole-view{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 50% 44%,rgba(255,225,153,.62),rgba(144,83,33,.34) 34%,rgba(11,6,4,.88) 76%),linear-gradient(140deg,rgba(126,202,214,.2),rgba(239,124,104,.14));opacity:var(--peephole-view-opacity);transform:scale(var(--peephole-view-scale));filter:blur(var(--peephole-view-blur))}.peephole-shutter{position:absolute;left:-18%;right:-18%;top:-18%;height:136%;border-radius:42% 42% 50% 50%;background:radial-gradient(circle at 48% 15%,rgba(255,235,180,.3),transparent 18%),linear-gradient(180deg,rgba(255,222,150,.36),rgba(86,43,17,.9) 28%,rgba(14,7,4,.98) 72%),repeating-linear-gradient(92deg,rgba(255,238,190,.05) 0 1px,transparent 1px 7px);box-shadow:0 20px 42px rgba(0,0,0,.56),inset 0 -1px 0 rgba(255,232,178,.46),inset 0 9px 26px rgba(255,202,107,.08);transform:translateY(var(--peephole-shutter-y));will-change:transform}.peephole-sheen{inset:0;border-radius:inherit;background:radial-gradient(circle at 32% 22%,rgba(255,250,229,.58),transparent 10%),radial-gradient(ellipse at 42% 12%,rgba(255,244,215,.22),transparent 19%),radial-gradient(circle at 64% 70%,transparent 0 40%,rgba(0,0,0,.36) 72%,rgba(0,0,0,.82) 100%),linear-gradient(135deg,rgba(255,255,255,.16),transparent 30% 64%,rgba(255,214,145,.16));mix-blend-mode:screen}.peephole-pull,.peephole-sheen{position:absolute;pointer-events:none}.peephole-pull{left:50%;bottom:10%;display:grid;width:58px;height:108px;place-items:flex-end center;opacity:var(--peephole-pull-opacity);transform:translateX(-50%)}.peephole-pull:before{content:"";width:1px;height:74px;background:linear-gradient(180deg,transparent,rgba(255,246,232,.74))}.peephole-pull span{position:relative;width:30px;height:30px;border-top:2px solid rgba(255,246,232,.8);border-left:2px solid rgba(255,246,232,.8);transform:translateY(-8px) rotate(45deg);animation:peephole-cue 1.18s ease-in-out infinite}.peephole-tunnel{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 46%,transparent 0 8%,rgba(0,0,0,.22) 12%,rgba(0,0,0,.84) 46%,#000 100%);transition:opacity .9s ease}body[data-state=peepholeApproach] .peephole-tunnel,body[data-state=peepholeDragging] .peephole-tunnel,body[data-state=peepholeLocked] .peephole-tunnel,body[data-state=peepholeOpening] .peephole-tunnel,body[data-state=videoIntro] .peephole-tunnel{opacity:var(--peephole-tunnel-opacity)}.qte-stage{position:absolute;inset:0;z-index:6;overflow:hidden;opacity:0;pointer-events:none;transform-origin:40% 48%;background:#0b0907;transition:opacity .52s ease,transform .78s cubic-bezier(.2,.8,.22,1),filter .68s ease}body[data-state=qteDragging] .qte-stage,body[data-state=qteLocked] .qte-stage,body[data-state=videoIntro] .qte-stage{opacity:1;pointer-events:auto}.door-freeze,.doorway-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;background:#0b0907}.doorway-video{z-index:1}.door-freeze{z-index:2;opacity:0;transition:opacity 90ms linear}body[data-state=doorOpen] .door-freeze,body[data-state=qteDragging] .door-freeze,body[data-state=qteLocked] .door-freeze{opacity:1}.qte-vignette{position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 57% 59%,transparent 0 24%,rgba(15,10,6,.1) 42%,rgba(6,4,3,.54) 100%),linear-gradient(90deg,rgba(0,0,0,.18),transparent 36% 68%,rgba(0,0,0,.18));opacity:0;transition:opacity .26s ease}body[data-state=qteDragging] .qte-vignette,body[data-state=qteLocked] .qte-vignette{opacity:1}.threshold-light{position:absolute;inset:-8%;z-index:4;pointer-events:none;background:radial-gradient(circle at 45% 52%,rgba(255,223,158,.72),transparent 24%),linear-gradient(90deg,rgba(255,236,190,.82),transparent 34%);opacity:0;transform:translateX(-8%) scaleX(.88);filter:blur(18px)}.handle-hotspot{left:53.7%;top:58.8%;width:min(46vw,560px);height:min(43vh,390px);transform:translate(-50%,-50%)}.handle-pixel-shell{position:absolute;z-index:7;opacity:0;pointer-events:none;transform-origin:var(--handle-origin-x,50%) var(--handle-origin-y,50%);transform:rotate(calc(var(--qte-progress) * 43deg));transition:opacity .12s ease;will-change:transform}body[data-state=doorOpen] .handle-pixel-shell,body[data-state=qteDragging] .handle-pixel-shell,body[data-state=qteLocked] .handle-pixel-shell{opacity:1}.handle-pixel-sprite{width:100%;height:100%;object-fit:fill;filter:drop-shadow(0 14px 18px rgba(22,13,7,.18)) saturate(1.03);transform:translateZ(0)}.handle-hotspot{position:absolute;z-index:9;padding:0;border:0;border-radius:44% 56% 52% 48%;background:transparent;cursor:-webkit-grab;cursor:grab;opacity:0;pointer-events:none;-webkit-tap-highlight-color:transparent}body[data-state=qteDragging] .handle-hotspot,body[data-state=qteLocked] .handle-hotspot{pointer-events:auto}body[data-state=qteDragging] .handle-hotspot{cursor:-webkit-grabbing;cursor:grabbing}.handle-hotspot:focus-visible{outline:1px solid rgba(255,246,232,.72);outline-offset:8px}body[data-state=doorOpen] .threshold-light{animation:threshold-open .76s cubic-bezier(.18,.72,.2,1) forwards}body[data-state=doorOpen] .qte-stage{opacity:0;filter:blur(4px) brightness(1.3);transform:perspective(1100px) translateX(-5vw) rotateY(-8deg) scale(1.055)}body[data-state=doorOpen] .door-freeze{opacity:1}@keyframes ios-icon-press{0%{opacity:0;transform:translate(-50%,-50%) scale(1)}24%{opacity:.78;transform:translate(-50%,-50%) scale(.9)}to{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}@keyframes ios-app-open{0%{-webkit-clip-path:inset(var(--app-top) var(--app-right) var(--app-bottom) var(--app-left) round 6%);clip-path:inset(var(--app-top) var(--app-right) var(--app-bottom) var(--app-left) round 6%);filter:brightness(1.12) saturate(1.06);transform:scale(.985)}18%{filter:brightness(1.08) saturate(1.04);transform:scale(.972)}58%{-webkit-clip-path:inset(4% 5% 5% 4% round 5%);clip-path:inset(4% 5% 5% 4% round 5%);filter:brightness(1.02) saturate(1.02);transform:scale(1.008)}to{-webkit-clip-path:inset(0 0 0 0 round 0);clip-path:inset(0 0 0 0 round 0);filter:brightness(1) saturate(1);transform:scale(1)}}@keyframes knock-ring{0%{opacity:.52;transform:scale(.18)}to{opacity:0;transform:scale(1.1)}}@keyframes phone-knock{0%,16%,44%,72%,to{transform:translate3d(0,-1.6vh,0) scale(1.018)}36%,64%,9%{transform:translate3d(-5px,-1.6vh,0) rotate(-.35deg) scale(1.02)}12%,39%,67%{transform:translate3d(5px,-1.6vh,0) rotate(.32deg) scale(1.02)}}@keyframes door-turn-in{0%{transform:perspective(900px) scale(1.18) translateX(18vw) rotateY(-10deg);filter:saturate(.86) brightness(.62) blur(8px)}to{transform:perspective(900px) scale(1.08) translateX(0) rotateY(0deg);filter:saturate(.98) brightness(.92) blur(0)}}@keyframes peephole-cue{0%,to{opacity:.38;transform:translateY(0) rotate(45deg)}44%{opacity:.9;transform:translateY(-14px) rotate(45deg)}}@keyframes threshold-open{0%{opacity:0;transform:translateX(-8%) scaleX(.88)}42%{opacity:1}to{opacity:0;transform:translateX(4%) scaleX(1.2)}}.site-home{position:relative;min-height:100vh;overflow:visible;background:linear-gradient(180deg,rgba(255,246,232,.94),rgba(243,229,207,.96) 46%,rgba(255,250,241,.98)),var(--cream);opacity:0;transition:opacity .64s ease}body[data-state=home] .site-home{opacity:1}.shader-canvas{z-index:0;width:100vw;height:100vh;opacity:.74}.shader-canvas,.site-grain{position:fixed;inset:0;pointer-events:none}.site-grain{z-index:1;opacity:.3;background-image:linear-gradient(rgba(25,23,20,.035) 1px,transparent 0),linear-gradient(90deg,rgba(25,23,20,.03) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.28));mask-image:linear-gradient(180deg,rgba(0,0,0,.9),rgba(0,0,0,.28))}.site-home>:not(.shader-canvas):not(.site-grain):not(.site-grid-overlay):not(.site-hud):not(.pointer-hud):not(.site-bottom-hud):not(.scroll-rail):not(.sticker-layer){position:relative;z-index:2}.site-hud{position:fixed;top:0;left:0;right:0;z-index:12;display:grid;grid-template-columns:minmax(132px,1fr) auto minmax(160px,1fr);grid-gap:20px;gap:20px;align-items:center;min-height:64px;padding:16px clamp(18px,3.2vw,46px);color:rgba(25,23,20,.86);mix-blend-mode:multiply;pointer-events:none}.site-hud a,.site-hud button{pointer-events:auto}.brand,.card-label,.card-number,.footer-links,.hud-meta,.hud-nav,.pointer-hud,.process-line,.section-kicker,.studio-index{font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:11px;line-height:1.2;text-transform:uppercase;letter-spacing:0}.brand{display:inline-flex;align-items:center;gap:10px;justify-self:start;width:max-content;font-weight:700}.brand-mark{display:grid;width:30px;height:30px;place-items:center;border:1px solid;border-radius:50%;background:rgba(255,246,232,.42)}.hud-nav{display:flex;justify-self:center;gap:clamp(16px,3vw,38px)}.footer-links a,.hud-nav a{border-bottom:1px solid transparent;padding-bottom:3px}.footer-links a:hover,.hud-nav a:hover{border-color:currentColor}.hud-meta{display:flex;align-items:center;justify-self:self-end;gap:14px}.replay-button{min-width:52px;height:28px;border:1px solid rgba(25,23,20,.3);border-radius:999px;background:rgba(255,246,232,.34);color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.replay-button:hover{border-color:rgba(25,23,20,.75)}.pointer-hud{position:fixed;right:clamp(18px,3.2vw,46px);bottom:18px;z-index:12;color:rgba(25,23,20,.5)}.studio-grid{display:grid;grid-template-columns:minmax(120px,.72fr) minmax(0,2fr) minmax(270px,.94fr);grid-gap:clamp(18px,3vw,44px);gap:clamp(18px,3vw,44px);align-items:flex-end;min-height:100vh;padding:clamp(90px,13vh,150px) clamp(18px,4vw,66px) clamp(42px,7vh,72px)}.studio-index{display:grid;grid-column:1;grid-row:1;grid-gap:9px;gap:9px;align-self:center;color:rgba(25,23,20,.55)}.section-kicker{margin:0 0 18px;color:rgba(25,23,20,.56)}.site-footer h2{margin:0;color:rgba(25,23,20,.94);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(68px,11.4vw,184px);letter-spacing:0;text-transform:uppercase;font-weight:760;font-stretch:112%}.studio-title{grid-column:2/4;align-self:center;z-index:4;max-width:min(920px,100%);margin-bottom:clamp(18px,4vh,46px);translate:0 clamp(-44px,-4.5vh,-24px)}.joi-console,.studio-title{grid-row:1;position:relative}.joi-console{display:grid;grid-column:3;z-index:3;grid-gap:16px;gap:16px;align-self:self-end;min-width:0;translate:0 clamp(58px,10vh,96px)}.joi-portrait{position:relative;aspect-ratio:4/5;margin:0;overflow:hidden;border:1px solid rgba(25,23,20,.16);background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.86),transparent 38%),linear-gradient(135deg,rgba(126,202,214,.32),rgba(239,124,104,.22));box-shadow:0 32px 80px rgba(65,45,22,.16);min-width:0}.joi-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(255,246,232,.46)),linear-gradient(90deg,rgba(255,255,255,.34),transparent 25% 74%,rgba(25,23,20,.08));pointer-events:none}.joi-portrait img{width:100%;height:100%;padding:6%;object-fit:contain;object-position:center;transform:translate3d(calc((var(--pointer-x) - .5) * -22px),calc((var(--pointer-y) - .5) * -18px),0) scale(1.055);transition:transform .18s ease-out}.console-copy{border-top:1px solid rgba(25,23,20,.24);padding-top:14px;min-width:0}.console-label{display:block;margin-bottom:8px;color:rgba(25,23,20,.48);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:11px;text-transform:uppercase}.console-copy p{margin:0;color:rgba(25,23,20,.8);font-size:clamp(18px,1.6vw,24px);line-height:1.45;overflow-wrap:anywhere}.ecosystem-section,.process-section,.site-footer{padding:clamp(70px,10vw,132px) clamp(18px,4vw,66px)}.section-heading{display:grid;grid-template-columns:minmax(120px,.62fr) minmax(0,2fr);grid-gap:clamp(18px,4vw,66px);gap:clamp(18px,4vw,66px);align-items:flex-end;margin-bottom:clamp(28px,6vw,70px)}.section-heading h2{max-width:980px;margin:0;color:rgba(25,23,20,.91);font-size:clamp(38px,7vw,112px);line-height:.92;letter-spacing:0;font-weight:720}.ecosystem-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:1px;gap:1px;background:rgba(25,23,20,.18);border:1px solid rgba(25,23,20,.18)}.system-card{position:relative;display:grid;min-height:clamp(440px,62vh,680px);overflow:hidden;border:0;background:rgba(255,246,232,.72);cursor:pointer;outline:none;transition:background .22s ease,color .22s ease,transform .22s ease}.system-card:focus-visible{z-index:2;box-shadow:inset 0 0 0 2px rgba(25,23,20,.9)}.system-card.is-active,.system-card:hover{background:rgba(255,250,241,.94)}.card-media,.symbol-field{min-height:280px;overflow:hidden;border-bottom:1px solid rgba(25,23,20,.12);background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.86),transparent 38%),linear-gradient(135deg,rgba(126,202,214,.22),rgba(216,148,45,.18),rgba(239,124,104,.16))}.card-media img{width:100%;height:100%;min-height:280px;padding:5%;object-fit:contain;object-position:center;transform:scale(1.035);transition:transform .42s cubic-bezier(.2,.78,.2,1)}.system-card.is-active .card-media img,.system-card:hover .card-media img{transform:scale(1.08) translateY(-1.8%)}.card-copy{display:grid;align-content:flex-end;grid-gap:12px;gap:12px;min-height:260px;padding:clamp(20px,2.6vw,34px)}.card-number{color:rgba(25,23,20,.42)}.card-label{color:rgba(25,23,20,.54)}.card-copy h3{margin:0;color:rgba(25,23,20,.94);font-size:clamp(28px,3.2vw,54px);line-height:.95;letter-spacing:0}.card-copy p{min-height:4.6em;margin:0;color:rgba(25,23,20,.68);font-size:15px;line-height:1.54}.card-copy a{width:max-content;border-bottom:1px solid rgba(25,23,20,.42);color:rgba(25,23,20,.76);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:11px;text-transform:uppercase}.text-system{grid-template-rows:minmax(280px,1fr) auto}.symbol-field{display:grid;align-content:center;justify-content:start;grid-gap:0;gap:0;padding:clamp(20px,2.6vw,34px);color:rgba(25,23,20,.92);font-size:clamp(52px,6.6vw,104px);font-weight:760;line-height:.82;text-transform:uppercase}.symbol-field span{display:block}.universe-symbol{padding:0}.universe-symbol img{width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center;filter:saturate(1.06) contrast(1.02)}.process-section{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.6fr);grid-gap:clamp(24px,5vw,90px);gap:clamp(24px,5vw,90px);align-items:start}.process-line{display:grid;grid-gap:14px;gap:14px;color:rgba(25,23,20,.58)}.process-line span{border-top:1px solid rgba(25,23,20,.2);padding-top:12px}.process-section p{max-width:920px;margin:0;color:rgba(25,23,20,.86);font-size:clamp(30px,4.8vw,76px);line-height:1.04;letter-spacing:0}.site-footer{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(190px,.42fr);grid-gap:clamp(24px,6vw,96px);gap:clamp(24px,6vw,96px);align-items:flex-end;min-height:78vh;border-top:1px solid rgba(25,23,20,.14)}.site-footer h2{max-width:1120px;font-size:clamp(54px,9.8vw,158px);line-height:.86}.footer-links{display:grid;grid-gap:14px;gap:14px;justify-items:start;color:rgba(25,23,20,.68)}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .68s ease,transform .68s cubic-bezier(.19,.78,.22,1)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (max-width:1100px){.studio-grid{grid-template-columns:1fr 1.4fr}.studio-index{grid-column:1/-1;grid-template-columns:repeat(3,max-content);gap:18px}.ecosystem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.phone-device{width:min(94vw,420px);max-height:94vh}.knock-field span{width:92vw}body[data-state=peepholeApproach] .door-approach-bg,body[data-state=peepholeDragging] .door-approach-bg,body[data-state=peepholeLocked] .door-approach-bg,body[data-state=peepholeOpening] .door-approach-bg,body[data-state=videoIntro] .door-approach-bg{transform:scale(5.35)}.peephole-interaction{width:min(76vw,330px)}.peephole-pull{height:96px}.handle-hotspot{left:58%;top:61.2%;width:92vw;height:42vh}.skip-intro{top:14px;right:14px}.site-hud{grid-template-columns:1fr auto;min-height:58px;padding:14px 16px}.hud-nav{display:none}.hud-meta{gap:8px}#timeHud,.pointer-hud{display:none}.studio-grid{grid-template-columns:1fr;min-height:auto;padding:86px 16px 42px}.joi-console,.studio-index,.studio-title{grid-column:1;grid-row:auto}.studio-index{grid-template-columns:1fr;gap:8px}.studio-title{margin-bottom:0;translate:0 0}.joi-console{grid-template-columns:minmax(118px,.74fr) minmax(0,1.26fr);align-items:flex-end;gap:12px;translate:0 0}.joi-portrait{aspect-ratio:3/4}.console-copy p{font-size:16px}.ecosystem-section,.process-section,.site-footer{padding:66px 16px}.process-section,.section-heading,.site-footer{grid-template-columns:1fr}.section-heading h2{font-size:clamp(36px,13vw,64px)}.ecosystem-grid{grid-template-columns:1fr}.system-card{min-height:0}.card-media,.symbol-field,.universe-symbol img{min-height:260px}.card-copy,.card-copy p{min-height:0}.process-section p{font-size:clamp(30px,10vw,54px)}.site-footer{min-height:64vh}.site-footer h2{font-size:clamp(46px,14vw,86px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.portfolio-home{--ink:rgba(24,22,18,0.94);--muted:rgba(24,22,18,0.54);--hairline:rgba(24,22,18,0.16);--paper:#fff9ea;--selection:#c8ff3d;background:radial-gradient(circle at calc(var(--pointer-x) * 100%) calc(var(--pointer-y) * 100%),rgba(255,255,255,.78),transparent 28rem),linear-gradient(135deg,#fffbea,#f6eed9 44%,#fff9ed);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace}.portfolio-home .shader-canvas{opacity:.32;mix-blend-mode:multiply}.site-grid-overlay{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.42;background-image:linear-gradient(var(--hairline) 1px,transparent 1px),linear-gradient(90deg,var(--hairline) 1px,transparent 1px);background-size:calc(100vw / 12) calc(100vh / 3);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}.portfolio-home .site-hud{inset:0 0 auto;display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,.8fr) minmax(180px,1fr);align-items:center;min-height:82px;padding:clamp(14px,2.5vw,28px) clamp(16px,4.4vw,56px);background:transparent;pointer-events:none}.footer-door,.footer-links a,.portfolio-home .brand,.portfolio-home .hud-meta,.portfolio-home .hud-nav,.portfolio-home .replay-button{pointer-events:auto}.footer-door,.footer-links a,.portfolio-home .brand,.portfolio-home .hud-meta span,.portfolio-home .hud-nav a,.portfolio-home .replay-button{position:relative;padding:8px;color:var(--ink);text-transform:uppercase}.footer-door:before,.footer-links a:before,.portfolio-home .brand:before,.portfolio-home .hud-meta span:before,.portfolio-home .hud-nav a:before,.portfolio-home .replay-button:before{content:"";position:absolute;inset:0;border:2px dotted transparent;pointer-events:none;transition:border-color .16s ease}.footer-door:hover:before,.footer-links a:hover:before,.portfolio-home .brand:hover:before,.portfolio-home .hud-meta span:hover:before,.portfolio-home .hud-nav a:hover:before,.portfolio-home .replay-button:hover:before{border-color:currentColor}.portfolio-home .brand{width:max-content;gap:8px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:800;letter-spacing:0}.portfolio-home .brand-mark{width:34px;height:34px;border-color:currentColor;background:transparent}.portfolio-home .hud-nav{justify-self:center;gap:clamp(18px,3vw,44px)}.portfolio-home .hud-meta{justify-content:flex-end}.portfolio-home .replay-button{min-width:0;height:auto;border:0;border-radius:0;background:transparent;font:inherit}.site-bottom-hud{position:fixed;left:clamp(16px,4.4vw,56px);right:clamp(16px,4.4vw,56px);bottom:clamp(16px,3vw,30px);z-index:14;display:flex;align-items:flex-end;justify-content:space-between;color:var(--muted);pointer-events:none}.orbit-mark svg{display:block;color:var(--ink)}.orbit-mark ellipse,.orbit-mark path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}.portfolio-home .pointer-hud{left:50%;right:auto;bottom:clamp(16px,3vw,30px);z-index:15;translate:-50% 0;padding:8px;color:var(--muted);pointer-events:auto}.scroll-rail{position:fixed;top:50%;right:14px;z-index:14;width:32px;height:200px;translate:0 -50%;border-radius:999px;pointer-events:none}.scroll-rail span,.scroll-rail:before{content:"";position:absolute;left:13px;top:6px;width:6px;border-radius:999px}.scroll-rail:before{height:188px;background:rgba(24,22,18,.15)}.scroll-rail span{height:calc(188px * var(--scroll-progress, 0));background:var(--ink)}.process-section,.site-footer,.source-hero,.statement-section,.work-section{position:relative;z-index:2}.source-hero{grid-column-gap:clamp(12px,2vw,26px);column-gap:clamp(12px,2vw,26px);padding:clamp(94px,14vh,150px) clamp(16px,4.4vw,56px) clamp(80px,11vh,122px)}.hero-intro,.source-hero{display:grid;grid-template-columns:repeat(12,minmax(0,1fr))}.hero-intro{grid-gap:clamp(12px,2vw,26px);gap:clamp(12px,2vw,26px);align-items:start;color:var(--muted)}.hero-intro span:first-child{grid-column:1/4;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(22px,2vw,34px);font-weight:620;line-height:1.06}.hero-intro span:nth-child(2){grid-column:5/8}.hero-intro p{grid-column:9/-1;margin:0;line-height:1.45}.hero-title-panel{align-self:self-end;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(12px,2vw,26px);gap:clamp(12px,2vw,26px);width:100%}.hero-title-panel .section-kicker{grid-column:1/4;align-self:center;margin:0;color:var(--muted)}.three-title-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.three-title-stage{grid-column:4/-1;position:relative;min-height:clamp(260px,33vw,520px);overflow:visible;cursor:default}.three-title-stage canvas{display:block;width:100%;height:100%}.three-title-fallback{position:absolute;inset:0;display:grid;align-items:center;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(80px,15vw,210px);font-weight:850;letter-spacing:0;line-height:.84;opacity:.94;transition:opacity .5s ease;pointer-events:none}.three-title-stage.is-three-ready .three-title-fallback{opacity:0}.hero-note{grid-column:9/-1;align-self:self-end;margin-top:clamp(20px,4vh,48px);color:var(--muted)}.hero-note span,.work-heading span{display:block;margin-bottom:14px;text-transform:uppercase}.hero-note p{margin:0;color:var(--ink);font-size:clamp(18px,2.1vw,28px);line-height:1.25}.statement-section{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(12px,2vw,26px);gap:clamp(12px,2vw,26px);min-height:74svh;padding:clamp(70px,11vw,136px) clamp(16px,4.4vw,56px)}.statement-sign{grid-column:1/4;position:relative;color:var(--selection);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(120px,22vw,280px);font-weight:900;line-height:.75;text-shadow:0 18px 0 rgba(24,22,18,.12)}.statement-copy{grid-column:5/-1;display:grid;grid-gap:28px;gap:28px;align-content:start}.statement-copy p{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(28px,5vw,74px);font-weight:680;line-height:1.02;letter-spacing:0}.statement-copy p+p{color:var(--muted)}.work-section{padding:clamp(70px,10vw,132px) clamp(16px,4.4vw,56px)}.work-heading{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(12px,2vw,26px);gap:clamp(12px,2vw,26px);margin-bottom:clamp(30px,5vw,72px)}.work-heading span{grid-column:1/4;color:var(--muted)}.work-heading h2{grid-column:5/-1;max-width:1050px;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(40px,7vw,112px);font-weight:760;line-height:.94;letter-spacing:0}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(18px,3.4vw,56px) clamp(12px,2vw,26px);gap:clamp(18px,3.4vw,56px) clamp(12px,2vw,26px)}.project-card{grid-column:span 4;min-width:0}.project-card a{display:block;color:inherit}.project-visual{position:relative;display:grid;min-height:clamp(220px,30vw,420px);overflow:hidden;border:1px solid var(--hairline);background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(235,209,162,.34)),repeating-linear-gradient(90deg,transparent 0 32px,rgba(24,22,18,.05) 32px 33px);transition:transform .28s cubic-bezier(.2,.72,.18,1),box-shadow .28s ease}.project-card.is-active .project-visual,.project-card:hover .project-visual{transform:translateY(-6px);box-shadow:14px 18px 0 rgba(24,22,18,.1)}.project-visual>span:first-child,.project-visual>span:only-child{align-self:self-end;padding:18px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(38px,6.4vw,92px);font-weight:820;line-height:.86;text-transform:uppercase}.project-visual>span:not(:first-child){padding:0 18px 14px;font-size:13px;text-transform:uppercase}.project-visual img{min-height:inherit;padding:5%;object-fit:contain}.character-visual,.map-visual{place-items:center}.character-visual span,.map-visual span{position:absolute;top:0;right:0;background:var(--selection);padding:2px 6px;color:#111;font-size:12px}.doorway-visual,.loop-visual,.quant-visual,.story-visual{align-content:flex-end}.loop-visual{gap:0}.loop-visual span{display:block;padding:0 18px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(28px,3.5vw,54px);font-weight:820;line-height:.9;text-transform:uppercase}.project-meta{display:flex;justify-content:space-between;gap:16px;margin-top:12px;color:var(--ink);font-size:12px;text-transform:uppercase}.project-card p{max-width:760px;margin:12px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.sticky-words{position:relative;z-index:2;height:320svh}.sticky-words-inner{position:-webkit-sticky;position:sticky;top:0;display:grid;place-items:center;min-height:100svh;padding:clamp(70px,10vw,132px) clamp(16px,4.4vw,56px);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(54px,9vw,148px);font-weight:850;line-height:.88;text-align:center;text-transform:uppercase}.sticky-words-inner span{display:block}.portfolio-home .process-section{grid-template-columns:repeat(12,minmax(0,1fr));padding:clamp(70px,10vw,132px) clamp(16px,4.4vw,56px)}.portfolio-home .process-line{grid-column:1/4}.portfolio-home .process-section p{grid-column:5/-1;max-width:none;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(34px,5.4vw,88px);font-weight:680;line-height:.98;letter-spacing:0}.portfolio-home .site-footer{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;min-height:100svh;padding:clamp(90px,12vw,150px) clamp(16px,4.4vw,56px);border-top:0}.footer-headline{grid-column:1/-1;display:grid;grid-gap:0;gap:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(54px,8.4vw,132px);font-weight:850;line-height:.88;text-transform:uppercase}.footer-headline span:nth-child(2){justify-self:center}.footer-headline span:nth-child(3){justify-self:self-end}.portfolio-home .footer-links{grid-column:1/-1;display:flex;align-self:self-end;justify-content:space-between;margin-top:56px;font-size:14px}.footer-door{border:0;background:transparent;font:inherit;cursor:pointer}@media (max-width:900px){.portfolio-home .site-hud{grid-template-columns:1fr auto}.orbit-mark,.portfolio-home .hud-meta span,.portfolio-home .hud-nav,.scroll-rail{display:none}.hero-intro,.hero-title-panel,.portfolio-home .process-section,.portfolio-home .site-footer,.source-hero,.statement-section,.work-grid,.work-heading{grid-template-columns:1fr}.hero-intro p,.hero-intro span:first-child,.hero-intro span:nth-child(2),.hero-note,.hero-title-panel .section-kicker,.portfolio-home .process-line,.portfolio-home .process-section p,.project-card,.project-card-large,.project-card-tall,.statement-copy,.statement-sign,.three-title-stage,.work-heading h2,.work-heading span{grid-column:1}.source-hero{gap:34px;min-height:auto}.three-title-stage{min-height:clamp(210px,54vw,320px)}.hero-note{margin-top:0}.statement-section{min-height:auto}.project-card{margin-bottom:18px}.portfolio-home .pointer-hud,.site-bottom-hud{display:none}.portfolio-home .footer-links{flex-direction:column;align-items:start;gap:8px}}.portfolio-home{--paper:#fff8e8;--ink:rgba(21,18,14,0.94);--muted:rgba(21,18,14,0.56);--hairline:rgba(35,30,22,0.16);--selection:#d6ff4d;--glow-blue:rgba(97,142,255,0.3);--glow-amber:rgba(255,183,69,0.34);background:radial-gradient(circle at calc(var(--pointer-x) * 100%) calc(var(--pointer-y) * 100%),rgba(131,202,255,.26),transparent 28rem),radial-gradient(circle at 78% 14%,rgba(255,184,70,.22),transparent 24rem),linear-gradient(135deg,#fffbed,#f7ecd4 48%,#fff8e8);overflow-x:visible;overflow-y:visible}.site-grid-overlay{opacity:.76;background-image:linear-gradient(rgba(28,25,20,.11) 1px,transparent 0),linear-gradient(90deg,rgba(28,25,20,.1) 1px,transparent 0);background-size:calc(100vw / 4) calc(100vh / 3);mix-blend-mode:multiply}.site-grid-overlay:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at calc(25vw) calc(33.333vh),rgba(25,22,18,.38) 0 1px,transparent 2px),radial-gradient(circle at calc(50vw) calc(33.333vh),rgba(25,22,18,.38) 0 1px,transparent 2px),radial-gradient(circle at calc(75vw) calc(33.333vh),rgba(25,22,18,.38) 0 1px,transparent 2px),radial-gradient(circle at calc(25vw) calc(66.666vh),rgba(25,22,18,.38) 0 1px,transparent 2px),radial-gradient(circle at calc(50vw) calc(66.666vh),rgba(25,22,18,.38) 0 1px,transparent 2px),radial-gradient(circle at calc(75vw) calc(66.666vh),rgba(25,22,18,.38) 0 1px,transparent 2px)}.portfolio-home .site-hud{font-size:clamp(12px,1vw,15px);mix-blend-mode:multiply}.sticker-layer{position:fixed;inset:0;z-index:4;overflow:hidden;pointer-events:none}.floating-sticker{position:absolute;width:clamp(76px,10vw,168px);height:auto;filter:drop-shadow(0 18px 22px rgba(53,37,14,.18));transform:translate3d(calc((var(--pointer-x, .5) - .5) * var(--float-depth, 24px)),calc((var(--pointer-y, .5) - .5) * var(--float-depth-y, 16px)),0) rotate(var(--sticker-rotation,0deg));animation:sticker-drift 7s ease-in-out infinite alternate}.sticker-cursor{--float-depth:44px;--float-depth-y:-28px;--sticker-rotation:-12deg;top:56%;right:7%}.sticker-star{--float-depth:-30px;--float-depth-y:20px;--sticker-rotation:13deg;right:18%;width:clamp(62px,8vw,126px);animation-delay:-2.3s}.sticker-pin{--float-depth:22px;--float-depth-y:-18px;--sticker-rotation:10deg;top:12%;left:49%;width:clamp(70px,8vw,132px);animation-delay:-4.1s}@keyframes sticker-drift{0%{margin-top:-8px}to{margin-top:12px}}.source-hero{grid-template-rows:auto minmax(440px,1fr) auto;padding-top:clamp(94px,13vh,142px);padding-bottom:clamp(28px,5vh,64px)}.hero-intro{position:relative}.hero-title-panel{position:relative;align-self:center;min-height:clamp(430px,56vw,660px);isolation:isolate}.hero-title-panel .section-kicker{position:relative;z-index:8}.three-title-stage{grid-column:3/-1;min-height:clamp(420px,46vw,650px);margin-top:clamp(-56px,-5vw,-26px)}.three-title-stage canvas{filter:drop-shadow(0 34px 42px rgba(70,56,24,.22)) saturate(1.38) contrast(1.08)}.hero-display-copy{position:absolute;top:clamp(210px,18vw,300px);bottom:auto;display:flex;flex-direction:column;width:min(880px,82vw);padding-left:clamp(0px,2vw,32px);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(48px,6.1vw,108px);font-weight:900;line-height:.9;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.82),0 18px 28px rgba(80,54,20,.12);pointer-events:none}.hero-display-copy span:nth-child(2){margin-left:clamp(28px,6vw,92px)}.hero-display-copy span:nth-child(3){margin-left:clamp(4px,1.2vw,20px)}.hero-note{position:relative;z-index:8;margin-top:-36px}.statement-section{align-items:center;min-height:86svh}.statement-sign{color:transparent;background:linear-gradient(135deg,#95cbff,#f5ba49 56%,#ff7668);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 22px 24px rgba(108,78,24,.16))}.work-section{padding-top:clamp(110px,14vw,190px)}.work-grid{row-gap:clamp(54px,8vw,112px)}.project-card{transition:transform .48s cubic-bezier(.16,.74,.18,1),opacity .42s ease}.project-card:nth-child(2n){margin-top:clamp(36px,7vw,120px)}.project-card:nth-child(3n){margin-top:clamp(-12px,-1vw,-2px)}.project-card-large{grid-column:5/-1}.project-card-tall{grid-column:1/5}.project-visual{min-height:auto;border:1px solid rgba(31,27,20,.18);border-radius:0;background:rgba(255,249,232,.38);box-shadow:0 24px 50px rgba(82,61,22,.1)}.project-card-large .project-visual,.project-visual{aspect-ratio:16/9}.project-card-tall .project-visual{aspect-ratio:4/5}.project-visual img{display:block;width:100%;height:100%;min-height:0;padding:0;object-fit:cover;transition:transform .72s cubic-bezier(.16,.74,.18,1)}.character-visual img,.map-visual img{padding:5%;object-fit:contain;background:rgba(255,255,255,.58)}.project-card.is-active .project-visual,.project-card:hover .project-visual{transform:translateY(-8px);box-shadow:16px 18px 0 rgba(24,22,18,.1)}.project-card.is-active .project-visual img,.project-card:hover .project-visual img{transform:scale(1.045)}.doorway-visual span{position:absolute;right:0;top:0;z-index:2;background:var(--selection);padding:2px 7px;color:#111;font-size:12px;text-transform:uppercase}.loop-visual,.quant-visual,.story-visual{align-content:stretch}.project-meta{font-size:clamp(11px,.85vw,13px)}.sticky-words{height:360svh}.sticky-words-inner{overflow:hidden;color:var(--ink);background:radial-gradient(circle at calc(var(--pointer-x) * 100%) calc(var(--pointer-y) * 100%),rgba(106,151,255,.18),transparent 22rem),transparent}.sticky-words-inner span{opacity:1;transform:none}.portfolio-home .site-footer{overflow:hidden}.footer-headline{position:relative;z-index:2}@media (max-width:900px){.sticker-layer{display:none}.source-hero{min-height:100svh;padding-top:88px;padding-bottom:34px}.hero-intro{gap:18px}.hero-title-panel{min-height:clamp(340px,72vw,420px)}.three-title-stage{grid-column:1;min-height:clamp(260px,68vw,340px);margin-top:-24px}.hero-display-copy{left:clamp(14px,4vw,24px);right:clamp(14px,4vw,24px);top:clamp(156px,40vw,196px);bottom:auto;width:auto;padding-left:0;font-size:clamp(39px,11vw,54px);line-height:.88}.hero-display-copy span:nth-child(2),.hero-display-copy span:nth-child(3){margin-left:0}.sticky-words-inner{padding-inline:clamp(10px,3vw,18px);font-size:clamp(38px,11vw,52px);line-height:.95}.hero-note,.project-card:nth-child(2n),.project-card:nth-child(3n){margin-top:0}.project-card-tall .project-visual{aspect-ratio:16/10}}.portfolio-home{--ink:#000;--muted:rgba(54,54,48,0.6);--hairline:rgba(54,54,48,0.14);--selection:#c0fe04;--paper:#fbfaf4;background:radial-gradient(circle at 48% 46%,rgba(255,254,232,.84),transparent 27rem),radial-gradient(circle at 70% 30%,rgba(176,211,255,.68),transparent 30rem),linear-gradient(128deg,#dcecff,#fbfaf4 42%,#fff8dc);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.portfolio-home .shader-canvas{opacity:.26;mix-blend-mode:soft-light}.portfolio-home .site-grain{opacity:.15}.portfolio-home .site-grid-overlay{z-index:1;opacity:.6;background-image:linear-gradient(rgba(54,54,48,.12) 1px,transparent 0),linear-gradient(90deg,rgba(54,54,48,.12) 1px,transparent 0);background-size:calc(100vw / 3) calc(100vh / 3);mix-blend-mode:multiply}.portfolio-home .site-grid-overlay:before{background-image:radial-gradient(circle at calc(33.333vw) calc(33.333vh),rgba(54,54,48,.5) 0 1px,transparent 2px),radial-gradient(circle at calc(66.666vw) calc(33.333vh),rgba(54,54,48,.5) 0 1px,transparent 2px),radial-gradient(circle at calc(33.333vw) calc(66.666vh),rgba(54,54,48,.5) 0 1px,transparent 2px),radial-gradient(circle at calc(66.666vw) calc(66.666vh),rgba(54,54,48,.5) 0 1px,transparent 2px)}.portfolio-home .pointer-hud,.portfolio-home .site-bottom-hud,.portfolio-home .site-hud{font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;color:var(--ink)}.portfolio-home .site-hud{min-height:96px;padding:28px 56px;font-size:14px;z-index:50}.portfolio-home .brand{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:900;text-transform:uppercase}.portfolio-home .brand-mark{border-width:2px}.portfolio-home .hud-meta,.portfolio-home .hud-nav{font-size:14px}.portfolio-home .site-bottom-hud{left:56px;right:56px;bottom:28px;z-index:50;font-size:14px;color:var(--ink)}.portfolio-home .pointer-hud{bottom:28px;z-index:51;color:var(--ink)}.source-hero{grid-template-rows:auto 1fr;min-height:100svh;padding:96px 56px;overflow:hidden}.hero-intro{grid-column:1/-1;z-index:8}.hero-intro span:first-child{font-size:clamp(28px,2.4vw,38px);font-weight:760;line-height:1}.hero-intro p,.hero-intro span:nth-child(2),.hero-note{font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;color:var(--ink);font-size:clamp(14px,1.15vw,18px);line-height:1.45}.hero-title-panel{grid-column:1/-1;align-self:stretch;min-height:0}.hero-note,.hero-title-panel .section-kicker{display:none}.three-title-stage{position:absolute;z-index:2;inset:12% -4% 13% 10%;min-height:0;margin:0;opacity:.9;pointer-events:auto}.three-title-stage canvas{filter:drop-shadow(0 28px 44px rgba(65,100,140,.18)) saturate(.96) contrast(.92)}.hero-display-copy{left:0;top:auto;bottom:2px;z-index:6;width:min(980px,78vw);padding-left:0;color:var(--ink);font-size:clamp(62px,6.2vw,118px);font-weight:950;line-height:.98;letter-spacing:0}.hero-display-copy span:nth-child(2),.hero-display-copy span:nth-child(3){margin-left:0}.floating-sticker{z-index:4;width:clamp(74px,7vw,118px);filter:drop-shadow(0 12px 10px rgba(18,31,45,.12)) saturate(.9)}.sticker-pin{top:3%;left:17%}.sticker-star{right:10%;bottom:7%}.sticker-cursor{top:57%;right:3%}.portfolio-home .process-section,.portfolio-home .site-footer,.statement-section,.work-section{background:transparent}.footer-headline,.portfolio-home .process-section p,.statement-copy p,.work-heading h2{color:var(--ink);font-weight:900;letter-spacing:0}.work-heading h2{max-width:min(100%,900px);font-size:clamp(40px,5.8vw,84px);line-height:.98}.project-visual{border-color:rgba(54,54,48,.16);background:rgba(251,250,244,.74);box-shadow:none}.project-card.is-active .project-visual,.project-card:hover .project-visual{box-shadow:12px 12px 0 rgba(0,0,0,.08)}.character-visual span,.doorway-visual span,.map-visual span{background:var(--selection);color:#000;font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace}@media (max-width:900px){.portfolio-home .site-hud{min-height:88px;padding:18px 24px}.source-hero{min-height:100svh;padding:102px 24px 58px}.hero-intro{gap:18px}.hero-intro span:first-child{font-size:clamp(28px,8vw,40px)}.hero-title-panel{min-height:44svh}.three-title-stage{inset:28% -40% 2% -20%;opacity:.82}.hero-display-copy{left:0;right:0;bottom:10px;width:100%;font-size:clamp(43px,13.2vw,58px);line-height:.96}.portfolio-home .pointer-hud,.site-bottom-hud{display:none}.sticky-words-inner{font-size:clamp(38px,10.6vw,52px)}}.speed-section{min-height:270svh;overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(192,254,4,.1),transparent 18rem),linear-gradient(135deg,#08090b,#102135 58%,#050506);color:#fffaf0;isolation:isolate}.speed-section:before{content:"";background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 0);opacity:.55}.speed-field{position:-webkit-sticky;position:sticky;top:0;height:100svh;margin-top:0;pointer-events:none;perspective:700px}.speed-field span{position:absolute;left:50%;top:50%;width:clamp(110px,18vw,280px);height:5px;border-radius:999px;background:linear-gradient(90deg,transparent,#c9fbff 28%,#bfc6ff 76%,transparent);box-shadow:0 0 18px rgba(184,235,255,.58);transform-origin:0 50%;animation:speed-line 2.1s linear infinite;opacity:.82}.speed-field span:nth-child(3n){background:linear-gradient(90deg,transparent,#c0fe04,#fff3b0 72%,transparent)}.speed-field span:nth-child(4n){width:clamp(150px,25vw,360px);opacity:.62}.speed-field span:first-child{transform:rotate(8deg) translateX(80px);animation-delay:-.1s}.speed-field span:nth-child(2){transform:rotate(22deg) translateX(160px);animation-delay:-.7s}.speed-field span:nth-child(3){transform:rotate(38deg) translateX(70px);animation-delay:-1.1s}.speed-field span:nth-child(4){transform:rotate(54deg) translateX(220px);animation-delay:-1.5s}.speed-field span:nth-child(5){transform:rotate(72deg) translateX(110px);animation-delay:-2s}.speed-field span:nth-child(6){transform:rotate(94deg) translateX(180px);animation-delay:-.4s}.speed-field span:nth-child(7){transform:rotate(111deg) translateX(90px);animation-delay:-1.8s}.speed-field span:nth-child(8){transform:rotate(132deg) translateX(200px);animation-delay:-1.2s}.speed-field span:nth-child(9){transform:rotate(149deg) translateX(140px);animation-delay:-.9s}.speed-field span:nth-child(10){transform:rotate(166deg) translateX(230px);animation-delay:-1.7s}.speed-field span:nth-child(11){transform:rotate(188deg) translateX(80px);animation-delay:-.3s}.speed-field span:nth-child(12){transform:rotate(207deg) translateX(190px);animation-delay:-1.6s}.speed-field span:nth-child(13){transform:rotate(224deg) translateX(130px);animation-delay:-.8s}.speed-field span:nth-child(14){transform:rotate(239deg) translateX(210px);animation-delay:-1.4s}.speed-field span:nth-child(15){transform:rotate(254deg) translateX(90px);animation-delay:-2.1s}.speed-field span:nth-child(16){transform:rotate(271deg) translateX(170px);animation-delay:-.5s}.speed-field span:nth-child(17){transform:rotate(286deg) translateX(250px);animation-delay:-1.9s}.speed-field span:nth-child(18){transform:rotate(302deg) translateX(110px);animation-delay:-.2s}.speed-field span:nth-child(19){transform:rotate(318deg) translateX(200px);animation-delay:-1.3s}.speed-field span:nth-child(20){transform:rotate(334deg) translateX(150px);animation-delay:-.6s}.speed-field span:nth-child(21){transform:rotate(347deg) translateX(260px);animation-delay:-1.75s}.speed-field span:nth-child(22){transform:rotate(15deg) translateX(300px);animation-delay:-.95s}.speed-field span:nth-child(23){transform:rotate(61deg) translateX(320px);animation-delay:-1.25s}.speed-field span:nth-child(24){transform:rotate(121deg) translateX(300px);animation-delay:-1.55s}.speed-field span:nth-child(25){transform:rotate(281deg) translateX(310px);animation-delay:-.35s}@keyframes speed-line{0%{opacity:0;translate:0 0;scale:.2 1}12%{opacity:.84}to{opacity:0;translate:52vw 0;scale:1.6 1}}.speed-copy{position:-webkit-sticky;position:sticky;top:0;z-index:2;min-height:100svh;margin-top:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(52px,8.6vw,150px);font-weight:950}.principle-section{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:clamp(18px,3vw,42px);gap:clamp(18px,3vw,42px);min-height:100svh;padding:clamp(92px,12vw,168px) clamp(16px,4.4vw,56px);overflow:hidden}.principle-section p{position:relative;z-index:2;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(24px,3vw,48px);font-weight:780;line-height:1.08}.principle-section p:first-of-type{grid-column:2/6;align-self:center}.principle-section p:nth-of-type(2){grid-column:4/8;align-self:end}.principle-section p:nth-of-type(3){grid-column:8/-1;align-self:start}.principle-section p:nth-of-type(4){grid-column:9/-1;align-self:center}.principle-orbit{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.principle-orbit span{position:absolute;width:clamp(240px,40vw,620px);aspect-ratio:5/1;border:2px solid rgba(192,254,4,.72);border-radius:999px;transform:rotate(var(--orbit-rotate,0deg))}.principle-orbit span:nth-child(2){--orbit-rotate:10deg;width:clamp(210px,34vw,540px)}.principle-orbit span:nth-child(3){--orbit-rotate:-10deg;width:clamp(180px,28vw,430px)}.terminal-footer:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 48%,rgba(184,207,255,.38),transparent 28rem),radial-gradient(circle at 72% 28%,rgba(192,254,4,.2),transparent 18rem);pointer-events:none}.footer-three-title{position:absolute;inset:12% 6% auto;z-index:1;color:rgba(132,160,255,.2);font-family:ui-rounded,Arial Rounded MT Bold,Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(88px,18vw,290px);font-weight:950;line-height:.78;letter-spacing:0;text-align:center;text-transform:lowercase;filter:blur(.2px) drop-shadow(0 26px 32px rgba(70,90,160,.2));pointer-events:none}.project-page{min-height:100svh;padding:120px clamp(18px,5vw,72px) 96px;background:radial-gradient(circle at 70% 12%,rgba(176,211,255,.58),transparent 26rem),linear-gradient(128deg,#e7f1ff,#fbfaf4 42%,#fff7df);color:#050505;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.project-grid-overlay{z-index:0;opacity:.46}.project-detail-hud,.project-footer-hud{position:fixed;z-index:20;display:flex;align-items:center;justify-content:space-between;font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:14px;color:#050505;pointer-events:none}.project-detail-hud{left:0;right:0;top:0;min-height:96px;padding:28px 56px}.project-detail-hud a,.project-footer-hud a{pointer-events:auto}.project-detail-hud nav{display:flex;gap:clamp(20px,4vw,58px)}.project-footer-hud{left:56px;right:56px;bottom:28px}.project-article{position:relative;z-index:2;width:min(100%,960px);margin:0 auto}.project-kind{margin:0 0 18px;color:rgba(54,54,48,.58);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;text-transform:uppercase}.project-article h1{margin:0;font-size:clamp(54px,8vw,124px);font-weight:950;line-height:.86;letter-spacing:0}.project-date-row{display:flex;justify-content:space-between;gap:22px;margin:22px 0 36px;padding:18px 0;border-block:1px solid rgba(54,54,48,.18);color:rgba(54,54,48,.68);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace}.project-summary{max-width:850px;margin:0 0 46px;font-size:clamp(22px,3vw,42px);font-weight:720;line-height:1.08}.project-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px;margin:44px 0}.project-figure-grid figure{display:grid;grid-gap:12px;gap:12px;margin:0}.project-figure-grid img{width:100%;aspect-ratio:16/11;object-fit:contain;padding:18px;border:1px solid rgba(54,54,48,.16);background:rgba(251,250,244,.72)}.project-figure-grid figcaption{color:rgba(54,54,48,.62);font-size:13px;line-height:1.4}.project-metadata{margin:62px 0;padding:clamp(22px,3vw,34px);border:1px solid rgba(54,54,48,.14);background:rgba(255,255,255,.46);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.project-metadata h2{margin:0 0 26px;font-size:18px}.project-metadata dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:28px;gap:28px;margin:0}.project-metadata div:last-child{grid-column:1/-1;padding-top:24px;border-top:1px dashed rgba(54,54,48,.2)}.project-metadata dt{margin-bottom:12px;font-weight:760}.project-metadata dd{display:grid;grid-gap:8px;gap:8px;margin:0;color:rgba(54,54,48,.72);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace}.project-toc{position:-webkit-sticky;position:sticky;top:110px;display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 52px;z-index:5}.project-toc a{padding:6px 10px;background:#c0fe04;color:#050505;font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:12px;text-transform:uppercase}.project-copy-section{margin:72px 0;scroll-margin-top:128px}.project-copy-section h2{margin:0 0 18px;font-size:clamp(30px,4.8vw,68px);font-weight:900;line-height:.95}.project-copy-section p{margin:0 0 18px;color:rgba(24,22,18,.72);font-size:clamp(17px,1.6vw,22px);line-height:1.65}.project-copy-section pre{overflow:auto;margin:26px 0 0;padding:18px;border:1px solid rgba(54,54,48,.16);background:rgba(5,5,5,.88);color:#fff8df;font-size:14px;line-height:1.55}@media (max-width:900px){.speed-copy{font-size:clamp(42px,13vw,72px)}.principle-section{grid-template-columns:1fr;min-height:auto}.principle-section p,.principle-section p:nth-of-type(n){grid-column:1}.project-page{padding:104px 24px 76px}.project-detail-hud{min-height:84px;padding:24px}.project-detail-hud nav a:nth-child(2){display:none}.project-footer-hud{left:24px;right:24px;font-size:12px}.project-figure-grid,.project-metadata dl{grid-template-columns:1fr}.project-metadata div:last-child{grid-column:1}}.three-title-stage{inset:7% -2% 9% 2%;opacity:1}.source-hero{padding-top:clamp(132px,15vh,156px)}.three-title-stage canvas{filter:drop-shadow(0 34px 46px rgba(76,105,132,.16)) drop-shadow(0 14px 20px rgba(255,255,255,.5)) saturate(.9) contrast(.98)}.hero-display-copy{left:clamp(18px,4.4vw,56px);bottom:clamp(28px,5vh,54px);z-index:1;width:min(440px,70vw);color:rgba(22,19,15,.64);font-family:SF Mono,Cascadia Mono,Roboto Mono,ui-monospace,Menlo,Consolas,monospace;font-size:clamp(12px,1.05vw,16px);font-weight:560;line-height:1.35;text-transform:none;text-shadow:none;opacity:.78}.hero-display-copy span,.hero-display-copy span:nth-child(2),.hero-display-copy span:nth-child(3){margin-left:0}.hero-display-copy span:after{content:" / "}.hero-display-copy span:last-child:after{content:""}.speed-section{--speed-progress:0;--speed-burst:0;--speed-grid-opacity:0.28;--speed-vignette-opacity:0.88;--speed-sticky-glow-opacity:0.38;--speed-title-opacity:1;--speed-title-scale:0.92;--speed-title-y:0px;--speed-principle-opacity:0;--speed-principle-y:30px;--speed-ring-opacity:0;--speed-ring-scale:0.86;--speed-ring-y:70px;--speed-ring-rotate:0deg;position:relative;height:390svh;min-height:390svh;overflow:visible;background:radial-gradient(circle at 50% 50%,rgba(0,0,0,.92),rgba(0,0,0,.98) 34rem),linear-gradient(135deg,#096a99,#04111e 42%,#000);color:#fff}.speed-section:before{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.15) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 0);background-size:calc(100vw / 3) calc(100vh / 3);opacity:var(--speed-grid-opacity);mix-blend-mode:screen}.speed-section:after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 50%,transparent 0 9rem,rgba(0,0,0,.52) 15rem,transparent 40rem),linear-gradient(100deg,rgba(9,106,153,.8),transparent 42%);opacity:var(--speed-vignette-opacity);pointer-events:none}.speed-sticky{position:-webkit-sticky;position:sticky;top:0;z-index:1;height:100svh;overflow:hidden;isolation:isolate}.speed-sticky:before{content:"";position:absolute;inset:-12%;z-index:0;background:radial-gradient(circle at 50% 50%,rgba(0,213,255,.18),transparent 18rem),radial-gradient(circle at calc(var(--pointer-x, .5) * 100%) calc(var(--pointer-y, .5) * 100%),rgba(192,254,4,.18),transparent 18rem);opacity:var(--speed-sticky-glow-opacity);filter:blur(4px);pointer-events:none}.speed-field{position:absolute;inset:0;z-index:1;height:auto;margin:0;overflow:hidden;perspective:900px;transform:translate3d(calc((var(--pointer-x, .5) - .5) * -26px),calc((var(--pointer-y, .5) - .5) * -18px),0)}.speed-section .speed-field span{position:absolute;left:50%;top:50%;z-index:1;width:var(--speed-line-width,220px);height:var(--speed-line-height,5px);border-radius:999px;background:var(--speed-line-color,#41e9ff);box-shadow:0 0 12px currentColor,0 0 34px color-mix(in srgb,currentColor 58%,transparent);transform-origin:0 50%;animation:none!important;opacity:0;will-change:transform,opacity,width}.speed-copy{position:absolute;inset:0;z-index:4;display:grid;place-items:center;min-height:0;margin:0;padding:clamp(70px,10vw,132px) clamp(18px,5vw,70px);color:#fff;font-size:clamp(58px,8vw,142px);font-weight:920;line-height:.9;text-align:center;text-transform:uppercase;opacity:var(--speed-title-opacity);transform:translate3d(0,var(--speed-title-y),0) scale(var(--speed-title-scale));transition:none;mix-blend-mode:screen;pointer-events:none}.speed-copy span{display:block;text-shadow:0 0 18px rgba(255,255,255,.18),0 10px 40px rgba(0,0,0,.3)}.speed-rings{position:absolute;inset:0;z-index:5;display:grid;place-items:center;opacity:var(--speed-ring-opacity);transform:translate3d(0,var(--speed-ring-y),0) scale(var(--speed-ring-scale));pointer-events:none}.speed-rings span{position:absolute;width:clamp(170px,23vw,430px);aspect-ratio:6/1;border:3px solid var(--selection);border-radius:999px;box-shadow:0 0 14px rgba(192,254,4,.56),inset 0 0 18px rgba(192,254,4,.2);transform:translateY(var(--ring-y,0)) rotateX(66deg) rotate(calc(var(--speed-ring-rotate) + var(--ring-offset, 0deg)))}.speed-rings span:first-child{--ring-y:-28vh;--ring-offset:-12deg}.speed-rings span:nth-child(2){--ring-y:-14vh;--ring-offset:-6deg}.speed-rings span:nth-child(3){--ring-y:0vh;--ring-offset:0deg}.speed-rings span:nth-child(4){--ring-y:14vh;--ring-offset:6deg}.speed-rings span:nth-child(5){--ring-y:28vh;--ring-offset:12deg}.speed-principles{position:absolute;inset:0;z-index:6;color:#fff;opacity:var(--speed-principle-opacity);transform:translate3d(0,var(--speed-principle-y),0);pointer-events:none}.speed-principles p{position:absolute;max-width:min(520px,38vw);margin:0;font-size:clamp(28px,3.3vw,58px);font-weight:660;line-height:1.12;text-shadow:0 0 24px rgba(0,0,0,.48)}.speed-principles p:first-child{left:11vw;bottom:24vh}.speed-principles p:nth-child(2){left:28vw;bottom:9vh}.speed-principles p:nth-child(3){right:28vw;top:25vh}.speed-principles p:nth-child(4){right:12vw;top:42vh}.drag-cursor,.drag-trail-bit{position:fixed;left:0;top:0;z-index:90;pointer-events:none}.drag-cursor{width:16px;height:16px;border:1px solid rgba(0,0,0,.32);background:var(--selection);box-shadow:0 0 0 1px rgba(255,255,255,.34),0 0 18px rgba(192,254,4,.38);opacity:0;transform:translate3d(calc(var(--cursor-x, 50vw) - 8px),calc(var(--cursor-y, 50vh) - 8px),0) scale(var(--cursor-scale,1));transition:opacity .18s ease,transform 70ms linear;mix-blend-mode:difference}body[data-state=home].is-pointer-active .drag-cursor,body[data-state=home].is-pointer-dragging .drag-cursor{opacity:.96}body.is-pointer-dragging .drag-cursor{--cursor-scale:0.72}.drag-trail-layer{position:fixed;inset:0;z-index:89;overflow:hidden;pointer-events:none}.drag-trail-bit{width:var(--trail-size,22px);height:var(--trail-size,22px);background:var(--selection);opacity:.75;transform:translate3d(var(--trail-x),var(--trail-y),0) rotate(var(--trail-rotate,0deg));animation:drag-trail-out .68s cubic-bezier(.16,.74,.18,1) forwards;mix-blend-mode:multiply}@keyframes drag-trail-out{to{opacity:0;transform:translate3d(calc(var(--trail-x) + var(--trail-dx, 20px)),calc(var(--trail-y) + var(--trail-dy, -20px)),0) rotate(var(--trail-rotate,0deg)) scale(.24)}}body.is-pointer-dragging .floating-sticker{filter:drop-shadow(0 18px 16px rgba(18,31,45,.18)) saturate(1.08)}@media (max-width:900px){.three-title-stage{inset:20% -20% 6% -18%}.source-hero{padding-top:116px}.hero-display-copy{left:24px;bottom:28px;width:min(310px,calc(100vw - 48px));font-size:12px}.speed-section{height:330svh;min-height:330svh}.speed-copy{font-size:clamp(42px,13vw,72px)}.speed-principles p{max-width:74vw;font-size:clamp(24px,8vw,38px)}.speed-principles p:first-child{left:24px;bottom:28vh}.speed-principles p:nth-child(2){left:24px;bottom:10vh}.speed-principles p:nth-child(3){right:24px;top:21vh}.speed-principles p:nth-child(4){right:24px;top:42vh}.drag-cursor,.drag-trail-layer{display:none}}.three-title-stage{--wordmark-tilt-x:-3deg;--wordmark-tilt-y:-4deg;--wordmark-roll:-1.2deg;--wordmark-shift-x:0px;--wordmark-shift-y:0px;--wordmark-scale:1;--wordmark-gloss-x:-10px;--wordmark-gloss-y:-16px;--wordmark-group-x:-84px;--wordmark-group-y:-12px;grid-column:1/-1;inset:2% -4% 10% -2%;z-index:3;isolation:isolate;perspective:1200px}.three-title-stage canvas{opacity:0;visibility:hidden}.wordmark-floor{left:10%;right:4%;top:61%;z-index:1;height:clamp(74px,8vw,132px);border-radius:50%;background:radial-gradient(ellipse at center,rgba(134,164,192,.18),rgba(134,164,192,.07) 42%,transparent 72%);filter:blur(10px);transform:translate3d(calc(var(--wordmark-shift-x) * .35),calc(var(--wordmark-shift-y) * .24),0) rotate(-1deg)}.script-wordmark-svg,.wordmark-floor{position:absolute;pointer-events:none}.script-wordmark-svg{inset:-6% -3% -4% -4%;z-index:2;width:108%;height:110%;overflow:visible;transform-origin:52% 53%;transform:translate3d(var(--wordmark-shift-x),var(--wordmark-shift-y),0) perspective(1200px) rotateX(var(--wordmark-tilt-x)) rotateY(var(--wordmark-tilt-y)) rotate(var(--wordmark-roll)) scale(var(--wordmark-scale));filter:drop-shadow(0 26px 30px rgba(109,134,158,.18)) drop-shadow(0 8px 10px rgba(255,255,255,.78));transition:filter .22s ease;will-change:transform}.script-wordmark-group text{font-family:Snell Roundhand,SnellRoundhand,Apple Chancery,Brush Script,cursive;font-size:236px;font-weight:500;font-style:normal;font-feature-settings:common-ligatures discretionary-ligatures;font-variant-ligatures:common-ligatures discretionary-ligatures;letter-spacing:0;line-height:1;dominant-baseline:alphabetic;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;paint-order:stroke fill;shape-rendering:geometricPrecision}.script-wordmark-group{transform:translate(var(--wordmark-group-x),var(--wordmark-group-y))}.script-wordmark-shadow{fill:transparent;stroke:rgba(106,132,156,.22);stroke-width:34px;opacity:.32;transform:translateY(34px) scale(1.01,.92);filter:blur(8px)}.script-wordmark-depth{fill:transparent;stroke:rgba(177,198,215,.34);stroke-width:27px}.depth-4{opacity:.34;transform:translate(12px,18px)}.depth-3{opacity:.38;transform:translate(8px,13px)}.depth-2{opacity:.43;transform:translate(5px,8px)}.depth-1{opacity:.5;transform:translate(2px,4px)}.script-wordmark-main{fill:url(#joiPearlFill);stroke:url(#joiPearlEdge);stroke-width:26px;filter:drop-shadow(8px 12px 0 rgba(164,185,203,.18)) drop-shadow(0 17px 18px rgba(110,135,160,.18)) drop-shadow(-5px -5px 0 rgba(255,255,255,.72))}.script-wordmark-gloss{fill:transparent;stroke:rgba(255,255,255,.74);stroke-width:5px;stroke-dasharray:118 1220;stroke-linecap:round;opacity:.62;mix-blend-mode:screen}.gloss-a{transform:translate(var(--wordmark-gloss-x),var(--wordmark-gloss-y))}.gloss-b{stroke-width:3px;stroke-dasharray:56 980;opacity:.42;transform:translate(24px,-32px)}.script-wordmark-group .script-wordmark-tail-depth,.script-wordmark-group .script-wordmark-tail-gloss,.script-wordmark-group .script-wordmark-tail-main{font-family:Apple Chancery,Snell Roundhand,SnellRoundhand,Brush Script,cursive;font-size:286px}.script-wordmark-group .script-wordmark-tail-depth{stroke:rgba(132,158,181,.42);stroke-width:42px;opacity:.7}.script-wordmark-group .script-wordmark-tail-main{fill:#fbfdff;stroke:rgba(159,181,200,.72);stroke-width:42px;filter:drop-shadow(10px 14px 0 rgba(133,157,181,.2)) drop-shadow(0 18px 20px rgba(98,122,148,.22)) drop-shadow(-5px -5px 0 rgba(255,255,255,.82))}.script-wordmark-group .script-wordmark-tail-gloss{stroke-dasharray:44 240;transform:translate(-7px,-17px)}.script-wordmark-group .script-wordmark-tail-depth,.script-wordmark-group .script-wordmark-tail-gloss,.script-wordmark-group .script-wordmark-tail-main{opacity:0}.script-wordmark-i-tube{filter:drop-shadow(9px 14px 0 rgba(133,157,181,.2)) drop-shadow(0 18px 22px rgba(98,122,148,.22)) drop-shadow(-5px -5px 0 rgba(255,255,255,.8))}.i-tube-body{fill:url(#joiPearlFill);stroke:rgba(157,181,202,.64);stroke-width:9px}.i-tube-highlight{fill:none;stroke:rgba(255,255,255,.8);stroke-width:6px;stroke-linecap:round}.i-tube-glint{fill:rgba(255,255,255,.86)}.three-title-fallback{font-family:Snell Roundhand,SnellRoundhand,Apple Chancery,Brush Script,cursive;font-size:clamp(104px,19vw,258px);font-weight:500;text-transform:lowercase}.three-title-stage.is-script-wordmark-ready .three-title-fallback,.three-title-stage.is-three-ready .three-title-fallback{opacity:0}.three-title-stage:hover .script-wordmark-svg{filter:drop-shadow(0 34px 40px rgba(109,134,158,.22)) drop-shadow(0 9px 14px rgba(255,255,255,.86))}@media (max-width:900px){.three-title-stage{grid-column:1/-1;inset:23% -20% 12% -18%}.script-wordmark-svg{inset:-4% -8% 0 -8%;width:116%;height:104%}.script-wordmark-group text{font-size:226px}.wordmark-floor{left:13%;right:6%;top:60%;height:74px}}.work-heading-note{grid-column:5/-2;max-width:640px;margin:clamp(4px,.8vw,10px) 0 0;color:rgba(31,29,24,.62);font-size:clamp(15px,1.4vw,20px);line-height:1.55}.work-section{padding-top:clamp(84px,9vw,132px)}.work-section .work-heading{margin-bottom:clamp(24px,3.6vw,48px)}.work-section .work-heading h2{max-width:780px;font-size:clamp(38px,5vw,68px);line-height:1}.two-project-grid{align-items:stretch;gap:clamp(16px,2.2vw,34px)}.experience-card,.experience-card:nth-child(2n),.experience-card:nth-child(3n){margin-top:0}.experience-card-app{grid-column:1/7}.experience-card-map{grid-column:7/-1}.experience-card .project-card-link{position:relative;display:grid;grid-template-rows:minmax(280px,.78fr) 1fr;min-height:clamp(560px,55vw,700px);overflow:hidden;color:inherit;border:1px solid rgba(31,27,20,.15);border-radius:8px;background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.95),transparent 22rem),linear-gradient(145deg,rgba(255,252,239,.92),rgba(232,244,255,.72) 52%,rgba(255,231,210,.58));box-shadow:0 30px 80px rgba(90,73,45,.12);transition:transform .42s cubic-bezier(.16,.74,.18,1),box-shadow .42s ease,border-color .42s ease}.experience-card-map .project-card-link{background:radial-gradient(circle at 78% 12%,rgba(255,234,190,.9),transparent 18rem),linear-gradient(145deg,rgba(255,250,238,.96),rgba(232,248,242,.72) 48%,rgba(217,237,255,.7))}.experience-card .project-card-link:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(31,27,20,.055) 1px,transparent 0),linear-gradient(0deg,rgba(31,27,20,.04) 1px,transparent 0);background-size:72px 72px;opacity:.44}.experience-card .project-card-link:after{content:"";position:absolute;inset:auto -18% 43% -18%;height:120px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.66),transparent);opacity:0;transform:rotate(-7deg) translateY(32px);transition:opacity .42s ease,transform .62s cubic-bezier(.16,.74,.18,1)}.experience-card.is-active .project-card-link,.experience-card:hover .project-card-link{transform:translateY(-8px);border-color:rgba(31,27,20,.25);box-shadow:0 34px 88px rgba(78,62,35,.18)}.experience-card.is-active .project-card-link:after,.experience-card:hover .project-card-link:after{opacity:1;transform:rotate(-7deg) translateY(-34px)}.experience-card .experience-visual,.experience-card.is-active .experience-visual,.experience-card:hover .experience-visual{min-height:auto;aspect-ratio:auto;border:0;border-radius:0;background:radial-gradient(circle at 52% 44%,rgba(255,255,255,.9),transparent 14rem),transparent;box-shadow:none;transform:none}.experience-card .experience-visual img{position:relative;z-index:1;width:100%;height:100%;padding:clamp(22px,3vw,54px) clamp(26px,4vw,66px) 0;object-fit:contain;object-position:center bottom;background:transparent;filter:drop-shadow(0 22px 34px rgba(83,62,36,.17));transform:translateY(8px) scale(1)}.experience-card.is-active .experience-visual img,.experience-card:hover .experience-visual img{transform:translateY(0) scale(1.025)}.experience-card .experience-visual span{z-index:2;top:clamp(14px,1.4vw,22px);right:clamp(14px,1.4vw,22px);color:#181612;border:1px solid rgba(31,27,20,.16);border-radius:999px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px 10px;font-size:11px}.experience-card-body{position:relative;z-index:1;display:grid;align-content:end;grid-gap:clamp(14px,1.6vw,22px);gap:clamp(14px,1.6vw,22px);padding:clamp(20px,3vw,42px);border-top:1px solid rgba(31,27,20,.11);background:rgba(255,253,246,.64);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.experience-card .project-meta{margin:0;color:rgba(31,29,24,.74)}.experience-card h3{max-width:720px;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(30px,4vw,58px);font-weight:780;line-height:.96;letter-spacing:0}.experience-card p{max-width:620px;margin:0;color:rgba(31,29,24,.66);font-size:clamp(14px,1.15vw,17px);line-height:1.55}.experience-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:clamp(2px,.4vw,8px)}.experience-flow span{display:grid;min-height:48px;place-items:center;padding:9px 8px;color:rgba(31,29,24,.78);border:1px solid rgba(31,27,20,.12);border-radius:8px;background:rgba(255,255,255,.48);font-size:clamp(11px,.95vw,13px);text-align:center;text-transform:uppercase}.experience-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:clamp(8px,1vw,14px);color:rgba(31,29,24,.9);border-top:1px solid rgba(31,27,20,.1);font-size:clamp(12px,1vw,14px);text-transform:uppercase}.experience-actions span:first-child{color:#111;font-weight:740}.experience-actions span:first-child:after{content:"";display:inline-block;width:22px;height:1px;margin-left:10px;vertical-align:middle;background:currentColor;transform-origin:left center;transition:transform .28s ease}.experience-card.is-active .experience-actions span:first-child:after,.experience-card:hover .experience-actions span:first-child:after{transform:scaleX(1.45)}@media (max-width:980px){.experience-card-app,.experience-card-map,.work-heading h2,.work-heading span,.work-heading-note{grid-column:1/-1}.work-heading-note{max-width:620px}.experience-card .project-card-link{min-height:auto;grid-template-rows:minmax(300px,48vw) auto}}@media (max-width:620px){.experience-card .project-card-link{grid-template-rows:minmax(260px,70vw) auto}.experience-card .experience-visual img{padding:26px 18px 0}.experience-flow{grid-template-columns:1fr}.experience-actions{align-items:flex-start;flex-direction:column}}