.structurePage { max-width: 1100px; }
.orgChart { display: grid; gap: 2.4rem; justify-items: center; }
.orgLevel { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.4rem; width: 100%; }
.orgCard { width: min(210px, 100%); padding: 1.3rem 1rem; background: var(--colorBg); border: 2px solid var(--colorSoft); border-radius: 24px; text-align: center; }
.orgPhoto { display: block; width: 8rem; max-width: 100%; height: auto; aspect-ratio: 1; margin: 0 auto .9rem; object-fit: cover; background: var(--colorSoft); border-radius: 50%; }
.orgName { margin: 0; font-size: 1.05rem; line-height: 1.4; }
.orgRole { margin: .2rem 0 0; font-size: .88rem; opacity: .8; }
.orgCard { transition: transform var(--durFast) var(--ease), border-color var(--durFast) var(--ease), box-shadow var(--durFast) var(--ease); }
.orgPhoto { transition: transform var(--dur) var(--ease); }
@media (hover: hover) {
  .orgCard:hover { transform: translateY(-6px); border-color: var(--colorInk); box-shadow: 0 14px 28px rgba(0, 0, 0, .08); }
  .orgCard:hover .orgPhoto { transform: scale(1.06); }
}
