.elementor-widget-hvl-art-rich .hvl-art-body {
	--hvl-art-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	--hvl-art-measure: 50ch;
	--hvl-art-ring: inset 0 0 0 1px rgba(20, 22, 29, 0.09);
	--hvl-art-line: rgba(20, 22, 29, 0.1);
	max-width: 720px;
	margin-inline: auto;
	padding-top: 6px;
	line-height: 1.5;
	font-family: var(--e-global-typography-text-font-family, "Karla"), system-ui, sans-serif;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body > *:first-child {
	margin-top: 0;
}

.elementor-widget-hvl-art-rich .hvl-art-body > *:last-child {
	margin-bottom: 0;
}

.elementor-widget-hvl-art-rich .hvl-art-body p,
.elementor-widget-hvl-art-rich .hvl-art-body > ul,
.elementor-widget-hvl-art-rich .hvl-art-body > ol {
	max-width: var(--hvl-art-measure);
}

.elementor-widget-hvl-art-rich .hvl-art-body p {
	margin: 0 0 18px;
	font-size: 17px;
	line-height: 1.75;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body h2,
.elementor-widget-hvl-art-rich .hvl-art-body h3 {
	font-family: var(--e-global-typography-primary-font-family, "Rubik"), system-ui, sans-serif;
	scroll-margin-top: 96px;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body h2 {
	margin: 48px 0 14px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

@media (min-width: 810px) {
	.elementor-widget-hvl-art-rich .hvl-art-body h2 {
		font-size: 30px;
	}
}

.elementor-widget-hvl-art-rich .hvl-art-body h3 {
	margin: 30px 0 10px;
	font-size: 18.5px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.elementor-widget-hvl-art-rich .hvl-art-body ul,
.elementor-widget-hvl-art-rich .hvl-art-body ol {
	margin: 0 0 18px;
	padding-left: 22px;
	font-size: 17px;
	line-height: 1.75;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body ul {
	list-style: disc;
}

.elementor-widget-hvl-art-rich .hvl-art-body ol {
	list-style: decimal;
}

.elementor-widget-hvl-art-rich .hvl-art-body li {
	margin-bottom: 8px;
}

.elementor-widget-hvl-art-rich .hvl-art-body li::marker {
	color: var(--e-global-color-primary, #08739f);
}

.elementor-widget-hvl-art-rich .hvl-art-body a {
	color: var(--e-global-color-primary, #08739f);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.elementor-widget-hvl-art-rich .hvl-art-body strong {
	font-weight: 600;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body em {
	font-style: italic;
}

.elementor-widget-hvl-art-rich .hvl-art-todo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 6px;
	padding: 2px 7px;
	font-family: var(--hvl-art-mono);
	font-size: 11px;
	font-weight: 500;
	color: #8a5a00;
	background: #fff6e2;
	box-shadow: inset 0 0 0 1px rgba(138, 90, 0, 0.18);
}

.elementor-widget-hvl-art-rich .hvl-art-todo::before {
	content: "";
	flex: none;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: currentColor;
}

.elementor-widget-hvl-art-rich .hvl-art-note {
	margin: 26px 0;
	border-radius: 16px;
	padding: 18px 20px;
	background: var(--e-global-color-brume_100, #eef4f8);
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-art-note > *:last-child {
	margin-bottom: 0;
}

.elementor-widget-hvl-art-rich .hvl-art-note p,
.elementor-widget-hvl-art-rich .hvl-art-note ul {
	max-width: var(--hvl-art-measure);
	font-size: 16px;
	line-height: 1.65;
}

.elementor-widget-hvl-art-rich .hvl-art-note ul {
	margin-bottom: 0;
	padding-left: 22px;
	list-style: disc;
}

.elementor-widget-hvl-art-rich .hvl-art-note--soft {
	background: var(--e-global-color-azur_50, #eef8fd);
	box-shadow: inset 0 0 0 1px rgba(8, 115, 159, 0.18);
}

.elementor-widget-hvl-art-rich .hvl-art-body p.hvl-art-note__lbl {
	margin: 0 0 8px;
	font-family: var(--hvl-art-mono);
	font-size: 11.5px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--e-global-color-primary, #08739f);
}

.elementor-widget-hvl-art-rich .hvl-art-tablewrap {
	margin: 24px 0 28px;
	border-radius: 20px;
	padding: 20px 22px;
	background: #fff;
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-art-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-size: 15px;
	line-height: 1.55;
	color: var(--e-global-color-text, #14161d);
}

@media (min-width: 700px) {
	.elementor-widget-hvl-art-rich .hvl-art-table th:nth-child(1) {
		width: 20%;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table th:nth-child(2) {
		width: 19%;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table th:nth-child(3) {
		width: 19%;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table th:nth-child(4) {
		width: 42%;
	}
}

.elementor-widget-hvl-art-rich .hvl-art-table caption {
	margin-bottom: 12px;
	max-width: var(--hvl-art-measure);
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich table.hvl-art-table tr > *:first-child {
	padding-left: 0;
}

.elementor-widget-hvl-art-rich table.hvl-art-table tr > *:last-child {
	padding-right: 0;
}

.elementor-widget-hvl-art-rich table.hvl-art-table > thead > tr > th,
.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > th,
.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > td {
	padding: 12px;
	text-align: left;
	vertical-align: top;
	border: 0;
	border-bottom: 1px solid var(--hvl-art-line);
	background-color: transparent;
	overflow-wrap: break-word;
}

.elementor-widget-hvl-art-rich table.hvl-art-table > thead > tr > th {
	font-family: var(--hvl-art-mono);
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--e-global-color-gris, #6a6f7d);
	border-bottom-color: rgba(20, 22, 29, 0.2);
}

.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > th[scope="row"] {
	font-weight: 600;
}

.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr:last-child > th,
.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr:last-child > td {
	border-bottom: 0;
}

.elementor-widget-hvl-art-rich .hvl-art-table .hvl-art-todo,
.elementor-widget-hvl-art-rich .hvl-px-case .hvl-art-todo,
.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail .hvl-art-todo {
	white-space: normal;
}

@media (max-width: 699px) {
	.elementor-widget-hvl-art-rich .hvl-art-tablewrap {
		padding: 0;
		background: transparent;
		box-shadow: none;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table {
		display: block;
		font-size: 15.5px;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table caption {
		display: block;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table tbody {
		display: block;
	}

	.elementor-widget-hvl-art-rich .hvl-art-table tbody tr {
		display: block;
		margin-bottom: 12px;
		border-radius: 16px;
		padding: 16px 18px;
		background: #fff;
		box-shadow: var(--hvl-art-ring);
	}

	.elementor-widget-hvl-art-rich .hvl-art-table tbody tr:last-child {
		margin-bottom: 0;
	}

	.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > th[scope="row"] {
		display: block;
		padding: 0 0 10px;
		font-size: 17px;
		border-bottom: 1px solid var(--hvl-art-line);
	}

	.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > td {
		display: grid;
		grid-template-columns: minmax(0, 96px) minmax(0, 1fr);
		gap: 4px 12px;
		padding: 10px 0 0;
		border-bottom: 0;
	}

	.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > td::before {
		content: attr(data-label);
		font-family: var(--hvl-art-mono);
		font-size: 11px;
		line-height: 1.5;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		color: var(--e-global-color-gris, #6a6f7d);
	}
}

@media (max-width: 400px) {
	.elementor-widget-hvl-art-rich table.hvl-art-table > tbody > tr > td {
		grid-template-columns: minmax(0, 1fr);
		gap: 2px;
	}
}

.elementor-widget-hvl-art-rich .hvl-art-body figure {
	margin: 28px 0 !important;
	max-width: 720px;
}

.elementor-widget-hvl-art-rich .hvl-art-body figure > div {
	border-radius: 20px;
	padding: 16px;
	background: #fff;
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-art-body figcaption {
	margin: 12px 0 0;
	font-style: normal;
	max-width: var(--hvl-art-measure);
	font-size: 14px;
	line-height: 1.5;
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin: 22px 0;
	padding: 0;
	list-style: none;
	max-width: none;
}

@media (min-width: 620px) {
	.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	border-radius: 14px;
	padding: 14px 16px;
	background: #fff;
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail b {
	font-size: 15.5px;
	font-weight: 600;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body ul.hvl-px-rail span {
	max-width: var(--hvl-art-measure);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich .hvl-px-devis {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 24px 0;
}

@media (min-width: 640px) {
	.elementor-widget-hvl-art-rich .hvl-px-devis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.elementor-widget-hvl-art-rich .hvl-px-devis__col {
	border-radius: 18px;
	padding: 18px;
	background: #fff;
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-art-body p.hvl-px-devis__h {
	margin: 0 0 12px;
	font-family: var(--hvl-art-mono);
	font-size: 11.5px;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--e-global-color-primary, #08739f);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis ul {
	display: grid;
	grid-auto-rows: minmax(46px, auto);
	max-width: var(--hvl-art-measure);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
	line-height: 1.5;
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis li {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	gap: 10px;
	margin: 0;
	color: var(--e-global-color-text, #14161d);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis li i {
	margin-top: 5px;
	width: 12px;
	height: 12px;
	border-radius: 4px;
	background: color-mix(in srgb, var(--e-global-color-primary, #08739f) 16%, #fff);
	box-shadow: inset 0 0 0 1px rgba(8, 115, 159, 0.55);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis li.is-missing {
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis li.is-missing i {
	background: transparent;
	box-shadow: inset 0 0 0 1px rgba(20, 22, 29, 0.22);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-devis li em {
	display: block;
	margin-top: 1px;
	font-style: normal;
	font-family: var(--hvl-art-mono);
	font-size: 11.5px;
	letter-spacing: 0.02em;
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich .hvl-px-cases {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 24px 0;
}

@media (min-width: 900px) {
	.elementor-widget-hvl-art-rich .hvl-px-cases {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.elementor-widget-hvl-art-rich .hvl-px-case h3 {
		min-height: 70px;
	}
}

.elementor-widget-hvl-art-rich .hvl-px-case {
	border-radius: 20px;
	padding: 20px 18px;
	background: #fff;
	box-shadow: var(--hvl-art-ring);
}

.elementor-widget-hvl-art-rich .hvl-px-case__n {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin-bottom: 14px;
	border-radius: 50%;
	font-family: var(--hvl-art-mono);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--e-global-color-primary, #08739f);
	background: var(--e-global-color-azur_50, #eef8fd);
}

.elementor-widget-hvl-art-rich .hvl-art-body .hvl-px-case h3 {
	margin: 0 0 10px;
	font-size: 17px;
}

.elementor-widget-hvl-art-rich .hvl-px-case dl {
	margin: 0;
}

.elementor-widget-hvl-art-rich .hvl-px-case dt {
	margin-top: 12px;
	font-family: var(--hvl-art-mono);
	font-size: 11px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--e-global-color-gris, #6a6f7d);
}

.elementor-widget-hvl-art-rich .hvl-px-case dd {
	max-width: var(--hvl-art-measure);
	margin: 4px 0 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--e-global-color-text, #14161d);
}
