.hvl-pc {
	--pc-size: 16px;
	--pc-ink: var(--e-global-color-text, #14161d);
	--pc-mute: var(--e-global-color-gris, #6a6f7d);
	--pc-brand: var(--e-global-color-primary, #08739f);
	--pc-ring: rgba(20, 22, 29, 0.09);
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	letter-spacing: normal;
}

.hvl-pc__k {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--pc-mute);
}

.hvl-pc__k span {
	color: var(--pc-brand);
}

.hvl-pc__k::after {
	content: "";
	flex: 0 0 40px;
	height: 1px;
	background: rgba(20, 22, 29, 0.16);
}

.hvl-pc__pills {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
}

.hvl-pc__h {
	margin: 0 0 14px;
	font-weight: 600;
	color: var(--pc-ink);
	text-wrap: balance;
	scroll-margin-top: 92px;
}

.hvl-pc__h--h2 {
	font-size: 23px;
	line-height: 1.2;
	letter-spacing: -0.03em;
}

@media (min-width: 810px) {
	.hvl-pc__h--h2 {
		font-size: 27px;
	}
}

.hvl-pc__h--h3 {
	margin: 0 0 10px;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.02em;
}

.hvl-pc__h--sub {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.015em;
}

.hvl-pc__body {
	font-size: var(--pc-size);
	line-height: 1.65;
	color: var(--pc-mute);
}

.hvl-pc__body > :last-child {
	margin-bottom: 0;
}

.hvl-pc__body p {
	margin: 0 0 14px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.hvl-pc__body ul,
.hvl-pc__body ol {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
}

.hvl-pc__body li {
	position: relative;
	margin: 0 0 11px;
	padding-left: 18px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.hvl-pc__body li:last-child {
	margin-bottom: 0;
}

.hvl-pc__body li::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--pc-brand) 55%, transparent);
}

.hvl-pc__body strong {
	font-weight: 600;
	color: var(--pc-ink);
}

.hvl-pc__body a {
	color: var(--pc-brand);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}

.hvl-pc__body a:hover {
	color: var(--e-global-color-azur_700, #075c7f);
}

.hvl-pc__body a:focus-visible {
	outline: 2px solid var(--pc-brand);
	outline-offset: 2px;
}

.hvl-pc__body--measure p,
.hvl-pc__body--measure li {
	max-width: 56ch;
}

.hvl-pc--lede {
	text-align: center;
}

.hvl-pc--lede .hvl-pc__body {
	--pc-size: 16.5px;
	line-height: 1.6;
	letter-spacing: -0.01em;
}

.hvl-pc--lede .hvl-pc__body p,
.hvl-pc--lede .hvl-pc__body--measure p {
	max-width: 52ch;
	margin-inline: auto;
}

.hvl-pc--lede .hvl-pc__pills {
	justify-content: center;
}

.hvl-pc--card {
	max-width: 700px;
	margin-inline: auto;
	border-radius: 18px;
	padding: 18px 20px;
	text-align: left;
	background: var(--e-global-color-blanc, #fff);
	box-shadow: inset 0 0 0 1px rgba(20, 22, 29, 0.1);
}

.hvl-pc--card .hvl-pc__body {
	--pc-size: 14.5px;
	line-height: 1.6;
}

.hvl-pc--card .hvl-pc__body p {
	margin-bottom: 10px;
	max-width: none;
}

.hvl-pc-todo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border-radius: 6px;
	padding: 2px 7px;
	font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: normal;
	white-space: nowrap;
	color: #8a5a00;
	background: #fff6e2;
	box-shadow: inset 0 0 0 1px rgba(138, 90, 0, 0.18);
}

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

/* Le kit Elementor coiffe .elementor-widget-heading .elementor-heading-title
   avec la typographie des titres : la classe seule perd le départage. */
.elementor-widget-heading.hvl-pc-tag .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border-radius: 999px;
	padding: 6px 14px;
	font-family: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: normal;
	color: var(--e-global-color-gris, #6a6f7d);
	box-shadow: inset 0 0 0 1px rgba(20, 22, 29, 0.12);
}

.elementor-widget-heading.hvl-pc-tag b {
	font-weight: 500;
	color: var(--e-global-color-primary, #08739f);
}

/* Les sections de la page portent l'ancre du sommaire : le bandeau collant
   du site fait 56 à 64px, sans ce retrait l'ancre amène le titre dessous. */
.e-con.hvl-pc-sec {
	scroll-margin-top: 92px;
}

.e-con.hvl-pc-sec + .e-con.hvl-pc-sec {
	border-top: 1px solid rgba(20, 22, 29, 0.08);
}
