:root{--bg-0:#07070a;--bg-1:#0c0c10;--bg-2:#131318;--bg-3:#1a1a21;--line:hsla(0,0%,100%,.07);--line-2:hsla(0,0%,100%,.13);--ink:#f4f4f0;--ink-2:#d8d8d2;--ink-3:#b4b4b0;--muted:#8a8a90;--muted-2:#5a5a62;--dim:#38383f;--accent:#ff6a35;--accent-2:#ffb088;--accent-dim:rgba(255,106,53,.18);--accent-soft:rgba(255,106,53,.08);--green:#34d399;--green-soft:rgba(52,211,153,.16);--sans:var(--font-geist-sans),ui-sans-serif,system-ui,-apple-system,sans-serif;--mono:var(--font-geist-mono),ui-monospace,"SF Mono",Menlo,monospace;--max:1240px}*{box-sizing:border-box}body,html{margin:0;padding:0}body,html{background:var(--bg-0)}body{font-family:var(--sans);color:var(--ink-2);font-size:14.5px;line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;position:relative}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none;transition:color .16s ease}a:hover{color:var(--accent-2)}.bg-canvas{position:fixed;inset:0;z-index:0;pointer-events:none}.bg-canvas:before{background:radial-gradient(900px 600px at 20% 0,rgba(255,106,53,.1),transparent 60%),radial-gradient(1000px 700px at 90% 90%,rgba(255,106,53,.06),transparent 65%),linear-gradient(180deg,#07070a,#08080c 50%,#06060a)}.bg-canvas:after,.bg-canvas:before{content:"";position:absolute;inset:0}.bg-canvas:after{background:radial-gradient(120% 80% at 50% 30%,transparent 40%,rgba(0,0,0,.6) 100%);pointer-events:none}#bgcv{z-index:1}#bgcv,.codefall{position:fixed;inset:0;pointer-events:none}.codefall{z-index:2;overflow:hidden;contain:strict}.codefall .snip{position:absolute;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.02em;color:hsla(0,0%,100%,.085);opacity:0;transition:opacity 1.3s cubic-bezier(.4,0,.2,1);white-space:nowrap;text-shadow:0 0 12px hsla(0,0%,100%,.06);will-change:opacity}.codefall .snip.accent{color:rgba(255,140,90,.22);text-shadow:0 0 10px rgba(255,106,53,.25)}.codefall .snip.on{opacity:1}.spotlight{z-index:3;background:radial-gradient(220px 220px at var(--x,-200px) var(--y,-200px),rgba(255,140,90,.18) 0,rgba(255,140,90,.05) 30%,transparent 65%);mix-blend-mode:screen;transition:background 60ms linear}.scanlines,.spotlight{position:fixed;inset:0;pointer-events:none}.scanlines{z-index:4;opacity:.4;background:repeating-linear-gradient(0deg,hsla(0,0%,100%,.014),hsla(0,0%,100%,.014) 1px,transparent 0,transparent 3px)}.wrap{position:relative;z-index:10}.mono{letter-spacing:.02em}.mono,.tag{font-family:var(--mono)}.tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.bracket{font-family:var(--mono);color:var(--muted-2)}.bracket .v{color:var(--ink-2)}.bracket .a{color:var(--accent)}[data-reveal]{opacity:0;transform:translateY(14px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}[data-reveal].in{opacity:1;transform:none}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);background:rgba(7,7,10,.65);border-bottom:1px solid var(--line)}.nav-inner{max-width:var(--max);margin:0 auto;padding:14px 32px;justify-content:space-between;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em}.nav-brand,.nav-inner{display:flex;align-items:center}.nav-brand{gap:12px;color:var(--ink)}.nav-brand .mk{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent) 0,#b03b1a 100%);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;font-size:12px;box-shadow:0 0 0 1px hsla(0,0%,100%,.06),0 4px 14px rgba(255,106,53,.4)}.nav-brand .mk.mk-svg{width:auto;height:22px;border-radius:0;background:none;box-shadow:none;display:inline-block;filter:drop-shadow(0 4px 12px rgba(255,106,53,.4))}.nav-meta{display:flex;gap:22px;align-items:center;color:var(--muted);text-transform:uppercase}.status-dot{display:inline-flex;align-items:center;gap:8px;color:var(--green)}.status-dot:before{content:"";width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 0 3px var(--green-soft),0 0 12px var(--green);animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.hero{max-width:var(--max);margin:0 auto;padding:64px 32px 48px;display:grid;grid-template-columns:1fr 360px;grid-gap:56px;gap:56px;align-items:start}.hero-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:0 0 22px;display:flex;align-items:center;gap:14px}.hero-eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:var(--accent)}h1.name{font-family:var(--sans);font-weight:700;font-size:clamp(48px,11vw,156px);line-height:.88;letter-spacing:-.055em;margin:0 0 14px;color:var(--ink);display:inline-flex;align-items:center;gap:0;flex-wrap:nowrap;white-space:nowrap;max-width:100%}h1.name .ang{font-family:var(--mono);font-weight:500;font-size:.42em;letter-spacing:0;margin:0 .08em;align-self:center;transform:translateY(-.02em)}h1.name .ang,h1.name .us{color:var(--accent)}h1.name .dyn{display:inline-flex;align-items:baseline}h1.name .caret,h1.name .dyn>span{display:inline-block}h1.name .caret{width:.08em;height:.78em;background:var(--accent);margin:0 .04em 0 .06em;animation:blink 1.05s steps(1) infinite;align-self:center;transform:translateY(.04em);box-shadow:0 0 12px rgba(255,106,53,.55)}h1.name.landed .dyn>span{animation:landedFlash .7s cubic-bezier(.2,.7,.2,1)}h1.name.landed .ang{animation:angFlash .7s ease-out}@keyframes landedFlash{0%{color:var(--accent);text-shadow:0 0 18px rgba(255,106,53,.55)}60%{color:var(--ink);text-shadow:0 0 0 rgba(255,106,53,0)}to{color:var(--ink)}}@keyframes angFlash{0%{text-shadow:0 0 18px rgba(255,106,53,.85),0 0 4px rgba(255,106,53,.9)}to{text-shadow:none}}.hero-meta{margin-top:42px;display:flex;flex-direction:column;gap:10px}.hero-role{font-family:var(--mono);font-size:13px;letter-spacing:.04em;color:var(--ink-3);margin:0}.hero-role .slash{color:var(--muted-2);margin:0 8px}.hero-role .hl{color:var(--accent-2)}.hero-blurb{margin:0;max-width:58ch;font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.55;letter-spacing:-.005em;color:var(--ink-3);text-wrap:pretty;font-weight:400}.hero-blurb em{font-style:normal;color:var(--ink);font-weight:700;letter-spacing:-.01em}.pills{display:flex;flex-wrap:wrap;gap:8px}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:hsla(0,0%,100%,.02);font-family:var(--mono);font-size:11.5px;color:var(--ink-2);transition:border-color .16s ease,background .16s ease,color .16s ease}.pill:hover{border-color:var(--accent);color:var(--accent-2);background:var(--accent-soft)}.pill svg{width:13px;height:13px;color:var(--accent)}.pill.todo{border-style:dashed}.pill.todo,.pill.todo svg{color:var(--muted)}.hero-aside{display:flex;flex-direction:column;gap:18px}.portrait{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#111;box-shadow:0 0 0 1px var(--line-2),0 30px 60px rgba(0,0,0,.5),0 12px 24px rgba(0,0,0,.35),0 0 0 6px hsla(0,0%,100%,.02)}.portrait img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05) brightness(.92)}.portrait:after{content:"";inset:0;background:linear-gradient(160deg,transparent 50%,rgba(255,106,53,.18)),linear-gradient(180deg,transparent 60%,rgba(0,0,0,.65))}.portrait-corners,.portrait:after{position:absolute;pointer-events:none}.portrait-corners{inset:8px}.portrait-corners span{position:absolute;width:14px;height:14px;border-color:var(--accent);border-style:solid;border-width:0}.portrait-corners .tl{top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}.portrait-corners .tr{top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}.portrait-corners .bl{bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}.portrait-corners .br{bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}.portrait-tag{position:absolute;left:14px;bottom:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:hsla(0,0%,100%,.92);display:flex;align-items:center;gap:8px}.portrait-tag .d{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(255,106,53,.25)}.terminal{border:1px solid var(--line);background:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,0));border-radius:10px;overflow:hidden;font-family:var(--mono);font-size:11.5px;line-height:1.7}.term-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.02);color:var(--muted);font-size:10.5px;letter-spacing:.08em}.term-bar .d{width:8px;height:8px;border-radius:50%;background:var(--dim)}.term-bar .d.r{background:#ff5f56}.term-bar .d.y{background:#ffbd2e}.term-bar .d.g{background:#27c93f}.term-bar .title{margin-left:8px;color:var(--muted)}.term-body{padding:10px 14px 12px}.term-body>div:last-child{white-space:nowrap;overflow:hidden;text-overflow:clip;min-height:1.7em}.term-prompt{color:var(--accent)}.term-cmd{color:var(--ink)}.term-out{color:var(--ink-3)}.term-key{color:var(--accent-2)}.term-str{color:var(--green)}.term-typed{color:var(--ink)}.cursor{display:inline-block;width:7px;height:13px;background:var(--accent);vertical-align:-2px;margin-left:2px;animation:blink 1.1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.015);overflow:hidden;padding:14px 0;margin-top:24px;position:relative}.marquee:after,.marquee:before{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}.marquee:before{left:0;background:linear-gradient(90deg,var(--bg-0),transparent)}.marquee:after{right:0;background:linear-gradient(270deg,var(--bg-0),transparent)}.marquee-track{display:inline-flex;gap:40px;white-space:nowrap;animation:scroll 50s linear infinite;will-change:transform}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.marq{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:13px;color:var(--ink-3);letter-spacing:.04em}.marq:before{content:"//";color:var(--accent);font-weight:600}main{max-width:var(--max);margin:0 auto;padding:0 32px}section.block{padding:80px 0;border-top:1px solid var(--line);position:relative}section.block:first-of-type{border-top:none;padding-top:56px}.sec-head{margin-bottom:36px;max-width:980px}.sec-prefix{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.04em;margin:0 0 18px}.sec-prefix .idx{color:var(--accent);padding:3px 8px;border:1px solid var(--accent-dim);background:var(--accent-soft);border-radius:4px;font-size:10.5px;letter-spacing:.16em}.sec-prefix .kw{color:#c084fc}.sec-prefix .fn{color:var(--ink)}.sec-prefix .br,.sec-prefix .sl{color:var(--muted-2)}.sec-prefix .sl{margin:0 4px}.sec-title{font-family:var(--sans);font-weight:600;font-size:clamp(34px,5.4vw,62px);letter-spacing:-.04em;line-height:.98;margin:0;color:var(--ink);text-wrap:balance}.sec-title em{font-style:normal;color:var(--accent);font-weight:600}.sec-close{margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--muted-2)}.sec-sub{margin:10px 0 0;color:var(--muted);font-size:14.5px;max-width:60ch;text-wrap:pretty}.sec-body{display:grid;grid-template-columns:220px 1fr;grid-gap:48px;gap:48px;margin-top:28px}.sec-body .col-meta{color:var(--muted)}.sec-body .col-meta .tag{display:block;margin-bottom:6px}.sec-body .col-meta .note{font-family:var(--mono);font-size:11px;color:var(--muted-2);line-height:1.55;text-wrap:pretty}.card{position:relative;background:rgba(20,20,25,.55);border:1px solid var(--line);border-radius:12px;padding:22px 24px;overflow:hidden;transition:border-color .24s ease,transform .24s ease}.card[data-spot]:before{inset:0;background:radial-gradient(280px 280px at var(--mx,-200px) var(--my,-200px),rgba(255,106,53,.14),transparent 60%)}.card[data-spot]:after,.card[data-spot]:before{content:"";position:absolute;opacity:0;transition:opacity .22s ease;pointer-events:none}.card[data-spot]:after{inset:-1px;border-radius:13px;padding:1px;background:radial-gradient(260px 260px at var(--mx,-200px) var(--my,-200px),rgba(255,106,53,.5),transparent 65%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.card[data-spot]:hover:after,.card[data-spot]:hover:before{opacity:1}.card[data-spot]:hover{border-color:hsla(0,0%,100%,.16)}.lede{font-family:var(--sans);font-size:clamp(22px,2.6vw,30px);line-height:1.28;color:var(--ink);letter-spacing:-.022em;margin:0 0 20px;font-weight:500;text-wrap:balance}.lede em{color:var(--accent);font-style:normal;font-weight:600}.profile p{margin:0 0 12px;color:var(--ink-3);font-size:15px;line-height:1.65;max-width:64ch;text-wrap:pretty}.caps{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.cap{padding:22px 24px}.cap-i{font-family:var(--mono);font-size:11px;color:var(--accent);margin-bottom:10px;letter-spacing:.12em;display:flex;align-items:center;gap:10px}.cap-i:after{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,var(--accent-soft),transparent)}.cap-t{font-family:var(--sans);font-weight:600;font-size:17px;color:var(--ink);margin:0 0 6px;letter-spacing:-.018em;line-height:1.25}.cap-d{color:var(--ink-3);font-size:13.5px;line-height:1.55;margin:0;text-wrap:pretty}.jobs{display:flex;flex-direction:column;gap:14px}.job{padding:20px 24px}.job-head{display:grid;grid-template-columns:1fr auto;grid-gap:12px 20px;gap:12px 20px;align-items:baseline;margin-bottom:12px}.job-id{display:flex;flex-direction:column;gap:4px;min-width:0}.job-title{font-family:var(--sans);font-size:20px;color:var(--ink);margin:0;line-height:1.22;letter-spacing:-.025em;font-weight:600}.job-title .at{color:var(--muted-2);font-family:var(--mono);font-weight:400;font-size:.75em;margin:0 6px}.job-title .co{color:var(--accent)}.job-tagline{color:var(--muted-2);letter-spacing:.04em;margin:0}.job-tagline,.job-when{font-family:var(--mono);font-size:11px}.job-when{color:var(--muted);letter-spacing:.06em;white-space:nowrap;display:flex;align-items:center;gap:10px}.job-when .now{display:inline-flex;align-items:center;gap:6px;color:var(--green);padding:2px 8px;border:1px solid var(--green-soft);background:rgba(52,211,153,.06);border-radius:999px;font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}.job-when .now:before{content:"";width:5px;height:5px;background:var(--green);border-radius:50%;box-shadow:0 0 8px var(--green)}.job-bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}.job-bullets li{position:relative;padding-left:22px;color:var(--ink-3);font-size:13.8px;line-height:1.55;text-wrap:pretty}.job-bullets li:before{content:"→";position:absolute;left:0;color:var(--accent);font-family:var(--mono)}.projects{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.project{padding:22px 24px;display:flex;flex-direction:column;gap:10px}.project-meta{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--accent);text-transform:uppercase}.project-title{font-family:var(--sans);font-size:20px;color:var(--ink);margin:0;letter-spacing:-.025em;font-weight:600;line-height:1.22}.project p{margin:0;color:var(--ink-3);font-size:13.8px;line-height:1.55;text-wrap:pretty}.project .why{margin-top:6px;padding-top:12px;border-top:1px dashed var(--line-2);font-size:12.5px;color:var(--muted)}.project .why strong{font-family:var(--mono);font-size:10px;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:4px;font-weight:500}.stack-grid-wrap{display:flex;flex-direction:column;gap:18px}.stack-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.ai-practice{position:relative;padding:26px 28px 24px;background:linear-gradient(180deg,rgba(255,106,53,.06),rgba(255,106,53,.015) 60%,hsla(0,0%,100%,.01)),hsla(0,0%,100%,.015);border:1px solid rgba(255,106,53,.25);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.02),0 30px 60px rgba(0,0,0,.35),0 0 80px rgba(255,106,53,.05);overflow:hidden}.ai-practice:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--accent),rgba(255,106,53,.1))}.ai-tag{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.ai-title{font-family:var(--sans);font-size:22px;font-weight:600;letter-spacing:-.025em;color:var(--ink);margin:0 0 10px;line-height:1.2}.ai-body{font-size:14px;line-height:1.6;color:var(--ink-3);margin:0 0 16px;max-width:68ch;text-wrap:pretty}.ai-chips{gap:6px}.stack-block{padding:22px 24px}.stack-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:0 0 14px;display:flex;align-items:center;gap:10px}.stack-label:before{content:"";width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--accent)}.stack-chips{display:flex;flex-wrap:wrap;gap:6px}.stack-chip{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);padding:5px 10px;border-radius:6px;background:hsla(0,0%,100%,.025);border:1px solid var(--line);line-height:1.4}.stack-chip.hl{background:var(--accent-soft);border-color:var(--accent-dim);color:var(--accent-2)}.duo{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.edu,.langs{padding:22px 24px}.edu-list,.lang-list{display:flex;flex-direction:column}.edu-item{padding:12px 0;border-top:1px solid var(--line)}.edu-item:first-child{border-top:none;padding-top:0}.edu-item:last-child{padding-bottom:0}.edu-school{font-family:var(--sans);font-size:16px;color:var(--ink);margin:0 0 3px;font-weight:600;letter-spacing:-.02em}.edu-detail{color:var(--ink-3);font-size:13px;line-height:1.5;margin:0}.edu-when{font-family:var(--mono);font-size:10.5px;color:var(--muted-2);letter-spacing:.08em;display:block;margin-top:4px}.lang-item{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:14px;gap:14px;padding:10px 0;border-top:1px solid var(--line)}.lang-item:first-child{border-top:none;padding-top:0}.lang-item:last-child{padding-bottom:0}.lang-name{font-family:var(--sans);font-size:16px;color:var(--ink);font-weight:600;letter-spacing:-.02em}.lang-bars{display:flex;gap:3px}.lang-bars span{width:16px;height:4px;border-radius:2px;background:hsla(0,0%,100%,.08)}.lang-bars span.on{background:var(--accent);box-shadow:0 0 6px rgba(255,106,53,.4)}.footer-cta{margin-top:60px;padding:80px 32px 90px;border-top:1px solid var(--line);text-align:center;position:relative;overflow:hidden}.footer-cta:before{content:"";position:absolute;inset:-2px;background:radial-gradient(700px 320px at 50% 0,rgba(255,106,53,.16),transparent 70%);pointer-events:none}.footer-cta .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.footer-cta h2{font-family:var(--sans);font-weight:700;font-size:clamp(40px,6vw,86px);line-height:.96;letter-spacing:-.045em;margin:0 0 28px;color:var(--ink);text-wrap:balance;position:relative}.footer-cta h2 em{color:var(--accent);font-style:normal;font-weight:700}.footer-cta .cta-row{flex-wrap:wrap;justify-content:center;position:relative}.btn,.footer-cta .cta-row{display:inline-flex;gap:10px}.btn{align-items:center;padding:12px 20px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink);background:hsla(0,0%,100%,.02);transition:all .2s ease}.btn.primary{background:linear-gradient(180deg,var(--accent) 0,#d24a1f 100%);color:#fff;border-color:transparent;box-shadow:0 0 0 1px hsla(0,0%,100%,.08),0 8px 24px rgba(255,106,53,.35)}.btn:hover{transform:translateY(-1px)}.btn.primary:hover{box-shadow:0 0 0 1px hsla(0,0%,100%,.14),0 12px 32px rgba(255,106,53,.5)}.btn svg{width:14px;height:14px}.colophon{max-width:var(--max);margin:0 auto;padding:28px 32px 36px;display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line)}.colophon .ink{color:var(--ink-2)}@media (max-width:980px){.hero{grid-template-columns:1fr;gap:36px;padding:40px 24px 32px}.hero-aside{flex-direction:row;gap:14px}.portrait{width:160px;flex:none}.terminal{flex:1 1;min-width:0}.nav-inner{padding:12px 20px}main{padding:0 24px}.sec-body,.sec-head{grid-template-columns:1fr;gap:18px}.sec-head{margin-bottom:28px}.caps,.duo,.projects,.stack-grid{grid-template-columns:1fr}section.block{padding:56px 0}.footer-cta{padding:60px 24px 70px}}@media (max-width:620px){h1.name{font-size:clamp(40px,13vw,56px)}.hero-role{flex-wrap:wrap;gap:4px 8px}.ai-practice{padding:22px 20px}.ai-title{font-size:19px}.terminal{font-size:11px}.hero-aside{flex-direction:column}.portrait{width:100%}.nav-meta{gap:12px;font-size:10px}.nav-meta .hide-sm{display:none}.pill{font-size:10.5px;padding:7px 12px}.lede{font-size:22px}.job-head{grid-template-columns:1fr}.job-title{font-size:19px}.edu-school,.lang-name,.project-title{font-size:17px}}@page{size:A4;margin:12mm}@media print{:root{--bg-0:#fff;--bg-1:#fff;--bg-2:#fff;--bg-3:#fff;--ink:#111;--ink-2:#1f1f1f;--ink-3:#333;--muted:#555;--muted-2:#777;--line:#ddd;--line-2:#bbb;--accent:#b04a1f;--accent-2:#8b3a1f;--accent-soft:#f7e8df;--accent-dim:#e8c7b3;--green:#2f8a5e}body{background:#fff;color:#1f1f1f;font-size:9.5pt;line-height:1.4}#bgcv,.bg-canvas,.footer-cta,.marquee,.scanlines,.spotlight{display:none!important}.nav{position:static;background:#fff;border-bottom:1px solid #ddd;-webkit-backdrop-filter:none;backdrop-filter:none}.hero{padding:16px 0 14px;grid-template-columns:1fr 180px;gap:24px}h1.name{font-size:44pt;color:#111}h1.name .ang,h1.name .us{color:#b04a1f!important;-webkit-text-fill-color:#b04a1f}h1.name .caret{display:none}.hero-blurb{font-size:10pt;margin:12px 0 14px}.terminal{display:none}.portrait{box-shadow:none;border:1px solid #ddd}.portrait img{filter:grayscale(1);-webkit-print-color-adjust:exact;print-color-adjust:exact}.portrait-corners,.portrait-tag,.portrait:after{display:none}main{padding:0}section.block{padding:16px 0;page-break-inside:auto;break-inside:auto;border-top:1px solid #ddd}section.block:first-of-type{padding-top:14px}.sec-head{margin-bottom:14px}.sec-body,.sec-head{grid-template-columns:140px 1fr;gap:18px}.sec-title{font-size:18pt;color:#111}.sec-sub{font-size:9pt}.lede{font-size:13pt;color:#111}.card{background:#fff;border:1px solid #ddd;box-shadow:none;page-break-inside:avoid;break-inside:avoid}.card[data-spot]:after,.card[data-spot]:before{display:none}.caps,.duo,.projects,.stack-grid{grid-template-columns:1fr 1fr;gap:8px}.cap,.edu,.job,.langs,.project,.stack-block{padding:10px 12px}.cap-t,.job-title,.project-title{font-size:11.5pt}.cap-d,.job-bullets li,.project p{font-size:8.8pt}.stack-chip{background:#f5f1ea!important;border-color:#ddd!important;color:#222!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.stack-chip.hl{background:#f7e8df!important;color:#8b3a1f!important}.lang-bars span.on{background:#b04a1f!important;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.lang-bars span{background:#e6e1d4!important}.colophon{border-top:1px solid #ddd;padding:12px 0}.pills{display:flex}.pill{border-color:#ddd!important;color:#333!important;background:#fafafa!important}.nav-brand .mk{background:#b04a1f!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.status-dot{color:#2f8a5e!important}.status-dot:before{background:#2f8a5e!important;box-shadow:none!important;animation:none}}@media (prefers-reduced-motion:reduce){.cursor,.status-dot:before,h1.name .caret,h1.name.landed .ang,h1.name.landed .dyn>span{animation:none!important}.marquee-track{animation-play-state:paused!important}}.wordmark-wrap{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:0 32px}.wordmark-block{display:flex;flex-direction:column;align-items:center;gap:28px;max-width:720px}.wordmark{margin:0;font-family:var(--sans);font-weight:700;font-size:clamp(40px,9vw,120px);line-height:.92;letter-spacing:-.055em;color:var(--ink);text-align:center;display:inline-flex;align-items:center;gap:0}.wordmark .accent,.wordmark .ang{color:var(--accent)}.wordmark .ang{font-family:var(--mono);font-weight:500;font-size:.42em;letter-spacing:0;margin:0 .08em;align-self:center;transform:translateY(-.02em)}.wordmark .dyn{display:inline-flex;align-items:baseline}.wordmark .dyn>span{display:inline-block;transform-origin:50% 100%;will-change:transform}.wordmark .dyn>span.pop{animation:charPop .24s cubic-bezier(.2,.8,.2,1)}@keyframes charPop{0%{transform:translateY(.08em) scale(.86);color:var(--accent-2)}60%{transform:translateY(-.02em) scale(1.08)}to{transform:translateY(0) scale(1)}}.wordmark .caret{display:inline-block;width:.08em;height:.78em;background:var(--accent);margin:0 .04em 0 .06em;animation:blink 1.05s steps(1) infinite;box-shadow:0 0 12px rgba(255,106,53,.55);align-self:center;transform:translateY(.04em)}.wordmark.landed .dyn>span{animation:landedFlash .7s cubic-bezier(.2,.7,.2,1)}.wordmark.landed .ang{animation:angFlash .7s ease-out}.wordmark-tag{margin:0;max-width:52ch;font-family:var(--font-display),ui-sans-serif,system-ui,sans-serif;font-size:15px;line-height:1.55;letter-spacing:-.005em;color:var(--ink-3);text-align:center;font-weight:400;text-wrap:pretty}.wordmark-tag em{font-style:normal;color:var(--ink);font-weight:700;letter-spacing:-.01em}.wordmark-tag a{display:inline-block;margin-left:6px;color:var(--accent-2);font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;border-bottom:1px solid rgba(255,176,136,.3);padding-bottom:1px;transition:color .16s ease,border-color .16s ease}.wordmark-tag a:hover{color:var(--accent);border-color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.notfound{min-height:calc(100vh - 64px);display:grid;place-items:center;padding:0 32px;text-align:center}.notfound h1{font-family:var(--sans);font-weight:700;font-size:clamp(80px,14vw,220px);color:var(--accent);margin:0;letter-spacing:-.04em}.notfound p{color:var(--ink-3);margin:.5rem 0 2rem;font-family:var(--mono)}.notfound a,.notfound button{display:inline-block;padding:10px 18px;border:1px solid var(--line-2);border-radius:999px;color:var(--ink);font-family:var(--mono);background:transparent;cursor:pointer;transition:border-color .16s ease,color .16s ease}.notfound a:hover,.notfound button:hover{border-color:var(--accent);color:var(--accent-2)}.sec-close .curl{color:var(--muted-2)}