.page-intro{gap:var(--space-5) var(--space-8);padding-block:var(--space-9) var(--space-8);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;display:grid}.page-intro .eyebrow{grid-column:1/-1}.page-intro h1{max-width:13ch}.page-lead{max-width:720px;color:var(--text-muted);font-size:var(--fs-lg)}.metrics-band{background:var(--surface);border-bottom:1px solid var(--line-strong)}.metrics-grid{grid-template-columns:repeat(4,1fr);display:grid}.metric{min-width:0;padding:var(--space-5);border-right:1px solid var(--line)}.metric:first-child{border-left:1px solid var(--line)}.metric strong{color:var(--green);font-size:2rem;line-height:1;display:block}.metric p{margin-top:var(--space-2);font-weight:800}.metric small{color:var(--text-faint);font-size:var(--fs-xs)}.section{padding-block:var(--space-9)}.section-muted{background:var(--surface-muted);border-block:1px solid var(--line)}.section-intro{gap:var(--space-8);margin-bottom:var(--space-8);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:end;display:grid}.section-intro.compact{margin-bottom:var(--space-7)}.section-intro .eyebrow{margin-bottom:var(--space-3)}.section-intro h2{max-width:16ch}.section-lead{max-width:690px;color:var(--text-muted);font-size:var(--fs-lg)}.section-actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.section-link{min-height:44px;padding-inline:var(--space-4);border:1px solid var(--line-strong);font-size:var(--fs-sm);border-radius:4px;align-items:center;font-weight:800;display:inline-flex}.section-link:hover{border-color:var(--green);text-decoration:none}.empty-state{padding:var(--space-6);border-block:1px solid var(--line);color:var(--text-muted)}.research-grid{border-block:1px solid var(--line-strong);grid-template-columns:repeat(4,1fr);display:grid}.research-step{min-width:0;padding:var(--space-6) var(--space-5) var(--space-7);border-right:1px solid var(--line)}.research-step:last-child{border-right:0}.step-number{color:var(--red);font:800 var(--fs-sm)/1 var(--font-mono)}.research-step h3{margin-top:var(--space-7)}.research-step p{min-height:7.6em;margin-top:var(--space-4);color:var(--text-muted)}.research-step strong{padding-top:var(--space-3);border-top:2px solid var(--green);color:var(--green);font-size:var(--fs-sm);display:block}.research-context{gap:var(--space-5);margin-top:var(--space-6);padding:var(--space-5);background:var(--text);color:var(--bg);grid-template-columns:170px 1fr;display:grid}.context-label{color:#78d8b2;font:700 var(--fs-xs)/1.5 var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.research-context>p:last-child{max-width:800px;font-size:var(--fs-lg);font-weight:650}.research-evidence{border-block:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.research-evidence article{padding:var(--space-5);border-right:1px solid var(--line)}.research-evidence article:last-child{border-right:0}.research-evidence h3{color:var(--green);font-size:var(--fs-base)}.research-evidence p{margin-top:var(--space-3);color:var(--text-muted)}.research-evidence ul{margin-top:var(--space-3);color:var(--text-muted);padding-left:1.1rem}.project-grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-card{min-height:460px;padding:var(--space-6);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;position:relative;overflow:hidden}.project-grid.compact .project-card{min-height:380px}.project-card:before{content:"";background:var(--green);width:5px;position:absolute;inset:0 auto 0 0}.category-industry:before{background:var(--red)}.category-software:before{background:#5c57a5}.category-robotics:before{background:#32789a}.project-topline{justify-content:space-between;gap:var(--space-4);color:var(--text-faint);font:700 var(--fs-xs)/1 var(--font-mono);text-transform:uppercase;display:flex}.project-topline span{color:var(--green)}.category-industry .project-topline span{color:var(--red)}.project-card h3{max-width:22ch;margin-top:var(--space-6);font-size:1.65rem}.project-summary{margin-top:var(--space-3);color:var(--green);font-weight:750}.project-description{margin-top:var(--space-4);color:var(--text-muted)}.project-meta{gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.project-grid.compact .project-meta{grid-template-columns:1fr}.project-meta dt{color:var(--text-faint);font:700 var(--fs-xs)/1.4 var(--font-mono);text-transform:uppercase}.project-meta dd{font-size:var(--fs-sm);margin-top:.2rem;font-weight:700}.project-footer{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding-top:var(--space-5);margin-top:auto;display:flex}.project-footer ul{gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.project-links{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.project-links a{font-size:var(--fs-sm);flex:none;font-weight:800}.publication-actions{gap:var(--space-4);flex-wrap:wrap;align-self:end;display:flex}.publication-actions a{min-height:44px;font-size:var(--fs-sm);align-items:center;font-weight:800;display:inline-flex}.publication-list{border-top:1px solid var(--line-strong);padding:0;list-style:none}.publication-item{gap:var(--space-5);padding-block:var(--space-6);border-bottom:1px solid var(--line);grid-template-columns:60px minmax(0,1fr) auto;display:grid}.publication-list.compact .publication-item{padding-block:var(--space-5)}.publication-index{color:var(--red);font:800 var(--fs-sm)/1.4 var(--font-mono)}.publication-authors{color:var(--text-faint);font-size:var(--fs-sm)}.publication-authors strong{color:var(--text)}.publication-body h3{max-width:780px;margin-top:var(--space-2);font-size:1.28rem;line-height:1.25}.publication-meta{gap:var(--space-2) var(--space-4);margin-top:var(--space-3);color:var(--text-muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.publication-meta strong{color:var(--green)}.publication-links{align-items:flex-end;gap:var(--space-2);flex-direction:column;display:flex}.publication-links a{min-height:32px;font-size:var(--fs-sm);white-space:nowrap;font-weight:800}.section-dark{color:#d9e3dd;background:#111b17}.section-dark h2,.section-dark h3{color:#f5f8f6}.section-dark .section-lead{color:#aab9b0}.experience-layout{gap:var(--space-8);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);display:grid}.timeline{border-top:1px solid #35443b;padding:0;list-style:none}.timeline>li{gap:var(--space-5);padding-block:var(--space-5);border-bottom:1px solid #35443b;grid-template-columns:150px 1fr;display:grid}.timeline-time{gap:var(--space-1);color:#9daf9f;font:650 var(--fs-xs)/1.45 var(--font-mono);flex-direction:column;display:flex}.timeline-body h3{font-size:1.18rem}.timeline-org{margin-top:var(--space-1);color:#76d6b0;font-size:var(--fs-sm);font-weight:700}.timeline-body ul{margin-top:var(--space-3);color:#aab9b0;font-size:var(--fs-sm);padding-left:1.1rem}.timeline-body li+li{margin-top:var(--space-1)}.teaching-panel{padding:var(--space-6);background:#18251f;border-block:1px solid #506359;align-self:start}.teaching-number{margin-top:var(--space-5);color:#76d6b0;font-size:4rem;line-height:.9;display:block}.teaching-summary{margin-top:var(--space-4);color:#cad6cf}.course-list{margin-top:var(--space-5);border-top:1px solid #35443b;padding:0;list-style:none}.course-list li{gap:var(--space-2);padding-block:var(--space-2);color:#aab9b0;font-size:var(--fs-xs);border-bottom:1px solid #35443b;grid-template-columns:92px 1fr;display:grid}.course-list span{color:#76d6b0;font-family:var(--font-mono)}.student-results{margin-top:var(--space-5)}.student-results>p{color:#76d6b0;font:700 var(--fs-xs)/1 var(--font-mono);text-transform:uppercase}.student-results div{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.student-results span{color:#aab9b0}.education-row{margin-top:var(--space-8);border-top:1px solid #35443b;grid-template-columns:repeat(3,1fr);display:grid}.education-row article{padding:var(--space-5);border-right:1px solid #35443b}.education-row article:last-child{border-right:0}.education-row time{color:#76d6b0;font:700 var(--fs-xs)/1 var(--font-mono)}.education-row h3{margin-top:var(--space-4);font-size:1.15rem}.education-row p{margin-top:var(--space-2);color:#aab9b0;font-size:var(--fs-sm)}.education-row strong{margin-top:var(--space-2);color:#f0a295;font-size:var(--fs-xs);display:block}.education-row small{margin-top:var(--space-3);color:#829288;display:block}.capability-grid{border-block:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.capability{padding:var(--space-6);border-right:1px solid var(--line)}.capability:last-child{border-right:0}.capability h3{color:var(--green)}.capability ul{margin-top:var(--space-5);padding:0;list-style:none}.capability li{padding-block:var(--space-2);border-bottom:1px solid var(--line);color:var(--text-muted)}.personal-grid{gap:var(--space-6);margin-top:var(--space-8);grid-template-columns:repeat(4,1fr);display:grid}.personal-grid section{min-width:0}.personal-label{padding-bottom:var(--space-3);border-bottom:3px solid var(--red);font-weight:850}.personal-grid ul{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--fs-sm);padding:0;list-style:none}.personal-grid li+li{margin-top:var(--space-3)}.interest-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.interest-list li{padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:3px;margin:0!important}.profile-links{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.summary-experience{gap:var(--space-8);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;display:grid}.summary-experience .summary-position{padding-block:var(--space-5);border-block:1px solid var(--line-strong)}.summary-position time{color:var(--red);font:750 var(--fs-xs)/1.4 var(--font-mono)}.summary-position h3{margin-top:var(--space-3)}.summary-position p{margin-top:var(--space-2);color:var(--text-muted)}.summary-position ul{margin-top:var(--space-4);color:var(--text-muted);padding-left:1.1rem}.contact-section{padding-block:var(--space-9);background:var(--green-strong);color:#e7f4ed}.contact-layout{gap:var(--space-8);grid-template-columns:1.1fr .9fr;align-items:end;display:grid}.contact-section .eyebrow{color:#9fe6c8;margin-bottom:var(--space-4)}.contact-section h2{color:#fff;max-width:14ch;font-size:3rem}.contact-copy>p{color:#c2dfd2;max-width:580px;font-size:var(--fs-lg)}.contact-email{margin-top:var(--space-5);color:#fff;font-size:1.45rem;font-weight:850;text-decoration:underline #f68572;display:inline-block}.contact-copy nav{gap:var(--space-4);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.contact-copy nav a{color:#b9e6d3;min-height:44px;font-size:var(--fs-sm);align-items:center;font-weight:800;display:inline-flex}@media (width<=900px){.page-intro,.section-intro{gap:var(--space-4);grid-template-columns:1fr}.research-grid{grid-template-columns:repeat(2,1fr)}.research-step:nth-child(2){border-right:0}.research-step:nth-child(-n+2){border-bottom:1px solid var(--line)}.research-evidence{grid-template-columns:1fr}.research-evidence article{border-right:0;border-bottom:1px solid var(--line)}.experience-layout{grid-template-columns:1fr}.teaching-panel{width:100%}.personal-grid{grid-template-columns:repeat(2,1fr)}.contact-layout,.summary-experience{grid-template-columns:1fr}}@media (width<=680px){.page-intro{padding-block:var(--space-8) var(--space-7)}.metrics-grid{grid-template-columns:repeat(2,1fr)}.metric{border-bottom:1px solid var(--line)}.metric:nth-child(2n){border-right:0}.section{padding-block:var(--space-8)}.research-context,.project-grid{grid-template-columns:1fr}.project-card,.project-grid.compact .project-card{min-height:0;padding:var(--space-5)}.project-meta{grid-template-columns:1fr}.project-footer{flex-direction:column;align-items:flex-start}.project-links{align-items:flex-start}.publication-item{gap:var(--space-3);grid-template-columns:38px minmax(0,1fr)}.publication-links{grid-column:2;align-items:flex-start}.timeline>li{gap:var(--space-3);grid-template-columns:1fr}.education-row{grid-template-columns:1fr}.education-row article{border-bottom:1px solid #35443b;border-right:0}.capability-grid{grid-template-columns:1fr}.capability{border-right:0;border-bottom:1px solid var(--line)}.personal-grid{grid-template-columns:1fr}.contact-section h2{font-size:2.3rem}.contact-email{overflow-wrap:anywhere;max-width:100%;font-size:1.2rem}}
