:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-ink:#f5f7fb;--color-muted:#aab6c7;--color-dim:#738198;--color-bg:#071013;--color-panel:#0e1b20;--color-panel-strong:#14252b;--color-line:#c6e8ef29;--color-cyan:#55d7ea;--color-green:#8de6bf;--color-amber:#f0b75c;--shadow-panel:0 24px 80px #00000059;--container:min(1120px, calc(100vw - 40px))}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--color-ink);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 18% 0,#55d7ea24,#0000 28rem),linear-gradient(#061012 0%,#0a1115 48%,#0b1518 100%);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}img,picture,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}::selection{color:#031013;background:var(--color-green)}#app{min-height:100vh}.site-shell{--parallax-y:0;min-height:100vh;overflow:hidden}.topbar{z-index:10;width:var(--container);color:#f5f7fbeb;will-change:transform;justify-content:space-between;align-items:center;gap:24px;min-height:72px;transition:opacity .22s,transform .22s;display:flex;position:fixed;top:0;left:50%;transform:translate(-50%)}.topbar-hidden{opacity:0;pointer-events:none;transform:translate(-50%,-120%)}.brand,.nav-links,.topbar-actions,.language-switcher{align-items:center;display:flex}.brand{letter-spacing:0;gap:12px;font-weight:800}.brand-mark{width:40px;height:40px;color:var(--color-green);background:#071013b3;border:1px solid #8de6bf80;border-radius:8px;place-items:center;font-size:.8rem;font-weight:900;animation:4.8s ease-in-out infinite mark-pulse;display:grid;box-shadow:0 0 32px #55d7ea33}.nav-links{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07101394;border:1px solid #c6e8ef29;border-radius:999px;gap:4px;padding:6px}.nav-links a{min-height:36px;color:var(--color-muted);border-radius:999px;padding:7px 14px;font-size:.9rem;transition:color .18s,background-color .18s}.nav-links a:hover{color:var(--color-ink);background:#c6e8ef17}.topbar-actions{gap:10px}.language-switcher{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#07101394;border:1px solid #c6e8ef29;border-radius:999px;gap:4px;padding:4px}.language-button{min-width:38px;min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.78rem;font-weight:900;transition:color .18s,background-color .18s}.language-button:hover,.language-button.active{color:#041114;background:var(--color-green)}.hero-section{isolation:isolate;align-items:center;min-height:100svh;padding:120px max(20px,50vw - 560px) 92px;display:grid;position:relative}.hero-section:after{z-index:0;content:"";opacity:.42;pointer-events:none;transform:translateY(calc(var(--parallax-y) * .08px));background-color:#0000;background-image:linear-gradient(#55d7ea0e 1px,#0000 1px),linear-gradient(90deg,#55d7ea0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:52px 52px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18% 72%,#0000);mask-image:linear-gradient(90deg,#0000,#000 18% 72%,#0000)}.hero-background,.hero-overlay{z-index:-2;position:absolute;inset:0}.hero-background{object-fit:cover;object-position:58% center;width:100%;height:100%;transform:translateY(calc(var(--parallax-y) * .18px)) scale(1.08);transform-origin:50%;will-change:transform}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#050c0ef5 0%,#050c0ec7 42%,#050c0e33 100%),linear-gradient(#050c0e4d 0%,#050c0ecc 100%)}.hero-portrait{z-index:2;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 34px 60px #00000085);pointer-events:none;width:min(47vw,620px);max-height:calc(100% - 78px);transform:translateY(calc(var(--parallax-y) * -.08px));transform-origin:100% 100%;will-change:transform;position:absolute;bottom:-2px;right:max(12px,50vw - 590px)}.hero-circuit-frame{z-index:1;aspect-ratio:1;width:min(39vw,500px);transform:translateY(calc(var(--parallax-y) * -.04px)) rotate(8deg);transform-origin:50%;pointer-events:none;border:1px solid #55d7ea47;position:absolute;bottom:8%;right:max(24px,50vw - 560px)}.hero-circuit-frame:before,.hero-circuit-frame:after{content:"";border:1px solid #8de6bf3d;position:absolute;inset:10%}.hero-circuit-frame:before{animation:18s linear infinite rotate-frame}.hero-circuit-frame:after{border-color:#f0b75c38;animation:24s linear infinite reverse rotate-frame;inset:22%}.hero-content{z-index:1;width:min(720px,100%);animation:.72s both hero-enter;position:relative}.eyebrow{color:var(--color-green);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;font-weight:800}h1,h2,h3{color:var(--color-ink);letter-spacing:0;line-height:1.08}h1{max-width:13ch;margin-top:18px;font-size:clamp(3.2rem,8vw,6.7rem);font-weight:900}h2{max-width:760px;margin-top:12px;font-size:clamp(2rem,4vw,4.25rem);font-weight:900}.typewriter-title{min-height:calc(2.2*clamp(2rem,4vw,4.25rem))}.typewriter-cursor{background:var(--color-cyan);width:.08em;height:.82em;margin-left:.08em;animation:.9s steps(2,start) infinite cursor-blink;display:inline-block;transform:translateY(.08em);box-shadow:0 0 18px #55d7ea8c}.typewriter-cursor.typing{animation-duration:.7s}h3{font-size:1.18rem;font-weight:850}.hero-copy{max-width:600px;color:var(--color-muted);margin-top:24px;font-size:clamp(1rem,2vw,1.18rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:12px 18px;font-weight:800;transition:transform .18s,border-color .18s,background-color .18s;display:inline-flex;position:relative;overflow:hidden}.button:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 0%,#ffffff6b 44%,#0000 58%);position:absolute;inset:0;transform:translate(-120%)}.button:hover{transform:translateY(-2px)}.button:hover:after{animation:.72s button-shine}.button-primary{background:var(--color-cyan);color:#041114;box-shadow:0 18px 42px #55d7ea40}.button-secondary{color:var(--color-ink);background:#0710139e;border-color:#c6e8ef38}.metrics-band,.content-section,.contact-section{width:var(--container);margin:0 auto}.metrics-band{border:1px solid var(--color-line);background:var(--color-line);box-shadow:var(--shadow-panel);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:32px;display:grid}.metric-item{background:#0e1b20e6;min-height:126px;padding:28px;animation:both reveal-up;animation-timeline:view();animation-range:entry cover 34%}.metric-item strong,.metric-item span{display:block}.metric-item strong{color:var(--color-cyan);font-size:clamp(1.8rem,4vw,3rem);font-weight:900;line-height:1}.metric-item span{color:var(--color-muted);margin-top:10px}.content-section{align-content:center;min-height:100svh;padding:96px 0}.split-section{grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr);align-items:start;gap:clamp(36px,6vw,88px);display:grid}.section-heading{position:sticky;top:110px}.specialty-grid{gap:16px;display:grid}.info-card{border:1px solid var(--color-line);background:linear-gradient(135deg,#55d7ea1a,#0000 42%),#0e1b20c7;border-radius:8px;min-height:188px;padding:28px;transition:border-color .18s,transform .18s,box-shadow .18s;animation:both reveal-up;animation-timeline:view();animation-range:entry cover 36%;position:relative;overflow:hidden}.info-card:after,.timeline-content:after,.contact-card:after{content:"";opacity:0;pointer-events:none;background:linear-gradient(120deg,#0000,#55d7ea1a,#0000);transition:opacity .18s,transform .3s;position:absolute;inset:0;transform:translate(-40%)}.info-card:hover{border-color:#55d7ea6b;transform:translateY(-4px);box-shadow:0 18px 56px #55d7ea1a}.info-card:hover:after,.timeline-content:hover:after,.contact-card:hover:after{opacity:1;transform:translate(40%)}.info-card p,.timeline-content p{color:var(--color-muted);margin-top:12px}.tag-list{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:360px;padding:0;list-style:none;display:flex}.tag-list li{color:var(--color-green);background:#8de6bf12;border:1px solid #8de6bf47;border-radius:999px;padding:7px 11px;font-size:.82rem;font-weight:800}.timeline-section{grid-template-columns:minmax(0,.72fr) minmax(320px,1.28fr);gap:clamp(36px,6vw,88px);padding-top:76px;padding-bottom:76px;display:grid}.timeline-list{gap:16px;display:grid;position:relative}.timeline-list:before{background:linear-gradient(180deg, var(--color-cyan), #8de6bf2e);content:"";width:1px;position:absolute;top:6px;bottom:6px;left:128px}.timeline-item{grid-template-columns:108px minmax(0,1fr);gap:44px;display:grid;position:relative}.education-reveal,.experience-reveal{--reveal-progress:0;--reveal-offset:108px;--reveal-scale:.92;--reveal-blur:15px;opacity:var(--reveal-progress);filter:blur(var(--reveal-blur));transform:translateY(var(--reveal-offset)) scale(var(--reveal-scale));transition:opacity 80ms linear,filter 80ms linear,transform 80ms linear}.experience-reveal{--reveal-offset:160px;--reveal-scale:.84;--reveal-blur:24px}.education-reveal .timeline-content,.experience-reveal .timeline-content{animation:none}.timeline-item:before{border:3px solid var(--color-bg);background:var(--color-green);content:"";border-radius:999px;width:13px;height:13px;position:absolute;top:8px;left:122px;box-shadow:0 0 0 1px #8de6bf99,0 0 24px #8de6bf59}.timeline-item time{color:var(--color-cyan);white-space:pre-line;font-size:.82rem;font-weight:900;line-height:1.35}.timeline-content{border:1px solid var(--color-line);background:linear-gradient(135deg,#8de6bf17,#0000 42%),#0e1b20c7;border-radius:8px;min-height:154px;padding:24px;transition:border-color .18s,transform .18s;animation:both reveal-up;animation-timeline:view();animation-range:entry cover 36%;position:relative;overflow:hidden}.timeline-content:hover{border-color:#8de6bf5c;transform:translate(4px)}.timeline-place{color:var(--color-amber);text-transform:uppercase;margin-top:0;font-size:.82rem;font-weight:850}.timeline-tags{justify-content:flex-start;margin-top:18px}.experience-section{grid-template-rows:auto minmax(420px,1fr);align-content:center;gap:clamp(22px,4vw,38px);padding-top:82px;padding-bottom:82px;display:grid}.experience-heading{text-align:left;justify-self:start;position:static}.experience-heading h2{max-width:900px}.experience-graph{--branch-gap:56px;--branch-radius:34px;--date-offset:6px;grid-template-rows:minmax(160px,1fr) minmax(160px,1fr);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:112px clamp(16px,2vw,24px);min-height:min(48svh,440px);padding:12px 4px;display:grid;position:relative;overflow:visible}.experience-graph:before{content:"";background:linear-gradient(90deg,#f0b75c61,#55d7eaf5,#8de6bfeb,#8de6bf2e);width:auto;height:3px;position:absolute;top:50%;left:4px;right:4px;transform:translateY(-50%);box-shadow:0 0 30px #55d7ea4d}.experience-graph:after{background:var(--color-amber);content:"";border-radius:999px;width:11px;height:11px;position:absolute;top:calc(50% - 4px);left:0;box-shadow:0 0 22px #f0b75c80}.experience-graph .timeline-item{grid-template-columns:minmax(0,1fr);align-items:end;gap:0;min-width:0;height:100%;padding:0;display:grid;position:relative}.experience-graph .timeline-item:before{z-index:2;width:13px;height:13px;top:50%;left:50%;transform:translate(-50%,-50%)}.experience-graph .timeline-item:after{z-index:1;width:52px;height:var(--branch-gap);content:"";border-style:solid;border-color:#8de6bfb8;position:absolute;left:50%;transform:translate(-50%)}.experience-graph .timeline-content:before{z-index:2;background:var(--color-bg);content:"";pointer-events:none;border:2px solid #8de6bfb8;border-radius:999px;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 18px #8de6bf47}.experience-graph .timeline-item:first-child{grid-area:2/1/auto/5}.experience-graph .timeline-item:nth-child(2){grid-area:1/4/auto/8}.experience-graph .timeline-item:nth-child(3){grid-area:2/6/auto/10}.experience-graph .timeline-item:nth-child(4){grid-area:1/9/auto/13}.experience-graph .timeline-item:first-child,.experience-graph .timeline-item:nth-child(3){align-items:start}.experience-graph .timeline-item:nth-child(2),.experience-graph .timeline-item:nth-child(4){align-items:end}.experience-graph .timeline-item:nth-child(odd) .timeline-content,.experience-graph .timeline-item:nth-child(2n) .timeline-content,.experience-graph .timeline-item:nth-child(odd) time,.experience-graph .timeline-item:nth-child(2n) time{order:initial}.experience-graph .timeline-item:nth-child(2):before,.experience-graph .timeline-item:nth-child(4):before{top:calc(100% + var(--branch-gap))}.experience-graph .timeline-item:first-child:before,.experience-graph .timeline-item:nth-child(3):before{top:calc(var(--branch-gap) * -1)}.experience-graph .timeline-item:nth-child(2):after,.experience-graph .timeline-item:nth-child(4):after{border-bottom-left-radius:var(--branch-radius);border-width:0 0 2px 2px;top:100%}.experience-graph .timeline-item:first-child:after,.experience-graph .timeline-item:nth-child(3):after{border-top-left-radius:var(--branch-radius);border-width:2px 0 0 2px;bottom:100%}.experience-graph .timeline-item:nth-child(2) .timeline-content:before,.experience-graph .timeline-item:nth-child(4) .timeline-content:before{top:auto;bottom:-5px}.experience-graph .timeline-item:first-child .timeline-content:before,.experience-graph .timeline-item:nth-child(3) .timeline-content:before{top:-5px;bottom:auto}.experience-graph .timeline-item time{z-index:3;text-align:center;background:#071013b8;border:1px solid #55d7ea33;border-radius:8px;width:max-content;padding:4px 8px;position:absolute;left:calc(50% + 45px);transform:translate(-50%)}.experience-graph .timeline-item:nth-child(2) time,.experience-graph .timeline-item:nth-child(4) time{top:auto;bottom:calc((var(--branch-gap) - var(--date-offset)) * -1)}.experience-graph .timeline-item:first-child time,.experience-graph .timeline-item:nth-child(3) time{top:calc((var(--branch-gap) - var(--date-offset)) * -1);bottom:auto}.experience-graph .timeline-content{width:100%;min-height:118px}.experience-graph .timeline-content h3{font-size:1rem}.experience-graph .timeline-content p{margin-top:8px;font-size:.9rem;line-height:1.45}.experience-graph .timeline-tags{gap:5px;margin-top:12px}.experience-graph .tag-list li{padding:5px 8px;font-size:.72rem}.contact-section{width:var(--container);place-items:center;min-height:100svh;margin-bottom:48px;padding:96px 0;display:grid;position:relative;overflow:hidden}.contact-card{background:linear-gradient(120deg, #f0b75c21, transparent 42%), var(--color-panel);opacity:0;filter:blur(14px);transform-origin:50%;border:1px solid #f0b75c47;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:clamp(24px,5vw,54px);width:min(860px,100%);min-height:auto;padding:clamp(26px,4vw,38px);transition:opacity .72s,filter .72s,transform .72s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden;transform:perspective(900px)translateZ(-160px)scale(.82);box-shadow:0 34px 90px #00000052,inset 0 1px #ffffff0a}.contact-card.is-visible{opacity:1;filter:blur();transform:perspective(900px)translateZ(0)scale(1)}.contact-card h2{max-width:560px;font-size:clamp(1.7rem,3.1vw,2.7rem)}.contact-heading p:not(.eyebrow){max-width:520px;color:var(--color-muted);margin-top:18px;font-size:1rem}.contact-panel{align-content:start;gap:18px;display:grid}.contact-availability{color:var(--color-ink);font-weight:750}.contact-methods{gap:10px;display:grid}.contact-method{border:1px solid var(--color-line);background:#07101361;border-radius:8px;gap:4px;padding:16px;transition:border-color .18s,transform .18s;display:grid}.contact-method:hover{border-color:#55d7ea80;transform:translateY(-2px)}.contact-method span{color:var(--color-dim);text-transform:uppercase;font-size:.78rem;font-weight:850}.contact-method strong{color:var(--color-ink);font-size:1rem}@media (width<=820px){:root{--container:min(100vw - 28px, 1120px)}.brand-mark{animation-duration:7.2s}.hero-circuit-frame:before{animation-duration:28s}.hero-circuit-frame:after{animation-duration:36s}.hero-content{animation-duration:1.15s}.button:hover:after{animation-duration:1.1s}.education-reveal,.experience-reveal{transition-duration:.14s}.contact-card{transition-duration:1.15s}.topbar{min-height:66px}.brand span:last-child{display:none}.nav-links{gap:0;overflow-x:auto}.nav-links a{white-space:nowrap;padding-inline:10px;font-size:.82rem}.topbar-actions{gap:6px;min-width:0}.language-button{min-width:34px}.hero-section{min-height:100svh;padding-top:112px;padding-bottom:66px}.hero-overlay{background:linear-gradient(90deg,#050c0ef5 0%,#050c0ed1 64%,#050c0e6b 100%),linear-gradient(#050c0e38,#050c0ee0)}.hero-portrait{width:min(58vw,470px);max-height:74%;right:0}h1{max-width:11ch;font-size:clamp(3rem,14vw,4.2rem)}.metrics-band,.split-section,.timeline-section{grid-template-columns:1fr}.experience-section{grid-template-rows:auto auto;grid-template-columns:none;display:grid;overflow:hidden}.experience-graph{grid-template-rows:none;grid-template-columns:1fr;row-gap:16px;min-height:auto;padding:8px 0;overflow:visible}.experience-graph:before{width:3px;height:auto;top:0;bottom:0;left:14px;transform:translate(-50%)}.experience-graph:after{inset:-3px auto auto 10px}.experience-graph .timeline-item:first-child,.experience-graph .timeline-item:nth-child(2),.experience-graph .timeline-item:nth-child(3),.experience-graph .timeline-item:nth-child(4){grid-area:auto/1}.experience-graph .timeline-item,.experience-graph .timeline-item:nth-child(odd),.experience-graph .timeline-item:nth-child(2n),.experience-graph .timeline-item:nth-child(n+3){align-items:start;min-height:auto;padding-top:30px;padding-left:54px}.experience-graph .timeline-item:before,.experience-graph .timeline-item:nth-child(-n+2):before,.experience-graph .timeline-item:nth-child(n+3):before{top:88px;left:14px;right:auto;transform:translate(-50%,-50%)}.experience-graph .timeline-item:after,.experience-graph .timeline-item:nth-child(-n+2):after,.experience-graph .timeline-item:nth-child(n+3):after{border-width:0 0 2px 2px;border-radius:0 0 0 18px;width:40px;height:18px;inset:88px auto auto 14px;transform:none}.experience-graph .timeline-item:nth-child(-n+2) .timeline-content:before,.experience-graph .timeline-item:nth-child(n+3) .timeline-content:before{top:50px;bottom:auto;left:0;transform:translate(-50%,-50%)}.experience-graph .timeline-item time,.experience-graph .timeline-item:nth-child(-n+2) time,.experience-graph .timeline-item:nth-child(n+3) time{font-size:.72rem;inset:0 6px auto 54px;transform:none}.experience-graph .timeline-item:nth-child(2n) time{left:54px;right:6px}.experience-heading{text-align:left}.metrics-band{margin-top:0}.section-heading{position:static}.content-section{min-height:100svh;padding:72px 0}.timeline-section{align-content:start;padding-top:86px;padding-bottom:64px}.contact-section{width:var(--container);padding:72px 0}.contact-card{grid-template-columns:1fr;gap:22px;width:min(92vw,620px)}.tag-list{justify-content:flex-start}}@media (width<=560px){.topbar{width:calc(100vw - 20px)}.hero-section{align-items:start;min-height:94vh;padding-top:112px}.hero-content{width:min(100%,420px)}.hero-portrait{width:min(82vw,430px);max-height:58%;bottom:0;right:-120px}.topbar-actions{justify-content:flex-end}.nav-links a{padding-inline:8px}.metrics-band{grid-template-columns:1fr}.metric-item,.info-card,.timeline-content{padding:22px}.contact-card{width:min(92vw,520px);padding:24px}.timeline-content{min-height:auto}.timeline-list:before{left:8px}.timeline-item{grid-template-columns:1fr;gap:12px;padding-left:28px}.experience-graph .timeline-item{padding-left:0}.timeline-item:before{left:2px}.experience-graph .timeline-item:before{left:auto}.hero-actions{justify-content:flex-start;gap:10px;width:min(52vw,220px)}.hero-actions .button{width:100%;min-height:42px;padding:9px 12px;font-size:.88rem}}@keyframes hero-enter{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@keyframes education-scroll-reveal{0%{opacity:0;filter:blur(10px);transform:translateY(72px)scale(.96)}45%{opacity:.58;filter:blur(3px);transform:translateY(28px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes contact-depth-enter{0%{opacity:0;filter:blur(16px);transform:perspective(900px)translateY(72px)translateZ(-180px)scale(.86)}55%{opacity:.72;filter:blur(4px);transform:perspective(900px)translateY(24px)translateZ(-42px)scale(.96)}to{opacity:1;filter:blur();transform:perspective(900px)translateY(0)translateZ(0)scale(1)}}@keyframes rotate-frame{to{transform:rotate(1turn)}}@keyframes button-shine{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes mark-pulse{0%,to{box-shadow:0 0 26px #55d7ea2e}50%{box-shadow:0 0 36px #8de6bf52}}@keyframes cursor-blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.hero-background,.hero-portrait,.hero-circuit-frame,.hero-section:after{transform:none}}
