:root{
  --text:#111111;
  --muted:#666666;
  --bg:#ffffff;
  --link:#1a0dab;
  --border:#ddd;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Georgia, 'Times New Roman', Times, serif;
  font-size:17px;
  line-height:1.6;
}
a{ color:var(--link); text-decoration:none; }
a:hover{ text-decoration:underline; }

header.site{ }
.nav-inner{
  max-width:900px; margin:0 auto; padding:22px 24px 18px;
  display:flex; justify-content:flex-end; align-items:baseline; flex-wrap:wrap; gap:8px;
  border-bottom:1px solid var(--border);
}
.nav-name{ font-weight:bold; font-size:1.15rem; color:var(--text); }
.nav-name:hover{ text-decoration:none; }
nav.links a{ color:var(--text); font-size:0.92rem; margin-left:18px; }
nav.links a:first-child{ margin-left:0; }
nav.links a.current{ color:var(--link); }

.wrap{ max-width:900px; margin:0 auto; padding:40px 24px 90px; }

h1{ font-size:1.7rem; font-weight:bold; margin:0 0 22px; }

.profile-grid{ display:flex; gap:36px; align-items:flex-start; }
.sidebar{ width:270px; flex:none; }
.sidebar .photo{
  width:250px; height:280px; border-radius:2px;
  background:#eee; object-fit:cover; display:block; margin:0 0 18px;
}
.sidebar-links{ font-size:0.85rem; }
.affiliation{ margin:0 0 16px; }
.affiliation p{ margin:0 0 2px; font-size:0.85rem; line-height:1.35; }
.affiliation p:last-child{ margin-bottom:0; }

.main-col{ flex:1; min-width:0; }

.bio{ overflow:auto; }
.bio p{ margin:0 0 14px; text-align: justify; }

.meta{ color:var(--muted); font-size:0.9rem; margin:0 0 26px; }

h2{ font-size:1.05rem; font-weight:bold; margin:38px 0 14px; clear:both; }
h2.first{ margin-top:8px; }

.page-title{ font-size:1.5rem; font-weight:bold; margin:0 0 8px; }
.page-sub{ color:var(--muted); font-size:0.98rem; margin:0 0 34px; }

.item{ margin:0 0 16px; }
.item .meta{ color:var(--muted); font-size:0.95rem; margin:0 0 4px; }
.item .meta:last-child{ margin-bottom:0; }

.contact-block p{ margin:0 0 10px; }
.contact-block .k{ color:var(--muted); display:inline-block; width:200px; }

.updated{ color:var(--muted); font-size:0.85rem; margin-top:50px; }

@media (max-width:560px){
  .profile-grid{ flex-direction:column; }
  .sidebar{ width:100%; }
  .sidebar .photo{ width:150px; height:175px; }
  .nav-inner{ flex-direction:column; align-items:flex-start; }
}
