@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-24F,U+1E??,U+20A0-20AB,U+20AD-20CF}@font-face{font-family:Inter;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2)format("woff2");unicode-range:U+100-24F,U+1E??,U+20A0-20AB,U+20AD-20CF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-24F,U+1E??,U+20A0-20AB,U+20AD-20CF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#0a0c0b;--surface:#101311;--surface-2:#171a18;--bone:#f0ede5;--muted:#969d97;--line:#f0ede529;--line-strong:#f0ede557;--signal:#c6ff4a;--signal-soft:#c6ff4a21;--display:"Space Grotesk", sans-serif;--body:"Inter", sans-serif;--mono:"JetBrains Mono", monospace;--page-progress:0;--page-rotation:0deg;--page-shift:0px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);scroll-padding-top:92px}body{background:var(--ink);min-width:320px;color:var(--bone);font-family:var(--body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;opacity:.22;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:72px 72px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}::selection{color:var(--ink);background:var(--signal)}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:5px}button{font:inherit}main,footer{z-index:1;position:relative}.scroll-progress{z-index:200;width:calc(var(--page-progress) * 100%);background:var(--signal);pointer-events:none;height:2px;position:fixed;inset:0 auto auto 0;box-shadow:0 0 18px #c6ff4aa6}.ambient-light{z-index:-1;aspect-ratio:1;filter:blur(110px);width:44vw;transform:translate3d(0, var(--page-shift), 0);pointer-events:none;background:#c6ff4a13;border-radius:50%;position:fixed;top:18vh;right:-26vw}[data-reveal]{opacity:0;transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1);transform:translateY(36px)}[data-reveal].in-view{opacity:1;transform:translateY(0)}.section-shell{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,16vw) minmax(0,1fr);display:grid}.section-rail{border-right:1px solid var(--line);padding:7rem 1.5rem 4rem clamp(1.25rem,4vw,4.5rem)}.section-rail span,.section-rail p,.section-code,.section-kicker{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem}.section-rail span{color:var(--signal)}.section-rail p{color:var(--muted);margin:.4rem 0 0}.section-kicker{color:var(--signal);margin:0 0 1.5rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.055em;font-weight:500;line-height:.98}h2{margin-bottom:3rem;font-size:clamp(2.8rem,6.4vw,6.7rem)}h2 em,h1 em{color:var(--muted);font-style:normal}.site-header{z-index:100;border-bottom:1px solid #0000;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;height:76px;padding:0 clamp(1.25rem,4vw,4.5rem);transition:background .35s,border-color .35s,height .35s;display:grid;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled{border-color:var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0c0be0;height:64px}.wordmark{font-family:var(--display);letter-spacing:-.04em;font-size:1.05rem;font-weight:600}.wordmark span{color:var(--signal)}.desktop-nav{align-items:center;gap:2rem;display:flex}.desktop-nav a,.text-link{color:var(--muted);font-size:.78rem;transition:color .2s}.desktop-nav a:hover,.text-link:hover{color:var(--bone)}.nav-actions{justify-content:flex-end;align-items:center;gap:1.5rem;display:flex}.availability{color:var(--bone);font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.55rem;font-size:.65rem;display:flex}.availability span{background:var(--signal);width:7px;height:7px;box-shadow:0 0 14px var(--signal);border-radius:50%;animation:2.4s ease-in-out infinite statusPulse}.menu-toggle{border:1px solid var(--line);width:42px;height:42px;color:var(--bone);cursor:pointer;background:0 0;padding:0;display:none}.menu-toggle span{background:currentColor;width:18px;height:1px;margin:5px auto;transition:transform .3s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px)rotate(-45deg)}.mobile-nav{z-index:90;background:var(--ink);visibility:hidden;opacity:0;flex-direction:column;justify-content:center;padding:7rem 1.25rem 2rem;transition:opacity .35s,transform .35s,visibility .35s;display:flex;position:fixed;inset:0;transform:translateY(-20px)}.mobile-nav.is-open{visibility:visible;opacity:1;transform:none}.mobile-nav-index{color:var(--signal);font:.65rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5rem}.mobile-nav>a:not(.mobile-resume){border-bottom:1px solid var(--line);font:500 clamp(2.6rem, 12vw, 4rem)/1 var(--display);letter-spacing:-.05em;padding:.65rem 0}.mobile-nav>a span{width:3rem;color:var(--muted);font:.65rem var(--mono);letter-spacing:0;display:inline-block}.mobile-resume{color:var(--signal);font:.75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-top:2rem}.hero-section{border-bottom:1px solid var(--line);min-height:100vh;padding-top:76px;overflow:hidden}.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);min-height:calc(100vh - 144px);display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:5rem 3vw 5rem clamp(1.25rem,6vw,7rem);display:flex}.section-code{color:var(--muted);margin-bottom:auto}.hero-role{color:var(--muted);font:.68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;margin:1.5rem 0 1rem}.hero-copy h1{max-width:950px;margin:0;font-size:clamp(4.6rem,9.2vw,9.8rem)}.hero-copy h1 span,.hero-copy h1 em{display:block}.hero-copy h1 em{width:fit-content;color:var(--bone);position:relative}.hero-copy h1 em:after{content:"";background:var(--signal);transform-origin:0;height:.08em;animation:1.1s cubic-bezier(.16,1,.3,1) .45s forwards nameUnderline;position:absolute;bottom:-.05em;left:0;right:-.08em;transform:scaleX(.32)}.hero-positioning{grid-template-columns:minmax(260px,1fr) minmax(190px,.56fr);align-items:stretch;gap:2rem;max-width:760px;margin-top:2.25rem;display:grid}.hero-statement{max-width:430px;color:var(--bone);font:500 clamp(1.25rem, 1.8vw, 1.75rem)/1.18 var(--display);letter-spacing:-.035em;align-self:center;margin:0}.hero-statement em{color:var(--muted);font-style:normal}.hero-core-stack{border:1px solid var(--signal);background:var(--signal-soft);flex-direction:column;justify-content:center;min-height:122px;padding:1.25rem;display:flex}.hero-core-stack span,.hero-core-stack small{color:var(--muted);font:.56rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.hero-core-stack strong{color:var(--signal);font:500 clamp(1.45rem, 2.25vw, 2.25rem)/1 var(--display);letter-spacing:-.05em;margin:.45rem 0}.hero-intro{max-width:630px;color:var(--muted);margin:2.25rem 0 0;font-size:clamp(1rem,1.35vw,1.3rem)}.hero-actions{align-items:center;gap:1rem;margin-top:2.5rem;display:flex}.action-primary,.action-secondary{border:1px solid var(--line-strong);justify-content:space-between;align-items:center;min-height:52px;padding:0 1.25rem;font-size:.78rem;transition:color .25s,background .25s,border-color .25s,transform .25s;display:inline-flex}.action-primary{min-width:220px;color:var(--ink);border-color:var(--signal);background:var(--signal)}.action-primary span{font-size:1rem}.action-secondary{color:var(--bone)}.action-primary:hover,.action-secondary:hover{transform:translateY(-3px)}.action-secondary:hover{color:var(--signal);border-color:var(--signal)}.hero-stage{--stage-x:0;--stage-y:0;border-left:1px solid var(--line);background:radial-gradient(circle at 50% 46%, var(--signal-soft), transparent 38%);perspective:950px;min-height:620px;position:relative;overflow:hidden}.hero-stage:before,.hero-stage:after{content:"";pointer-events:none;position:absolute}.hero-stage:before{opacity:.45;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);transform:translateY(calc(var(--page-shift) * -.16));background-size:48px 48px;inset:0;-webkit-mask-image:radial-gradient(circle,#000 12%,#0000 72%);mask-image:radial-gradient(circle,#000 12%,#0000 72%)}.hero-stage:after{border:1px dashed var(--line);width:440px;height:440px;transform:rotate(var(--page-rotation));border-radius:50%;margin:-220px 0 0 -220px;top:50%;left:50%}.coordinate{z-index:5;color:var(--muted);font:.62rem var(--mono);letter-spacing:.08em;position:absolute}.coordinate-a{top:2rem;left:2rem}.coordinate-b{writing-mode:vertical-rl;bottom:2rem;right:2rem}.architecture-scene{z-index:4;perspective:1100px;width:min(82%,510px);height:520px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.architecture-stack{width:340px;height:230px;transform-style:preserve-3d;transform:translate(-50%, -50%) rotateX(calc(58deg + var(--stage-y) * -4deg)) rotateZ(calc(-29deg + var(--stage-x) * 5deg));transition:transform .2s ease-out;animation:7s ease-in-out infinite architectureFloat;position:absolute;top:50%;left:50%}.architecture-layer{--layer-depth:0px;border:1px solid var(--line-strong);transform:translateZ(var(--layer-depth));transform-style:preserve-3d;background:#0d100edb;grid-template-columns:1fr auto;align-content:space-between;padding:1rem;transition:border-color .3s,background .3s;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 45px #00000040,inset 0 0 45px #c6ff4a06}.architecture-layer:before{content:"";opacity:.35;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0}.architecture-layer:after{content:"";border:1px solid #c6ff4a1f;position:absolute;inset:8px}.architecture-layer:hover{border-color:var(--signal);background:#111612f0}.layer-application{--layer-depth:135px}.layer-interface{--layer-depth:45px}.layer-data{--layer-depth:-45px}.layer-cloud{--layer-depth:-135px}.layer-index,.architecture-layer strong,.layer-ui,.layer-service,.layer-database,.layer-cloud-nodes{z-index:2;position:relative}.layer-index{color:var(--muted);font:.5rem var(--mono);letter-spacing:.08em}.architecture-layer strong{color:var(--signal);font:500 1.65rem/1 var(--display);letter-spacing:-.05em}.layer-ui{grid-column:1/-1;grid-template-columns:1.4fr 1fr 1fr;gap:.55rem;display:grid}.layer-ui span{border:1px solid var(--line);background:#f0ede506;height:64px}.layer-service{grid-column:1/-1;gap:.5rem;display:flex}.layer-service span{border:1px solid var(--line);color:var(--muted);text-align:center;font:.45rem var(--mono);flex:1;padding:.7rem .35rem}.layer-database{grid-column:1/-1;align-items:flex-end;gap:.65rem;display:flex}.layer-database span{border:1px solid var(--line);border-radius:50%;width:55px;height:36px;box-shadow:inset 0 -9px #c6ff4a0a}.layer-cloud-nodes{grid-column:1/-1;justify-content:space-around;align-items:center;display:flex}.layer-cloud-nodes span{border:1px solid var(--line);width:24px;height:24px;transform:rotate(45deg)}.layer-cloud-nodes span:nth-child(2),.layer-cloud-nodes span:nth-child(4){border-color:#c6ff4a66}.layer-packet{z-index:5;background:var(--signal);width:6px;height:6px;box-shadow:0 0 14px var(--signal);offset-path:rect(0 100% 100% 0 round 0);border-radius:50%;animation:5.5s linear infinite layerPacket;position:absolute;top:-3px;left:-3px}.layer-interface .layer-packet{animation-delay:-1.3s}.layer-data .layer-packet{animation-delay:-2.6s}.layer-cloud .layer-packet{animation-delay:-3.9s}.architecture-spine{z-index:8;background:linear-gradient(transparent, var(--signal) 18%, var(--signal) 82%, transparent);width:1px;height:360px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 14px #c6ff4a40}.architecture-spine span{background:var(--signal);width:9px;height:9px;box-shadow:0 0 18px var(--signal);border-radius:50%;animation:3.2s ease-in-out infinite spinePacket;position:absolute;left:-4px}.architecture-spine span:nth-child(2){animation-delay:-1.05s}.architecture-spine span:nth-child(3){animation-delay:-2.1s}.architecture-legend{z-index:6;color:var(--muted);font:.55rem var(--mono);letter-spacing:.1em;align-items:center;gap:.6rem;display:flex;position:absolute}.architecture-legend span{border:1px solid var(--signal);width:7px;height:7px;transform:rotate(45deg)}.legend-input{top:21%;left:9%}.legend-output{bottom:17%;right:8%}.hero-ticker{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);background:var(--surface-2);grid-template-columns:minmax(180px,.9fr) minmax(0,5.1fr);min-height:84px;display:grid;box-shadow:inset 0 1px #ffffff06,0 18px 55px #00000038}.hero-ticker-label{border-right:1px solid var(--line-strong);flex-direction:column;justify-content:center;padding:1rem clamp(1.25rem,3vw,3rem);display:flex}.hero-ticker-label span{color:var(--signal);font:.56rem var(--mono);letter-spacing:.1em;text-transform:uppercase}.hero-ticker-label strong{color:var(--bone);font:500 .82rem var(--display);letter-spacing:-.02em;margin-top:.3rem}.hero-ticker-items{grid-template-columns:repeat(6,1fr);display:grid}.hero-ticker-items>span{border-right:1px solid var(--line);color:var(--bone);font:500 .66rem var(--mono);letter-spacing:.055em;text-transform:uppercase;justify-content:center;align-items:center;gap:.6rem;padding:.8rem;transition:background .25s,color .25s;display:flex}.hero-ticker-items>span:hover{background:#f0ede50e}.hero-ticker-items>span:last-child{border-right:0}.hero-ticker-items small{color:var(--muted);font:.5rem var(--mono)}.about-content{padding:9rem clamp(1.5rem,7vw,8.5rem)}.about-content h2{max-width:1050px}.about-copy-grid{grid-template-columns:1fr 1fr;gap:4rem;max-width:960px;margin-left:auto;display:grid}.about-copy-grid p{color:var(--muted);font-size:clamp(1rem,1.4vw,1.25rem)}.proof-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:7rem;display:grid}.proof-strip div{border-right:1px solid var(--line);min-height:170px;padding:2rem}.proof-strip div:last-child{border-right:0}.proof-strip strong{color:var(--signal);font:500 clamp(2rem, 4vw, 4.5rem)/1 var(--display);letter-spacing:-.06em;display:block}.proof-strip span{max-width:180px;color:var(--muted);margin-top:1.25rem;font-size:.78rem;display:block}.work-section{border-bottom:1px solid var(--line)}.work-heading>div:last-child{padding:9rem clamp(1.5rem,7vw,8.5rem) 6rem}.work-heading h2{margin-bottom:0}.featured-projects{border-top:1px solid var(--line)}.featured-project{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,16vw) minmax(330px,.78fr) minmax(500px,1.22fr);min-height:760px;display:grid}.featured-project-story{padding-top:4rem;padding-bottom:4rem}.project-status{color:var(--bone);font:.6rem var(--mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.65rem;margin-bottom:auto;display:flex}.project-status i,.project-actions p i{background:var(--signal);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #c6ff4a8c}.featured-project-story h3{margin-top:4rem}.project-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem;display:flex}.project-actions>a{min-width:180px;color:var(--ink);background:var(--signal);font:500 .68rem var(--mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;padding:.9rem 1rem;transition:transform .25s;display:inline-flex}.project-actions>a:hover{transform:translateY(-3px)}.project-actions>a span{font-size:.9rem}.project-actions>a.github-link{min-width:0;color:var(--bone);border:1px solid var(--line-strong);background:0 0;justify-content:center;gap:.55rem}.project-actions>a.github-link:hover{color:var(--signal);border-color:var(--signal)}.github-icon{fill:currentColor;width:1.05rem;height:1.05rem}.lab-project-actions{margin-top:0}.project-actions>p{color:var(--muted);font:.58rem var(--mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0;display:flex}.project-actions p i{background:var(--muted);width:6px;height:6px;box-shadow:none}.project-device-stage{border-left:1px solid var(--line);background:radial-gradient(circle at 50% 45%, #c6ff4a17, transparent 42%), var(--surface);min-width:0;position:relative;overflow:hidden}.project-device-stage:before{content:"";opacity:.4;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 78%);mask-image:radial-gradient(circle,#000,#0000 78%)}.phone-stage{justify-content:center;align-items:center;gap:clamp(.65rem,1.5vw,1.4rem);padding:5rem clamp(1.5rem,4vw,4.5rem);display:flex}.phone-frame{z-index:2;background:#070908;border:1px solid #f0ede557;border-radius:28px;flex:0 205px;padding:8px;position:relative;box-shadow:0 24px 55px #00000061}.phone-1{transform:translateY(2.5rem)rotate(-4deg)}.phone-2{transform:translateY(-1.5rem)}.phone-3{transform:translateY(2.5rem)rotate(4deg)}.phone-speaker{z-index:5;background:#070908;border-radius:0 0 10px 10px;width:34%;height:15px;position:absolute;top:15px;left:50%;transform:translate(-50%)}.phone-frame .showcase-screen{aspect-ratio:9/19.5;border-radius:21px}.device-caption{color:var(--muted);font:.48rem var(--mono);letter-spacing:.05em;text-align:center;text-transform:uppercase;position:absolute;bottom:-2rem;left:0;right:0}.showcase-screen{border:1px solid var(--line);background:linear-gradient(145deg,#c6ff4a1f,#0000 45%),#121613;position:relative;overflow:hidden}.showcase-screen>img{z-index:2;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.screen-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.55rem;padding:1rem;display:flex;position:absolute;inset:0}.screen-placeholder:before{content:"";border:1px solid var(--signal);width:28px;height:28px;margin-bottom:.5rem;transform:rotate(45deg)}.screen-placeholder span,.screen-placeholder small{color:var(--muted);font:.48rem var(--mono);letter-spacing:.07em;text-transform:uppercase}.screen-placeholder strong{color:var(--bone);font:500 clamp(.8rem, 1.2vw, 1.05rem) var(--display)}.screen-placeholder small{overflow-wrap:anywhere;opacity:.65;text-transform:none;max-width:100%}.desktop-stage{min-height:680px;padding:5rem clamp(2rem,5vw,6rem)}.browser-frame{z-index:2;border:1px solid var(--line-strong);background:#090b0a;border-radius:9px;position:absolute;overflow:hidden;box-shadow:0 28px 75px #0000006b}.browser-1{width:min(90%,900px);top:50%;left:50%;transform:translate(-50%,-50%)}.browser-bar{border-bottom:1px solid var(--line);height:32px;color:var(--muted);font:.48rem var(--mono);text-transform:uppercase;align-items:center;gap:6px;padding:0 10px;display:flex}.browser-bar i{background:var(--muted);opacity:.55;border-radius:50%;width:6px;height:6px}.browser-bar span{margin-left:.5rem}.browser-frame .showcase-screen{aspect-ratio:2537/1238;border:0}.browser-frame .showcase-screen>img{object-fit:cover}.lab-project{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,16vw) minmax(330px,.78fr) minmax(500px,1.22fr);min-height:570px;display:grid}.lab-project-story{border-right:1px solid var(--line);flex-direction:column;padding:3.5rem clamp(1.5rem,4vw,4.5rem);display:flex}.lab-project-story h3{margin:auto 0 1.5rem;font-size:clamp(2.6rem,4.5vw,5.2rem)}.lab-project-story>p{max-width:580px;color:var(--muted);margin-bottom:1.75rem;font-size:.92rem}.lab-highlight-list{color:var(--bone);grid-template-columns:repeat(2,1fr);gap:.55rem 1rem;margin-bottom:2rem;font-size:.7rem;display:grid}.lab-project-story .technology-list{margin-top:0}.lab-project-actions{flex-shrink:0;margin-top:1.5rem}.lab-project-visual{background:linear-gradient(145deg, #f0ede509, transparent), var(--surface);place-items:center;min-width:0;padding:clamp(2rem,5vw,5rem);display:grid;overflow:hidden}.lab-browser-frame{border:1px solid var(--line-strong);background:#090b0a;border-radius:9px;width:min(100%,880px);transition:transform .45s cubic-bezier(.16,1,.3,1);overflow:hidden;transform:rotate(.6deg);box-shadow:0 28px 75px #0006}.lab-project:hover .lab-browser-frame{transform:rotate(0)translateY(-5px)}.lab-browser-frame .browser-bar{background:#090b0a}.lab-browser-frame .showcase-screen{aspect-ratio:2560/1230;background:#f5f4f2;border:0}.lab-browser-frame .showcase-screen>img{object-fit:cover}.commercial-work-label>div:last-child{justify-content:space-between;align-items:center;gap:2rem;padding:2.5rem clamp(1.5rem,7vw,8.5rem);display:flex}.commercial-work-label>div:last-child>span{color:var(--bone);font:500 clamp(1.35rem, 2vw, 2rem) var(--display);letter-spacing:-.035em}.commercial-work-label>div:last-child p{max-width:420px;color:var(--muted);margin:0;font-size:.78rem}.projects-stack{border-top:1px solid var(--line)}.project-case{border-bottom:1px solid var(--line);grid-template-columns:minmax(130px,16vw) minmax(300px,.85fr) minmax(420px,1.15fr);min-height:720px;display:grid}.project-case:last-child{border-bottom:0}.project-index{border-right:1px solid var(--line);padding:3rem clamp(1.25rem,4vw,4.5rem)}.project-index span{color:var(--signal);font:.75rem var(--mono)}.project-index p{color:var(--muted);font:.65rem var(--mono);text-transform:uppercase;writing-mode:vertical-rl;margin-top:1rem}.project-story{border-right:1px solid var(--line);flex-direction:column;padding:4.5rem clamp(1.5rem,4vw,4.5rem);display:flex}.project-story h3{max-width:600px;margin-bottom:2rem;font-size:clamp(2.4rem,4.2vw,5rem)}.project-summary{max-width:560px;color:var(--muted);font-size:1rem}.impact-list{color:var(--bone);flex-direction:column;gap:.5rem;margin:2rem 0;font-size:.8rem;display:flex}.technology-list{flex-wrap:wrap;gap:.45rem;margin-top:auto;display:flex}.technology-list span{border:1px solid var(--line);color:var(--muted);font:.6rem var(--mono);text-transform:uppercase;padding:.45rem .65rem}.system-map{flex-direction:column;justify-content:space-evenly;min-height:540px;padding:4rem clamp(2rem,5vw,6rem);display:flex;position:relative;overflow:hidden}.map-grid{opacity:.35;background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle,#000,#0000 80%);mask-image:radial-gradient(circle,#000,#0000 80%)}.system-node{--node-index:0;z-index:2;width:min(100%,360px);margin-left:calc(var(--node-index) * 7%);color:var(--bone);font:.7rem var(--mono);text-transform:uppercase;letter-spacing:.07em;grid-template-columns:28px 1fr;align-items:center;gap:1rem;display:grid;position:relative}.system-node i{border:1px solid var(--signal);background:var(--ink);width:28px;height:28px;transform:rotate(45deg);box-shadow:0 0 25px #c6ff4a12}.system-node b{z-index:-1;background:linear-gradient(var(--signal), transparent);transform-origin:top;width:1px;height:calc(100% + 62px);position:absolute;top:28px;left:14px;transform:rotate(-9deg)}.data-packet{z-index:4;background:var(--signal);width:7px;height:7px;box-shadow:0 0 18px var(--signal);border-radius:50%;animation:5s cubic-bezier(.65,0,.35,1) infinite packetTravel;position:absolute;top:17%;left:0}.experience-content{padding:9rem clamp(1.5rem,7vw,8.5rem)}.experience-heading{margin-bottom:6rem}.timeline{border-top:1px solid var(--line-strong)}.timeline-row{border-bottom:1px solid var(--line);grid-template-columns:60px 170px minmax(220px,.8fr) minmax(260px,1.2fr);align-items:start;gap:2rem;padding:2.5rem 0;display:grid}.timeline-marker{height:100%;position:relative}.timeline-marker:after{content:"";background:var(--line);width:1px;position:absolute;top:32px;bottom:-41px;left:16px}.timeline-row:last-child .timeline-marker:after{display:none}.timeline-marker span{border:1px solid var(--signal);width:32px;height:32px;color:var(--signal);font:.6rem var(--mono);place-items:center;display:grid;transform:rotate(45deg)}.timeline-marker span:first-line{transform:rotate(-45deg)}.timeline-row time{color:var(--signal);font:.64rem var(--mono);letter-spacing:.07em}.timeline-row h3{letter-spacing:-.035em;margin:0 0 .6rem;font-size:clamp(1.45rem,2vw,2.2rem);line-height:1.08}.timeline-company{color:var(--muted);font-size:.75rem}.timeline-detail{color:var(--muted);margin:0;font-size:.92rem}.expertise-section{background:var(--bone);color:var(--ink)}.expertise-section .section-rail{border-color:#0a0c0b2e}.expertise-section .section-rail span{color:#304800}.expertise-section .section-rail p,.expertise-heading>p:last-child{color:#545954}.expertise-section .section-kicker{color:#304800}.expertise-section h2 em{color:#7d827e}.expertise-content{padding:9rem clamp(1.5rem,7vw,8.5rem)}.expertise-heading{grid-template-columns:minmax(0,1.3fr) minmax(250px,.7fr);align-items:end;gap:4rem;margin-bottom:6rem;display:grid}.expertise-heading .section-kicker{grid-column:1/-1}.expertise-heading h2{margin:0}.expertise-heading>p:last-child{max-width:400px;margin:0}.expertise-summary{border-top:1px solid #0a0c0b52;border-bottom:1px solid #0a0c0b52;grid-template-columns:minmax(140px,.4fr) minmax(300px,1.1fr) minmax(240px,.65fr);align-items:center;gap:2rem;margin-bottom:2.5rem;padding:1.5rem 0;display:grid}.expertise-summary>span{color:#304800;font:500 .62rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.expertise-summary strong{font:500 clamp(1.6rem, 2.6vw, 2.7rem)/1.05 var(--display);letter-spacing:-.045em}.expertise-summary p{color:#545954;margin:0;font-size:.85rem}.capability-list{border-top:1px solid #0a0c0b52;border-left:1px solid #0a0c0b52;grid-template-columns:repeat(2,1fr);display:grid}.capability-row{border-bottom:1px solid #0a0c0b52;border-right:1px solid #0a0c0b52;flex-direction:column;min-height:270px;padding:2rem;display:flex}.capability-meta{justify-content:space-between;align-items:center;display:flex}.capability-number,.capability-code{font:.65rem var(--mono)}.capability-number{color:#777d78}.capability-code{color:#304800;font-weight:500}.capability-row h3{letter-spacing:-.045em;margin:auto 0 1.5rem;font-size:clamp(1.8rem,2.6vw,2.8rem)}.capability-row>div:last-child{flex-wrap:wrap;gap:.5rem;display:flex}.capability-row>div:last-child span{font:.62rem var(--mono);text-transform:uppercase;border:1px solid #0a0c0b33;padding:.4rem .6rem}.ai-practice{color:var(--bone);background:var(--ink);grid-template-columns:minmax(230px,.8fr) repeat(2,minmax(260px,1fr));margin-top:4.5rem;display:grid;box-shadow:12px 12px #0a0c0b1f}.ai-practice-heading,.ai-practice-column{border-right:1px solid var(--line);min-height:330px;padding:clamp(1.5rem,3vw,2.5rem)}.ai-practice-heading{flex-direction:column;justify-content:space-between;display:flex}.ai-practice-heading>span,.ai-practice-index{color:var(--signal);font:.58rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.ai-practice-heading>strong{max-width:260px;font:500 clamp(1.9rem, 3vw, 3rem)/.98 var(--display);letter-spacing:-.05em}.ai-practice-column{flex-direction:column;display:flex}.ai-practice-column h3{letter-spacing:-.04em;margin:auto 0 2rem;font-size:clamp(1.45rem,2vw,2.1rem);line-height:1.05}.ai-practice-list{flex-direction:column;display:flex}.ai-practice-list span{border-top:1px solid var(--line);color:#b7bdb8;padding:.55rem 0;font-size:.68rem}.ai-practice-proof{border-top:1px solid var(--line-strong);grid-column:1/-1;grid-template-columns:minmax(160px,.6fr) minmax(320px,1.4fr) auto;align-items:center;gap:2rem;min-height:82px;padding:1.25rem 2rem;transition:color .25s,background .25s;display:grid}.ai-practice-proof:hover{color:var(--ink);background:var(--signal)}.ai-practice-proof>span{color:var(--signal);font:.56rem var(--mono);letter-spacing:.09em;text-transform:uppercase}.ai-practice-proof:hover>span{color:var(--ink)}.ai-practice-proof>strong{font:500 .78rem var(--body)}.ai-practice-proof>b{font-size:1rem;font-weight:400}.credentials-section{border-bottom:1px solid var(--line);overflow:hidden}.credentials-header>div:last-child{padding:9rem clamp(1.5rem,7vw,8.5rem) 5rem}.credentials-header h2{margin:0}.credential-track{border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(220px,1fr));display:grid}.credential{border-right:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:430px;padding:2rem;transition:color .35s,background .35s,transform .35s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden}.credential.link-pending{cursor:default}.credential-featured{color:var(--ink);background:var(--bone);grid-column:span 2}.credential-featured .credential-top,.credential-featured .credential-type{color:#5b615c}.credential.credential-featured>p{color:var(--ink);font-weight:500}.credential-featured .credential-mark{-webkit-text-stroke-color:#0a0c0b26}.credential:last-child{border-right:0}.credential.has-link:hover{color:var(--ink);background:var(--signal);transform:translateY(-6px)}.credential-top{color:var(--muted);font:.55rem var(--mono);letter-spacing:.07em;justify-content:space-between;gap:1rem;display:flex}.credential.has-link:hover .credential-top,.credential.has-link:hover .credential-type{color:#0a0c0b9e}.credential>p{color:var(--signal);font:.68rem var(--mono);text-transform:uppercase;letter-spacing:.1em;margin:8rem 0 1rem}.credential.has-link:hover>p{color:var(--ink)}.credential h3{z-index:2;max-width:300px;margin-bottom:1.5rem;font-size:clamp(1.8rem,2.5vw,2.8rem);line-height:1.05;position:relative}.credential-type{color:var(--muted);font-size:.7rem}.credential-footer{z-index:2;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex;position:relative}.credential-link{color:var(--bone);font:.58rem var(--mono);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid;flex:none;align-items:center;gap:.7rem;padding-bottom:.3rem;display:inline-flex}.credential-link b{font-size:.8rem;font-weight:400;transition:transform .25s}.credential.has-link:hover .credential-link b{transform:translate(3px,-3px)}.credential-featured .credential-link{color:var(--ink)}.credential.link-pending .credential-link{color:var(--muted);opacity:.72;border-bottom-style:dashed}.credential-featured.link-pending .credential-link{color:#5b615c}.credential-mark{color:#0000;font:600 9rem/1 var(--display);letter-spacing:-.1em;-webkit-text-stroke:1px var(--line);position:absolute;bottom:-2rem;right:-1rem;transform:rotate(-10deg)}.credential.has-link:hover .credential-mark{-webkit-text-stroke-color:#0a0c0b2b}.contact-section{place-items:center;min-height:88vh;padding:8rem clamp(1.25rem,6vw,7rem);display:grid;position:relative;overflow:hidden}.contact-grid{z-index:3;grid-template-columns:minmax(150px,.55fr) minmax(420px,1.45fr) minmax(160px,.5fr);align-items:end;gap:4rem;width:100%;display:grid;position:relative}.contact-meta>span{color:var(--signal);font:.65rem var(--mono);letter-spacing:.08em}.contact-meta p{color:var(--muted);margin:1.5rem 0 0;font-size:.75rem}.contact-main h2{margin-bottom:3.5rem}.contact-email{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);font:clamp(.9rem, 1.5vw, 1.35rem) var(--mono);justify-content:space-between;align-items:center;gap:2rem;padding:1.25rem 0;transition:color .25s,padding .25s;display:flex}.contact-email:hover{color:var(--signal);padding-left:1rem}.contact-email span{color:var(--signal)}.arrow-icon{vertical-align:-.1em;fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:.9em;height:.9em;display:inline-block}.contact-links{flex-direction:column;display:flex}.contact-links a{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:1rem 0;font-size:.75rem;transition:color .2s;display:flex}.contact-links a:hover{color:var(--signal)}.contact-orbit{aspect-ratio:1;border:1px solid var(--line);opacity:.45;width:min(72vw,900px);transform:rotate(var(--page-rotation));border-radius:50%;position:absolute}.contact-orbit:before,.contact-orbit:after{content:"";border:1px dashed var(--line);border-radius:50%;position:absolute;inset:14%}.contact-orbit:after{border-style:solid;border-color:var(--signal);opacity:.22;inset:31%}.contact-orbit span{background:var(--signal);width:8px;height:8px;box-shadow:0 0 20px var(--signal);border-radius:50%;position:absolute}.contact-orbit span:first-child{top:14%;left:24%}.contact-orbit span:nth-child(2){top:48%;right:3%}.contact-orbit span:nth-child(3){bottom:6%;left:35%}.site-footer{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,4vw,4.5rem);font-size:.68rem;display:grid}.site-footer a{color:var(--bone);font-family:var(--display);font-weight:500}.site-footer p{margin:0}.site-footer span{text-align:right}@keyframes statusPulse{50%{opacity:.45;box-shadow:0 0 5px var(--signal)}}@keyframes nameUnderline{to{transform:scaleX(1)}}@keyframes architectureFloat{0%,to{transform:translate(-50%,-50%) rotateX(calc(58deg + var(--stage-y) * -4deg)) rotateZ(calc(-29deg + var(--stage-x) * 5deg)) translateZ(0)}50%{transform:translate(-50%,-52%) rotateX(calc(60deg + var(--stage-y) * -4deg)) rotateZ(calc(-27deg + var(--stage-x) * 5deg)) translateZ(10px)}}@keyframes layerPacket{to{offset-distance:100%}}@keyframes spinePacket{0%{opacity:0;top:2%}12%,88%{opacity:1}to{opacity:0;top:96%}}@keyframes packetTravel{0%{opacity:0;top:17%;left:7%}8%,92%{opacity:1}33%{top:39%;left:20%}66%{top:61%;left:34%}to{opacity:0;top:82%;left:47%}}@media (width<=1100px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr 1fr}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.75fr)}.hero-copy h1{font-size:clamp(4rem,9vw,7rem)}.hero-positioning{grid-template-columns:1fr;gap:1.25rem}.hero-ticker{grid-template-columns:1fr}.hero-ticker-label{border-right:0;border-bottom:1px solid var(--line-strong);flex-direction:row;justify-content:space-between;align-items:center}.hero-ticker-label strong{margin-top:0}.hero-ticker-items{grid-template-columns:repeat(3,1fr)}.hero-ticker-items>span:nth-child(-n+3){border-bottom:1px solid var(--line)}.project-case{grid-template-columns:90px minmax(300px,.9fr) minmax(350px,1.1fr)}.featured-project,.lab-project{grid-template-columns:90px minmax(300px,.85fr) minmax(390px,1.15fr)}.project-index{padding-left:2rem;padding-right:1rem}.timeline-row{grid-template-columns:45px 130px 1fr}.timeline-detail{grid-column:3}.credential-track{grid-template-columns:repeat(2,1fr)}.credential-featured{grid-column:1/-1}.credential:nth-child(2){border-right:0}.credential:nth-child(-n+2){border-bottom:1px solid var(--line)}.contact-grid{grid-template-columns:.5fr 1.5fr}.contact-links{grid-column:2}}@media (width<=760px){html{scroll-padding-top:68px}.site-header,.site-header.is-scrolled{height:64px;padding-inline:1.25rem}.availability,.resume-link{display:none}.menu-toggle{display:block}.hero-section{padding-top:64px}.hero-grid{flex-direction:column;min-height:auto;display:flex}.hero-copy{min-height:calc(100svh - 64px);padding:3rem 1.25rem 4rem}.hero-copy h1{font-size:clamp(3.4rem,16vw,5.8rem)}.hero-intro{max-width:92%}.section-code{margin-bottom:auto}.hero-stage{border-top:1px solid var(--line);border-left:0;min-height:500px}.architecture-scene{width:92%;height:430px}.architecture-stack{width:280px;height:190px}.architecture-layer{padding:.8rem}.architecture-layer strong{font-size:1.3rem}.layer-ui span{height:48px}.architecture-spine{height:300px}.hero-ticker-items{grid-template-columns:repeat(2,1fr)}.hero-ticker-items>span{border-bottom:1px solid var(--line);min-height:58px}.hero-ticker-items>span:nth-child(-n+3){border-bottom:1px solid var(--line)}.hero-ticker-items>span:nth-last-child(-n+2){border-bottom:0}.section-shell{grid-template-columns:1fr}.section-rail{border-right:0;gap:.65rem;padding:4rem 1.25rem 1rem;display:flex}.section-rail p{margin:0}.about-content,.experience-content,.expertise-content{padding:3rem 1.25rem 5rem}.work-heading>div:last-child,.credentials-header>div:last-child{padding:3rem 1.25rem 4rem}h2{font-size:clamp(2.7rem,13vw,4.5rem)}.about-copy-grid{grid-template-columns:1fr;gap:1rem}.proof-strip{grid-template-columns:1fr;margin-top:4rem}.proof-strip div{border-right:0;border-bottom:1px solid var(--line);min-height:140px}.proof-strip div:last-child{border-bottom:0}.project-case,.featured-project,.lab-project{grid-template-columns:64px 1fr;min-height:auto}.project-index{grid-row:1/3;padding:2rem 1rem}.project-story{border-right:0;padding:3rem 1.25rem}.featured-project-story h3{margin-top:3rem}.project-story h3{font-size:clamp(2.5rem,12vw,4rem)}.project-device-stage{border-top:1px solid var(--line);border-left:0;grid-column:2}.lab-project-story{border-right:0;padding:3rem 1.25rem}.lab-project-story h3{margin-top:3rem}.lab-project-visual{border-top:1px solid var(--line);grid-column:2;padding:3rem 1rem}.lab-highlight-list{grid-template-columns:1fr}.phone-stage{scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:flex-start;min-height:570px;padding:4rem 1.5rem;overflow-x:auto}.phone-frame{scroll-snap-align:center;flex:0 0 185px}.phone-1,.phone-2,.phone-3{transform:none}.desktop-stage{min-height:0;padding:3rem 1rem}.desktop-stage .browser-frame{position:relative;inset:auto}.browser-1{width:100%;transform:none}.commercial-work-label>div:last-child{flex-direction:column;align-items:flex-start;padding:2rem 1.25rem 3rem}.system-map{border-top:1px solid var(--line);grid-column:2;min-height:490px;padding:3rem 1.5rem}.system-node{margin-left:calc(var(--node-index) * 3%)}.experience-heading{margin-bottom:3rem}.timeline-row{grid-template-columns:40px 1fr;gap:1.25rem}.timeline-row time,.timeline-row>div:nth-child(3),.timeline-detail{grid-column:2}.timeline-row time{grid-row:1}.timeline-row>div:nth-child(3){grid-row:2}.timeline-detail{grid-row:3}.timeline-marker{grid-row:1/4}.expertise-heading{grid-template-columns:1fr;gap:1.5rem;margin-bottom:4rem}.expertise-summary{grid-template-columns:1fr;gap:1rem}.capability-list{grid-template-columns:1fr}.capability-row{min-height:240px}.ai-practice{grid-template-columns:1fr;margin-top:3.5rem;box-shadow:7px 7px #0a0c0b1f}.ai-practice-heading,.ai-practice-column{border-right:0;border-bottom:1px solid var(--line);min-height:280px}.ai-practice-heading{justify-content:flex-start;gap:2rem;min-height:0}.ai-practice-proof{grid-column:1;grid-template-columns:1fr auto;gap:.5rem 1rem}.ai-practice-proof>span{grid-column:1/-1}.credential-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.credential-featured{flex-basis:92vw}.credential{scroll-snap-align:start;flex:0 0 84vw;min-height:390px;border-bottom:0!important;border-right:1px solid var(--line)!important}.contact-section{min-height:100svh;padding:6rem 1.25rem}.contact-grid{grid-template-columns:1fr;gap:3rem}.contact-main h2{font-size:clamp(3rem,14vw,5rem)}.contact-links{grid-column:1}.contact-email{overflow-wrap:anywhere}.site-footer{grid-template-columns:1fr;gap:.4rem}.site-footer span{text-align:left}}@media (width<=460px){.hero-positioning{grid-template-columns:1fr;gap:1.25rem}.hero-actions{flex-direction:column;align-items:stretch}.action-primary,.action-secondary{width:100%}.hero-stage{min-height:430px}.architecture-legend{font-size:.48rem}.legend-input{left:4%}.legend-output{right:4%}.coordinate-b{right:1rem}.project-case,.featured-project,.lab-project{grid-template-columns:46px 1fr}.project-index{padding-inline:.65rem}.project-index p{font-size:.55rem}.project-story,.system-map{padding-inline:1rem}.hero-ticker-label strong{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-reveal]{opacity:1;transform:none}.ambient-light{transform:none}}
