
:root{
  --bg:#ffffff;
  --text:#1a1a1a;
  --muted:#4f4f56;
  --line:#e5e5ea;
  --link:#0c63e4;
  --link-hover:#084db6;
}
*{box-sizing:border-box}
html{font-size:16px}
body{
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline;color:var(--link-hover)}
.container{max-width:980px;margin:0 auto;padding:24px}
header.site{
  border-bottom:1px solid var(--line);
  padding:14px 24px;
}
nav a{margin-right:14px}
nav a.active{font-weight:600}
h1{font-size:2.1rem; margin:.4rem 0 .6rem}
h2{font-size:1.35rem; margin:1.2rem 0 .5rem}
h3{font-size:1.1rem; margin:1rem 0 .4rem}
.lede{color:var(--muted); max-width:65ch}
hr{border:none;border-top:1px solid var(--line);margin:20px 0}
.grid{
  display:grid;
  grid-template-columns: 2fr 1fr;
  gap:32px;
  align-items:start;
}
@media (max-width:840px){
  .grid{grid-template-columns:1fr}
  .photo{justify-self:start}
}
.photo{justify-self:end}
.photo img{
  width:220px; height:220px; object-fit:cover;
  border-radius:50%;
  border:1px solid var(--line);
}
.kicker{font-size:.95rem;color:var(--muted)}
.btnrow{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}
.button{
  display:inline-block;
  border:1px solid var(--line);
  padding:10px 14px;
  border-radius:10px;
  background:#fafafa;
}
.button:hover{background:#f3f3f3; text-decoration:none}
.small{font-size:.95rem}
footer.site{border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; padding:18px 24px; margin-top:30px}

.card{border:1px solid var(--line); border-radius:12px; padding:16px; margin:14px 0; background:#fff}
.grid-portfolio{display:grid; grid-template-columns:1fr; gap:18px}
figure{margin:0}
figure img{max-width:100%; border:1px solid var(--line); border-radius:10px}
.caption{font-size:.9rem; color:var(--muted)}
.pdf-frame{
  width:100%; height:740px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#f9f9fb;
}
.badges{display:flex; gap:8px; flex-wrap:wrap}
.badge{font-size:.75rem; padding:3px 8px; border:1px solid var(--line); border-radius:999px; color:var(--muted); background:#fafafa}
.kv{display:flex; gap:6px; flex-wrap:wrap}
.kv span{background:#f3f3f5; border:1px solid var(--line); padding:6px 10px; border-radius:10px; font-size:.85rem}
