/* Lot 8 only: aligned to Header 108's deployed 1360px boxed inner container. */
.hnf-lot8-editorial-content,
.page-id-37 .hnf-editorial,
.page-id-38 .hnf-editorial,
.hnf-blog-archive,
.hnf-blog-single {
	box-sizing: border-box;
	max-width: 1360px;
	margin-inline: auto;
	padding-inline: 60px;
}

.hnf-lot8-editorial-content {
	padding-block: 48px 64px;
	font-size: 16px;
	line-height: 1.65;
}

/* Preserve the header-aligned outer edge while shortening desktop reading lines. */
.hnf-lot8-editorial-reading { max-width: 1100px; }

.hnf-lot8-editorial-content h1 { font-size: 40px; line-height: 1.18; margin: 0 0 16px; }
.hnf-lot8-editorial-content h2 { font-size: 28px; line-height: 1.25; margin: 32px 0 12px; }
.hnf-lot8-editorial-content h3 { font-size: 21px; line-height: 1.3; margin: 24px 0 10px; }
.hnf-lot8-editorial-content p { margin: 0 0 14px; }
.hnf-lot8-editorial-content ul { margin: 0 0 14px; padding-inline-start: 1.4em; }

@media (max-width: 1024px) {
	.hnf-lot8-editorial-content,
	.page-id-37 .hnf-editorial,
	.page-id-38 .hnf-editorial,
	.hnf-blog-archive,
	.hnf-blog-single { padding-inline: 20px; }
	.hnf-lot8-editorial-content { padding-block: 40px 52px; font-size: 16px; line-height: 1.6; }
	.hnf-lot8-editorial-reading { max-width: none; }
	.hnf-lot8-editorial-content h1 { font-size: 34px; }
	.hnf-lot8-editorial-content h2 { font-size: 24px; }
	.hnf-lot8-editorial-content h3 { font-size: 19px; }
}

@media (max-width: 767px) {
	.hnf-lot8-editorial-content,
	.page-id-37 .hnf-editorial,
	.page-id-38 .hnf-editorial,
	.hnf-blog-archive,
	.hnf-blog-single { padding-inline: 14px; }
	.hnf-lot8-editorial-content { padding-block: 28px 40px; font-size: 15px; line-height: 1.6; }
	.hnf-lot8-editorial-content h1 { font-size: 28px; }
	.hnf-lot8-editorial-content h2 { font-size: 20px; margin-top: 24px; margin-bottom: 9px; }
	.hnf-lot8-editorial-content h3 { font-size: 17px; }
}

/* Blog archive and native-post body: scoped to templates 337 and 338 only. */
.hnf-blog-archive,
.hnf-blog-single { color: #27243a; }
.hnf-blog-hero,
.hnf-blog-single__hero { background: linear-gradient(135deg, #f3eef8 0%, #ede6f2 52%, #f8f4ee 100%); border-radius: 28px; padding: 64px; }
.hnf-blog-hero h1,
.hnf-blog-single__hero h1 { color: #292044; font-size: 48px; line-height: 1.12; margin: 0 0 18px; }
.hnf-blog-hero__intro { font-size: 18px; line-height: 1.6; max-width: 720px; }
.hnf-blog-featured { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); margin-top: 40px; overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 16px 36px rgba(42, 32, 68, .12); }
.hnf-blog-featured__media img { display: block; width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.hnf-blog-featured__panel { align-self: center; padding: 40px; }
.hnf-blog-featured__label,
.hnf-blog-featured__category { color: #71508f; font-size: 12px; font-weight: 700; letter-spacing: .12em; margin: 0 0 10px; text-transform: uppercase; }
.hnf-blog-featured__category { letter-spacing: .04em; }
.hnf-blog-featured h2 { color: #292044; font-size: 30px; line-height: 1.2; margin: 0 0 14px; }
.hnf-blog-featured__excerpt { line-height: 1.65; margin: 0 0 14px; }
.hnf-blog-featured__meta { color: #6d687a; font-size: 14px; margin: 0 0 22px; }
.hnf-blog-button a,
a.hnf-blog-button,
.hnf-blog-featured .hnf-blog-button { display: inline-block; border-radius: 999px; background: #3c275e; color: #fff; font-weight: 700; padding: 13px 20px; text-decoration: none; }
.hnf-blog-discovery { align-items: flex-start; display: grid; gap: 32px; grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr); margin-top: 48px; }
.hnf-blog-categories { background: #f5f0f8; border: 1px solid #e7dff0; border-radius: 20px; padding: 26px; }
.hnf-blog-categories h2 { color: #32224e; font-size: 22px; margin: 0 0 16px; }
.hnf-blog-categories ul { list-style: none; margin: 0; padding: 0; }
.hnf-blog-categories li + li { margin-top: 7px; }
.hnf-blog-categories a { border-radius: 10px; color: #4d435d; display: block; padding: 10px 12px; text-decoration: none; }
.hnf-blog-categories a.is-active,
.hnf-blog-categories a:hover { background: #6a4690; color: #fff; }
.hnf-blog-archive__cards .elementor-posts-container { gap: 20px; }
.hnf-blog-archive__cards .elementor-post { background: #fff; border: 1px solid #e5dfea; border-radius: 20px; box-shadow: 0 9px 24px rgba(42, 32, 68, .08); overflow: hidden; }
.hnf-blog-archive__cards .elementor-post__thumbnail img { aspect-ratio: 1.45; object-fit: cover; }
.hnf-blog-archive__cards .elementor-post__text { padding: 20px; }
.hnf-blog-archive__cards .elementor-post__title { color: #292044; font-size: 21px; line-height: 1.3; }
.hnf-blog-archive__cards .elementor-post__excerpt { line-height: 1.6; }
.hnf-blog-archive__cards .elementor-post__read-more { color: #5b3c7d; font-weight: 700; }
.hnf-blog-ctas { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 56px; }
.hnf-blog-cta { border-radius: 22px; padding: 34px; }
.hnf-blog-cta h2 { font-size: 27px; margin: 0 0 12px; }
.hnf-blog-cta--audio { background: #352052; color: #fff; }
.hnf-blog-cta--audio h2 { color: #fff; }
.hnf-blog-cta--audio .hnf-blog-button a { background: #fff; color: #352052; }
.hnf-blog-cta--faq { background: #f5f0f8; border: 1px solid #e7dff0; }
.hnf-blog-single__hero { padding-bottom: 46px; }
.hnf-blog-single__info { color: #705a86; font-size: 14px; font-weight: 700; margin-bottom: 26px; }
.hnf-blog-single__image img { border-radius: 20px; display: block; max-height: 600px; object-fit: cover; width: 100%; }
.hnf-blog-single__reading { font-size: 17px; line-height: 1.7; margin-inline: auto; max-width: 880px; padding-block: 50px 28px; }
.hnf-blog-single__reading h2 { color: #302148; font-size: 29px; line-height: 1.25; margin: 38px 0 13px; }
.hnf-blog-single__reading h3 { color: #302148; font-size: 22px; line-height: 1.3; margin: 28px 0 11px; }
.hnf-blog-single__reading p,
.hnf-blog-single__reading ul,
.hnf-blog-single__reading ol { margin: 0 0 18px; }
.hnf-blog-single__reading ul,
.hnf-blog-single__reading ol { padding-inline-start: 1.5em; }
.hnf-blog-single__end { margin-inline: auto; max-width: 880px; padding-bottom: 56px; }
.hnf-blog-single__navigation,
.hnf-blog-single__comments { background: #f7f3f9; border: 1px solid #e7dff0; border-radius: 18px; margin-top: 24px; padding: 24px; }

/* Elementor 3.28 retains advanced classes on widgets but omits them on imported
 * container markup. These template-local element IDs are therefore the narrow
 * presentation bridge for documents 337 and 338 only. */
.elementor-element-hnfblogarchiveroot,
.elementor-element-hnfblogsingleroot { box-sizing: border-box; color: #27243a; margin-inline: auto; max-width: 1360px; padding-inline: 60px; }
.elementor-element-hnfblogarchivehero,
.elementor-element-hnfblogsinglehero { background: linear-gradient(135deg, #f3eef8 0%, #ede6f2 52%, #f8f4ee 100%); border-radius: 28px; padding: 64px; }
.elementor-element-hnfblogarchivehero h1,
.elementor-element-hnfblogsinglehero h1 { color: #292044; font-size: 48px; line-height: 1.12; margin: 0 0 18px; }
.elementor-element-hnfblogarchivediscovery { align-items: flex-start; display: grid; gap: 32px; grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr); margin-top: 48px; }
.elementor-element-hnfblogarchivectas { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 56px; }
.elementor-element-hnfblogarchiveaudiocta,
.elementor-element-hnfblogarchivefaqcta { border-radius: 22px; padding: 34px; }
.elementor-element-hnfblogarchiveaudiocta { background: #352052; color: #fff; }
.elementor-element-hnfblogarchiveaudiocta h2 { color: #fff; }
.elementor-element-hnfblogarchiveaudiocta .hnf-blog-button a { background: #fff; color: #352052; }
.elementor-element-hnfblogarchivefaqcta { background: #f5f0f8; border: 1px solid #e7dff0; }
.elementor-element-hnfblogsinglereading { font-size: 17px; line-height: 1.7; margin-inline: auto; max-width: 880px; padding-block: 50px 28px; }
.elementor-element-hnfblogsinglereading h2 { color: #302148; font-size: 29px; line-height: 1.25; margin: 38px 0 13px; }
.elementor-element-hnfblogsinglereading h3 { color: #302148; font-size: 22px; line-height: 1.3; margin: 28px 0 11px; }
.elementor-element-hnfblogsinglereading p,
.elementor-element-hnfblogsinglereading ul,
.elementor-element-hnfblogsinglereading ol { margin: 0 0 18px; }
.elementor-element-hnfblogsinglereading ul,
.elementor-element-hnfblogsinglereading ol { padding-inline-start: 1.5em; }
.elementor-element-hnfblogsingleend { margin-inline: auto; max-width: 880px; padding-bottom: 56px; }
.hnf-blog-single__comments .comment-respond { margin-top: 0; }
.hnf-lot8-comment-login { margin: 0; }
.hnf-lot8-comment-login a { color: #4d2f73; font-weight: 700; }

@media (max-width: 1024px) {
	.hnf-blog-hero,
	.hnf-blog-single__hero { padding: 42px; }
	.hnf-blog-hero h1,
	.hnf-blog-single__hero h1 { font-size: 40px; }
	.hnf-blog-featured { grid-template-columns: 1fr; }
	.hnf-blog-featured__media img { min-height: 300px; }
	.hnf-blog-discovery { grid-template-columns: 1fr; }
	.hnf-blog-categories ul { display: flex; flex-wrap: wrap; gap: 8px; }
	.hnf-blog-categories li + li { margin-top: 0; }
	.hnf-blog-ctas { grid-template-columns: 1fr; }
	.hnf-blog-single__reading,
	.hnf-blog-single__end { max-width: none; }
	.elementor-element-hnfblogarchiveroot,
	.elementor-element-hnfblogsingleroot { padding-inline: 20px; }
	.elementor-element-hnfblogarchivehero,
	.elementor-element-hnfblogsinglehero { padding: 42px; }
	.elementor-element-hnfblogarchivehero h1,
	.elementor-element-hnfblogsinglehero h1 { font-size: 40px; }
	.elementor-element-hnfblogarchivediscovery { grid-template-columns: 1fr; }
	.elementor-element-hnfblogarchivectas { grid-template-columns: 1fr; }
	.elementor-element-hnfblogsinglereading,
	.elementor-element-hnfblogsingleend { max-width: none; }
}

@media (max-width: 767px) {
	.hnf-blog-hero,
	.hnf-blog-single__hero { border-radius: 18px; padding: 28px 20px; }
	.hnf-blog-hero h1,
	.hnf-blog-single__hero h1 { font-size: 30px; }
	.hnf-blog-hero__intro { font-size: 16px; }
	.hnf-blog-featured { margin-top: 28px; }
	.hnf-blog-featured__media img { min-height: 220px; }
	.hnf-blog-featured__panel { padding: 24px; }
	.hnf-blog-featured h2 { font-size: 24px; }
	.hnf-blog-discovery { gap: 20px; margin-top: 32px; }
	.hnf-blog-categories { padding: 20px; }
	.hnf-blog-ctas { margin-top: 36px; }
	.hnf-blog-cta { padding: 24px; }
	.hnf-blog-single__reading { font-size: 15px; line-height: 1.6; padding-block: 32px 18px; }
	.hnf-blog-single__reading h2 { font-size: 23px; margin-top: 28px; }
	.hnf-blog-single__reading h3 { font-size: 19px; }
	.hnf-blog-single__end { padding-bottom: 36px; }
	.hnf-blog-single__navigation,
	.hnf-blog-single__comments { padding: 18px; }
	.elementor-element-hnfblogarchiveroot,
	.elementor-element-hnfblogsingleroot { padding-inline: 14px; }
	.elementor-element-hnfblogarchivehero,
	.elementor-element-hnfblogsinglehero { border-radius: 18px; padding: 28px 20px; }
	.elementor-element-hnfblogarchivehero h1,
	.elementor-element-hnfblogsinglehero h1 { font-size: 30px; }
	.elementor-element-hnfblogarchivediscovery { gap: 20px; margin-top: 32px; }
	.elementor-element-hnfblogarchivectas { margin-top: 36px; }
	.elementor-element-hnfblogarchiveaudiocta,
	.elementor-element-hnfblogarchivefaqcta { padding: 24px; }
	.elementor-element-hnfblogsinglereading { font-size: 15px; line-height: 1.6; padding-block: 32px 18px; }
	.elementor-element-hnfblogsinglereading h2 { font-size: 23px; margin-top: 28px; }
	.elementor-element-hnfblogsinglereading h3 { font-size: 19px; }
	.elementor-element-hnfblogsingleend { padding-bottom: 36px; }
}

/* The generated Elementor container defaults load after this file. Keep the
 * override limited to the immutable element IDs of the two Blog documents. */
body .elementor-element.elementor-element-hnfblogarchiveroot,
body .elementor-element.elementor-element-hnfblogsingleroot { box-sizing: border-box !important; margin-inline: auto !important; max-width: 1360px !important; padding: 0 60px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogarchivehero { background-image: linear-gradient(135deg, rgba(243, 238, 248, .94) 0%, rgba(237, 230, 242, .9) 52%, rgba(248, 244, 238, .92) 100%), var(--hnf-media-catalogue-hero) !important; background-position: center !important; background-size: cover !important; border-radius: 28px !important; padding: 64px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogsinglehero { background: linear-gradient(135deg, #f3eef8 0%, #ede6f2 52%, #f8f4ee 100%) !important; border-radius: 28px !important; padding: 64px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogarchivediscovery { display: grid !important; gap: 32px !important; grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr) !important; margin-top: 48px !important; width: 100% !important; }
/* Natural archive flow: after a sparse grid, retain only the editorial gap. */
body .elementor-element.elementor-element-hnfblogarchivectas { display: grid !important; gap: 24px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; margin-top: 32px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogarchiveaudiocta,
body .elementor-element.elementor-element-hnfblogarchivefaqcta { border-radius: 22px !important; padding: 34px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogarchiveaudiocta { background: #352052 !important; }
body .elementor-element.elementor-element-hnfblogarchiveaudiocta,
body .elementor-element.elementor-element-hnfblogarchiveaudiocta * { color: #fff !important; }
body .elementor-element.elementor-element-hnfblogarchiveaudiocta .hnf-blog-button a,
body .elementor-element.elementor-element-hnfblogarchiveaudiocta .hnf-blog-button .elementor-button-text { color: #352052 !important; }
body .elementor-element.elementor-element-hnfblogarchivefaqcta { background: #f5f0f8 !important; border: 1px solid #e7dff0 !important; }
body .elementor-element.elementor-element-hnfblogsinglereading { font-size: 17px !important; line-height: 1.7 !important; margin-inline: auto !important; max-width: 880px !important; padding: 50px 0 28px !important; width: 100% !important; }
body .elementor-element.elementor-element-hnfblogsingleend { margin-inline: auto !important; max-width: 880px !important; padding-bottom: 56px !important; width: 100% !important; }

/* Contact page 38 only: a contained native Elementor Form with no action change. */
body.page-id-38 .elementor-element.elementor-element-hnfcontactroot { box-sizing: border-box !important; margin-inline: auto !important; max-width: 1360px !important; padding: 48px 60px 64px !important; width: 100% !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactintro { margin-bottom: 28px !important; max-width: 760px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontacttitle h1 { color: #292044 !important; font-size: 40px !important; line-height: 1.18 !important; margin: 0 0 14px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactcopy { color: #4d4857 !important; font-size: 16px !important; line-height: 1.65 !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform { background: #f7f3f9 !important; border: 1px solid #e7dff0 !important; border-radius: 20px !important; box-shadow: 0 12px 30px rgba(42, 32, 68, .08) !important; margin: 0 !important; max-width: 960px !important; padding: 32px !important; width: 100% !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-form-fields-wrapper { column-gap: 16px !important; row-gap: 16px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-group { margin: 0 !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-group-firstname,
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-group-lastname { width: calc(50% - 8px) !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-label { color: #332c40 !important; font-size: 14px !important; font-weight: 700 !important; margin-bottom: 7px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field { background: #fff !important; border: 1px solid #d7cddd !important; border-radius: 10px !important; box-shadow: none !important; color: #292044 !important; min-height: 48px !important; padding: 11px 14px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform textarea.elementor-field { min-height: 156px !important; resize: vertical; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field:focus { border-color: #70508f !important; box-shadow: 0 0 0 3px rgba(112, 80, 143, .16) !important; outline: 0 !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .e-form__buttons { align-self: flex-start !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-button { background: #3c275e !important; border-radius: 999px !important; color: #fff !important; font-weight: 700 !important; min-height: 46px !important; padding: 11px 22px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-button:hover { background: #51347b !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-message { border-radius: 10px !important; margin: 0 !important; padding: 12px 14px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-message-success { background: #eef8f1 !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-message-danger { background: #fceff0 !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactprivacy { color: #645d6d !important; font-size: 14px !important; line-height: 1.55 !important; margin-top: 16px !important; max-width: 960px !important; }
body.page-id-38 .elementor-element.elementor-element-hnfcontactprivacy a { color: #5b3c7d !important; font-weight: 700 !important; text-decoration: underline !important; text-decoration-thickness: 1px !important; text-underline-offset: 2px !important; }

@media (max-width: 1024px) {
	body .elementor-element.elementor-element-hnfblogarchiveroot,
	body .elementor-element.elementor-element-hnfblogsingleroot { padding-inline: 20px !important; }
	body .elementor-element.elementor-element-hnfblogarchivehero,
	body .elementor-element.elementor-element-hnfblogsinglehero { padding: 42px !important; }
	body .elementor-element.elementor-element-hnfblogarchivediscovery,
	body .elementor-element.elementor-element-hnfblogarchivectas { grid-template-columns: 1fr !important; }
	body .elementor-element.elementor-element-hnfblogsinglereading,
	body .elementor-element.elementor-element-hnfblogsingleend { max-width: none !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactroot { padding-inline: 20px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontacttitle h1 { font-size: 34px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform { max-width: 100% !important; }
}

@media (max-width: 767px) {
	body .elementor-element.elementor-element-hnfblogarchiveroot,
	body .elementor-element.elementor-element-hnfblogsingleroot { padding-inline: 14px !important; }
	body .elementor-element.elementor-element-hnfblogarchivehero,
	body .elementor-element.elementor-element-hnfblogsinglehero { border-radius: 18px !important; padding: 28px 20px !important; }
	body .elementor-element.elementor-element-hnfblogarchivediscovery { gap: 20px !important; margin-top: 32px !important; }
	body .elementor-element.elementor-element-hnfblogarchivectas { margin-top: 36px !important; }
	body .elementor-element.elementor-element-hnfblogarchiveaudiocta,
	body .elementor-element.elementor-element-hnfblogarchivefaqcta { padding: 24px !important; }
	body .elementor-element.elementor-element-hnfblogsinglereading { font-size: 15px !important; line-height: 1.6 !important; padding: 32px 0 18px !important; }
	body .elementor-element.elementor-element-hnfblogsingleend { padding-bottom: 36px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactroot { padding: 28px 14px 40px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactintro { margin-bottom: 22px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontacttitle h1 { font-size: 28px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactcopy { font-size: 15px !important; line-height: 1.6 !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform { border-radius: 16px !important; padding: 20px !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-group-firstname,
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-field-group-lastname { width: 100% !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform .e-form__buttons { width: 100% !important; }
	body.page-id-38 .elementor-element.elementor-element-hnfcontactform .elementor-button { width: 100% !important; }
}
