/*
 * HBF – Design des articles 1.0.2
 * Présentation seulement : le texte, les URL, les attributs des liens et le schéma restent intacts.
 */

body.hbfad-active {
	--hbfad-ink: #172e50;
	--hbfad-copy: #52667b;
	--hbfad-muted: #64788c;
	--hbfad-line: #d6e2ee;
	--hbfad-soft-line: #e7f0f8;
	--hbfad-blue: #295d91;
	--hbfad-blue-deep: #234f7c;
	--hbfad-sky: #76b7dc;
	--hbfad-coral: #ff6633;
	--hbfad-pale-blue: #f3f7fb;
	--hbfad-pale-sky: #e7f0f8;
	--hbfad-white: #fff;
	--hbfad-shadow-sm: 0 10px 26px rgba(23, 46, 80, .06);
	--hbfad-shadow-lg: 0 18px 46px rgba(23, 46, 80, .09);
}

/* The HBF theme already splits desktop posts into a 220px rail and an
 * 800px article. The editorial sections split the article again. Give the
 * scoped post a single full-width theme column before applying that split. */
@media (min-width: 64rem) {
	body.hbfad-active .article-layout {
		grid-template-columns: minmax(0, 1fr) !important;
		justify-content: stretch !important;
		column-gap: 0 !important;
		row-gap: clamp(1.4rem, 3vw, 2rem) !important;
	}

	body.hbfad-active .article-layout > .article-rail {
		display: flex !important;
		align-items: baseline;
		gap: 1.5rem;
		width: min(100%, 78rem) !important;
		max-width: 78rem !important;
		margin: 0 auto !important;
		padding: 0 0 1rem !important;
		border-bottom: 1px solid var(--hbfad-line);
	}

	body.hbfad-active .article-layout > .article-rail .article-rail__line {
		display: none;
	}

	body.hbfad-active .article-layout > .article-rail strong {
		flex: none;
	}

	body.hbfad-active .article-layout > .article-rail p {
		margin: 0;
	}
}

body.hbfad-active .hbfad-content {
	position: relative;
	width: min(100%, 78rem) !important;
	max-width: 78rem !important;
	min-width: 0 !important;
	margin-right: auto !important;
	margin-left: auto !important;
	transform: none !important;
	color: var(--hbfad-copy);
	font-size: 1.0625rem;
	line-height: 1.72;
	overflow-wrap: anywhere;
}

/* Keep the article hero disciplined even when the content below breaks wider. */
body.hbfad-active .hbfad-post-header {
	width: min(calc(100% - 1rem), 78rem) !important;
	max-width: 78rem !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.hbfad-active .hbfad-post-title {
	position: relative !important;
	left: auto !important;
	width: min(calc(100% - 1rem), 78rem) !important;
	max-width: 78rem !important;
	margin-right: auto !important;
	margin-left: auto !important;
	font-size: clamp(2.35rem, 1.95rem + 2vw, 4rem) !important;
	font-weight: 850 !important;
	letter-spacing: -.052em !important;
	line-height: 1.02 !important;
	text-wrap: balance;
	transform: none !important;
}

body.hbfad-active .hbfad-post-eyebrow {
	width: min(calc(100% - 1rem), 78rem) !important;
	max-width: 78rem !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.hbfad-active .hbfad-post-meta {
	display: block;
	width: min(calc(100% - 1rem), 78rem) !important;
	max-width: 78rem !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.hbfad-active .hbfad-featured-frame {
	position: relative !important;
	left: auto !important;
	display: block !important;
	width: min(calc(100% - 2rem), 48rem) !important;
	max-width: 48rem !important;
	margin: clamp(1.5rem, 3vw, 2.5rem) auto clamp(2rem, 4vw, 3.5rem) !important;
	overflow: hidden !important;
	border: .45rem solid #fff;
	border-radius: clamp(.75rem, 1.5vw, 1.2rem) !important;
	background: #f2f4f8;
	box-shadow: 0 16px 36px rgba(23, 46, 80, .12), .8rem .8rem 0 rgba(41, 93, 145, .13);
	aspect-ratio: 16 / 9;
	transform: none !important;
}

body.hbfad-active .hbfad-featured-frame.hbfad-featured-image,
body.hbfad-active .hbfad-featured-frame .hbfad-featured-image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	object-fit: cover !important;
	object-position: center center !important;
}

/* On wide screens, pair the heading with a contained photograph. The article
 * itself keeps the same outer width and a comfortable reading measure. */
@media (min-width: 75rem) {
	body.hbfad-active .article-shell {
		display: grid;
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
		align-items: stretch;
		column-gap: clamp(1.5rem, 3vw, 3rem);
		width: min(calc(100% - 2.5rem), 82.5rem);
		margin: 0 auto;
	}

	body.hbfad-active .article-shell > .hbfad-post-header {
		grid-column: 1;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
		border-left: .3rem solid var(--hbfad-coral);
	}

	body.hbfad-active .article-shell > .hbfad-post-header .article-hero__inner {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: clamp(3rem, 5vw, 5rem) clamp(2rem, 3.5vw, 3.5rem);
	}

	body.hbfad-active .article-shell > .hbfad-post-header .hbfad-post-title {
		width: 100% !important;
		font-size: clamp(2.45rem, 2.8vw, 3.25rem) !important;
		line-height: 1.06 !important;
	}

	body.hbfad-active .article-shell > .hbfad-featured-frame {
		grid-column: 2;
		align-self: stretch;
		width: 100% !important;
		max-width: none !important;
		height: 100%;
		margin: 0 !important;
		aspect-ratio: 4 / 3;
	}

	body.hbfad-active .article-shell > .hbfad-featured-frame .hbfad-featured-image {
		height: 100% !important;
	}

	body.hbfad-active .article-shell > .article-layout {
		grid-column: 1 / -1;
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

body.hbfad-active .hbfad-content *,
body.hbfad-active .hbfad-content *::before,
body.hbfad-active .hbfad-content *::after {
	box-sizing: border-box;
}

body.hbfad-active .hbfad-canvas,
body.hbfad-active .hbfad-article-section,
body.hbfad-active .hbfad-section-body,
body.hbfad-active .hbfad-subsections,
body.hbfad-active .hbfad-subsection {
	min-width: 0;
}

body.hbfad-active .hbfad-content img,
body.hbfad-active .hbfad-content video,
body.hbfad-active .hbfad-content iframe,
body.hbfad-active .hbfad-content embed,
body.hbfad-active .hbfad-content object,
body.hbfad-active .hbfad-content svg {
	max-width: 100%;
}

body.hbfad-active .hbfad-content img:not(.avatar) {
	height: auto;
	border-radius: 1.15rem;
}

body.hbfad-active .hbfad-content p,
body.hbfad-active .hbfad-content ul,
body.hbfad-active .hbfad-content ol,
body.hbfad-active .hbfad-content blockquote,
body.hbfad-active .hbfad-content pre,
body.hbfad-active .hbfad-content figure {
	max-width: 100%;
	margin-top: 0;
	margin-bottom: 1.25em;
}

body.hbfad-active .hbfad-content p:last-child,
body.hbfad-active .hbfad-content ul:last-child,
body.hbfad-active .hbfad-content ol:last-child,
body.hbfad-active .hbfad-content figure:last-child {
	margin-bottom: 0;
}

body.hbfad-active .hbfad-content strong {
	color: var(--hbfad-ink);
	font-weight: 760;
}

body.hbfad-active .hbfad-content a:not(.wp-block-button__link):not(.vc_btn3) {
	color: var(--hbfad-blue-deep);
	font-weight: 700;
	text-decoration-color: rgba(41, 93, 145, .34);
	text-decoration-thickness: .1em;
	text-underline-offset: .2em;
	transition: color 160ms ease, text-decoration-color 160ms ease;
}

body.hbfad-active .hbfad-content a:not(.wp-block-button__link):not(.vc_btn3):hover,
body.hbfad-active .hbfad-content a:not(.wp-block-button__link):not(.vc_btn3):focus-visible {
	color: #234f7c;
	text-decoration-color: var(--hbfad-sky);
}

body.hbfad-active .hbfad-content .hbfad-external-link::after {
	display: inline-block;
	margin-left: .2em;
	content: "↗";
	font-size: .7em;
	font-weight: 900;
	line-height: 1;
	text-decoration: none;
	transform: translateY(-.12em);
}

body.hbfad-active .hbfad-content .hbfad-toc .hbfad-external-link::after {
	display: none;
}

body.hbfad-active .hbfad-content a:focus-visible,
body.hbfad-active .hbfad-content button:focus-visible,
body.hbfad-active .hbfad-content [tabindex="0"]:focus-visible {
	border-radius: .25rem;
	outline: 3px solid rgba(118, 183, 220, .42);
	outline-offset: 4px;
}

body.hbfad-active .hbfad-content h2,
body.hbfad-active .hbfad-content h3,
body.hbfad-active .hbfad-content h4 {
	color: var(--hbfad-ink);
	font-weight: 820;
	letter-spacing: -.035em;
	line-height: 1.16;
	text-wrap: balance;
}

body.hbfad-active .hbfad-content h2[id],
body.hbfad-active .hbfad-content h3[id] {
	scroll-margin-top: 7.5rem;
}

/* Introductory copy stays open and readable instead of becoming another card. */
body.hbfad-active .hbfad-content .hbfad-intro-copy {
	width: min(100%, 72rem);
	margin-right: auto;
	margin-left: auto;
	color: #52667b;
}

body.hbfad-active .hbfad-content .hbfad-lead {
	position: relative;
	padding-left: 1rem;
	color: var(--hbfad-ink);
	font-size: clamp(1.18rem, 1.06rem + .52vw, 1.48rem);
	font-weight: 570;
	letter-spacing: -.018em;
	line-height: 1.58;
}

body.hbfad-active .hbfad-content .hbfad-lead::before {
	position: absolute;
	top: .16em;
	bottom: .16em;
	left: 0;
	width: .23rem;
	border-radius: 999px;
	background: linear-gradient(180deg, var(--hbfad-sky), var(--hbfad-blue));
	content: "";
}

/* Large, numbered editorial sections. Mobile is the baseline layout. */
body.hbfad-active .hbfad-content .hbfad-article-section {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.25rem;
	margin: 3rem 0;
	padding-top: 2.4rem;
	border-top: 1px solid var(--hbfad-line);
}

body.hbfad-active .hbfad-content .hbfad-section-head {
	display: grid;
	grid-template-columns: 3.4rem minmax(0, 1fr);
	align-items: start;
	gap: 1rem;
}

body.hbfad-active .hbfad-content .hbfad-section-number {
	display: grid;
	place-items: center;
	width: 3.4rem;
	height: 3.4rem;
	border: 1px solid rgba(41, 93, 145, .17);
	border-radius: 1rem;
	color: var(--hbfad-blue-deep);
	background: linear-gradient(145deg, #e7f0f8, #f3f7fb);
	box-shadow: 0 9px 22px rgba(41, 93, 145, .1);
	font-size: .82rem;
	font-weight: 900;
	letter-spacing: .12em;
	line-height: 1;
}

body.hbfad-active .hbfad-content .hbfad-section-title {
	margin: .08rem 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--hbfad-ink) !important;
	background: none !important;
	font-size: clamp(1.75rem, 1.42rem + 1.25vw, 2.75rem) !important;
	font-weight: 850 !important;
	letter-spacing: -.048em !important;
	line-height: 1.06 !important;
}

body.hbfad-active .hbfad-content .hbfad-section-title::before,
body.hbfad-active .hbfad-content .hbfad-section-title::after {
	display: none !important;
	content: none !important;
}

body.hbfad-active .hbfad-content .hbfad-section-body {
	position: relative;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

body.hbfad-active .hbfad-content .hbfad-article-section:nth-of-type(even) .hbfad-section-body {
	background: transparent;
}

body.hbfad-active .hbfad-content .hbfad-article-section--warning .hbfad-section-number {
	border-color: rgba(255, 102, 51, .25);
	color: #ad3913;
	background: #fff4ee;
}

body.hbfad-active .hbfad-content .hbfad-article-section--action .hbfad-section-number {
	border-color: rgba(118, 183, 220, .26);
	color: #295d91;
	background: #e7f0f8;
}

body.hbfad-active .hbfad-content .hbfad-section-body > h3,
body.hbfad-active .hbfad-content .hbfad-subsection__title {
	margin: 2rem 0 .75rem;
	font-size: clamp(1.32rem, 1.2rem + .42vw, 1.7rem);
}

body.hbfad-active .hbfad-content .hbfad-section-body > h3:first-child {
	margin-top: 0;
}

body.hbfad-active .hbfad-content .hbfad-section-body > ul,
body.hbfad-active .hbfad-content .hbfad-section-body > ol,
body.hbfad-active .hbfad-content .hbfad-subsection > ul,
body.hbfad-active .hbfad-content .hbfad-subsection > ol {
	padding-left: 1.35rem;
}

body.hbfad-active .hbfad-content li {
	margin: .52em 0;
	padding-left: .2em;
}

body.hbfad-active .hbfad-content li::marker {
	color: var(--hbfad-blue);
	font-weight: 850;
}

/* Short H3 groups become efficient cards; longer groups remain an editorial flow. */
body.hbfad-active .hbfad-content .hbfad-subsections {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .85rem;
	margin-top: 1.5rem;
}

body.hbfad-active .hbfad-content .hbfad-subsection {
	position: relative;
	padding: 1.2rem;
	border: 1px solid var(--hbfad-line);
	border-radius: 1rem;
	background: var(--hbfad-white);
}

body.hbfad-active .hbfad-content .hbfad-subsection::before {
	position: absolute;
	top: -.06rem;
	right: 1rem;
	left: 1rem;
	height: .18rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--hbfad-sky), var(--hbfad-blue));
	content: "";
	opacity: .7;
}

body.hbfad-active .hbfad-content .hbfad-subsection__title {
	margin-top: .2rem !important;
	font-size: clamp(1.2rem, 1.12rem + .35vw, 1.48rem) !important;
	line-height: 1.24 !important;
}

body.hbfad-active .hbfad-content .hbfad-subsections--flow {
	display: block;
}

body.hbfad-active .hbfad-content .hbfad-subsections--flow .hbfad-subsection {
	margin: 0;
	padding: 1.8rem 0;
	border-width: 1px 0 0;
	border-radius: 0;
	background: transparent;
}

body.hbfad-active .hbfad-content .hbfad-subsections--flow .hbfad-subsection::before {
	display: none;
}

body.hbfad-active .hbfad-content .hbfad-faq-item {
	padding: 1.55rem 0;
	border-color: var(--hbfad-line);
	background: transparent;
}

body.hbfad-active .hbfad-content .hbfad-faq-item .hbfad-subsection__title::before {
	display: none;
	content: none;
}

/* Points clés: strong visual summary with compact, scan-friendly items. */
body.hbfad-active .hbfad-content .hbfad-key-points {
	position: relative;
	width: 100%;
	margin: 2.4rem 0 3.25rem !important;
	padding: 1.35rem !important;
	overflow: hidden;
	border: 1px solid rgba(118, 183, 220, .22) !important;
	border-radius: 1.35rem !important;
	background: linear-gradient(145deg, #e7f0f8 0%, #fff 48%, #f3f7fb 100%) !important;
	box-shadow: var(--hbfad-shadow-sm) !important;
}

body.hbfad-active .hbfad-content .hbfad-key-points::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: .24rem;
	background: linear-gradient(90deg, var(--hbfad-sky), var(--hbfad-blue));
	content: "";
}

body.hbfad-active .hbfad-content .hbfad-key-points__title,
body.hbfad-active .hbfad-content .hbfad-key-points > h2 {
	margin: 0 0 1rem !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--hbfad-ink) !important;
	background: none !important;
	font-size: clamp(1.55rem, 1.37rem + .7vw, 2.1rem) !important;
	line-height: 1.1 !important;
}

body.hbfad-active .hbfad-content .hbfad-key-points > h2::before,
body.hbfad-active .hbfad-content .hbfad-key-points > h2::after {
	display: none !important;
}

body.hbfad-active .hbfad-content .hbfad-key-points > ul,
body.hbfad-active .hbfad-content .hbfad-key-points > ol {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 0 !important;
	padding: 0 !important;
	gap: .15rem 1.25rem;
	list-style: none;
}

body.hbfad-active .hbfad-content .hbfad-key-points > ul > li,
body.hbfad-active .hbfad-content .hbfad-key-points > ol > li {
	position: relative;
	margin: 0;
	padding: .85rem .1rem .85rem 2rem;
	border-bottom: 1px solid rgba(42, 59, 94, .1);
}

body.hbfad-active .hbfad-content .hbfad-key-points > ul > li::before,
body.hbfad-active .hbfad-content .hbfad-key-points > ol > li::before {
	position: absolute;
	top: 1rem;
	left: .08rem;
	display: grid;
	place-items: center;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	color: #fff;
	background: var(--hbfad-blue);
	content: "✓";
	font-size: .7rem;
	font-weight: 900;
}

/* Wide contents panel. */
body.hbfad-active .hbfad-content .hbfad-toc {
	position: relative;
	width: 100%;
	margin: 2.25rem 0 3.35rem !important;
	padding: 1.3rem !important;
	overflow: hidden;
	border: 1px solid rgba(41, 93, 145, .17) !important;
	border-radius: 1.2rem !important;
	background:
		radial-gradient(circle at 95% -20%, rgba(118, 183, 220, .2), transparent 42%),
		linear-gradient(135deg, #f0faff 0%, #f3f7fb 100%) !important;
	box-shadow: var(--hbfad-shadow-lg) !important;
}

body.hbfad-active .hbfad-content .hbfad-toc::before {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: .25rem;
	background: linear-gradient(90deg, var(--hbfad-sky), #295d91, var(--hbfad-blue));
	content: "";
}

body.hbfad-active .hbfad-content .hbfad-toc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .85rem;
	padding-bottom: .9rem;
	border-bottom: 1px solid rgba(64, 76, 118, .12);
}

body.hbfad-active .hbfad-content .hbfad-toc__label {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: .12rem;
}

body.hbfad-active .hbfad-content .hbfad-toc__eyebrow {
	color: #295d91;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .14em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.hbfad-active .hbfad-content .hbfad-toc__title {
	color: var(--hbfad-ink);
	font-size: clamp(1.38rem, 1.27rem + .42vw, 1.75rem);
	font-weight: 850;
	letter-spacing: -.035em;
}

body.hbfad-active .hbfad-content .hbfad-toc__toggle {
	min-height: 2.45rem;
	padding: .55rem .78rem;
	border: 1px solid rgba(58, 67, 104, .15);
	border-radius: 999px;
	color: var(--hbfad-ink);
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 7px 20px rgba(42, 48, 90, .06);
	font: inherit;
	font-size: .78rem;
	font-weight: 780;
	cursor: pointer;
}

body.hbfad-active .hbfad-content .hbfad-toc__list,
body.hbfad-active .hbfad-content .hbfad-toc > ol,
body.hbfad-active .hbfad-content .hbfad-toc > ul {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: .85rem 0 0 !important;
	padding: 0 !important;
	gap: .45rem;
	list-style: none;
	counter-reset: hbfad-toc;
}

body.hbfad-active .hbfad-content .hbfad-toc.is-collapsed .hbfad-toc__list {
	display: none;
}

body.hbfad-active .hbfad-content .hbfad-toc__item,
body.hbfad-active .hbfad-content .hbfad-toc > ol > li,
body.hbfad-active .hbfad-content .hbfad-toc > ul > li {
	min-width: 0;
	margin: 0;
	padding: 0;
	counter-increment: hbfad-toc;
}

body.hbfad-active .hbfad-content .hbfad-toc__item > a,
body.hbfad-active .hbfad-content .hbfad-toc > ol > li > a,
body.hbfad-active .hbfad-content .hbfad-toc > ul > li > a {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	align-items: center;
	gap: .65rem;
	min-height: 3.2rem;
	padding: .58rem .7rem;
	border: 0;
	border-bottom: 1px solid rgba(73, 77, 123, .14);
	border-radius: 0;
	color: var(--hbfad-ink) !important;
	background: transparent;
	font-size: .84rem;
	font-weight: 730 !important;
	line-height: 1.35;
	text-decoration: none !important;
	transition: color 160ms ease, border-color 160ms ease;
}

body.hbfad-active .hbfad-content .hbfad-toc__number {
	display: grid;
	place-items: center;
	width: 1.85rem;
	height: 1.85rem;
	border-radius: .62rem;
	color: var(--hbfad-blue-deep);
	background: #f3f7fb;
	font-size: .67rem;
	font-weight: 900;
	letter-spacing: .06em;
}

body.hbfad-active .hbfad-content .hbfad-toc__item > a:hover,
body.hbfad-active .hbfad-content .hbfad-toc__item > a:focus-visible,
body.hbfad-active .hbfad-content .hbfad-toc > ol > li > a:hover,
body.hbfad-active .hbfad-content .hbfad-toc > ul > li > a:hover {
	border-color: rgba(41, 93, 145, .42);
	color: var(--hbfad-blue-deep) !important;
}

body.hbfad-active .hbfad-content .hbfad-toc--existing > h2,
body.hbfad-active .hbfad-content .hbfad-toc--existing > h3 {
	margin: 0 0 1rem !important;
	padding: 0 0 1rem !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(64, 76, 118, .12) !important;
	font-size: clamp(1.45rem, 1.3rem + .55vw, 1.95rem) !important;
}

/* Label-led AutoSEO paragraphs become structured comparison rows. */
body.hbfad-active .hbfad-content .hbfad-labelled-paragraph {
	margin-bottom: .7rem;
	padding: .95rem 1rem;
	border: 1px solid #e7f0f8;
	border-left: .25rem solid #76b7dc;
	border-radius: 0 .85rem .85rem 0;
	background: #f3f7fb;
}

/* Quotes, code and supporting blocks. */
body.hbfad-active .hbfad-content blockquote {
	position: relative;
	margin-inline: 0;
	padding: 1.3rem 1.25rem 1.3rem 1.55rem;
	border: 1px solid #dfe9f3;
	border-left: .28rem solid var(--hbfad-sky);
	border-radius: 0 1rem 1rem 0;
	color: #172e50;
	background: #f6fbfd;
	font-size: 1.02em;
	font-weight: 620;
}

body.hbfad-active .hbfad-content code {
	padding: .12em .34em;
	border-radius: .35rem;
	color: #234f7c;
	background: #f3f7fb;
	font-size: .88em;
	overflow-wrap: anywhere;
}

body.hbfad-active .hbfad-content pre {
	max-width: 100%;
	padding: 1.2rem;
	overflow-x: auto;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 1rem;
	color: #e7f0f8;
	background: #172e50;
	box-shadow: 0 14px 36px rgba(32, 38, 58, .12);
	-webkit-overflow-scrolling: touch;
}

body.hbfad-active .hbfad-content pre code {
	padding: 0;
	color: inherit;
	background: transparent;
	overflow-wrap: normal;
}

/* Tables always remain semantic tables. Only this inner region scrolls on narrow screens. */
body.hbfad-active .hbfad-content .hbfad-table-figure {
	width: 100% !important;
	max-width: 100% !important;
	overflow: visible !important;
}

body.hbfad-active .hbfad-content .hbfad-table-block {
	width: 100%;
	max-width: 100%;
	margin: 1.6rem 0;
}

body.hbfad-active .hbfad-content .hbfad-table-hint {
	display: flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 .55rem;
	color: var(--hbfad-muted);
	font-size: .76rem;
	font-weight: 700;
	line-height: 1.35;
}

body.hbfad-active .hbfad-content .hbfad-table-hint::before {
	content: "↔";
	color: var(--hbfad-blue);
	font-size: 1rem;
	font-weight: 900;
}

body.hbfad-active .hbfad-content .hbfad-table-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	border: 1px solid var(--hbfad-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: var(--hbfad-shadow-sm);
	overscroll-behavior-inline: contain;
	scrollbar-color: rgba(41, 93, 145, .42) #eef1f6;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}

body.hbfad-active .hbfad-content .hbfad-table-scroll::-webkit-scrollbar {
	height: .55rem;
}

body.hbfad-active .hbfad-content .hbfad-table-scroll::-webkit-scrollbar-track {
	background: #eef1f6;
}

body.hbfad-active .hbfad-content .hbfad-table-scroll::-webkit-scrollbar-thumb {
	border-radius: 999px;
	background: rgba(41, 93, 145, .42);
}

body.hbfad-active .hbfad-content table.hbfad-data-table {
	display: table !important;
	width: max(100%, var(--hbfad-table-min, 640px)) !important;
	min-width: var(--hbfad-table-min, 640px) !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 0 !important;
	background: #fff;
	table-layout: auto !important;
	overflow: visible !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table thead {
	display: table-header-group !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table tbody {
	display: table-row-group !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table tr {
	display: table-row !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table th,
body.hbfad-active .hbfad-content table.hbfad-data-table td {
	display: table-cell !important;
	padding: .9rem 1rem !important;
	border-width: 0 1px 1px 0 !important;
	border-style: solid !important;
	border-color: var(--hbfad-line) !important;
	background: #fff;
	text-align: left;
	vertical-align: top;
	white-space: normal;
}

body.hbfad-active .hbfad-content table.hbfad-data-table th {
	color: var(--hbfad-ink);
	background: linear-gradient(180deg, #f3f7fb, #e7f0f8);
	font-size: .86em;
	font-weight: 820;
}

body.hbfad-active .hbfad-content table.hbfad-data-table tbody tr:nth-child(even) td {
	background: #fbfcff;
}

body.hbfad-active .hbfad-content table.hbfad-data-table tr:last-child > * {
	border-bottom: 0 !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table tr > :last-child {
	border-right: 0 !important;
}

body.hbfad-active .hbfad-content table.hbfad-data-table caption {
	padding: .85rem 1rem;
	color: var(--hbfad-muted);
	background: #fff;
	font-size: .82rem;
	font-weight: 700;
	text-align: left;
}

/* Recognized AutoSEO and article-support blocks. */
body.hbfad-active .hbfad-content .hbfad-card-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: .85rem !important;
	margin: 1.5rem 0 !important;
}

body.hbfad-active .hbfad-content .hbfad-card-grid > section {
	min-width: 0 !important;
	padding: 1.2rem !important;
	border: 1px solid var(--hbfad-line) !important;
	border-top: .2rem solid var(--hbfad-blue) !important;
	border-radius: 1rem !important;
	background: #fff !important;
}

body.hbfad-active .hbfad-content .hbfad-card-grid > section:nth-child(even) {
	border-top-color: var(--hbfad-sky) !important;
}

body.hbfad-active .hbfad-content .hbfad-author-box {
	padding: 1.25rem !important;
	border: 1px solid var(--hbfad-line) !important;
	border-radius: 1.1rem !important;
	background: #f8f9fc !important;
	box-shadow: none !important;
}

body.hbfad-active .hbfad-content .hbfad-disclaimer {
	padding: 1rem 1.1rem !important;
	border: 1px solid var(--hbfad-line) !important;
	border-left: .25rem solid var(--hbfad-coral) !important;
	border-radius: .75rem !important;
	background: #fcfcfd !important;
}

/* Desktop keeps the approved compact article motion. */
html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal {
	opacity: 0 !important;
	filter: none !important;
	transition:
		opacity 260ms cubic-bezier(.2, .7, .25, 1),
		transform 310ms cubic-bezier(.2, .75, .25, 1) !important;
	transition-delay: 0ms !important;
	will-change: opacity, transform;
}

html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--up {
	transform: translate3d(0, .75rem, 0) !important;
}

html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--left {
	transform: translate3d(-.75rem, 0, 0) !important;
}

html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--right {
	transform: translate3d(.75rem, 0, 0) !important;
}

html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--scale {
	transform: translate3d(0, .35rem, 0) scale(.992) !important;
}

html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal.is-visible {
	opacity: 1 !important;
	transform: none !important;
	will-change: auto;
}

/* Mobile follows the stronger, directional rhythm used on the site's service pages. */
@media (max-width: 782px) and (prefers-reduced-motion: no-preference) {
	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal {
		opacity: .1 !important;
		transition-duration: 540ms, 600ms !important;
		transition-timing-function: cubic-bezier(.2, .72, .28, 1) !important;
		transition-delay: var(--hbfad-delay, 0ms) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--up {
		transform: translate3d(0, 30px, 0) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--left {
		transform: translate3d(-28px, 0, 0) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--right {
		transform: translate3d(28px, 0, 0) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--scale {
		transform: translate3d(0, 22px, 0) scale(.95) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-section-head.hbfad-reveal .hbfad-section-number {
		transform: scale(.7) rotate(-5deg);
		transition: transform 560ms cubic-bezier(.2, .72, .28, 1);
		transition-delay: calc(var(--hbfad-delay, 0ms) + 70ms);
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal.is-visible {
		opacity: 1 !important;
		transform: none !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-section-head.hbfad-reveal.is-visible .hbfad-section-number {
		transform: scale(1) rotate(0);
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal.hbfad-fast {
		transition-duration: 220ms, 260ms !important;
		transition-delay: 0ms !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-section-head.hbfad-reveal.hbfad-fast .hbfad-section-number {
		transition-duration: 260ms;
		transition-delay: 0ms;
	}
}

@media (min-width: 48rem) {
	body.hbfad-active .hbfad-content {
		width: min(100%, 78rem) !important;
		font-size: clamp(1.05rem, 1.01rem + .16vw, 1.13rem);
		line-height: 1.76;
	}

	body.hbfad-active .hbfad-content .hbfad-lead {
		padding-left: 1.25rem;
	}

	body.hbfad-active .hbfad-content .hbfad-section-body {
		padding: 0;
	}

	body.hbfad-active .hbfad-content .hbfad-subsections--grid,
	body.hbfad-active .hbfad-content .hbfad-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.hbfad-active .hbfad-content .hbfad-key-points,
	body.hbfad-active .hbfad-content .hbfad-toc {
		padding: 1.55rem !important;
	}

	body.hbfad-active .hbfad-content .hbfad-key-points > ul,
	body.hbfad-active .hbfad-content .hbfad-key-points > ol,
	body.hbfad-active .hbfad-content .hbfad-toc__list,
	body.hbfad-active .hbfad-content .hbfad-toc > ol,
	body.hbfad-active .hbfad-content .hbfad-toc > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.hbfad-active .hbfad-content .hbfad-table-hint {
		display: none;
	}

	body.hbfad-active .hbfad-content .hbfad-table-block {
		margin: 2rem 0;
	}
}

@media (min-width: 64rem) {
	body.hbfad-active .hbfad-content .hbfad-article-section {
		grid-template-columns: minmax(13.5rem, 16.5rem) minmax(0, 1fr);
		align-items: start;
		gap: clamp(2.25rem, 3.4vw, 3.5rem);
		margin: 3.65rem 0;
		padding: 3.4rem 0 0;
	}

	body.hbfad-active .hbfad-content .hbfad-section-head {
		position: sticky;
		top: 8rem;
		display: block;
	}

	body.hbfad-active .hbfad-content .hbfad-section-number {
		width: 3.55rem;
		height: 3.55rem;
		margin-bottom: 1rem;
		border-radius: 1rem;
		font-size: .8rem;
	}

	body.hbfad-active .hbfad-content .hbfad-section-title {
		font-size: clamp(1.82rem, 1.52rem + .72vw, 2.3rem) !important;
	}

	body.hbfad-active .hbfad-content .hbfad-section-body {
		padding: 0;
		border-radius: 0;
	}

	body.hbfad-active .hbfad-content .hbfad-toc__list,
	body.hbfad-active .hbfad-content .hbfad-toc > ol,
	body.hbfad-active .hbfad-content .hbfad-toc > ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.hbfad-active .hbfad-content .hbfad-subsections--grid:not(.hbfad-subsections--two) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.hbfad-active .hbfad-content .hbfad-subsection {
		padding: 1.45rem;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal {
		transition-duration: 340ms, 390ms !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--up {
		transform: translate3d(0, 1rem, 0) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--left {
		transform: translate3d(-1.1rem, 0, 0) !important;
	}

	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal--right {
		transform: translate3d(1.1rem, 0, 0) !important;
	}
}

@media (min-width: 80rem) {
	body.hbfad-active .hbfad-content {
		width: min(100%, 78rem) !important;
	}

	body.hbfad-active .hbfad-content .hbfad-article-section {
		grid-template-columns: minmax(14rem, 17rem) minmax(0, 1fr);
		gap: clamp(2.75rem, 3.6vw, 4rem);
	}

	body.hbfad-active .hbfad-content .hbfad-key-points,
	body.hbfad-active .hbfad-content .hbfad-toc {
		padding: 1.65rem 1.8rem !important;
	}

	body.hbfad-active .hbfad-content .hbfad-subsections--grid:not(.hbfad-subsections--two) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 30rem) {
	body.hbfad-active .hbfad-content .hbfad-toc__header {
		align-items: flex-start;
		flex-direction: column;
	}

	body.hbfad-active .hbfad-content .hbfad-toc__toggle {
		width: 100%;
	}

	body.hbfad-active .hbfad-content .hbfad-section-head {
		grid-template-columns: 3rem minmax(0, 1fr);
		gap: .8rem;
	}

	body.hbfad-active .hbfad-content .hbfad-section-number {
		width: 3rem;
		height: 3rem;
		border-radius: .85rem;
	}

	body.hbfad-active .hbfad-content .hbfad-key-points,
	body.hbfad-active .hbfad-content .hbfad-toc {
		padding: 1.05rem !important;
		border-radius: 1.05rem !important;
	}

	body.hbfad-active .hbfad-content .hbfad-section-title {
		font-size: clamp(1.58rem, 8vw, 2rem) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal,
	html.hbfad-motion-ready body.hbfad-active .hbfad-content .hbfad-reveal.is-visible {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	body.hbfad-active .hbfad-content *,
	body.hbfad-active .hbfad-content *::before,
	body.hbfad-active .hbfad-content *::after {
		scroll-behavior: auto !important;
	}
}

@media print {
	body.hbfad-active .hbfad-content {
		position: static !important;
		left: auto !important;
		width: 100% !important;
		transform: none !important;
	}

	body.hbfad-active .hbfad-content .hbfad-article-section {
		display: block;
		break-inside: avoid;
	}

	body.hbfad-active .hbfad-content .hbfad-section-head {
		position: static;
	}

	body.hbfad-active .hbfad-content .hbfad-toc__toggle,
	body.hbfad-active .hbfad-content .hbfad-table-hint {
		display: none !important;
	}

	body.hbfad-active .hbfad-content .hbfad-table-scroll {
		overflow: visible;
	}
}
