@font-face{font-family:Plex Mono;src:url(/fonts/ibm-plex-mono.woff2)format("woff2");font-weight:400 500;font-style:normal;font-display:swap}:root{--page-edge:clamp(28px,4.5vw,88px);--project-drawer-width:clamp(420px,40vw,640px);--ink:#e6e8e4;--muted:#abb2b5;--gold:#edd7a6}*{box-sizing:border-box}html{scrollbar-width:thin;scrollbar-color:#5b626766 #101820;scrollbar-gutter:stable;background:#101820;width:100%;margin:0}body{width:100%;min-width:280px;color:var(--ink);-webkit-font-smoothing:antialiased;background:#101820;margin:0;font-family:Plex Mono,monospace;font-size:13px;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:0}a:focus-visible,button:focus-visible{outline:1px solid var(--gold);outline-offset:7px}p,h1,h2{font:inherit;margin:0}.section-label{letter-spacing:.09em;color:var(--gold);font-family:Plex Mono,monospace;font-size:10px;font-weight:400;line-height:1.6}.experience{isolation:isolate;position:relative}.scroll-length{pointer-events:none;height:230svh;min-height:900px}.poster,.scene-host,.interface{height:100svh;position:fixed;inset:0}.poster{opacity:0;pointer-events:none;transition:opacity .5s}.is-ready .poster{opacity:0}.has-scene-error .poster{opacity:.28;background:url(/scene/canonical-poster.webp) 50%/cover no-repeat}.scene-host{opacity:0;pointer-events:none;transition:opacity .35s}.is-ready .scene-host{opacity:1}.scene-host canvas{pointer-events:none;outline:none;width:100%;height:100%;display:block}.intro-complete:not(.projects-visible) .scene-host,.intro-complete:not(.projects-visible) .scene-host canvas{pointer-events:auto;touch-action:pan-y}.interface{z-index:2;pointer-events:none}.experience-footer{z-index:1;background:#101820b0;border-top:1px solid #edd7a626;padding-top:30px;position:relative}.section-redirect{min-height:100svh;color:var(--gold);place-items:center;display:grid}.identity{right:var(--page-edge);text-align:right;isolation:isolate;text-shadow:0 2px 3px #0c141c,0 0 10px #0c141cbf;opacity:0;transition:opacity .3s;position:absolute;top:clamp(30px,6.6svh,76px)}.identity:before{content:"";z-index:-1;filter:blur(8px);pointer-events:none;background:#0c141ceb;border-radius:16px;position:absolute;inset:-12px -16px;box-shadow:0 0 18px 12px #0c141ca6}.intro-complete .identity{opacity:1}.identity h1{letter-spacing:-.055em;font-size:clamp(17px,1.8vw,25px);line-height:1.2}.identity p{color:var(--muted);letter-spacing:.02em;margin-top:12px;font-size:10px;line-height:1.5}.scroll-cue{left:var(--page-edge);pointer-events:auto;align-items:flex-end;gap:22px;font-size:13px;line-height:1.45;transition:color .2s;display:flex;position:absolute;bottom:clamp(38px,8svh,90px)}.scroll-cue:hover{color:var(--gold)}.scroll-cue svg{flex-shrink:0;width:18px;height:18px;margin-bottom:3px}svg{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:square;stroke-linejoin:miter}.project-stage{opacity:0;transition:opacity .45s;position:absolute;inset:0}.projects-visible .project-stage{opacity:1}.corner-copy{letter-spacing:-.015em;font-size:12px;line-height:1.55}.portfolio-note{left:var(--page-edge);position:absolute;top:clamp(31px,6.6svh,76px)}.portfolio-note p+p{color:var(--muted);margin-top:16px}.project-row{left:var(--page-edge);right:var(--page-edge);grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(17px,2.2vw,44px);display:grid;position:absolute;top:53%;transform:translateY(-50%)}.project-link{pointer-events:auto;min-width:0;display:block;position:relative}.project-card-space{aspect-ratio:9252/14652;width:min(100%,22.1008svh,195px);margin:0 auto;display:block;position:relative}.project-callout{padding-top:44px;display:block;position:relative}.project-leader{transform-origin:top;border-bottom:1px solid #bec4c760;border-right:1px solid #bec4c760;width:50%;height:28px;transition:transform .23s 50ms;position:absolute;top:4px;left:0;transform:scaleY(0)}.project-leader i{background:#c1c6c6;border-radius:50%;width:4px;height:4px;position:absolute;top:-2px;right:-2.5px}.projects-visible .project-leader{transform:scaleY(1)}.project-title{white-space:nowrap;justify-content:flex-start;align-items:center;gap:10px;font-size:14px;line-height:1.4;transition:color .2s;display:flex}.project-title svg{opacity:.6;flex-shrink:0;width:14px;height:14px;transition:transform .25s,opacity .2s}.project-category{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5;display:block}.project-link:hover .project-title,.project-link:focus-visible .project-title{color:var(--gold)}.project-link:hover .project-title svg,.project-link:focus-visible .project-title svg{opacity:1;transform:translate(2px,-2px)}.project-link:hover .project-leader,.project-link:focus-visible .project-leader{border-color:#edd7a690}.portfolio-footer{left:var(--page-edge);right:var(--page-edge);color:var(--muted);justify-content:space-between;align-items:flex-end;display:flex;position:absolute;bottom:clamp(28px,5.8svh,66px)}.project-instruction{font-size:11px}.mobile-swipe{display:none}.loading-status{z-index:3;left:var(--page-edge);letter-spacing:.015em;color:#bac4c9;pointer-events:none;align-items:center;gap:12px;font-size:10px;line-height:1.4;display:flex;position:fixed;bottom:clamp(38px,8svh,90px)}.loading-mark{background:#e6d7ad;width:4px;height:4px;animation:1.6s step-end infinite loading-signal;box-shadow:0 0 10px #e6d7ad}.is-decoding .loading-mark{animation-duration:.7s}@keyframes loading-signal{0%,40%,55%,70%,to{opacity:1}42%,54%,73%,88%{opacity:.15}}.fallback-notice{z-index:4;left:var(--page-edge);background:#111b24e6;border:1px solid #e6d7ad33;max-width:300px;padding:18px;font-size:11px;line-height:1.6;position:fixed;bottom:150px}.fallback-notice button{color:var(--gold);margin-top:14px;padding:0;display:block}.has-scene-error .project-card-space{background:linear-gradient(145deg,#b9924712,#0000);border:1px solid #d3b87980;border-radius:5px;box-shadow:inset 0 0 0 6px #090f1733}.has-scene-error .project-card-space:after{content:"◇";color:#d3b879aa;place-items:center;font-size:50px;display:grid;position:absolute;inset:0}.decode-text{vertical-align:top;white-space:pre-wrap;display:inline-grid}.decode-text-reserve,.decode-text-output{grid-area:1/1;min-width:0}.decode-text-reserve{visibility:hidden}.decode-text-output{overflow-wrap:break-word}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (min-width:1600px){.project-row{gap:3vw;left:8vw;right:8vw}.project-card-space{width:min(100%,22.7322svh,230px)}}@media (max-width:900px){:root{--page-edge:28px}.identity h1{font-size:20px}.identity p{font-size:9px}.project-row{padding:8px var(--page-edge) 14px;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x mandatory;touch-action:pan-x pan-y;gap:34px;display:flex;top:53%;left:0;right:0;overflow-x:auto}.project-row::-webkit-scrollbar{display:none}.project-link{scroll-snap-align:center;flex:0 0 clamp(155px,25vw,190px)}.project-card-space{width:min(100%,22.1008svh,190px)}.project-callout{padding-top:40px}.project-title{font-size:14px}.corner-copy{font-size:11px}.project-instruction{display:none}.mobile-swipe{text-align:right;max-width:150px;font-size:10px;display:block}}@media (max-width:600px){:root{--page-edge:23px}.identity{top:34px}.identity:before{inset:-10px -12px}.identity h1{font-size:18px}.identity p{margin-top:8px;font-size:8px}.portfolio-note{font-size:10px;top:128px}.portfolio-note p+p{margin-top:8px}.project-row{gap:32px;top:56%}.project-link{flex-basis:min(47vw,184px)}.project-card-space{width:min(100%,20.2064svh,184px)}.project-category{font-size:9px}.portfolio-footer{bottom:max(28px,env(safe-area-inset-bottom));font-size:9px}.mobile-swipe{max-width:133px;font-size:9px}.scroll-cue{bottom:max(42px,calc(env(safe-area-inset-bottom) + 28px));font-size:12px}.loading-status{bottom:max(42px,calc(env(safe-area-inset-bottom) + 28px));font-size:9px}}@media (max-height:600px) and (min-width:901px){.identity,.portfolio-note{top:25px}.portfolio-note p+p{margin-top:7px}.project-row{top:55%}.project-card-space{width:min(100%,19.575svh)}.project-callout{padding-top:32px}.project-leader{height:21px}.portfolio-footer{font-size:10px;bottom:20px}.project-title{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.hero-scroll-space{pointer-events:none;height:120svh}.collection{z-index:1;opacity:0;pointer-events:none;transition:opacity .4s;position:relative}.projects-visible .collection{opacity:1;pointer-events:auto}.collection-section{min-height:100svh;padding:clamp(135px,19svh,210px) var(--page-edge) 95px;flex-direction:column;gap:clamp(55px,11svh,110px);display:flex;position:relative}.collection-heading{justify-content:space-between;align-items:flex-start;gap:35px;font-size:12px;line-height:1.65;display:flex}.collection-heading p{color:var(--muted);max-width:330px;margin-top:12px}.collection-count{color:#a8afb1;white-space:nowrap;padding-top:3px;font-size:10px}.collection-grid{grid-template-columns:repeat(6,minmax(0,1fr));align-items:start;gap:clamp(17px,2.2vw,44px);display:grid}.collection .project-card-space{width:min(100%,22.1008svh,210px)}.collection .project-link{outline-offset:12px;scroll-margin-block:170px}.collection .project-link.is-selected .project-title{color:var(--gold)}.collection .project-link.is-selected .project-leader{border-color:#edd7a699}.collection-footer{padding:10px var(--page-edge) 60px;color:var(--muted);justify-content:space-between;align-items:flex-end;gap:35px;font-size:11px;line-height:1.65;display:flex}.collection-footer a{color:var(--gold)}@media (min-width:1600px){.collection-section{padding-inline:8vw}.collection-grid{gap:3vw}.collection .project-card-space{width:min(100%,22.7322svh,230px)}}@media (max-width:1100px){.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:65px 35px}.collection-section{padding-bottom:100px}.collection .project-card-space{width:min(100%,190px)}.collection .project-title{font-size:13px}}@media (max-width:600px){.collection-section{padding:170px var(--page-edge) 65px;gap:55px}.collection-heading{gap:16px;font-size:10px}.collection-heading p{max-width:210px;margin-top:9px}.collection-count{font-size:9px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 26px}.collection .project-card-space{width:100%;max-width:184px}.collection .project-title{font-size:12px}.collection .project-category{font-size:8px}.collection .project-callout{padding-top:37px}.collection-footer{flex-direction:column;align-items:flex-start;padding-bottom:38px;font-size:9px}}@media (max-height:600px) and (min-width:901px){.collection-section{gap:40px;padding-top:120px}.collection .project-card-space{width:min(100%,19.575svh)}}.project-journey{z-index:1;height:calc(100svh + var(--rail-travel,1200px));pointer-events:none;position:relative}.horizontal-stage{opacity:0;height:100svh;transition:opacity .35s;position:sticky;top:0;overflow:hidden}.projects-visible .horizontal-stage{opacity:1;pointer-events:auto}.horizontal-stage .collection-heading{left:var(--page-edge);right:var(--page-edge);justify-content:space-between;gap:28px;font-size:12px;line-height:1.6;display:flex;position:absolute;top:clamp(135px,19svh,200px)}.horizontal-stage .collection-heading p{color:var(--muted);margin-top:10px}.project-rail{--rail-columns:3;--rail-gap:clamp(42px,6vw,100px);left:var(--page-edge);right:var(--page-edge);align-items:flex-start;gap:var(--rail-gap);scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;padding:13px 10px 18px;display:flex;position:absolute;top:57%;overflow:auto hidden;transform:translateY(-50%)}.project-rail::-webkit-scrollbar{display:none}.project-rail .project-link{flex:0 0 calc((100% - (var(--rail-columns) - 1) * var(--rail-gap)) / var(--rail-columns));scroll-snap-align:none;outline-offset:8px;min-width:0}.project-rail .project-card-space{width:min(100%,27.7838svh,255px)}.project-rail .project-link.is-selected .project-title{color:var(--gold)}.project-rail .project-link.is-selected .project-leader{border-color:#edd7a699}.rail-footer{left:var(--page-edge);right:var(--page-edge);color:var(--muted);align-items:center;gap:32px;font-size:11px;line-height:1.7;display:flex;position:absolute;bottom:clamp(32px,6svh,68px)}.rail-footer a{color:var(--gold);margin-left:auto}.rail-progress{background:#ccd0ca30;width:clamp(70px,12vw,200px);height:1px;overflow:hidden}.rail-progress span{background:var(--gold);transform-origin:0;width:100%;height:100%;display:block}.next-section{z-index:1;min-height:100svh;padding:clamp(180px,24svh,260px) var(--page-edge) 45px;background:linear-gradient(#10182038,#101820b0);flex-direction:column;align-items:flex-start;display:flex;position:relative}.next-eyebrow{color:var(--muted);font-size:11px;line-height:1.6}.next-section h2{letter-spacing:-.065em;color:#f0e9d9;outline:none;margin-top:28px;font-size:clamp(32px,4.9vw,76px);line-height:1.13}.next-description{max-width:530px;color:var(--muted);margin-top:30px;font-size:13px;line-height:1.9}.next-links{gap:48px;margin:38px 0 80px;display:flex}.next-links a{color:var(--gold);border-bottom:1px solid #edd7a64a;align-items:center;gap:25px;padding-block:10px;font-size:13px;display:flex}.next-links svg{width:16px;height:16px}.next-section .collection-footer{width:100%;margin-top:auto;padding:0;font-size:10px}@media (max-width:900px){.project-rail{--rail-columns:2;--rail-gap:55px}.rail-footer{gap:20px;font-size:10px}.horizontal-stage .collection-heading{font-size:11px}}@media (max-width:600px){.horizontal-stage .collection-heading{font-size:10px;top:170px}.horizontal-stage .collection-heading p{max-width:225px}.project-rail{--rail-columns:1;--rail-gap:32px;padding-inline:9px;top:57%;left:14px;right:14px}.project-rail .project-card-space{width:min(100%,25.258svh,235px)}.project-rail .project-title{font-size:13px}.project-rail .project-category{font-size:9px}.rail-footer{grid-template-columns:1fr auto;gap:14px;font-size:9px;display:grid;bottom:35px}.rail-footer a{grid-column:1/-1;margin-left:0}.rail-progress{width:90px}.next-section{padding-top:185px}.next-section h2{font-size:clamp(30px,8.4vw,46px)}.next-description{font-size:11px}.next-links{gap:29px;margin-bottom:70px}.next-links a{gap:18px;font-size:11px}}@media (max-height:600px){.horizontal-stage .collection-heading{font-size:10px;top:115px}.horizontal-stage .collection-heading p{display:none}.project-rail{top:62%}.project-rail .project-card-space{width:19.575svh}.project-rail .project-callout{padding-top:22px}.project-rail .project-leader{height:14px}.project-rail .project-title{font-size:11px}.project-rail .project-category{margin-top:3px;font-size:8px}.rail-footer{font-size:9px;display:flex;bottom:18px}.rail-footer a{margin-left:auto}}@media (min-width:761px){.is-project-open .identity{left:var(--page-edge);text-align:left;right:auto}.is-project-open .horizontal-stage .collection-heading{right:calc(var(--project-drawer-width) + var(--page-edge))}.is-project-open .project-rail{--rail-columns:2;--rail-gap:clamp(24px,3vw,60px);right:calc(var(--project-drawer-width) + var(--page-edge))}.is-project-open .project-title{white-space:normal}.is-project-open .rail-footer{visibility:hidden}}@media (min-width:761px) and (max-width:1099px){.is-project-open .project-rail{--rail-columns:1}.is-project-open .horizontal-stage .collection-heading p{max-width:230px}.is-project-open .collection-count{display:none}}@media (max-width:900px) and (max-height:500px){.is-project-open .project-rail{right:var(--page-edge)}}
