@font-face{font-family:Geist Pixel Square;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-pixel-square.woff2)format("woff2")}@font-face{font-family:Geist;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/geist-regular.ttf)format("truetype")}@font-face{font-family:Geist;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/geist-medium.ttf)format("truetype")}:root{--font-heading:"Geist Pixel Square", ui-monospace, monospace;--font-body:"Geist", Arial, sans-serif;font-family:var(--font-body);color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;-webkit-font-smoothing:antialiased;background:#151515}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}.viewport{width:100%;height:100%}.ripple-text{display:inline-block}.three-grid{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.renderer-notice{z-index:4;color:#999;max-width:280px;font-size:11px;position:fixed;bottom:20px;left:20px}.three-grid:not([data-status=unavailable])+.renderer-notice{display:none}.viewport[data-scene=world]:not([data-transition=grid]) .first-scene{visibility:hidden}.viewport[data-transition=grid] .first-scene .ripple-tile,.viewport[data-transition=world] .destination-panel .ripple-tile,.viewport[data-transition=world] .portal-back .ripple-tile{opacity:0}.first-scene{z-index:1;position:fixed;inset:0;overflow:auto}.first-scene-content{position:relative}.portrait{z-index:1;top:var(--portrait-top);left:var(--portrait-left);width:var(--portrait-size);aspect-ratio:1;pointer-events:none;margin:0;position:absolute}.intro-panel,.profile-facts{z-index:1;gap:var(--panel-padding);padding:var(--panel-padding);--intro-font-size:16px;font-size:var(--intro-font-size);flex-direction:column;display:flex;position:absolute}.profile-facts{color:#ababab;justify-content:flex-start;overflow-y:auto}.profile-facts>*{flex-shrink:0}.profile-facts .intro-copy{flex:none}.profile-facts .intro-copy h1{margin-bottom:4px}.status-dot{vertical-align:2px;background:#bcbcbc;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.profile-facts p{margin:0;line-height:1.5}.profile-facts dl{gap:12px;min-width:0;margin:0;line-height:1.5;display:grid}.profile-facts dl>div{justify-content:space-between;gap:12px;display:flex}.profile-facts dt{color:gray;flex-shrink:0}.profile-facts dd{text-align:right;color:#c4c4c4;flex:1;min-width:0;margin:0}.profile-facts ul{margin:0;padding:0;list-style:none}.profile-facts li+li{margin-top:8px}.profile-background h2{color:#c4c4c4;font:400 16px/1.5 var(--font-heading);margin:0 0 12px}.profile-background-entry+.profile-background-entry{margin-top:16px}.profile-facts .profile-muted{color:gray}.profile-toggle{max-width:100%;min-height:24px;color:inherit;font:inherit;text-align:right;cursor:pointer;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:6px;padding:0;display:inline-flex}.profile-toggle>span{min-width:0}.disclosure-chevron{flex-shrink:0}.profile-toggle[aria-expanded=true] .disclosure-chevron{rotate:180deg}.profile-facts .profile-expanded{margin-top:12px}.profile-expanded p{margin:12px 0 8px}.profile-facts a{color:inherit;text-decoration:none}.profile-facts a:focus-visible,.profile-facts:focus-visible,.profile-toggle:focus-visible,.overview-toggle:focus-visible,.portfolio-overview:focus-visible{outline-offset:4px;outline:1px solid gray}.portfolio-overview{gap:calc(var(--panel-padding) * 2);overflow-y:auto}:where(.first-scene,.profile-facts,.portfolio-overview,.size-control){scrollbar-width:none}:where(.first-scene,.profile-facts,.portfolio-overview,.size-control)::-webkit-scrollbar{width:0;height:0}.hover-scrollbar{z-index:6;opacity:0;pointer-events:none;touch-action:none;width:4px;position:fixed}.hover-scrollbar-thumb{cursor:grab;background:#505050;border-radius:0;width:100%}:where(.first-scene,.profile-facts,.portfolio-overview,.size-control):hover>.hover-scrollbar,.hover-scrollbar[data-dragging=true]{opacity:1;pointer-events:auto}.hover-scrollbar[data-dragging=true] .hover-scrollbar-thumb{cursor:grabbing}.overview-section{flex-shrink:0}.overview-heading,.overview-entry-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.overview-heading{min-height:calc(var(--panel-padding) * 2);flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:12px;margin-bottom:12px;padding:0}.overview-icon{color:#bcbcbc;transform-box:fill-box;transform-origin:50%;flex-shrink:0}.overview-heading h2{color:#ddd;font:400 16px/1.5 var(--font-heading);margin:0}.overview-entry{padding-left:calc(var(--panel-padding) * 1.5)}.overview-entry h3{color:#c4c4c4;font:400 16px/1.5 var(--font-body);margin:0}.overview-entry p{color:#909090;margin:0;line-height:1.5}.overview-entry .overview-tech,.overview-entry .overview-package{color:#737373;margin-top:8px}.overview-package .ripple-text{overflow-wrap:anywhere;max-width:100%}.overview-empty{padding-left:calc(var(--panel-padding) * 1.5);color:#909090;margin:0;line-height:1.5}.overview-entry+.overview-entry{margin-top:12px;padding-top:12px}.overview-toggle{min-height:24px;margin:16px 0 0 calc(var(--panel-padding) * 1.5);color:#909090;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.overview-meta{color:#737373;flex-shrink:0;font-size:16px;line-height:1.5}@media (width<=1100px){.overview-entry-heading{display:block}}.intro-copy{z-index:1;flex:1 0 auto;width:100%;position:relative}.intro-eyebrow{color:#969696;letter-spacing:.14em;margin:0;font:9px/1.5 ui-monospace,Consolas,monospace}.intro-copy h1{color:#e8e8e8;font:400 var(--intro-font-size)/1.5 var(--font-heading);letter-spacing:0;margin:0 0 12px}.intro-copy h1:focus{outline:none}.intro-description{color:#ababab;font-size:var(--intro-font-size);margin:0;line-height:1.5}.intro-description+.intro-description{margin-top:12px}.intro-panel nav{flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.intro-panel .grid-button{color:#ccc;font:500 var(--intro-font-size)/1.5 var(--font-body);letter-spacing:0;text-transform:none;white-space:normal;flex-shrink:0;justify-items:center;transition:none}.intro-panel .grid-button:hover,.intro-panel .grid-button:active{color:#ccc}.grid-button.compact{letter-spacing:0;font-size:9px}.grid-button.secondary{color:#bcbcbc}.grid-button.secondary:hover,.grid-button.secondary:focus-visible{color:#eee}.destination-panel{z-index:3;color:#ddd;opacity:0;pointer-events:none;text-shadow:0 1px 3px #151515;background:0 0;padding:28px;position:fixed;overflow-y:auto}.destination-panel.visible{opacity:1;pointer-events:auto}.destination-panel h2{font:400 40px/1.1 var(--font-heading);letter-spacing:-.5px;margin:13px 0 26px}.destination-panel h2:focus{outline:none}.destination-panel.projects-panel{padding:0;inset:0;overflow:hidden}.grid-button.portal-back{z-index:4}.destination-panel.projects-panel h2{left:calc(var(--project-cell) * 7);top:var(--project-cell);height:calc(var(--project-cell) * 2);font:400 16px/1.5 var(--font-heading);letter-spacing:0;align-items:center;margin:0;display:flex;position:absolute}.projects-grid{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:absolute}.project-container{padding:var(--project-cell);min-width:0;min-height:0}.project-placeholder-number{color:#aaa;font:400 16px/1.5 var(--font-body)}.destination-description{color:#b4b4b4;max-width:600px;font-size:14px;line-height:1.9}.project-entry{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.project-entry h3{color:#e6e6e6;margin:0 0 8px;font-size:17px;font-weight:500}.project-entry p{color:#aaa;max-width:650px;margin:0 0 12px;font-size:12px;line-height:1.8}.project-tools{color:#858585;letter-spacing:.12em;font:8px/1.8 ui-monospace,Consolas,monospace}.project-number{color:gray;align-self:flex-start;font:11px/1.5 ui-monospace,Consolas,monospace}.text-action{color:#d6d6d6;font:11px/1.7 var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:8px 0}.text-action:hover,.contact-link:hover{color:#fff}.text-action span{margin-left:10px}.contact-link{color:#dcdcdc;margin:15px 0 25px;font-size:25px;text-decoration:none;display:inline-block}.contact-link span{margin-left:16px}.contact-meta{color:#8c8c8c;letter-spacing:.1em;font:9px/1.8 ui-monospace,Consolas,monospace}.control-drawer>summary{z-index:5;color:#aaa;font:10px/1 var(--font-body);cursor:pointer;background:#1b1b1bef;border:0;align-items:center;gap:20px;padding:12px 15px;list-style:none;display:flex;position:fixed;bottom:24px;right:24px}.control-drawer>summary::-webkit-details-marker{display:none}.control-drawer>summary:hover{color:#fff}.control-drawer[open]>summary>.control-icon{transform:rotate(45deg)}.ripple-grid{cursor:default;z-index:0;background:0 0;display:grid;position:fixed;inset:0;overflow:hidden}.ripple-grid:focus-visible{outline-offset:-2px;outline:2px solid #fff}.grid-button{z-index:3;color:#ccc;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:none;background:0 0;border:0;place-items:center;padding:0;font:600 13px/1 ui-monospace,Consolas,monospace;transition:color .14s ease-out;display:grid;position:fixed}.grid-button:hover,.grid-button:focus-visible{color:#eee}.grid-button:active{color:#aaa;transition-duration:80ms}.grid-button:focus-visible{outline-offset:3px;outline:1px solid #999}.grid-button[aria-disabled=true]{cursor:wait}.button-label{z-index:1;pointer-events:none;position:relative}@media (prefers-reduced-motion:reduce){.grid-button{transition:none}.grid-button:hover,.grid-button:focus-visible,.grid-button:active{transform:none}}.size-control{z-index:5;color:#ddd;overscroll-behavior:contain;background:#1b1b1bf2;border:0;border-radius:0;flex-direction:column;align-items:center;gap:15px;max-height:calc(100dvh - 120px);padding:13px 17px;font-size:12px;display:flex;position:fixed;bottom:72px;right:24px;overflow-y:auto}.control-group-title{color:#999;letter-spacing:.08em;border-top:1px solid #444;align-self:stretch;margin:0;padding-top:15px;font-size:11px;font-weight:400}.control-row{grid-template-columns:90px 100px 66px 32px;align-items:center;gap:15px;display:grid}.size-control label{white-space:nowrap}.control-row>span{color:#999}.size-control input{color:#fff;width:66px;min-width:0;font:inherit;font-variant-numeric:tabular-nums;background:#252525;border:1px solid #555;border-radius:3px;margin:0;padding:6px 8px}.size-control input:focus-visible{outline-offset:3px;outline:2px solid #fff}.unbounded-slider{cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;height:28px;position:relative}.unbounded-slider:before{content:"";background:#666;border-radius:2px;position:absolute;inset:13px 0}.slider-handle{pointer-events:none;background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:8px;left:calc(50% - 6px);box-shadow:0 0 0 3px #1b1b1b}.unbounded-slider:not(.dragging) .slider-handle{transition:transform .14s ease-out}.unbounded-slider:hover .slider-handle,.unbounded-slider:focus-visible .slider-handle{box-shadow:0 0 0 3px #1b1b1b,0 0 0 4px #999}.unbounded-slider:focus-visible{outline-offset:3px;outline:1px solid #fff}@media (prefers-reduced-motion:reduce){.unbounded-slider:not(.dragging) .slider-handle,.destination-panel{transition:none}}@media (width<=760px){.intro-eyebrow{letter-spacing:.06em;font-size:8px}.destination-panel{padding:22px}.destination-panel h2{font-size:30px}.project-entry{flex-wrap:wrap;align-items:flex-start;gap:8px}.project-entry>div{flex:1}.project-entry p{font-size:11px}.contact-link{font-size:21px}}@media (width<=480px){.control-drawer>summary{bottom:14px;right:14px}.size-control{gap:12px;padding:12px 14px;bottom:62px;right:14px}.control-row{grid-template-columns:82px 62px 60px 28px;gap:8px}.size-control input{width:60px}}@media (width<=600px){.intro-panel nav{grid-template-columns:1fr .8fr 1.5fr}.intro-panel .button-label>.ripple-text:last-child{display:none}}
