*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#222;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.container{width:min(760px,calc(100% - 40px));margin:0 auto;padding:70px 0 80px}
.site-header{margin-bottom:46px}
.back{display:inline-block;margin-bottom:34px;color:#999;text-decoration:none;font-size:14px}
.back:hover{color:#222}
.hero{text-align:center}
.portrait{display:block;width:300px;height:375px;object-fit:cover;margin:0 auto 38px;border-radius:0}
h1{margin:0 0 28px;font-size:30px;line-height:1.25;font-weight:500;letter-spacing:-.02em}
.lead{margin:0 auto 22px;max-width:680px;font-size:18px;line-height:1.75;color:#666}
.lead a,.official{color:#2867d9;text-decoration:none}
.lead a:hover,.official:hover{text-decoration:underline}
.divider{height:1px;border:0;background:#eee;margin:40px 0}
.nav{display:flex;flex-wrap:wrap;gap:18px 30px;justify-content:center}
.nav a{text-decoration:none;color:#555;font-size:15px}
.nav a:hover{color:#000}
.label{margin:0 0 17px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#aaa}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
.contact a{padding:13px 0;border-bottom:1px solid #eee;text-decoration:none;color:#555;font-size:15px}
.contact a:hover{color:#000}
.page-title{font-size:30px;font-weight:500;line-height:1.3;margin:0 0 12px}
.page-intro{margin:0 0 45px;color:#777;font-size:16px;line-height:1.7}
.item{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #eee}
.item:last-child{border-bottom:0;margin-bottom:0}
.item-title{margin:0 0 7px;font-size:19px;line-height:1.45;font-weight:500;color:#222}
.author,.years{margin:0 0 13px;color:#999;font-size:13px}
.summary,.degree,.text{margin:0;color:#666;font-size:15px;line-height:1.75}
.school{margin:0 0 7px;font-size:19px;line-height:1.45;font-weight:500}
.official{display:inline-block;margin-top:12px;font-size:13px}
.achievement-empty{padding:30px 0;color:#888;font-size:15px;line-height:1.75}
footer{margin-top:55px;padding-top:25px;border-top:1px solid #eee;color:#aaa;font-size:13px;text-align:center}
@media(max-width:600px){.container{width:calc(100% - 28px);padding:45px 0 55px}.portrait{width:min(100%,300px);height:auto;aspect-ratio:2/3;margin-bottom:32px}h1{font-size:27px}.lead{font-size:17px;line-height:1.7}.contact{grid-template-columns:1fr}.page-title{font-size:27px}.nav{justify-content:flex-start}}
