.navbar[data-astro-cid-5blmo7yk]{background:#fdfcf9f5;backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.navbar-container[data-astro-cid-5blmo7yk]{display:grid;grid-template-columns:180px minmax(0,760px);gap:56px;align-items:center;justify-content:center;padding-top:var(--space-3);padding-bottom:var(--space-3)}.navbar-brand[data-astro-cid-5blmo7yk]{justify-self:center;font-family:var(--font-serif);font-size:1.18rem;font-weight:500;letter-spacing:-.01em;color:var(--color-heading);text-decoration:none}.navbar-brand[data-astro-cid-5blmo7yk]:hover{color:var(--color-link);text-decoration:none}.navbar-toggle[data-astro-cid-5blmo7yk]{display:none;background:none;border:none;cursor:pointer;padding:var(--spacing-sm)}.hamburger[data-astro-cid-5blmo7yk]{display:block;width:20px;height:2px;background-color:var(--color-text);position:relative}.hamburger[data-astro-cid-5blmo7yk]:before,.hamburger[data-astro-cid-5blmo7yk]:after{content:"";position:absolute;width:100%;height:2px;background-color:var(--color-text);left:0}.hamburger[data-astro-cid-5blmo7yk]:before{top:-6px}.hamburger[data-astro-cid-5blmo7yk]:after{top:6px}.navbar-links[data-astro-cid-5blmo7yk]{display:flex;justify-self:end;list-style:none;margin:0;padding:0;gap:var(--space-6)}.nav-link[data-astro-cid-5blmo7yk]{font-size:15px;color:var(--color-text);text-decoration:none;padding:var(--spacing-xs) var(--space-2);border-bottom:2px solid transparent;border-radius:0;transition:color .2s,border-color .2s,background-color .2s}.nav-link[data-astro-cid-5blmo7yk]:hover{color:var(--color-link);background:transparent;text-decoration:none}.nav-link[data-astro-cid-5blmo7yk].active{color:var(--color-link);border-bottom-color:var(--color-link);background:transparent}@media(max-width:900px){.navbar-container[data-astro-cid-5blmo7yk]{display:flex;justify-content:space-between}.navbar-brand[data-astro-cid-5blmo7yk]{justify-self:auto}}@media(max-width:600px){.navbar-toggle[data-astro-cid-5blmo7yk]{display:block}.navbar-links[data-astro-cid-5blmo7yk]{display:none;position:absolute;top:100%;left:0;right:0;background-color:var(--color-bg);flex-direction:column;padding:var(--spacing-md);gap:0;border-bottom:1px solid var(--color-border)}.navbar-links[data-astro-cid-5blmo7yk].open{display:flex}.navbar-links[data-astro-cid-5blmo7yk] li[data-astro-cid-5blmo7yk]{margin:0}.nav-link[data-astro-cid-5blmo7yk]{display:block;padding:var(--spacing-sm) 0;border-bottom:none}.navbar-container[data-astro-cid-5blmo7yk]{position:relative}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);background:var(--color-bg-alt);margin-top:auto}.footer-content[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:180px minmax(0,760px);justify-content:center;align-items:center;column-gap:56px;padding-top:var(--space-6);padding-bottom:var(--space-6)}.copyright[data-astro-cid-sz7xmlte]{text-align:center;margin:0;font-size:14px;color:var(--color-text-light)}.footer-links[data-astro-cid-sz7xmlte]{display:flex;justify-content:flex-end;gap:var(--space-5)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:14px;color:var(--color-text-light)}.footer-links[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--color-link)}@media(max-width:900px){.footer-content[data-astro-cid-sz7xmlte]{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2) var(--space-5);text-align:center}}@media(max-width:520px){.footer-content[data-astro-cid-sz7xmlte]{align-items:center;flex-direction:column}}.profile-sidebar[data-astro-cid-bqgjawlv]{position:sticky;top:6.5rem;align-self:start;text-align:center}.profile-sidebar-photo[data-astro-cid-bqgjawlv]{display:block;width:152px;aspect-ratio:1;object-fit:cover;object-position:center top;margin:0 auto var(--space-5);border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-bg-card)}.profile-sidebar[data-astro-cid-bqgjawlv] h2[data-astro-cid-bqgjawlv]{margin:0 0 var(--space-2);font-size:1.28rem;font-weight:500;line-height:1.2}.profile-role[data-astro-cid-bqgjawlv]{margin:0 0 var(--space-1);color:var(--color-text);font-size:14px;line-height:1.5}.profile-details[data-astro-cid-bqgjawlv]{display:grid;gap:var(--space-1);margin:var(--space-5) 0;font-size:14px;line-height:1.45}.profile-details[data-astro-cid-bqgjawlv] p[data-astro-cid-bqgjawlv]{margin:0;overflow-wrap:anywhere}.profile-sidebar-links[data-astro-cid-bqgjawlv]{display:grid;grid-template-columns:repeat(2,max-content);justify-content:center;gap:var(--space-1) var(--space-4);font-size:14px}@media(max-width:900px){.profile-sidebar[data-astro-cid-bqgjawlv]{position:static;display:grid;grid-template-columns:88px minmax(0,1fr);gap:var(--space-5);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border);text-align:left}.profile-sidebar-photo[data-astro-cid-bqgjawlv]{width:88px;margin:0}.profile-sidebar[data-astro-cid-bqgjawlv] h2[data-astro-cid-bqgjawlv]{font-size:1.25rem}.profile-sidebar-links[data-astro-cid-bqgjawlv]{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}}@media(max-width:520px){.profile-sidebar[data-astro-cid-bqgjawlv]{grid-template-columns:72px minmax(0,1fr);gap:var(--space-4)}.profile-sidebar-photo[data-astro-cid-bqgjawlv]{width:72px}.profile-sidebar[data-astro-cid-bqgjawlv] h2[data-astro-cid-bqgjawlv]{font-size:1.08rem;margin-bottom:var(--space-1)}.profile-role[data-astro-cid-bqgjawlv],.profile-details[data-astro-cid-bqgjawlv],.profile-sidebar-links[data-astro-cid-bqgjawlv]{font-size:13px}.profile-details[data-astro-cid-bqgjawlv]{margin:var(--space-3) 0}.profile-location[data-astro-cid-bqgjawlv]{display:none}}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-roman-latin.woff2) format("woff2")}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-sans-3-italic-latin.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-roman-latin.woff2) format("woff2")}:root{--color-text: #1f1d1a;--color-text-light: #3f3a35;--color-text-muted: #625b54;--color-heading: #11100f;--color-link: #8c1d2c;--color-link-hover: #681520;--color-bg: #fdfcf9;--color-bg-alt: #f5f2ec;--color-bg-card: #fdfcf9;--color-border: #d4cec5;--color-border-light: #e4dfd7;--color-border-strong: #b9b0a5;--color-accent: #8c1d2c;--color-accent-light: #f5e9e9;--color-award-bg: #fbf3df;--color-award-border: #caa35c;--color-award-text: #704d18;--color-badge-journal-bg: #f7e5e7;--color-badge-journal-text: #7f1b2b;--color-badge-talk-bg: #eee9e2;--color-badge-talk-text: #524940;--color-tag-bg: #f2ebe3;--color-tag-text: #5a5149;--font-sans: "Source Sans 3", "Segoe UI", sans-serif;--font-serif: "Source Serif 4", Georgia, serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Consolas", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--spacing-xs: var(--space-1);--spacing-sm: var(--space-2);--spacing-md: var(--space-4);--spacing-lg: var(--space-8);--spacing-xl: var(--space-16);--max-width: 760px;--max-width-wide: 1160px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--shadow-xs: 0 1px 2px rgba(44, 32, 24, .035);--shadow-sm: 0 2px 6px rgba(44, 32, 24, .055);--shadow-md: 0 5px 14px rgba(44, 32, 24, .07);--shadow-lg: 0 10px 24px rgba(44, 32, 24, .08)}*,*:before,*:after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-sans);font-size:17px;font-weight:425;line-height:1.65;color:var(--color-text);background:var(--color-bg)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-heading);font-weight:500;line-height:1.25;margin-top:var(--space-8);margin-bottom:var(--space-4);letter-spacing:-.015em}h1{font-size:2.25rem}h2{font-size:1.5rem}h3{font-size:1.2rem}h4{font-size:1.05rem}strong,b{color:var(--color-heading);font-weight:500}p{margin:0 0 var(--space-4) 0}a{color:var(--color-link);text-decoration:none;transition:color .15s ease,text-decoration-color .15s ease}a:hover{color:var(--color-link-hover);text-decoration:underline;text-underline-offset:3px}a:focus-visible,button:focus-visible,.btn:focus-visible{outline:2px solid rgba(157,34,53,.45);outline-offset:3px}::selection{background:#9d22351f;color:var(--color-heading)}ul,ol{margin:0 0 var(--space-4) 0;padding-left:var(--space-8)}li{margin-bottom:var(--space-1)}code{font-family:var(--font-mono);font-size:.875em;background-color:var(--color-bg-alt);padding:.15em .4em;border-radius:var(--radius-sm);border:1px solid var(--color-border)}pre{font-family:var(--font-mono);font-size:.875rem;background-color:var(--color-bg-alt);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-border);line-height:1.6}pre code{background:none;border:none;padding:0}blockquote{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-accent-light);color:var(--color-text);border-radius:0 var(--radius-sm) var(--radius-sm) 0}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8) 0}img{max-width:100%;height:auto;border-radius:var(--radius-md)}table{width:100%;border-collapse:collapse;margin:var(--space-4) 0;font-size:.9rem}th,td{text-align:left;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border)}th{font-weight:400;color:var(--color-heading);background:var(--color-bg-alt)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-muted{color:var(--color-text-muted)}.text-light{color:var(--color-text-light)}.text-small{font-size:14px}.badge{display:inline-block;font-size:13px;font-weight:425;letter-spacing:.01em;padding:.1em .4em;border-radius:var(--radius-sm);vertical-align:middle;white-space:nowrap}.badge-award{background:var(--color-award-bg);color:var(--color-award-text);border:1px solid var(--color-award-border)}.badge-journal{background:var(--color-badge-journal-bg);color:var(--color-badge-journal-text);border:1px solid #e3bcc2}.badge-talk{background:var(--color-badge-talk-bg);color:var(--color-badge-talk-text);border:1px solid #d7cdc2}.badge-review{background:#f8edf0;color:#7c2130;border:1px solid #e8c8ce}.tag{display:inline-block;font-size:13px;font-weight:425;padding:.1em .45em;background-color:var(--color-tag-bg);color:var(--color-tag-text);border-radius:2px;border:0}@media(max-width:600px){body{font-size:16px}}.section-title{position:relative;font-family:var(--font-serif);font-size:1.35rem;font-weight:500;letter-spacing:-.012em;text-transform:none;color:var(--color-heading);margin-top:0;margin-bottom:var(--space-5);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}@media(max-width:600px){html{font-size:15px}h1{font-size:1.85rem}h2{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.container,.container-wide{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.container-wide{max-width:var(--max-width-wide)}.page-header{margin-bottom:var(--space-8);padding:0 0 var(--space-5);border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent;box-shadow:none;width:100%}.page-header h1{margin-top:0;margin-bottom:var(--space-3);font-size:clamp(1.9rem,3vw,2.35rem);letter-spacing:-.02em}.page-header .subtitle{color:var(--color-text-light);font-size:1rem;line-height:1.65;margin:0;max-width:64ch}.section{margin-bottom:var(--space-8)}.section-title{position:relative;padding-bottom:var(--space-2)}.section-title:after{content:"";position:absolute;bottom:-1px;left:0;width:32px;height:2px;background:var(--color-link)}.card{background:transparent;border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:var(--space-5);margin-bottom:var(--space-4);width:100%;transition:border-color .15s ease,box-shadow .15s ease;box-shadow:none}.card:hover{border-color:var(--color-border);box-shadow:none}.card-title{font-size:1.05rem;font-weight:500;margin:0 0 var(--space-2) 0;color:var(--color-heading)}.card-meta{font-size:14px;color:var(--color-text-light);margin-bottom:var(--space-2)}.card-description{margin:0;font-size:.95rem;color:var(--color-text)}.publication{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border-light);width:100%}.publication:last-child{border-bottom:none;margin-bottom:0}.publication-number{display:inline-block;font-size:14px;font-weight:400;color:var(--color-text-muted);margin-right:var(--space-2);min-width:1.5rem}.publication-title{font-size:1rem;font-weight:500;margin:0 0 var(--space-1) 0;color:var(--color-heading);line-height:1.4}.publication-authors{font-size:15px;color:var(--color-text);margin-bottom:var(--space-1)}.publication-venue{font-size:14px;color:var(--color-text-light);font-style:italic;margin-bottom:var(--space-2);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.publication-links{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-2)}.publication-links a{font-size:14px;font-weight:400;color:var(--color-link);padding:.15em .55em;border:1px solid var(--color-link);border-radius:var(--radius-sm);transition:background .15s,color .15s}.publication-links a:hover{background:var(--color-link);color:#fff;text-decoration:none}.project-card{background:transparent;border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:var(--space-5) 0;margin-bottom:0;width:100%;min-width:0;transition:border-color .15s ease,box-shadow .15s ease}.project-card:hover{border-color:var(--color-border);box-shadow:none}.project-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap}.project-card-title{flex:1 1 26rem;min-width:0;font-size:1.0625rem;font-weight:500;margin:0;color:var(--color-heading);overflow-wrap:anywhere}.project-card-venue{font-size:14px;font-weight:400;color:var(--color-link);white-space:normal;text-align:right;overflow-wrap:anywhere}.project-card-description{font-size:15.5px;color:var(--color-text);margin-bottom:var(--space-2);line-height:1.6;overflow-wrap:anywhere}.project-card-results{padding-left:var(--space-3);border-left:1px solid var(--color-border-strong);font-size:14.5px;color:var(--color-text-light);font-style:normal;line-height:1.55;margin-bottom:var(--space-2);overflow-wrap:anywhere}.project-tags{display:flex;gap:0;flex-wrap:wrap}.project-tags .tag{position:relative;padding:0;border:0;background:transparent;color:var(--color-text-muted);font-size:12.5px}.project-tags .tag+.tag{margin-left:var(--space-3)}.project-tags .tag+.tag:before{content:"·";position:absolute;left:calc(-1 * var(--space-2));color:var(--color-border-strong)}.timeline{padding-left:0;border-top:1px solid var(--color-border)}.timeline-item{margin-bottom:0;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border-light)}.timeline-item:last-child{margin-bottom:0}.timeline-dot{display:none}.timeline-period{font-size:14px;font-weight:400;color:var(--color-text-muted);letter-spacing:.03em;margin-bottom:var(--space-1)}.timeline-title{font-size:1rem;font-weight:500;color:var(--color-heading);margin:0 0 var(--space-1) 0}.timeline-org{font-size:15px;color:var(--color-link);font-weight:400;margin-bottom:var(--space-2)}.timeline-body{font-size:1rem;color:var(--color-text)}.timeline-body ul{margin:var(--space-2) 0 0 0;padding-left:var(--space-5)}.timeline-body li{margin-bottom:var(--space-2);line-height:1.6}.news-list{list-style:none;padding:0;margin:0}.news-item{display:flex;gap:var(--space-3);margin-bottom:0;padding:var(--space-3) 0;border:0;border-bottom:1px solid var(--color-border-light);border-radius:0;background:transparent;box-shadow:none}.news-item:last-child{margin-bottom:0}.news-date{flex-shrink:0;width:82px;font-size:14px;font-weight:400;color:var(--color-text-muted);padding-top:.15rem;letter-spacing:.02em}.news-content{flex:1;font-size:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0;margin:var(--space-8) 0 var(--space-10);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.stat-item{text-align:center;padding:var(--space-4);background:transparent;border:0;border-right:1px solid var(--color-border);border-radius:0;box-shadow:none}.stat-item:last-child{border-right:0}.stat-number{font-family:var(--font-serif);font-size:1.65rem;font-weight:400;color:var(--color-accent);line-height:1;margin-bottom:var(--space-1)}.stat-label{font-size:.78rem;font-weight:400;letter-spacing:.03em;color:var(--color-text-light)}.awards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-4)}.award-card{background:transparent;border:0;border-top:1px solid var(--color-border);border-radius:0;padding:var(--space-3) 0;display:flex;align-items:flex-start;gap:var(--space-3);width:100%;transition:border-color .15s ease}.award-card:hover{border-color:var(--color-border)}.award-card.featured{background:transparent;border-color:var(--color-border)}.award-content{flex:1}.award-title{font-size:.95rem;font-weight:400;margin:0 0 var(--space-1) 0;color:var(--color-heading)}.award-detail{font-size:.82rem;color:var(--color-text-light);margin:0}.skills-section{display:grid;gap:var(--space-4)}.skill-group{display:flex;flex-direction:column;gap:var(--space-2)}.skill-group-label{font-size:14px;font-weight:425;letter-spacing:.01em;color:var(--color-text-muted);margin-bottom:var(--space-1)}.skill-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);font-size:.875rem;font-weight:400;text-decoration:none;transition:background .15s ease,border-color .15s ease;box-shadow:none;letter-spacing:.01em}.btn:hover{background:var(--color-link-hover);color:#fff;text-decoration:none}.btn-outline{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);box-shadow:none}.btn-outline:hover{background:var(--color-accent);color:#fff}.btn-sm{padding:var(--space-1) var(--space-3);font-size:.8rem}.contact-info{display:grid;gap:0;margin-top:var(--space-6);border-top:1px solid var(--color-border)}.contact-item h3{margin-top:0;margin-bottom:var(--space-2);font-size:1.05rem}.contact-item p{margin:0 0 var(--space-1) 0}.contact-note{font-size:14px;color:var(--color-text-light)}.profile-links{list-style:none;padding:0;margin:0;display:flex;gap:var(--space-4);flex-wrap:wrap}.profile-links li{margin:0}@media(max-width:600px){.container,.container-wide{padding:0 var(--space-4)}.news-item{flex-direction:column;gap:var(--space-1)}.news-date{width:auto}.section{margin-bottom:var(--space-6)}.awards-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--color-border)}.contact-info{grid-template-columns:1fr}}.skip-link[data-astro-cid-37fxchfa]{position:fixed;top:var(--space-3);left:var(--space-3);z-index:1000;padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-heading);font-weight:400;transform:translateY(-160%)}.skip-link[data-astro-cid-37fxchfa]:focus{transform:translateY(0)}main[data-astro-cid-37fxchfa]{min-height:calc(100vh - 200px);padding-top:var(--space-12);padding-bottom:var(--space-16)}.academic-shell[data-astro-cid-37fxchfa]{display:grid;grid-template-columns:180px minmax(0,760px);gap:56px;align-items:start;justify-content:center}.academic-content[data-astro-cid-37fxchfa]{width:100%;min-width:0;max-width:760px}@media(max-width:900px){main[data-astro-cid-37fxchfa]{padding-top:var(--space-8)}.academic-shell[data-astro-cid-37fxchfa]{grid-template-columns:1fr;gap:var(--space-10)}.academic-content[data-astro-cid-37fxchfa]{max-width:none}}
