:root{--ink:#272b2d;--muted:#62696c;--accent:#305f69;--line:#e2e5e4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fdfdfc;color:var(--ink);font:18px/1.8 Arial,sans-serif}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#152f36}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:20px;top:-80px;background:white;padding:8px}.skip:focus{top:10px}.site-header{text-align:center;padding:49px 24px 0}.brand{font:500 24px/1.4 Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--ink);text-decoration:none}.subtitle{font:13px/1.7 Arial,sans-serif;color:var(--muted);margin:12px 0 0;letter-spacing:.4px}nav{display:flex;justify-content:center;gap:42px;margin-top:36px}nav a{font:12px/2 Arial,sans-serif;letter-spacing:1.6px;text-transform:uppercase;text-decoration:none;color:var(--muted);padding-bottom:8px;border-bottom:1px solid transparent}nav a[aria-current]{color:var(--accent);border-color:var(--accent)}main{max-width:1080px;margin:72px auto 90px;padding:0 36px}.home-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:64px}.portrait{display:block;width:100%;height:420px;object-fit:cover;object-position:center 28%}.profile-details{font:14px/1.8 Arial,sans-serif;color:var(--muted);padding-top:23px}.profile-details p{margin:0 0 14px}.profile-details a{font-size:14px}.bio p{margin:0 0 24px}.bio .lead{font-size:22px;line-height:1.65;margin-top:-7px;color:#263f45}.eyebrow{font:11px/1.8 Arial,sans-serif;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted)}h1{font-weight:normal;font-size:36px;line-height:1.3;margin:0 0 30px}h2{font-size:25px;font-weight:normal;margin:45px 0 20px}h3{font-size:21px;font-weight:normal;line-height:1.5;margin:0 0 8px}.text-page{max-width:850px}.intro{max-width:730px}.interests{font:14px/1.8 Arial,sans-serif;color:var(--muted);margin:22px 0 38px}.paper{padding:23px 0;border-top:1px solid var(--line)}.paper p{margin:0;color:var(--muted);font-size:16px}.paper .note{font-size:14px;margin-top:8px}.paper a{text-decoration:none}.paper a:hover{text-decoration:underline}.course{display:grid;grid-template-columns:100px 1fr;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.course time{font:13px/1.7 Arial,sans-serif;color:var(--muted)}.course p{font-size:16px;color:var(--muted);margin:0}.download{display:inline-block;border:1px solid var(--accent);padding:10px 23px;text-decoration:none;font:14px/1.8 Arial,sans-serif}.download:hover{background:#edf2f2}.cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.cv-grid p{font-size:16px}footer{max-width:1008px;margin:0 auto;padding:23px 0 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:11px/1.8 Arial,sans-serif;color:var(--muted)}footer a{color:var(--muted)}@media(max-width:800px){main{margin-top:48px;padding:0 25px}.home-layout{grid-template-columns:240px 1fr;gap:32px}.portrait{height:330px}.bio .lead{font-size:20px}body{font-size:17px}footer{margin:0 25px}}@media(max-width:600px){.site-header{padding-top:32px}.brand{font-size:20px;letter-spacing:2px}.subtitle{font-size:12px}nav{gap:27px;margin-top:25px}.home-layout{display:flex;flex-direction:column;gap:32px}.portrait{width:100%;height:auto;max-height:440px;object-fit:cover;object-position:center 28%;aspect-ratio:4/5}.profile-details{padding-top:18px}.bio .lead{margin-top:0}.cv-grid{grid-template-columns:1fr;gap:0}.course{grid-template-columns:75px 1fr;gap:15px}footer{flex-direction:column;gap:8px}h1{font-size:30px}}

.bio .lead{font-size:inherit;line-height:inherit;color:inherit}.research-heading{font-size:22px;line-height:1.5;margin:0 0 24px}.teaching-table{width:100%;border-collapse:collapse;text-align:left}.teaching-table th{font-size:13px;font-weight:normal;color:var(--muted);padding:0 0 14px}.teaching-table td{border-top:1px solid var(--line);padding:23px 0;vertical-align:top}.teaching-table td:first-child{width:110px;font-size:14px;color:var(--muted);padding-right:20px}.teaching-table h2{font-size:18px;line-height:1.5;margin:0 0 8px}.teaching-table p{font-size:15px;color:var(--muted);margin:0}@media(max-width:600px){.teaching-table td:first-child{width:78px;padding-right:12px}.teaching-table h2{font-size:17px}}
