:root{--ink:#161616;--muted:#6b6b6b;--orange:#bf5700;--bg:#fff;--panel:#eeeeec;--link:#9a4100}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:1.0625rem/1.65 "Figtree",system-ui,sans-serif}
.layout{max-width:76rem;margin:0 auto;display:grid;grid-template-columns:1fr 3fr;min-height:100vh}
aside{position:sticky;top:0;align-self:start;height:100vh;padding:3rem 2rem 2rem 1.5rem;border-right:8px solid var(--orange);display:flex;flex-direction:column;gap:1.75rem}
.name{font-size:1.9rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--ink);text-decoration:none}
.photo{width:100%;aspect-ratio:1/1;background:var(--panel) url(assets/photo.jpg) center/cover no-repeat}
nav,.contact{display:flex;flex-direction:column;gap:.35rem}
nav a{color:var(--muted);text-decoration:none;font-weight:500}
nav a:hover{color:var(--ink)}
nav a[aria-current]{color:var(--ink);font-weight:700}
.contact{margin-top:auto;font-size:.95rem}
.contact a{color:var(--muted);text-decoration:none}
.contact a:hover{color:var(--orange)}
main{padding:3.25rem 3rem 4rem 3.5rem;max-width:50rem}
h1{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 1.2rem}
h2{font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:3.5rem 0 1.3rem}
h2:first-child{margin-top:0}
h3{font-size:1.05rem;font-weight:600;margin:1.8rem 0 .5rem}
p{margin:0 0 1rem;max-width:42rem}
a{color:var(--link);text-decoration-color:var(--link);text-decoration-thickness:1.5px;text-underline-offset:3px}
a:hover{color:var(--orange)}
ul.pubs,ul.plain{list-style:none;padding:0;margin:0}
.pubs li{margin:0 0 1.4rem}
.pubs .t{font-weight:600}
.pubs .note{color:var(--muted);font-size:.97rem;display:block}
.item{display:flex;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.when{color:var(--muted);white-space:nowrap}
footer{color:var(--muted);font-size:.9rem;margin-top:4rem}
a:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
@media(max-width:800px){
.layout{grid-template-columns:1fr}
aside{position:static;height:auto;border-right:0;border-bottom:8px solid var(--orange);padding:2rem 1.5rem 1.5rem;display:grid;grid-template-columns:7rem 1fr;gap:1rem 1.25rem}
.name{grid-column:2}.photo{grid-row:1/3;grid-column:1;width:7rem}
nav,.contact{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:.4rem 1.2rem}
.contact{margin-top:0}
main{padding:2rem 1.5rem 3rem}
.item{flex-direction:column;gap:0}}
