@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_ed3508{--font-outfit:"Outfit","Outfit Fallback"}@font-face{font-family:geistMono;src:url(/_next/static/media/463dafcda517f24f-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:geistMono Fallback;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_c3aa02{font-family:geistMono,geistMono Fallback}.__variable_c3aa02{--font-mono:"geistMono","geistMono Fallback"}:root{--background:#0a0a0a;--panel:#141414;--panel-raised:#181818;--foreground:#fafafa;--muted:#a3a3a3;--muted-2:#787878;--border:#242424;--border-soft:#1b1b1b;--orange:#f5f5f5;--blue:#d4d4d4;--lime:#fff;--violet:#bdbdbd;--red:#e5e5e5;--stagger-dur:500ms;--stagger-distance:12px;--stagger-stagger:40ms;--stagger-blur:3px;--stagger-ease:cubic-bezier(0.22,1,0.36,1);--content-width:1100px}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--background)}body{margin:0;color:var(--foreground);font-family:var(--font-outfit),"Avenir Next",sans-serif;font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;overflow-x:hidden}body.palette-open{overflow:hidden}::selection{background:hsla(0,0%,100%,.2);color:var(--foreground)}a{color:inherit;text-decoration:none}button,input{color:inherit;font:inherit}button{border:0}img{display:block;filter:grayscale(1)}kbd{display:inline-grid;min-width:1.25rem;height:1.25rem;place-items:center;padding:0 .28rem;border:1px solid #2d2d2d;border-radius:4px;background:#151515;box-shadow:0 1px 0 #292929;color:var(--muted-2);font-family:var(--font-mono),monospace;font-size:.75rem;line-height:1}:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.skip-link{position:fixed;z-index:200;top:.75rem;left:.75rem;padding:.65rem .85rem;background:var(--lime);color:#0a0a0a;font-size:.78rem;transform:translateY(-160%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.site-shell{min-height:100vh;background:radial-gradient(circle at 50% -20%,hsla(0,0%,100%,.018),transparent 40%),var(--background)}.site-footer,.site-header,main{width:min(calc(100% - 2.5rem),var(--content-width));margin:0 auto}.site-header{padding-top:3.4rem}.console-title,.navigation-row,.section-header,.site-footer,.utility-row{display:flex;align-items:center;justify-content:space-between}.utility-row{min-height:1.5rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.015em}.palette-trigger{display:inline-flex;align-items:center;gap:.38rem;padding:0;background:transparent;color:var(--muted-2);cursor:pointer}.palette-trigger:hover{color:var(--muted)}.palette-trigger kbd{margin:0 .05rem}.navigation-row{margin-top:1.65rem}.wordmark{font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-style:italic;font-weight:500;letter-spacing:.03em;line-height:1}.navigation-row nav{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.navigation-row nav a{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .45rem;color:var(--muted);font-size:.78rem;transition:color .16s ease}.navigation-row nav a:hover{color:var(--foreground)}.navigation-row nav kbd{min-width:1rem;width:1rem;height:1rem;padding:0;font-size:.75rem}main{margin-top:3.6rem}.hero-section{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(22rem,.92fr);grid-gap:clamp(3rem,7vw,6.5rem);gap:clamp(3rem,7vw,6.5rem);padding-bottom:3.5rem;border-bottom:1px solid var(--border)}.hero-copy{min-width:0}.availability{display:flex;align-items:center;gap:.55rem;margin:0 0 1.6rem!important;color:var(--muted)!important;font-size:.76rem!important}.availability span{width:.55rem;height:.55rem;border-radius:50%;background:var(--lime);box-shadow:0 0 8px hsla(0,0%,100%,.45);animation:pulse 2.4s ease-in-out infinite}.hero-copy h1{margin:0 0 1.8rem;font-family:var(--font-mono),Georgia,serif;font-size:clamp(2.8rem,4vw,3.25rem);font-weight:400;letter-spacing:-.045em;line-height:1.05;text-wrap:balance}.hero-copy h1 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.hero-copy h1 span{color:var(--muted)}.hero-copy>p:not(.availability){margin:0 0 1.2rem;color:var(--muted);font-size:.875rem;line-height:1.85}.hero-copy strong{color:var(--foreground);font-weight:500}.orange{color:var(--orange)}.blue,.orange{font-weight:500}.blue{color:var(--blue)}.lime{color:var(--lime)}.lime,.violet{font-weight:500}.violet{color:var(--violet)}.live-panel{display:grid;align-content:start;grid-gap:.9rem;gap:.9rem}.contact-card,.contributions-card,.experience-story,.project-card,.status-console{border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 50px rgba(0,0,0,.18)}.status-console{padding:1.05rem 1.15rem}.console-title{padding-bottom:.9rem;color:var(--muted-2);font-size:.75rem}.console-title b{color:var(--lime);font-weight:500}.online{display:flex;align-items:center;gap:.4rem;color:var(--lime)}.online i,.project-preview__bar .is-archived i,.project-preview__bar .is-live i{width:.38rem;height:.38rem;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.console-profile{display:flex;align-items:center;gap:.8rem;padding:.25rem 0 .95rem}.console-profile img{width:3.1rem;height:3.1rem;border:1px solid #313131;border-radius:50%;object-fit:cover;filter:grayscale(1) contrast(1.08)}.console-profile div{display:grid;grid-gap:.15rem;gap:.15rem}.console-profile strong{font-size:.8rem;font-weight:500}.console-profile span{color:var(--muted-2);font-size:.75rem}.impact-row{display:grid;grid-template-columns:auto 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:flex-end;padding-top:.75rem;border-top:1px solid var(--border)}.impact-row>span{color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.impact-row>strong{color:var(--muted);font-size:.75rem;font-weight:500;white-space:nowrap}.impact-bars{display:flex;height:1.35rem;align-items:flex-end;gap:2px}.impact-bars i{width:100%;min-width:4px;border:1px solid hsla(0,0%,86%,.65);background:hsla(0,0%,86%,.85);animation:bars-in .7s cubic-bezier(.16,1,.3,1) both}.status-console>p{margin:.55rem 0 0;color:var(--muted-2);font-size:.75rem}.social-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.6rem;gap:.6rem}.social-row a{display:grid;min-height:2.55rem;place-items:center;border:1px solid var(--border);border-radius:7px;background:#111;color:var(--muted);font-size:.75rem;text-transform:uppercase;transition:border-color .16s ease,color .16s ease,transform .16s ease}.social-row a:hover{border-color:#353535;color:var(--foreground);transform:translateY(-2px)}.contributions-card{position:relative;border:1px solid var(--border);border-radius:12px;background:hsla(0,0%,8%,.82);box-shadow:0 18px 50px rgba(0,0,0,.18);overflow:hidden}.contributions-grid{inset:0;width:100%;height:100%;color:var(--foreground);opacity:.055}.contributions-grid,.corner-mark{position:absolute;pointer-events:none}.corner-mark{z-index:2;width:.45rem;height:.45rem}.corner-mark:after,.corner-mark:before{position:absolute;background:#2a2a2a;content:""}.corner-mark:before{top:0;left:50%;width:1px;height:100%;transform:translateX(-50%)}.corner-mark:after{top:50%;left:0;width:100%;height:1px;transform:translateY(-50%)}.corner-mark--top-left{top:.45rem;left:.45rem}.corner-mark--top-right{top:.45rem;right:.45rem}.corner-mark--bottom-left{bottom:.45rem;left:.45rem}.corner-mark--bottom-right{right:.45rem;bottom:.45rem}.contributions-card__content{position:relative;z-index:1;padding:1.15rem}.contributions-card__header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.contributions-card__header>span:first-child{display:inline-flex;align-items:center;gap:.45rem}.contributions-card__header b{color:var(--muted);font-weight:400}.contribution-filters{display:flex;gap:.25rem;margin-bottom:.65rem}.filter-button{padding:.28rem .48rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--muted-2);cursor:pointer;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;transition:border-color .16s ease,background .16s ease,color .16s ease}.filter-button:hover{background:hsla(0,0%,100%,.03);color:var(--muted)}.filter-button[aria-pressed=true]{border-color:#2a2a2a;background:var(--panel)}.filter-button--merged[aria-pressed=true]{color:var(--orange)}.filter-button--open[aria-pressed=true]{color:var(--lime)}.filter-button--closed[aria-pressed=true]{color:var(--red)}.pr-marquee{position:relative;max-height:11rem;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}.pr-list{margin:0;padding:0;list-style:none}.pr-list:not(.pr-list--animated){max-height:11rem;overflow-y:auto;scrollbar-color:#303030 transparent;scrollbar-width:thin}.pr-list--animated{animation:marquee-y var(--marquee-duration) linear infinite}.pr-marquee:hover .pr-list--animated{animation-play-state:paused}.pr-list li{padding-bottom:.45rem}.pr-list a{display:grid;grid-template-columns:1rem minmax(0,1fr);grid-gap:.4rem;gap:.4rem;margin:0 -.45rem;padding:.4rem .45rem;border:1px solid transparent;border-radius:5px;transition:border-color .16s ease,background .16s ease}.pr-list a:hover{border-color:var(--border);background:hsla(0,0%,100%,.025)}.pr-symbol{margin-top:.08rem;font-size:.75rem}.pr-symbol--merged{color:var(--orange)}.pr-symbol--open{color:var(--lime)}.pr-symbol--closed{color:var(--red)}.pr-list a>span:last-child{min-width:0}.pr-list small,.pr-list strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-list strong{color:var(--foreground);font-size:.75rem;font-weight:400;line-height:1.35;transition:color .16s ease}.pr-list a:hover strong{color:var(--orange)}.pr-list small{margin-top:.1rem}.pr-list small,.pr-state{color:var(--muted-2);font-size:.75rem}.pr-state{margin:.85rem 0}.pr-state span{color:var(--muted)}.pr-skeleton{display:grid;grid-gap:.65rem;gap:.65rem;margin:0;padding:.4rem 0;list-style:none}.pr-skeleton li{display:grid;grid-template-columns:.7rem 1fr;grid-gap:.5rem;gap:.5rem}.pr-skeleton b,.pr-skeleton li>i{display:block;border-radius:2px;background:#2a2a2a;animation:skeleton-pulse 1.4s ease-in-out infinite}.pr-skeleton li>i{width:.7rem;height:.7rem}.pr-skeleton li>span{display:grid;grid-gap:.3rem;gap:.3rem}.pr-skeleton b{width:100%;height:.5rem}.pr-skeleton b:last-child{width:65%;opacity:.55}.contributions-card__footer{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed rgba(42,42,42,.8)}.contributions-card__footer a{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;transition:color .16s ease}.contributions-card__footer a:hover{color:var(--orange)}.arrow{width:.75rem;height:.75rem;transition:transform .16s ease}.section-header a:hover{color:var(--foreground)}.project-card h3:hover .arrow,.section-header a:hover .arrow{transform:translate(2px,-2px)}.content-section{padding:2.8rem 0;border-bottom:1px solid var(--border);scroll-margin-top:1rem}.section-header{margin-bottom:1.25rem}.contact-card__main>span,.section-header h2{margin:0;color:var(--muted-2);font-size:.75rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase}.section-header a{display:inline-flex;align-items:center;gap:.25rem;color:var(--muted-2);font-size:.75rem}.github-heatmap{border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 50px rgba(0,0,0,.18);overflow:hidden}.github-heatmap__header{display:grid;grid-template-columns:1fr auto auto;grid-gap:1.5rem;gap:1.5rem;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.github-heatmap__header a,.github-heatmap__header>div{display:inline-flex;gap:.45rem;align-items:center}.github-heatmap__header svg{width:.9rem;height:.9rem}.github-heatmap__header>div{color:var(--foreground);font-size:.78rem}.github-heatmap__header strong{color:var(--muted);font-size:.75rem;font-weight:400;letter-spacing:.06em;text-transform:uppercase}.github-heatmap__header a{color:var(--muted-2);font-size:.75rem;text-transform:uppercase;transition:color .15s ease}.github-heatmap__header a:hover{color:var(--foreground)}.github-heatmap__chart{padding:clamp(1.1rem,3vw,2rem);background:linear-gradient(hsla(0,0%,100%,.018) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.018) 1px,transparent 0),#0d0d0d;background-size:24px 24px}.github-heatmap__grid,.github-heatmap__months{display:grid;grid-template-columns:repeat(var(--heatmap-weeks),minmax(0,1fr));grid-column-gap:clamp(2px,.35vw,4px);column-gap:clamp(2px,.35vw,4px)}.github-heatmap__months{min-height:1.25rem;color:var(--muted-2);font-size:.75rem;line-height:1;text-transform:uppercase}.github-heatmap__grid{grid-template-rows:repeat(7,minmax(0,1fr));gap:clamp(2px,.35vw,4px)}.dither-cell{display:block;aspect-ratio:1;min-width:0;border:1px solid #292929;border-radius:1px;background:#101010}.dither-cell--1{border-color:#4a4a4a;background:radial-gradient(circle at 1px 1px,#9b9b9b 0 .7px,transparent .8px),#202020;background-size:3px 3px}.dither-cell--2{border-color:#777;background:conic-gradient(from 90deg,#b9b9b9 25%,#393939 0 50%,#b9b9b9 0 75%,#393939 0);background-size:4px 4px}.dither-cell--3{border-color:#bdbdbd;background:radial-gradient(circle at 1px 1px,#3b3b3b 0 .65px,transparent .75px),#d5d5d5;background-size:3px 3px}.dither-cell--4{border-color:#f5f5f5;background:radial-gradient(circle at 1px 1px,#8a8a8a 0 .55px,transparent .65px),#fafafa;background-size:4px 4px}.github-heatmap__chart footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem;color:var(--muted-2);font-size:.75rem;text-transform:uppercase}.github-heatmap__chart footer>div{display:flex;gap:.3rem;align-items:center}.github-heatmap__chart footer .dither-cell{width:.7rem}.github-heatmap--unavailable{display:flex;justify-content:space-between;gap:1rem;padding:1.25rem;color:var(--muted);font-size:.78rem}.github-heatmap--unavailable a{display:inline-flex;gap:.35rem;align-items:center;color:var(--foreground);text-transform:uppercase}.t-stagger-line{display:block;opacity:0;transform:translateY(var(--stagger-distance));filter:blur(var(--stagger-blur));transition:opacity var(--stagger-dur) var(--stagger-ease),transform var(--stagger-dur) var(--stagger-ease),filter var(--stagger-dur) var(--stagger-ease);will-change:transform,opacity,filter}.t-stagger-line--2{transition-delay:var(--stagger-stagger)}.t-stagger.is-shown .t-stagger-line{opacity:1;transform:translateY(0);filter:blur(0)}.t-stagger.is-hiding .t-stagger-line{opacity:0;transform:translateY(0);filter:blur(0);transition:opacity .2s ease,transform 0s linear,filter 0s linear;transition-delay:0s}@media (prefers-reduced-motion:reduce){.t-stagger-line{transition:none!important}}.github-heatmap__header.t-stagger-line{display:grid}.experience-stack{display:grid;grid-gap:1rem;gap:1rem}.experience-story{padding:clamp(1.4rem,3vw,2.35rem);overflow:hidden}.experience-story__header{display:grid;grid-template-columns:minmax(18rem,.82fr) minmax(0,1.18fr);grid-gap:clamp(2rem,6vw,5rem);gap:clamp(2rem,6vw,5rem);align-items:end}.experience-story__identity{display:flex;gap:1.25rem;align-items:flex-start}.experience-story__identity>span{color:#2e2e2e;font-family:var(--font-mono),ui-monospace,monospace;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500;letter-spacing:-.1em;line-height:.8}.experience-story__identity p{margin:0 0 .45rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.experience-story__identity h3{margin:0;font-family:var(--font-outfit),"Avenir Next",sans-serif;font-size:clamp(1.8rem,3.5vw,2.75rem);font-weight:500;letter-spacing:-.045em;line-height:1}.experience-story__identity strong{display:block;margin-top:.55rem;color:var(--orange);font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.experience-story__intro{max-width:40rem;margin:0;color:var(--muted);font-size:.9rem;line-height:1.75}.experience-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.experience-metrics>div{min-width:0;padding:1.15rem 1rem;border-right:1px solid var(--border)}.experience-metrics>div:first-child{padding-left:0}.experience-metrics>div:last-child{border-right:0}.experience-metrics strong,.project-signals strong{display:block;color:var(--foreground);font-family:var(--font-outfit),"Avenir Next",sans-serif;font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:500;letter-spacing:-.035em;line-height:1.1}.experience-metrics span,.project-signals span{display:block;margin-top:.25rem;color:var(--muted-2);font-size:.75rem;line-height:1.35}.experience-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0;gap:0}.experience-outcomes>div{display:grid;grid-template-columns:1.5rem 1fr;grid-gap:.65rem;gap:.65rem;padding:1.1rem 1.25rem 1.1rem 0;border-bottom:1px solid var(--border)}.experience-outcomes>div:nth-child(odd){border-right:1px solid var(--border)}.experience-outcomes>div:nth-child(2n){padding-left:1.25rem}.experience-outcomes>div>span{color:var(--lime);font-size:.75rem}.experience-outcomes p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.65}.experience-technologies{display:grid;grid-template-columns:3.5rem 1fr;grid-gap:1rem;gap:1rem;align-items:start;padding-top:1rem}.experience-technologies>span{color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.experience-technologies>div,.project-tags{display:flex;flex-wrap:wrap;gap:.45rem .75rem}.experience-technologies>div span,.project-tags span{color:var(--muted-2);font-size:.75rem}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1.1rem;gap:1.1rem}.project-card{display:flex;min-width:0;min-height:42rem;flex-direction:column;padding:1.1rem;transition:border-color .18s ease,transform .22s ease,background .18s ease}.project-card__content{display:flex;min-width:0;flex:1 1;flex-direction:column}.project-card:hover{border-color:#313131;background:#161616;transform:translateY(-3px)}.project-preview{padding:.7rem .7rem 0;border:1px solid var(--border);border-radius:7px 7px 0 0;background:#0f0f0f}.project-preview__bar{display:flex;align-items:center;justify-content:space-between;height:1.25rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.project-preview__bar>span:last-child{display:flex;align-items:center;gap:.35rem}.project-preview__bar .is-live{color:var(--lime)}.project-preview__bar .is-archived{color:var(--muted-2)}.project-preview__image,.terminal-preview{position:relative;height:9.2rem;margin-top:.25rem;background:#090909;overflow:hidden}.project-preview__image img{object-fit:cover;object-position:top;filter:grayscale(1) brightness(.82) contrast(1.06);transition:filter .2s ease,transform .35s ease}.project-card:hover .project-preview__image img{filter:grayscale(1) brightness(.92) contrast(1.08);transform:scale(1.015)}.project-card__meta{margin-top:.9rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.project-card h3{display:flex;align-items:center;gap:.3rem;margin:.35rem 0 .45rem;font-size:1.45rem;font-weight:400;letter-spacing:-.035em;line-height:1.15}.project-card h3 .arrow{color:var(--muted-2)}.project-card__content>p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.6}.project-signals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.project-signals>div{min-width:0;padding:.8rem .6rem;border-right:1px solid var(--border)}.project-signals>div:first-child{padding-left:0}.project-signals>div:last-child{border-right:0}.project-signals strong{font-size:1.1rem}.project-engineering,.project-proof{display:grid;grid-template-columns:5.5rem 1fr;grid-gap:.75rem;gap:.75rem;padding-top:.85rem}.project-engineering>span,.project-proof>span{color:var(--orange);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.project-engineering>span{color:var(--blue)}.project-engineering p,.project-proof p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.55}.project-tags{margin-top:.85rem}.project-actions{display:flex;gap:.55rem;margin-top:auto;padding-top:1.1rem}.project-actions a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.15rem;padding:0 .75rem;border:1px solid var(--border);border-radius:999px;background:#171717;color:var(--muted);font-size:.75rem;text-transform:uppercase;transition:color .16s ease,border-color .16s ease}.project-actions a:hover{border-color:#393939;color:var(--foreground)}.terminal-preview{display:flex;flex-direction:column;justify-content:space-between;padding:1rem;background:linear-gradient(hsla(0,0%,100%,.045) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.045) 1px,transparent 0),#0c0c0c;background-size:18px 18px;color:var(--muted);font-size:.75rem}.terminal-preview>div:first-child span{color:var(--lime)}.terminal-flow{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.terminal-flow span{padding:.35rem .45rem;border:1px solid #2c2c2c;background:#121212}.terminal-flow i{color:var(--lime);font-style:normal}.terminal-status{color:var(--muted-2)}.contact-section{padding:4.5rem 0 7.5rem}.contact-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(18rem,.92fr);grid-gap:clamp(2.5rem,7vw,6rem);gap:clamp(2.5rem,7vw,6rem);padding:2.6rem}.contact-card__main h2{max-width:34rem;margin:.85rem 0 .8rem;font-size:clamp(1.9rem,3vw,2.3rem);font-weight:400;letter-spacing:-.045em;line-height:1.08}.contact-card__main h2 em{font-family:Georgia,Times New Roman,serif;font-weight:400}.contact-card blockquote{max-width:31rem;margin:0 0 1.4rem;color:var(--muted-2);font-family:Georgia,Times New Roman,serif;font-size:.8rem;font-style:italic;line-height:1.55}.contact-card__main>a{display:inline-flex;align-items:center;gap:.65rem;min-height:2.5rem;padding:0 1rem;border:1px solid hsla(0,0%,100%,.35);border-radius:999px;color:var(--foreground);font-size:.76rem;box-shadow:inset 0 0 18px hsla(0,0%,100%,.05)}.contact-card__main>a:hover{border-color:var(--orange)}.contact-card__main small{display:block;margin-top:.55rem;color:var(--muted-2);font-size:.75rem;text-transform:uppercase}.contact-notes{display:grid;grid-gap:1.4rem;gap:1.4rem;align-content:center}.contact-notes h3{margin:0 0 .3rem;color:var(--blue);font-size:.76rem;font-weight:500}.contact-notes div:nth-child(2) h3{color:var(--lime)}.contact-notes div:nth-child(3) h3{color:var(--orange)}.contact-notes p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.55}.site-footer{min-height:6rem;padding-top:1.2rem;border-top:1px solid var(--border);color:var(--muted-2);font-size:.75rem}.palette-backdrop{position:fixed;z-index:150;inset:0;display:grid;place-items:start center;padding:7.5rem 1rem 2rem;background:rgba(5,5,5,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .13s ease both}.command-palette{width:min(100%,34rem);max-height:min(42rem,calc(100vh - 9.5rem));border:1px solid #303030;border-radius:12px;background:#151515;box-shadow:0 30px 90px rgba(0,0,0,.62);overflow-y:auto;animation:palette-in .18s cubic-bezier(.16,1,.3,1) both}.palette-search{display:grid;grid-template-columns:1.5rem 1fr auto;align-items:center;min-height:4.2rem;padding:0 1rem;border-bottom:1px solid var(--border);color:var(--muted-2)}.palette-search input{width:100%;border:0;outline:0;background:transparent;color:var(--foreground);font-size:.92rem}.palette-search input::placeholder{color:var(--muted-2)}.palette-search button{padding:.25rem .4rem;border:1px solid #333;border-radius:4px;background:#1c1c1c;color:var(--muted);cursor:pointer;font-size:.75rem;text-transform:uppercase}.palette-group{padding:1rem .8rem .35rem}.palette-group>span{display:block;margin:0 0 .55rem .45rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.palette-group>div{display:grid}.palette-group a,.palette-group button{display:grid;grid-template-columns:1.4rem 1fr auto;grid-gap:.65rem;gap:.65rem;align-items:center;min-height:2.75rem;padding:0 .65rem;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;text-align:left}.palette-group a:hover,.palette-group button:hover{background:#101010;color:var(--foreground)}.palette-group i{color:var(--orange);font-style:normal;text-align:center}.palette-group strong{font-size:.78rem;font-weight:400}.palette-group kbd{width:1.15rem;min-width:1.15rem;height:1.15rem;padding:0}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.58;transform:scale(.78)}}@keyframes bars-in{0%{transform:scaleY(.1);transform-origin:bottom;opacity:0}to{transform:scaleY(1);transform-origin:bottom;opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes palette-in{0%{opacity:0;transform:translateY(-.75rem) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes marquee-y{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes skeleton-pulse{0%,to{opacity:.45}50%{opacity:.9}}@media (max-width:900px){.site-footer,.site-header,main{width:min(calc(100% - 2rem),45rem)}.hero-section{grid-template-columns:1fr}.live-panel{display:none}.hero-copy{max-width:42rem}}@media (max-width:680px){body{font-size:16px}.site-footer,.site-header,main{width:calc(100% - 3rem)}.site-header{padding-top:2.25rem}.utility-row{font-size:.75rem}.palette-trigger{gap:.28rem;font-size:0}.palette-trigger:before{font-size:.75rem;content:"press"}.navigation-row{display:grid;grid-template-columns:minmax(8.5rem,.85fr) 1.15fr;grid-gap:1rem;gap:1rem;align-items:start;margin-top:2.5rem}.wordmark{max-width:8rem;font-size:2rem;line-height:1.25}.navigation-row nav{display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem .3rem;gap:.45rem .3rem;padding-top:.15rem}.navigation-row nav a{padding:.15rem 0;font-size:.76rem}main{margin-top:4rem}.hero-section{padding-bottom:3.5rem}.availability{margin-bottom:2rem!important}.hero-copy h1{margin-bottom:2.1rem;font-size:clamp(2.65rem,12.4vw,3.2rem);line-height:1.05}.hero-copy>p:not(.availability){font-size:.875rem;line-height:1.9}.content-section{padding:3rem 0}.section-header{margin-bottom:1.4rem}.github-heatmap__header{grid-template-columns:1fr auto;gap:.55rem 1rem}.github-heatmap__header strong{grid-column:1/-1;grid-row:2}.github-heatmap__chart{padding:1rem}.github-heatmap__months{font-size:.65rem}.github-heatmap__months span:nth-child(2n){display:none}.github-heatmap__chart footer{align-items:flex-start;flex-direction:column}.experience-story__header{grid-template-columns:1fr;gap:1.35rem}.experience-story__identity{gap:.85rem}.experience-story__identity>span{font-size:2.5rem}.experience-story__intro{font-size:.84rem}.experience-metrics{margin-top:1.35rem}.experience-metrics>div{padding:.85rem .55rem}.experience-metrics strong{font-size:1.1rem}.experience-outcomes{grid-template-columns:1fr}.experience-outcomes>div,.experience-outcomes>div:nth-child(2n){padding:1rem 0;border-right:0}.experience-technologies{gap:.5rem}.experience-technologies,.projects-grid{grid-template-columns:1fr}.project-card{min-height:0}.project-preview__image,.terminal-preview{height:10.5rem}.contact-section{padding:4rem 0 6rem}.contact-card{grid-template-columns:1fr;gap:2.5rem;padding:1.6rem}.contact-card__main h2{font-size:1.8rem}.site-footer{min-height:5rem}.palette-backdrop{align-items:start;padding-top:6rem}.command-palette{max-height:calc(100vh - 7.5rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.navigation-row nav a.is-current{color:var(--foreground)}.site-footer a{transition:color .16s ease}.site-footer a:hover{color:var(--foreground)}.index-page{margin-top:4.6rem;padding-bottom:6rem}.index-intro{max-width:34rem;margin-bottom:4.8rem}.index-intro>span{color:var(--muted-2);font-size:.75rem;letter-spacing:.17em;text-transform:uppercase}.index-intro h1,.writings-intro h1{margin:.65rem 0 .85rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,3.8rem);font-style:italic;font-weight:400;letter-spacing:-.045em;line-height:1}.index-intro p,.writings-intro p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.8}.index-section{margin-top:3.7rem}.index-section__heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.index-section__heading h2{margin:0;color:var(--muted);font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase}.index-section__heading>span{color:var(--muted-2);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.spotlight-list{display:grid;grid-gap:.9rem;gap:.9rem}.spotlight-list .project-card{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);grid-column-gap:2rem;column-gap:2rem;min-height:25rem;padding:1.25rem}.spotlight-list .project-preview{grid-column:1;grid-row:1;min-width:0}.spotlight-list .project-preview__image{height:12rem;min-height:12rem}.spotlight-list .project-card__content{grid-column:2;min-width:0}.spotlight-list .project-card__content,.spotlight-list .project-preview{align-self:start}.spotlight-list .project-card__meta{margin-top:.25rem}.spotlight-list .project-card h3{margin-top:.55rem}.spotlight-list .project-card__content>p{display:block;max-width:38rem;-webkit-line-clamp:unset}.spotlight-list .project-actions{margin-top:0}.catalogue-filters{display:flex;flex-wrap:wrap;gap:.35rem .65rem;margin-bottom:.65rem}.catalogue-filters button{padding:.3rem .6rem;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted-2);cursor:pointer;font-size:.75rem;text-transform:lowercase;transition:border-color .16s ease,background .16s ease,color .16s ease}.catalogue-filters button span{margin-left:.2rem;color:#555}.catalogue-filters button:hover,.catalogue-filters button[aria-pressed=true]{border-color:#373737;background:#f0f0f0;color:#171717}.catalogue-filters button[aria-pressed=true] span{color:#555}.filter-result{margin:0 0 1rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.8rem;gap:.8rem}.catalogue-card{min-width:0;border:1px solid var(--border);border-radius:9px;background:var(--panel);overflow:hidden;transition:border-color .18s ease,transform .18s ease}.catalogue-card:hover{border-color:#353535;transform:translateY(-2px)}.catalogue-card__bar{display:flex;align-items:center;justify-content:space-between;height:2rem;padding:0 .85rem;border-bottom:1px solid var(--border);color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.catalogue-card__bar>span:last-child{display:flex;align-items:center;gap:.35rem;color:var(--lime)}.catalogue-card__bar i{width:.35rem;height:.35rem;border-radius:50%;background:currentColor}.catalogue-signal{position:relative;height:9rem;padding:1.25rem 1.2rem .8rem;border-bottom:1px solid var(--border);background:linear-gradient(hsla(0,0%,96%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,96%,.035) 1px,transparent 0),#0e0e0e;background-size:24px 24px}.catalogue-signal>div{display:flex;height:100%;align-items:flex-end;gap:4px}.catalogue-signal i{width:100%;border-top:1px solid hsla(0,0%,96%,.85);background:linear-gradient(0deg,hsla(0,0%,96%,.02),hsla(0,0%,96%,.11))}.catalogue-card:nth-child(3n+2) .catalogue-signal i{border-color:hsla(0,0%,71%,.85);background:linear-gradient(0deg,hsla(0,0%,71%,.02),hsla(0,0%,71%,.11))}.catalogue-card:nth-child(3n) .catalogue-signal i{border-color:hsla(0,0%,82%,.85);background:linear-gradient(0deg,hsla(0,0%,82%,.02),hsla(0,0%,82%,.11))}.catalogue-card__body{padding:1rem 1.05rem 1.15rem}.catalogue-card__body>span{color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.catalogue-card h3{margin:.35rem 0 .55rem;font-size:1rem;font-weight:400;letter-spacing:-.025em}.catalogue-card h3 a:hover{color:var(--lime)}.catalogue-card p{min-height:3.2rem;margin:0;color:var(--muted);font-size:.78rem;line-height:1.6}.writings-page{min-height:calc(100vh - 12rem)}.writings-intro{display:grid;grid-template-columns:auto auto 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:flex-end;margin-bottom:3rem}.writings-intro h1{margin:0}.writings-intro>span{padding-bottom:.2rem;color:var(--muted-2);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.writings-intro p{max-width:36rem;padding-bottom:.05rem}.writing-feature{padding-top:1rem;border-top:1px solid var(--border)}.writing-feature-card{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden;transition:border-color .18s ease,transform .22s ease,background .18s ease}.writing-feature-card:hover{border-color:#363636;background:#161616;transform:translateY(-3px)}.writing-feature-card>a{display:grid;grid-template-columns:minmax(18rem,.8fr) minmax(0,1.2fr);min-height:30rem}.writing-visual{position:relative;min-height:100%;border-right:1px solid var(--border);background:#0d0d0d;overflow:hidden}.writing-visual__grid{position:absolute;inset:0;background:linear-gradient(hsla(0,0%,100%,.035) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.035) 1px,transparent 0);background-size:28px 28px;-webkit-mask-image:linear-gradient(135deg,#000,transparent 86%);mask-image:linear-gradient(135deg,#000,transparent 86%)}.writing-visual__signal{position:absolute;inset:4rem 2rem 2rem;display:flex;align-items:flex-end;gap:5px}.writing-visual__signal i{width:100%;border-top:1px solid hsla(0,0%,86%,.95);background:linear-gradient(0deg,transparent,hsla(0,0%,86%,.14));transition:transform .26s ease,opacity .26s ease}.writing-feature-card:hover .writing-visual__signal i:nth-child(3n){transform:translateY(-8px)}.writing-visual>span{position:absolute;top:1.2rem;left:1.25rem;color:var(--red);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.writing-feature-card__body{display:flex;min-width:0;flex-direction:column;padding:clamp(1.5rem,4vw,3rem)}.writing-feature-card__body>span{color:var(--red);font-size:.75rem;letter-spacing:.13em;text-transform:uppercase}.writing-feature-card h2{max-width:38rem;margin:.8rem 0 1rem;font-family:var(--font-outfit),"Avenir Next",sans-serif;font-size:clamp(2rem,4vw,3.25rem);font-weight:500;letter-spacing:-.055em;line-height:1.03}.writing-feature-card__body>p{max-width:38rem;margin:0;color:var(--muted);font-size:.85rem;line-height:1.75}.writing-impact{display:flex;gap:.9rem;align-items:center;margin-top:1.6rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.writing-impact>svg{width:1.3rem;height:1.3rem}.writing-impact strong{display:block;font-family:var(--font-outfit),"Avenir Next",sans-serif;font-size:1.45rem;font-weight:500;letter-spacing:-.035em}.writing-impact span{display:block;color:var(--muted-2);font-size:.75rem}.writing-feature-card footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:auto;padding-top:1.5rem;color:var(--muted-2);font-size:.75rem}.writing-feature-card footer strong{display:inline-flex;gap:.35rem;align-items:center;color:var(--foreground);font-weight:500;text-transform:uppercase}@media (max-width:760px){.index-page{margin-top:4.4rem}.index-intro{margin-bottom:4rem}.spotlight-list .project-card{display:flex;min-height:0}.spotlight-list .project-card__content,.spotlight-list .project-preview{align-self:stretch}.spotlight-list .project-preview__image{height:11rem;min-height:0}.writing-feature-card>a{grid-template-columns:1fr}.writing-visual{min-height:14rem;border-right:0;border-bottom:1px solid var(--border)}.catalogue-grid{grid-template-columns:1fr}.writings-intro{grid-template-columns:auto 1fr}.writings-intro p{grid-column:1/-1}.writing-feature-card h2{font-size:clamp(2rem,8vw,2.8rem)}}@media (max-width:520px){.index-intro h1,.writings-intro h1{font-size:2.65rem}.index-intro p,.writings-intro p{font-size:.84rem}.catalogue-filters{gap:.3rem}.writing-feature-card footer{align-items:flex-start;flex-direction:column}}.contributions-card,.status-console,.terminal-preview{font-family:var(--font-mono),ui-monospace,"SFMono-Regular",Consolas,monospace}.back-top,.catalogue-card__bar>span:last-child,.console-title>span:first-child,.pr-state{display:inline-flex;align-items:center;gap:.35rem}.back-top svg,.catalogue-card__bar svg,.console-title svg,.contributions-card__header svg,.pr-state svg{width:.75rem;height:.75rem}.social-row a{position:relative;isolation:isolate;touch-action:manipulation}.social-row a>svg{z-index:1;width:1rem;height:1rem}.social-row a:before{position:absolute;width:1.8rem;height:1.8rem;border:1px solid;border-radius:50%;content:"";opacity:0;transform:scale(.55);transition:opacity .18s ease,transform .26s cubic-bezier(.16,1,.3,1)}.social-row a:after{position:absolute;z-index:4;bottom:calc(100% + .45rem);left:50%;padding:.2rem .4rem;border:1px solid var(--border);border-radius:4px;background:#151515;color:var(--muted);content:attr(data-label);font-size:.75rem;letter-spacing:0;opacity:0;pointer-events:none;text-transform:none;transform:translate(-50%,.25rem);transition:opacity .16s ease,transform .16s ease;white-space:nowrap}.social-row a:focus-visible:before,.social-row a:hover:before{opacity:.28;transform:scale(1)}.social-row a:focus-visible:after,.social-row a:hover:after{opacity:1;transform:translate(-50%)}.pr-symbol{display:grid;place-items:center}.pr-symbol svg{width:.72rem;height:.72rem}.contributions-card__header svg,.pr-state svg{color:currentColor}.catalogue-card h3 svg,.contributions-card__footer svg,.project-actions svg{width:.8rem;height:.8rem}.palette-search>svg{width:1rem;height:1rem}.palette-group i{display:grid;place-items:center}.palette-group i svg{width:1rem;height:1rem;transition:transform .18s cubic-bezier(.16,1,.3,1)}.palette-group a:hover i svg,.palette-group button:hover i svg{transform:translateX(2px) scale(1.05)}.action-icon svg,.back-top svg,.catalogue-card h3 svg,.cta-arrow svg,.slide-arrow-link svg{transition:transform .18s cubic-bezier(.16,1,.3,1)}.action-link:hover .action-icon svg,.back-top:hover svg,.catalogue-card h3 a:hover svg,.slide-arrow-link:hover svg{transform:translate(2px,-1px)}.cta-arrow{display:grid;width:1rem;height:1rem;place-items:center;overflow:hidden}.cta-arrow svg{width:.9rem;height:.9rem}.catalogue-filters button,.contact-cta,.filter-button,.palette-group a,.palette-group button,.palette-trigger,.project-actions a{touch-action:manipulation}.catalogue-filters button:active,.contact-cta:active,.filter-button:active,.palette-group a:active,.palette-group button:active,.palette-trigger:active,.project-actions a:active{transform:scale(.97)}.terminal-flow svg{width:.75rem;height:.75rem;color:var(--lime)}.catalogue-card h3 a{display:inline-flex;align-items:baseline;gap:.35rem}.catalogue-card h3 svg{flex:0 0 auto}.back-top{gap:.3rem}@media (hover:hover) and (pointer:fine){.navigation-row nav a{transition:color .16s ease,opacity .18s ease}.navigation-row nav:has(a:hover) a:not(:hover){opacity:.42}.catalogue-card,.project-card,.writing-feature-card{position:relative;isolation:isolate;overflow:hidden}.catalogue-card:after,.project-card:after,.writing-feature-card:after{position:absolute;z-index:5;inset:0;background:linear-gradient(105deg,transparent 36%,hsla(0,0%,100%,.045) 49%,transparent 62%);content:"";pointer-events:none;transform:translateX(-110%);transition:transform .68s cubic-bezier(.16,1,.3,1)}.catalogue-card:hover:after,.project-card:hover:after,.writing-feature-card:hover:after{transform:translateX(110%)}}@media (prefers-reduced-motion:no-preference){.hero-copy,.index-intro,.live-panel,.writing-feature-card,.writings-intro{animation:content-reveal .52s cubic-bezier(.16,1,.3,1) both}.live-panel{animation-delay:90ms}}@keyframes content-reveal{0%{opacity:0;transform:translateY(.75rem)}to{opacity:1;transform:translateY(0)}}