/* Leadership block on unit pages (faculty, institute, department). Static CSS, CSP-safe (no inline styles). */
.ul-lead { margin-top: 3rem; --ul-ocean: var(--color-brand-ocean, #0B6399); --ul-deep: var(--color-brand-deep, #003861); --ul-ink: var(--color-brand-ink, #0F1E33); --ul-mist: var(--color-brand-mist, #F3F7FB); --ul-magenta: var(--color-brand-magenta, #C30080); --ul-yellow: var(--color-brand-yellow, #F1EA20); }
.ul-lead *, .ul-lead *::before, .ul-lead *::after { box-sizing: border-box; }
.ul-h2 { margin: 0; font-size: 1.5rem; font-weight: 800; letter-spacing: -.01em; color: var(--ul-ink); }
.ul-role { margin: 0; font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ul-ocean); }
.ul-name { margin: .35rem 0 0; font-size: 1.15rem; font-weight: 800; line-height: 1.3; color: var(--ul-ink); }
.ul-link { display: inline-flex; align-items: center; gap: .3rem; margin-top: .6rem; font-size: .85rem; font-weight: 600; color: var(--ul-ocean); text-decoration: none; }
.ul-link:hover, .ul-link:focus-visible { color: var(--ul-deep); text-decoration: underline; }

.ul-head { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.5rem; margin-top: 1.5rem; padding: 1.5rem; border: 1px solid #e2e8f0; border-radius: 1.25rem; background: var(--ul-mist); }
.ul-head__who { text-align: center; }
.ul-head__photo { display: block; width: 9rem; height: 9rem; margin: 0 auto 1rem; border-radius: 50%; object-fit: cover; border: 5px solid #fff; box-shadow: 0 6px 18px rgba(0, 24, 50, .15); }
.ul-head__photo--blank { display: flex; align-items: center; justify-content: center; font-size: 2.4rem; font-weight: 800; color: var(--ul-ocean); background: linear-gradient(135deg, rgba(11, 99, 153, .15), rgba(195, 0, 128, .1)); }
.ul-msg { position: relative; padding: 1.25rem 1.25rem 1.25rem 1.5rem; border-left: 4px solid var(--ul-magenta); border-radius: .25rem .75rem .75rem .25rem; background: #fff; }
.ul-msg__title { margin: 0 0 .75rem; font-size: 1.1rem; font-weight: 800; color: var(--ul-deep); }
.ul-msg__body p { margin: 0 0 .85rem; font-size: .98rem; line-height: 1.75; color: #334155; }
.ul-msg__sign { margin: .5rem 0 0; font-size: .85rem; font-weight: 700; color: var(--ul-ink); }

.ul-cards { list-style: none; margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.ul-card { display: flex; align-items: center; gap: 1rem; height: 100%; padding: 1rem; border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; text-decoration: none; color: inherit; box-shadow: 0 1px 2px rgba(0, 0, 0, .04); transition: transform .25s, box-shadow .25s, border-color .25s; }
.ul-card:hover, .ul-card:focus-visible { transform: translateY(-3px); border-color: rgba(11, 99, 153, .4); box-shadow: 0 10px 24px rgba(0, 24, 50, .12); }
.ul-card__photo { flex: none; width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; border: 3px solid var(--ul-mist); }
.ul-card__photo--blank { display: flex; align-items: center; justify-content: center; font-weight: 800; color: var(--ul-ocean); background: linear-gradient(135deg, rgba(11, 99, 153, .15), rgba(195, 0, 128, .1)); }
.ul-card__text { min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.ul-card__name { font-size: 1rem; font-weight: 700; line-height: 1.3; color: var(--ul-ink); overflow-wrap: anywhere; }
.ul-card__more { font-size: .8rem; font-weight: 600; color: var(--ul-ocean); }

@media (min-width: 48rem) {
  .ul-head { grid-template-columns: 15rem minmax(0, 1fr); gap: 2rem; padding: 2rem; align-items: start; }
  .ul-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .ul-card { transition: none; } .ul-card:hover { transform: none; } }

/* placeholders shown until real staff are assigned */
.ul-ph { border-style: dashed; background: #fff; }
.ul-head.ul-ph { background: var(--ul-mist); }
.ul-ph__photo { color: #94a3b8; background: #e2e8f0 !important; }
.ul-badge { display: inline-block; margin-top: .5rem; padding: .15rem .6rem; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #92400e; background: #fef3c7; }
.ul-ph .ul-msg__body p, .ul-ph .ul-msg__sign { color: #64748b; font-style: italic; }
.ul-ph .ul-card__name { color: #64748b; }
