/* HILCAM MISSION & VISION — scoped square cards with uncropped artwork. */
.hilcam-mission-vision,
.hilcam-mission-vision * {
	box-sizing: border-box;
}

.hilcam-mission-vision .hmv__shell {
	--hmv-columns-desktop: 2;
	--hmv-columns-tablet: 2;
	--hmv-columns-mobile: 1;
	--hmv-gap-desktop: 48px;
	--hmv-gap-tablet: 32px;
	--hmv-gap-mobile: 24px;
	--hmv-padding-desktop: 64px;
	--hmv-padding-tablet: 48px;
	--hmv-padding-mobile: 32px;
	--hmv-fallback-background: #94a18a;
	--hmv-text-color: #fff;
	width: 100%;
}

.hilcam-mission-vision .hmv__grid {
	display: grid;
	grid-template-columns: repeat(var(--hmv-columns-desktop), minmax(0, 1fr));
	gap: var(--hmv-gap-desktop);
	align-items: stretch;
	width: 100%;
}

/* Divi wrappers must not add an extra grid level around child cards. */
.hilcam-mission-vision .hilcam-mission-vision-item,
.hilcam-mission-vision .hilcam-mission-vision-item > .et_pb_module_inner {
	display: contents;
}

.hilcam-mission-vision .hmv__card {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	min-width: 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--hmv-fallback-background);
	isolation: isolate;
}

.hilcam-mission-vision .hmv__background {
	position: absolute;
	inset: 0;
	z-index: -1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	pointer-events: none;
}

.hilcam-mission-vision .hmv__content {
	display: grid;
	place-content: center;
	gap: .75rem;
	width: 100%;
	height: 100%;
	padding: var(--hmv-padding-desktop);
	color: var(--hmv-text-color);
	text-align: center;
}

.hilcam-mission-vision .hmv__title,
.hilcam-mission-vision .hmv__text,
.hilcam-mission-vision .hmv__text p {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 0;
	color: inherit;
}

.hilcam-mission-vision--shortcode .hmv__title {
	font-family: var(--hmv-title-font-family);
	font-size: var(--hmv-title-font-size-desktop);
	font-weight: var(--hmv-title-font-weight);
	font-style: var(--hmv-title-font-style);
	line-height: var(--hmv-title-line-height);
	letter-spacing: var(--hmv-title-letter-spacing);
	text-transform: var(--hmv-title-text-transform);
}

.hilcam-mission-vision--shortcode .hmv__text {
	font-family: var(--hmv-body-font-family);
	font-size: var(--hmv-body-font-size-desktop);
	font-weight: var(--hmv-body-font-weight);
	font-style: var(--hmv-body-font-style);
	line-height: var(--hmv-body-line-height);
	letter-spacing: var(--hmv-body-letter-spacing);
	text-transform: var(--hmv-body-text-transform);
}

@media (max-width: 980px) {
	.hilcam-mission-vision .hmv__grid {
		grid-template-columns: repeat(var(--hmv-columns-tablet), minmax(0, 1fr));
		gap: var(--hmv-gap-tablet);
	}
	.hilcam-mission-vision .hmv__content { padding: var(--hmv-padding-tablet); }
	.hilcam-mission-vision--shortcode .hmv__title { font-size: var(--hmv-title-font-size-tablet); }
	.hilcam-mission-vision--shortcode .hmv__text { font-size: var(--hmv-body-font-size-tablet); }
}

/* Small tablets and phones stack the squares so each card keeps usable width. */
@media (max-width: 860px) {
	.hilcam-mission-vision .hmv__grid {
		grid-template-columns: repeat(var(--hmv-columns-mobile), minmax(0, 1fr));
		gap: var(--hmv-gap-mobile);
	}
	.hilcam-mission-vision .hmv__content { padding: var(--hmv-padding-mobile); }
	.hilcam-mission-vision--shortcode .hmv__title { font-size: var(--hmv-title-font-size-mobile); }
	.hilcam-mission-vision--shortcode .hmv__text { font-size: var(--hmv-body-font-size-mobile); }
}
