:root{color-scheme:dark;--bg:#101414;--panel:#171d1d;--ink:#edf1ed;--muted:#a2afaa;--line:#34423c;--green:#b2e4aa;--cyan:#9cced0;--mono:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;--sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}html[data-theme=light]{color-scheme:light;--bg:#f2f4ee;--panel:#e8ede5;--ink:#18251e;--muted:#51645a;--line:#bac9bd;--green:#285a32;--cyan:#316b72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a,button{transition:color .2s,background .2s,border-color .2s,transform .2s}a:hover{color:var(--green)}button:active,.button:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}img{max-width:100%;display:block}p{margin:0 0 1.2em}h1,h2,h3{line-height:1.12;letter-spacing:-.04em;text-wrap:balance;margin:0}h1{font-size:clamp(2.8rem,5.4vw,5.3rem);font-weight:620;max-width:850px}h2{font-size:clamp(2rem,3.5vw,3.5rem);font-weight:560;max-width:800px}h3{font-size:1.3rem;font-weight:570;letter-spacing:-.02em}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.skip{position:fixed;left:20px;top:-100px;z-index:20;padding:12px;background:var(--green);color:var(--bg)}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}.nav-shell{min-height:82px;display:flex;align-items:center;gap:30px}.brand{font:600 18px var(--mono);white-space:nowrap}.brand>span:first-child{color:var(--green)}.brand-cursor{color:var(--green);animation:blink 1.2s step-end infinite}#navigation{display:flex;gap:19px;margin-left:auto}#navigation a{font:12px var(--mono);color:var(--muted);white-space:nowrap}#navigation a:hover,#navigation a[aria-current]{color:var(--green)}.controls{display:flex;align-items:center;gap:12px}.languages{display:flex}.languages button,.theme-toggle,.menu-toggle{border:0;background:transparent;color:var(--muted);min-height:44px;padding:8px;font:12px var(--mono)}.languages button[aria-pressed=true]{color:var(--green);text-decoration:underline;text-underline-offset:6px}.theme-toggle{border-left:1px solid var(--line);white-space:nowrap}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:72px;align-items:center;padding-block:96px 78px;position:relative}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:56px 56px;opacity:.14;mask-image:linear-gradient(90deg,transparent,#000)}.eyebrow,.section-kicker,.kicker{font:11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.13em;color:var(--green);margin-bottom:24px}.hero .lede{font-size:18px;line-height:1.7;color:var(--muted);max-width:590px;margin-top:28px}.hero-role{color:var(--cyan);font:13px/1.7 var(--mono);margin-top:24px}.hero-name{font-size:20px;margin-bottom:16px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:48px;padding:12px 20px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:13px;font-weight:600;border-radius:2px}.button.primary{background:var(--green);color:var(--bg);border-color:var(--green)}.button:hover{border-color:var(--green);background:var(--panel)}.button.primary:hover{background:var(--ink);color:var(--bg)}.text-link{font-size:13px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);padding:10px 0;min-height:44px}.identity{position:relative;min-width:0;border:1px solid var(--line);background:var(--panel)}.portrait-frame{display:flex;align-items:end;gap:18px;padding:24px;border-bottom:1px solid var(--line)}.portrait-frame img{width:142px;height:142px;object-fit:contain;filter:saturate(.65)}.portrait-name{font-size:20px;line-height:1.25}.portrait-name span{display:block;font:11px var(--mono);color:var(--muted);margin-top:10px}.terminal-bar{display:flex;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--line);color:var(--muted);font:11px var(--mono)}.profile-lines{padding:22px 24px}.profile-line{font:12px/1.6 var(--mono);margin-bottom:17px;animation:appear .5s both}.profile-line:nth-child(2){animation-delay:.2s}.profile-line:nth-child(3){animation-delay:.4s}.profile-line:nth-child(4){animation-delay:.6s}.profile-line:nth-child(5){animation-delay:.8s}.profile-line p{margin:0}.profile-line p:first-child{color:var(--green);margin-bottom:4px}.profile-line:last-child{margin-bottom:0}.prompt{color:var(--green)}.status-strip,.capability-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--line);padding:18px 0;gap:16px;font:11px/1.7 var(--mono)}.status-strip>div,.capability-strip>div{padding-left:18px;border-left:1px solid var(--line)}.status-strip span,.capability-strip span{display:block;color:var(--green)}.section{padding-block:86px;border-top:1px solid var(--line)}.section-head{margin-bottom:38px}.section-head .section-kicker{margin-bottom:18px}.section-copy{color:var(--muted);max-width:650px;margin-top:25px}.about-layout{display:grid;grid-template-columns:1fr 2fr;gap:70px;margin-top:40px}.experience-mark strong{font-size:110px;font-weight:450;letter-spacing:-.09em;line-height:1}.experience-mark strong span{color:var(--green);font-size:.6em}.experience-mark p{color:var(--muted);font:12px var(--mono);margin-top:20px}.about-copy{color:var(--muted);max-width:650px}.about-copy p:first-child{color:var(--ink)}.system-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-block:1px solid var(--line);padding:24px 0;margin-top:32px;font:12px/1.6 var(--mono)}.system-info dt{color:var(--muted);font-size:10px;letter-spacing:.08em;margin-bottom:5px}.system-info dd{margin:0}.skills-list{display:grid;grid-template-columns:1fr 1fr;margin-top:40px}.skill{padding:28px 30px 32px 0;border-top:1px solid var(--line)}.skill:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.skill h3{color:var(--green);font:13px var(--mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:20px}.skill p{color:var(--muted);font-size:14px;max-width:470px}.tool-list,.role-tags,.project-tags{display:flex;flex-wrap:wrap;gap:8px;font:11px/1.5 var(--mono)}.tool-list span,.role-tags span,.project-tags span{border:1px solid var(--line);padding:5px 8px;color:var(--ink)}.timeline{margin-top:45px}.role{position:relative;display:grid;grid-template-columns:230px 1fr;gap:45px;padding:32px 0 40px 28px;border-left:1px solid var(--line);margin-left:6px}.role:before{content:'';position:absolute;top:38px;left:-5px;width:9px;height:9px;background:var(--green);box-shadow:0 0 0 5px var(--bg)}.role+.role{border-top:1px solid var(--line)}.date{font:12px var(--mono);color:var(--muted);padding-top:5px}.company{font:12px var(--mono);color:var(--green);margin-bottom:12px}.role h3{font-size:24px}.location{font-size:12px;color:var(--muted);margin-top:10px}.description{color:var(--muted);font-size:15px;max-width:700px}.certification{display:grid;grid-template-columns:230px 1fr;gap:45px;background:var(--panel);border:1px solid var(--line);padding:32px;margin-top:40px}.cert-mark{font:40px var(--mono);color:var(--green)}.cert-mark span{display:block;font-size:12px;color:var(--muted);margin-top:12px}.certification h3{margin-bottom:18px}.certification p{font-size:14px;color:var(--muted)}.muted{color:var(--muted)}.lab-map{margin:42px 0 0;padding:44px;background:var(--panel);border:1px solid var(--line);background-image:radial-gradient(var(--line) .7px,transparent .7px);background-size:20px 20px}.lab-root{display:flex;align-items:center;gap:24px;max-width:600px;margin:auto;background:var(--bg);border:1px solid var(--line);padding:25px;position:relative}.root-symbol{font:28px var(--mono);color:var(--green)}.lab-root h3{font-size:20px}.lab-root p{color:var(--muted);font-size:12px;margin:8px 0 0}.private-label{font:10px var(--mono);color:var(--cyan);letter-spacing:.08em}.lab-root>.private-label{margin-left:auto}.service-branches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:70px;position:relative}.service-branches:before{content:'';position:absolute;left:12%;right:12%;top:34px;border-top:1px solid var(--green)}.lab-root:after{content:'';position:absolute;left:50%;top:100%;height:35px;border-left:1px solid var(--green)}.service{background:var(--bg);border:1px solid var(--line);padding:20px;position:relative}.service:before{content:'';position:absolute;height:36px;bottom:100%;left:50%;border-left:1px solid var(--green)}.service h3{margin:18px 0 15px;font-size:18px}.service p{font-size:12px;color:var(--muted);margin:0}.lab-map figcaption{font:11px/1.8 var(--mono);color:var(--muted);margin-top:28px;max-width:750px}.projects{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;margin-top:40px}.project{min-width:0}.project-image{display:block;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.project-image img{width:100%;height:auto;aspect-ratio:1.6;object-fit:cover;transition:transform .5s,filter .5s;filter:saturate(.7)}.project-image:hover img{transform:scale(1.025);filter:saturate(1)}.project-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0 10px}.project-heading h3{font-size:23px}.project-link{font:11px var(--mono);color:var(--green);min-height:44px;display:flex;align-items:center;gap:6px}.project p{color:var(--muted);font-size:14px}.case-list{margin-top:40px}.case{display:grid;grid-template-columns:1fr 2fr;gap:55px;padding-block:32px;border-top:1px solid var(--line)}.case h3{font-size:24px;max-width:250px}.case dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 30px}.case dt{font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--green);margin-bottom:8px}.case dd{margin:0;font-size:14px;color:var(--muted)}.exploring{margin-top:45px;padding:32px;background:var(--panel);border-left:2px solid var(--green)}.exploring h3{font:13px var(--mono)}.exploring ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:0;font:12px var(--mono);color:var(--muted)}.exploring li:before{content:'> ';color:var(--green)}.terminal-command{font:12px/1.8 var(--mono);color:var(--green);overflow-wrap:anywhere}.interactive-terminal{border:1px solid var(--line);background:var(--panel)}summary{padding:22px 28px;cursor:pointer;font:14px var(--mono);color:var(--green)}summary>span:last-child{float:right}.terminal-content{padding:0 28px 28px;font:12px/1.8 var(--mono)}#terminal-output{max-height:350px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}#terminal-output>div{border-top:1px solid var(--line);padding-top:12px}.entered-command{color:var(--green)}#terminal-form label{display:block;margin:20px 0 8px;color:var(--muted)}.terminal-input-row{display:flex;gap:12px;align-items:center}.terminal-input-row input{min-width:0;flex:1;border:1px solid var(--line);background:var(--bg);padding:12px;color:var(--ink);border-radius:0}#terminal-hint{margin:12px 0 0}.history{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:45px}.history h3{font-size:18px}.history p{font-size:12px;color:var(--muted);margin:10px 0}.history .actions{margin-top:15px}.history .button{font-size:12px}#contact h2{max-width:850px}#contact .contact-email{font-size:clamp(1.3rem,3.4vw,3rem);letter-spacing:-.04em;display:inline-block;margin:30px 0;color:var(--green);overflow-wrap:anywhere}.contact-bottom{display:flex;gap:32px;align-items:center;font:12px var(--mono)}.footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:30px;color:var(--muted);font:11px/1.8 var(--mono)}@keyframes blink{50%{opacity:0}}@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(min-width:1400px){.hero{min-height:750px}}@media(max-width:1150px){.wrap{width:calc(100% - 56px)}.nav-shell{gap:15px}#navigation{gap:10px}#navigation a{font-size:10px}.hero{gap:36px}.portrait-frame{padding:18px}.portrait-frame img{width:115px;height:115px}.portrait-name{font-size:17px}}@media(max-width:950px){.menu-toggle{display:block}.nav-shell{min-height:72px;justify-content:space-between}.controls{margin-left:auto}#navigation{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:16px 28px;grid-template-columns:repeat(3,1fr)}#navigation.open{display:grid}#navigation a{font-size:13px;padding:12px}.hero{grid-template-columns:1.4fr 1fr;gap:28px;padding-top:64px}.portrait-frame{display:block}.portrait-frame img{width:130px;height:130px;margin-bottom:18px}.hero h1{font-size:clamp(2.5rem,5.6vw,4rem)}.service-branches{gap:10px}.service{padding:15px}.lab-map{padding:24px}.role,.certification{grid-template-columns:180px 1fr;gap:25px}.case{gap:30px}}@media(max-width:650px){.wrap{width:calc(100% - 36px)}.nav-shell{gap:8px;min-height:68px}.brand{font-size:14px}.controls{gap:2px}.languages button{padding:7px;font-size:11px}.theme-toggle{padding:8px;font-size:12px}.theme-toggle [data-theme-label]{display:none}.menu-toggle{padding:8px;font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-block:52px 40px;gap:36px}.hero h1{font-size:clamp(2.65rem,9.4vw,3.8rem);letter-spacing:-.045em}.hero .lede{font-size:16px;margin-top:22px}.eyebrow{font-size:10px;margin-bottom:20px}.actions{gap:18px}.identity{display:grid;grid-template-columns:110px 1fr}.portrait-frame{padding:14px;border-bottom:0;border-right:1px solid var(--line)}.portrait-frame img{width:80px;height:80px}.portrait-name{font-size:14px}.portrait-name span{font-size:9px}.terminal-bar{padding:10px 14px}.profile-lines{padding:14px}.profile-line{font-size:10px;margin-bottom:12px}.status-strip,.capability-strip{grid-template-columns:repeat(3,1fr);gap:15px;font-size:9px}.status-strip>div,.capability-strip>div{padding-left:8px}.section{padding-block:52px}.section-head{margin-bottom:25px}h2{font-size:2.2rem}.about-layout{grid-template-columns:80px 1fr;gap:22px;margin-top:30px}.experience-mark strong{font-size:65px}.experience-mark p{font-size:10px}.about-copy{font-size:14px}.system-info{grid-template-columns:1fr 1fr;font-size:11px}.skills-list{grid-template-columns:1fr}.skill,.skill:nth-child(even){border-left:0;padding:25px 0}.role{grid-template-columns:1fr;gap:4px;padding:25px 0 28px 24px}.role:before{top:30px}.role h3{font-size:23px}.date{margin-bottom:12px}.certification{grid-template-columns:1fr;padding:24px;gap:24px}.cert-mark{font-size:34px}.cert-mark span{display:inline;margin-left:20px}.lab-map{padding:20px 14px}.lab-root{padding:18px;gap:14px}.root-symbol{font-size:20px}.lab-root h3{font-size:17px}.lab-root>.private-label{display:none}.service-branches{grid-template-columns:1fr;gap:16px;padding:30px 0 0 22px}.service-branches:before{top:0;bottom:30px;left:10px;right:auto;border-top:0;border-left:1px solid var(--green)}.lab-root:after{left:32px;height:31px}.service:before{height:0;width:12px;left:-13px;bottom:auto;top:30px;border-left:0;border-top:1px solid var(--green)}.service{padding:18px}.service h3{margin:9px 0}.service p{font-size:13px}.projects{grid-template-columns:1fr;gap:34px}.project-heading{gap:10px}.project-heading h3{font-size:22px}.case{grid-template-columns:1fr;gap:22px}.case dl{gap:22px}.case h3{max-width:none}.exploring{padding:24px}.exploring ul{grid-template-columns:1fr}.history{grid-template-columns:1fr;gap:10px}.terminal-content{padding:0 16px 20px}summary{padding:20px 16px;font-size:12px}.terminal-input-row{gap:8px;flex-wrap:wrap}.terminal-input-row .button{padding:10px;min-height:44px}#terminal-form input{width:120px}.contact-bottom{gap:20px}.footer{flex-wrap:wrap;gap:14px}.footer>span{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}html{scroll-behavior:auto}}

h1,h2,h3{overflow-wrap:anywhere} .hero h1{hyphens:auto}

@media(min-width:951px){.hero h1{font-size:clamp(3rem,4.5vw,4.25rem);line-height:1.1}.hero{padding-top:72px;min-height:690px}} .profile-line{font-size:12px} .terminal-line,.terminal-prompt{font:12px/1.8 var(--mono);color:var(--green)}

.system-info{display:block}.system-info>p{font-size:12px;color:var(--green)}.system-info dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0}.career-tags,.responsibility-tags{margin-top:16px}.capability-strip>span{padding-left:16px;border-left:1px solid var(--line);color:var(--muted)}.capability-strip>span:before{content:'● ';color:var(--green)}.terminal-easter-egg{margin-top:18px}.hero .profile-line:nth-child(6){animation-delay:1s}@media(max-width:650px){.system-info dl{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(2rem,8vw,3rem)}.hero .actions{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}.hero .actions>.primary{grid-column:1/-1;width:100%}.hero .actions>.text-link{justify-self:start}.capability-strip>span{padding-left:8px}.languages button{font-size:12px}}

/* User-triggered meltdown only. Native dialog owns the overlay layer. */
.meltdown{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;color:var(--ink);overflow:hidden;overscroll-behavior:contain}.meltdown[open]{display:grid;place-items:center}.meltdown::backdrop{background:transparent}.meltdown:before{content:'';position:absolute;inset:0;background:var(--bg);opacity:.1;transition:opacity 700ms}.meltdown[data-phase=offline]:before,.meltdown[data-phase=recover]:before{opacity:.97}.meltdown[data-phase=restored]:before{opacity:.55}.meltdown-console{position:relative;width:min(620px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid var(--green);background:var(--panel);padding:28px;box-shadow:0 24px 80px #0006;animation:meltdown-arrive 450ms 250ms both}.meltdown-bar,.meltdown-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.meltdown-bar{font:11px/1.6 var(--mono);color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--line)}.meltdown-safe{color:var(--green);text-align:right}.meltdown-command{font:13px/1.6 var(--mono);color:var(--green);overflow-wrap:anywhere}.meltdown h2{font-size:clamp(1.7rem,6vw,2.8rem);line-height:1.1;letter-spacing:-.04em;margin:20px 0 14px}.meltdown #meltdown-note{font-size:14px;line-height:1.6;color:var(--muted);max-width:48ch}.meltdown-log{white-space:pre-line;min-height:58px;margin:20px 0;font:12px/1.8 var(--mono);color:var(--green)}.meltdown-track{height:3px;background:var(--line);margin:24px 0}.meltdown-track span{display:block;height:100%;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform 650ms}.meltdown[data-phase=drain] .meltdown-track span{transform:scaleX(.1)}.meltdown[data-phase=offline] .meltdown-track span{transform:scaleX(.15)}.meltdown[data-phase=recover] .meltdown-track span{transform:scaleX(.7)}.meltdown[data-phase=restored] .meltdown-track span{transform:scaleX(1)}.meltdown-auto{font:11px/1.6 var(--mono);color:var(--muted);margin:0}.meltdown .button{min-height:44px;border:1px solid var(--green);background:var(--green);color:var(--bg);white-space:nowrap;font-size:12px;padding:10px 14px}.meltdown-orbit{width:64px;height:64px;border:1px solid var(--green);margin:24px 0;display:grid;place-items:center;transform:rotate(-12deg)}.meltdown-orbit span{font:20px var(--mono)}.meltdown[data-phase=offline] .meltdown-orbit{opacity:.2}.meltdown[data-phase=recover] .meltdown-orbit{animation:meltdown-orbit 1.4s ease-in-out infinite}.meltdown-shards{position:absolute;inset:0;pointer-events:none}.meltdown-shards>span{position:absolute;left:0;top:0;font:16px var(--mono);color:var(--green)}@keyframes meltdown-arrive{from{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}@keyframes meltdown-orbit{50%{transform:rotate(168deg)}100%{transform:rotate(348deg)}}@media(max-width:480px){.meltdown{padding:16px}.meltdown-console{padding:20px}.meltdown-footer{align-items:flex-start;flex-direction:column}.meltdown .button{width:100%}.meltdown-bar{font-size:10px}.meltdown-log{font-size:11px}}@media(prefers-reduced-motion:reduce){.meltdown-console,.meltdown-orbit{animation:none!important}.meltdown:before,.meltdown-track span{transition:none!important}}
