.page{position:relative;min-height:100vh;overflow-x:clip}.container{max-width:var(--container);margin:0 auto;padding-left:var(--side-pad);padding-right:var(--side-pad)}main,.contact{position:relative;z-index:1}.galaxy{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;display:block}.nebula{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.nebula-high{top:-260px;right:-200px;width:880px;height:880px;background:radial-gradient(circle,rgba(107,92,231,.26) 0%,rgba(76,68,168,.11) 45%,transparent 70%)}.nebula-low{top:120vh;left:-340px;width:760px;height:760px;background:radial-gradient(circle,rgba(58,74,168,.16) 0%,rgba(48,56,130,.07) 45%,transparent 70%)}.dot{color:var(--signal)}.section{padding-top:88px;padding-bottom:88px}.section-rule{border-top:1px solid var(--line)}.section-label{font-family:var(--mono);font-size:12.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--text);margin-bottom:44px}.tok{font-family:var(--mono);font-size:10.5px;letter-spacing:.05em;color:var(--faint);white-space:nowrap}.tok:not(:last-child):after{content:"·";color:var(--line-lift);margin:0 7px}.stack-strip{display:flex;flex-wrap:wrap;gap:3px 0}.nav{position:sticky;top:0;z-index:20;background:#04050ac7;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:16px;padding-bottom:16px}.nav-logo{font-family:var(--mono);font-weight:600;font-size:13px;letter-spacing:.14em;color:var(--text);cursor:pointer;white-space:nowrap}.nav-logo-dot{color:var(--signal)}.nav-right{display:flex;align-items:center;gap:32px}.nav-links{display:flex;gap:26px}.nav-link{font-family:var(--mono);font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);cursor:pointer;position:relative;padding-bottom:2px}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--signal)}.nav-resume{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);border:1px solid var(--line);border-radius:3px;padding:7px 14px;white-space:nowrap}.nav-resume:hover{border-color:var(--signal);color:var(--lift)}.hero .container{display:flex;flex-direction:column;align-items:flex-start;padding-top:118px;padding-bottom:92px}.hero-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.hero-name{font-size:clamp(52px,11vw,112px);font-weight:800;line-height:.92;letter-spacing:-.045em;margin-top:18px}.hero-role{display:flex;flex-wrap:wrap;gap:0 7px;font-family:var(--mono);font-size:clamp(11.5px,1.6vw,13.5px);font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--dim);margin-top:26px}.hero-role span:not(:last-child):after{content:"·";color:var(--faint);margin-left:7px}.hero-thesis{font-size:clamp(17px,2.2vw,19.5px);line-height:1.55;color:var(--dim);max-width:34ch;margin-top:24px}.hero-thesis b{font-family:var(--mono);font-size:.95em;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;margin-right:.08em}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.btn{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;padding:13px 22px;border-radius:3px;border:1px solid var(--line)}.btn-fill{background:var(--signal);border-color:var(--signal);color:#fff}.btn-fill:hover{background:var(--signal-pressed);border-color:var(--signal-pressed);color:#fff}.btn-ghost{color:var(--text)}.btn-ghost:hover{border-color:var(--faint)}.hero-social{display:flex;gap:22px;margin-top:26px}.hero-social a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.hero-social a:hover{color:var(--lift)}.signal{border-top:1px solid var(--line)}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 32px;padding:44px 0}.signal-val{font-family:var(--mono);font-size:clamp(26px,3.6vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.08;color:var(--text);font-variant-numeric:tabular-nums}.signal-val.hot{color:var(--signal)}.signal-label{font-size:13px;color:var(--dim);line-height:1.4;margin-top:10px}.exp-rows{display:flex;flex-direction:column;gap:8px}.exp-row{display:grid;grid-template-columns:44px 160px 1fr;gap:0 28px;padding:34px 0;border-top:1px solid var(--line)}.exp-rows>.exp-row:first-child{border-top:0;padding-top:0}.exp-rows>.exp-row:last-child{padding-bottom:0}.exp-idx{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--faint);padding-top:6px}.exp-when{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;color:var(--dim);font-variant-numeric:tabular-nums;padding-top:6px;line-height:1.55}.exp-co{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.exp-name{font-size:clamp(19px,2.4vw,22px);font-weight:700;letter-spacing:-.025em;line-height:1.15}.exp-pos{font-size:14px;color:var(--dim);margin-top:8px}.exp-summary{font-size:13.5px;color:var(--faint);line-height:1.6;margin-top:12px;max-width:62ch}.exp-bullets{display:flex;flex-direction:column;gap:10px;margin-top:20px}.exp-bullets li{position:relative;padding-left:19px;font-size:14.5px;line-height:1.62;color:var(--dim);max-width:72ch}.exp-bullets li:before{content:"";position:absolute;left:0;top:11px;width:6px;height:1px;background:var(--faint)}.exp-bullets b{font-family:var(--mono);font-size:1.3em;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;margin-right:.14em}.exp-main>.stack-strip{margin-top:20px}.stack-rows{display:flex;flex-direction:column}.stack-row{display:grid;grid-template-columns:232px 1fr;gap:28px;padding:15px 0;border-top:1px solid var(--line)}.stack-rows>.stack-row:first-child{border-top:0;padding-top:0}.stack-name{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);padding-top:4px}.stack-items{display:flex;flex-wrap:wrap;gap:6px}.stack-edu{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;border-top:1px solid var(--line);padding-top:22px;margin-top:26px;font-size:14px;color:var(--dim)}.stack-edu-years{font-family:var(--mono);font-size:11px;color:var(--faint);font-variant-numeric:tabular-nums}.contact{border-top:1px solid var(--line);padding-top:88px;padding-bottom:44px}.contact .container{display:flex;flex-direction:column;align-items:flex-start}.contact-headline{font-size:clamp(28px,5vw,46px);font-weight:800;letter-spacing:-.035em;line-height:1.08;max-width:16ch;text-wrap:balance}.contact-copy{font-size:15.5px;line-height:1.6;color:var(--dim);max-width:52ch;margin-top:20px}.contact-email{font-size:clamp(19px,3.4vw,27px);font-weight:600;letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--line);padding-bottom:4px;margin-top:40px;word-break:break-word}.contact-email:hover{color:var(--lift);border-bottom-color:var(--signal)}.contact-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px}.contact-links a{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-variant-numeric:tabular-nums}.contact-links a:hover{color:var(--lift)}.contact-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;width:100%;border-top:1px solid var(--line);padding-top:22px;margin-top:72px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}@media (max-width: 900px){.exp-row{grid-template-columns:36px 1fr;gap:0 20px}.exp-meta{grid-column:2;display:flex;align-items:baseline;gap:14px;margin-bottom:14px}.exp-when{padding-top:0}.exp-when br{display:none}.exp-main{grid-column:2}.signal-grid{grid-template-columns:repeat(2,1fr)}.stack-row{grid-template-columns:180px 1fr;gap:20px}}@media (max-width: 720px){.nav-links{display:none}}@media (max-width: 560px){:root{--side-pad: 20px}.section{padding-top:64px;padding-bottom:64px}.hero .container{padding-top:76px;padding-bottom:64px}.hero-thesis{max-width:none}.stack-row{grid-template-columns:1fr;gap:10px}.stack-name{padding-top:0}.contact{padding-top:68px}.contact-foot{margin-top:52px}}@media print{.galaxy,.nebula,.nav{display:none!important}.exp-row,.stack-row{opacity:1!important;transform:none!important}body{background:#fff!important;color:#000!important}.hero-name,.exp-name,.contact-headline,.signal-val,.exp-bullets b,.hero-thesis b{color:#000!important}.hero-thesis,.exp-pos,.exp-bullets li,.signal-label,.stack-edu,.contact-copy{color:#222!important}.hero-kicker,.hero-role,.section-label,.exp-when,.exp-summary,.tok,.stack-name,.contact-links a,.contact-foot{color:#555!important}.exp-row,.signal,.section-rule,.contact{border-color:#ccc!important}.exp-row{break-inside:avoid}.hero .container,.section,.contact{padding-top:24px;padding-bottom:24px}a{color:#000!important}}.contact-colophon{text-transform:none;letter-spacing:.02em;color:var(--faint)}.contact-colophon a{color:var(--dim);border-bottom:1px solid var(--line-lift);padding-bottom:1px}.contact-colophon a:hover{color:var(--text);border-bottom-color:var(--faint)}:root{--void: #04050a;--deep: #0a0c15;--raise: #10131f;--line: #1a1e2e;--line-lift: #262b3e;--text: #edeff5;--dim: #a2a8c0;--faint: #8a91ac;--signal: #ec3013;--signal-pressed: #c92408;--lift: #ff6a45;--selection: rgba(236, 48, 19, .35);--container: 1120px;--side-pad: 28px;--sans: "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--sans);background-color:var(--void);color:var(--text);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--selection);color:#fff}a{color:inherit;text-decoration:none;transition:color .18s ease,background-color .18s ease,border-color .18s ease}a:focus-visible,button:focus-visible{outline:2px solid var(--lift);outline-offset:3px;border-radius:2px}img{max-width:100%;display:block}ul{list-style:none}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--void)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--faint)}
