@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-ext-wght-normal.1dtltwig2y3wh.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-cyrillic-wght-normal.1hmx3sz6swr8m.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-greek-wght-normal.37b2k1x9f-55d.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-vietnamese-wght-normal.3xvzy9_grgcx4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-ext-wght-normal.0-hru0xfwhnbp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/manrope-latin-wght-normal.1p_a2k8qd5zhp.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-cyrillic-ext-wght-normal.3dr-dgdzidi0_.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-cyrillic-wght-normal.2rcjvmmvk3bh-.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-greek-ext-wght-normal.0wpy8o7woho9l.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-greek-wght-normal.37txlz2jx52f0.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-vietnamese-wght-normal.0txey9puiotzv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-latin-ext-wght-normal.1zvx38bd_81k2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(../media/source-sans-3-latin-wght-normal.3y33ar50ixvlj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--void:#050607;--graphite:#171c20;--white:#f4f2ed;--muted:#c5ccd1;--line:#323a40;--amber:#dda66c;--label:"Source Sans 3 Variable", Arial, sans-serif;--sans:"Source Sans 3 Variable", Arial, sans-serif;--edge:3.5vw;--travel-direction:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--void);min-height:100%;color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body{font-size:17px;font-weight:450;line-height:1.6}h1,h2,.brand-mark,.era-year{font-family:Manrope Variable,Arial,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.25}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid var(--amber);outline-offset:6px}[data-scroll-panel]:focus-visible{outline:1px solid var(--amber);outline-offset:-2px}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}fieldset{border:0;min-width:0;margin:0;padding:0}::selection{color:var(--void);background:var(--amber)}[hidden]{display:none!important}.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}.skip-link{z-index:100;background:var(--white);color:var(--void);padding:14px 20px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.portfolio{isolation:isolate;height:100svh;min-height:600px;position:relative;overflow:hidden}.world-layer,.canvas-layer,.fallback-world,.space-vignette,.space-grain{position:absolute;inset:0}.world-layer{z-index:-3;touch-action:none}.canvas-layer{opacity:0;transition:opacity 1.2s}.canvas-layer.is-loaded{opacity:1}.canvas-layer>div{inset:0;position:absolute!important}.space-vignette{z-index:-1;pointer-events:none;background:linear-gradient(90deg,#050607db,#05060761 42%,#0000 66%),linear-gradient(#050607a6,#0000 18% 77%,#050607d9)}.space-grain{z-index:-2;pointer-events:none;opacity:.033;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.91' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='white' filter='url(%23n)' opacity='.7' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}.global-header{z-index:10;top:33px;left:var(--edge);right:var(--edge);justify-content:space-between;align-items:center;display:flex;position:absolute}.brand{align-items:center;gap:24px;display:flex}.brand-mark{letter-spacing:-2.5px;font-size:30px;font-weight:600;line-height:1;position:relative}.brand-mark>span{letter-spacing:0;color:var(--muted);font-size:12px;font-weight:400;position:absolute;top:0;right:-12px}.brand-label{font-family:var(--label);letter-spacing:.06em;border-left:1px solid var(--line);padding-left:23px;font-size:12px;line-height:1.9}.brand-label>span{color:var(--muted);letter-spacing:1px;font-size:12px}.header-right{align-items:center;gap:60px;display:flex}.contact-shortcut{font:14px/1.5 var(--label);letter-spacing:.06em;align-items:center;gap:9px;min-height:32px;display:flex}.contact-shortcut>span:last-child{color:var(--muted);margin-left:17px;font-size:18px}.status-dot{background:var(--amber);border-radius:50%;flex-shrink:0;width:4px;height:4px;display:inline-block}.status-dot.paused{background:var(--muted)}.local-time{z-index:5;font:12px/1.5 var(--label);letter-spacing:.8px;color:var(--muted);gap:16px;display:flex;position:absolute;top:41px;right:290px}.local-time>span:last-child{color:var(--white);font-variant-numeric:tabular-nums}.global-footer{left:var(--edge);right:var(--edge);z-index:10;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:30px}.footer-location{font:12px/1.5 var(--label);letter-spacing:.7px;align-items:center;gap:9px;display:flex}.location-cross{color:var(--muted);font-size:17px}.location-subtitle{color:var(--muted);letter-spacing:.2px;margin-left:15px;font-size:12px}.footer-controls{font:14px/1.5 var(--label);letter-spacing:1px;align-items:center;gap:18px;display:flex}.footer-controls>button{place-items:center;width:32px;height:32px;font-size:12px;display:grid}.footer-controls>a{padding:10px 0}.control-divider{background:var(--line);width:1px;height:12px}.renderer-telemetry{font:12px/1.5 var(--label);color:var(--muted);letter-spacing:.5px;white-space:nowrap;z-index:6;align-items:center;gap:12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.renderer-telemetry>span:last-child{font-variant-numeric:tabular-nums;min-width:35px}.telemetry-divider{color:var(--line)}.coordinates{left:var(--edge);font:12px/1.5 var(--label);letter-spacing:.06em;color:#78848c;writing-mode:vertical-rl;opacity:0;transition:opacity .4s;position:absolute;top:50%;transform:rotate(180deg)}.portfolio:has(.brand:hover) .coordinates{opacity:1}.scene-coordinate{left:var(--edge);font:12px/1.5 var(--label);color:var(--muted);letter-spacing:1px;align-items:center;gap:8px;display:flex;position:absolute;top:154px}.scene-coordinate strong{color:var(--white);font-weight:400}.scene-coordinate i{background:var(--line);width:32px;height:1px;margin-left:6px}.scene-content{pointer-events:none;position:absolute;inset:0}.scene-panel,.scene-arrival{position:absolute;inset:0}.scene-arrival{animation:.9s cubic-bezier(.22,.61,.36,1) backwards scene-arrive}.is-arriving .scene-arrival{animation:1.6s cubic-bezier(.45,0,.2,1) .3s backwards scene-arrive}.is-departing .scene-arrival{animation:.36s ease-in-out both scene-depart}.scene-panel.is-departing *{pointer-events:none}.scene-arrival button,.scene-arrival a,.scene-arrival input,.scene-arrival [data-scroll-panel]{pointer-events:auto}.scene-arrival h1,.scene-arrival h2{outline:0}.scene-arrival h1:focus-visible,.scene-arrival h2:focus-visible{outline:1px solid var(--amber);outline-offset:10px}@keyframes scene-arrive{0%{opacity:0;transform:translate3d(calc(var(--travel-direction) * 28px), 10px, 0)}to{opacity:1;transform:none}}@keyframes scene-depart{0%{opacity:var(--departure-opacity,1);transform:var(--departure-transform,none)}to{opacity:0;transform:translate3d(calc(var(--travel-direction) * -18px), -6px, 0)}}.scene-kicker{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--muted);align-items:center;gap:13px;display:flex}.signal-line{background:var(--amber);width:27px;height:1px;display:inline-block}.home-heading{position:absolute;top:28%;left:10.4%}.identity{letter-spacing:-.064em;margin-top:26px;font-size:clamp(90px,9.6vw,190px);font-weight:500;line-height:.95}.identity>span{display:block}.identity>span:last-child{margin-top:3px}.identity-period{color:var(--amber);font-weight:400}.identity-disciplines{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--muted);gap:12px;margin-top:28px;display:flex}.identity-disciplines>span{color:#545f66}.home-introduction{width:440px;max-width:38vw;position:absolute;bottom:20.5%;left:10.7%}.home-introduction>p:first-child{letter-spacing:-.15px;color:#e1dfd9;margin-bottom:10px;font-size:20px}.home-introduction>p+p{color:var(--muted);max-width:420px;font-size:17px;line-height:1.6}.enter-world{text-align:left;font:14px/1.5 var(--label);letter-spacing:.06em;align-items:center;gap:17px;min-height:56px;display:flex;position:absolute;bottom:8.8%;left:10.4%}.enter-orbit{border:1px solid #68727a;border-radius:50%;place-items:center;width:44px;height:44px;transition:border-color .3s,transform .3s;display:grid;position:relative}.enter-orbit:after{content:"";background:var(--amber);width:3px;height:3px;position:absolute;top:10px;right:0}.enter-world:hover .enter-orbit{border-color:var(--amber);transform:rotate(-35deg)}.button-subtitle{color:var(--muted);letter-spacing:.06em;margin-top:8px;font-size:12px;display:block}.world-annotation{font:12px/1.5 var(--label);letter-spacing:.06em;color:#b5bdc0;opacity:.85;align-items:center;gap:9px;display:flex;position:absolute;top:73%;left:63%}.world-annotation div>span{color:#89949c;letter-spacing:.8px;margin-top:6px;font-size:12px;display:block}.annotation-cross{font-size:20px;font-weight:200}.annotation-line{background:linear-gradient(#0000,#6c7b83);width:1px;height:62px;position:absolute;top:-51px;left:-30px;transform:rotate(-35deg)}.edition{right:var(--edge);writing-mode:vertical-rl;font:12px/1.5 var(--label);letter-spacing:.06em;color:#89939a;position:absolute;bottom:88px}.orbit-navigation{z-index:10;width:200px;position:absolute;top:35%;right:max(80px,6vw)}.orbit-caption{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--muted);align-items:center;gap:8px;padding:0 15px;display:flex}.orbit-caption>span:last-child{color:#909ca3;margin-left:auto;font-size:12px}.tiny-cross{color:var(--white);font-size:13px}.orbit-map{width:200px;height:207px;margin-top:7px;position:relative}.orbit-map svg{width:100%;height:100%;overflow:visible}.orbit-boundary,.orbit-inner,.orbit-axis,.orbit-path{fill:none;stroke:#687782;stroke-width:.5px}.orbit-boundary{opacity:.3}.orbit-inner{stroke-dasharray:1.1 5;opacity:.35}.orbit-axis{opacity:.2}.orbit-path{opacity:.18;stroke-dasharray:2 5}.orbit-vector{stroke:var(--amber);stroke-width:.65px;opacity:.5;transition:x2 .9s,y2 .9s}.orbit-center{fill:var(--amber)}.orbit-center-outline{fill:none;stroke:var(--amber);stroke-width:.5px;opacity:.5}.orbit-node{width:66px;height:44px;font:12px/1.5 var(--label);letter-spacing:.55px;text-transform:uppercase;color:var(--muted);justify-content:center;align-items:center;transition:color .3s;display:flex;position:absolute}.node-dot{background:var(--void);border:1px solid #8d9aa3;border-radius:50%;width:4px;height:4px;transition:background .2s,box-shadow .2s;position:absolute}.node-label{white-space:nowrap;position:absolute}.compact-label,.portfolio[data-graphics=webgl] .fallback-world{display:none}.copy-feedback{pointer-events:auto;-webkit-user-select:text;user-select:text}.orbit-node:hover,.orbit-node:focus-visible,.orbit-node.is-current{color:var(--white)}.orbit-node.is-current .node-dot{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 4px #dda66c13,0 0 0 5px #dda66c25}.node-0{top:8px;left:67px}.node-0 .node-label{top:0}.node-0 .node-dot{top:20px}.node-1{top:46px;left:129px}.node-1 .node-label{left:40px}.node-1 .node-dot{left:31px}.node-2{top:118px;left:129px}.node-2 .node-label{left:40px}.node-2 .node-dot{left:31px}.node-3{top:155px;left:67px}.node-3 .node-label{bottom:0}.node-3 .node-dot{top:20px}.node-4{top:118px;left:5px}.node-4 .node-label{right:40px}.node-4 .node-dot{left:31px}.node-5{top:46px;left:5px}.node-5 .node-label{right:40px}.node-5 .node-dot{left:31px}.orbit-help{font:12px/1.5 var(--label);text-align:center;letter-spacing:.7px;color:#8c989f;white-space:nowrap;margin-top:4px}.orbit-help>span:first-child{color:var(--white);margin-right:4px;font-size:12px}.orbit-hint-divider{color:var(--line);margin:0 5px}.scene-title{position:absolute;top:23%;left:10.5%}.scene-title h2{letter-spacing:-.055em;margin-top:24px;font-size:clamp(50px,5.45vw,110px);font-weight:500;line-height:1.04}.heading-dot{color:var(--amber)}.scene-intro{color:var(--muted);letter-spacing:.1px;margin-top:18px;font-size:17px;line-height:1.6}.systems-selector{flex-direction:column;width:230px;display:flex;position:absolute;top:44%;left:10.5%}.system-node{text-align:left;min-height:44px;color:var(--muted);border-bottom:1px solid #29313977;align-items:center;gap:12px;padding:0 12px 0 0;font-size:16px;transition:color .2s,padding .2s;display:flex}.system-node-marker{border:1px solid #6f7c85;border-radius:50%;flex-shrink:0;width:3px;height:3px}.system-node-number{font:12px/1.5 var(--label);color:#7f8c95;margin-left:auto}.system-node.selected{color:var(--white);padding-left:9px}.system-node.selected .system-node-marker{border-color:var(--amber);background:var(--amber);box-shadow:0 0 0 3px #dda66c1a}.system-node.selected .system-node-number{color:var(--amber)}.domain-detail{scrollbar-width:thin;scrollbar-color:#45515a transparent;border-top:1px solid #46505888;width:36%;max-width:470px;max-height:38%;padding:20px 0 0;position:absolute;bottom:12%;left:40%;overflow:auto}.detail-eyebrow{font:12px/1.5 var(--label);color:var(--amber);letter-spacing:.6px}.domain-detail h3{letter-spacing:-.35px;margin:10px 0 11px;font-size:26px;font-weight:600}.domain-detail>p{color:var(--muted);max-width:420px;font-size:17px;line-height:1.6}.technology-list{font:14px/1.5 var(--label);color:#c3c8ca;flex-wrap:wrap;gap:7px 15px;margin-top:16px;display:flex}.technology-list>li{align-items:center;gap:6px;display:flex}.technology-list>li:before{content:"";background:#8e9ba4;border-radius:50%;width:2px;height:2px}.scene-object-caption{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--muted);align-items:center;gap:9px;display:flex;position:absolute;top:65%;left:55%}.era-display{text-align:center;pointer-events:none;width:28%;position:absolute;top:41%;left:50%}.era-year{letter-spacing:-.07em;color:#ebe8e0;font-size:clamp(72px,9vw,170px);font-weight:300}.era-kind{font:12px/1.5 var(--label);letter-spacing:.06em;text-transform:uppercase;color:var(--amber);margin-top:6px;display:block}.career-detail{scrollbar-width:thin;scrollbar-color:#45515a transparent;width:36%;max-width:520px;max-height:35%;padding-right:12px;position:absolute;top:43%;left:10.5%;overflow:auto}.entry-location{color:var(--muted);margin-top:5px;font-size:12px;display:block}.career-detail h3{letter-spacing:-.4px;margin:16px 0 7px;font-size:26px;font-weight:600;line-height:1.35}.career-company{color:#ced1d0;font-size:16px;line-height:1.7}.career-detail>p:not(.detail-eyebrow):not(.career-company){color:var(--muted);margin-top:13px;font-size:17px;line-height:1.6}.responsibilities{color:var(--muted);gap:4px;margin-top:10px;font-size:17px;line-height:1.6;display:grid}.responsibilities>li{padding-left:20px;position:relative}.responsibilities>li:before{content:"—";color:#74818a;position:absolute;left:0}.timeline-scrubber{justify-content:space-between;align-items:center;width:65%;height:48px;display:flex;position:absolute;bottom:14%;left:10.5%}.timeline-track{background:linear-gradient(90deg,#303b43,#849095);height:1px;position:absolute;top:16px;left:21px;right:21px}.timeline-scrubber button{min-width:46px;height:54px;font:14px/1.5 var(--label);color:#96a1a8;flex-direction:column;align-items:center;gap:11px;display:flex;position:relative}.timeline-point{background:#182127;border:1px solid #6b7d87;border-radius:50%;width:5px;height:5px;margin-top:13px}.timeline-scrubber button.active{color:var(--white)}.timeline-scrubber button.active .timeline-point{background:var(--amber);border-color:var(--amber);box-shadow:0 0 0 5px #dda66c13,0 0 0 6px #dda66c44}.timeline-scrubber small{white-space:nowrap;font:12px/1.5 var(--label);color:#9da8ae;letter-spacing:.5px;position:absolute;top:56px}.timeline-note{width:65%;font:12px/1.5 var(--label);letter-spacing:.7px;color:var(--muted);position:absolute;bottom:8.7%;left:10.5%}.timeline-note>span{color:var(--white);margin-left:12px}.timeline-current{float:right}.project-index{width:26%;max-width:330px;display:grid;position:absolute;top:43%;left:10.5%}.project-index button{text-align:left;min-height:59px;color:var(--muted);border-bottom:1px solid #313c4477;align-items:center;gap:12px;padding:12px 0;font-size:16px;line-height:1.65;display:flex}.project-index button>span:first-child{font:12px/1.5 var(--label);color:#84919a;align-self:flex-start;margin-top:4px}.project-index button.selected{color:var(--white)}.project-index button.selected>span:first-child{color:var(--amber)}.project-index-dot{background:#657781;border-radius:50%;flex-shrink:0;width:3px;height:3px;margin-left:auto}.project-index button.selected .project-index-dot{background:var(--amber);box-shadow:0 0 0 3px #dda66c19}.project-content{scrollbar-width:thin;scrollbar-color:#45515a transparent;border-top:1px solid #55616a66;width:35%;max-width:470px;max-height:40%;padding:20px 12px 4px 0;transition:max-height .7s,bottom .7s;position:absolute;bottom:12%;left:41%;overflow:auto}.project-category{color:var(--muted);margin-left:16px}.project-content h3{letter-spacing:-.7px;margin-top:10px;font-size:27px;font-weight:600;line-height:1.3}.project-summary{color:var(--muted);max-width:60ch;margin-top:12px;font-size:17px;line-height:1.6}.text-action{min-height:36px;font:14px/1.5 var(--label);letter-spacing:1px;color:var(--white);align-items:center;gap:32px;margin-top:24px;padding:0;display:flex}.text-action svg{color:var(--amber);transition:transform .3s}.text-action:hover svg{transform:translate(5px)}.project-architecture{gap:20px;padding:12px 0 0;display:grid}.project-architecture h4{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--amber);margin-bottom:7px}.project-architecture p{color:#b1bbc1;font-size:17px;line-height:1.6}.muted{color:var(--muted)}.project-open .project-content{background:linear-gradient(90deg,#050607de,#050607b0,#0000);max-height:56%;margin-left:-16px;padding-left:16px;bottom:11%}.project-orbit-label{font:12px/1.5 var(--label);color:var(--white);position:absolute;top:43%;left:71%}.project-orbit-label span{color:var(--muted);margin-left:7px;font-size:12px}.lab-description{width:28%;max-width:335px;position:absolute;top:45%;left:10.5%}.lab-description h3{letter-spacing:-.6px;margin:16px 0;font-size:24px;font-weight:600}.lab-description p{color:var(--muted);font-size:17px;line-height:1.6}.lab-description .lab-note{color:var(--muted);margin-top:17px;font-size:14px}.lab-controls{border-top:1px solid #5a646966;width:27%;max-width:350px;padding:20px 0;position:absolute;bottom:13%;left:47%}.lab-controls legend{font:12px/1.5 var(--label);letter-spacing:.06em;color:var(--muted);margin-bottom:13px}.segmented-control{gap:10px;display:flex}.segmented-control button{color:#a7b0b5;border:1px solid #39454e;width:100%;min-height:44px;font-size:16px;transition:border-color .2s,color .2s}.segmented-control button[aria-pressed=true]{color:var(--white);background:#dda66c09;border-color:#b58f65}.range-label{font:12px/1.5 var(--label);letter-spacing:1px;color:var(--muted);justify-content:space-between;margin-top:24px;margin-bottom:9px;display:flex}.range-label output{color:var(--amber)}input[type=range]{appearance:none;width:100%;height:20px;accent-color:var(--amber);cursor:pointer;background:0 0;margin:0;display:block}input[type=range]::-webkit-slider-runnable-track{background:#78848c;height:1px}input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--amber);border:1px solid var(--amber);border-radius:50%;width:7px;height:7px;margin-top:-3px;box-shadow:0 0 0 4px #dda66c15}input[type=range]::-moz-range-track{background:#78848c;height:1px}input[type=range]::-moz-range-thumb{background:var(--amber);border:0;border-radius:50%;width:7px;height:7px}.lab-controls-bottom{font:12px/1.5 var(--label);letter-spacing:1px;color:var(--muted);justify-content:space-between;align-items:center;margin-top:10px;display:flex}.lab-controls-bottom>span{align-items:center;gap:8px;display:flex}.lab-controls-bottom button{border:1px solid #344049;place-items:center;width:32px;height:32px;display:grid}.lab-composition .scene-object-caption{gap:7px;font-size:12px;top:58%;left:53%}.contact-composition{width:70%;position:absolute;top:22%;left:10.5%}.contact-composition h2{letter-spacing:-.055em;margin-top:26px;font-size:clamp(66px,7vw,140px);font-weight:450;line-height:1.04}.contact-intro{color:var(--muted);width:240px;font-size:17px;line-height:1.6;position:absolute;top:50%;left:59%}.contact-links{pointer-events:auto;flex-wrap:wrap;align-items:center;gap:12px 25px;max-width:660px;margin-top:35px;display:flex}.email-link{letter-spacing:-.3px;align-items:center;gap:28px;min-height:36px;font-size:24px;display:flex}.email-link>svg{color:var(--amber);width:16px;height:16px}.copy-email{color:var(--muted);font:14px/1.5 var(--label);letter-spacing:.7px;align-items:center;gap:9px;min-height:32px;display:flex}.social-links{width:100%;font:14px/1.5 var(--label);letter-spacing:1px;gap:28px;margin-top:14px;display:flex}.social-links>a{align-items:center;gap:9px;min-height:32px;display:flex}.social-links svg{width:12px;height:12px;color:var(--muted)}.copy-feedback{font:12px/1.5 var(--label);color:var(--amber);min-height:16px;margin-top:12px}.contact-signoff{font:12px/1.5 var(--label);letter-spacing:.06em;color:#9ba6ae;margin-top:24px}.controls-help{bottom:90px;right:var(--edge);z-index:30;background:#080c0fed;border:1px solid #39444d;width:320px;padding:25px 23px;position:absolute;box-shadow:0 10px 80px #000a}.controls-help h2{font:12px/1.5 var(--label);letter-spacing:.06em;margin-bottom:20px}.controls-help dl{grid-template-columns:120px 1fr;gap:13px 8px;margin:0;font-size:14px;line-height:1.7;display:grid}.controls-help dt{color:var(--amber);font-family:var(--label);font-size:12px}.controls-help dd{color:var(--muted);margin:0}.controls-help>p{color:var(--muted);max-width:230px;margin-top:22px;font-size:12px;line-height:1.8}.help-close{width:32px;height:32px;color:var(--muted);font-size:18px;position:absolute;top:6px;right:7px}.journey-progress{background:#1c252b;height:1px;position:absolute;bottom:0;left:0;right:0}.journey-progress>span{background:var(--amber);transform-origin:0;width:100%;height:100%;transition:transform var(--scene-duration,2s) cubic-bezier(.65, 0, .35, 1);opacity:.55;display:block}.boot-message{background:var(--void);z-index:25;font:12px/1.5 var(--label);letter-spacing:.06em;white-space:nowrap;align-items:center;gap:12px;padding:15px 24px;transition:opacity .5s,visibility .5s;display:flex;position:absolute;bottom:21px;left:50%;transform:translate(-50%)}.boot-line{transform-origin:0;background:#74848d;width:40px;height:1px;animation:1s both boot-progress}.is-ready .boot-message{opacity:0;visibility:hidden}@keyframes boot-progress{0%{transform:scaleX(.1)}to{transform:scaleX(1)}}.no-script{color:var(--white);z-index:30;background:#050607;max-width:400px;padding:20px;line-height:1.8;position:absolute;bottom:80px;left:10%}.no-script a{color:var(--amber);text-decoration:underline}.precision-reticle{z-index:200;pointer-events:none;opacity:0;will-change:transform;width:0;height:0;position:fixed;top:0;left:0}.reticle-ring{border:1px solid #d0d5d080;border-radius:50%;width:18px;height:18px;transition:width .18s,height .18s,left .18s,top .18s,border-color .18s;position:absolute;top:-9px;left:-9px}.reticle-ring:after{content:"";background:var(--white);width:2px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.reticle-label{white-space:nowrap;color:var(--amber);font:12px/1.5 var(--label);letter-spacing:.06em;position:absolute;top:-4px;left:18px}.precision-reticle[data-active=true] .reticle-ring{border-color:#dda66cbb;width:26px;height:26px;top:-13px;left:-13px}@media (pointer:fine){.precision-cursor .portfolio,.precision-cursor .portfolio a,.precision-cursor .portfolio button,.precision-cursor .portfolio input{cursor:none}}.mobile-travel{display:none}.fallback-world{background:#050607;overflow:hidden}.fallback-world.is-arriving{animation:1.6s ease-in-out .3s both world-arrive}.fallback-world.is-departing{animation:.36s ease-in-out both world-depart}@keyframes world-arrive{0%{opacity:0}to{opacity:1}}@keyframes world-depart{0%{opacity:1}to{opacity:0}}.fallback-distant-field{opacity:.3;background-image:radial-gradient(1px 1px at 12% 18%,#81929d 50%,#0000),radial-gradient(1px 1px at 76% 16%,#afbac0 50%,#0000),radial-gradient(1px 1px at 59% 82%,#82939e 50%,#0000),radial-gradient(1px 1px at 39% 23%,#9ba6ad 50%,#0000),radial-gradient(1px 1px at 90% 66%,#708894 50%,#0000),radial-gradient(1px 1px at 32% 81%,#adbac1 50%,#0000),radial-gradient(1px 1px at 21% 58%,#94a3ae 50%,#0000),radial-gradient(1px 1px at 75% 41%,#c0cad1 50%,#0000);position:absolute;inset:0}.fallback-object{aspect-ratio:1;perspective:900px;width:min(38vw,620px);transition:transform 1.2s,top 1.2s;position:absolute;top:48%;left:59%;transform:translate(-50%,-50%)}.fallback-planet{background:radial-gradient(circle at 82% 18%,#617781,#24333d 25%,#090e12 52%,#020304 74%);border-radius:50%;position:absolute;inset:5%;overflow:hidden;transform:rotate(-20deg);box-shadow:inset -3px 4px 6px #c0dfefaa,inset -8px 8px 28px #70859333,7px 5px 60px #000}.planet-etched{opacity:.8;background:radial-gradient(at 65% 35%,#819ca422,#0000 63%);border-radius:50%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(235deg,#fff,#0000 78%);mask-image:linear-gradient(235deg,#fff,#0000 78%)}.planet-etched:before{content:"";mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.3' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath d='M0 0H220V220H0z' fill='white' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:absolute;inset:0}.fallback-ring{z-index:2;border:1px solid #6a7d8b70;border-radius:50%;position:absolute;inset:-12%;transform:rotate(-24deg)rotateX(69deg)}.ring-two{border-color:#6a7d8b35;inset:-24%;transform:rotate(-24deg)rotateX(69deg)}.ring-three{border-color:#6a7d8b40;inset:-17%;transform:rotate(39deg)rotateX(69deg)}.fallback-satellite{z-index:3;background:var(--amber);border-radius:50%;width:4px;height:4px;position:absolute;box-shadow:0 0 12px #dca77455}.satellite-one{top:73%;left:-4%}.satellite-two{background:#b6c3ca;width:2px;height:2px;top:3%;right:12%}.fallback-scene-1 .fallback-ring{opacity:.35}.fallback-topology{width:116%;height:116%;position:absolute;inset:-8%;transform:rotate(-12deg)}.fallback-scene-2 .fallback-planet{box-shadow:none;background:0 0;border:1px solid #7e919e45;inset:32%}.fallback-scene-2 .planet-etched{display:none}.fallback-scene-5 .fallback-object{width:110vw;top:126%;left:58%;transform:translate(-50%,-50%)}.fallback-scene-5 .fallback-planet{background:radial-gradient(at 50% 0,#273038,#050607 45%);box-shadow:inset 0 3px 8px #c6a27766}.fallback-scene-5 .fallback-ring{opacity:.3}.fallback-reactor{background:linear-gradient(90deg,#1c2b34,#101b22 65%,#030608 66%);border:1px solid #67788466;width:35%;height:60%;position:absolute;top:18%;left:33%;transform:rotate(-12deg)skewY(16deg);box-shadow:inset 3px 0 30px #4d667b18,30px 40px 70px #000}.fallback-reactor>div{background:#c99b68;width:45%;height:1px;position:absolute;top:24%;left:12%}.fallback-reactor>div:nth-child(2){top:50%}.fallback-reactor>div:nth-child(3){top:75%}.fallback-reactor.mesh{transform:rotate(18deg)skewY(-12deg)}.reactor-signal{background:var(--amber);width:5px;height:5px;animation:signal-orbit var(--signal-duration,20s) linear infinite;border-radius:50%;position:absolute;top:25%;left:-45%}@keyframes signal-orbit{0%{transform:translate(0)}25%{transform:translate(220px,30px)}50%{transform:translate(250px,180px)}75%{transform:translate(-20px,160px)}to{transform:translate(0)}}.is-still *{animation-play-state:paused!important}.fallback-artifact{clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:linear-gradient(135deg,#283b48,#060b11 65%);border:1px solid #829aa6;position:absolute;inset:16%;transform:rotate(30deg)}.fallback-artifact>span{border:1px solid #8a9dab44;position:absolute;inset:10%;transform:rotate(60deg)}.fallback-artifact>span:nth-child(2){transform:rotate(120deg)}.artifact-2{clip-path:none;background:0 0;border-width:5px;border-radius:50%;transform:rotateX(40deg)}.artifact-2>span{border-width:3px;border-color:#b6967155;border-radius:50%}.artifact-3{clip-path:none;background:linear-gradient(150deg,#344450,#060a0e);border-radius:30%;transform:rotate(45deg)}.readable-profile{max-width:1050px;margin:auto;padding:42px 50px}.readable-profile header{justify-content:space-between;align-items:center;margin-bottom:100px;display:flex}.back-to-space{font:12px/1.5 var(--label);letter-spacing:.06em}.readable-profile main{max-width:760px;margin:auto}.readable-profile h1{letter-spacing:-3px;margin:20px 0 15px;font-size:clamp(40px,6vw,72px);font-weight:500}.readable-profile p{color:var(--muted);line-height:1.9}.readable-profile .profile-title{color:var(--white);margin-bottom:10px;font-size:18px}.profile-summary{max-width:680px;margin-top:24px}.readable-profile nav{color:var(--amber);flex-wrap:wrap;gap:26px;margin:40px 0 70px;font-size:12px;display:flex}.readable-profile section{margin-top:75px;scroll-margin-top:40px}.readable-profile h2{letter-spacing:-1px;border-bottom:1px solid var(--line);margin-bottom:35px;padding-bottom:20px;font-size:32px;font-weight:400}.readable-profile article{margin-bottom:35px}.readable-profile h3{margin:8px 0;font-size:19px;font-weight:400}.readable-profile .detail-eyebrow{color:var(--amber);margin-bottom:8px;font-size:12px}.readable-profile .technology-list{margin-top:14px;font-size:12px}.readable-profile article>ul:not(.technology-list){color:var(--muted);margin-top:12px;padding-left:20px;line-height:1.9;list-style:outside}.readable-profile article>p+p{margin-top:10px}.profile-email{color:var(--amber);font-size:clamp(16px,3vw,24px)}.readable-profile footer{border-top:1px solid var(--line);font:12px/1.5 var(--label);color:var(--muted);justify-content:space-between;gap:20px;margin-top:100px;padding-top:24px;display:flex}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;gap:30px;min-height:100svh;padding:10%;display:flex}.not-found h1{letter-spacing:-.06em;font-size:clamp(50px,8vw,130px);font-weight:400}.not-found>p{color:var(--muted)}.not-found>a{font:12px/1.5 var(--label);color:var(--amber);margin-top:15px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.precision-reticle{display:none}}.motion-still *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:0s!important}
@media (min-width:1800px){.portfolio .global-header{top:45px}.portfolio .global-footer{bottom:40px}.portfolio .local-time{top:55px;right:350px}.portfolio .brand-mark{font-size:36px}.portfolio .home-introduction{width:430px}.portfolio .home-introduction>p+p{max-width:375px}.portfolio .enter-world{gap:22px}.portfolio .enter-orbit{width:55px;height:55px}.portfolio .orbit-navigation{transform-origin:100%;right:5%;transform:scale(1.17)}.portfolio .scene-coordinate{top:19%}.portfolio .renderer-telemetry{bottom:50px}.portfolio .systems-selector{width:295px}.portfolio .system-node{height:46px}.portfolio .domain-detail{max-width:580px}.portfolio .domain-detail>p{max-width:540px}.portfolio .career-detail{max-width:570px}.portfolio .project-index{max-width:390px}.portfolio .project-index button{min-height:72px}.portfolio .project-content{max-width:600px}.portfolio .project-summary{max-width:530px}.portfolio .lab-description{max-width:430px}.portfolio .lab-controls{max-width:450px}.portfolio .segmented-control button{height:42px}.portfolio .contact-intro{width:310px}.portfolio .email-link{font-size:23px}.portfolio .contact-links{max-width:820px}}@media (max-width:1200px) and (min-width:760px){.portfolio .brand-label{display:none}.portfolio .local-time{right:245px}.portfolio .orbit-navigation{transform-origin:100%;width:200px;right:75px;transform:none}.portfolio .scene-coordinate{top:132px}.portfolio .home-heading{top:29%;left:9%}.portfolio .identity{font-size:10.2vw}.portfolio .identity-disciplines{letter-spacing:.8px;gap:8px}.portfolio .home-introduction{max-width:36vw;bottom:22%;left:9.3%}.portfolio .enter-world,.portfolio .scene-title,.portfolio .systems-selector,.portfolio .career-detail,.portfolio .project-index,.portfolio .lab-description,.portfolio .timeline-scrubber,.portfolio .timeline-note,.portfolio .contact-composition{left:9%}.portfolio .scene-title h2{font-size:5.5vw}.portfolio .scene-title{top:24%}.portfolio .scene-kicker{letter-spacing:.06em}.portfolio .systems-selector{width:190px;top:43%}.portfolio .system-node{height:35px}.portfolio .domain-detail{width:41%;max-height:31%;bottom:13%;left:37%}.portfolio .technology-list{gap:7px 12px}.portfolio .career-detail{width:36%;max-height:37%;top:41%}.portfolio .era-display{top:43%;left:50%}.portfolio .project-index{width:26%;top:41%}.portfolio .project-content{width:38%;max-height:33%;bottom:12%;left:40%}.portfolio .project-open .project-content{max-height:54%}.portfolio .lab-description{width:31%;top:43%}.portfolio .lab-controls{width:33%;bottom:13%;left:44%}.portfolio .contact-composition{width:70%;top:24%}.portfolio .contact-composition h2{font-size:7vw}.portfolio .contact-intro{width:180px;top:48%;left:62%}.portfolio .contact-links{margin-top:24px}.portfolio .contact-signoff{margin-top:14px}.portfolio .location-subtitle{display:none}.portfolio .world-annotation{top:70%;left:59%}.portfolio .footer-controls{gap:12px}}@media (max-height:800px) and (min-width:760px){.portfolio .global-header{top:24px}.portfolio .local-time{top:33px}.portfolio .scene-coordinate{top:112px}.portfolio .home-heading{top:26%}.portfolio .identity{font-size:min(9.3vw,16.5vh)}.portfolio .identity-disciplines{margin-top:19px}.portfolio .home-introduction{bottom:21%}.portfolio .enter-world{bottom:9%}.portfolio .scene-title{top:22%}.portfolio .scene-title h2{margin-top:18px;font-size:min(5.45vw,8.7vh)}.portfolio .scene-intro{margin-top:12px}.portfolio .systems-selector{top:43%}.portfolio .system-node{height:31px}.portfolio .domain-detail{max-height:33%;padding-top:15px;bottom:12%}.portfolio .career-detail{max-height:34%;top:42%}.portfolio .career-detail h3{margin-top:12px}.portfolio .project-content{max-height:34%;bottom:12%}.portfolio .project-open .project-content{max-height:55%}.portfolio .project-index{top:41%}.portfolio .project-index button{min-height:51px}.portfolio .contact-composition{top:21%}.portfolio .contact-composition h2{margin-top:20px;font-size:min(7vw,11vh)}.portfolio .contact-links{margin-top:23px}.portfolio .contact-signoff{margin-top:12px}.portfolio .lab-description{top:43%}.portfolio .lab-controls{padding-bottom:10px;bottom:11%}.portfolio .global-footer{bottom:21px}.portfolio .renderer-telemetry{bottom:31px}.portfolio .edition{bottom:72px}}@media (max-width:899px){:root{--edge:24px}.portfolio{height:100svh;min-height:580px}.portfolio .global-header{top:24px}.portfolio .brand-mark{font-size:28px}.portfolio .brand-label{display:none}.portfolio .local-time{top:34px;right:24px}.portfolio .local-time>span:first-child,.portfolio .header-right{display:none}.portfolio .scene-coordinate{top:94px;left:24px}.portfolio .scene-coordinate i{width:20px}.portfolio .space-vignette{background:linear-gradient(#050607bb,#0000 32%,#05060780 54%,#050607ee 75%,#050607 95%)}.portfolio .world-layer{height:75%;bottom:14%}.portfolio .fallback-object{width:66vw;top:40%;left:65%}.portfolio .home-heading{top:25%;left:24px}.portfolio .home-heading .scene-kicker{letter-spacing:.06em}.portfolio .signal-line{width:18px}.portfolio .identity{letter-spacing:-.055em;margin-top:23px;font-size:17.6vw;line-height:1}.portfolio .identity-disciplines{letter-spacing:.6px;flex-wrap:wrap;gap:6px;max-width:88vw;margin-top:19px}.portfolio .home-introduction{width:300px;max-width:81vw;bottom:32%;left:26px}.portfolio .home-introduction>p:first-child{margin-bottom:8px}.portfolio .home-introduction>p+p{max-width:250px;line-height:1.6}.portfolio .enter-world{gap:14px;bottom:21.5%;left:24px}.portfolio .enter-orbit{width:40px;height:40px}.portfolio .button-subtitle{margin-top:7px}.portfolio .world-annotation,.portfolio .edition,.portfolio .coordinates{display:none}.portfolio .orbit-navigation{width:auto;height:46px;inset:auto 18px 67px;transform:none}.portfolio .orbit-caption,.portfolio .orbit-map>svg,.portfolio .orbit-help{display:none}.portfolio .orbit-map{border-top:1px solid #34424c66;justify-content:space-between;width:100%;height:46px;margin:0;padding-top:5px;display:flex}.portfolio .orbit-node{letter-spacing:0;flex:1;justify-content:center;align-items:center;width:auto;min-width:44px;height:44px;display:flex;position:relative;inset:auto!important}.portfolio .node-label{position:static!important;inset:auto!important}.portfolio .node-label .wide-label{display:none}.portfolio .node-label .compact-label{display:inline}.portfolio .node-dot{width:3px;height:3px;top:-7px!important;left:calc(50% - 2px)!important}.portfolio .orbit-node.is-current .node-dot{box-shadow:0 0 0 3px #dda66c10}.portfolio .mobile-travel{z-index:10;justify-content:space-between;align-items:center;height:44px;display:flex;position:absolute;bottom:122px;left:24px;right:24px}.portfolio .mobile-travel>button{width:44px;height:44px;color:var(--white);border:1px solid #48576188}.portfolio .mobile-travel>span{font:14px/1.5 var(--label);letter-spacing:.06em;text-transform:uppercase;text-align:center}.portfolio .mobile-travel small{letter-spacing:1px;color:var(--muted);margin-top:6px;display:block}.portfolio.scene-home .mobile-travel{display:none}.portfolio .global-footer{bottom:17px;left:24px;right:24px}.portfolio .footer-location{letter-spacing:.3px;gap:5px}.portfolio .location-cross{font-size:13px}.portfolio .location-subtitle{display:none}.portfolio .footer-controls{letter-spacing:.5px;gap:7px}.portfolio .footer-controls>button{width:25px;height:32px}.portfolio .footer-controls>button[aria-controls=controls-help]{display:none}.portfolio .control-divider{height:10px}.portfolio .renderer-telemetry{gap:7px;bottom:58px;left:24px;transform:none}.portfolio .renderer-telemetry .status-dot{width:3px;height:3px}.portfolio .renderer-telemetry>span:last-child{min-width:22px}.portfolio .scene-title{top:18%;left:24px;right:24px}.portfolio .scene-title .scene-kicker{letter-spacing:.06em}.portfolio .scene-title h2{letter-spacing:-.05em;margin-top:17px;font-size:11.3vw}.portfolio .scene-intro{margin-top:10px}.portfolio .systems-selector{flex-flow:wrap;gap:5px 15px;width:auto;display:flex;top:38%;left:24px;right:24px}.portfolio .system-node{border:0;gap:6px;min-width:64px;height:30px;padding:0}.portfolio .system-node.selected{padding:0}.portfolio .system-node-number{display:none}.portfolio .domain-detail{width:auto;max-width:none;max-height:24%;padding-top:14px;bottom:25%;left:24px;right:24px}.portfolio .domain-detail h3{margin:8px 0}.portfolio .domain-detail>p{line-height:1.6}.portfolio .technology-list{gap:5px 12px;margin-top:11px}.portfolio .scene-object-caption{display:none}.portfolio .career-detail{width:calc(100% - 48px);max-width:none;max-height:31%;padding-right:7px;top:39%;left:24px}.portfolio .career-detail h3{margin-top:9px}.portfolio .career-detail>p:not(.detail-eyebrow):not(.career-company){margin-top:9px;line-height:1.6}.portfolio .era-display{text-align:right;width:33%;top:29%;left:auto;right:24px}.portfolio .era-year{color:#cbd1d0;font-size:46px}.portfolio .era-kind{letter-spacing:.06em;margin-top:0}.portfolio .timeline-scrubber{width:auto;height:44px;bottom:25%;left:24px;right:24px}.portfolio .timeline-scrubber small{top:49px}.portfolio .timeline-note{display:none}.portfolio .project-index{gap:12px;width:auto;max-width:none;display:flex;top:37%;left:24px;right:24px}.portfolio .project-index button{flex:1;justify-content:space-between;gap:0;min-height:44px;padding:8px 0}.portfolio .project-index button>span:nth-child(2){display:none}.portfolio .project-index button>span:first-child{align-self:center;margin:0}.portfolio .project-index-dot{margin-right:15px}.portfolio .project-content{border-top:0;width:auto;max-width:none;max-height:30%;padding:14px 5px 0 0;bottom:25%;left:24px;right:24px}.portfolio .project-summary{margin-top:8px;line-height:1.6}.portfolio .project-category{margin-left:12px}.portfolio .text-action{min-height:40px;margin-top:12px}.portfolio .project-orbit-label{display:none}.portfolio .project-open .project-content{background:linear-gradient(#05060766,#050607f2 35%,#050607f7);max-height:37%;margin-left:0;padding-left:0;bottom:24%}.portfolio .project-open .project-index{top:33%}.portfolio .lab-description{width:calc(100% - 48px);max-width:none;top:39%;left:24px}.portfolio .lab-description h3{margin:10px 0}.portfolio .lab-description p{max-width:330px;line-height:1.6}.portfolio .lab-description .lab-note{margin-top:9px}.portfolio .lab-controls{width:auto;max-width:none;max-height:22%;padding:13px 0 0;bottom:24%;left:24px;right:24px;overflow:auto}.portfolio .lab-controls legend{margin-bottom:9px}.portfolio .segmented-control button{min-height:32px}.portfolio .range-label{margin-top:13px}.portfolio .lab-controls-bottom{margin-top:5px}.portfolio .lab-controls-bottom button{width:28px;height:28px}.portfolio .contact-composition{width:auto;top:20%;left:24px;right:24px}.portfolio .contact-composition>.scene-kicker{letter-spacing:.06em}.portfolio .contact-composition h2{margin-top:22px;font-size:13.6vw;line-height:1.04}.portfolio .contact-intro{width:auto;margin-top:20px;position:static}.portfolio .contact-links{gap:4px 20px;margin-top:18px}.portfolio .email-link{gap:15px;font-size:13px}.portfolio .copy-email{min-height:32px}.portfolio .social-links{gap:24px;margin-top:8px}.portfolio .contact-signoff{letter-spacing:.7px;margin-top:7px}.portfolio .copy-feedback{min-height:10px;margin-top:7px}.portfolio .controls-help{width:auto;padding:22px;bottom:120px;left:24px;right:24px}.portfolio .boot-message{padding:10px;bottom:173px}.portfolio .no-script{bottom:180px;left:24px;right:24px}.readable-profile{padding:28px 24px}.readable-profile header{margin-bottom:70px}.readable-profile main>h1{letter-spacing:-2px}.readable-profile h2{font-size:26px}.readable-profile nav{gap:18px}.readable-profile footer{flex-direction:column}}@media (max-width:759px) and (max-height:740px){.portfolio .scene-coordinate{top:78px}.portfolio .home-heading{top:25%}.portfolio .identity{font-size:16.5vw}.portfolio .identity-disciplines{margin-top:14px}.portfolio .home-introduction{bottom:29%}.portfolio .enter-world{bottom:17.5%}.portfolio .orbit-navigation{bottom:54px}.portfolio .renderer-telemetry{bottom:47px}.portfolio .global-footer{bottom:10px}.portfolio .mobile-travel{bottom:101px}.portfolio .scene-title{top:17%}.portfolio .scene-title h2{margin-top:13px;font-size:10.4vw}.portfolio .scene-intro{margin-top:6px}.portfolio .systems-selector{gap:1px 13px;top:35%}.portfolio .system-node{height:29px}.portfolio .domain-detail{max-height:25%;bottom:24%}.portfolio .era-display{top:28%}.portfolio .era-year{font-size:37px}.portfolio .career-detail{max-height:29%;top:38%}.portfolio .timeline-scrubber{bottom:24%}.portfolio .project-content{max-height:32%;bottom:24%}.portfolio .project-index{top:32%}.portfolio .project-open .project-content{max-height:36%;bottom:24%}.portfolio .project-open .project-index{top:31%}.portfolio .lab-description{top:34%}.portfolio .lab-description h3{margin:8px 0}.portfolio .lab-description .lab-note{display:none}.portfolio .lab-controls{max-height:23%;bottom:24%}.portfolio .range-label{margin-top:8px}.portfolio .contact-composition{top:17%}.portfolio .contact-composition h2{margin-top:17px;font-size:12vw}.portfolio .contact-intro{margin-top:13px}.portfolio .contact-links{margin-top:9px}.portfolio .contact-signoff{display:none}}@media (max-height:520px) and (min-width:760px){.portfolio{height:660px;min-height:660px}.portfolio .scene-content{position:absolute}.portfolio .global-header{top:20px}.portfolio .local-time{top:28px}}@media (min-width:760px) and (max-width:899px) and (orientation:portrait){.portfolio .identity{font-size:15.5vw}.portfolio .home-introduction{width:430px}.portfolio .home-introduction>p+p{max-width:360px}.portfolio .scene-title h2{font-size:9vw}.portfolio .systems-selector{gap:8px 24px}.portfolio .system-node{min-height:44px}.portfolio .domain-detail{max-height:24%;padding-top:22px}.portfolio .domain-detail>p{max-width:600px}.portfolio .era-year{font-size:74px}.portfolio .project-summary,.portfolio .project-architecture p{max-width:590px}.portfolio .lab-description{max-width:520px}.portfolio .lab-description p{max-width:500px}.portfolio .lab-controls{max-width:580px}.portfolio .segmented-control button{min-height:44px}.portfolio .contact-composition h2{font-size:11.8vw}.portfolio .email-link{font-size:20px}}.portfolio .domain-detail,.portfolio .career-detail,.portfolio .project-content,.portfolio .lab-description,.portfolio .lab-controls{text-shadow:0 1px 3px #050607;background:linear-gradient(90deg,#050607ed,#050607b8 75%,#05060766)}.portfolio .home-introduction>p,.portfolio .scene-intro,.portfolio .contact-intro{text-shadow:0 1px 6px #050607,0 0 18px #050607}.portfolio .local-time{right:330px}.portfolio .timeline-scrubber small{letter-spacing:0;font-size:12px}.portfolio .technology-list{font-size:14px}.portfolio .scene-kicker{letter-spacing:.08em}.portfolio .system-node{height:auto;min-height:44px}.portfolio .footer-controls{font-size:14px}.portfolio .contact-signoff{letter-spacing:.04em}.portfolio .segmented-control button{min-height:44px;font-size:16px}.portfolio .brand-label{font-weight:550}.portfolio .orbit-node{letter-spacing:0;font-size:13px;font-weight:550}.portfolio .scene-object-caption{display:none}.portfolio .home-introduction>p+p{max-width:46ch}.readable-profile nav{font-size:16px}.readable-profile h3{font-size:24px;font-weight:600}.readable-profile .technology-list{font-size:14px}@media (min-width:900px) and (max-width:1200px){.portfolio .scene-title,.portfolio .systems-selector,.portfolio .career-detail,.portfolio .project-index,.portfolio .lab-description,.portfolio .timeline-scrubber,.portfolio .timeline-note,.portfolio .contact-composition{left:6%}.portfolio .orbit-navigation{right:70px}.portfolio .domain-detail{width:39%;max-height:44%;left:31%}.portfolio .project-content{width:36%;max-height:44%;left:35%}.portfolio .project-index{width:26%}.portfolio .lab-controls{width:32%;left:40%}.portfolio .contact-intro{width:38%;left:63%}.portfolio .renderer-telemetry{display:none}}@media (min-width:900px) and (max-height:800px){.portfolio .home-heading{top:22%}.portfolio .identity{font-size:min(8.5vw,14vh)}.portfolio .home-introduction{bottom:21%}.portfolio .scene-title{top:19%}.portfolio .scene-title h2{margin-top:12px}.portfolio .scene-intro{margin-top:10px}.portfolio .systems-selector{top:40%}.portfolio .domain-detail{max-height:42%}.portfolio .project-content{max-height:43%}.portfolio .career-detail{max-height:38%;top:39%}.portfolio .lab-description{top:40%}.portfolio .timeline-scrubber{bottom:14%}.portfolio .timeline-note{display:none}}@media (max-width:899px){.portfolio .local-time{font-size:12px;right:24px}.portfolio .scene-coordinate{font-size:12px;top:86px}.portfolio .space-vignette{background:linear-gradient(90deg,#050607d9,#05060755),linear-gradient(#05060788,#05060744 30%,#05060799 60%,#050607 88%)}.portfolio .scene-arrival{pointer-events:auto;touch-action:pan-y;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#7e8b95 transparent;padding:8px 24px 28px;scroll-padding:16px;inset:125px 0 190px;overflow:auto}.portfolio.scene-home .scene-arrival{bottom:135px}.portfolio .scene-arrival>div{flex-direction:column;gap:24px;width:100%;min-height:100%;display:flex;position:relative;inset:auto}.portfolio .home-heading,.portfolio .home-introduction,.portfolio .enter-world,.portfolio .scene-title,.portfolio .systems-selector,.portfolio .domain-detail,.portfolio .career-detail,.portfolio .timeline-scrubber,.portfolio .project-index,.portfolio .project-content,.portfolio .project-open .project-content,.portfolio .project-open .project-index,.portfolio .lab-description,.portfolio .lab-controls,.portfolio .contact-composition{background:0 0;width:100%;max-width:none;max-height:none;margin-left:0;position:static;inset:auto;overflow:visible}.portfolio .scene-arrival p,.portfolio .responsibilities{font-size:16px;line-height:1.6}.portfolio .scene-arrival .scene-kicker,.portfolio .scene-arrival .detail-eyebrow,.portfolio .scene-arrival .contact-signoff{font-size:12px}.portfolio .home-introduction>p:first-child{font-size:20px}.portfolio .identity{margin-top:20px;font-size:clamp(48px,16.5vw,96px)}.portfolio .identity-disciplines{letter-spacing:.015em;gap:4px 8px;margin-top:20px;font-size:12px}.portfolio .home-introduction>p+p{max-width:45ch}.portfolio .enter-world{margin-top:0;font-size:14px}.portfolio .button-subtitle{margin-top:4px;font-size:12px}.portfolio .scene-title h2{margin-top:12px;font-size:clamp(32px,9.7vw,68px)}.portfolio .scene-intro{margin-top:12px}.portfolio .systems-selector{gap:4px 18px}.portfolio .system-node{min-height:44px;font-size:16px}.portfolio .domain-detail{padding:18px 0 0}.portfolio .domain-detail h3,.portfolio .career-detail h3,.portfolio .project-content h3,.portfolio .lab-description h3{font-size:26px}.portfolio .career-detail{order:2;padding-right:0}.portfolio .era-display{display:none}.portfolio .timeline-scrubber{flex-shrink:0;height:78px;position:relative}.portfolio .timeline-scrubber button{font-size:16px}.portfolio .timeline-scrubber small{white-space:normal;font-size:10px;line-height:1.1;top:58px}.portfolio .project-index{gap:16px}.portfolio .project-index button>span:first-child{font-size:16px}.portfolio .project-content,.portfolio .project-open .project-content{padding:0}.portfolio .text-action{min-height:44px;margin-top:20px;font-size:14px}.portfolio .project-category{font-size:12px;display:inline}.portfolio .lab-description .lab-note{font-size:14px;display:block}.portfolio .lab-controls{padding:20px 0}.portfolio .lab-controls legend,.portfolio .range-label{font-size:14px}.portfolio .range-label{margin-top:20px}.portfolio .lab-controls-bottom{font-size:12px}.portfolio .scene-arrival>.contact-composition{gap:0;min-height:0}.portfolio .contact-composition h2{margin-top:20px;font-size:clamp(38px,12vw,86px)}.portfolio .contact-links{gap:12px 20px;margin-top:20px}.portfolio .email-link{gap:12px;min-height:44px;font-size:20px}.portfolio .copy-email,.portfolio .social-links{min-height:44px;font-size:14px}.portfolio .contact-signoff{margin-top:18px;display:block}.portfolio .copy-feedback:empty{display:none}.portfolio .orbit-navigation{bottom:70px;left:12px;right:12px}.portfolio .orbit-node{text-transform:none;font-size:13px}.portfolio .global-footer{bottom:14px}.portfolio .footer-location{font-size:12px}.portfolio .footer-controls{gap:10px;font-size:12px}.portfolio .renderer-telemetry{display:none}.portfolio .mobile-travel{bottom:128px}.portfolio .mobile-travel>span{letter-spacing:.03em;font-size:14px}.portfolio .mobile-travel small{margin-top:1px;font-size:12px}.portfolio .controls-help{max-height:calc(100% - 160px);overflow:auto}.readable-profile p,.readable-profile li{font-size:16px}.readable-profile .technology-list{font-size:14px}}@media (min-width:900px) and (max-width:1399px),(min-width:900px) and (max-height:720px){.portfolio{height:100svh;min-height:0}.portfolio .scene-coordinate,.portfolio .world-annotation,.portfolio .edition,.portfolio .renderer-telemetry,.portfolio .location-subtitle{display:none}.portfolio .global-header{top:24px}.portfolio .local-time{top:33px}.portfolio .global-footer{bottom:18px}.portfolio .scene-arrival{pointer-events:auto;scrollbar-width:thin;scrollbar-color:#7e8b95 transparent;overscroll-behavior:contain;padding:2px 8px 12px 0;scroll-padding:12px;inset:112px 300px 82px 6%;overflow:auto}.portfolio .scene-composition{grid-template-columns:minmax(180px,.75fr) minmax(240px,1.25fr);align-items:start;gap:24px 32px;display:grid}.portfolio .home-composition{flex-direction:column;align-items:flex-start;gap:20px;display:flex}.portfolio .home-heading,.portfolio .home-introduction,.portfolio .enter-world,.portfolio .scene-title,.portfolio .systems-selector,.portfolio .domain-detail,.portfolio .career-detail,.portfolio .project-index,.portfolio .project-content,.portfolio .project-open .project-content,.portfolio .lab-description,.portfolio .lab-controls,.portfolio .contact-composition{width:100%;max-width:none;max-height:none;margin-left:0;position:static;inset:auto;overflow:visible}.portfolio .identity{letter-spacing:-.035em;margin-top:16px;font-size:clamp(64px,11.5vh,104px);font-weight:550;line-height:1.02}.portfolio .identity-disciplines{flex-wrap:wrap;gap:4px 12px;margin-top:16px}.portfolio .home-introduction{max-width:48ch}.portfolio .home-introduction>p:first-child{font-size:20px}.portfolio .enter-world{width:auto;min-height:44px}.portfolio .scene-title{grid-column:1/-1}.portfolio .scene-title h2{letter-spacing:-.025em;margin-top:12px;font-size:clamp(40px,4.2vw,60px);font-weight:550;line-height:1.12}.portfolio .scene-intro{margin-top:12px}.portfolio .systems-selector{flex-direction:column;display:flex}.portfolio .system-node{min-height:42px}.portfolio .domain-detail{padding-top:16px}.portfolio .career-detail{grid-area:3/1/auto/-1;max-width:62ch;padding:0}.portfolio .era-display,.portfolio .timeline-note{display:none}.portfolio .timeline-scrubber{grid-area:2/1/auto/-1;width:100%;height:76px;position:relative;inset:auto}.portfolio .project-content,.portfolio .project-open .project-content{padding:16px 0 0}.portfolio .project-index{display:grid}.portfolio .project-index button{min-height:56px}.portfolio .project-orbit-label{display:none}.portfolio .lab-description{padding:0}.portfolio .lab-controls{padding:16px 0}.portfolio .contact-composition{flex-direction:column;align-items:flex-start;display:flex}.portfolio .contact-composition h2{letter-spacing:-.025em;margin-top:14px;font-size:clamp(44px,7.5vh,72px);line-height:1.1}.portfolio .contact-intro{width:auto;margin-top:20px;position:static}.portfolio .contact-links{gap:10px 24px;margin-top:20px}.portfolio .contact-signoff{margin-top:14px}.portfolio .copy-feedback:empty{display:none}.portfolio .orbit-navigation{top:30%;right:75px;transform:none}.portfolio .scene-arrival p,.portfolio .career-detail,.portfolio .domain-detail,.portfolio .project-content,.portfolio .lab-description,.portfolio .lab-controls{text-shadow:none}}@media (min-width:900px) and (max-height:650px){.portfolio .scene-arrival{top:96px;bottom:76px}.portfolio .scene-composition{row-gap:18px}.portfolio .scene-title h2{margin-top:10px;font-size:44px}.portfolio .scene-intro{margin-top:10px}.portfolio .system-node{min-height:38px}}@media (max-width:1399px){.portfolio .scene-title h2,.portfolio .contact-composition h2{letter-spacing:-.025em}.portfolio .scene-arrival p{text-shadow:none}.portfolio .scene-kicker,.portfolio .detail-eyebrow,.portfolio .identity-disciplines{letter-spacing:.025em}}@media (max-width:899px){.portfolio .identity{letter-spacing:-.035em;line-height:1.05}.portfolio .scene-title h2{font-size:clamp(30px,9.2vw,64px);font-weight:550}}@media (min-width:600px) and (max-width:899px) and (orientation:landscape){.portfolio{min-height:0}.portfolio .scene-coordinate,.portfolio .mobile-travel{display:none}.portfolio .scene-arrival,.portfolio.scene-home .scene-arrival{padding:8px 32px 24px;inset:96px 0 124px}.portfolio .scene-arrival>div{gap:20px;max-width:680px;min-height:0}.portfolio .identity{font-size:64px}.portfolio .scene-title h2{font-size:44px}.portfolio .home-introduction{max-width:48ch}.portfolio .contact-composition h2{font-size:48px}.portfolio .space-vignette{background:linear-gradient(90deg,#050607ed,#050607bb 55%,#05060755)}}
:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--void:#edf1f3;--graphite:#e1e7eb;--white:#18242e;--muted:#4c5b67;--line:#bac5ca;--amber:#9b5b26}.header-actions{align-items:center;gap:24px;display:flex}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--white);background:var(--void);border-radius:50%;flex:0 0 44px;place-items:center;transition:border-color .18s,color .18s,background-color .18s;display:grid}.theme-toggle:hover{color:var(--amber);border-color:var(--amber)}.theme-toggle svg{grid-area:1/1;width:20px;height:20px}.theme-moon,[data-theme=light] .theme-sun{display:none}[data-theme=light] .theme-moon{display:block}.portfolio .local-time{right:calc(var(--edge) + 300px)}[data-theme=light] .portfolio .space-vignette{background:linear-gradient(90deg,#edf1f3f5,#edf1f3f5 38%,#edf1f3c7 50%,#edf1f330 65%,#0000 75%),linear-gradient(270deg,#edf1f3e6,#edf1f3b3 12%,#0000 27%),linear-gradient(#edf1f3cc,#0000 22% 77%,#edf1f3f2)}[data-theme=light] .space-grain{opacity:.018;mix-blend-mode:multiply}[data-theme=light] .portfolio :is(.domain-detail,.career-detail,.project-content,.lab-description,.lab-controls){text-shadow:none;background:linear-gradient(90deg,#edf1f3f5,#edf1f3eb 75%,#edf1f3b8)}[data-theme=light] .portfolio :is(.home-introduction>p,.scene-intro,.contact-intro){text-shadow:none}[data-theme=light] :is(.home-introduction>p:first-child,.career-company){color:var(--white)}[data-theme=light] :is(.technology-list,.project-architecture p,.coordinates,.edition,.world-annotation,.world-annotation div>span,.orbit-caption>span:last-child,.orbit-help,.system-node-number,.timeline-scrubber button,.timeline-scrubber small,.project-index button>span:first-child,.segmented-control button,.contact-signoff){color:var(--muted)}[data-theme=light] :is(.timeline-scrubber button.active,.segmented-control button[aria-pressed=true]){color:var(--white)}[data-theme=light] :is(.system-node.selected .system-node-number,.project-index button.selected>span:first-child){color:var(--amber)}[data-theme=light] :is(.system-node,.project-index button,.domain-detail,.career-detail,.project-content,.lab-controls,.contact-links,.segmented-control button,.lab-toggle){border-color:var(--line)}[data-theme=light] .segmented-control button[aria-pressed=true]{border-color:var(--amber);background:#9b5b260c}[data-theme=light] .controls-help{border-color:var(--line);background:#f9fbfcfa;box-shadow:0 12px 48px #18242e1a}[data-theme=light] .era-year{color:#edf1f3;-webkit-text-stroke:1px #4c5b67;paint-order:stroke fill}[data-theme=light] .journey-progress{background:var(--line)}[data-theme=light] .timeline-track{background:linear-gradient(90deg,#bac5ca,#788b97)}[data-theme=light] .timeline-point{background:var(--void)}[data-theme=light] .timeline-scrubber button.active .timeline-point{background:var(--amber);box-shadow:0 0 0 5px #9b5b2610,0 0 0 6px #9b5b2640}[data-theme=light] .precision-reticle{border-color:#4c5b6780}[data-theme=light] .portfolio .orbit-boundary,[data-theme=light] .portfolio .orbit-axis{stroke:#657b8b60}[data-theme=light] .portfolio .orbit-vector{stroke:var(--amber)}[data-theme=light] .portfolio .orbit-center{fill:var(--amber)}[data-theme=light] .portfolio .orbit-center-outline{stroke:#9b5b2680}[data-theme=light] :is(.fallback-world,.no-script){background:var(--void)}[data-theme=light] .fallback-distant-field{opacity:.7}[data-theme=light] .fallback-ring{border-color:#637b8c66}[data-theme=light] .fallback-planet{box-shadow:inset -12px 6px 30px #cad7de66,0 0 55px #8b9ea233}[data-theme=light] [data-scroll-panel]{scrollbar-color:#788b97 transparent}@media (min-width:1400px) and (min-height:721px){[data-theme=light] .portfolio .contact-intro{top:40%}}@media (min-width:900px) and (max-width:1399px),(min-width:900px) and (max-height:720px){[data-theme=light] .portfolio .space-vignette{background:linear-gradient(90deg,#edf1f3fa,#edf1f3db 43%,#edf1f388 68%,#edf1f3b3),linear-gradient(#edf1f3,#0000 25% 72%,#edf1f3)}}@media (max-width:899px){.portfolio .local-time{right:calc(var(--edge) + 64px);top:37px}.header-actions{gap:16px}[data-theme=light] .portfolio .space-vignette{background:linear-gradient(90deg,#edf1f3e6,#edf1f3b3),linear-gradient(#edf1f3bb,#edf1f344 30%,#edf1f3a6 58%,#edf1f3 88%)}[data-theme=light] .portfolio :is(.domain-detail,.career-detail,.project-content,.lab-description,.lab-controls){background:0 0}}
[data-theme=dark]{--void:#070b16}.fallback-gargantua{aspect-ratio:16/7;pointer-events:none;background:url(/assets/gargantua-night.svg) 50%/contain no-repeat;width:min(29vh,48vw);position:absolute;top:24%;left:83%;transform:translate(-50%,-50%)}[data-theme=light] .fallback-gargantua{background-image:url(/assets/gargantua-day.svg)}@media (max-aspect-ratio:3/4){.fallback-gargantua{top:17%;left:66%}}.fallback-sky-events{pointer-events:none;color:#bcdcff;position:absolute;inset:0;overflow:hidden}.sky-meteor{opacity:0;transform-origin:0;background:linear-gradient(90deg,currentColor,#0000);border-radius:100%;width:clamp(65px,11vw,150px);height:1.5px;animation:18s linear 2.6s infinite sky-meteor;position:absolute;top:14%;left:83%;box-shadow:0 0 6px #adcfff44}.sky-meteor:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;position:absolute;top:-1px;left:-1px;box-shadow:0 0 9px}.meteor-two{animation-delay:11.4s;top:23%;left:68%}@keyframes sky-meteor{0%{opacity:0;transform:translate(0)rotate(-28deg)}1.2%{opacity:.75}7%{opacity:.5}9.5%,to{opacity:0;transform:translate(-22vw,11vw)rotate(-28deg)}}.sky-bloom{width:84px;height:84px;position:absolute;top:16%;left:66%;transform:translate(-50%,-50%)}.sky-bloom i{opacity:0;border-radius:50%;animation:22s ease-out 6.8s infinite sky-bloom;position:absolute}.bloom-ring{border:1px solid;inset:0;box-shadow:0 0 9px #a8ceff22,inset 0 0 8px #a8ceff11}.bloom-core{background:radial-gradient(circle,#f5d6ab,#bcdcff55 30%,#0000 70%);inset:29px}.bloom-particles{width:2px;height:2px;top:41px;left:41px;box-shadow:26px 7px,-23px 17px,12px -32px,-34px -13px,28px -22px,-8px 35px}@keyframes sky-bloom{0%{opacity:0;transform:scale(.12)}1.4%{opacity:.65}7%{opacity:.3}17%,to{opacity:0;transform:scale(1.2)}}[data-theme=light] .fallback-sky-events{color:#4e718e}[data-theme=light] .bloom-core{background:radial-gradient(circle,#92704d66,#507fa433 30%,#0000 70%)}.motion-still .fallback-sky-events{display:none}@media (prefers-reduced-motion:reduce){.fallback-sky-events{display:none}}.portfolio,.portfolio .fallback-distant-field{background:#070b16 url(/assets/cosmos-night.svg) 50%/cover no-repeat}.portfolio .fallback-distant-field{opacity:1}[data-theme=light] .portfolio,[data-theme=light] .portfolio .fallback-distant-field{background:#edf1f3 url(/assets/cosmos-day.svg) 50%/cover no-repeat}[data-theme=dark] .portfolio .space-vignette{background:linear-gradient(90deg,#070b16b8,#070b1666 40%,#0000 68%),linear-gradient(#070b1666,#0000 20% 75%,#070b16e6)}[data-theme=dark] .portfolio :is(.domain-detail,.career-detail,.project-content,.lab-description,.lab-controls){background:linear-gradient(90deg,#070b16ed,#070b16c2 75%,#070b1670)}@media (max-width:899px){.portfolio .world-layer{-webkit-mask-image:linear-gradient(#000 65%,#0000 100%);mask-image:linear-gradient(#000 65%,#0000 100%)}[data-theme=dark] .portfolio .space-vignette{background:linear-gradient(90deg,#070b16cc,#070b1677),linear-gradient(#070b1644,#0000 22%,#070b1666 60%,#070b16cc)}[data-theme=dark] .portfolio :is(.domain-detail,.career-detail,.project-content,.lab-description,.lab-controls){background:0 0}}
.portfolio{--reading-surface:linear-gradient(135deg, #14213988, #080f1c70);--reading-edge:#bdd2ed1a;--reading-shadow:0 12px 32px #02050d1a}[data-theme=light] .portfolio{--reading-surface:linear-gradient(135deg, #f6f9fbea, #edf2f6e6);--reading-edge:#718b9f26;--reading-shadow:0 12px 32px #1b334b08}[data-theme] .portfolio .scene-panel :is(.project-content,.domain-detail,.career-detail,.lab-controls){border:1px solid var(--reading-edge);background:var(--reading-surface);box-shadow:var(--reading-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:none;background-clip:padding-box;border-radius:16px;padding:22px;scroll-padding-block:22px}[data-theme] .portfolio .scene-panel .lab-description{text-shadow:none;background:0 0}.portfolio .scene-panel .project-open .project-content{margin-left:0}@media (max-width:899px){[data-theme] .portfolio .scene-panel :is(.project-content,.domain-detail,.career-detail,.lab-controls){-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;padding:18px;scroll-padding-block:18px}}
.fallback-scene-0 .fallback-planet{filter:saturate(.45)brightness(.65);background:radial-gradient(circle at 83% 24%,#08111c40 10%,#020711db 74%),url(/assets/earth-map.svg) 54%/215% 100%;box-shadow:inset -12px -5px 32px #010610,inset 5px 2px 10px #6d8ba438,0 0 9px #6d8ba422}:is(.fallback-scene-0,.fallback-scene-5) .planet-etched{opacity:.14;mix-blend-mode:screen}.portfolio .fallback-scene-5 .fallback-object{width:max(64vw,80vh);top:calc(56% + max(28.8vw,36vh));left:67%}.fallback-scene-5 .fallback-planet{z-index:1;filter:saturate(.45);background:radial-gradient(at 72% 0,#09111b66,#020610ed 65%),url(/assets/earth-map.svg) 54% 60%/215% 160%;transform:rotate(-7deg);box-shadow:inset 0 1px 2px #eec99960,inset 0 3px 8px #54718633}.fallback-sunrise{z-index:0;aspect-ratio:1;background:radial-gradient(circle,#fff0cf 0 5%,#f8ce90 7%,#eaae6066 12%,#d6893030 24%,#d6893010 44%,#0000 68%);border-radius:50%;width:18%;position:absolute;top:7%;left:63%;transform:translate(-50%,-50%)}[data-theme=light] .fallback-scene-5 .fallback-sunrise{opacity:.8}.fallback-scene-5 .fallback-ring{display:none}@media (max-width:899px){.portfolio .fallback-scene-5 .fallback-object{width:max(115vw,70vh);top:calc(59% + max(51.75vw,31.5vh));left:50%}.fallback-scene-5 .fallback-sunrise{top:9.2%;left:69%}}.fallback-impact{pointer-events:none;color:#f5a850;width:1px;height:1px;position:absolute;top:29%;left:68%}.fallback-impact i{border-radius:50%;display:block;position:absolute}.impact-meteor{background:#fff0c2;width:9px;height:9px;animation:.85s cubic-bezier(.55,0,.95,.5) forwards impact-approach;box-shadow:0 0 12px #ffbd5d,0 0 25px #ed78388a}.impact-meteor:after{content:"";transform-origin:0;background:linear-gradient(90deg,#ffd88ed9,#dd722938,#0000);width:100px;height:5px;position:absolute;bottom:4px;left:4px;transform:rotate(-48deg)}.impact-heat{opacity:0;background:radial-gradient(circle,#fff3b2,#e98635aa 14%,#e5752144 38%,#0000 70%);width:80px;height:80px;animation:2.35s ease-out .85s forwards impact-heat;top:-40px;left:-40px}.impact-wave{opacity:0;border:2px solid #f4ae5c;width:100px;height:100px;animation:1.65s ease-out .85s forwards impact-wave;top:-50px;left:-50px;box-shadow:0 0 7px #ef9c4844}.impact-sparks{opacity:0;width:3px;height:3px;animation:1.8s ease-out .85s forwards impact-wave;box-shadow:32px 9px,-29px 18px,14px -38px,-34px -28px,45px -17px,-8px 34px}@keyframes impact-approach{0%{transform:translate(240px,-270px)scale(.5)}99%{opacity:1}to{opacity:0;transform:translate(0)scale(1)}}@keyframes impact-heat{0%{opacity:1;transform:scale(.5)}18%{opacity:.7}to{opacity:0;transform:scale(1.3)}}@keyframes impact-wave{0%{opacity:.9;transform:scale(.1)}to{opacity:0;transform:scale(1.5)}}.fallback-impact.is-quiet :is(.impact-meteor,.impact-wave,.impact-sparks){display:none}.fallback-impact.is-quiet .impact-heat{opacity:.4;animation:none;transform:scale(.6)}
.terminal-dialog{--terminal-surface:#0b1320;--terminal-rail:#111e2d;--terminal-text:#e4eaf0;--terminal-muted:#a9b9c9;--terminal-edge:#8098ae35;--terminal-accent:#e6b47e;--terminal-error:#f1ab94;--terminal-mono:"Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace;width:min(900px,100vw - 48px);height:min(660px, calc(var(--terminal-vh,100dvh) - 64px));border:1px solid var(--terminal-edge);max-width:none;max-height:none;color:var(--terminal-text);background:var(--terminal-surface);text-align:left;text-shadow:none;border-radius:20px;margin:auto;padding:0;position:fixed;inset:0;overflow:hidden;box-shadow:0 32px 100px #0008,0 0 0 1px #ffffff05}.terminal-dialog::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#020711a6}.terminal-dialog[open]{animation:.22s ease-out terminal-reveal}.terminal-frame{flex-direction:column;height:100%;min-height:0;display:flex}.terminal-titlebar{background:var(--terminal-rail);border-bottom:1px solid var(--terminal-edge);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:17px 24px;display:flex}.terminal-heading{align-items:center;gap:14px;min-width:0;display:flex}.terminal-mark{font:24px/1 var(--terminal-mono);color:var(--terminal-accent)}.terminal-heading h2{color:var(--terminal-text);font:600 17px/1.3 var(--sans)}.terminal-heading p{color:var(--terminal-muted);font:12px/1.7 var(--terminal-mono)}.terminal-heading p span{opacity:.6;margin:0 6px}.terminal-close{color:var(--terminal-text);border:1px solid var(--terminal-edge);width:44px;height:44px;font:27px/1 var(--sans);border-radius:50%;flex:none}.terminal-close:hover{background:#8098ae15}.terminal-output{overscroll-behavior:contain;scrollbar-color:#5b7186 transparent;min-height:0;font:15px/1.75 var(--terminal-mono);flex:auto;padding:26px 30px 18px;scroll-padding:24px;overflow:auto}.terminal-welcome{color:var(--terminal-muted);padding-bottom:26px}.terminal-eyebrow{color:var(--terminal-accent);font:600 11px/1.6 var(--sans);letter-spacing:.1em}.terminal-name{color:var(--terminal-text);font:600 29px/1.4 var(--terminal-mono);margin:10px 0 8px}.terminal-name span{color:var(--terminal-accent)}.terminal-welcome code{color:var(--terminal-text);font-family:inherit}.terminal-welcome>p:not(.terminal-name){color:var(--terminal-muted)}.terminal-suggestions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.terminal-suggestions button{border:1px solid var(--terminal-edge);min-height:42px;color:var(--terminal-text);font:13px/1.5 var(--terminal-mono);border-radius:8px;align-items:center;gap:20px;padding:8px 12px;display:flex}.terminal-suggestions button:hover{background:var(--terminal-rail);border-color:var(--terminal-accent)}.terminal-suggestions button span{color:var(--terminal-accent)}.terminal-entry{border-top:1px solid var(--terminal-edge);padding:19px 0}.terminal-echo{overflow-wrap:anywhere;margin-bottom:8px}.terminal-echo span,.terminal-prompt{color:var(--terminal-accent)}.terminal-echo code{color:var(--terminal-text);font:inherit}.terminal-entry pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;color:var(--terminal-text);margin:0}.terminal-entry.is-error pre{color:var(--terminal-error)}.terminal-download{color:var(--terminal-accent);text-underline-offset:4px;margin-top:10px;text-decoration:underline;display:inline-block}.terminal-commandline{border-top:1px solid var(--terminal-edge);background:var(--terminal-rail);font:16px/1.6 var(--terminal-mono);flex:none;align-items:center;gap:12px;padding:14px 22px;display:flex}.terminal-commandline input{width:100%;min-width:0;color:var(--terminal-text);font:inherit;background:0 0;border:0;border-radius:4px;padding:8px 4px}.terminal-commandline input::placeholder{color:var(--terminal-muted);opacity:.8}.terminal-commandline input:focus-visible{outline-offset:3px}.terminal-commandline button{width:42px;height:42px;color:var(--terminal-accent);border:1px solid var(--terminal-edge);border-radius:8px;flex:none}.terminal-footnote{color:var(--terminal-muted);background:var(--terminal-surface);font:12px/1.5 var(--sans);flex:none;justify-content:space-between;gap:14px;padding:11px 24px;display:flex}.terminal-footnote i{background:#9fc8b8;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block}.terminal-footnote>span{color:var(--terminal-muted)}.terminal-footnote b{opacity:.6;margin:0 5px;font-weight:400}.portfolio .footer-controls .terminal-trigger{white-space:nowrap;align-items:center;gap:8px;width:auto;min-width:36px;height:36px;display:inline-flex}.terminal-trigger .terminal-trigger-icon{color:var(--amber);font:17px/1 var(--terminal-mono,Consolas, monospace)}.lab-terminal-entry{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.lab-terminal-entry p{margin-bottom:12px}.lab-terminal-entry button{min-height:44px;color:var(--amber);border-bottom:1px solid var(--amber);align-items:center;gap:14px;font-weight:600;display:inline-flex}.terminal-dialog[data-theme=light]{--terminal-surface:#f3f6f8;--terminal-rail:#e6edf1;--terminal-text:#1c2b37;--terminal-muted:#4d6273;--terminal-edge:#617b9138;--terminal-accent:#92501f;--terminal-error:#a03e26;box-shadow:0 30px 90px #10263533}[data-theme=light] .terminal-footnote i{background:#326e56}@keyframes terminal-reveal{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@media (max-width:899px){.footer-controls .terminal-trigger-label{display:none}.portfolio .footer-controls .terminal-trigger{justify-content:center;width:36px}}@media (max-width:600px),(max-height:600px){.terminal-dialog{top:calc(var(--terminal-top,0px) + 12px);width:calc(100vw - 24px);height:calc(var(--terminal-vh,100dvh) - 24px);border-radius:14px;margin:0 auto;bottom:auto}.terminal-titlebar{padding:10px 14px}.terminal-output{padding:16px;font-size:14px}.terminal-name{font-size:24px}.terminal-commandline{gap:8px;padding:10px 12px}.terminal-prompt{font-size:13px}.terminal-footnote{padding:9px 14px;font-size:11px}.terminal-footnote b{margin:0 2px}}@media (max-height:450px){.terminal-titlebar{padding-block:5px}.terminal-footnote{display:none}}@media (prefers-reduced-motion:reduce){.terminal-dialog[open]{animation:none}}
