.vets-related-jobs {
	padding: 60px 24px 120px;
	background: #fff;
	overflow: hidden;
}

.vets-related-inner {
	margin: 0 auto;
	text-align: center;
}

.vets-section-eyebrow {
display: inline-flex;
  padding: 10px 18px;
  border: 1px solid #d6dfdf;
  border-radius: 999px;
  background: #f8fbfb;
  color: #7a8489;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 1.4px;
	margin-bottom: 20px;
	gap: 10px;
}

.vets-section-eyebrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #8fbfb8;
}

.vets-related-jobs h2 {
	font-size: 54px;
	line-height: 0.95;
	letter-spacing: -2px;
	color: #071d3d;
	margin: 0 0 50px;
}

.vets-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	align-items: stretch;
	text-align: left;
	justify-content: center;
}

.vets-related-grid:has(.vets-related-card:nth-child(2):last-child) {
	grid-template-columns: repeat(2, minmax(320px, 420px));
}

.vets-related-card {
	--light-color: #f5f7fa;

	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 640px;

	background: #fff;
	border: 1px solid #dce6e6;
	border-radius: 38px;
	padding: 26px;

	box-shadow: 0 10px 28px rgba(7, 29, 61, 0.06);
	box-sizing: border-box;
}

.vets-related-card-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
	height: 100%;
}

.vets-related-image {
	position: relative;
	display: block;

	height: 210px;
	min-height: 210px;
	flex: 0 0 210px;

	border-radius: 28px;
	overflow: hidden;
	margin-bottom: 34px;

	background: linear-gradient(135deg, #071d3d 0%, #004c4c 100%);
}

.vets-related-image::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -160px;
	width: 320px;
	height: 320px;
	border-radius: 50%;
	border: 1px solid rgba(143, 191, 184, 0.12);
	box-shadow:
		0 0 0 18px rgba(143, 191, 184, 0.04),
		0 0 0 36px rgba(143, 191, 184, 0.035),
		0 0 0 54px rgba(143, 191, 184, 0.03),
		0 0 0 72px rgba(143, 191, 184, 0.025);
	pointer-events: none;
}

.vets-related-image .vu-meta {
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 5;

	display: inline-flex;
	align-items: center;
	gap: 8px;

	background: var(--light-color);
	color: #6f7681;

	padding: 14px 24px;
	border-top-right-radius: 34px;

	font-size: 13px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;

	overflow: visible;
}

.vets-related-image .vu-meta::before {
	content: "";
	background-image: radial-gradient(circle farthest-side at 100% 0%, #0000 100%, var(--light-color));
	width: 25px;
	height: 25px;
	position: absolute;
	top: -25px;
	left: 0;
}

.vets-related-image .vu-meta::after {
	content: "";
	background-image: radial-gradient(circle farthest-side at 100% 0%, #0000 100%, var(--light-color));
	width: 20px;
	height: 20px;
	position: absolute;
	bottom: -1px;
	right: -18px;
}

.vets-related-card .business-name {
	font-size: 20px;
	font-weight: 700;
	color: #8fbfb8;
	margin-bottom: 14px;
	line-height: 1;
}

.vets-related-card h3 {
	font-size: 34px;
	line-height: 0.95;
	margin: 0 0 18px;
	color: #071d3d;
	letter-spacing: -1.5px;
}

.vets-related-card h3 a {
	color: inherit;
	text-decoration: none;
}

.vets-related-card .vu-job-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 15px 0;
	min-height: 42px;
	align-items: flex-start;
}

.vets-related-card .vu-pill {
	display: inline-flex;
	padding: 10px 18px;
	border: 1px solid #d6dfdf;
	border-radius: 999px;
	background: #f8fbfb;
	color: #7a8489;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 1.4px;
}

.vets-related-card .job-desc {
	font-size: 15px;
	line-height: 1.5;
	color: #2d394d;
	margin-bottom: 28px;
	min-height: 100px;
	flex: 1;
}

.vets-related-footer {
	margin-top: auto;
	border-top: 1px solid #e7eeee;
	padding-top: 24px;

	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 18px;
}

.vets-related-footer strong {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 20px;
	line-height: 1;
	font-weight: 800;
	color: #071d3d;
}

.vets-related-footer strong span {
	font-size: 15px;
	font-weight: 800;
	color: #9097a0;
	text-transform: uppercase;
}

.vets-related-footer p {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0 0;
	font-size: 16px;
	font-weight: 700;
	color: #9097a0;
}

.vets-related-card .vu-job-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 58px;
	padding: 0 26px;
	border-radius: 999px;
	background: #2fd5bf;
	color: #071d3d !important;
	font-size: 18px;
	font-weight: 800;
	text-decoration: none !important;
	white-space: nowrap;
}

.vets-related-card .vu-job-cta i {
	font-size: 14px;
	transform: rotate(-45deg);
}

/* SLICK SLIDER */
.vets-related-grid.is-slider {
	position: relative;
	display: block;
	padding: 10px 78px 30px;
	margin: 0 auto;
	overflow: hidden;
}

.vets-related-grid.is-slider .slick-list {
	overflow: hidden;
	padding: 10px 0 30px;
}

.vets-related-grid.is-slider .slick-track {
	display: flex !important;
	gap: 32px;
	align-items: stretch;
}

.vets-related-grid.is-slider .slick-slide {
	height: auto !important;
	box-sizing: border-box;
	display: flex !important;
}

.vets-related-grid.is-slider .slick-slide > div {
	height: 100%;
	width: 100%;
	display: flex;
}

.vets-related-grid.is-slider .vets-related-card {
	height: 100%;
	min-height: 640px;
	width: 100%;
}

/* ARROWS */
.vets-slick-arrow {
	position: absolute;
	top: 50%;
	z-index: 30;

	width: 58px;
	height: 58px;

	border: 0;
	border-radius: 999px;

	background: #2fd5bf;
	color: #07152b;

	display: flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
	transform: translateY(-50%);

	font-size: 18px;

	box-shadow: 0 10px 24px rgba(47, 213, 191, 0.28);
	transition: 0.25s ease;
}

.vets-slick-prev {
	left: 10px;
}

.vets-slick-next {
	right: 10px;
}

.vets-slick-arrow:hover {
	background: #071d3d;
	color: #fff;
}

.vets-slick-arrow i {
	pointer-events: none;
}

@media (max-width: 991px) {
	.vets-related-grid {
		grid-template-columns: 1fr !important;
	}

	.vets-related-grid.is-slider {
		padding: 10px 58px 30px;
	}

	.vets-related-jobs h2 {
		font-size: 38px;
	}

	.vets-related-footer {
		flex-direction: column;
		align-items: flex-start;
	}

	.vets-related-card .vu-job-cta {
		width: 100%;
	}
}

@media (max-width: 767px) {
	.vets-related-grid.is-slider {
		padding: 10px 0 90px;
		overflow: hidden;
	}

	.vets-related-grid.is-slider .slick-list {
		margin: 0;
		padding: 10px 0 30px;
	}

	.vets-related-grid.is-slider .slick-track {
		gap: 16px;
	}

	.vets-slick-arrow {
		top: auto;
		bottom: 0;
		transform: none;
	}

	.vets-slick-prev {
		left: calc(50% - 70px);
	}

	.vets-slick-next {
		right: calc(50% - 70px);
	}

	.vets-related-jobs {
		padding-bottom: 150px;
	}
}



.related-gallery-slider {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.related-gallery-track {
	display: flex;
	height: 100%;
	transition: transform .4s ease;
	will-change: transform;
}

.related-gallery-slide {
	flex: 0 0 100%;
	height: 100%;
}

.related-gallery-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.related-gallery-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 999px;
	background: rgba(255,255,255,.95);
	color: #071d3d;
	font-size: 22px;
	cursor: pointer;
	z-index: 20;
	box-shadow: 0 4px 12px rgba(0,0,0,.15);
}

.related-gallery-prev {
	left: 10px;
}

.related-gallery-next {
	right: 10px;
}

.vets-company-logo {
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.vets-company-logo img {
	display: block;
	max-height: 55px;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.vu-role-type {
	font-size: 16px;
	color: #6f7777;
}

.vu-role-type strong {
	color: #07152b;
	font-weight: 700;
	margin-right: 5px;
}

.vu-job-highlights {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 24px;
}

.vu-job-highlight {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: #2d394d;
	line-height: 1.4;
}

.vu-job-highlight i {
	color: #28e0c2;
	font-size: 18px;
	flex-shrink: 0;
}



/* Round 25: long role/practice labels and highlights must remain in normal flow. */
.vets-related-card .vu-job-tags {
	height: auto;
	min-height: 0;
	align-content: flex-start;
	margin-bottom: 20px;
	overflow: visible;
}

.vets-related-card .vu-pill {
	max-width: 100%;
	height: auto;
	min-height: 34px;
	white-space: normal;
	line-height: 1.2;
	text-align: center;
	overflow-wrap: anywhere;
	box-sizing: border-box;
}

.vets-related-card .vu-job-highlights {
	position: static;
	clear: both;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0 0 24px;
}

.vets-related-card .vu-job-highlight,
.vets-related-card .vu-job-highlight span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.vets-related-grid.is-slider .vets-related-card {
	min-height: 690px;
	height: auto;
}

@media (max-width: 767px) {
	.vets-related-grid.is-slider .vets-related-card {
		min-height: 0;
	}
}

/* Round 26: small-laptop cards get real separation between taxonomy and highlights. */
.vets-related-card .vu-job-tags {
	margin-bottom: 28px;
}

.vets-related-card .vu-job-highlights {
	margin-top: 2px;
	margin-bottom: 28px;
}

@media (min-width: 768px) and (max-width: 1279px) {
	.vets-related-grid.is-slider {
		padding-left: 64px;
		padding-right: 64px;
	}

	.vets-related-grid.is-slider .slick-track {
		gap: 24px;
	}

	.vets-related-grid.is-slider .vets-related-card {
		min-height: 720px;
	}
}

/* Round 27: taxonomy gets its own layout block so highlights cannot overlap it. */
.vets-related-card .vu-job-tags {
	display: grid !important;
	grid-template-columns: max-content minmax(0, 1fr) !important;
	align-items: start !important;
	align-content: start !important;
	column-gap: 8px !important;
	row-gap: 8px !important;
	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 14px 0 16px !important;
	padding: 0 0 18px !important;
	border-bottom: 1px solid #edf2f2 !important;
	overflow: visible !important;
	box-sizing: border-box !important;
}

.vets-related-card .vu-job-tags .vu-pill {
	position: static !important;
	align-self: start !important;
	justify-self: start !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.vets-related-card .vu-job-highlights {
	display: flex !important;
	flex-direction: column !important;
	position: static !important;
	clear: both !important;
	width: 100% !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
	gap: 9px !important;
	overflow: visible !important;
}

.vets-related-card .vu-job-highlight {
	position: static !important;
	width: 100% !important;
	margin: 0 !important;
}

@media (max-width: 620px) {
	.vets-related-card .vu-job-tags {
		grid-template-columns: 1fr !important;
	}
}

/* Round 28: equal outer heights from Slick stretch, never fixed content heights. */
.vets-related-grid.is-slider .slick-track {
	display: flex !important;
	align-items: stretch !important;
}

.vets-related-grid.is-slider .slick-slide.vets-related-card,
.vets-related-grid.is-slider .vets-related-card {
	display: flex !important;
	flex-direction: column !important;
	align-self: stretch !important;
	height: auto !important;
	min-height: 0 !important;
}

.vets-related-card .vu-job-tags {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-wrap: wrap !important;
	align-items: flex-start !important;
	gap: 8px !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 14px 0 18px !important;
	padding: 12px !important;
	border: 1px solid #e2ebeb !important;
	border-radius: 18px !important;
	background: #f8fbfb !important;
	box-sizing: border-box !important;
}

.vets-related-card .vu-job-highlights {
	display: flex !important;
	flex: 0 0 auto !important;
	flex-direction: column !important;
	gap: 9px !important;
	position: static !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 0 24px !important;
	padding: 0 4px !important;
}

.vets-related-card .vets-related-footer {
	position: static !important;
	flex: 0 0 auto !important;
	margin-top: auto !important;
}

/* Round 29: structural related-card layout. Equal outer heights are handled by
   the Slick flex row / JS equaliser; inner content remains natural. */
.vets-related-grid.is-slider .slick-track {
	display: flex !important;
	align-items: stretch !important;
}

.vets-related-grid.is-slider .slick-slide.vets-related-card,
.vets-related-grid.is-slider .vets-related-card {
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
	min-height: var(--vets-related-equal-height, 0px) !important;
}

.vets-related-card .vets-related-card-body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	min-height: 0 !important;
}

.vets-related-card .vu-job-tags {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.vets-related-card .vu-job-tags .vu-pill {
	white-space: nowrap !important;
}

.vets-related-card .vets-related-card-body > .vets-related-footer {
	flex: 0 0 auto !important;
	margin-top: auto !important;
}
