/* ==========================================================================
   NFCR person highlight  [nfcr_person]
   Photo | label + name + affiliation | optional text
   ========================================================================== */

.nfcr-person {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding: 40px 48px;
	border-radius: var(--nfcr-r-section);
	font-family: var(--nfcr-font);
}
.nfcr-person--no-text { grid-template-columns: 96px minmax(0, 1fr); }

.nfcr-person--dark  { background: var(--nfcr-navy); }
.nfcr-person--light { background: var(--nfcr-white); box-shadow: var(--nfcr-shadow); }

.nfcr-person .nfcr-person__photo {
	width: 96px;
	height: 96px;
	overflow: hidden;
	border-radius: 50%;
}
.nfcr-person--dark  .nfcr-person__photo { background: rgba(255, 255, 255, .1); }
.nfcr-person--light .nfcr-person__photo { background: var(--nfcr-surface); }
.nfcr-person .nfcr-person__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.nfcr-person .nfcr-person__label {
	margin: 0 0 6px;
	font-size: var(--nfcr-fs-label);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .8px;
	text-transform: uppercase;
}
.nfcr-person .nfcr-person__name {
	margin: 0;
	padding: 0;
	font-family: var(--nfcr-font);
	font-size: var(--nfcr-fs-h3-lg);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -.3px;
	text-transform: none;
}
.nfcr-person .nfcr-person__name a { color: inherit; text-decoration: none; }
.nfcr-person .nfcr-person__name a:hover { text-decoration: underline; }
.nfcr-person .nfcr-person__meta {
	margin: 4px 0 0;
	font-size: var(--nfcr-fs-small);
	line-height: 1.5;
}
.nfcr-person .nfcr-person__text {
	max-width: 360px;
	margin: 0;
	font-size: var(--nfcr-fs-body);
	line-height: 1.7;
}

/* Colours */
.nfcr-person--dark .nfcr-person__label  { color: var(--nfcr-on-dark-muted); }
.nfcr-person--dark .nfcr-person__name   { color: #fff; }
.nfcr-person--dark .nfcr-person__meta   { color: var(--nfcr-on-dark-soft); }
.nfcr-person--dark .nfcr-person__text   { color: var(--nfcr-on-dark-text); }
.nfcr-person--light .nfcr-person__label { color: var(--nfcr-label); }
.nfcr-person--light .nfcr-person__name  { color: var(--nfcr-navy); }
.nfcr-person--light .nfcr-person__meta  { color: var(--nfcr-text-2); }
.nfcr-person--light .nfcr-person__text  { color: var(--nfcr-text); }

/* ---- Responsive (proposed) ---- */
@media (max-width: 1024px) {
	.nfcr-person { grid-template-columns: 96px minmax(0, 1fr); padding: 36px 40px; }
	.nfcr-person .nfcr-person__text { grid-column: 1 / -1; max-width: none; }
}
@media (max-width: 767px) {
	.nfcr-person,
	.nfcr-person--no-text { grid-template-columns: 72px minmax(0, 1fr); gap: 18px; padding: 28px 22px; }
	.nfcr-person .nfcr-person__photo { width: 72px; height: 72px; }
}
