/* LT Team — contact grid */

.lt-team {
	--lt-accent: #1a9d54;
	--lt-text: #4a4a4a;
	--lt-muted: #6b6b6b;
	max-width: 1200px;
	margin: 0 auto;
}

/* Optional green banner heading (e.g. "MEET THE TEAM") */
.lt-team__banner {
	margin: 0 0 40px;
}
.lt-team__banner span {
	display: inline-block;
	background: var(--lt-accent);
	color: #fff;
	font-size: 30px;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	padding: 14px 26px;
	font-family: Georgia, "Times New Roman", serif;
}

/* Grid */
.lt-team__grid {
	display: grid;
	grid-template-columns: repeat(var(--lt-cols, 4), minmax(0, 1fr));
	gap: 40px 30px;
}
.lt-team--cols-1 { --lt-cols: 1; }
.lt-team--cols-2 { --lt-cols: 2; }
.lt-team--cols-3 { --lt-cols: 3; }
.lt-team--cols-4 { --lt-cols: 4; }
.lt-team--cols-5 { --lt-cols: 5; }
.lt-team--cols-6 { --lt-cols: 6; }

/* Card */
.lt-team__card {
	display: flex;
	flex-direction: column;
}
.lt-team__photo {
	margin-bottom: 14px;
}
.lt-team__photo img {
	display: block;
	width: 100%;
	height: auto;
}

/* Name with green left bar */
.lt-team__name {
	position: relative;
	margin: 0 0 3px;
	padding-left: 14px;
	color: var(--lt-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	font-size: 26px;
	line-height: 1.1;
}
.lt-team__name::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	bottom: 2px;
	width: 4px;
	background: var(--lt-accent);
}

/* No-photo card: stylized nameplate (first name large over last name + accent bar) */
.lt-team__nameplate {
	margin: 0;
	color: var(--lt-accent);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 400;
	line-height: 1;
}
.lt-team__fname {
	display: block;
	font-size: 40px;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}
.lt-team__lname {
	display: block;
	margin-top: 4px;
	font-size: 26px;
	line-height: 1.1;
}
.lt-team__bar {
	display: block;
	width: 48px;
	height: 4px;
	margin: 14px 0 18px;
	background: var(--lt-accent);
}
/* No-photo cards: center the nameplate vertically in the card space,
   and run text flush-left (no left bar to align to). */
.lt-team__card--noimg {
	justify-content: center;
}
.lt-team__card--noimg .lt-team__title,
.lt-team__card--noimg .lt-team__contact {
	padding-left: 0;
}

/* Job title */
.lt-team__title {
	margin: 0 0 10px;
	padding-left: 14px;
	color: var(--lt-muted);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.25;
}

/* Contact rows */
.lt-team__contact {
	padding-left: 14px;
}
.lt-team .lt-team__row {
	margin: 0 0 3px;
	color: var(--lt-text);
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
}
/* Label and value must render as the exact same font — override Divi's
   global link/typography styling that would otherwise differ. */
.lt-team .lt-team__label,
.lt-team .lt-team__row a {
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: var(--lt-text) !important;
	text-decoration: none !important;
}
.lt-team .lt-team__label {
	margin-right: 4px;
}
.lt-team .lt-team__row a {
	word-break: break-word;
}
.lt-team .lt-team__row a:hover {
	color: var(--lt-accent) !important;
	text-decoration: underline !important;
}

/* Responsive */
@media (max-width: 980px) {
	.lt-team__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.lt-team__grid { grid-template-columns: 1fr; }
	.lt-team__banner span { font-size: 24px; padding: 12px 20px; }
}
