:root{
  --bg:#f6f6f4;
  --paper:#ffffff;
  --ink:#0e0f12;
  --muted:#6a6f7a;
  --rule:rgba(14,15,18,.18);
  --rule2:rgba(14,15,18,.10);
  --max:1200px;
}
*{box-sizing:border-box}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}
a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.35)}
a:hover{border-bottom-color:rgba(0,0,0,.65)}
.page{padding:32px 20px;display:flex;justify-content:center}
.wrap{width:min(var(--max),100%)}
.frame{background:var(--paper);border:1px solid var(--rule)}
.topbar{display:flex;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--rule);flex-wrap:wrap}
.micro{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.grid{display:grid;grid-template-columns:1.1fr .9fr}
.main{padding:34px 26px}
.side{padding:26px;border-left:1px solid var(--rule);display:flex;flex-direction:column;gap:16px}
.wordmark{font-weight:800;font-size:clamp(44px,6.0vw,78px);line-height:.98}
.contact{margin-top:26px}
.contact .label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.contact .value{font-size:18px;margin-bottom:14px}
.portrait{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:16px}
.box{border:1px solid var(--rule);padding:16px 16px 12px}
.boxhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.boxhead h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}
.boxhead .hint{font-size:12px;color:var(--muted)}
.accordion{border-top:1px solid var(--rule2)}
.acc-btn{
  width:100%;
  border:0;
  background:transparent;
  padding:12px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:var(--ink);
  font: inherit;
}
.acc-title{
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
}
.acc-icon{
  width:18px;height:18px;flex:0 0 auto;
  border:1px solid var(--rule);
  border-radius:999px;
  display:grid;place-items:center;
  color:var(--muted);
  line-height:1;
}
.acc-panel{
  overflow:hidden;
  height:0;
  transition: height 220ms ease;
}
.acc-inner{padding:0 0 12px 0}
.project{padding:10px 0;border-top:1px solid var(--rule2)}
.project:first-child{border-top:0}
.project b{font-size:15px;font-weight:650}
.meta{font-size:13px;color:var(--muted);line-height:1.55;margin-top:4px}
.footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--rule);font-size:12px;color:var(--muted)}
@media(max-width:900px){
  .grid{grid-template-columns:1fr}
  .side{border-left:0;border-top:1px solid var(--rule)}
}