/**
 * Hirurgija Kila — canonical visual system.
 *
 * This file is deliberately loaded after legacy page and blog styles. New
 * spacing, typography or component changes belong here. Elementor controls
 * structure and content; this layer keeps those structures visually coherent.
 */

:root {
	/* Canvas and spacing */
	--hkds-canvas: 1520px;
	--hkds-reading: 1040px;
	--hkds-intro: 1180px;
	--hkds-lead: 1080px;
	--hkds-gutter: max(24px, calc((100% - var(--hkds-canvas)) / 2));
	/* Keep legacy homepage/internal variables on the same canonical axis. */
	--hkm-site-canvas: var(--hkds-canvas);
	--hkm-site-gutter: var(--hkds-gutter);
	--hkds-section-y: 80px;
	--hkds-section-y-compact: 64px;

	/* Type hierarchy */
	--hkds-title-size: 52px;
	--hkds-title-leading: 1.06;
	--hkds-subtitle-size: 42px;
	--hkds-eyebrow-size: 12px;
	--hkds-body-size: 16px;
	--hkds-body-leading: 1.7;

	/* Reusable surfaces */
	--hkds-paper: #f7f3ec;
	--hkds-white: #fff;
	--hkds-mist: #f1f6fa;
	--hkds-sand: #f4eee5;
	--hkds-ink: #08213d;
	--hkds-blue: #1556a0;
	--hkds-cyan: #34aedd;
	--hkds-rust: #bc5a48;
	--hkds-line: rgba(8,33,61,.14);
	--hkds-shadow: 0 18px 48px rgba(8,33,61,.07);
}

body.home { --hkm-home-gutter: var(--hkds-gutter); }

/* -------------------------------------------------------------------------- */
/* 1. One content canvas                                                      */
/* -------------------------------------------------------------------------- */

@media (min-width: 1030px) {
	body.home .elementor-element.hkm-hero,
	body.home .elementor-element.hkm-routes,
	body.home .elementor-element.hkm-editorial,
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-team-feature,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-journal,
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta {
		padding-right: var(--hkds-gutter) !important;
		padding-left: var(--hkds-gutter) !important;
	}

	/* The homepage hero photograph is the intentional full-bleed exception. */
	body.home .elementor-element.hkm-hero { padding-right: 0 !important; }

	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner,
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		box-sizing: border-box !important;
		width: min(calc(100% - 48px), var(--hkds-canvas)) !important;
		max-width: var(--hkds-canvas) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body:not(.home) .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body.single-post .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		padding-left: var(--hkds-gutter) !important;
	}

	body:not(.home) #content .elementor > .elementor-element.hk-final-cta--split,
	body.single-post #content .elementor > .elementor-element.hk-final-cta--split {
		padding-right: var(--hkds-gutter) !important;
		padding-left: var(--hkds-gutter) !important;
	}
}

/* -------------------------------------------------------------------------- */
/* 2. Type hierarchy                                                          */
/* -------------------------------------------------------------------------- */

body .hk-eyebrow,
body .hk-eyebrow p,
body .hk-page-eyebrow,
body .hk-page-eyebrow p,
body .hkm-signal-label,
body .hkm-signal-label p {
	font-size: var(--hkds-eyebrow-size) !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
}

body.home .hkm-editorial__copy h2,
body.home .hkm-conditions .hkm-section-head h2,
body.home .hkm-treatment__head h2,
body.home .hkm-team-feature__copy h2,
body.home .hkm-journey .hkm-section-head h2,
body.home .hkm-journal__intro h2,
body.home .hkm-urgent__heading h2,
body.home .hkm-final-cta__heading h2,
body:not(.home) .hk-section .hk-section-title .elementor-heading-title,
body.single-post .hk-article-opening > .elementor-widget-heading .elementor-heading-title,
body.single-post .hk-article-section .hk-section-title .elementor-heading-title,
body.single-post .hk-article-alert .elementor-heading-title,
body:not(.home) .hk-final-cta--split .elementor-heading-title {
	font-size: var(--hkds-title-size) !important;
	line-height: var(--hkds-title-leading) !important;
}

body:not(.home) .hk-toc-panel .hk-section-title .elementor-heading-title,
body.single-post .hk-toc-panel .hk-section-title .elementor-heading-title {
	font-size: 38px !important;
	line-height: 1.08 !important;
}

/* Prose stays narrow enough to scan even while media and card grids go wide. */
body:not(.home) .hk-prose,
body:not(.home) .hk-article-prose,
body.single-post .hk-article-opening > .elementor-widget-text-editor {
	max-width: var(--hkds-reading) !important;
}

/* -------------------------------------------------------------------------- */
/* 3. Predictable vertical rhythm                                             */
/* -------------------------------------------------------------------------- */

@media (min-width: 1030px) {
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-team-feature,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-journal {
		padding-top: var(--hkds-section-y) !important;
		padding-bottom: var(--hkds-section-y) !important;
	}
	body.home .elementor-element.hkm-urgent {
		padding-top: var(--hkds-section-y-compact) !important;
		padding-bottom: var(--hkds-section-y-compact) !important;
	}
	body.home .elementor-element.hkm-final-cta {
		padding-top: 72px !important;
		padding-bottom: 72px !important;
	}

	body:not(.home) #content .elementor > .elementor-element.hk-final-cta--split {
		padding-top: 72px !important;
		padding-bottom: 72px !important;
	}
}

/* Article opening and alert keep a fluid reading measure; their vertical
 * rhythm is native Elementor padding. */
body.single-post #content .elementor > .elementor-element.hk-article-opening {
	padding-inline: max(24px,calc((100% - 920px) / 2)) !important;
}
body.single-post #content .elementor > .elementor-element.hk-article-alert {
	padding-inline: max(24px,calc((100% - 1180px) / 2)) !important;
}
@media (max-width: 767px) {
	body.single-post #content .elementor > .elementor-element.hk-article-opening,
	body.single-post #content .elementor > .elementor-element.hk-article-alert {
		padding-inline: 20px !important;
	}
}

/* -------------------------------------------------------------------------- */
/* 4. Components: actions, cards and focus                                    */
/* -------------------------------------------------------------------------- */

body .hk-button--primary .elementor-button,
body .hk-button--outline .elementor-button,
body .hkm-urgent__content > .elementor-widget-button .elementor-button,
body .hk-final-cta .elementor-button,
body .hkm-final-cta .elementor-button {
	display: inline-flex !important;
	min-height: 52px !important;
	padding: 0 26px !important;
	align-items: center !important;
	justify-content: center !important;
	border-width: 1px !important;
	border-style: solid !important;
	border-radius: 0 !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}

body .hk-button--primary .elementor-button:hover,
body .hk-button--outline .elementor-button:hover,
body .hk-final-cta .elementor-button:hover,
body .hkm-final-cta .elementor-button:hover {
	transform: translateY(-2px);
}

body .elementor-button:focus-visible,
body a:focus-visible {
	outline: 3px solid rgba(52,174,221,.58) !important;
	outline-offset: 3px !important;
}

/* Keep all four homepage condition cards the same height during hover. */
body.home .hkm-condition,
body.home .hkm-condition:hover,
body.home .hkm-condition:focus-within {
	min-height: 394px !important;
	height: 394px !important;
}
body.home .hkm-condition > .elementor-widget-button {
	margin-top: auto !important;
}

/* Cards one to three exchange emphasis; the fourth track never participates.
 * Keeping the same total fraction across all states makes the final card
 * mathematically stable throughout the animation. */
@media (min-width: 1030px) {
	body.home .elementor-element.hkm-condition-grid {
		display: grid !important;
		grid-template-columns: minmax(0,1.22fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) !important;
		gap: 0 !important;
		transition: grid-template-columns .28s ease !important;
	}
	body.home .elementor-element.hkm-condition,
	body.home .elementor-element.hkm-condition:first-child,
	body.home .elementor-element.hkm-condition:hover,
	body.home .elementor-element.hkm-condition:focus-within {
		width: auto !important;
		min-width: 0 !important;
		flex: none !important;
		flex-grow: 0 !important;
		transition: color .22s ease, background-color .22s ease !important;
	}
	body.home .elementor-element.hkm-condition-grid:has(> .hkm-condition:nth-child(2):hover) {
		grid-template-columns: minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr) minmax(0,1fr) !important;
	}
	body.home .elementor-element.hkm-condition-grid:has(> .hkm-condition:nth-child(3):hover) {
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.22fr) minmax(0,1fr) !important;
	}
	body.home .elementor-element.hkm-condition-grid:has(> .hkm-condition:nth-child(2):hover, > .hkm-condition:nth-child(3):hover) > .hkm-condition:first-child {
		background: transparent !important;
	}
	body.home .elementor-element.hkm-condition-grid > .hkm-condition:nth-child(2):hover,
	body.home .elementor-element.hkm-condition-grid > .hkm-condition:nth-child(3):hover {
		background: var(--hkm-blue) !important;
	}
}

/* The urgent panel is information first and uses one predictable action row. */
body.home .hkm-urgent__content {
	box-shadow: var(--hkds-shadow) !important;
}
body.home .hkm-urgent__note { max-width: 720px; }

/* Homepage journal: a real dynamic content module rather than another CTA.
 * The cards stay connected to the global grid and update automatically. */
body.home .elementor-element.hkm-journal {
	display: flex !important;
	width: 100% !important;
	gap: 42px !important;
	flex-direction: column !important;
	background: var(--hkds-mist) !important;
}
body.home .elementor-element.hkm-journal__head {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: minmax(0,1fr) auto !important;
	gap: 40px !important;
	align-items: end !important;
}
body.home .hkm-journal__intro {
	display: flex !important;
	width: min(100%,880px) !important;
	gap: 14px !important;
	flex-direction: column !important;
}
body.home .hkm-journal__intro h2 {
	max-width: 820px !important;
	margin: 0 !important;
}
body.home .hkm-journal__intro p {
	max-width: 760px !important;
	margin: 0 !important;
}
body.home .hkm-journal__all { align-self: end !important; }
body.home .hkm-journal__all .elementor-button {
	padding-right: 0 !important;
	padding-left: 0 !important;
	color: var(--hkds-blue) !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(21,86,160,.42) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.home .hkm-journal__feed,
body.home .hkm-journal__feed > .elementor-widget-container { width: 100% !important; }
body.home .hkm-journal-grid {
	display: grid !important;
	width: 100% !important;
	grid-template-columns: repeat(3,minmax(0,1fr)) !important;
	border-top: 4px solid var(--hkds-cyan) !important;
	border-bottom: 1px solid var(--hkds-line) !important;
	background: var(--hkds-white) !important;
}
body.home .hkm-journal-card {
	min-width: 0 !important;
	margin: 0 !important;
	border-right: 1px solid var(--hkds-line) !important;
	background: var(--hkds-white) !important;
}
body.home .hkm-journal-card:last-child { border-right: 0 !important; }
body.home .hkm-journal-card__link {
	display: flex !important;
	height: 100% !important;
	color: var(--hkds-ink) !important;
	flex-direction: column !important;
	text-decoration: none !important;
}
body.home .hkm-journal-card__media {
	position: relative !important;
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	overflow: hidden !important;
	background: linear-gradient(135deg,#dcebf3,#eef5f8) !important;
}
body.home .hkm-journal-card__image {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	transition: transform .35s ease !important;
}
body.home .hkm-journal-card__body {
	display: flex !important;
	min-height: 282px !important;
	padding: 28px 30px 30px !important;
	gap: 16px !important;
	flex: 1 !important;
	flex-direction: column !important;
	transition: color .22s ease, background-color .22s ease !important;
}
body.home .hkm-journal-card__meta {
	display: flex !important;
	gap: 18px !important;
	justify-content: space-between !important;
	color: var(--hkds-blue) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}
body.home .hkm-journal-card__body h3 {
	margin: 0 !important;
	color: inherit !important;
	font-family: "DM Serif Display",Georgia,serif !important;
	font-size: clamp(25px,1.8vw,31px) !important;
	font-weight: 400 !important;
	line-height: 1.12 !important;
}
body.home .hkm-journal-card__body p {
	margin: 0 !important;
	color: #536a7e !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
}
body.home .hkm-journal-card__action {
	display: inline-flex !important;
	width: fit-content !important;
	margin-top: auto !important;
	padding-bottom: 6px !important;
	color: var(--hkds-blue) !important;
	border-bottom: 1px solid currentColor !important;
	font-size: 13px !important;
	font-weight: 700 !important;
}
@media (hover: hover) and (pointer: fine) {
	body.home .hkm-journal-card__link:hover .hkm-journal-card__image { transform: scale(1.035); }
	body.home .hkm-journal-card__link:hover .hkm-journal-card__body {
		color: #fff !important;
		background: var(--hkds-blue) !important;
	}
	body.home .hkm-journal-card__link:hover .hkm-journal-card__meta,
	body.home .hkm-journal-card__link:hover .hkm-journal-card__body p,
	body.home .hkm-journal-card__link:hover .hkm-journal-card__action { color: rgba(255,255,255,.9) !important; }
}

/* Anchors always land below a future sticky header. */
body [id] { scroll-margin-top: 112px; }

/* -------------------------------------------------------------------------- */
/* 5. Responsive system                                                       */
/* -------------------------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1029px) {
	:root {
		--hkds-gutter: 32px;
		--hkds-section-y: 68px;
		--hkds-section-y-compact: 56px;
		--hkds-title-size: 44px;
		--hkds-subtitle-size: 36px;
	}
	body.home .elementor-element.hkm-hero,
	body.home .elementor-element.hkm-routes,
	body.home .elementor-element.hkm-editorial,
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-team-feature,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-journal,
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta {
		padding-right: var(--hkds-gutter) !important;
		padding-left: var(--hkds-gutter) !important;
	}
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner,
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		width: calc(100% - 64px) !important;
	}

	/* Astra's desktop navigation wraps at this width. Its existing mobile
	 * header is clearer and avoids a two-line navigation bar. */
	#masthead > div:first-child { display: none !important; }
	#masthead > .ast-mobile-header-wrap { display: block !important; }
	#masthead > .ast-mobile-header-wrap .ast-primary-header-bar > .ast-builder-grid-row {
		width: calc(100% - 64px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	/* Two generous columns scan better than four compressed cards. */
	body.home .elementor-element.hkm-condition-grid {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 0 !important;
	}
	body.home .elementor-element.hkm-journal {
		padding-top: var(--hkds-section-y) !important;
		padding-bottom: var(--hkds-section-y) !important;
	}
	body.home .hkm-journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
	body.home .hkm-journal-card:nth-child(2) { border-right: 0 !important; }
	body.home .hkm-journal-card:last-child {
		grid-column: 1 / -1 !important;
		border-top: 1px solid var(--hkds-line) !important;
	}
	body.home .hkm-condition,
	body.home .hkm-condition:hover,
	body.home .hkm-condition:focus-within {
		height: 330px !important;
		min-height: 330px !important;
	}

	/* Team copy leads the section; portraits then get enough width for names,
	 * titles and short descriptions to remain comfortably readable. */
	body.home .elementor-element.hkm-team-feature {
		display: flex !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		gap: 34px !important;
		flex-direction: column !important;
		overflow: visible !important;
	}
	body.home .elementor-element.hkm-team-feature__copy {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		max-width: 760px !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
	}
	body.home .elementor-element.hkm-team-feature__portraits {
		grid-template-columns: repeat(3,minmax(0,1fr)) !important;
		width: 100% !important;
		height: 460px !important;
		min-height: 460px !important;
		max-height: none !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
	}
	body.home .elementor-element.hkm-doctor-card {
		height: 460px !important;
		min-height: 460px !important;
		max-height: none !important;
	}
}

@media (max-width: 767px) {
	:root {
		--hkds-gutter: 20px;
		--hkds-section-y: 56px;
		--hkds-section-y-compact: 48px;
		--hkds-title-size: 36px;
		--hkds-title-leading: 1.08;
		--hkds-subtitle-size: 32px;
	}
	body.home .elementor-element.hkm-hero,
	body.home .elementor-element.hkm-routes,
	body.home .elementor-element.hkm-editorial,
	body.home .elementor-element.hkm-conditions,
	body.home .elementor-element.hkm-treatment,
	body.home .elementor-element.hkm-team-feature,
	body.home .elementor-element.hkm-journey,
	body.home .elementor-element.hkm-journal,
	body.home .elementor-element.hkm-urgent,
	body.home .elementor-element.hkm-final-cta {
		padding-right: var(--hkds-gutter) !important;
		padding-left: var(--hkds-gutter) !important;
	}
	body.home .elementor-element.hkm-hero { padding-right: 0 !important; }
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body.blog .hk-blog-archive-hero > .e-con-inner,
	body.category .hk-blog-archive-hero > .e-con-inner,
	body.blog .site-content > .ast-container,
	body.category .site-content > .ast-container {
		width: calc(100% - 40px) !important;
	}
	body:not(.home) .hk-toc-panel .hk-section-title .elementor-heading-title,
	body.single-post .hk-toc-panel .hk-section-title .elementor-heading-title {
		font-size: 29px !important;
	}
	body .hk-button--primary .elementor-button,
	body .hk-button--outline .elementor-button,
	body .hkm-urgent__content > .elementor-widget-button .elementor-button,
	body .hk-final-cta .elementor-button,
	body .hkm-final-cta .elementor-button {
		min-height: 50px !important;
		padding: 0 22px !important;
	}
	body.home .hkm-condition,
	body.home .hkm-condition:hover,
	body.home .hkm-condition:focus-within {
		height: auto !important;
		min-height: 310px !important;
	}
	body.home .elementor-element.hkm-journal {
		padding-top: var(--hkds-section-y) !important;
		padding-bottom: var(--hkds-section-y) !important;
		gap: 30px !important;
	}
	body.home .elementor-element.hkm-journal__head {
		display: flex !important;
		gap: 22px !important;
		align-items: flex-start !important;
		flex-direction: column !important;
	}
	body.home .hkm-journal__all { align-self: flex-start !important; }
	body.home .hkm-journal-grid { grid-template-columns: 1fr !important; }
	body.home .hkm-journal-card,
	body.home .hkm-journal-card:nth-child(2),
	body.home .hkm-journal-card:last-child {
		grid-column: auto !important;
		border-top: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hkds-line) !important;
	}
	body.home .hkm-journal-card__body { min-height: 250px !important; padding: 24px 22px 26px !important; }

	/* Keep the swipeable doctor row, but reveal part of the next profile so the
	 * interaction is self-evident instead of looking like a single-card list. */
	body.home .elementor-element.hkm-team-feature__portraits {
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		scroll-padding-left: 0;
		gap: 12px !important;
	}
	body.home .elementor-element.hkm-doctor-card {
		width: 86% !important;
		min-width: 86% !important;
		max-width: 300px !important;
		flex: 0 0 86% !important;
		scroll-snap-align: start;
	}
	body [id] { scroll-margin-top: 92px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto !important; }
	body *,
	body *::before,
	body *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* -------------------------------------------------------------------------- */
/* 6. Shared editorial components                                             */
/* -------------------------------------------------------------------------- */

/*
 * Every internal page starts from one content axis. Variety comes from the
 * module that follows (media, cards, timeline or accordion), never from moving
 * headings and paragraphs to unrelated horizontal positions.
 */
body:not(.home) .hk-faq-layout > .hk-section-intro,
body.single-post .hk-article-section > .hk-article-section__intro {
	padding-right: 0 !important;
	padding-left: 0 !important;
	align-self: flex-start !important;
}
body:not(.home) .hk-section-intro .elementor-heading-title,
body:not(.home) .hk-faq-layout > .hk-section-intro .elementor-heading-title,
body.single-post .hk-article-section__intro .elementor-heading-title {
	width: 100% !important;
	max-width: 1040px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: left !important;
}
body:not(.home) .hk-section-intro > .hk-section-lead,
body:not(.home) .hk-section-intro > .hk-section-lead p,
body:not(.home) .hk-faq-layout > .hk-section-intro > .hk-section-lead,
body:not(.home) .hk-faq-layout > .hk-section-intro > .hk-section-lead p,
body.single-post .hk-article-section__intro > .hk-section-lead,
body.single-post .hk-article-section__intro > .hk-section-lead p {
	width: 100% !important;
	max-width: var(--hkds-lead) !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	text-align: left !important;
}
@media (min-width: 1030px) {
	body:not(.home) .hk-faq-layout > .hk-section-intro,
	body.single-post .hk-article-section > .hk-article-section__intro {
		display: flex !important;
		width: 100% !important;
		max-width: var(--hkds-intro) !important;
		margin-right: 0 !important;
		margin-bottom: 32px !important;
		margin-left: 0 !important;
		gap: 14px !important;
		align-items: flex-start !important;
		flex-direction: column !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section > .e-con-inner > .hk-section-intro {
		width: 100% !important;
		max-width: var(--hkds-intro) !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section-intro > *,
	body:not(.home) .hk-faq-layout > .hk-section-intro > *,
	body.single-post .hk-article-section__intro > * {
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section-intro > .hk-section-title,
	body.single-post .hk-article-section__intro > .hk-section-title {
		width: 100% !important;
		max-width: 1040px !important;
	}
	body:not(.home) .hk-section-intro > .hk-section-lead,
	body.single-post .hk-article-section__intro > .hk-section-lead {
		width: 100% !important;
		max-width: var(--hkds-lead) !important;
		margin: 0 !important;
	}
	body.single-post .hk-article-section > .hk-article-prose,
	body.single-post .hk-article-section > .hk-article-media-split,
	body.single-post .hk-article-section > .hk-article-accordion,
	body.single-post .hk-article-section > .hk-accordion {
		margin-right: auto !important;
		margin-left: 0 !important;
	}
	body.single-post .hk-article-section > .hk-article-media-split {
		width: 100% !important;
		max-width: var(--hkds-canvas) !important;
	}
}

/* FAQ is one editorial story: a shared heading followed by a comfortably
 * readable accordion. The old split left an empty half-column below the lead. */
body .elementor-element.hk-faq-layout {
	display: grid !important;
	width: 100% !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	grid-template-columns: 1fr !important;
	gap: 0 !important;
}
body .hk-faq-layout > .hk-section-intro { width: 100% !important; }
body .hk-faq-layout > .hk-accordion,
body.single-post .hk-article-section:has(> .hk-article-accordion) > .hk-article-accordion {
	width: min(100%,1180px) !important;
	max-width: 1180px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	align-self: center !important;
}
body .hk-accordion .elementor-accordion-item {
	margin-bottom: 8px !important;
	border-color: var(--hkds-line) !important;
	border-radius: 0 !important;
	background: rgba(255,255,255,.86) !important;
}
body .hk-accordion .elementor-tab-title { padding: 20px 22px !important; }
body .hk-accordion .elementor-tab-content { padding: 2px 22px 22px !important; }

/*
 * Connected information bands are the reusable card language of the site.
 * They borrow the homepage's top rule and dividers, carry more information per
 * screen and eliminate the visual noise of a separate shadow around every item.
 */
body .elementor-element.hk-feature-grid,
body .elementor-element.hk-related-grid,
body .elementor-element.hk-timeline,
body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical),
body.single-post .elementor-element.hk-article-timeline,
body.single-post .elementor-element.hk-article-card-grid,
body.single-post .elementor-element.hk-article-checklist,
body.single-post .elementor-element.hk-article-sources__grid {
	gap: 0 !important;
	border-top: 4px solid var(--hkds-cyan) !important;
	border-bottom: 1px solid var(--hkds-line) !important;
	background: rgba(255,255,255,.68) !important;
}
body .elementor-element.hk-feature-grid > .hk-editorial-card,
body .elementor-element.hk-related-grid > .hk-editorial-card,
body .elementor-element.hk-timeline > .hk-editorial-card,
body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > .hk-editorial-card,
body.single-post .elementor-element.hk-article-timeline > .hk-article-card,
body.single-post .elementor-element.hk-article-card-grid > .hk-article-card,
body.single-post .elementor-element.hk-article-checklist > .hk-article-checklist__column,
body.single-post .elementor-element.hk-article-sources__grid > .hk-article-source {
	min-height: 240px !important;
	border: 0 !important;
	border-right: 1px solid var(--hkds-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	transform: none !important;
}
body .elementor-element.hk-feature-grid > .hk-editorial-card,
body .elementor-element.hk-related-grid > .hk-editorial-card,
body .elementor-element.hk-timeline > .hk-editorial-card,
body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > .hk-editorial-card {
	padding-inline: clamp(24px,2.2vw,38px) !important;
}
@media (min-width: 768px) {
	body.single-post .elementor-element.hk-article-timeline > .hk-article-card,
	body.single-post .elementor-element.hk-article-card-grid > .hk-article-card,
	body.single-post .elementor-element.hk-article-checklist > .hk-article-checklist__column,
	body.single-post .elementor-element.hk-article-sources__grid > .hk-article-source {
		padding-inline: clamp(24px,2.2vw,38px) !important;
	}
}
body .elementor-element.hk-feature-grid > :last-child,
body .elementor-element.hk-related-grid > :last-child,
body .elementor-element.hk-timeline > :last-child,
body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > :last-child,
body.single-post .elementor-element.hk-article-timeline > :last-child,
body.single-post .elementor-element.hk-article-card-grid > :last-child,
body.single-post .elementor-element.hk-article-checklist > :last-child,
body.single-post .elementor-element.hk-article-sources__grid > :last-child {
	border-right: 0 !important;
}
body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical)::before { display: none !important; }
body.single-post .elementor-element.hk-article-timeline > :nth-child(-n + 2) {
	border-bottom: 1px solid var(--hkds-line) !important;
}
body .elementor-element.hk-card-icon {
	width: 44px !important;
	margin: 0 0 24px !important;
}
body .elementor-element.hk-card-icon .elementor-icon {
	display: inline-flex !important;
	color: var(--hkds-blue) !important;
	font-size: 36px !important;
	line-height: 1 !important;
}
body .elementor-element.hk-card-icon svg {
	width: 36px !important;
	height: 36px !important;
}
@media (hover: hover) and (pointer: fine) {
	body .elementor-element.hk-feature-grid > .hk-editorial-card:hover,
	body .elementor-element.hk-related-grid > .hk-editorial-card:hover,
	body .elementor-element.hk-timeline > .hk-editorial-card:hover,
	body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > .hk-editorial-card:hover,
	body.single-post .elementor-element.hk-article-card-grid > .hk-article-card:hover {
		background: rgba(241,246,250,.9) !important;
	}
}

/* Blog and category directories use the same connected-card system. The lead
 * article remains a wide editorial split; the remaining cards form one grid. */
body.blog .site-content,
body.category .site-content {
	padding-right: 0 !important;
	padding-left: 0 !important;
}
body.blog .elementor-element.hk-blog-archive-hero,
body.category .elementor-element.hk-blog-archive-hero {
	padding-right: 0 !important;
	padding-left: 0 !important;
}
body.blog .site-main > .ast-row,
body.category .site-main > .ast-row {
	gap: 0 !important;
	border-top: 4px solid var(--hkds-cyan) !important;
	background: var(--hkds-white) !important;
}
body.blog .site-main > .ast-row > article.post,
body.category .site-main > .ast-row > article.post {
	margin: 0 !important;
	border: 0 !important;
	border-right: 1px solid var(--hkds-line) !important;
	border-bottom: 1px solid var(--hkds-line) !important;
	border-radius: 0 !important;
	background: var(--hkds-white) !important;
	box-shadow: none !important;
	transform: none !important;
}
body.blog .site-main > .ast-row > article.post:first-of-type,
body.category .site-main > .ast-row > article.post:first-of-type {
	border-right: 0 !important;
}
body.blog article.post .post-thumb img,
body.category article.post .post-thumb img { border-radius: 0 !important; }
body .elementor-element.hk-blog-topic-panel {
	border-top: 4px solid var(--hkds-cyan) !important;
	border-radius: 0 !important;
}
body .elementor-element.hkm-blog-topic-route {
	display: grid !important;
	grid-template-columns: 48px minmax(0,1fr) !important;
	align-items: center !important;
	transition: color .2s ease, background-color .2s ease !important;
}
/* The route container owns the divider. Old button borders created short,
 * apparently random lines immediately above and below the label. */
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-widget-button,
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button {
	border: 0 !important;
	box-shadow: none !important;
}
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-widget-button {
	display: flex !important;
	height: 100% !important;
	min-height: 0 !important;
	align-items: center !important;
	align-self: stretch !important;
}
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-widget-container,
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button-wrapper,
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button,
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button-content-wrapper {
	display: flex !important;
	height: 100% !important;
	min-height: 0 !important;
	align-items: center !important;
}
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button {
	width: 100% !important;
	padding: 0 !important;
	transform: none !important;
}
body .hk-blog-topic-panel__links .hkm-blog-topic-route .elementor-button-text {
	display: block !important;
	margin: 0 !important;
	line-height: 1.25 !important;
}
body .hk-blog-topic-panel__links .hkm-blog-topic-route__icon,
body .hk-blog-topic-panel__links .hkm-blog-topic-route__icon .elementor-widget-container,
body .hk-blog-topic-panel__links .hkm-blog-topic-route__icon .elementor-icon-wrapper,
body .hk-blog-topic-panel__links .hkm-blog-topic-route__icon .elementor-icon {
	display: flex !important;
	height: 100% !important;
	margin: 0 !important;
	align-items: center !important;
	justify-content: center !important;
}
@media (hover: hover) and (pointer: fine) {
	body .elementor-element.hkm-blog-topic-route:hover,
	body .elementor-element.hkm-blog-topic-route:focus-within {
		background: var(--hkds-blue) !important;
	}
	body .hkm-blog-topic-route:hover .elementor-button,
	body .hkm-blog-topic-route:hover .elementor-button-text,
	body .hkm-blog-topic-route:hover .hkm-blog-topic-route__icon,
	body .hkm-blog-topic-route:hover .elementor-icon,
	body .hkm-blog-topic-route:focus-within .elementor-button,
	body .hkm-blog-topic-route:focus-within .elementor-button-text,
	body .hkm-blog-topic-route:focus-within .hkm-blog-topic-route__icon,
	body .hkm-blog-topic-route:focus-within .elementor-icon {
		color: #fff !important;
	}
	body .hkm-blog-topic-route:hover svg,
	body .hkm-blog-topic-route:focus-within svg { fill: currentColor !important; }
}

@media (min-width: 1030px) {
	body.blog .site-main > .ast-row > article.post:nth-of-type(3n + 1),
	body.category .site-main > .ast-row > article.post:nth-of-type(3n + 1) {
		border-right: 0 !important;
	}
}

@media (min-width: 768px) and (max-width: 1029px) {
	body:not(.home) .hk-faq-layout > .hk-section-intro,
	body.single-post .hk-article-section > .hk-article-section__intro {
		display: flex !important;
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		gap: 14px !important;
		align-items: flex-start !important;
		flex-direction: column !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section > .e-con-inner > .hk-section-intro {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section > .e-con-inner > .hk-section-intro:has(> .hk-section-lead) > .hk-section-lead,
	body:not(.home) .hk-faq-layout > .hk-section-intro:has(> .hk-section-lead) > .hk-section-lead,
	body.single-post .hk-article-section > .hk-article-section__intro:has(> .hk-section-lead) > .hk-section-lead {
		max-width: 860px !important;
		margin: 0 !important;
	}
	body:not(.home) .hk-section-intro > *,
	body:not(.home) .hk-faq-layout > .hk-section-intro > *,
	body.single-post .hk-article-section__intro > * {
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body.single-post .hk-article-section > .hk-article-prose,
	body.single-post .hk-article-section > .hk-article-media-split,
	body.single-post .hk-article-section > .hk-article-accordion,
	body.single-post .hk-article-section > .hk-accordion {
		margin-right: auto !important;
		margin-left: 0 !important;
	}
	body .elementor-element.hk-feature-grid--4 > :nth-child(-n + 2),
	body .elementor-element.hk-process-grid--4:not(.hk-process-grid--vertical) > :nth-child(-n + 2) {
		border-bottom: 1px solid var(--hkds-line) !important;
	}
	body .elementor-element.hk-feature-grid > :nth-child(2n),
	body .elementor-element.hk-related-grid > :nth-child(2n),
	body .elementor-element.hk-timeline > :nth-child(2n),
	body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > :nth-child(2n),
	body.single-post .elementor-element.hk-article-card-grid > :nth-child(2n),
	body.single-post .elementor-element.hk-article-timeline > :nth-child(2n),
	body.single-post .elementor-element.hk-article-sources__grid > :nth-child(2n),
	body.blog .site-main > .ast-row > article.post:nth-of-type(2n + 1),
	body.category .site-main > .ast-row > article.post:nth-of-type(2n + 1) { border-right: 0 !important; }
}

@media (max-width: 767px) {
	body:not(.home) .hk-faq-layout > .hk-section-intro,
	body.single-post .hk-article-section > .hk-article-section__intro {
		max-width: none !important;
		margin-bottom: 24px !important;
		gap: 12px !important;
		text-align: left !important;
		align-items: flex-start !important;
	}
	body:not(.home) .hk-section > .e-con-inner > .hk-section-intro {
		max-width: none !important;
		text-align: left !important;
	}
	body:not(.home) .hk-section-intro > .hk-section-lead,
	body.single-post .hk-article-section__intro > .hk-section-lead {
		margin-top: 0 !important;
	}
	body:not(.home) .hk-section-intro > *,
	body:not(.home) .hk-faq-layout > .hk-section-intro > *,
	body.single-post .hk-article-section__intro > * {
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body.single-post .hk-article-section > .hk-article-prose,
	body.single-post .hk-article-section > .hk-article-media-split,
	body.single-post .hk-article-section > .hk-article-accordion,
	body.single-post .hk-article-section > .hk-accordion {
		width: 100% !important;
		max-width: none !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
	body .hk-faq-layout > .hk-accordion,
	body.single-post .hk-article-section:has(> .hk-article-accordion) > .hk-article-accordion {
		width: 100% !important;
		max-width: none !important;
	}
	body .elementor-element.hk-feature-grid > .hk-editorial-card,
	body .elementor-element.hk-related-grid > .hk-editorial-card,
	body .elementor-element.hk-timeline > .hk-editorial-card,
	body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > .hk-editorial-card,
	body.single-post .elementor-element.hk-article-timeline > .hk-article-card,
	body.single-post .elementor-element.hk-article-card-grid > .hk-article-card,
	body.single-post .elementor-element.hk-article-checklist > .hk-article-checklist__column,
	body.single-post .elementor-element.hk-article-sources__grid > .hk-article-source {
		min-height: 0 !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--hkds-line) !important;
	}
	body .elementor-element.hk-feature-grid > .hk-editorial-card,
	body .elementor-element.hk-related-grid > .hk-editorial-card,
	body .elementor-element.hk-timeline > .hk-editorial-card,
	body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > .hk-editorial-card {
		padding-inline: 22px !important;
	}
	body .elementor-element.hk-card-icon { margin-bottom: 20px !important; }
	body .elementor-element.hk-card-icon .elementor-icon { font-size: 32px !important; }
	body .elementor-element.hk-card-icon svg {
		width: 32px !important;
		height: 32px !important;
	}
	body .elementor-element.hk-feature-grid > :last-child,
	body .elementor-element.hk-related-grid > :last-child,
	body .elementor-element.hk-timeline > :last-child,
	body .elementor-element.hk-process-grid:not(.hk-process-grid--vertical) > :last-child,
	body.single-post .elementor-element.hk-article-timeline > :last-child,
	body.single-post .elementor-element.hk-article-card-grid > :last-child,
	body.single-post .elementor-element.hk-article-checklist > :last-child,
	body.single-post .elementor-element.hk-article-sources__grid > :last-child { border-bottom: 0 !important; }
	body.blog .site-main > .ast-row > article.post,
	body.category .site-main > .ast-row > article.post { border-right: 0 !important; }
}

/* -------------------------------------------------------------------------- */
/* 8. Calm global CTA and full-height editorial heroes                        */
/* -------------------------------------------------------------------------- */

/* One deliberately simple closing action on every screen. The component is
 * centred, contains one decision and keeps the light footer visually separate. */
body #content .elementor-element.hk-final-cta.hkm-final-cta,
body.blog .elementor-element.hk-final-cta.hkm-final-cta,
body.category .elementor-element.hk-final-cta.hkm-final-cta {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 360px !important;
	margin: 0 !important;
	gap: 20px !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	text-align: center !important;
	background-color: #1556a0 !important;
	background-image:
		radial-gradient(circle at 88% 22%, rgba(255,255,255,.09), transparent 24%),
		radial-gradient(circle at 12% 116%, rgba(52,174,221,.12), transparent 32%) !important;
}
body.home #content .elementor-element.hk-final-cta.hkm-final-cta {
	padding: 72px var(--hkds-gutter) !important;
}
body:not(.home) #content .elementor-element.hk-final-cta.hkm-final-cta,
body.blog .elementor-element.hk-final-cta.hkm-final-cta,
body.category .elementor-element.hk-final-cta.hkm-final-cta {
	padding-inline: var(--hkds-gutter) !important;
}
body .elementor-element.hkm-final-cta::before,
body .elementor-element.hkm-final-cta::after {
	display: none !important;
	content: none !important;
}
body .elementor-element.hkm-final-cta__heading,
body .elementor-element.hkm-final-cta__content {
	display: flex !important;
	width: 100% !important;
	max-width: 900px !important;
	margin: 0 auto !important;
	gap: 14px !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: column !important;
	text-align: center !important;
}
body .hkm-final-cta__heading h2 {
	max-width: 900px !important;
	margin: 0 auto !important;
	color: #fff !important;
	font-size: var(--hkm-section-title-size) !important;
	line-height: var(--hkm-section-title-leading) !important;
}
body .hkm-final-cta__content > .elementor-widget-text-editor,
body .hkm-final-cta__content > .elementor-widget-text-editor p {
	max-width: 760px !important;
	margin: 0 auto !important;
	color: rgba(255,255,255,.86) !important;
	font-size: 17px !important;
	line-height: 1.7 !important;
	text-align: center !important;
}
body .hkm-final-cta .hk-eyebrow,
body .hkm-final-cta .hk-eyebrow p { color: #9de3f7 !important; }
body .hkm-final-cta__content > .elementor-widget-button { margin-top: 10px !important; }
body .hkm-final-cta__checks { display: none !important; }

/* Mid-page conversion panels become quiet editorial pauses. The useful copy
 * remains, while the duplicated action row is intentionally absent. */
body #content .elementor > .elementor-element.hk-section--editorial-note,
body.single-post .elementor > .elementor-element.hk-section--editorial-note {
	background-color: #e4f0f6 !important;
	background-image:
		radial-gradient(circle at 88% 18%, rgba(52,174,221,.10), transparent 24%),
		linear-gradient(90deg, rgba(255,255,255,.28), transparent 48%) !important;
	border-top: 1px solid var(--hkds-line) !important;
	border-bottom: 1px solid var(--hkds-line) !important;
}
body .hk-section--editorial-note > .e-con-inner {
	width: min(calc(100% - 80px),1480px) !important;
	max-width: 1480px !important;
	margin-right: auto !important;
	margin-left: auto !important;
}
body .elementor-element.hk-editorial-note-band {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}
body .elementor-element.hk-content-note__copy {
	display: flex !important;
	width: min(100%,1180px) !important;
	max-width: 1180px !important;
	margin-right: auto !important;
	margin-left: 0 !important;
	gap: 12px !important;
	align-items: flex-start !important;
	flex-direction: column !important;
	text-align: left !important;
}
body .elementor-element.hk-content-note__copy:has(> .hk-note-icon) {
	display: grid !important;
	grid-template-columns: 56px minmax(0,1fr) !important;
	column-gap: 28px !important;
	row-gap: 10px !important;
}
body .hk-content-note__copy > .hk-note-icon {
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 56px !important;
	margin: 2px 0 0 !important;
}
body .hk-content-note__copy > .hk-note-icon .elementor-icon {
	color: var(--hkds-cyan) !important;
	font-size: 36px !important;
}
body .hk-content-note__copy:has(> .hk-note-icon) > .hk-eyebrow {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: center !important;
}
body .hk-content-note__copy:has(> .hk-note-icon) > :not(.hk-note-icon):not(.hk-eyebrow) {
	grid-column: 1 / -1 !important;
}
body #content .elementor .hk-content-note__copy > .elementor-element.hk-eyebrow {
	width: 100% !important;
	margin: 0 !important;
	text-align: left !important;
}
body #content .elementor .hk-content-note__copy > .elementor-widget-heading {
	width: 100% !important;
	margin: 0 !important;
	text-align: left !important;
}
body #content .elementor .hk-content-note__copy > .elementor-widget-text-editor:not(.hk-eyebrow) {
	max-width: 820px !important;
	margin: 4px 0 0 !important;
	align-self: start !important;
	text-align: left !important;
}
body .hk-content-note__copy .elementor-heading-title {
	max-width: 940px !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	font-size: clamp(30px,2.3vw,36px) !important;
	line-height: 1.08 !important;
	text-align: left !important;
}

/* A practical note is a compact two-part callout, not a full-width empty
 * chapter. The decision or reminder stays on the left; its explanation uses
 * the right-hand column. */
@media (min-width: 1030px) {
	body .elementor-element.hk-content-note__copy:has(> .hk-note-icon) {
		display: grid !important;
		width: min(100%,1480px) !important;
		max-width: 1480px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-columns: 56px minmax(0,1.08fr) minmax(440px,.92fr) !important;
		grid-template-rows: auto 1fr !important;
		column-gap: 28px !important;
		row-gap: 10px !important;
		align-items: start !important;
	}
	body .hk-content-note__copy:has(> .hk-note-icon) > .hk-note-icon {
		grid-column: 1 !important;
		grid-row: 1 / 3 !important;
	}
	body .hk-content-note__copy:has(> .hk-note-icon) > .hk-eyebrow {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
	body #content .elementor .hk-content-note__copy:has(> .hk-note-icon) > .elementor-widget-heading {
		grid-column: 2 !important;
		grid-row: 2 !important;
	}
	body #content .elementor .hk-content-note__copy:has(> .hk-note-icon) > .elementor-widget-text-editor:not(.hk-eyebrow) {
		grid-column: 3 !important;
		grid-row: 1 / 3 !important;
		width: 100% !important;
		max-width: 620px !important;
		margin: 0 !important;
		min-height: 124px !important;
		padding: 24px 28px !important;
		display: flex !important;
		align-self: center !important;
		align-items: center !important;
		background: rgba(255,255,255,.68) !important;
		border-left: 4px solid var(--hkds-cyan) !important;
		box-shadow: 0 12px 32px rgba(8,33,61,.05) !important;
	}
	body #content .elementor .hk-content-note__copy:has(> .hk-note-icon) > .elementor-widget-text-editor:not(.hk-eyebrow) p {
		margin: 0 !important;
		padding: 0 !important;
	}
	body .hk-content-note__copy:has(> .hk-note-icon) > .hk-note-icon .elementor-icon-wrapper {
		display: flex !important;
		width: 56px !important;
		height: 56px !important;
		align-items: center !important;
		justify-content: center !important;
		background: rgba(255,255,255,.72) !important;
		border: 1px solid rgba(8,33,61,.12) !important;
		border-radius: 50% !important;
	}
}

/* Desktop editorial heroes use their complete vertical grid. Copy keeps its
 * breathing room, while media stretches from the first to the last pixel. */
@media (min-width: 1030px) {
	body:not(.home) #content .elementor .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial,
	body.single-post #content .elementor .elementor-element.hk-viewport-intro--primary > .elementor-element.hk-page-hero--editorial.hk-article-hero {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		align-items: stretch !important;
	}
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial::before,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial.hk-article-hero::before {
		display: none !important;
		content: none !important;
	}
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-copy-column,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__copy {
		height: 100% !important;
		min-height: 100% !important;
		padding-top: 70px !important;
		padding-bottom: 70px !important;
		align-self: stretch !important;
		justify-content: center !important;
	}
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial > .elementor-element.hk-hero-media,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial > .elementor-element.hk-article-hero__media {
		position: absolute !important;
		inset: 0 0 0 50% !important;
		width: 50% !important;
		height: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
		align-self: stretch !important;
	}
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial .elementor-element.hk-hero-image,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial .elementor-element.hk-article-hero__image,
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial .hk-hero-image .elementor-widget-container,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial .hk-article-hero__image .elementor-widget-container,
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial .hk-hero-image img,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial .hk-article-hero__image img {
		height: 100% !important;
		min-height: 100% !important;
		align-self: stretch !important;
	}
	body:not(.home) #content .elementor .elementor-element.hk-page-hero--editorial .hk-hero-image img,
	body.single-post #content .elementor .elementor-element.hk-page-hero--editorial .hk-article-hero__image img {
		width: 100% !important;
		object-fit: cover !important;
	}
}

@media (min-width: 768px) and (max-width: 1029px) {
	body .elementor-element.hk-page-hero--editorial::before,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero::before {
		display: none !important;
		content: none !important;
	}
	body #content .elementor-element.hk-final-cta.hkm-final-cta {
		min-height: 330px !important;
	}
	body.home #content .elementor-element.hk-final-cta.hkm-final-cta {
		padding: 64px var(--hkds-gutter) !important;
	}
	body:not(.home) #content .elementor-element.hk-final-cta.hkm-final-cta,
	body.blog .elementor-element.hk-final-cta.hkm-final-cta,
	body.category .elementor-element.hk-final-cta.hkm-final-cta {
		padding-inline: var(--hkds-gutter) !important;
	}
	body .elementor-element.hk-content-note__copy {
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	body .elementor-element.hk-page-hero--editorial::before,
	body .elementor-element.hk-page-hero--editorial.hk-article-hero::before {
		display: none !important;
		content: none !important;
	}
	body #content .elementor-element.hk-final-cta.hkm-final-cta,
	body.blog .elementor-element.hk-final-cta.hkm-final-cta,
	body.category .elementor-element.hk-final-cta.hkm-final-cta {
		min-height: 0 !important;
	}
	body.home #content .elementor-element.hk-final-cta.hkm-final-cta {
		padding: 56px var(--hkds-gutter) !important;
	}
	body:not(.home) #content .elementor-element.hk-final-cta.hkm-final-cta,
	body.blog .elementor-element.hk-final-cta.hkm-final-cta,
	body.category .elementor-element.hk-final-cta.hkm-final-cta {
		padding-inline: var(--hkds-gutter) !important;
	}
	body .hk-section--editorial-note > .e-con-inner {
		width: calc(100% - 40px) !important;
	}
	body .elementor-element.hk-content-note__copy {
		grid-template-columns: 36px minmax(0,1fr) !important;
		column-gap: 16px !important;
		row-gap: 8px !important;
		align-items: flex-start !important;
	}
	body .hk-content-note__copy > .hk-note-icon { width: 36px !important; }
	body .hk-content-note__copy > .hk-note-icon .elementor-icon { font-size: 30px !important; }
	body .hk-content-note__copy > .elementor-widget-text-editor { margin-top: 4px !important; }
}

/* -------------------------------------------------------------------------- */
/* 9. Internal-page canvas discipline and contextual button contrast          */
/* -------------------------------------------------------------------------- */

/* All structural rows on internal pages share the same 1520px canvas. Only
 * long-form prose and accordions retain deliberately narrower reading widths. */
body:not(.home) .hk-section-intro,
body:not(.home) .hk-section .hk-split,
body:not(.home) .hk-section .hk-content-grid,
body:not(.home) .hk-section .hk-mesh-layout,
body:not(.home) .hk-section .hk-feature-grid,
body:not(.home) .hk-section .hk-process-grid,
body:not(.home) .hk-section .hk-related-grid,
body:not(.home) .hk-section .hk-comparison-grid,
body:not(.home) .hk-section .hk-timeline,
body:not(.home) .hk-section .hk-faq-layout,
body.single-post .hk-article-section > .hk-article-media-split,
body.single-post .hk-article-section > .hk-article-card-grid,
body.single-post .hk-article-section > .hk-article-timeline,
body.single-post .hk-article-section > .hk-article-checklist,
body.single-post .hk-article-section > .hk-article-sources__grid {
	padding-right: 0 !important;
	padding-left: 0 !important;
}
@media (min-width: 1030px) {
	body:not(.home) #content .elementor > .elementor-element.hk-section.e-con-boxed > .e-con-inner,
	body:not(.home) #content .elementor .elementor-element.hk-section--editorial-note > .e-con-inner {
		box-sizing: border-box !important;
		width: min(calc(100% - 80px),var(--hkds-canvas)) !important;
		max-width: var(--hkds-canvas) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-split,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-content-grid,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-feature-grid,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-process-grid,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-related-grid,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-comparison-grid,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-timeline,
	body:not(.home) #content .elementor .hk-section > .e-con-inner > .hk-faq-layout,
	body:not(.home) #content .elementor .hk-section--editorial-note .hk-content-note {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: var(--hkds-canvas) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	/* Articles use the same structural canvas as service pages. The prose
	 * widgets themselves keep their reading measure; only section heads and
	 * connected information bands span the common grid. */
	body.single-post #content .elementor .hk-article-section > .hk-article-timeline,
	body.single-post #content .elementor .hk-article-section > .hk-article-card-grid,
	body.single-post #content .elementor .hk-article-section > .hk-article-checklist,
	body.single-post #content .elementor .hk-article-section > .hk-article-sources__grid {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: var(--hkds-canvas) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

}

/* Astra gives its archive row negative side margins. Neutralising them keeps
 * the archive cards aligned with the archive hero and the site-wide canvas. */
body.blog .site-main > .ast-row,
body.category .site-main > .ast-row {
	box-sizing: border-box !important;
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* A button variant is defined by its surface, not by whichever older template
 * happened to create it. This prevents navy-on-navy and pale-blue-on-pale-blue
 * controls while keeping the established square Elementor button language. */
body:not(.home) .hk-section--navy .hk-button--primary .elementor-button,
body:not(.home) .hk-section--navy .elementor-widget-button:not(.hk-button--outline) .elementor-button,
body:not(.home) .hk-section--ink .hk-button--primary .elementor-button,
body:not(.home) .hk-section--ink .elementor-widget-button:not(.hk-button--outline) .elementor-button {
	color: var(--hkds-ink) !important;
	background: var(--hkds-cyan) !important;
	border-color: var(--hkds-cyan) !important;
}
body:not(.home) .hk-section--navy .hk-button--outline .elementor-button,
body:not(.home) .hk-section--ink .hk-button--outline .elementor-button {
	color: var(--hkds-ink) !important;
	background: var(--hkds-cyan) !important;
	border-color: var(--hkds-cyan) !important;
}
body:not(.home) .hk-section--navy .hk-button--outline .elementor-button:hover,
body:not(.home) .hk-section--ink .hk-button--outline .elementor-button:hover {
	color: var(--hkds-ink) !important;
	background: #fff !important;
	border-color: #fff !important;
}
body:not(.home) .hk-section--white .hk-button--outline .elementor-button,
body:not(.home) .hk-section--sand .hk-button--outline .elementor-button,
body:not(.home) .hk-section--mist .hk-button--outline .elementor-button,
body:not(.home) .hk-section--editorial-note .hk-button--outline .elementor-button {
	color: var(--hkds-ink) !important;
	background: transparent !important;
	border-color: var(--hkds-ink) !important;
}

/* -------------------------------------------------------------------------- */
/* 10. Semantic composition variants                                          */
/* -------------------------------------------------------------------------- */

/* Card and FAQ chapters are deliberate focal pauses. They are the only
 * supporting-page sections that use a centred opening on larger screens. */
@media (min-width: 768px) {
	body:not(.home) .hk-layout--cards-focus > .e-con-inner > .hk-section-intro,
	body:not(.home) .hk-layout--faq-focus > .e-con-inner > .hk-section-intro,
	body:not(.home) .hk-layout--faq-focus .hk-faq-layout > .hk-section-intro,
	body.single-post .hk-layout--cards-focus > .hk-article-section__intro,
	body.single-post .hk-layout--faq-focus > .hk-article-section__intro,
	body.single-post .hk-layout--chapter-feature > .hk-article-section__intro {
		max-width: 1120px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		align-self: center !important;
		align-items: center !important;
		text-align: center !important;
	}
	body:not(.home) .hk-layout--cards-focus .hk-section-intro > *,
	body:not(.home) .hk-layout--faq-focus .hk-section-intro > *,
	body.single-post .hk-layout--cards-focus > .hk-article-section__intro > *,
	body.single-post .hk-layout--faq-focus > .hk-article-section__intro > *,
	body.single-post .hk-layout--chapter-feature > .hk-article-section__intro > *,
	body:not(.home) .hk-layout--cards-focus .hk-section-intro .elementor-heading-title,
	body:not(.home) .hk-layout--faq-focus .hk-section-intro .elementor-heading-title,
	body.single-post .hk-layout--cards-focus .hk-article-section__intro .elementor-heading-title,
	body.single-post .hk-layout--faq-focus .hk-article-section__intro .elementor-heading-title,
	body.single-post .hk-layout--chapter-feature .hk-article-section__intro .elementor-heading-title,
	body:not(.home) .hk-layout--cards-focus .hk-section-lead p,
	body:not(.home) .hk-layout--faq-focus .hk-section-lead p,
	body.single-post .hk-layout--cards-focus .hk-section-lead p,
	body.single-post .hk-layout--faq-focus .hk-section-lead p,
	body.single-post .hk-layout--chapter-feature .hk-section-lead p {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}
	body:not(.home) .hk-layout--faq-focus .hk-accordion,
	body.single-post .hk-layout--faq-focus > .hk-article-accordion {
		width: min(100%,1280px) !important;
		max-width: 1280px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		align-self: center !important;
	}
	body.single-post .hk-layout--cards-focus > .hk-article-prose {
		display: grid !important;
		width: min(100%,1280px) !important;
		max-width: 1280px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 72px !important;
		background-image: linear-gradient(90deg,transparent calc(50% - .5px),var(--hkds-line) calc(50% - .5px),var(--hkds-line) calc(50% + .5px),transparent calc(50% + .5px)) !important;
	}
	body.single-post .hk-layout--cards-focus > .hk-article-prose > .elementor-widget-container { display: contents !important; }
	body.single-post .hk-layout--cards-focus > .hk-article-prose p {
		margin: 0 !important;
		break-inside: avoid !important;
	}
	body.single-post .hk-layout--cards-focus > .hk-article-card-grid,
	body.single-post .hk-layout--cards-focus > .hk-article-timeline,
	body.single-post .hk-layout--cards-focus > .hk-article-checklist {
		margin-top: 40px !important;
	}
	body:not(.home) .hk-layout--system-focus > .e-con-inner > .hk-section-intro {
		max-width: 1120px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		align-self: center !important;
		align-items: center !important;
		text-align: center !important;
	}
	body:not(.home) .hk-layout--system-focus .hk-section-intro > *,
	body:not(.home) .hk-layout--system-focus .hk-section-intro .elementor-heading-title,
	body:not(.home) .hk-layout--system-focus .hk-section-lead p {
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}
}

@media (min-width: 1030px) {
	/* Article media chapters become one integrated composition. The title and
	 * supporting copy share one side while the image spans their full height. */
	body.single-post #content .elementor > .hk-article-section.hk-layout--media-story:has(> .hk-article-media-split) {
		display: grid !important;
		box-sizing: border-box !important;
		grid-template-columns: minmax(480px,.86fr) minmax(620px,1.14fr) !important;
		grid-template-rows: auto 1fr !important;
		column-gap: clamp(64px,6vw,120px) !important;
		row-gap: 26px !important;
		align-items: center !important;
	}
	body.single-post .hk-layout--media-story:has(> .hk-article-media-split) > .hk-article-section__intro {
		grid-column: 1 !important;
		grid-row: 1 !important;
		width: 100% !important;
		max-width: 700px !important;
		margin: 0 !important;
		align-self: end !important;
	}
	body.single-post .hk-layout--media-story:has(> .hk-article-media-split) > .hk-article-media-split {
		display: contents !important;
	}
	body.single-post .hk-layout--media-story > .hk-article-media-split > .hk-article-media-split__content {
		grid-column: 1 !important;
		grid-row: 2 !important;
		width: 100% !important;
		max-width: 700px !important;
		align-self: start !important;
	}
	body.single-post .hk-layout--media-story > .hk-article-media-split > .hk-article-media-split__media {
		grid-column: 2 !important;
		grid-row: 1 / 3 !important;
		width: 100% !important;
		align-self: center !important;
	}
	body.single-post #content .elementor > .hk-article-section.hk-layout--media-story:has(> .hk-article-media-split:not(.hk-article-media-split--reverse)) {
		grid-template-columns: minmax(620px,1.14fr) minmax(480px,.86fr) !important;
	}
	body.single-post .hk-layout--media-story:has(> .hk-article-media-split:not(.hk-article-media-split--reverse)) > .hk-article-section__intro,
	body.single-post .hk-layout--media-story > .hk-article-media-split:not(.hk-article-media-split--reverse) > .hk-article-media-split__content {
		grid-column: 2 !important;
	}
	body.single-post .hk-layout--media-story > .hk-article-media-split:not(.hk-article-media-split--reverse) > .hk-article-media-split__media {
		grid-column: 1 !important;
	}

	/* A second card chapter on the same article changes rhythm: introduction
	 * and prose share one row, while the card band spans the full canvas below. */
	body.single-post #content .elementor > .hk-article-section.hk-layout--cards-split:has(> .hk-article-prose) {
		display: grid !important;
		box-sizing: border-box !important;
		grid-template-columns: minmax(0,.9fr) minmax(520px,.78fr) !important;
		column-gap: clamp(80px,8vw,150px) !important;
		align-items: start !important;
	}
	body.single-post .hk-layout--cards-split > .hk-article-section__intro {
		grid-column: 1 !important;
		width: 100% !important;
		max-width: 720px !important;
		margin: 0 !important;
	}
	body.single-post .hk-layout--cards-split > .hk-article-section__intro .elementor-heading-title { max-width: 720px !important; }
	body.single-post .hk-layout--cards-split > .hk-article-prose {
		grid-column: 2 !important;
		width: 100% !important;
		max-width: 720px !important;
		margin: 0 !important;
	}
	body.single-post .hk-layout--cards-split > .hk-article-card-grid,
	body.single-post .hk-layout--cards-split > .hk-article-timeline,
	body.single-post .hk-layout--cards-split > .hk-article-checklist {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		margin-top: 48px !important;
	}

	/* A real editorial split: the complete chapter introduction stays on the
	 * left and the complete reading block sits on the right. */
	body.single-post #content .elementor > .hk-article-section.hk-layout--chapter-split {
		display: grid !important;
		box-sizing: border-box !important;
		grid-template-columns: minmax(0,.9fr) minmax(520px,.78fr) !important;
		column-gap: clamp(80px,8vw,150px) !important;
		align-items: center !important;
	}
	body.single-post .hk-layout--chapter-split > .hk-article-section__intro {
		grid-column: 1 !important;
		width: 100% !important;
		max-width: 720px !important;
		margin: 0 !important;
		align-self: center !important;
	}
	body.single-post .hk-layout--chapter-split > .hk-article-section__intro .elementor-heading-title {
		max-width: 720px !important;
	}
	body.single-post .hk-layout--chapter-split > .hk-article-section__intro > .hk-section-lead,
	body.single-post .hk-layout--chapter-split > .hk-article-section__intro > .hk-section-lead p {
		max-width: 620px !important;
	}
	body.single-post .hk-layout--chapter-split > .hk-article-prose {
		grid-column: 2 !important;
		width: 100% !important;
		max-width: 720px !important;
		margin: 0 !important;
		align-self: center !important;
	}

	/* The alternating prose chapter reads as an editorial feature: a centred
	 * statement followed by two balanced reading columns. */
	body.single-post .hk-layout--chapter-feature > .hk-article-section__intro {
		margin-bottom: 48px !important;
	}
	body.single-post .hk-layout--chapter-feature > .hk-article-prose {
		display: grid !important;
		width: min(100%,1180px) !important;
		max-width: 1180px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
		gap: 72px !important;
		background-image: linear-gradient(90deg,transparent calc(50% - .5px),var(--hkds-line) calc(50% - .5px),var(--hkds-line) calc(50% + .5px),transparent calc(50% + .5px)) !important;
	}
	body.single-post .hk-layout--chapter-feature > .hk-article-prose > .elementor-widget-container { display: contents !important; }
	body.single-post .hk-layout--chapter-feature > .hk-article-prose p {
		break-inside: avoid !important;
		margin: 0 !important;
	}

	/* Process chapters stay left-led but gain a concise visual signal so they
	 * do not read as another generic prose heading before the numbered band. */
	body:not(.home) .hk-layout--system-band > .e-con-inner > .hk-section-intro::before {
		display: block !important;
		width: 72px !important;
		height: 4px !important;
		margin-bottom: 10px !important;
		background: var(--hkds-rust) !important;
		content: "" !important;
	}
	body:not(.home) .hk-layout--cards-editorial > .e-con-inner > .hk-section-intro::before {
		display: block !important;
		width: 72px !important;
		height: 4px !important;
		margin-bottom: 10px !important;
		background: var(--hkds-cyan) !important;
		content: "" !important;
	}
	body:not(.home) .hk-layout--cards-editorial .hk-feature-grid {
		display: grid !important;
		grid-template-columns: repeat(2,minmax(0,1fr)) !important;
	}
	body:not(.home) .hk-layout--cards-editorial .hk-feature-grid > :nth-child(2n) { border-right: 0 !important; }
	body:not(.home) .hk-layout--cards-editorial .hk-feature-grid > :nth-child(-n + 2) { border-bottom: 1px solid var(--hkds-line) !important; }
	body:not(.home) .hk-layout--cards-editorial .hk-related-grid {
		display: grid !important;
		grid-template-columns: 1.25fr 1fr 1fr !important;
	}
}

@media (max-width: 767px) {
	body:not(.home) .hk-layout--cards-focus > .e-con-inner > .hk-section-intro,
	body:not(.home) .hk-layout--faq-focus > .e-con-inner > .hk-section-intro,
	body.single-post .hk-layout--cards-focus > .hk-article-section__intro,
	body.single-post .hk-layout--faq-focus > .hk-article-section__intro,
	body.single-post .hk-layout--chapter-feature > .hk-article-section__intro {
		margin-right: 0 !important;
		margin-left: 0 !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
	body:not(.home) .hk-layout--cards-focus .hk-section-intro > *,
	body:not(.home) .hk-layout--faq-focus .hk-section-intro > *,
	body.single-post .hk-layout--cards-focus .hk-article-section__intro > *,
	body.single-post .hk-layout--faq-focus .hk-article-section__intro > *,
	body.single-post .hk-layout--chapter-feature .hk-article-section__intro > *,
	body:not(.home) .hk-layout--cards-focus .hk-section-intro .elementor-heading-title,
	body:not(.home) .hk-layout--faq-focus .hk-section-intro .elementor-heading-title,
	body.single-post .hk-layout--cards-focus .elementor-heading-title,
	body.single-post .hk-layout--faq-focus .elementor-heading-title,
	body.single-post .hk-layout--chapter-feature .elementor-heading-title {
		margin-right: 0 !important;
		margin-left: 0 !important;
		text-align: left !important;
	}
	body:not(.home) .hk-layout--system-focus > .e-con-inner > .hk-section-intro,
	body:not(.home) .hk-layout--system-focus .hk-section-intro > *,
	body:not(.home) .hk-layout--system-focus .hk-section-intro .elementor-heading-title {
		margin-right: 0 !important;
		margin-left: 0 !important;
		align-items: flex-start !important;
		text-align: left !important;
	}
	body.single-post .hk-layout--chapter-feature > .hk-article-prose,
	body.single-post .hk-layout--chapter-feature > .hk-article-prose > .elementor-widget-container {
		display: block !important;
		background-image: none !important;
	}
	body.single-post .hk-layout--chapter-feature > .hk-article-prose p + p { margin-top: 1.25em !important; }
	body.single-post .hk-layout--cards-focus > .hk-article-prose,
	body.single-post .hk-layout--cards-focus > .hk-article-prose > .elementor-widget-container {
		display: block !important;
		background-image: none !important;
	}
	body.single-post .hk-layout--cards-focus > .hk-article-prose p + p { margin-top: 1.25em !important; }
	body.single-post .hk-layout--cards-focus > .hk-article-card-grid,
	body.single-post .hk-layout--cards-focus > .hk-article-timeline,
	body.single-post .hk-layout--cards-focus > .hk-article-checklist { margin-top: 28px !important; }
}

@media (min-width: 768px) and (max-width: 1029px) {
	body.single-post .hk-layout--cards-focus > .hk-article-prose {
		width: 100% !important;
		gap: 40px !important;
	}
}

/* ========================================================================== */
/* V24 presentation polish: hierarchy, rhythm and responsive continuity       */
/* ========================================================================== */

/* Keep the three existing action roles explicit: filled is the conversion
 * action, outlined is its paired alternative, and arrow links stay tertiary. */
body .hk-button--primary .elementor-button,
body .hk-button--outline .elementor-button {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease !important;
}
body .hk-button--primary .elementor-button:hover,
body .hk-button--outline .elementor-button:hover {
	transform: translateY(-1px);
}
body .hk-button--text .elementor-button::after {
	display: inline-block;
	transition: transform .2s ease;
}
body .hk-button--text .elementor-button:hover::after { transform: translateX(4px); }

/* The compact contact intro is a gateway, not a full editorial chapter. */
body.page-id-41 .hkm-utility-hero--contact {
	min-height: 380px !important;
	padding-top: 54px !important;
	padding-bottom: 50px !important;
}

/* Remove the accidental chapter marker that could appear above an eyebrow. */
body:not(.home) .hk-layout--system-band > .e-con-inner > .hk-section-intro::before {
	display: none !important;
	content: none !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	body.home .elementor-element.hkm-hero__copy {
		padding-top: 42px !important;
		padding-bottom: 38px !important;
	}
	body.home .hkm-hero__title { margin-top: 17px !important; margin-bottom: 14px !important; }
	body.home .hkm-hero__lead { margin-bottom: 16px !important; }
}

@media (max-width: 767px) {
	/* Mobile starts with the decision-making content; the image then supports
	 * it, instead of postponing the value proposition below the first screen. */
	body.home .elementor-element.hkm-hero__copy {
		order: 1 !important;
		padding: 32px 22px 30px !important;
	}
	body.home .elementor-element.hkm-hero__media {
		order: 2 !important;
		height: 360px !important;
		min-height: 360px !important;
	}
	body.home .hkm-hero__image,
	body.home .hkm-hero__image .elementor-widget-container,
	body.home .hkm-hero__image img {
		height: 360px !important;
		min-height: 360px !important;
	}
	body.home .hkm-hero__title { margin: 16px 0 14px !important; }
	body.home .hkm-hero__title .elementor-heading-title {
		font-size: 42px !important;
		line-height: 1 !important;
	}
	body.home .hkm-hero__lead { margin-bottom: 16px !important; }
	body.home .hkm-hero__lead,
	body.home .hkm-hero__lead p {
		font-size: 16px !important;
		line-height: 1.58 !important;
	}
	body.home .elementor-element.hkm-hero__actions {
		flex-direction: row !important;
		gap: 10px !important;
		margin-bottom: 0 !important;
	}
	body.home .hkm-hero__actions > .elementor-widget-button { flex: 1 1 0 !important; }
	body.home .hkm-hero__actions .elementor-button {
		width: 100% !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 13px !important;
	}
	body.home .elementor-element.hkm-hero__note {
		right: 16px !important;
		bottom: 16px !important;
		width: calc(100% - 32px) !important;
		padding: 18px 20px !important;
	}
	body.home .hkm-hero__note h3 { margin: 4px 0 7px !important; font-size: 19px !important; }

	body.page-id-41 .hkm-utility-hero--contact {
		padding-top: 42px !important;
		padding-bottom: 42px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	body .hk-button--primary .elementor-button,
	body .hk-button--outline .elementor-button,
	body .hk-button--text .elementor-button::after { transition: none !important; }
}
