*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}button,input{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#c7dec8;color:#183f30}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}:root{--bg:#faf9f5;--surface:#f0f1e9;--card:#fffefa;--text:#222e27;--muted:#626b62;--accent:#286649;--border:#dddfd5;--tag:#ecefe6;--serif:Georgia,"Times New Roman",serif}:root[data-theme=dark]{--bg:#141e19;--surface:#1c2921;--card:#1b2720;--text:#e7ede3;--muted:#aab8aa;--accent:#a8cba2;--border:#35463a;--tag:#2b3b2f;color-scheme:dark}body{background:#faf9f5;background:var(--bg);color:#222e27;color:var(--text)}a{text-decoration:none}button{color:inherit}p{line-height:1.7}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}.page-width{margin-inline:auto;width:min(1240px,calc(100% - 112px))}.section{padding-block:88px}.eyebrow,.hero-bottom,.hero-meta,.mono,.pipeline text,.pipeline-top,.tags,.visual-caption,.visual-footnote{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.eyebrow{color:#286649;color:var(--accent);font-size:12px;font-weight:500;letter-spacing:1.5px;line-height:1.7;margin-bottom:22px;text-transform:uppercase}.eyebrow>span:first-child{margin-right:12px}.accent{color:#286649;color:var(--accent)}.site-header{background:#faf9f5;background:var(--bg);border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:50}.nav-shell{align-items:center;display:flex;gap:32px;margin:auto;min-height:90px;width:min(1360px,calc(100% - 80px))}.wordmark{align-items:baseline;display:inline-flex;font-size:26px;font-weight:650;letter-spacing:-1px}.wordmark-label{color:#626b62;color:var(--muted);font-family:SFMono-Regular,Consolas,monospace;font-size:12px;font-weight:400;letter-spacing:1.2px;margin-left:22px}.navigation{align-items:center;display:flex;font-size:14px;gap:30px;margin-left:auto}.navigation a{transition:color .2s}.navigation a:hover,.navigation a[aria-current]{color:#286649;color:var(--accent);text-decoration:underline;text-underline-offset:7px}.nav-contact{border-left:1px solid #dddfd5;border-left:1px solid var(--border);padding-left:24px}.nav-contact>span{margin-left:18px}.nav-tools{align-items:center;display:flex;gap:16px}.theme-toggle{background:#0000;border:1px solid #dddfd5;border:1px solid var(--border);border-radius:50%;display:grid;font-size:20px;height:34px;place-content:center;width:34px}.theme-toggle:hover{background:#ecefe6;background:var(--tag)}.menu-toggle{display:none}.skip-link{background:#286649;background:var(--accent);color:#faf9f5;color:var(--bg);left:20px;padding:15px;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:12px}.hero{grid-column-gap:70px;column-gap:70px;display:grid;grid-template-columns:1.2fr 1fr;padding-top:64px}.hero-copy h1{font-size:clamp(48px,5.3vw,76px);letter-spacing:-3.5px;line-height:1.08;margin-bottom:28px}.hero-copy h1>span{color:#626b62;color:var(--muted)}h1 em,h2 em{color:#286649;color:var(--accent);font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-weight:400}.hero-description{color:#626b62;color:var(--muted);font-size:15px;line-height:1.85;margin-bottom:30px;max-width:440px}.status-dot{background:#286649;background:var(--accent);border-radius:50%;box-shadow:0 0 0 4px #ecefe6;box-shadow:0 0 0 4px var(--tag);display:inline-block;height:7px;vertical-align:1px;width:7px}.hero-actions{align-items:center;display:flex;gap:30px}.button{align-items:center;border:1px solid #286649;border:1px solid var(--accent);display:inline-flex;font-size:14px;gap:34px;justify-content:space-between;padding:16px 22px;transition:transform .2s,box-shadow .2s}.button-primary{background:#286649;background:var(--accent);color:#faf9f5;color:var(--bg)}.button:hover{box-shadow:0 6px 15px #24452d18;transform:translateY(-3px)}.text-button,.text-link{align-items:center;background:#0000;border:0;border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);display:inline-flex;font-size:14px;gap:24px;line-height:1.5;padding:0 0 7px}.text-button:hover,.text-link:hover{border-color:#286649;border-color:var(--accent);color:#286649;color:var(--accent)}.hero-meta{color:#626b62;color:var(--muted);display:flex;font-size:8px;gap:20px;letter-spacing:1px;margin-top:42px}.pipeline{align-self:center;background:#e9eee2;background-image:radial-gradient(#849c7440 .7px,#0000 0);background-size:15px 15px;border:1px solid #d7e0ce;border-radius:2px;color:#28513d;padding:22px 25px;position:relative}.pipeline-top{display:flex;font-size:7px;gap:10px;justify-content:space-between;letter-spacing:.9px}.pipeline-top i{background:#487e52;border-radius:50%;display:inline-block;height:5px;margin-right:6px;width:5px}.pipeline svg{display:block;margin-block:22px 18px;width:100%}.pipeline text{fill:#45634d;font-size:8px;letter-spacing:2px}.pipeline-bottom{align-items:center;border-top:1px solid #c4d2bb;display:flex;font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-size:22px;justify-content:space-between;line-height:1.3;padding-top:20px}.pipeline-bottom strong{font-style:italic;font-weight:400}.pipeline-mark{font-size:51px;line-height:1}.orbit{animation:orbit 90s linear infinite;transform-origin:231px 157px}@keyframes orbit{to{transform:rotate(1turn)}}.hero-bottom{border-top:1px solid #dddfd5;border-top:1px solid var(--border);color:#626b62;color:var(--muted);display:flex;font-size:8px;grid-column:1/-1;justify-content:space-between;letter-spacing:1px;margin-top:24px;padding-block:20px}.hero-bottom>span{align-items:center;display:flex;gap:18px}.hero-bottom i{background:#286649;background:var(--accent);border-radius:50%;height:3px;width:3px}.hero-bottom a span{font-size:14px;margin-left:20px}.credentials-strip{background:#f0f1e9;background:var(--surface);border-block:1px solid #dddfd5;border-block:1px solid var(--border);padding-block:26px}.credentials-strip>div{align-items:center;display:flex;gap:65px}.credentials-strip .eyebrow{color:#626b62;color:var(--muted);font-size:12px;margin:0;max-width:145px}.credentials-strip>div>div{display:flex;flex:1 1;gap:24px;justify-content:space-between}.credentials-strip>div>div>a{font-size:22px;font-weight:600;letter-spacing:-.7px;min-width:0}.credentials-strip small{color:#626b62;color:var(--muted);display:block;font-size:12px;font-weight:400;letter-spacing:.2px;margin-top:5px}.section-heading{align-items:flex-end;display:flex;gap:40px;justify-content:space-between;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:16px}h2{font-size:clamp(32px,3.5vw,47px);letter-spacing:-1.9px;line-height:1.16;margin-bottom:0}.section-intro{color:#626b62;color:var(--muted);font-size:17px;margin-bottom:2px;max-width:350px}.work-toolbar{align-items:center;display:flex;justify-content:space-between;padding-bottom:24px}.filter-group{display:flex;flex-wrap:wrap;gap:5px}.filter-group button{background:#0000;border:1px solid #0000;border-radius:3px;color:#626b62;color:var(--muted);font-size:14px;padding:9px 14px}.filter-group button[aria-pressed=true]{background:#ecefe6;background:var(--tag);border-color:#dddfd5;border-color:var(--border);color:#222e27;color:var(--text)}.filter-group button:hover{color:#286649;color:var(--accent)}.work-count{color:#626b62;color:var(--muted);font-size:12px;letter-spacing:1px}.project-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.work-card{background:#fffefa;background:var(--card);border:1px solid #dddfd5;border:1px solid var(--border);display:flex;flex-direction:column;min-width:0;transition:transform .25s,box-shadow .25s}.work-card:hover{box-shadow:0 12px 22px #234c3010;transform:translateY(-5px)}.project-visual{align-items:center;display:flex;height:250px;justify-content:center;overflow:hidden;position:relative}.visual-flow{background:#e1e9dc;color:#315b40}.visual-bench{background:#e7e6dc;color:#5d634b}.visual-code{background:#e1e8e8;color:#345456}.visual-caption{font-size:7px;left:20px;letter-spacing:.8px;position:absolute;top:20px}.visual-footnote{bottom:17px;font-size:6px;left:20px;letter-spacing:1px;position:absolute}.phone{align-items:center;background:#fafbf5;border:4px solid #5b7159;border-radius:20px;box-shadow:12px 13px 0 #47634715;display:flex;flex-direction:column;height:192px;margin-top:60px;padding:9px 7px;transform:rotate(-8deg);width:116px}.phone-notch{background:#5b7159;border-radius:5px;height:5px;width:30px}.phone-symbol{font-size:35px;margin:13px 0 5px}.phone>span:not(.phone-symbol){font-size:8px}.phone-task{background:#e8efdf;border-radius:5px;display:flex;font-size:6px;justify-content:space-between;margin-top:15px;padding:9px 7px;width:100%}.phone-task.faint{background:#0000;font-size:5px;margin-top:4px}.benchmark-bars{align-items:flex-end;border-bottom:1px solid #a8b19c;display:flex;gap:10px;height:125px;padding:0 12px}.benchmark-bars>div{background:#46654b;border-radius:2px 2px 0 0;height:var(--bar-height);position:relative;width:24px}.benchmark-bars>div:nth-child(3n+2){background:#8d9c7a}.benchmark-bars>div:nth-child(3n){background:#b8c1a7}.benchmark-bars span{bottom:-19px;font-size:7px;position:absolute;text-align:center;width:100%}.code-window{background:#f5f8f4;border:1px solid #c4d3cb;border-radius:5px;box-shadow:8px 10px #5f7c6510;padding:14px;transform:rotate(-3deg);width:85%}.code-window>div{display:flex;gap:3px;margin-bottom:19px}.code-window i{background:#a9beb1;border-radius:50%;display:inline-block;height:4px;width:4px}.code-window pre{font-family:Consolas,monospace;font-size:9px;line-height:1.8;margin:0}.code-window pre span{color:#8c674c}.code-window p{border-top:1px solid #dde4da;font-size:7px;margin:13px 0 0;padding-top:9px}.code-window p i{background:#4e8154;margin-right:5px}.archive-visual{background:#f0f1e9;background:var(--surface);height:220px;overflow:hidden;padding:18px}.archive-visual img{height:100%;object-fit:contain;width:100%}.work-content{display:flex;flex:1 1;flex-direction:column;padding:25px}.work-content>.eyebrow{align-items:flex-start;display:flex;font-size:12px;gap:10px;justify-content:space-between;letter-spacing:1px;margin-bottom:16px}h3{font-size:22px;letter-spacing:-.6px;line-height:1.35;margin-bottom:12px}.work-description{color:#626b62;color:var(--muted);font-size:16px;line-height:1.75;margin-bottom:20px}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tags>span{background:#ecefe6;background:var(--tag);border:1px solid #dddfd5;border:1px solid var(--border);border-radius:2px;font-size:12px;line-height:1.5;padding:5px 7px}.project-link{border-top:1px solid #dddfd5;border-top:1px solid var(--border);display:flex;font-size:14px;justify-content:space-between;margin-top:25px;padding-top:20px}.project-link:hover{color:#286649;color:var(--accent)}.research-section{background:#f0f1e9;background:var(--surface);border-block:1px solid #dddfd5;border-block:1px solid var(--border)}.publication{grid-gap:22px;border-top:1px solid #dddfd5;border-top:1px solid var(--border);display:grid;gap:22px;grid-template-columns:40px 1fr 44px;padding:30px 0}.publication-index{color:#626b62;color:var(--muted);font-size:12px;padding-top:5px}.publication .eyebrow{font-size:12px;letter-spacing:.8px;margin-bottom:9px}.publication h3{font-size:21px;margin-bottom:10px;max-width:850px}.publication h3 a:hover{text-decoration:underline;text-underline-offset:4px}.publication details{color:#626b62;color:var(--muted);font-size:14px}.publication summary{cursor:pointer;width:-webkit-fit-content;width:fit-content}.publication details p{margin:10px 0 0;max-width:800px}.paper-arrow{border:1px solid #dddfd5;border:1px solid var(--border);border-radius:50%;display:grid;height:40px;place-items:center;transition:background .2s;width:40px}.paper-arrow:hover{background:#ecefe6;background:var(--tag)}.section-bottom{border-top:1px solid #dddfd5;border-top:1px solid var(--border);display:flex;gap:25px;justify-content:space-between;padding-top:30px}.section-bottom>a{margin-left:auto}.experience-layout{grid-gap:65px;display:grid;gap:65px;grid-template-columns:1fr 1.8fr;margin-top:42px}.large-asterisk{display:block;font-size:100px;line-height:1;margin-bottom:28px}.experience-aside p{font-family:Georgia,Times New Roman,serif;font-family:var(--serif);font-size:29px;letter-spacing:-.5px;line-height:1.4;margin-bottom:24px}.experience-item{border-top:1px solid #dddfd5;border-top:1px solid var(--border);padding:28px 0}.experience-item:first-child{border:0;padding-top:0}.experience-line{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:18px}.experience-line>.mono{color:#626b62;color:var(--muted);font-size:12px}.current-badge{background:#ecefe6;background:var(--tag);border-radius:2px;color:#286649;color:var(--accent);font-family:Consolas,monospace;font-size:12px;letter-spacing:.6px;padding:5px 9px}.current-badge i{background:#286649;background:var(--accent);border-radius:50%;display:inline-block;height:4px;margin-right:5px;width:4px}.experience-item h3{font-size:25px;margin-bottom:4px}.job-title{font-size:16px;margin-bottom:15px}.experience-item li,.job-summary{color:#626b62;color:var(--muted);font-size:16px;line-height:1.9}.experience-item ul{margin-bottom:0;padding-left:18px}.experience-item li{margin-block:12px}.experience-item .text-button{color:#286649;color:var(--accent);font-size:14px}.about-section{background:#f0f1e9;background:var(--surface);border-block:1px solid #dddfd5;border-block:1px solid var(--border)}.about-layout{grid-gap:95px;align-items:center;display:grid;gap:95px;grid-template-columns:1fr 1.25fr}.portrait-wrap{background:#faf9f5;background:var(--bg);border:1px solid #dddfd5;border:1px solid var(--border);padding:16px 16px 45px;position:relative;transform:rotate(-2deg)}.portrait-wrap img{display:block;filter:saturate(.65);height:400px;object-fit:cover;object-position:center 25%;width:100%}.portrait-caption{bottom:17px;color:#626b62;color:var(--muted);font-size:12px;left:19px;letter-spacing:1px;position:absolute}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){color:#626b62;color:var(--muted);font-size:16px}.education-list{grid-gap:18px;border-top:1px solid #dddfd5;border-top:1px solid var(--border);display:grid;gap:18px;margin-top:25px;padding-top:20px}.education-list>div{grid-column-gap:18px;align-items:baseline;column-gap:18px;display:grid;grid-template-columns:3rem minmax(0,1fr)}.education-list .mono{color:#286649;color:var(--accent);font-size:12px}.education-list strong{display:block;font-size:14px;font-weight:500;line-height:1.5;margin-bottom:5px}.education-list div>div>span{color:#626b62;color:var(--muted);font-size:13px}.contact-section{padding-bottom:68px;padding-top:80px}.contact-heading{align-items:center;display:flex;gap:35px;justify-content:space-between;margin-block:30px}.contact-heading h2{font-size:clamp(40px,5.7vw,76px);letter-spacing:-3px;line-height:1.12}.contact-circle{background:#286649;background:var(--accent);border-radius:50%;color:#faf9f5;color:var(--bg);display:grid;flex-shrink:0;font-size:35px;height:95px;place-items:center;transition:transform .2s;width:95px}.contact-circle:hover{transform:rotate(10deg)}.contact-bottom{align-items:flex-end;display:flex;gap:24px;justify-content:space-between}.contact-bottom p{color:#626b62;color:var(--muted);font-size:16px;margin-bottom:0}.email-link{border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);font-size:21px;padding-bottom:9px}.email-link span{margin-left:18px}.site-footer{align-items:center;border-top:1px solid #dddfd5;border-top:1px solid var(--border);display:flex;gap:30px;padding-block:27px}.site-footer .wordmark{font-size:25px}.site-footer>p{color:#626b62;color:var(--muted);font-size:12px;margin-bottom:0}.site-footer>div{display:flex;font-size:14px;gap:25px;margin-left:auto}.site-footer>div span{margin-left:8px}.site-footer a:hover{color:#286649;color:var(--accent)}.back-top{font-size:20px;margin-left:20px}.data-notice{color:#626b62;color:var(--muted);font-size:16px;padding-block:25px}.data-notice a{text-decoration:underline}@media (min-width:1600px){.hero{padding-top:80px}}@media (max-width:1100px){.page-width{width:calc(100% - 72px)}.wordmark-label{display:none}.hero{column-gap:35px}.hero-copy h1{font-size:58px}.pipeline{padding:18px}.pipeline-top{font-size:6px}.credentials-strip>div{gap:30px}.credentials-strip>div>div>a{font-size:19px}.project-grid{gap:16px}.work-content{padding:20px}.project-visual{height:225px}.code-window pre{font-size:7px}.about-layout{gap:50px}.portrait-wrap img{height:370px}}@media (max-width:800px){.site-header .wordmark{font-size:22px}.page-width{width:calc(100% - 44px)}.section{padding-block:60px}.nav-shell{gap:20px;min-height:72px;width:calc(100% - 44px)}.navigation{font-size:14px;gap:20px}.nav-contact{display:none}.nav-tools{gap:12px}.hero{gap:25px;padding-top:48px}.hero-copy h1{font-size:48px;letter-spacing:-2px}.hero .eyebrow{font-size:12px;letter-spacing:.8px}.hero-description{font-size:13px}.hero-actions{gap:18px}.hero-actions .button{font-size:14px;gap:15px;padding:14px}.hero-actions .text-link{font-size:14px;gap:8px}.pipeline-top>span:last-child{display:none}.pipeline-bottom{font-size:18px}.pipeline-mark{font-size:35px}.hero-meta{font-size:6px;gap:12px}.hero-bottom{font-size:6px;margin-top:30px}.hero-bottom>span{gap:9px}.credentials-strip>div{align-items:stretch;flex-direction:column;gap:18px}.credentials-strip .eyebrow{max-width:none}.credentials-strip>div>div>a{font-size:18px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:30px}.section-intro{max-width:450px}.project-grid{grid-template-columns:repeat(2,1fr)}.project-grid>:last-child:nth-child(odd){display:grid;grid-column:1/-1;grid-template-columns:1fr 1fr}.project-grid>:last-child:nth-child(odd) .project-visual{height:100%;min-height:260px}.experience-layout{gap:35px;grid-template-columns:1fr 1.6fr}.experience-aside p{font-size:24px}.about-layout{gap:30px}.portrait-wrap img{height:330px}.about-copy h2{font-size:33px}.about-copy>p:not(.eyebrow){font-size:16px}.email-link{font-size:18px}.site-footer{gap:18px}.site-footer>div{gap:15px}.site-footer>p{display:none}}@media (max-width:600px){html{scroll-padding-top:90px}.nav-shell{gap:15px}.site-header .wordmark{font-size:19px;letter-spacing:-.6px;line-height:1.2;min-width:0}.wordmark-name{min-width:0}.nav-tools{flex-shrink:0;margin-left:auto}.theme-toggle{font-size:18px;height:30px;width:30px}.menu-toggle{background:#0000;border:0;display:block;font-size:14px;min-height:44px;min-width:58px}.navigation{background:#faf9f5;background:var(--bg);border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);box-shadow:0 12px 15px #1835220c;display:none;left:0;padding:20px 24px 28px;position:absolute;right:0;top:71px}.navigation.is-open{align-items:stretch;display:flex;flex-direction:column;gap:0}.navigation a{font-size:16px;padding:14px 0}.navigation .nav-contact{border-left:0;border-top:1px solid #dddfd5;border-top:1px solid var(--border);color:#286649;color:var(--accent);display:block;margin-top:10px}.hero{gap:0;grid-template-columns:1fr;padding-top:38px}.hero .eyebrow{font-size:12px;letter-spacing:.7px;margin-bottom:24px}.hero-copy h1{font-size:clamp(42px,11vw,64px);letter-spacing:-2.5px;line-height:1.1}.hero-description{font-size:14px;margin-bottom:25px;max-width:400px}.hero-actions{gap:25px}.hero-actions .button{font-size:14px;gap:30px;padding:16px 20px}.hero-actions .text-link{font-size:14px}.hero-meta{font-size:7px;gap:20px;margin-top:28px}.pipeline{margin-top:35px;padding:20px}.pipeline svg{margin-block:0 8px;max-height:230px}.pipeline-top{font-size:7px}.pipeline-top>span:last-child{display:inline}.pipeline-bottom{font-size:21px;padding-top:14px}.hero-bottom{font-size:7px;margin-top:30px;padding-block:20px}.hero-bottom>span{flex-wrap:wrap;gap:9px;line-height:1.8;max-width:240px}.hero-bottom>a{font-size:0;white-space:nowrap}.hero-bottom>a span{font-size:18px}.credentials-strip{padding-block:25px}.credentials-strip>div>div{grid-gap:22px;display:grid;gap:22px;grid-template-columns:1fr 1fr}.credentials-strip>div>div>a{font-size:20px}.section{padding-block:52px}h2{font-size:34px;letter-spacing:-1.5px}.section-heading .eyebrow{font-size:12px}.section-intro{font-size:17px}.work-toolbar{align-items:stretch}.filter-group{gap:1px}.filter-group button{font-size:14px;padding:9px 10px}.work-count{display:none}.project-grid{gap:24px;grid-template-columns:1fr}.project-grid>:last-child:nth-child(odd){display:flex;grid-column:auto}.project-grid>:last-child:nth-child(odd) .project-visual{height:250px;min-height:0}.project-visual{height:250px}.work-content{padding:24px}.work-description{font-size:16px}.code-window{max-width:300px}.code-window pre{font-size:10px}.visual-caption{font-size:7px}.publication{gap:10px;grid-template-columns:23px 1fr 29px;padding-block:24px}.publication-index{font-size:12px}.publication .eyebrow{font-size:12px;line-height:1.8}.publication h3{font-size:18px}.paper-arrow{font-size:13px;height:28px;width:28px}.section-bottom{flex-wrap:wrap;gap:25px}.section-bottom>a{margin-left:0}.experience-layout{gap:30px;grid-template-columns:1fr;margin-top:35px}.experience-aside{display:none}.experience-item:first-child{border-top:1px solid #dddfd5;border-top:1px solid var(--border);padding-top:25px}.experience-item li,.job-summary{font-size:16px}.about-layout{gap:42px;grid-template-columns:1fr}.portrait-wrap{margin-inline:auto;max-width:345px;width:calc(100% - 15px)}.portrait-wrap img{height:360px}.about-copy h2{font-size:38px}.about-copy>p:not(.eyebrow){font-size:16px}.contact-heading{align-items:flex-end;gap:15px}.contact-heading h2{font-size:clamp(32px,8vw,48px);letter-spacing:-1.5px}.contact-circle{font-size:26px;height:52px;width:52px}.contact-bottom{align-items:flex-start;flex-direction:column;gap:22px}.email-link{font-size:20px}.site-footer{flex-wrap:wrap;gap:18px;padding-block:25px}.site-footer>div{justify-content:space-between;margin:0;order:3;width:100%}.site-footer .back-top{margin-left:auto}}.link-arrow{display:inline-block;flex-shrink:0;vertical-align:middle}.down-right .link-arrow{transform:rotate(90deg)}.email-link>.link-arrow,.nav-contact>.link-arrow{margin-left:18px}.contact-circle .link-arrow{height:32px;width:32px}.site-footer>div .link-arrow{height:12px;margin-left:8px;width:12px}.phone-task .link-arrow{height:8px;width:8px}.large-asterisk,.phone-symbol,.pipeline-mark{color:inherit;display:inline-flex}.large-asterisk{color:#286649;color:var(--accent)}.recent-highlights{border-top:1px solid #dddfd5;border-top:1px solid var(--border);grid-column:1/-1;margin-top:38px;padding-top:22px}.recent-highlights>.eyebrow{font-size:12px;margin-bottom:16px}.highlights-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(3,1fr)}.highlight-item{padding-right:24px}.highlight-item+.highlight-item{border-left:1px solid #dddfd5;border-left:1px solid var(--border);padding-left:24px}.highlight-item>.eyebrow{display:block;font-size:12px;letter-spacing:1px;margin-bottom:8px}.highlight-item strong{align-items:center;display:flex;font-size:24px;font-weight:500;gap:15px;justify-content:space-between;letter-spacing:-.6px}.highlight-item p{color:#626b62;color:var(--muted);font-size:16px;line-height:1.65;margin:8px 0 0}.highlight-item:hover strong{color:#286649;color:var(--accent)}.project-contribution{border-top:1px solid #dddfd5;border-top:1px solid var(--border);margin:0 0 22px;padding-top:16px}.project-contribution dt{color:#286649;color:var(--accent);font-family:Consolas,monospace;font-size:12px;font-weight:500;letter-spacing:.8px;margin-bottom:6px;text-transform:uppercase}.project-contribution dd{color:#626b62;color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 14px}.project-contribution dd:last-child{margin-bottom:0}@media (max-width:800px){.highlights-grid{gap:16px}.highlight-item{padding-right:0}.highlight-item+.highlight-item{padding-left:16px}.highlight-item strong{font-size:21px}.highlight-item p{font-size:16px}}@media (max-width:600px){.recent-highlights{margin-top:28px}.highlights-grid{gap:18px;grid-template-columns:1fr}.highlight-item+.highlight-item{border-left:0;border-top:1px solid #dddfd5;border-top:1px solid var(--border);padding:18px 0 0}.highlight-item strong{font-size:23px}.highlight-item p{font-size:16px}}.visual-training{background:#e1e9dc;color:#315b40}.visual-simulation{background:#e4e8ed;color:#3d5367}.simulation-diagram,.training-diagram{align-items:center;display:flex;flex-direction:column;font-family:Consolas,monospace;gap:6px;width:90%}.model-source,.simulation-input,.simulation-output{font-size:8px;letter-spacing:.5px}.training-diagram strong{background:#f4f7ee;border:1px solid #829d7e;font:34px Georgia,serif;padding:10px 42px;text-align:center}.training-diagram strong span{display:block;font:8px Consolas,monospace;letter-spacing:3px;margin-top:4px}.diagram-connector{font-size:15px;line-height:1.1}.persona-nodes{display:flex;gap:10px;justify-content:center;width:100%}.persona-nodes>span{align-items:center;background:#f3f6f8;border:1px solid #a8b6c2;display:flex;flex-direction:column;font-size:8px;gap:8px;padding:12px 9px}.persona-nodes svg{height:25px;width:25px}@media (min-width:601px) and (max-width:800px){.model-source{font-size:7px}}.intro-layout{gap:76px;grid-column:1/-1;grid-template-columns:.85fr 1.2fr}.intro-layout h1{font-size:clamp(38px,4vw,56px);letter-spacing:-2px;line-height:1.15;margin-bottom:24px}.intro-layout .portrait-wrap{padding-bottom:40px;transform:none}.intro-layout .portrait-wrap img{filter:none;height:440px}.intro-layout .about-copy>p:not(.eyebrow){line-height:1.8}.intro-layout .hero-actions{margin-top:25px}.hero .recent-highlights{margin-bottom:30px}@media (max-width:1100px){.intro-layout{gap:45px}.intro-layout .portrait-wrap img{height:420px}}@media (max-width:800px){.intro-layout{gap:30px}.intro-layout .portrait-wrap img{height:380px}.intro-layout .about-copy .eyebrow{font-size:12px}}@media (max-width:600px){.intro-layout{gap:30px;grid-template-columns:1fr}.intro-layout .portrait-wrap{max-width:345px;padding:10px 10px 35px;width:100%}.intro-layout .portrait-wrap img{height:300px}.intro-layout .portrait-caption{bottom:12px;left:12px}.intro-layout .hero-actions{flex-wrap:wrap}}.project-screenshot{align-items:center;background:#f0f1e9;background:var(--surface);border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:12px;height:320px;padding:18px 20px 12px}.project-screenshot img{display:block;flex:1 1;min-height:0;object-fit:contain;width:100%}.project-screenshot>span{align-items:center;color:#286649;color:var(--accent);display:flex;font-size:14px;gap:12px;justify-content:center}.project-screenshot:hover>span{text-decoration:underline;text-underline-offset:3px}.credentials-strip>div>div>a:hover{color:#286649;color:var(--accent);text-decoration:underline;text-underline-offset:5px}#about,#education,.experience-item{scroll-margin-top:110px}.project-affiliation{align-self:flex-start;background:#ecefe6;background:var(--tag);border:1px solid #dddfd5;border:1px solid var(--border);border-radius:3px;color:#286649;color:var(--accent);display:inline-flex;font-size:12px;font-weight:500;line-height:1.5;margin:0 0 12px;padding:4px 9px}.project-paper-link{align-items:center;color:#286649;color:var(--accent);display:flex;font-size:14px;justify-content:space-between;margin-top:14px}.project-paper-link:hover{text-decoration:underline;text-underline-offset:4px}@media (max-width:900px){.nav-tools{flex-shrink:0;margin-left:auto}.menu-toggle{background:#0000;border:0;display:block;font-size:14px;min-height:44px;min-width:70px}.navigation{background:#faf9f5;background:var(--bg);border-bottom:1px solid #dddfd5;border-bottom:1px solid var(--border);box-shadow:0 12px 15px #1835220c;display:none;left:0;padding:20px 24px 28px;position:absolute;right:0;top:100%}.navigation.is-open{align-items:stretch;display:flex;flex-direction:column;gap:0}.navigation a{font-size:16px;padding:14px 0}.navigation .nav-contact{border-left:0;border-top:1px solid #dddfd5;border-top:1px solid var(--border);color:#286649;color:var(--accent);display:block;margin-top:10px}}.company-note{color:#286649;color:var(--accent);font-size:14px;line-height:1.6;margin-bottom:15px}
/*# sourceMappingURL=main.ef65eb3b.css.map*/