

.l-section.c-our-team,
.l-section.c-team.c-section__intro,
.l-section.c-team:has(.c-section__content) {
	margin-bottom: 0;
}

.l-section.c-our-team .c-section__content,
.l-section.c-team.c-section__intro .c-section__content,
.l-section.c-team:has(.c-section__content) .c-section__content {
	width: 100%;
	max-width: none;
}

.l-section.c-our-team > .l-section-h > .g-cols > .vc_column > .vc_column-inner,
.l-section.c-our-team .c-section__intro .vc_column-inner,
.l-section.c-team.c-section__intro .vc_column-inner,
.l-section.c-team:has(.c-section__content) .vc_column-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.0625rem;
	text-align: center;
}

.c-our-team .c-section__intro,
.c-team .c-section__intro,
.c-team.c-section__intro {
	width: 100%;
}

.c-our-team .c-section__heading,
.c-our-team .c-section__subtitle,
.c-our-team .w-btn-wrapper,
.c-team .c-section__intro > .vc_column-inner > .c-section__heading,
.c-team .c-section__intro > .vc_column-inner > .c-section__subtitle,
.c-team .c-section__intro > .vc_column-inner > .w-btn-wrapper,
.c-team > .vc_column-inner > .c-section__heading,
.c-team > .vc_column-inner > .c-section__subtitle,
.c-team > .vc_column-inner > .w-btn-wrapper {
	width: 100%;
	max-width: none;
	margin-inline: auto;
}

/* Team grid */

.l-section:has(.c-team-grid) .l-section-h {
	overflow: visible;
}

.c-our-team .c-team-grid,
.c-team-grid.w-grid {
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0 auto;
	padding-bottom: 0;
}

/* Branded carousel chrome (progress space) — opt in on section or grid. */
.c-team-grid.u-enable-branded-carousel,
.u-enable-branded-carousel .c-team-grid {
	padding-bottom: 2.75rem;
}

.c-team-grid.u-no-progress-bar {
	padding-bottom: 0;
}

.c-team-grid.u-no-progress-bar .c-team-grid__progress {
	display: none !important;
}

.u-enable-branded-carousel.c-team-grid.type_carousel .owl-nav,
.u-enable-branded-carousel.c-team-grid.type_carousel .owl-dots,
.u-enable-branded-carousel.c-team-grid .owl-nav,
.u-enable-branded-carousel.c-team-grid .owl-dots,
.u-enable-branded-carousel .c-team-grid.type_carousel .owl-nav,
.u-enable-branded-carousel .c-team-grid.type_carousel .owl-dots,
.u-enable-branded-carousel .c-team-grid .owl-nav,
.u-enable-branded-carousel .c-team-grid .owl-dots {
	display: none !important;
}

.u-enable-branded-carousel.c-team-grid.type_carousel .owl-stage-outer,
.u-enable-branded-carousel .c-team-grid.type_carousel .owl-stage-outer {
	overflow: visible;
	padding-top: 0.625rem;
}

.c-team-grid.type_carousel .owl-item {
	display: flex;
	height: auto;
}

.c-team-grid.type_carousel .w-grid-item,
.c-team-grid.layout_3246.type_carousel .w-grid-item {
	width: 100%;
	height: auto;
}

.c-team-grid.type_carousel .w-grid-item-h,
.c-team-grid.layout_3246.type_carousel .w-grid-item-h,
.c-team-grid.layout_3246.type_carousel .owl-item .w-grid-item-h {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	width: 100% !important;
	min-height: 0;
	padding: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: 8px 8px 10px rgba(0, 0, 0, 0.12);
	overflow: visible !important;
}

html.meda-motion-gsap .c-team-grid.type_carousel .w-grid-item-h,
html.meda-motion-gsap .c-team-grid.layout_3246.type_carousel .w-grid-item-h,
html.meda-motion-gsap .c-team-grid.layout_3246.type_carousel .owl-item .w-grid-item-h {
	transition: none;
	will-change: transform;
}

.c-team-grid.type_carousel .w-grid-item,
.c-team-grid .w-grid-item {
	overflow: visible;
}

.c-team-grid.type_carousel .w-grid-item-h.is-featured,
.c-team-grid.layout_3246.type_carousel .w-grid-item-h.is-featured {
	box-shadow: 6px 12px 13px rgba(0, 0, 0, 0.15);
}

/* Whole-card tap target — only the 140px portrait and the name text were tappable (~32% of the card). Stretches the name's own link over the card. */
.c-team-grid__title a::after,
.c-team-grid__name a::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

.c-team-grid.type_carousel .w-grid-item-h,
.c-team-grid:not(.type_carousel) .w-grid-item-h,
.c-team-grid__card-inner {
	position: relative;
}

.c-team-grid:not(.type_carousel) .w-grid-item-h,
.c-team-grid__card-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	width: 100%;
	min-height: 25.25rem;
	padding: 0;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: 8px 8px 10px rgba(0, 0, 0, 0.12);
	overflow: visible !important;
}

html.meda-motion-gsap .c-team-grid:not(.type_carousel) .w-grid-item-h,
html.meda-motion-gsap .c-team-grid__card-inner {
	transition: none;
	will-change: transform;
}

.c-team-grid:not(.type_carousel) .w-grid-item:first-child .w-grid-item-h,
.c-team-grid__card:first-child .c-team-grid__card-inner,
.c-team-grid__card.is-featured .c-team-grid__card-inner {
	box-shadow: 6px 12px 13px rgba(0, 0, 0, 0.15);
}

.c-team-grid:not(.type_carousel):not(.u-horizontal-scroll) .w-grid-item,
.c-team-grid:not(.type_carousel):not(.u-horizontal-scroll) .c-team-grid__card {
	width: 100%;
	height: auto;
	overflow: visible;
}

.c-team-grid.u-horizontal-scroll:not(.type_carousel) .w-grid-list,
.c-team-grid.u-horizontal-scroll .c-team-grid__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 1.375rem;
	width: 100%;
	margin: 0;
	padding: 0.625rem 0 0;
	overflow-x: auto;
	overflow-y: visible;
	scroll-snap-type: x proximity;
	scroll-padding-inline: 0;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.c-team-grid.u-horizontal-scroll:not(.type_carousel) .w-grid-list::-webkit-scrollbar,
.c-team-grid.u-horizontal-scroll .c-team-grid__track::-webkit-scrollbar {
	display: none;
}

.c-team-grid.u-horizontal-scroll:not(.type_carousel) .w-grid-item,
.c-team-grid.u-horizontal-scroll .c-team-grid__card {
	flex: 0 0 19.75rem;
	width: 19.75rem;
	max-width: 19.75rem;
	height: auto;
	scroll-snap-align: start;
}

.c-team-grid__media,
.c-team-grid__image.post_image,
.c-team-grid__image {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1;
	height: auto;
	margin: 0 auto;
	overflow: hidden;
	background: var(--meda-section-bg);
	border-radius: 0 !important;
}

.c-team-grid__image.stretched {
	border-radius: 0 !important;
}

.c-team-grid__media a,
.c-team-grid__image a {
	display: block;
	width: 100%;
	height: 100%;
	transform-origin: center center;
	will-change: transform;
}

.c-team-grid__media img,
.c-team-grid__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

.no-touch .c-team-grid .w-grid-item:hover .c-team-grid__media img,
.no-touch .c-team-grid .w-grid-item:hover .c-team-grid__image img,
.no-touch .c-team-grid__card:hover .c-team-grid__media img,
.no-touch .c-team-grid__card:hover .c-team-grid__image img {
	transform: none;
}

.c-team-grid__content,
.c-team-grid .w-grid-item-h > .w-vwrapper:not(.c-team-grid__card-inner) {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.3125rem;
	width: 100%;
	padding: 0 0.5rem 0.75rem;
	text-align: center;
}

.c-team-grid__title,
.c-team-grid__title a,
.c-team-grid.layout_3246 .c-team-grid__title,
.c-team-grid.layout_3246 .c-team-grid__title a,
.c-team-grid__name,
.c-team-grid__name .w-post-elm-value,
.c-team-grid__name .w-text-value,
.c-team-grid h3.c-team-grid__name,
.c-team-grid h4.c-team-grid__name,
.c-team-grid h3.c-team-grid__title,
.c-team-grid h4.c-team-grid__title {
	margin: 0;
	font-family: var(--body-font-family, var(--font-family, var(--meda-body-font)));
	/* One step above --meda-text-base: the position line below is also 16px, so at the base size the name and their job title were indistinguishable. */
	font-size: var(--meda-text-lg);
	font-weight: var(--body-font-weight, 400);
	line-height: var(--body-line-height, 1.3);
	text-decoration: none;
	background: var(--meda-gold-gradient) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
}

.c-team-grid__position,
.c-team-grid__position .w-post-elm-value,
.c-team-grid__role,
.c-team-grid__role .w-post-elm-value,
.c-team-grid__role .w-text-value,
.c-team-grid__role p,
.c-team-grid p.c-team-grid__role,
.c-team-grid p.c-team-grid__position {
	margin: 0;
	font-family: var(--body-font-family, var(--font-family, var(--meda-body-font)));
	font-size: var(--meda-text-base);
	font-weight: 300;
	line-height: var(--body-line-height, 1.35);
	color: var(--color-content-text, var(--meda-content-text));
}

.c-team-grid__progress {
	width: 100%;
	margin: 1.75rem auto 0;
	padding: 0.75rem 0;
}

.c-team-grid__progress-track {
	position: relative;
	height: 1px;
	background: rgba(0, 0, 0, 0.18);
	border-radius: 999px;
	cursor: pointer;
	transition:
		height var(--meda-duration-fast) var(--meda-ease),
		background-color var(--meda-duration-fast) var(--meda-ease);
}

.c-team-grid__progress:hover .c-team-grid__progress-track,
.c-team-grid__progress:focus-within .c-team-grid__progress-track,
.c-team-grid__progress.is-dragging .c-team-grid__progress-track {
	height: 6px;
	background: rgba(0, 0, 0, 0.14);
}

.c-team-grid__progress-fill {
	position: absolute;
	top: 50%;
	left: 0;
	width: var(--meda-team-progress-thumb, 11.1%);
	height: 4px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 999px;
	background: var(--meda-gold, var(--meda-gold));
	transform: translate3d(0, -50%, 0);
	will-change: transform;
	cursor: grab;
	touch-action: none;
	transition:
		height var(--meda-duration-fast) var(--meda-ease),
		box-shadow var(--meda-duration-fast) var(--meda-ease);
}

.c-team-grid__progress-fill:focus {
	outline: none;
}

.c-team-grid__progress-fill:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--meda-gold, var(--meda-gold));
}

.c-team-grid__progress:hover .c-team-grid__progress-fill,
.c-team-grid__progress:focus-within .c-team-grid__progress-fill {
	height: 8px;
	box-shadow: 0 2px 10px rgba(165, 139, 70, 0.35);
}

.c-team-grid__progress.is-dragging .c-team-grid__progress-fill {
	height: 10px;
	cursor: grabbing;
	box-shadow: 0 4px 16px rgba(165, 139, 70, 0.45);
}

/* Real grids (not the homepage carousel, not the opt-in scroll strip) keep multiple columns below desktop. The location page's c-location-team-grid is `type_grid cols_4` with 18 staff and no tablets-/mobiles-cols_* set, so Impreza gives it two columns at 1024 (3021px) and ONE for the whole mobiles state — 8825px of square-portrait-per-row. Holding the authored four columns at 1024 and stepping down from there keeps it proportionate. !important because Impreza's per-state column CSS is emitted inline and prints after every child stylesheet. */
@media (max-width: 1024px) {
	.c-team-grid:not(.type_carousel):not(.u-horizontal-scroll) .w-grid-list {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.c-team-grid:not(.type_carousel):not(.u-horizontal-scroll) .w-grid-list {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	/* 1.5rem matches the parent's mobile section gutter, so the scroll strip and its progress bar start on the same line as every other section. */
	.c-team-grid.u-horizontal-scroll:not(.type_carousel) .w-grid-list,
	.c-team-grid.u-horizontal-scroll .c-team-grid__track {
		padding-inline: 1.5rem;
		scroll-padding-inline: 1.5rem;
	}

	.c-team-grid__progress {
		width: calc(100% - 3rem);
		padding-inline: 1.5rem;
	}

	/* Release the 25.25rem (404px) card floor — 61% of an iPhone SE viewport per card, which made the grid enormous to thumb through. The portrait aspect-ratio still keeps cards uniform, so they size to their content. */
	.c-team-grid:not(.type_carousel) .w-grid-item-h,
	.c-team-grid__card-inner {
		min-height: 0;
	}
}

@media (max-width: 600px) {
	.c-team-grid.u-horizontal-scroll:not(.type_carousel) .w-grid-item,
	.c-team-grid.u-horizontal-scroll .c-team-grid__card {
		max-width: 16.5rem;
	}

	/* Two up on phones — three would put each portrait under ~105px. */
	.c-team-grid:not(.type_carousel):not(.u-horizontal-scroll) .w-grid-list {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.c-team-grid__media img,
	.c-team-grid__image img,
	.c-team-grid__progress-track,
	.c-team-grid__progress-fill {
		transition: none !important;
		transform: none !important;
	}
}
