:root { color-scheme: light; --text:#242424; --muted:#676767; --line:#e8e8e8; --link:#355d57; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--text); font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; font-size:15px; line-height:1.75; }
a { color:var(--link); text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:3px; }
.page { max-width:860px; padding:0 34px; margin:0 auto; }
.site-header { padding:32px 0 25px; border-bottom:1px solid var(--line); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.site-name { color:var(--text); font-weight:650; white-space:nowrap; font-size:15px; }
nav { display:flex; flex-wrap:wrap; gap:19px; font-size:13px; }
nav a { color:#555; }
.intro { display:grid; grid-template-columns:minmax(0,1fr) 160px; align-items:center; gap:40px; padding:55px 0 43px; }
h1 { font-size:31px; line-height:1.2; font-weight:650; letter-spacing:-.7px; margin:0 0 6px; }
.degree { color:var(--muted); font-weight:400; }
.role { color:var(--muted); margin:0 0 21px; font-size:14px; }
.intro-text > p:not(.role) { margin:0 0 13px; }
.quick-links { display:flex; align-items:center; gap:12px; font-size:13px; padding-top:7px; }
.quick-links span { color:#bbb; }
.portrait { width:160px; height:190px; background:#f5f5f5; overflow:hidden; border-radius:3px; position:relative; }
.portrait img { width:100%; height:100%; object-fit:cover; display:block; position:relative; z-index:1; }
.portrait-hint { display:none; position:absolute; inset:0; align-items:center; justify-content:center; text-align:center; color:#999; line-height:1.5; font-size:13px; }
.portrait.missing .portrait-hint { display:flex; flex-direction:column; }
.portrait-hint small { font-size:11px; }
.content-section { border-top:1px solid var(--line); padding:28px 0 31px; scroll-margin-top:25px; }
h2 { margin:0 0 14px; font-size:17px; line-height:1.35; font-weight:650; letter-spacing:-.2px; }
p { margin:0 0 12px; }
p:last-child { margin-bottom:0; }
.item { margin-bottom:19px; }
.item:last-child { margin-bottom:0; }
.item-heading { display:flex; justify-content:space-between; gap:15px; align-items:baseline; margin-bottom:4px; }
.item-heading strong,.simple-row strong { font-weight:600; }
.item-heading span,.simple-row span { color:var(--muted); font-size:13px; text-align:right; }
.item p { color:#444; font-size:14px; }
.simple-row { display:flex; justify-content:space-between; gap:18px; padding:7px 0; font-size:14px; }
.muted { color:var(--muted); font-size:14px; }
footer { border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:20px; padding:24px 0 42px; color:#888; font-size:12px; }
footer a { color:#777; }
@media(max-width:650px) { .page { padding:0 21px; } .site-header { align-items:flex-start; flex-direction:column; gap:10px; padding:23px 0 18px; } nav { gap:13px; } .intro { grid-template-columns:minmax(0,1fr) 105px; gap:18px; padding:35px 0; align-items:start; } .portrait { width:105px; height:132px; } h1 { font-size:25px; } .role { font-size:12px; } .item-heading,.simple-row { display:block; } .item-heading span,.simple-row span { display:block; text-align:left; } }
@media(max-width:400px) { .intro { grid-template-columns:1fr; } .portrait { grid-row:1; width:112px; height:135px; } }
