:root { --maxw: 900px; --pad: 16px; --radius: 14px; }
* { box-sizing: border-box; }
body { font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; margin:0; color:#111; line-height:1.55; }
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--pad); }
header { padding: 32px 0 8px; }
.header-content { width: 100%; }
.profile-section { display: flex; gap: 24px; align-items: center; }
.profile-photo { 
  width: 120px; 
  height: 120px; 
  border-radius: 50%; 
  object-fit: cover; 
  border: 3px solid #eee; 
  flex-shrink: 0;
}
.name-and-links { flex: 1; }
h1 { margin: 0 0 8px 0; font-size: 2rem; }
.links a { text-decoration: none; }
.links .sep { color:#888; margin: 0 8px; }
h2 { margin: 28px 0 10px; padding-bottom: 6px; border-bottom: 2px solid #eee; }
section { margin-bottom: 16px; }
ul,ol { padding-left: 20px; }
.pubs { padding-left: 22px; }
.sublist { display: grid; gap: 12px; }
.card { border: 1px solid #e9e9e9; border-radius: var(--radius); padding: 12px; }
.row { display:flex; gap: 12px; }
.row .left { flex: 1; }
.row .right { color:#444; min-width: 180px; text-align: right; }
.subtle { color:#555; font-size: 0.95rem; }
footer { color:#666; font-size: 0.9rem; padding: 28px 0 40px; }
a { color: #0a58ca; }
a:hover { text-decoration: underline; }
.icon { font-variant: all-small-caps; letter-spacing: .03em; border:1px solid #ddd; padding: 1px 6px; border-radius: 999px; margin-right: 6px; font-size: .8rem; }
@media (max-width: 700px){
  .row { flex-direction: column; }
  .row .right { text-align: left; min-width: 0; }
  .profile-section { flex-direction: column; text-align: center; gap: 16px; }
  .profile-photo { width: 100px; height: 100px; }
}
