*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:#fff;color:#30343a;font-family:Arial,Helvetica,sans-serif;line-height:1.75}a{color:#284f68;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:2px solid #284f68;outline-offset:6px}.wrap{max-width:1020px;margin:auto;padding:0 40px}header{display:flex;justify-content:space-between;align-items:center;padding:36px 0 24px;border-bottom:1px solid #e9e9e9}.name{font-family:Georgia,serif;font-size:25px;color:#222}nav{display:flex;gap:28px;font-size:15px}nav a{color:#666}nav a[aria-current]{color:#222;text-decoration:underline;text-underline-offset:8px}main{padding:66px 0 80px;min-height:65vh}.bio{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}.portrait{width:240px;height:340px;object-fit:cover;object-position:center 27%}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#222;line-height:1.3}h1{font-size:38px;margin:0 0 12px}h2{font-size:25px;margin:45px 0 25px}h2:first-of-type{margin-top:36px}h3{font-size:21px;margin:0 0 7px}.role{line-height:1.6;font-size:16px;color:#666;margin:0 0 29px}p{margin:0 0 20px}.links{display:flex;gap:22px;flex-wrap:wrap;margin-top:28px;font-size:15px}.content{max-width:780px}.paper{margin-bottom:29px}.meta{font-size:15px;color:#666;margin:0}.course{margin:0 0 28px}.course .meta{margin-top:5px}.dates{font-size:14px;color:#777;margin:4px 0}.note{font-size:14px;color:#777;margin-top:34px}footer{padding:20px 0 30px;border-top:1px solid #e9e9e9;font-size:13px;color:#777}footer a{color:#777}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:white} @media(max-width:700px){.wrap{padding:0 24px}header{align-items:flex-start;flex-direction:column;gap:18px;padding-top:26px}nav{gap:24px}main{padding:38px 0 50px}.bio{grid-template-columns:1fr;gap:30px}.portrait{width:180px;height:250px}h1{font-size:32px}h2{font-size:24px}body{font-size:16px}}
/* Clear section hierarchy and native-resolution portrait */
.portrait{height:auto;object-fit:contain;object-position:initial;display:block;image-rendering:auto}
.content h2{font-family:Arial,Helvetica,sans-serif;font-size:14px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#284f68;border-bottom:1px solid #dce3e7;padding-bottom:12px;margin:42px 0 26px}
.content h3{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:400;line-height:1.45;color:#222}
.paper{margin-bottom:34px}.paper .meta{margin-top:6px}.paper-links{display:flex;gap:20px;font-size:14px;margin-top:12px}.paper-links a{text-decoration:underline;text-underline-offset:4px}.meta a{color:#526877;text-decoration:underline;text-decoration-color:#bcc9d0;text-underline-offset:3px}
.course{display:grid;grid-template-columns:1fr auto;column-gap:24px}.course h3{grid-column:1}.course .dates{grid-column:2;grid-row:1;align-self:center;margin:0;font-size:15px}.course .meta{grid-column:1 / -1}
@media(max-width:700px){.portrait{height:auto}.course{display:block}.course .dates{margin-top:6px}}

.paper h3,.course h3{font-weight:700}
.paper-links a{color:#994b4b}

/* Center the biography on mobile; keep desktop alignment. */
@media (max-width:700px){
  body:has(.bio) header{align-items:center;text-align:center}
  body:has(.bio) nav{justify-content:center;flex-wrap:wrap}
  .bio{text-align:center}
  .bio .portrait{margin-inline:auto}
  .bio .links{justify-content:center}
  body:has(.bio) footer{text-align:center}
}

/* Research typography and publication links. */
.content .paper h3{font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:700;line-height:1.45;color:#41464d}
.paper-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.paper-heading h3{flex:1;min-width:0}
.paper-heading .paper-links{flex-shrink:0;gap:12px;margin-top:0}
.paper-links a{color:#284f68;font-weight:700;text-decoration:none;white-space:nowrap}
.paper-links a:hover{text-decoration:underline}
.journal-name{color:#994b4b;font-weight:700}
@media(max-width:700px){
  .paper-heading{display:block}
  .paper-heading .paper-links{margin:8px 0 12px;flex-wrap:wrap}
}

/* Unified titles and a clearer blue for content links. */
.content .paper h3,.content .course h3{font-family:Arial,Helvetica,sans-serif;font-size:19px;font-weight:700;line-height:1.45;color:#41464d}
a,.paper-links a,.meta a{color:#2563a6}

/* Compact entries and consistent spacing between sections. */
.content .paper h3,.content .course h3{margin-bottom:3px}
.paper .meta,.course .meta{margin-top:2px;line-height:1.55}
.paper .meta + .meta{margin-top:2px}
.paper,.course{margin-bottom:28px}
.content article + h2{margin-top:54px}
@media(max-width:700px){
  .course .dates{margin-top:2px;line-height:1.55}
  .paper-heading .paper-links{margin:4px 0 5px}
}
