:root{
  --ink:#1f2328; --muted:#5b6470; --line:#e4e2dc; --bg:#fdfcf9; --card:#f5f3ee;
  --accent:#2f3e75; --accent-soft:#e8ebf5;
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#e8e6e1; --muted:#a3a9b1; --line:#2e3238; --bg:#15171a; --card:#1d2024;
         --accent:#9fb0ea; --accent-soft:#23293d; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);
  font:17px/1.65 "Source Sans 3",system-ui,sans-serif}
.wrap{max-width:820px;margin:0 auto;padding:0 20px}
h1,h2,h3,.brand{font-family:"EB Garamond",Georgia,serif;font-weight:500;line-height:1.2}
h1{font-size:2.6rem;margin:0 0 .25rem}
h2{font-size:1.75rem;margin:0 0 1rem;padding-bottom:.4rem;border-bottom:1px solid var(--line)}
h3{font-size:1.3rem;margin:0 0 .5rem}
h3.sub{margin-top:2rem}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.site-header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;justify-content:space-between;align-items:center;height:60px}
.brand{font-size:1.35rem;color:var(--ink)}
.nav nav a{margin-left:1.4rem;color:var(--muted);font-size:.95rem}
.nav nav a:hover{color:var(--accent)}

section{padding:3rem 0}
.about{display:grid;grid-template-columns:200px 1fr;gap:2.5rem;align-items:start;padding-top:3.5rem}
.portrait{width:200px;height:240px;object-fit:cover;border-radius:6px;border:1px solid var(--line)}
.role{color:var(--muted);margin:0 0 1rem}
.links{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:.75rem}

.btn{display:inline-block;padding:.5rem 1rem;border-radius:5px;background:var(--accent);
  color:var(--bg);font-weight:600;font-size:.95rem}
.btn:hover{text-decoration:none;opacity:.9}
.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}

.pubs{padding-left:1.25rem}
.pubs li{margin-bottom:1.25rem}
.pubs .title{font-weight:600}
.pubs .authors,.pubs .venue{color:var(--muted)}
.pub-links a{margin-left:.6rem;font-size:.9rem;padding:.05rem .45rem;border:1px solid var(--line);border-radius:4px}

.feature{background:var(--card);border-left:3px solid var(--accent);padding:1.5rem 1.75rem;border-radius:4px}
.feature p{margin-top:0}
.plain{padding-left:1.25rem}

.footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;padding-top:1rem;padding-bottom:2rem}

@media (max-width:640px){
  .about{grid-template-columns:1fr;gap:1.5rem}
  .portrait{width:160px;height:192px}
  h1{font-size:2.1rem}
  .nav nav a{margin-left:.9rem}
  .brand{font-size:1.15rem}
}

.abstract{margin-top:.5rem}
.abstract summary{cursor:pointer;color:var(--accent);font-size:.9rem}
.abstract p{font-size:.95rem;color:var(--muted);margin:.5rem 0 0;padding-left:.9rem;border-left:2px solid var(--line)}

.muted-note{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin:1rem 0 .25rem}
