
:root{
  --ink:#121212;--muted:#686868;--orange:#e87500;--orange-dark:#b95c00;
  --paper:#fff;--soft:#faf8f4;--line:#e9e5df;--max:1160px
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.62}
a{color:var(--orange-dark);text-decoration:none}a:hover{text-decoration:underline}
header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav{max-width:var(--max);margin:auto;height:68px;padding:0 26px;display:flex;align-items:center;gap:26px}
.brand{margin-right:auto;font-weight:850;color:#111;letter-spacing:-.02em}.brand b{color:var(--orange)}
nav a:not(.brand){font-size:14px;color:#252525;font-weight:650}
nav a.active{color:var(--orange-dark)}
.wrap{max-width:var(--max);margin:auto;padding:58px 26px 80px;display:grid;grid-template-columns:245px minmax(0,1fr);gap:66px}
aside{position:sticky;top:102px;align-self:start}
.portrait{width:180px;height:180px;border-radius:50%;object-fit:cover;border:5px solid white;box-shadow:0 0 0 2px var(--orange),0 8px 24px rgba(0,0,0,.08)}
.name{font-size:24px;line-height:1.15;margin:23px 0 8px;letter-spacing:-.02em}.role,.small{font-size:14px;color:var(--muted)}
.social{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.pill{font-size:12px;color:#333;border:1px solid #ddd;border-radius:999px;padding:5px 9px}.pill:hover{border-color:var(--orange);text-decoration:none}
.eyebrow{font-size:12px;color:var(--orange-dark);font-weight:850;text-transform:uppercase;letter-spacing:.13em}
h1.hero{font-size:46px;line-height:1.08;letter-spacing:-.045em;margin:7px 0 20px;max-width:800px}
.lead{font-size:18px;color:#383838;max-width:800px}.accent{border-left:4px solid var(--orange);padding-left:18px}
section{margin-top:55px}h2{font-size:27px;letter-spacing:-.025em;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:20px}
h3{margin-bottom:6px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{background:var(--soft);border:1px solid var(--line);padding:5px 9px;border-radius:7px;font-size:13px}
.pub,.entry{padding:17px 0;border-bottom:1px solid #eee}.venue{font-size:12px;color:var(--orange-dark);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.title{font-size:17px;font-weight:760}.authors,.meta{font-size:14px;color:var(--muted);margin-top:3px}.links{font-size:13px;margin-top:5px}.links a{margin-right:12px;font-weight:650}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.card{display:block;border:1px solid #e4e0da;border-radius:12px;padding:19px;color:#111;background:#fff;transition:.15s}.card:hover{border-color:#e7a86a;box-shadow:0 7px 24px rgba(0,0,0,.055);transform:translateY(-1px);text-decoration:none}.card .kicker{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--orange-dark);font-weight:850}.card h3{font-size:16px;line-height:1.35;margin:8px 0}.card p{font-size:13px;color:var(--muted);margin:0}
.notice{background:var(--soft);border-left:3px solid var(--orange);padding:14px 17px;border-radius:5px;font-size:14px}
.page-title{font-size:40px;line-height:1.1;letter-spacing:-.04em;margin:5px 0 12px}
.year{font-size:22px;margin-top:36px;color:#333}
.student{padding:15px 0;border-bottom:1px solid #eee}.student b{font-size:16px}
footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:25px 26px 40px;color:#777;font-size:13px}
@media(max-width:820px){nav a:not(.brand){display:none}.wrap{grid-template-columns:1fr;gap:38px;padding-top:38px}aside{position:static}.portrait{width:150px;height:150px}h1.hero,.page-title{font-size:35px}.grid{grid-template-columns:1fr}}
