/* ---------- section heads (home) ---------- */
.section{padding:52px 0; border-bottom:1px solid var(--line);}
.section:last-child{border-bottom:none;}
.section-head{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; margin-bottom:26px;}
.section-head h2{font-size:22px; font-weight:600;}
.section-head .see-all{font-family:'IBM Plex Mono'; font-size:12.5px; color:var(--text-dim);}
.section-head .see-all:hover{color:var(--cyan);}

/* ---------- about brief (top of home) ---------- */
.about-brief{
  display:grid; grid-template-columns:0.9fr 1.1fr; gap:44px; align-items:center;
}
.about-brief-top{
  padding:64px 0 52px; border-bottom:1px solid var(--line);
}
.about-photo{
  aspect-ratio:4/5; border:1px dashed var(--line); border-radius:var(--radius);
  display:flex; align-items:center; justify-content:center;
  background:var(--bg-panel);
}
.about-photo span{font-family:'IBM Plex Mono'; font-size:12px; color:var(--text-faint);}
.about-text .eyebrow{margin-bottom:12px;}
.about-text h2{font-size:24px; font-weight:600;}
.about-text p{color:var(--text-dim); font-size:14.5px; margin-top:14px; max-width:48ch;}
.about-text .btn{margin-top:22px;}

/* ---------- featured projects rail ---------- */
.rail{
  display:flex; gap:16px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x proximity;
  justify-content:flex-start;
  justify-content:safe center;
}
.rail::-webkit-scrollbar{height:6px;}
.rail::-webkit-scrollbar-thumb{background:var(--line); border-radius:4px;}

.capsule{
  flex:0 0 300px; scroll-snap-align:start;
  background:var(--bg-panel); border:1px solid var(--line); border-radius:var(--radius);
  cursor:pointer; overflow:hidden; transition:border-color .15s ease, transform .15s ease;
}
.capsule:hover{border-color:var(--cyan); transform:translateY(-2px);}

/* ---------- blog teaser row ---------- */
.post-row{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.post-mini{
  border:1px solid var(--line); padding:16px; border-radius:var(--radius); cursor:pointer;
  transition:border-color .15s ease;
}
.post-mini:hover{border-color:var(--pink);}
.post-mini .date{font-family:'IBM Plex Mono'; font-size:11px; color:var(--text-faint);}
.post-mini h3{font-size:14.5px; margin-top:8px; font-weight:600;}
.post-mini p{font-size:12.5px; color:var(--text-dim); margin-top:6px;}

@media (max-width:860px){
  .post-row{grid-template-columns:1fr 1fr;}
  .about-brief{grid-template-columns:1fr; text-align:center;}
  .about-photo{max-width:220px; margin:0 auto; aspect-ratio:1/1;}
  .about-text p{margin-left:auto; margin-right:auto;}
}
@media (max-width:560px){
  .post-row{grid-template-columns:1fr;}
}
