/* Home fragments: hero and CV (prefix hm-). Loads after site.css.
   Reuses shared tokens, .display, .sub, .stats, .card, .grid2, .grid3, .icon-box. */

/* ---------- hero ---------- */
.hm-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:9999px;
  border:1px solid var(--line-strong);background:var(--surface);
  font-size:.875rem;line-height:1.25rem;font-weight:600;color:var(--ink);text-decoration:none;
  transition:all 700ms var(--ease);
}
.hm-pill i{font-size:1.25rem;line-height:1;color:var(--accent)}
.hm-pill i:last-child{color:var(--muted)}
.hm-pill:hover{background:var(--raised);border-color:var(--accent);transform:translateY(-2px)}
.hm-pill:hover i:last-child{color:var(--ink);transform:translateX(4px)}
.hm-pill:active{transform:scale(.98)}
.hm-pill i:last-child{transition:all 700ms var(--ease)}
.hm-pill span{text-wrap:balance}

/* four lines of thought, so cap the size at text-5xl */
.hm-title{font-size:2.25rem;line-height:2.5rem}
.hm-br{display:none}
@media(min-width:768px){
  .hm-title{font-size:3rem;line-height:1}
  .hm-br{display:inline}
}
@media(min-width:1024px){
  .hm-title{font-size:3rem;line-height:1}
}
.hm-proof-row .stat b{white-space:nowrap}

/* ---------- pillars ---------- */
.hm-pillar{display:flex;flex-direction:column;align-items:flex-start}
.hm-label{
  font-size:.75rem;line-height:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:8px;
}
.hm-pillar .h3{color:var(--ink);margin-bottom:16px}
.hm-pillar .hm-proof{margin-top:auto}
.hm-proof{
  display:flex;gap:8px;align-items:flex-start;
  font-size:.875rem;line-height:1.25rem;color:var(--muted);
}
.hm-proof i{flex:none;font-size:1.25rem;line-height:1;color:var(--accent)}

/* ---------- roles ---------- */
.hm-roles{display:flex;flex-direction:column;gap:8px}
.hm-role{
  display:grid;gap:8px;padding:24px;
  transition:all 700ms var(--ease);
}
.hm-role:hover{border-color:var(--line-strong);background:var(--raised)}
.hm-years{
  font-family:"Geist Mono",ui-monospace,monospace;
  font-size:.875rem;line-height:1.25rem;color:var(--accent);
}
.hm-role-body{display:flex;flex-direction:column;gap:4px}
.hm-role .h3{margin-bottom:0;color:var(--ink)}
.hm-role .hm-place{font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--ink)}
.hm-role p:last-child{max-width:60ch;margin-top:4px}
@media(min-width:768px){
  .hm-role{grid-template-columns:176px minmax(0,1fr);gap:24px}
}

/* ---------- credentials ---------- */
.hm-creds{margin-top:16px}
.hm-list{display:flex;flex-direction:column;gap:12px}
.hm-list li{font-size:.875rem;line-height:1.25rem;color:var(--muted)}
.hm-list li b{color:var(--ink);font-weight:600}
.hm-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;
  margin-top:32px;
}
.hm-langs{display:flex;gap:8px;align-items:flex-start;color:var(--muted);max-width:60ch}
.hm-langs i{flex:none;font-size:1.25rem;line-height:1.5rem;color:var(--accent)}
.hm-langs b{color:var(--ink);font-weight:600}

/* ---------- hero duo: Terra beside Descartes ---------- */
.hm-duo{display:grid;gap:16px;margin-top:48px}
.hm-feat{padding:8px;display:flex;flex-direction:column;gap:8px}
.hm-feat-body{flex:1;padding:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.hm-feat-body p{color:var(--muted);max-width:60ch}
.hm-feat-body .btn{margin-top:auto}
@media(min-width:768px){.hm-duo{grid-template-columns:repeat(2,minmax(0,1fr))}}
