/* ==========================================================================
   Package W1 — The Melchizedek Priesthood Institute (/institute,
   /institute/instructors/{slug}, instructors on /courses/{slug}).
   Horizon design-system tokens only; no gold.
   ========================================================================== */
.inst-empty{margin-top:24px}
.inst-pathway{align-items:start}
.inst-pathway .btn{margin-top:10px}
.section.navy .steps .actions{padding-left:68px;margin-top:6px}
.inst-more{align-items:stretch}
.inst-more .callout{display:flex;flex-direction:column;align-items:flex-start}
.inst-more .callout .btn{margin-top:auto}
.inst-more .callout p{margin-bottom:16px}

/* People */
.inst-people{align-items:start}
.inst-person{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 16px;text-align:center;
  border:1px solid var(--kgf-line);border-radius:var(--kgf-radius-lg);background:#fff;box-shadow:var(--kgf-shadow-sm);
  color:var(--kgf-ink);text-decoration:none;min-height:44px;transition:box-shadow .2s ease,transform .2s ease}
.inst-person:hover{box-shadow:var(--kgf-shadow);transform:translateY(-2px)}
.inst-person:focus-visible{box-shadow:var(--kgf-ring)}
.inst-photo{display:grid;place-items:center;width:112px;height:112px;border-radius:50%;overflow:hidden;
  background:var(--kgf-blue-50);color:var(--kgf-blue-700);font-family:var(--kgf-font-display);font-size:1.8rem;font-weight:600;
  border:3px solid #fff;box-shadow:0 0 0 1px var(--kgf-blue-200)}
.inst-photo img{width:100%;height:100%;object-fit:cover}
.inst-photo.large{width:min(280px,70vw);height:auto;aspect-ratio:4/5;border-radius:var(--kgf-radius-lg);font-size:3rem}
.inst-name{margin-top:8px;font-family:var(--kgf-font-display);font-weight:600;font-size:1.15rem;color:var(--kgf-navy-900);line-height:1.25}
.inst-role{color:var(--kgf-slate-500);font-size:.88rem}

/* Profile */
.inst-profile{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
.inst-profile-body h2{margin:32px 0 14px;font-size:1.6rem}
.inst-bio p{color:var(--kgf-ink)}
.inst-teaches{list-style:none;margin:0;padding:0;border-top:1px solid var(--kgf-line)}
.inst-teaches li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--kgf-line)}
.inst-teaches a{font-weight:700;color:var(--kgf-navy-900)}

/* On a course page (/courses/{slug}) */
.inst-course-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:12px}
.inst-course-list a{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--kgf-navy-900);text-decoration:none}
.inst-course-list a:hover .inst-name{color:var(--kgf-blue-600)}
.inst-course-list .inst-photo{width:48px;height:48px;font-size:1rem;flex:none}
.inst-course-list .inst-name{margin:0;font-size:1rem}
.inst-course-list .inst-role{display:block;font-size:.82rem}

@media (max-width:760px){
  .inst-profile{grid-template-columns:1fr}
  .inst-profile-photo{display:flex;justify-content:center}
  .section.navy .steps .actions{padding-left:0}
}
@media (prefers-reduced-motion:reduce){
  .inst-person{transition:none}
  .inst-person:hover{transform:none}
}
