@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-Regular.woff2)format('woff2')}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-Medium.woff2)format('woff2')}@font-face{font-family:inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-SemiBold.woff2)format('woff2')}@font-face{font-family:inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter-Bold.woff2)format('woff2')}@font-face{font-family:lora;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/Lora-Variable.ttf)format('truetype')}@font-face{font-family:lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(/fonts/Lora-Italic-Variable.ttf)format('truetype')}:root{--color-text:#1a1a1a;--color-bg:#fff;--color-link:#0046b5;--color-link-visited:#5a3e8e;--color-link-hover:#c03;--color-border:#e0e0e0;--color-muted:#606060;--color-award:#b00;--color-sidebar-bg:#f8f8f8;--max-width:960px;--font-body:'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:'Lora', Georgia, "Times New Roman", serif}*,*::before,*::after{box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;padding:0;color:var(--color-text);background:var(--color-bg);font-family:var(--font-body);font-size:.95rem;line-height:1.65}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--color-text);color:var(--color-bg);z-index:100;text-decoration:none}.skip-link:focus{top:0}main{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1.5rem 2rem}nav{padding:.85rem 1.5rem;border-bottom:1px solid var(--color-border)}nav .nav-inner{max-width:var(--max-width);margin:0 auto;display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem}nav .site-title{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;margin-right:auto}nav .site-title a{color:var(--color-text);text-decoration:none;border-bottom:none}nav .nav-links{display:flex;flex-wrap:wrap;gap:.25rem 1rem;font-size:.85rem;letter-spacing:.01em}nav .nav-links a{color:var(--color-muted);text-decoration:none;border-bottom:none;transition:color .15s ease}nav .nav-links a:hover{color:var(--color-text)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.3;font-weight:600}h1{font-size:1.8rem;margin-top:0;margin-bottom:1rem}h2{font-size:1.25rem;margin-top:2.25rem;margin-bottom:.75rem;letter-spacing:.01em}h3{font-size:1.05rem;margin-top:1.5rem}p{margin-top:0;margin-bottom:.75rem}a{color:var(--color-link);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s ease}a:visited{color:var(--color-link-visited)}a:hover{border-bottom-color:initial}a:focus{outline:2px solid var(--color-link);outline-offset:2px}.profile-header{display:flex;align-items:flex-start;gap:1.5rem}.profile-side{flex-shrink:0;display:flex;flex-direction:column;align-items:center}.profile-header .profile-photo{width:170px;height:auto;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.profile-contact{list-style:none;padding:0;margin:.85rem 0 0;width:170px;font-size:.85rem;line-height:1.55;color:var(--color-muted);text-align:left}.profile-contact li{margin-bottom:.15rem}.profile-text{flex:1}ul{padding-left:1.5rem}li{margin-bottom:.25rem}.pub-list{list-style:none;padding-left:0}.pub-list li{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--color-border)}.pub-list li:last-child{border-bottom:none}.pub-title{font-style:italic}.pub-award{font-weight:600;color:var(--color-award)}.pub-links{font-size:.9em}.news-list{list-style:none;padding-left:0}.news-list li{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;margin-bottom:.4rem;font-size:.95rem;line-height:1.5}.news-date{color:var(--color-muted);font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:.05rem}.news-archive-list{list-style:none;padding-left:0}.news-archive-list li{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.news-archive-list li:last-child{border-bottom:none}.student-list{list-style:none;padding-left:0}.student-list li{margin-bottom:.3rem}.student-grid{list-style:none;padding-left:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem 2rem}.student-card{display:flex;align-items:baseline;gap:.5rem;margin-bottom:0}.student-name{font-weight:500}.student-degree{color:var(--color-muted);font-size:.85rem}@media(max-width:480px){.student-grid{grid-template-columns:1fr}}.teaching-list{list-style:none;padding-left:0}.teaching-list li{margin-bottom:.3rem}footer{max-width:var(--max-width);margin:2rem auto 1rem;padding:1rem 1.5rem;text-align:center;font-size:.85rem;color:var(--color-muted);border-top:1px solid var(--color-border)}footer a{color:var(--color-muted)}.post-meta{color:var(--color-muted);font-size:.9rem;margin-bottom:1.5rem}@media(max-width:768px){main{padding:1rem 1rem 2rem}.profile-header{flex-direction:row;gap:1rem}.profile-header .profile-photo{width:100px}.profile-contact{width:100px;font-size:.78rem;margin-top:.6rem}.profile-text{font-size:.9rem}h1{font-size:1.5rem}h2{font-size:1.1rem;margin-top:1.5rem}nav .nav-inner{justify-content:center}nav .site-title{margin-right:0;width:100%;text-align:center}nav .nav-links{justify-content:center}}@media(max-width:480px){.profile-header{flex-direction:column;align-items:center}.profile-header .profile-photo{width:120px}.profile-contact{width:120px;font-size:.85rem}.profile-text{text-align:left}}