:root{color:#fff;background:#000;font-family:SF Pro Text,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--black: #000000;--white: #ffffff;--ink: #0b0b0b;--soft: #e8e8e8;--muted: #a8a8a8;--line: rgba(255, 255, 255, .22);--line-dark: rgba(0, 0, 0, .18);--max: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--black)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:var(--black);background:var(--white)}[data-reveal]{transform:translateY(12px);transition:transform .52s ease}[data-reveal].is-visible{transform:translateY(0)}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:64px;padding:0 clamp(18px,4vw,56px);color:var(--white);background:#000000db;border-bottom:1px solid var(--line)}.brand{display:grid;width:38px;height:38px;place-items:center;color:var(--black);background:var(--white);border:1px solid var(--white);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;font-weight:800;letter-spacing:0}nav{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px);color:var(--soft);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:clamp(.7rem,1vw,.82rem);text-transform:uppercase}nav a{padding:8px 0;border-bottom:1px solid transparent}nav a:hover,nav a:focus-visible{border-color:var(--white);outline:none}.section-shell{width:min(var(--max),calc(100% - 36px));margin:0 auto}.hero{position:relative;display:block;min-height:620px;padding:clamp(62px,9vw,112px) 0 clamp(42px,7vw,72px);overflow:hidden}.hero-copy{position:relative;z-index:2;max-width:560px;text-align:left;pointer-events:auto}.hero-copy h1{max-width:100%;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(4.5rem,9.2vw,9.2rem);font-weight:500;line-height:.88;letter-spacing:0}.hero-copy h1,.hero-copy p,.hero-actions{animation:settle-in .64s ease both}.hero-copy p{animation-delay:80ms}.hero-actions{animation-delay:.15s}.hero-copy p{max-width:100%;margin:clamp(28px,4vw,44px) 0 0;color:var(--soft);font-size:clamp(1.1rem,2vw,1.48rem);line-height:1.38}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;position:relative;z-index:3}.hero-lanyard-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.hero-lanyard-overlay canvas{display:block;width:100%!important;height:100%!important}.hero-actions a,.footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;gap:9px;padding:0 15px;color:var(--white);border:1px solid var(--line);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.78rem;text-transform:uppercase;transition:color .18s ease,background .18s ease,border-color .18s ease}.hero-actions a:hover,.hero-actions a:focus-visible,.footer-links a:hover,.footer-links a:focus-visible{color:var(--black);background:var(--white);border-color:var(--white);outline:none}.split-section{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:clamp(34px,7vw,96px);padding:clamp(72px,10vw,126px) 0;border-top:1px solid var(--line)}.section-heading{position:sticky;top:92px;align-self:start}.section-heading span{display:block;margin-bottom:14px;color:var(--muted);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.78rem}.section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,4.3vw,4.15rem);font-weight:500;line-height:.95}.timeline{display:grid;gap:0;border-top:1px solid var(--line)}.timeline-item{content-visibility:auto;contain-intrinsic-size:180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:22px;padding:30px 0;border-bottom:1px solid var(--line)}.timeline-item h3,.research-item h3,.leadership-grid h3,.project-main h3{margin:0;font-size:clamp(1.35rem,2.3vw,2.15rem);line-height:1.02;letter-spacing:0}.timeline-item p{margin:8px 0 0;color:var(--soft)}.timeline-meta{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.8rem;text-align:right;text-transform:uppercase}.timeline-item ul{grid-column:1 / -1;display:grid;gap:10px;max-width:780px;margin:0;padding-left:1.1rem;color:var(--soft);line-height:1.55}.projects-section{color:var(--black);background:var(--white)}.projects-shell{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(26px,4vw,54px);padding:clamp(70px,10vw,118px) 0 clamp(86px,11vw,140px)}.projects-section .section-heading{position:static;color:var(--black)}.projects-section .section-heading span{color:#606060}.project-copy{position:sticky;top:92px;align-self:start}.section-intro{margin:24px 0 0;color:#333;line-height:1.5}.project-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-card{content-visibility:auto;contain-intrinsic-size:420px 396px;min-height:420px;color:var(--black);border:1px solid var(--line-dark);background:var(--white);overflow:hidden;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}.project-card:hover,.project-card:focus-within,.project-card[data-active=true]{color:var(--white);background:var(--black);border-color:var(--black);transform:translateY(-4px)}.project-link{display:grid;grid-template-rows:auto 1fr auto;min-height:inherit;padding:clamp(18px,2vw,26px)}.project-link:focus-visible{outline:none;box-shadow:inset 0 0 0 2px currentColor}.project-number,.stack-list{font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.72rem;text-transform:uppercase}.project-number{color:#6a6a6a;transition:color .22s ease}.project-card:hover .project-number,.project-card:focus-within .project-number,.project-card[data-active=true] .project-number{color:var(--muted)}.project-title-line{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.project-role{margin:10px 0 0;color:#4a4a4a;font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.76rem;line-height:1.35;text-transform:uppercase;transition:color .22s ease}.project-main p{max-width:690px;margin:14px 0 0;color:#222;line-height:1.5;transition:color .22s ease}.stack-list span{display:inline-flex;min-height:28px;align-items:center;padding:0 9px;border:1px solid var(--line-dark);transition:border-color .22s ease,color .22s ease}.stack-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;color:#111}.project-card:hover .project-role,.project-card:hover .project-main p,.project-card:focus-within .project-role,.project-card:focus-within .project-main p,.project-card[data-active=true] .project-role,.project-card[data-active=true] .project-main p{color:var(--soft)}.project-card:hover .stack-list,.project-card:focus-within .stack-list,.project-card[data-active=true] .stack-list{color:var(--white)}.project-card:hover .stack-list span,.project-card:focus-within .stack-list span,.project-card[data-active=true] .stack-list span{border-color:#ffffff52}.project-icon-wrap{display:grid;place-items:center;min-height:178px;margin:20px 0 26px;color:currentColor;border-top:1px solid currentColor;border-bottom:1px solid currentColor;overflow:hidden}.lumon-icon img{width:min(190px,46vw);image-rendering:pixelated;filter:grayscale(1) contrast(1.35);transform:translateY(6px);transition:transform .24s ease,filter .24s ease}.project-card:hover .lumon-icon img,.project-card:focus-within .lumon-icon img,.project-card[data-active=true] .lumon-icon img{filter:grayscale(1) contrast(1.8) invert(1);transform:translateY(-5px) scale(1.08)}.roulette-tunnel,.toolsmith-icon,.memory-icon,.name-mark-icon,.connect4-icon,.hilite-icon{position:relative;width:184px;height:172px}.name-mark-icon{display:grid;place-items:center;overflow:hidden;width:min(100%,260px);padding:0 12px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,4.5vw,3.45rem);font-weight:500;line-height:.9;letter-spacing:0;text-align:center}.name-mark-icon span{grid-area:1 / 1;display:block;max-width:100%;overflow-wrap:normal;transform:translateY(0);transition:transform .28s ease,opacity .28s ease}.name-mark-icon.is-compact{font-size:clamp(2rem,3.4vw,2.6rem)}.name-mark-icon span+span{opacity:0;transform:translateY(78%)}.project-card:hover .name-mark-icon span:first-child,.project-card:focus-within .name-mark-icon span:first-child,.project-card[data-active=true] .name-mark-icon span:first-child{opacity:0;transform:translateY(-78%)}.project-card:hover .name-mark-icon span+span,.project-card:focus-within .name-mark-icon span+span,.project-card[data-active=true] .name-mark-icon span+span{opacity:1;transform:translateY(0)}.roulette-tunnel{overflow:hidden;perspective:360px;transform-style:preserve-3d}.roulette-glow{position:absolute;inset:28px 18px;border:1px solid currentColor;opacity:.16;transform:perspective(260px) rotateX(2deg)}.tunnel-frame{position:absolute;top:50%;left:50%;width:120px;height:78px;border:1px solid currentColor;opacity:calc(.12 + (var(--frame) * .055));transform:translate(-50%,-50%) scale(calc(.18 + (var(--frame) * .18)))}.tunnel-frame:before,.tunnel-frame:after{position:absolute;top:50%;width:96px;height:1px;background:currentColor;content:"";opacity:.6}.tunnel-frame:before{right:100%;transform:rotate(20deg);transform-origin:right center}.tunnel-frame:after{left:100%;transform:rotate(-20deg);transform-origin:left center}.tunnel-panel{position:absolute;top:50%;left:50%;width:var(--w, 34px);height:var(--h, 22px);background:currentColor;opacity:.34;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(.28) skew(var(--skew));animation:tunnel-rush 2.6s linear infinite;animation-delay:calc(var(--tile) * -145ms);animation-play-state:paused}.panel-0{--x: -86px;--y: -57px;--w: 38px;--h: 24px;--skew: 15deg}.panel-1{--x: 78px;--y: -52px;--w: 42px;--h: 24px;--skew: -16deg}.panel-2{--x: -74px;--y: 54px;--w: 48px;--h: 26px;--skew: -18deg}.panel-3{--x: 88px;--y: 52px;--w: 42px;--h: 25px;--skew: 16deg}.panel-4{--x: 0px;--y: -74px;--w: 36px;--h: 18px;--skew: 18deg}.panel-5{--x: 8px;--y: 76px;--w: 42px;--h: 18px;--skew: -18deg}.roulette-word{position:absolute;top:72px;left:50%;font-family:SF Pro Text,Helvetica Neue,Arial,sans-serif;font-size:1.28rem;font-weight:900;letter-spacing:0;transform:translate(-50%)}.roulette-caption{position:absolute;top:98px;left:31px;font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.52rem;opacity:.58;text-transform:uppercase}.project-card:hover .tunnel-panel,.project-card:focus-within .tunnel-panel,.project-card[data-active=true] .tunnel-panel{animation-play-state:running}.project-card:hover .tunnel-frame,.project-card:focus-within .tunnel-frame,.project-card[data-active=true] .tunnel-frame{animation:tunnel-breathe 1.6s ease-in-out infinite}.vr-icon{display:block;width:min(220px,54vw);height:auto;max-height:174px;object-fit:contain;transition:filter .22s ease,transform .26s ease;transform-origin:center}.project-card:hover .vr-icon,.project-card:focus-within .vr-icon,.project-card[data-active=true] .vr-icon{animation:headset-float 1.6s ease-in-out infinite;filter:invert(1)}.conway-icon{width:176px;height:176px;border:1px solid currentColor;background:transparent}.conway-canvas{display:block;width:100%;height:100%;color:currentColor}.connect4-icon{--slot: 16px;--gap: 5px;--pad: 10px;display:grid;place-items:center;width:178px;height:178px}.connect4-controls{position:absolute;top:18px;left:50%;display:grid;grid-template-columns:repeat(7,var(--slot));gap:var(--gap);transform:translate(-50%)}.connect4-controls span{height:7px;border:1px solid currentColor;opacity:.36;transition:opacity .22s ease,transform .22s ease,background .22s ease}.connect4-controls .is-selected{opacity:1;background:currentColor}.connect4-board{position:relative;top:16px;display:grid;grid-template-columns:repeat(7,var(--slot));grid-auto-rows:var(--slot);gap:var(--gap);box-sizing:content-box;width:142px;padding:var(--pad);border:2px solid currentColor;background:linear-gradient(currentColor 0 0) 50% 9px / 72% 1px no-repeat,linear-gradient(currentColor 0 0) 50% calc(100% - 9px) / 72% 1px no-repeat;transition:transform .24s ease,background-size .24s ease}.connect4-board span{position:relative;box-sizing:border-box;width:var(--slot);height:var(--slot);border:1.5px solid currentColor;border-radius:50%;opacity:.38;transition:opacity .22s ease,transform .22s ease,background .22s ease}.connect4-board span.is-filled{background:currentColor;opacity:1}.connect4-board span.p2{background:radial-gradient(circle,transparent 0 35%,currentColor 38% 62%,transparent 65%)}.connect4-drop{position:absolute;z-index:1;top:18px;left:calc(50% - (var(--slot) / 2));box-sizing:border-box;width:var(--slot);height:var(--slot);border:2px solid currentColor;border-radius:50%;opacity:0}.project-card:hover .connect4-board,.project-card:focus-within .connect4-board,.project-card[data-active=true] .connect4-board{transform:translateY(5px) scale(1.04);background-size:84% 1px,84% 1px}.project-card:hover .connect4-controls .is-selected,.project-card:focus-within .connect4-controls .is-selected,.project-card[data-active=true] .connect4-controls .is-selected{animation:connect4-column-cue 1.15s ease-in-out infinite}.project-card:hover .connect4-drop,.project-card:focus-within .connect4-drop,.project-card[data-active=true] .connect4-drop{animation:connect4-drop 1.15s cubic-bezier(.5,0,.18,1) infinite}.project-card:hover .connect4-board span.is-filled,.project-card:focus-within .connect4-board span.is-filled,.project-card[data-active=true] .connect4-board span.is-filled{animation:connect4-board-pulse 1.15s ease-in-out infinite}.toolsmith-icon{font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;width:196px;height:148px;border:1px solid currentColor;overflow:hidden}.toolsmith-sidebar,.toolsmith-chat,.assistant-block,.skill-run,.installed-tool{position:absolute;border:1px solid currentColor}.toolsmith-sidebar{inset:10px auto 10px 10px;width:58px;padding:8px 6px}.toolsmith-heading{display:block;width:34px;height:6px;margin-bottom:10px;background:currentColor}.installed-tool{display:block;height:24px;margin-bottom:8px;padding:5px;opacity:.45}.installed-tool span{display:block;width:70%;height:3px;background:currentColor}.active-tool{opacity:1}.toolsmith-chat{inset:10px 10px 10px 78px}.user-bubble{position:absolute;top:12px;right:10px;width:44px;height:20px;background:currentColor}.assistant-block{left:10px;right:10px;bottom:14px;height:74px;padding:9px;background:transparent}.assistant-title{display:block;width:54px;height:5px;margin-bottom:8px;background:currentColor;opacity:.7}.skill-run{inset:auto 8px 8px;display:block;height:42px;padding:7px 7px 7px 19px;background:transparent}.check-dot{position:absolute;top:8px;left:6px;width:8px;height:8px;border:1px solid currentColor;border-radius:50%}.check-dot:after{position:absolute;top:1px;left:2px;width:3px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;content:"";transform:rotate(35deg)}.code-line{display:block;width:42px;height:3px;margin-bottom:6px;background:currentColor;opacity:.48}.code-line.long{width:66px}.code-line.short{width:30px}.skill-pulse{position:absolute;left:58px;top:58px;width:34px;height:2px;background:currentColor;opacity:0;transform-origin:left center}.project-card:hover .active-tool,.project-card:focus-within .active-tool,.project-card[data-active=true] .active-tool{animation:selected-tool 1.1s ease-in-out infinite}.project-card:hover .skill-pulse,.project-card:focus-within .skill-pulse,.project-card[data-active=true] .skill-pulse{animation:skill-path .9s linear infinite}.project-card:hover .skill-run,.project-card:focus-within .skill-run,.project-card[data-active=true] .skill-run{animation:run-flash 1.2s ease-in-out infinite}.project-card:hover .code-line,.project-card:focus-within .code-line,.project-card[data-active=true] .code-line{animation:code-stream .9s ease-in-out infinite}.memory-icon span{position:absolute;left:16px;right:16px;height:28px;border:2px solid currentColor;transform:translateY(calc(var(--layer) * 25px)) skew(-16deg);transition:transform .24s ease}.project-card:hover .memory-icon span,.project-card:focus-within .memory-icon span,.project-card[data-active=true] .memory-icon span{transform:translateY(calc(var(--layer) * 28px)) translate(var(--shift)) skew(-16deg)}.paper{position:absolute;inset:18px 44px 18px 36px;border:2px solid currentColor;background:var(--white);transition:background .22s ease,transform .22s ease}.paper-two{transform:translate(26px,18px)}.project-card:hover .paper,.project-card:focus-within .paper,.project-card[data-active=true] .paper{background:var(--black)}.mark{position:absolute;left:56px;height:8px;background:currentColor;transform-origin:left center}.mark-one{top:62px;width:70px}.mark-two{top:88px;width:92px}.mark-three{top:114px;width:58px}.project-card:hover .mark,.project-card:focus-within .mark,.project-card[data-active=true] .mark{animation:highlight-scan 1.3s ease-in-out infinite}@keyframes tunnel-rush{0%{opacity:0;transform:translate(-50%,-50%) translate(calc(var(--x) * .1),calc(var(--y) * .1)) scale(.1) skew(var(--skew))}22%{opacity:.22}72%{opacity:.64}to{opacity:0;transform:translate(-50%,-50%) translate(var(--x),var(--y)) scale(1.7) skew(var(--skew))}}@keyframes tunnel-breathe{0%,to{opacity:.18}50%{opacity:.42}}@keyframes headset-float{0%,to{transform:translateY(-10px) scale(1.1)}50%{transform:translateY(-16px) scale(1.1)}}@keyframes selected-tool{0%,to{opacity:.72}50%{opacity:1;box-shadow:inset 0 0 0 1px currentColor}}@keyframes skill-path{0%{opacity:0;transform:translate(-18px) scaleX(.2)}35%{opacity:.9}to{opacity:0;transform:translate(54px) scaleX(1)}}@keyframes run-flash{50%{background:currentColor;color:var(--black)}}@keyframes code-stream{0%,to{opacity:.38;transform:scaleX(.72)}50%{opacity:.88;transform:scaleX(1)}}@keyframes highlight-scan{0%,to{transform:scaleX(.45)}50%{transform:scaleX(1)}}@keyframes connect4-drop{0%{opacity:0;transform:translateY(-18px) scale(.92)}18%{opacity:1}70%{opacity:1;transform:translateY(78px) scale(1)}to{opacity:0;transform:translateY(78px) scale(.82)}}@keyframes connect4-column-cue{0%,to{transform:translateY(0)}45%{transform:translateY(-3px)}}@keyframes connect4-board-pulse{0%,to{transform:scale(1)}70%{transform:scale(.88)}}@keyframes settle-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.research-section{border-top:0}.research-grid,.leadership-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}.research-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.research-item,.leadership-grid article{content-visibility:auto;contain-intrinsic-size:300px 360px;min-height:300px;padding:clamp(22px,3vw,32px);background:var(--black)}.research-item span,.leadership-grid span{color:var(--muted);font-family:SF Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.76rem;text-transform:uppercase}.research-item h3,.leadership-grid h3{margin-top:20px}.research-item p,.leadership-grid p{color:var(--soft);line-height:1.5}.research-item strong{display:block;margin-top:24px;color:var(--white);font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:500;line-height:1.2}.leadership-section{padding:clamp(28px,5vw,70px) 0 clamp(80px,10vw,130px)}.leadership-section .section-heading{position:static;margin-bottom:28px}.leadership-grid article{min-height:220px}.footer-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;padding:clamp(52px,9vw,90px) 0;border-top:1px solid var(--line)}.footer-section h2{max-width:720px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.7rem,7vw,6.7rem);font-weight:500;line-height:.92}.footer-section p{margin:22px 0 0;color:var(--soft);font-size:1.08rem}.footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}[data-reveal]{opacity:1;transform:none}}@media(max-width:1040px){.split-section,.projects-shell,.footer-section{grid-template-columns:1fr}.hero-lanyard-overlay{display:none}.hero-lanyard-overlay.is-forced{display:block}.section-heading{position:static}.projects-shell{gap:32px}.project-copy{position:static}.research-grid{grid-template-columns:1fr}}@media(max-width:720px){.site-header{align-items:flex-start;gap:14px;min-height:auto;padding:14px 18px}nav{flex-wrap:wrap;justify-content:flex-end;max-width:250px;gap:6px 14px}.section-shell{width:min(100% - 28px,var(--max))}.hero{min-height:auto;padding-top:54px}.hero-copy h1{font-size:clamp(4.1rem,22vw,6.4rem)}.timeline-item,.leadership-grid{grid-template-columns:1fr}.timeline-meta{text-align:left}.projects-shell{padding-top:56px}.project-list{grid-template-columns:1fr}.project-card{min-height:390px}.project-card:hover,.project-card:focus-within,.project-card[data-active=true]{transform:translateY(-2px)}.stack-list span{max-width:100%}.footer-links{justify-content:flex-start}}
