/* ========== Profile (个人页基础) ========== */
.hero--sub{ padding:56px 0 48px; }
.hero-subgrid{ display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end; }
.hero-breadcrumb{ font-size:14px; color:#DDE1E7; }
.crumb{ opacity:.9; }
.crumb:hover{ text-decoration:underline; text-underline-offset:3px; }
.crumb-sep{ margin:0 8px; opacity:.6; }
.crumb-current{ opacity:1; }

.profile-grid{
  display:grid;
  grid-template-columns:320px 1fr;
  gap:28px;
  align-items:end;
}
.profile-photo{
  aspect-ratio:3/4;
  background:linear-gradient(180deg,#ECEFF3,#E5E8EC);
  background-size:cover;
  background-position:center;
  border-radius:14px;
  position:relative; display:grid; place-items:center;
}
.profile-photo::after{
  content:"PHOTO"; font-size:12px; color:#7E8590; letter-spacing:.12em;
}
.profile-photo.has-img::after{ content:""; }

.profile-name{ font-weight:900; font-size:28px; letter-spacing:.02em; }
.profile-kana {
  font-size: 14px;
  color: var(--muted); /* 灰色 */
  margin-top: 2px;
  letter-spacing: 0.05em;
}

.profile-role{ color:var(--muted); font-size:14px; margin-top:4px; }
.profile-meta{ list-style:none; padding:0; margin:14px 0 16px; display:grid; gap:6px; font-size:14px; color:#2b2f35; }
.profile-meta a{ text-decoration:underline; text-underline-offset:2px; }
.profile-links{ display:flex; flex-wrap:wrap; gap:10px; }

/* ===== Career ===== */
.career-list{ display:grid; gap:16px; }
.career-card{ padding:16px; border:1px solid var(--line); border-radius:12px; background:#fff; }
.career-year{ font-weight:800; font-size:15px; color:#30343a; margin-bottom:4px; }
.career-role{ font-weight:700; font-size:16px; }
.career-desc{ font-size:14px; line-height:1.8; color:#2b2f35; margin-top:6px; }

/* ===== Works ===== */
.works-year{ margin-top:24px; }
.year-label{ font-weight:800; font-size:16px; margin-bottom:8px; color:#111; }

.work-list{ list-style:none; margin:0; padding:0; border-left:2px solid var(--line); }
.work-item{
  position:relative;
  display:grid;
  grid-template-columns: 2fr 0.8fr 1fr 1.5fr;
  gap:12px;
  padding:10px 0 10px 16px;
  font-size:14px;
  align-items:center;
}
.work-item::before{
  content:""; position:absolute; left:-6px; top:50%; transform:translateY(-50%);
  width:10px; height:10px; background:#fff; border:2px solid #c7ccd3; border-radius:50%;
}
.work-item + .work-item{ border-top:1px dashed var(--line); }

.w-title{ font-weight:700; color:#111; }
.w-type{ color:var(--muted); }
.w-year{ color:#30343a; font-weight:600; }
.w-loc{ color:#2b2f35; }
.w-collab{ color:#2b2f35; font-size:13px; }

/* Hover 效果 */
.work-item:hover .w-title{ text-decoration:underline; }

/* 响应式 */
@media (max-width:768px){
  .work-item{ grid-template-columns: 1.5fr 1fr; grid-auto-rows:auto; }
  .w-type, .w-year, .w-loc, .w-collab{ grid-column:1/-1; }
}
