.elementor-widget-hvl-article-card > .elementor-widget-container {
	height: 100%;
}

.hvl-acard {
	--ac-line: rgba(20, 22, 29, 0.1);
	--ac-lift: -6px;
	min-width: 0;
	height: 100%;
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size: 16px;
	line-height: 1.5;
	letter-spacing: normal;
}

.hvl-acard *,
.hvl-acard *::before,
.hvl-acard *::after {
	box-sizing: border-box;
}

.hvl-acard > a {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
	box-shadow: inset 0 0 0 1px var(--ac-line), 0 30px 60px -46px rgba(20, 22, 29, 0.55);
	transition: transform 0.3s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.3s ease;
}

.hvl-acard > a:hover {
	transform: translateY(var(--ac-lift));
	box-shadow: inset 0 0 0 1px var(--ac-line), 0 44px 70px -44px rgba(20, 22, 29, 0.65);
}

.hvl-acard > a:focus-visible {
	outline: 2px solid var(--e-global-color-primary, #08739f);
	outline-offset: 3px;
}

.hvl-acard .hvl-acard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px 6px 0;
}

.hvl-acard p.hvl-acard__tag {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.85;
}

.hvl-acard .hvl-acard__title {
	margin: 9px 0 0;
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.03em;
	transition: color 0.15s ease;
}

.hvl-acard p.hvl-acard__desc {
	margin: 9px 0 0;
	font-size: 14.5px;
	line-height: 1.5;
	letter-spacing: -0.005em;
}

.hvl-acard .hvl-acard__go {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-top: auto;
	padding-top: 16px;
	font-size: 14px;
	font-weight: 600;
}

.hvl-acard .hvl-acard__go svg {
	display: block;
	width: 15px;
	height: 15px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform 0.25s ease;
}

.hvl-acard > a:hover .hvl-acard__go svg {
	transform: translateX(4px);
}

.hvl-acard.is-visible .hvl-bscene {
	--play: running;
}

@media (min-width: 768px) {
	.hvl-acard .hvl-acard__title {
		font-size: 20px;
	}

	.hvl-acard.hvl-acard--armed {
		opacity: 0;
		transform: translateY(16px);
		transition: opacity 0.5s ease var(--d, 0s), transform 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) var(--d, 0s);
	}

	.hvl-acard.hvl-acard--armed.is-visible {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 767px) {
	.hvl-acard > a:hover {
		transform: none;
	}
}

.hvl-bscene {
	position: relative;
	aspect-ratio: 16 / 10;
	border-radius: 14px;
	overflow: hidden;
	background: var(--bs-stage);
}

.hvl-bscene--price {
	--bs-stage: linear-gradient(158deg, var(--bs-a, var(--e-global-color-azur_700, #075c7f)), var(--bs-b, var(--e-global-color-azur_deep, #032838)));
	--bs-accent: var(--bs-accent-custom, var(--e-global-color-primary, #08739f));
}

.hvl-bscene--brief {
	--bs-stage: linear-gradient(158deg, var(--bs-a, color-mix(in srgb, var(--e-global-color-menthe, #2aab8a) 46%, var(--e-global-color-menthe_card, #f5faf8))), var(--bs-b, color-mix(in srgb, var(--e-global-color-menthe, #2aab8a) 12%, var(--e-global-color-menthe_card, #f5faf8))));
	--bs-accent: var(--bs-accent-custom, var(--e-global-color-menthe, #2aab8a));
}

.hvl-bscene--grant {
	--bs-stage: linear-gradient(158deg, var(--bs-a, color-mix(in srgb, var(--e-global-color-sable, #c9a86c) 46%, var(--e-global-color-sable_card, #faf8f3))), var(--bs-b, color-mix(in srgb, var(--e-global-color-sable, #c9a86c) 12%, var(--e-global-color-sable_card, #faf8f3))));
	--bs-accent: var(--bs-accent-custom, var(--e-global-color-sable, #c9a86c));
}

.hvl-bs-tag {
	position: absolute;
	left: 14px;
	top: 13px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 99px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.82);
	backdrop-filter: blur(8px);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #14161d;
}

.hvl-bs-sheet {
	position: absolute;
	left: 11%;
	right: 9%;
	bottom: -20px;
	display: flex;
	flex-direction: column;
	gap: 7px;

	padding: 11px 12px 32px;
	border-radius: 10px 10px 4px 4px;
	background: #fff;
	box-shadow: 0 30px 44px -26px rgba(8, 10, 16, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.4);
	transform: rotate(-1.4deg);
	transform-origin: left top;
	transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.hvl-acard > a:hover .hvl-bs-sheet { transform: rotate(-1.4deg) translate(-6px, -9px); }

.hvl-bs-line {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
}

.hvl-bs-line em {
	flex: 0 0 42%;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 9.5px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.01em;
	white-space: nowrap;
	color: #3a3f4c;
}

.hvl-bs-line i {
	flex: 1;
	height: 5px;
	min-width: 0;
	border-radius: 99px;
	background: color-mix(in srgb, var(--bs-accent) 30%, #e7eaf1);
	transform: scaleX(0);
	transform-origin: left center;
	animation: hvl-bs-bar 0.7s cubic-bezier(0.2, 0.7, 0.2, 1) var(--d, 0s) forwards;
	animation-play-state: var(--play, paused);
}

@keyframes hvl-bs-bar {
	from { transform: scaleX(0); }
	to { transform: scaleX(var(--w, 1)); }
}

.hvl-bs-line--tot {
	margin-top: 1px;
	padding-top: 8px;
	border-top: 1px solid rgba(20, 22, 29, 0.09);
}

.hvl-bs-line--tot em { color: #14161d; }

.hvl-bs-line--tot b {
	margin-left: auto;
	min-width: 26px;
	padding: 2px 7px;
	border-radius: 6px;
	background: color-mix(in srgb, var(--bs-accent) 15%, transparent);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	color: var(--bs-accent);
	opacity: 0;
	animation: hvl-bs-pop 0.45s cubic-bezier(0.2, 0.7, 0.2, 1) 0.55s forwards;
	animation-play-state: var(--play, paused);
}

@keyframes hvl-bs-pop {
	from { opacity: 0; transform: translateY(5px) scale(0.9); }
	to { opacity: 1; transform: none; }
}

.hvl-bs-check {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.hvl-bs-check i {
	position: relative;
	flex: none;
	width: 13px;
	height: 13px;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--bs-accent) 40%, #dfe4ec);
	animation: hvl-bs-box 0.3s ease var(--d, 0s) forwards;
	animation-play-state: var(--play, paused);
}

@keyframes hvl-bs-box {
	to {
		background: var(--bs-accent);
		box-shadow: inset 0 0 0 1.5px var(--bs-accent);
	}
}

.hvl-bs-check i::after {
	content: '';
	position: absolute;
	left: 3px;
	top: 3.2px;
	width: 6px;
	height: 3px;
	border-left: 1.6px solid #fff;
	border-bottom: 1.6px solid #fff;
	transform: rotate(-45deg) scale(0.4);
	transform-origin: center;
	opacity: 0;
	animation: hvl-bs-tick 0.28s cubic-bezier(0.2, 0.7, 0.2, 1) calc(var(--d, 0s) + 0.14s) forwards;
	animation-play-state: var(--play, paused);
}

@keyframes hvl-bs-tick {
	to { opacity: 1; transform: rotate(-45deg) scale(1); }
}

.hvl-bs-check em {
	overflow: hidden;
	font-size: 9.5px;
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.01em;
	white-space: nowrap;
	color: #3a3f4c;
}

.hvl-bs-head {
	display: flex;
	align-items: center;
	gap: 7px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(20, 22, 29, 0.09);
}

.hvl-bs-head b {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: #14161d;
}

.hvl-bs-flag {
	display: flex;
	flex: none;
	overflow: hidden;
	width: 16px;
	height: 11px;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(20, 22, 29, 0.12);
}

.hvl-bs-flag i { flex: 1; }
.hvl-bs-flag i:nth-child(1) { background: #2b2b2b; }
.hvl-bs-flag i:nth-child(2) { background: #f5d547; }
.hvl-bs-flag i:nth-child(3) { background: #d1332e; }

.hvl-bs-stamp {
	align-self: flex-end;
	margin-top: 3px;
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border-radius: 99px;
	border: 1.5px dashed color-mix(in srgb, var(--bs-accent) 55%, transparent);
	background: color-mix(in srgb, var(--bs-accent) 10%, #fff);
	opacity: 0;
	transform: rotate(-5deg) scale(0.86);
	animation: hvl-bs-stamp 0.5s cubic-bezier(0.2, 0.7, 0.2, 1) 0.5s forwards;
	animation-play-state: var(--play, paused);
}

@keyframes hvl-bs-stamp {
	to { opacity: 1; transform: rotate(-5deg) scale(1); }
}

.hvl-bs-stamp b {
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	color: var(--bs-accent);
}

.hvl-bs-stamp em {
	font-size: 9px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bs-accent);
}

@media (prefers-reduced-motion: reduce) {
	.hvl-acard.hvl-acard--armed {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.hvl-acard > a,
	.hvl-acard .hvl-bs-sheet,
	.hvl-acard .hvl-acard__go svg {
		transition: none;
	}

	.hvl-acard .hvl-bs-line i,
	.hvl-acard .hvl-bs-line--tot b,
	.hvl-acard .hvl-bs-check i,
	.hvl-acard .hvl-bs-check i::after,
	.hvl-acard .hvl-bs-stamp {
		animation: none;
		opacity: 1;
	}

	.hvl-acard .hvl-bs-line i { transform: scaleX(var(--w, 1)); }
	.hvl-acard .hvl-bs-check i { background: var(--bs-accent); box-shadow: inset 0 0 0 1.5px var(--bs-accent); }
	.hvl-acard .hvl-bs-check i::after { transform: rotate(-45deg); }
	.hvl-acard .hvl-bs-stamp { transform: rotate(-5deg); }
}
