
/* =============================================================
   OUR TEAM — ADDITIVE STYLES
   Scoped to the Our Team page only.
============================================================= */
.px-team-pageheader .px-pageheader-bg img{
	object-position:center 30%;
}

.px-team-pageheader .px-pageheader-content .px-eyebrow{
	margin-bottom:12px;
}

.px-team-intro{
	align-items:flex-end;
}

.px-team-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:30px;
}

.px-team-card{
	background:var(--px-white);
	border:1px solid #e5e5e8;
	box-shadow:var(--px-shadow-sm);
	overflow:hidden;
	display:flex;
	flex-direction:column;
	height:100%;
	transition:transform var(--px-transition),box-shadow var(--px-transition),border-color var(--px-transition);
}

.px-team-card:hover{
	transform:translateY(-5px);
	box-shadow:var(--px-shadow-md);
	border-color:#d9dade;
}

.px-team-card-media{
	width:100%;
	height:270px;
	background:var(--px-grey-100);
	overflow:hidden;
}

.px-team-card-media img{
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	object-position:center center;
	transition:transform .6s ease;
}

.px-team-card:hover .px-team-card-media img{
	transform:scale(1.025);
}

.px-team-card-body{
	padding:30px;
	display:flex;
	flex-direction:column;
	flex:1;
}

.px-team-role{
	display:inline-block;
	color:var(--px-red);
	font-family:var(--px-font-display);
	font-size:13px;
	font-weight:700;
	line-height:1.25;
	letter-spacing:1.4px;
	text-transform:uppercase;
	margin-bottom:10px;
}

.px-team-card h3{
	font-size:clamp(25px,2.5vw,34px);
	line-height:1;
	margin-bottom:24px;
	color:var(--px-black);
	text-transform:uppercase;
}

.px-team-meta,
.px-team-credentials{
	display:grid;
	grid-template-columns:105px minmax(0,1fr);
	gap:14px;
	padding:12px 0;
	border-top:1px solid #ececef;
	font-size:14px;
	line-height:1.5;
}

.px-team-meta strong,
.px-team-credentials strong{
	font-family:var(--px-font-display);
	color:var(--px-black);
	font-size:12px;
	letter-spacing:1.2px;
	text-transform:uppercase;
}

.px-team-meta span,
.px-team-credentials span{
	color:var(--px-grey-700);
}

.px-team-bio{
	margin-top:22px;
	padding-top:22px;
	border-top:1px solid #ececef;
}

.px-team-bio p{
	font-size:15px;
	line-height:1.75;
	color:var(--px-grey-700);
}

.px-team-bio p:last-child{
	margin-bottom:0;
}

.px-team-bio ul{
	margin:0 0 1em 20px;
	list-style:disc;
	color:var(--px-grey-700);
}

.px-team-bio li{
	margin-bottom:7px;
	font-size:14px;
	line-height:1.55;
}

.px-team-empty{
	grid-column:1 / -1;
	padding:50px;
	text-align:center;
	background:var(--px-grey-100);
}

@media (max-width:900px){
	.px-team-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.px-team-card-media{
		height:250px;
	}

	.px-team-card-body{
		padding:26px 22px;
	}
}

@media (max-width:600px){
	.px-team-grid{
		grid-template-columns:1fr;
		gap:22px;
	}

	.px-team-card-media{
		height:auto;
		aspect-ratio:4/3;
	}

	.px-team-card h3{
		font-size:28px;
	}

	.px-team-meta,
	.px-team-credentials{
		grid-template-columns:1fr;
		gap:4px;
	}

	.px-team-meta strong,
	.px-team-credentials strong{
		font-size:11px;
	}

	.px-team-bio{
		margin-top:18px;
		padding-top:18px;
	}
}

@media (max-width:680px){
	.px-team-pageheader{
		padding:100px 0 32px;
	}

	.px-team-section{
		padding:36px 0 56px;
	}

	.px-team-intro{
		margin-bottom:26px;
	}

	.px-team-intro .px-lede{
		font-size:15px;
	}
}

/* Homepage Our Team preview */
.px-home-team-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:24px;
}

.px-home-team-card{
	background:var(--px-white);
	border:1px solid #e5e5e8;
	box-shadow:var(--px-shadow-sm);
	overflow:hidden;
	text-decoration:none;
	color:inherit;
	transition:transform var(--px-transition),box-shadow var(--px-transition),border-color var(--px-transition);
}

.px-home-team-card:hover{
	transform:translateY(-5px);
	box-shadow:var(--px-shadow-md);
	border-color:#d9dade;
}

.px-home-team-card-media{
	width:100%;
	aspect-ratio:4/3;
	background:var(--px-grey-100);
	overflow:hidden;
}

.px-home-team-card-media img{
	display:block;
	width:100%;
	height:100%;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	object-position:center center;
	transition:transform .6s ease;
}

.px-home-team-card:hover .px-home-team-card-media img{
	transform:scale(1.02);
}

.px-home-team-card-body{
	padding:22px 20px 24px;
}

.px-home-team-card-body h3{
	font-size:21px;
	line-height:1.15;
	margin:0 0 8px;
	color:var(--px-black);
}

.px-home-team-card-role{
	display:block;
	color:var(--px-red);
	font-family:var(--px-font-display);
	font-size:11px;
	font-weight:700;
	line-height:1.35;
	letter-spacing:1.1px;
	text-transform:uppercase;
}

.px-home-team-more{
	display:flex;
	justify-content:center;
	margin-top:40px;
}

@media (max-width:1100px){
	.px-home-team-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.px-home-team-card--extra{
		display:none;
	}
}

@media (max-width:600px){
	.px-home-team-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:14px;
	}

	.px-home-team-card--extra{
		display:block;
	}

	.px-home-team-card-body{
		padding:16px 14px 18px;
	}

	.px-home-team-card-body h3{
		font-size:17px;
	}
}
