/* Academic, airy layout inspired by minimal personal pages */
:root{
  --bg:#ffffff;
  --text:#202733;
  --muted:#6b7280;
  --line:#e5e7eb;
  --accent:#2b6cb0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Lato,Helvetica,Arial,sans-serif;line-height:1.8}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:980px;margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:62px}
.brand{font-weight:700;letter-spacing:.2px}
nav a{margin-left:16px;font-weight:400}
.cv{border:1px solid var(--line);padding:6px 10px;border-radius:8px}
.two-col{display:grid;grid-template-columns:270px 1fr;gap:26px;margin-top:22px}
.sidebar{position:sticky;top:86px;align-self:start;border:1px solid var(--line);border-radius:14px;padding:18px}
.avatar{width:100%;aspect-ratio:1/1;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.name{margin-top:10px;font-weight:700;font-size:1.25rem}
.role{color:var(--muted);margin-top:2px;font-size:.95rem}
.contactlist{list-style:none;padding:0;margin:12px 0 0 0;display:grid;gap:8px}
.contactlist li{display:flex;align-items:center;gap:8px}
.icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:12px;border-radius:4px;opacity:.85}
.cvbtn{display:inline-block;margin-top:12px;border:1px solid var(--line);padding:6px 10px;border-radius:8px}
.content{padding-top:2px}
.block{padding:8px 0;border-bottom:1px solid var(--line)}
.block:last-child{border-bottom:none}
h1{font-size:1.6rem;margin:0 0 8px 0}
h2{font-size:1.25rem;margin:18px 0 6px 0}
ul{margin:0;padding-left:20px}
p{margin:.4rem 0 1rem 0}
@media (max-width:860px){
  .two-col{grid-template-columns:1fr}
  .sidebar{position:relative;top:auto}
}
