/* Core Team page (app/core-team/page.js) — scoped to .iihm-kind-team */
.iihm-kind-team .ct-wrap { max-width: 1362px; margin: 0 auto; padding: 0 clamp(20px, 4.7vw, 72px); }
.iihm-kind-team .ct-h2 { font-family: var(--serif); font-size: 24px; line-height: 1.25; font-weight: 700; color: var(--navy); margin: 0; }
.iihm-kind-team .hm-eyebrow { margin-bottom: 10px; }

/* Director */
.iihm-kind-team .ct-director { padding: clamp(44px, 5vw, 76px) 0; background: #fff; }
.iihm-kind-team .ct-director__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 84px); align-items: center; }
.iihm-kind-team .ct-director__media { position: relative; margin: 0 0 0 14px; padding: 0 0 4px 4px; }
.iihm-kind-team .ct-director__media::before { content: ''; position: absolute; left: -14px; top: 18px; bottom: -4px; width: 4px; background: linear-gradient(180deg, var(--red) 0 30%, var(--navy) 30% 100%); z-index: 1; }
.iihm-kind-team .ct-director__media::after { content: ''; position: absolute; left: -14px; bottom: -4px; width: 62%; height: 4px; background: var(--navy); z-index: 1; }
.iihm-kind-team .ct-director__media img { display: block; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 14px 36px rgba(10,52,112,.18); }
.iihm-kind-team .ct-director__media figcaption { position: absolute; right: -18px; bottom: 26px; z-index: 2; display: flex; flex-direction: column; padding: 12px 20px; background: #fff; border-left: 4px solid var(--red); box-shadow: 0 14px 30px rgba(10,52,112,.22); }
.iihm-kind-team .ct-director__media figcaption strong { font-family: var(--serif); font-size: 17px; color: var(--navy); }
.iihm-kind-team .ct-director__media figcaption span { font-size: 12.5px; color: var(--muted); letter-spacing: .03em; }
.iihm-kind-team .ct-quote { color: var(--red); opacity: .85; margin: 18px 0 6px; display: block; }
.iihm-kind-team .ct-director__copy p:not(.hm-eyebrow) { margin: 12px 0 0; font-size: 14.5px; line-height: 1.8; color: #2b3a55; }
.iihm-kind-team .ct-director__copy .ct-director__sign { margin-top: 20px; padding-top: 16px; border-top: 1px solid #dbe4f0; font-family: var(--serif); font-style: italic; color: var(--navy); }
.iihm-kind-team .ct-director__sign b { font-style: normal; font-family: var(--sans); font-size: 13px; color: var(--red); }

/* Principal */
.iihm-kind-team .ct-lead { padding: clamp(44px, 5vw, 72px) 0 clamp(20px, 3vw, 36px); background: #fff; }
.iihm-kind-team .ct-principal { max-width: 860px; display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: center; gap: clamp(24px, 4vw, 56px); margin-top: 26px; padding: 22px clamp(22px, 3vw, 40px) 22px 22px; background: linear-gradient(100deg, #eef4fc 0%, #fff 70%); border: 1px solid #dbe4f0; border-left: 5px solid var(--red); border-radius: 6px; box-shadow: 0 14px 34px rgba(10,52,112,.08); }
.iihm-kind-team .ct-principal__photo { position: relative; width: 260px; aspect-ratio: 1; }
.iihm-kind-team .ct-principal__photo::before { content: ''; position: absolute; inset: 12px -12px -12px 12px; border: 3px solid var(--navy); border-radius: 4px; z-index: 0; }
.iihm-kind-team .ct-principal__photo img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: top; border-radius: 4px; box-shadow: 0 10px 26px rgba(10,52,112,.2); }
.iihm-kind-team .ct-principal__role { display: inline-block; padding: 5px 14px; background: var(--red); color: #fff; border-radius: 999px; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.iihm-kind-team .ct-principal h3 { margin: 12px 0 8px; font-family: var(--serif); font-size: 28px; line-height: 1.2; color: var(--navy); }
.iihm-kind-team .ct-principal p { margin: 0; max-width: 520px; font-size: 14.5px; line-height: 1.75; color: var(--muted); }

/* Team grid */
.iihm-kind-team .ct-team { padding: clamp(28px, 4vw, 52px) 0 clamp(54px, 6vw, 90px); background: #fff; }
.iihm-kind-team .ct-grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 22px; list-style: none; margin: 30px 0 0; padding: 0; }
.iihm-kind-team .ct-card { width: calc((100% - 4 * 22px) / 5); margin: 0; text-align: center; }
.iihm-kind-team .ct-card__photo { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: 6px; background: #eef4fc; box-shadow: 0 10px 24px rgba(10,52,112,.12); }
.iihm-kind-team .ct-card__photo::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--red) 0 30%, var(--navy) 30% 100%); }
.iihm-kind-team .ct-card__photo img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; transition: transform .5s; }
.iihm-kind-team .ct-card:hover .ct-card__photo img { transform: scale(1.06); }
.iihm-kind-team .ct-card h3 { margin: 14px 0 4px; font-family: var(--serif); font-size: 16px; line-height: 1.3; color: var(--navy); }
.iihm-kind-team .ct-card p { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--muted); }

@media (max-width: 1100px) { .iihm-kind-team .ct-card { width: calc((100% - 2 * 22px) / 3); } }
@media (max-width: 900px) {
  .iihm-kind-team .ct-director__grid { grid-template-columns: 1fr; }
  .iihm-kind-team .ct-director__media figcaption { right: 8px; }
}
@media (max-width: 680px) {
  .iihm-kind-team .ct-card { width: calc((100% - 16px) / 2); }
  .iihm-kind-team .ct-grid { gap: 22px 16px; }
  .iihm-kind-team .ct-principal { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 22px; }
  .iihm-kind-team .ct-principal__photo { width: 200px; margin-bottom: 14px; }
}

.iihm-kind-team .ct-card__initials { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--serif); font-size: 44px; font-weight: 700; color: #fff; background: linear-gradient(135deg, #0a3470, #1d6fb0); }
