/*!
 * EFLL Site Design - blog (blog.css)
 * Loaded only when efll_sd_active(), on the blog listing views (templates/archive.php: posts page,
 * category / tag / author / date archives, search) and on single posts (Astra's own template).
 *
 * Part 1  Listing template (.efll-sd-blog, markup in templates/archive.php)
 * Part 2  Single posts (body.efll-sd.single-post): Astra post chrome + E2 post components
 *
 * Builds on site.css (tokens, link + button + heading basics) and does not repeat it.
 * E2 posts carry their own inline <style> (printed after this file) and a few inline !important
 * colours/margins (.efll-btn/.efll-phone/.efll-es a/.efll-rel a colours, .efll-note, list margins,
 * image margins). Rules here out-rank that <style> by specificity and never fight its !important
 * properties; the forced colours are already on-palette.
 */

/* =============================================================================================
 * Shared bits
 * =========================================================================================== */

body.efll-sd :is(.efll-sd-vh, .efll-sd-blog .screen-reader-text) {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* =============================================================================================
 * Part 1 - listing template
 * =========================================================================================== */

body.efll-sd-blog {
	margin: 0;
	background: #f2f4f7;
}

.efll-sd-blog .efll-sd-blogmain {
	display: block;
	background: #f2f4f7;
	color: #33475f;
	font-family: var(--efll-sd-body, "Barlow", system-ui, sans-serif);
	font-size: 17px;
	line-height: 1.65;
	outline: none;
}

.efll-sd-blog .efll-sd-blogmain *,
.efll-sd-blog .efll-sd-blogmain *::before,
.efll-sd-blog .efll-sd-blogmain *::after {
	box-sizing: border-box;
}

.efll-sd-blog .efll-sd-wrap {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 16px;
}

.efll-sd-blog .efll-sd-eyebrow {
	margin: 0;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: #7a5a0c;
}

/* ---- Hero ----------------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-bhero {
	position: relative;
	overflow: hidden;
	background: #08111d;
	color: #fff;
	border-bottom: 3px solid #d4a72c;
}

.efll-sd-blog .efll-sd-bhero__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 64px 64px;
	pointer-events: none;
}

.efll-sd-blog .efll-sd-bhero__mark {
	position: absolute;
	right: -10px;
	bottom: -60px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(180px, 24vw, 380px);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(212, 167, 44, .22);
	pointer-events: none;
	user-select: none;
}

.efll-sd-blog .efll-sd-bhero__inner {
	position: relative;
	z-index: 1;
	padding-top: 40px;
	padding-bottom: 44px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.efll-sd-blog .efll-sd-bhero__eyebrow {
	color: #e6c25a;
	font-size: 14px;
	letter-spacing: .3em;
}

body.efll-sd-blog .efll-sd-bhero__title {
	margin: 0;
	max-width: 1050px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(38px, 5.6vw, 80px);
	line-height: 1.04;
	letter-spacing: .01em;
	text-transform: none;
	color: #fff;
	overflow-wrap: anywhere;
}

.efll-sd-blog .efll-sd-bhero__tag {
	margin: -4px 0 0;
	font-family: "Cormorant Garamond", Georgia, serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(24px, 2.6vw, 34px);
	line-height: 1.2;
	color: #d9e0ea;
}

.efll-sd-blog .efll-sd-bhero__tag em {
	font-style: italic;
	color: #d4a72c;
}

.efll-sd-blog .efll-sd-bhero__desc {
	margin: 0;
	max-width: 700px;
	font-size: 18px;
	line-height: 1.6;
	color: #d9e0ea;
}

/* ---- Search --------------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-bsearch {
	display: flex;
	width: 100%;
	max-width: 640px;
	margin: 6px 0 0;
	border: 1px solid rgba(255, 255, 255, .32);
	background: rgba(255, 255, 255, .06);
	border-radius: 2px;
}

.efll-sd-blog .efll-sd-bsearch:focus-within {
	border-color: #e6c25a;
	box-shadow: 0 0 0 3px rgba(212, 167, 44, .35);
}

body.efll-sd-blog .efll-sd-bsearch input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	padding: 12px 16px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #fff;
	font: 400 17px/1.3 var(--efll-sd-body, "Barlow", system-ui, sans-serif);
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

body.efll-sd-blog .efll-sd-bsearch input[type="search"]::placeholder {
	color: #9fb0c6;
	opacity: 1;
}

body.efll-sd-blog .efll-sd-bsearch button {
	flex: none;
	min-height: 52px;
	margin: 0;
	padding: 0 22px;
	border: 0;
	border-radius: 0 1px 1px 0;
	background: #d4a72c;
	color: #08111d;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .16em;
	text-transform: uppercase;
	cursor: pointer;
}

body.efll-sd-blog .efll-sd-bsearch button:is(:hover, :focus-visible) {
	background: #e6c25a;
	color: #08111d;
}

body.efll-sd-blog .efll-sd-bsearch button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -5px;
}

body.efll-sd-blog .efll-sd-bsearch--light {
	border-color: #c3ccd8;
	background: #fff;
}

body.efll-sd-blog .efll-sd-bsearch--light input[type="search"] {
	color: #1b304b;
}

body.efll-sd-blog .efll-sd-bsearch--light input[type="search"]::placeholder {
	color: #5b6b80;
}

/* ---- Category chips --------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-chips {
	width: 100%;
	margin-top: 6px;
}

.efll-sd-blog .efll-sd-chips ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	margin: 0;
	padding: 2px 2px 10px;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: thin;
	scrollbar-color: rgba(212, 167, 44, .5) transparent;
}

.efll-sd-blog .efll-sd-chips li {
	flex: none;
	margin: 0;
	padding: 0;
}

body.efll-sd-blog .efll-sd-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 16px;
	border: 1px solid rgba(255, 255, 255, .28);
	border-radius: 2px;
	color: #fff;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

body.efll-sd-blog .efll-sd-chip:is(:hover, :focus-visible) {
	border-color: #e6c25a;
	color: #fff;
	background: rgba(212, 167, 44, .12);
}

body.efll-sd-blog .efll-sd-chip:focus-visible {
	outline: 2px solid #e6c25a;
	outline-offset: 2px;
}

body.efll-sd-blog .efll-sd-chip.is-current {
	background: #d4a72c;
	border-color: #d4a72c;
	color: #08111d;
}

.efll-sd-blog .efll-sd-chip__n {
	font-weight: 500;
	color: #e6c25a;
}

.efll-sd-blog .efll-sd-chip.is-current .efll-sd-chip__n {
	color: #3d2c05;
}

/* ---- List sections ----------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-blist {
	padding: 40px 0 56px;
}

.efll-sd-blog .efll-sd-bsection + .efll-sd-bsection {
	margin-top: 44px;
}

.efll-sd-blog .efll-sd-bsection__h {
	margin: 0 0 18px;
}

body.efll-sd-blog h2.efll-sd-bsection__h {
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .28em;
	line-height: 1.3;
	color: #7a5a0c;
}

.efll-sd-blog .efll-sd-bsection__top {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	margin-bottom: 18px;
}

.efll-sd-blog .efll-sd-bsection__top .efll-sd-bsection__h {
	margin: 0;
}

.efll-sd-blog .efll-sd-bsection__count {
	margin: 0;
	font-size: 15px;
	color: #4b5d74;
}

.efll-sd-blog .efll-sd-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(330px, 100%), 1fr));
	gap: 22px;
}

/* ---- Card ------------------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border-top: 3px solid #1b304b;
	border-radius: 2px;
	box-shadow: 0 1px 2px rgba(8, 17, 29, .06);
}

.efll-sd-blog .efll-sd-card:hover {
	box-shadow: 0 14px 34px rgba(8, 17, 29, .14);
}

.efll-sd-blog .efll-sd-card:has(.efll-sd-card__link:focus-visible) {
	outline: 3px solid #d4a72c;
	outline-offset: 3px;
}

.efll-sd-blog .efll-sd-card__media {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background:
		linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 32px 32px,
		linear-gradient(160deg, #1b304b, #08111d);
}

body.efll-sd-blog .efll-sd-card__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
}

.efll-sd-blog .efll-sd-card__ph {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(56px, 7vw, 92px);
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(212, 167, 44, .6);
}

.efll-sd-blog .efll-sd-card__body {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px 22px 22px;
}

.efll-sd-blog .efll-sd-card__mark {
	position: absolute;
	right: -6px;
	bottom: -18px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: 92px;
	line-height: 1;
	white-space: nowrap;
	color: transparent;
	-webkit-text-stroke: 1px rgba(27, 48, 75, .12);
	pointer-events: none;
	user-select: none;
}

.efll-sd-blog .efll-sd-card__label {
	position: relative;
	margin: 0;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #7a5a0c;
}

body.efll-sd-blog .efll-sd-card__title {
	position: static;
	margin: 0;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: 21px;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: #1b304b;
	overflow-wrap: break-word;
}

body.efll-sd-blog .efll-sd-card__link {
	color: #1b304b;
	text-decoration: none;
	outline: none;
}

/* Whole card clickable; the "Read article" link stays above the overlay. */
body.efll-sd-blog .efll-sd-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

body.efll-sd-blog .efll-sd-card:hover .efll-sd-card__link,
body.efll-sd-blog .efll-sd-card__link:focus-visible {
	color: #7a5a0c;
	text-decoration: underline;
	text-decoration-color: #d4a72c;
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
}

.efll-sd-blog .efll-sd-card__excerpt {
	position: relative;
	margin: 0;
	font-size: 16px;
	line-height: 1.55;
	color: #4b5d74;
}

.efll-sd-blog .efll-sd-card__meta {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 0 8px;
	margin: auto 0 0;
	padding-top: 6px;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 500;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #4b5d74;
}

body.efll-sd-blog .efll-sd-card__more {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: -4px 0 -10px;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: underline;
	text-decoration-color: #d4a72c;
	text-decoration-thickness: 2px;
	text-underline-offset: .3em;
	color: #1b304b;
}

body.efll-sd-blog .efll-sd-card__more:is(:hover, :focus-visible) {
	color: #7a5a0c;
}

body.efll-sd-blog .efll-sd-card__more:focus-visible {
	outline: 2px solid #1b304b;
	outline-offset: 2px;
}

/* ---- Featured card (first post, page 1 of the main index) -------------------------------------- */

.efll-sd-blog .efll-sd-card--featured {
	background: #0e1a2b;
	border-top-color: #d4a72c;
	color: #fff;
}

.efll-sd-blog .efll-sd-card--featured .efll-sd-card__body {
	gap: 14px;
	padding: 26px 22px 28px;
}

.efll-sd-blog .efll-sd-card--featured .efll-sd-card__mark {
	font-size: clamp(120px, 16vw, 230px);
	bottom: -40px;
	-webkit-text-stroke: 1px rgba(212, 167, 44, .22);
}

.efll-sd-blog .efll-sd-card--featured .efll-sd-card__label {
	color: #e6c25a;
	font-size: 14px;
	letter-spacing: .24em;
}

body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__title {
	font-size: clamp(28px, 3.2vw, 42px);
	line-height: 1.12;
	color: #fff;
}

body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__link {
	color: #fff;
}

body.efll-sd-blog .efll-sd-card--featured:hover .efll-sd-card__link,
body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__link:focus-visible {
	color: #fff;
	text-decoration-color: #d4a72c;
}

.efll-sd-blog .efll-sd-card--featured .efll-sd-card__excerpt {
	max-width: 640px;
	font-size: 18px;
	line-height: 1.6;
	color: #d9e0ea;
}

.efll-sd-blog .efll-sd-card--featured .efll-sd-card__meta {
	margin-top: 4px;
	color: #b9c5d4;
}

body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__more {
	margin: 8px 0 0;
	min-height: 48px;
	padding: 12px 22px;
	background: #d4a72c;
	color: #08111d;
	border-radius: 2px;
	text-decoration: none;
}

body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__more:is(:hover, :focus-visible) {
	background: #e6c25a;
	color: #08111d;
}

body.efll-sd-blog .efll-sd-card--featured .efll-sd-card__more:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* ---- Pagination (WordPress the_posts_pagination markup, standard /page/N/ links) ------------- */

.efll-sd-blog .efll-sd-pager {
	margin-top: 40px;
}

.efll-sd-blog .efll-sd-pager .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

body.efll-sd-blog .efll-sd-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid #c9d2de;
	border-radius: 2px;
	background: #fff;
	color: #1b304b;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
}

body.efll-sd-blog .efll-sd-pager a.page-numbers:is(:hover, :focus-visible) {
	border-color: #d4a72c;
	color: #7a5a0c;
}

body.efll-sd-blog .efll-sd-pager a.page-numbers:focus-visible {
	outline: 2px solid #1b304b;
	outline-offset: 2px;
}

body.efll-sd-blog .efll-sd-pager .page-numbers.current {
	background: #1b304b;
	border-color: #1b304b;
	color: #fff;
}

body.efll-sd-blog .efll-sd-pager .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	min-width: 24px;
	padding: 0 4px;
}

/* ---- Empty state ------------------------------------------------------------------------------ */

.efll-sd-blog .efll-sd-empty {
	max-width: 720px;
	margin: 0 auto;
	padding: 40px 28px;
	background: #fff;
	border-top: 3px solid #1b304b;
	text-align: left;
}

body.efll-sd-blog .efll-sd-empty__h {
	margin: 0 0 10px;
	font-size: clamp(24px, 3vw, 32px);
	text-transform: none;
	color: #1b304b;
}

.efll-sd-blog .efll-sd-empty p {
	margin: 0 0 18px;
}

body.efll-sd-blog .efll-sd-textlink {
	color: #1b304b;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: #d4a72c;
	text-decoration-thickness: 2px;
	text-underline-offset: .22em;
}

body.efll-sd-blog .efll-sd-textlink:is(:hover, :focus-visible) {
	color: #7a5a0c;
}

/* ---- Consult band ----------------------------------------------------------------------------- */

.efll-sd-blog .efll-sd-bcta {
	position: relative;
	overflow: hidden;
	background: #0e1a2b;
	color: #fff;
	border-top: 3px solid #d4a72c;
}

.efll-sd-blog .efll-sd-bcta::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
	background-size: 64px 64px;
	pointer-events: none;
}

.efll-sd-blog .efll-sd-bcta__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px 48px;
	padding-top: 48px;
	padding-bottom: 52px;
}

.efll-sd-blog .efll-sd-bcta__copy {
	flex: 1 1 520px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.efll-sd-blog .efll-sd-bcta .efll-sd-eyebrow {
	color: #e6c25a;
}

body.efll-sd-blog .efll-sd-bcta__h {
	margin: 0;
	max-width: 760px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-size: clamp(28px, 3.4vw, 44px);
	line-height: 1.12;
	text-transform: none;
	color: #fff;
}

.efll-sd-blog .efll-sd-bcta__p {
	margin: 0;
	max-width: 640px;
	font-size: 18px;
	color: #d9e0ea;
}

.efll-sd-blog .efll-sd-bcta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

body.efll-sd-blog .efll-sd-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 26px;
	border: 1px solid #d4a72c;
	border-radius: 2px;
	background: #d4a72c;
	color: #08111d;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 17px;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}

body.efll-sd-blog .efll-sd-btn:is(:hover, :focus-visible) {
	background: #e6c25a;
	border-color: #e6c25a;
	color: #08111d;
}

body.efll-sd-blog .efll-sd-btn--ghost {
	background: transparent;
	color: #fff;
	border-color: rgba(255, 255, 255, .5);
	letter-spacing: .08em;
}

body.efll-sd-blog .efll-sd-btn--ghost:is(:hover, :focus-visible) {
	background: rgba(212, 167, 44, .14);
	border-color: #e6c25a;
	color: #fff;
}

body.efll-sd-blog .efll-sd-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* ---- Listing: larger screens ----------------------------------------------------------------- */

@media (min-width: 700px) {
	.efll-sd-blog .efll-sd-wrap {
		padding: 0 28px;
	}

	.efll-sd-blog .efll-sd-bhero__inner {
		padding-top: 56px;
		padding-bottom: 60px;
		gap: 20px;
	}

	.efll-sd-blog .efll-sd-bhero__desc {
		font-size: 20px;
	}

	.efll-sd-blog .efll-sd-chips ul {
		flex-wrap: wrap;
		overflow: visible;
		padding-bottom: 2px;
	}

	.efll-sd-blog .efll-sd-blist {
		padding: 56px 0 72px;
	}

	.efll-sd-blog .efll-sd-card__body {
		padding: 24px 26px 24px;
	}

	.efll-sd-blog .efll-sd-card--featured .efll-sd-card__body {
		padding: 40px 40px 40px;
	}

	.efll-sd-blog .efll-sd-bcta__inner {
		padding-top: 64px;
		padding-bottom: 68px;
	}
}

@media (min-width: 1200px) {
	.efll-sd-blog .efll-sd-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.efll-sd-blog .efll-sd-grid--4 .efll-sd-card__body {
		padding: 22px 22px 22px;
	}

	body.efll-sd-blog .efll-sd-grid--4 .efll-sd-card__title {
		font-size: 20px;
	}
}

@media (min-width: 960px) {
	.efll-sd-blog .efll-sd-card--featured {
		display: grid;
		grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
		min-height: 400px;
	}

	.efll-sd-blog .efll-sd-card--featured .efll-sd-card__media {
		order: 2;
		aspect-ratio: auto;
		height: 100%;
		min-height: 100%;
	}

	.efll-sd-blog .efll-sd-card--featured .efll-sd-card__body {
		order: 1;
		justify-content: center;
		padding: 48px 48px 48px;
	}

	.efll-sd-blog .efll-sd-card--featured .efll-sd-card__meta {
		margin-top: 2px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.efll-sd-blog .efll-sd-card {
		transition: box-shadow .25s ease, transform .25s ease;
	}

	.efll-sd-blog .efll-sd-card:not(.efll-sd-card--featured):hover {
		transform: translateY(-2px);
	}

	.efll-sd-blog .efll-sd-card__img {
		transition: transform .6s ease;
	}

	.efll-sd-blog .efll-sd-card:hover .efll-sd-card__img {
		transform: scale(1.03);
	}

	.efll-sd-blog :is(.efll-sd-chip, .efll-sd-btn, .efll-sd-card__more, .efll-sd-card__link, .page-numbers) {
		transition: color .2s ease, background-color .2s ease, border-color .2s ease;
	}
}

/* =============================================================================================
 * Part 2 - single posts (Astra single template + E2 post body)
 * Prefix body.efll-sd.single-post (0-2-1) so these out-rank the inline E2 <style> (0-1-0 .. 0-3-2).
 * =========================================================================================== */

body.efll-sd.single-post {
	--efll-sd-measure: 720px;
	--efll-sd-gutter: 16px;
	--efll-sd-pad: max(var(--efll-sd-gutter), calc((100% - var(--efll-sd-measure)) / 2));
	background: #fff;
}

/* ---- Post header: Draft E dark band (title, meta, breadcrumbs) -------------------------------- */

body.efll-sd.single-post :is(.ast-article-single, article.post) > :is(.ast-post-format-, [class*="single-layout"]) {
	margin: 0;
	padding: 0;
}

body.efll-sd.single-post article.post .entry-header,
body.efll-sd.single-post .ast-single-entry-banner {
	position: relative;
	overflow: hidden;
	margin: 0 0 40px;
	padding: 44px var(--efll-sd-pad) 40px;
	background: #08111d;
	background-image:
		linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
	background-size: 64px 64px;
	border-bottom: 3px solid #d4a72c;
	color: #d9e0ea;
	text-align: left;
}

/* Inside a sidebar layout the header is a box within the column, not a full-bleed band. */
body.efll-sd.single-post:is(.ast-right-sidebar, .ast-left-sidebar) article.post .entry-header {
	margin-top: 32px;
	padding: 32px 28px 30px;
	border-radius: 2px;
}

body.efll-sd.single-post .ast-single-entry-banner + .site-content article.post .entry-header {
	display: none; /* Astra banner layout prints the title once, above; avoid a second dark band. */
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) .entry-title {
	margin: 10px 0 14px;
	max-width: 900px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(30px, 4.4vw, 52px);
	line-height: 1.12;
	letter-spacing: .005em;
	text-transform: none;
	color: #fff;
	overflow-wrap: break-word;
}

body.efll-sd.single-post:is(.ast-right-sidebar, .ast-left-sidebar) article.post .entry-header .entry-title {
	font-size: clamp(28px, 3.2vw, 40px);
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) .entry-title a {
	color: inherit;
	text-decoration: none;
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) :is(.entry-meta, .ast-blog-meta-container) {
	margin: 0;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.6;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #b9c5d4;
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) :is(.entry-meta, .ast-blog-meta-container) :is(a, span, *) {
	color: inherit;
	font-weight: 500;
	line-height: inherit;
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) :is(.entry-meta, .ast-blog-meta-container) a {
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid rgba(212, 167, 44, .7);
}

body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) :is(.entry-meta, .ast-blog-meta-container) a:is(:hover, :focus-visible) {
	color: #e6c25a;
}

/* Astra category badge / taxonomy above the title */
body.efll-sd.single-post :is(article.post .entry-header, .ast-single-entry-banner) :is(.ast-taxonomy-container, .cat-links) a {
	display: inline-block;
	padding: 0;
	margin: 0 12px 0 0;
	background: none;
	border: 0;
	color: #e6c25a;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .24em;
	text-transform: uppercase;
	text-decoration: none;
}

/* Breadcrumbs (Astra / Yoast) */
body.efll-sd.single-post :is(.ast-breadcrumbs-wrapper, .ast-breadcrumbs, .yoast-breadcrumbs, #breadcrumbs) {
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #9fb0c6;
}

body.efll-sd.single-post .ast-breadcrumbs .trail-items {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.efll-sd.single-post .ast-breadcrumbs .trail-items li {
	margin: 0;
	max-width: 100%;
}

body.efll-sd.single-post .ast-breadcrumbs .trail-items li:not(.trail-end)::after {
	content: "/";
	padding: 0 .7em;
	color: #7f91a8;
}

body.efll-sd.single-post .ast-breadcrumbs .trail-end {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	max-width: min(46ch, 100%);
}

body.efll-sd.single-post :is(.ast-breadcrumbs-wrapper, .ast-breadcrumbs, .yoast-breadcrumbs, #breadcrumbs) a {
	color: #d9e0ea;
	text-decoration: none;
}

body.efll-sd.single-post :is(.ast-breadcrumbs-wrapper, .ast-breadcrumbs, .yoast-breadcrumbs, #breadcrumbs) a:is(:hover, :focus-visible) {
	color: #e6c25a;
}

/* Breadcrumbs printed outside the dark band (Astra "after header" position) sit on white. */
body.efll-sd.single-post .site-content > .ast-breadcrumbs-wrapper,
body.efll-sd.single-post .site-content > .ast-container > .ast-breadcrumbs-wrapper {
	padding: 14px var(--efll-sd-gutter);
	color: #4b5d74;
}

body.efll-sd.single-post .site-content > .ast-breadcrumbs-wrapper a,
body.efll-sd.single-post .site-content > .ast-container > .ast-breadcrumbs-wrapper a {
	color: #1b304b;
}

/* Astra featured image: hidden when the post body already opens with the same E2 hero image. */
body.efll-sd.single-post article.post:has(.entry-content > style:first-child + figure.wp-block-image) .entry-header :is(.post-thumb-img-content, .post-thumb, .ast-single-post-featured-section),
body.efll-sd.single-post:has(.entry-content > style:first-child + figure.wp-block-image) .ast-single-post-featured-section {
	display: none;
}

body.efll-sd.single-post article.post .entry-header .post-thumb-img-content {
	margin: 0 0 24px;
}

body.efll-sd.single-post article.post .entry-header .post-thumb-img-content img {
	display: block;
	width: 100%;
	max-width: 900px;
	height: auto;
	border-radius: 2px;
}

/* ---- Article column: readable measure ------------------------------------------------------- */

body.efll-sd.single-post article.post .entry-content {
	max-width: var(--efll-sd-measure);
	margin: 0 auto 48px;
	padding: 0 var(--efll-sd-gutter);
	box-sizing: content-box;
	font-family: var(--efll-sd-body, "Barlow", system-ui, sans-serif);
	font-size: 18px;
	line-height: 1.7;
	color: #33475f;
}

body.efll-sd.single-post:is(.ast-right-sidebar, .ast-left-sidebar) article.post .entry-content {
	padding: 0;
	margin-left: 0;
}

body.efll-sd.single-post article.post .entry-content > :where(p, ul, ol, dl, figure, blockquote, table, .wp-block-table, pre) {
	margin-top: 0;
	margin-bottom: 1.15em;
}

body.efll-sd.single-post article.post .entry-content :where(ul, ol):where(:not(.efll-take *, .efll-toc *, .efll-cta *)) {
	padding-left: 1.3em;
	margin-left: 0;
}

body.efll-sd.single-post article.post .entry-content li:where(:not(.efll-take li, .efll-toc li, .efll-cta li)) {
	margin-bottom: .45em;
}

body.efll-sd.single-post article.post .entry-content li > :where(ul, ol) {
	margin-top: .45em;
}

/* Lead paragraph right after the E2 byline (or first paragraph of a plain post). */
body.efll-sd.single-post article.post .entry-content > .efll-byline + p:not([class]),
body.efll-sd.single-post article.post .entry-content > p:first-child:not([class]) {
	font-size: 20px;
	line-height: 1.65;
	color: #1b304b;
}

/* Headings */
body.efll-sd.single-post article.post .entry-content :is(h2, h3, h4, h5, h6) {
	text-transform: none;
	color: #1b304b;
	scroll-margin-top: 96px;
}

body.efll-sd.single-post article.post .entry-content h2 {
	margin: 1.9em 0 .55em;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.18;
	letter-spacing: 0;
}

body.efll-sd.single-post article.post .entry-content h3 {
	margin: 1.6em 0 .5em;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(21px, 2.2vw, 24px);
	line-height: 1.25;
	letter-spacing: 0;
}

body.efll-sd.single-post article.post .entry-content :is(h4, h5, h6) {
	margin: 1.5em 0 .5em;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* A heading straight after a separator or box needs no extra top margin. */
body.efll-sd.single-post article.post .entry-content :is(hr, .wp-block-separator, .efll-cta, .efll-fig, figure) + :is(h2, h3) {
	margin-top: .2em;
}

/* Separators between sections: hairline with a short gold lead. */
body.efll-sd.single-post article.post .entry-content hr.wp-block-separator,
body.efll-sd.single-post article.post .entry-content > hr {
	height: 1px;
	margin: 2.6em 0 2.2em;
	border: 0;
	background: linear-gradient(90deg, #d4a72c 0 56px, #d5dce5 56px 100%);
	opacity: 1;
}

/* Blockquotes (E2 uses them for "Example" boxes) */
body.efll-sd.single-post article.post .entry-content blockquote,
body.efll-sd.single-post article.post .entry-content .wp-block-quote {
	margin: 1.6em 0;
	padding: 20px 24px;
	background: #f2f4f7;
	border: 0;
	border-left: 4px solid #d4a72c;
	border-radius: 0 2px 2px 0;
	font-style: normal;
	font-size: 17px;
	line-height: 1.65;
	color: #1b304b;
}

body.efll-sd.single-post article.post .entry-content blockquote p {
	margin: 0 0 .7em;
	font-size: inherit;
}

body.efll-sd.single-post article.post .entry-content blockquote > :last-child {
	margin-bottom: 0;
}

body.efll-sd.single-post article.post .entry-content blockquote cite {
	display: block;
	margin-top: .6em;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-style: normal;
	font-size: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #4b5d74;
}

body.efll-sd.single-post article.post .entry-content .wp-block-pullquote {
	border-top: 3px solid #d4a72c;
	border-bottom: 1px solid #d5dce5;
	color: #1b304b;
}

/* Tables */
body.efll-sd.single-post article.post .entry-content figure.wp-block-table {
	margin: 1.6em 0;
	overflow-x: auto;
	border: 1px solid #d5dce5;
	border-radius: 2px;
	-webkit-overflow-scrolling: touch;
}

body.efll-sd.single-post article.post .entry-content table {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 0;
	font-size: 16px;
	line-height: 1.5;
}

body.efll-sd.single-post article.post .entry-content > table {
	border: 1px solid #d5dce5;
	margin: 1.6em 0;
}

body.efll-sd.single-post article.post .entry-content :is(th, td) {
	padding: 12px 14px;
	border: 0;
	border-top: 1px solid #e3e8ef;
	text-align: left;
	vertical-align: top;
	overflow-wrap: break-word;
}

body.efll-sd.single-post article.post .entry-content thead th,
body.efll-sd.single-post article.post .entry-content thead td,
body.efll-sd.single-post article.post .entry-content table > tbody:first-child > tr:first-child > th {
	border-top: 0;
	background: #1b304b;
	color: #fff;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: .1em;
	text-transform: uppercase;
	vertical-align: bottom;
}

body.efll-sd.single-post article.post .entry-content .wp-block-table thead {
	border-bottom: 3px solid #d4a72c;
}

body.efll-sd.single-post article.post .entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd),
body.efll-sd.single-post article.post .entry-content > table tbody tr:nth-child(even) {
	background-color: #f7f8fa;
}

body.efll-sd.single-post article.post .entry-content .wp-block-table.is-style-stripes {
	border-bottom: 1px solid #d5dce5;
}

body.efll-sd.single-post article.post .entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(even) {
	background-color: #fff;
}

body.efll-sd.single-post article.post .entry-content :is(.wp-block-table figcaption, table caption) {
	padding: 10px 14px;
	font-size: 14px;
	color: #4b5d74;
	text-align: left;
}

@media (max-width: 600px) {
	body.efll-sd.single-post article.post .entry-content .wp-block-table table.has-fixed-layout {
		table-layout: auto;
		min-width: 520px;
	}

	body.efll-sd.single-post article.post .entry-content :is(th, td) {
		padding: 10px 12px;
		font-size: 15px;
	}
}

/* Images, figures, captions, embeds */
body.efll-sd.single-post article.post .entry-content figure:where(:not(.wp-block-table, .wp-block-embed)) {
	margin: 1.8em 0;
}

body.efll-sd.single-post article.post .entry-content :is(figure.wp-block-image, .wp-block-image) img {
	display: block;
	height: auto;
	border-radius: 2px;
}

body.efll-sd.single-post article.post .entry-content :is(figcaption, .wp-element-caption, .wp-caption-text) {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.5;
	color: #4b5d74;
	text-align: left;
	border-left: 2px solid #d4a72c;
	padding-left: 10px;
}

body.efll-sd.single-post article.post .entry-content .wp-block-embed {
	margin: 1.8em 0;
}

body.efll-sd.single-post article.post .entry-content .wp-block-embed iframe {
	max-width: 100%;
	border-radius: 2px;
}

/* Inline code / pre (rare) */
body.efll-sd.single-post article.post .entry-content :not(pre) > code {
	padding: .1em .35em;
	background: #f2f4f7;
	border-radius: 2px;
	font-size: .9em;
}

/* ---- E2 components ------------------------------------------------------------------------- */

/* Byline */
body.efll-sd.single-post article.post .entry-content .efll-byline {
	gap: 14px;
	margin: 6px 0 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid #d5dce5;
	font-size: 15px;
	line-height: 1.5;
	color: #4b5d74;
}

body.efll-sd.single-post article.post .entry-content .efll-byline img {
	width: 56px;
	height: 56px;
	border: 2px solid #d4a72c;
}

body.efll-sd.single-post article.post .entry-content .efll-byline a {
	color: #1b304b;
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px solid #d4a72c;
}

body.efll-sd.single-post article.post .entry-content .efll-byline a:is(:hover, :focus-visible) {
	color: #7a5a0c;
}

/* Box labels ("Key takeaways", "In this guide") */
body.efll-sd.single-post article.post .entry-content .efll-label {
	margin: 0 0 14px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: .02em;
	text-transform: none;
}

/* Key takeaways: Draft E dark panel */
body.efll-sd.single-post article.post .entry-content .efll-take {
	position: relative;
	margin: 32px 0;
	padding: 26px 22px 16px;
	background: #0e1a2b;
	border: 0;
	border-top: 3px solid #d4a72c;
	border-radius: 2px;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-take .efll-label {
	color: #e6c25a;
}

body.efll-sd.single-post article.post .entry-content .efll-take ul {
	padding: 0;
	list-style-type: "◆";
}

body.efll-sd.single-post article.post .entry-content .efll-take li {
	margin: 0 0 12px;
	padding-left: 12px;
	font-size: 17px;
	line-height: 1.6;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-take li::marker {
	color: #d4a72c;
	font-size: .75em;
}

body.efll-sd.single-post article.post .entry-content .efll-take :is(strong, b) {
	color: #fff;
}

body.efll-sd.single-post article.post .entry-content .efll-take a {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: #d4a72c;
}

/* Table of contents */
body.efll-sd.single-post article.post .entry-content .efll-toc {
	margin: 32px 0;
	padding: 22px 22px 12px;
	background: #f7f8fa;
	border: 1px solid #d5dce5;
	border-top: 3px solid #1b304b;
	border-radius: 2px;
}

body.efll-sd.single-post article.post .entry-content .efll-toc .efll-label {
	margin-bottom: 12px;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #7a5a0c;
}

body.efll-sd.single-post article.post .entry-content .efll-toc ol {
	padding: 0;
	column-gap: 36px;
}

body.efll-sd.single-post article.post .entry-content .efll-toc li {
	margin: 0 0 8px;
	padding-left: 4px;
	font-size: 16px;
	line-height: 1.45;
	color: #b88a14;
}

body.efll-sd.single-post article.post .entry-content .efll-toc li::marker {
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	color: #b88a14;
}

body.efll-sd.single-post article.post .entry-content .efll-toc a {
	color: #1b304b;
	text-decoration: none;
	background-image: linear-gradient(#d4a72c, #d4a72c);
	background-size: 0 2px;
	background-position: 0 100%;
	background-repeat: no-repeat;
}

body.efll-sd.single-post article.post .entry-content .efll-toc a:is(:hover, :focus-visible) {
	color: #7a5a0c;
	text-decoration: none;
	background-size: 100% 2px;
}

/* CTA boxes (mid-article and final) */
body.efll-sd.single-post article.post .entry-content .efll-cta {
	position: relative;
	overflow: hidden;
	margin: 40px 0;
	padding: 28px 22px 26px;
	background: #0e1a2b;
	background-image:
		linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px);
	background-size: 48px 48px;
	border: 0;
	border-top: 3px solid #d4a72c;
	border-radius: 2px;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-cta::after {
	content: "§";
	position: absolute;
	right: 10px;
	bottom: -44px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: 200px;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1px rgba(212, 167, 44, .2);
	pointer-events: none;
}

body.efll-sd.single-post article.post .entry-content .efll-cta > * {
	position: relative;
	z-index: 1;
}

body.efll-sd.single-post article.post .entry-content .efll-cta .efll-h {
	margin: 0 0 10px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: clamp(21px, 2.4vw, 26px);
	line-height: 1.25;
	color: #fff;
}

body.efll-sd.single-post article.post .entry-content .efll-cta p {
	font-size: 17px;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-cta li {
	font-size: 17px;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-cta li a:not([style]) {
	color: #e6c25a;
}

body.efll-sd.single-post article.post .entry-content .efll-row {
	gap: 14px 26px;
}

body.efll-sd.single-post article.post .entry-content .efll-btn {
	display: inline-flex;
	align-items: center;
	min-height: 50px;
	padding: 13px 26px;
	background: #d4a72c;
	border-radius: 2px;
	line-height: 1.2;
}

body.efll-sd.single-post article.post .entry-content .efll-btn:is(:hover, :focus-visible) {
	background: #e6c25a;
}

body.efll-sd.single-post article.post .entry-content .efll-btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
	box-shadow: none;
}

body.efll-sd.single-post article.post .entry-content .efll-phone {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

body.efll-sd.single-post article.post .entry-content .efll-phone:is(:hover, :focus-visible) {
	opacity: .85;
}

body.efll-sd.single-post article.post .entry-content .efll-phone:focus-visible {
	outline: 2px solid #e6c25a;
	outline-offset: 3px;
}

body.efll-sd.single-post article.post .entry-content .efll-cta .efll-note {
	padding-top: 16px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	line-height: 1.55;
}

/* Related guides */
body.efll-sd.single-post article.post .entry-content .efll-rel {
	gap: 14px;
	margin: 16px 0 36px;
}

body.efll-sd.single-post article.post .entry-content .efll-rel a {
	position: relative;
	padding: 16px 18px 18px;
	background: #fff;
	border: 1px solid #d5dce5;
	border-top: 3px solid #d4a72c;
	border-radius: 2px;
	font-family: var(--efll-sd-body, "Barlow", system-ui, sans-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.38;
}

body.efll-sd.single-post article.post .entry-content .efll-rel a:is(:hover, :focus-visible) {
	border-color: #c3ccd8;
	border-top-color: #1b304b;
	box-shadow: 0 10px 24px rgba(8, 17, 29, .12);
}

body.efll-sd.single-post article.post .entry-content .efll-rel a:focus-visible {
	outline: 2px solid #1b304b;
	outline-offset: 2px;
}

body.efll-sd.single-post article.post .entry-content .efll-rel small {
	margin-bottom: 6px;
	font-weight: 600;
}

/* Firm box */
body.efll-sd.single-post article.post .entry-content .efll-firm {
	margin: 44px 0 36px;
	background: #0e1a2b;
	border: 0;
	border-top: 3px solid #d4a72c;
	border-radius: 2px;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-top {
	padding: 20px 22px;
	background: #fff;
	border: 1px solid #d5dce5;
	border-top: 0;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-top span {
	font-size: 13px;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-photo {
	border-top: 3px solid #d4a72c;
	border-bottom: 3px solid #d4a72c;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-body {
	padding: 24px 22px 6px;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-body p {
	font-size: 17px;
	line-height: 1.7;
	color: #d9e0ea;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-body a {
	color: #e6c25a;
	text-decoration: underline;
	text-decoration-color: rgba(230, 194, 90, .5);
	text-underline-offset: .2em;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-body a:is(:hover, :focus-visible) {
	color: #fff;
}

body.efll-sd.single-post article.post .entry-content .efll-firm-body strong {
	color: inherit;
}

body.efll-sd.single-post article.post .entry-content .efll-badges {
	margin: 6px 22px 24px;
	border-radius: 2px;
}

/* Spanish line */
body.efll-sd.single-post article.post .entry-content .efll-es {
	padding: 18px 22px 22px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	color: #b9c5d4;
	font-size: 14px;
	letter-spacing: .04em;
}

body.efll-sd.single-post article.post .entry-content .efll-es a {
	display: inline-block;
	margin: 0 10px;
	letter-spacing: .08em;
}

body.efll-sd.single-post article.post .entry-content .efll-es a:is(:hover, :focus-visible) {
	opacity: .85;
}

body.efll-sd.single-post article.post .entry-content .efll-es small {
	letter-spacing: .24em;
	color: #9fb0c6;
}

/* Inline notes outside a CTA */
body.efll-sd.single-post article.post .entry-content > .efll-note {
	font-size: 14px;
	line-height: 1.55;
}

/* ---- After the article: post navigation, author box, related posts, comments --------------- */

body.efll-sd.single-post :is(.post-navigation, .ast-single-author-box, .ast-related-posts-wrapper, .ast-single-related-posts-container, #comments, .comments-area) {
	max-width: var(--efll-sd-measure);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--efll-sd-gutter);
	padding-right: var(--efll-sd-gutter);
	box-sizing: content-box;
}

body.efll-sd.single-post:is(.ast-right-sidebar, .ast-left-sidebar) :is(.post-navigation, .ast-single-author-box, .ast-related-posts-wrapper, .ast-single-related-posts-container, #comments, .comments-area) {
	margin-left: 0;
	padding-left: 0;
	padding-right: 0;
}

body.efll-sd.single-post .post-navigation {
	margin-top: 0;
	margin-bottom: 40px;
	padding-top: 0;
	border: 0;
}

body.efll-sd.single-post .post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	padding-top: 28px;
	border-top: 1px solid #d5dce5;
}

body.efll-sd.single-post .post-navigation :is(.nav-previous, .nav-next) {
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left;
}

body.efll-sd.single-post .post-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 18px;
	border: 1px solid #c9d2de;
	border-radius: 2px;
	background: #fff;
	color: #1b304b;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
}

body.efll-sd.single-post .post-navigation .nav-next a {
	justify-content: flex-end;
}

body.efll-sd.single-post .post-navigation a:is(:hover, :focus-visible) {
	border-color: #d4a72c;
	color: #7a5a0c;
}

body.efll-sd.single-post .post-navigation a:focus-visible {
	outline: 2px solid #1b304b;
	outline-offset: 2px;
}

body.efll-sd.single-post .post-navigation :is(.ast-left-arrow, .ast-right-arrow) {
	color: #b88a14;
}

@media (min-width: 640px) {
	body.efll-sd.single-post .post-navigation .nav-links {
		grid-template-columns: 1fr 1fr;
	}

	body.efll-sd.single-post .post-navigation .nav-next:only-child {
		grid-column: 2;
	}
}

/* Astra author box */
body.efll-sd.single-post .ast-single-author-box {
	margin-bottom: 40px;
}

body.efll-sd.single-post .ast-single-author-box .ast-author-meta {
	padding: 22px;
	background: #f7f8fa;
	border: 1px solid #d5dce5;
	border-top: 3px solid #1b304b;
	border-radius: 2px;
}

body.efll-sd.single-post .ast-single-author-box :is(.author-title, .ast-author-box .author-title) {
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	text-transform: none;
	color: #1b304b;
}

/* Astra related posts */
body.efll-sd.single-post .ast-related-posts-title {
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #7a5a0c;
}

body.efll-sd.single-post .ast-related-post-content .entry-title {
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-size: 18px;
	line-height: 1.3;
	text-transform: none;
}

body.efll-sd.single-post .ast-related-post-content .entry-title a {
	color: #1b304b;
	text-decoration: none;
}

/* Comments */
body.efll-sd.single-post .comments-area {
	margin-top: 0;
	margin-bottom: 56px;
}

body.efll-sd.single-post :is(.comments-title, .comment-reply-title) {
	margin: 0 0 14px;
	font-family: var(--efll-sd-display, "Cinzel", Georgia, serif);
	font-weight: 700;
	font-size: 24px;
	line-height: 1.25;
	text-transform: none;
	color: #1b304b;
}

body.efll-sd.single-post .comment-reply-title small a {
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-size: 14px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.efll-sd.single-post .comment-respond {
	padding: 26px 22px;
	background: #f7f8fa;
	border: 1px solid #d5dce5;
	border-top: 3px solid #1b304b;
	border-radius: 2px;
}

body.efll-sd.single-post .comment-form :is(p, .comment-notes, .logged-in-as) {
	font-size: 15px;
	color: #4b5d74;
}

body.efll-sd.single-post .comment-form fieldset {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

body.efll-sd.single-post .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
	width: 100%;
	min-height: 46px;
	padding: 10px 14px;
	border: 1px solid #c3ccd8;
	border-radius: 2px;
	background: #fff;
	color: #1b304b;
	font: 400 16px/1.5 var(--efll-sd-body, "Barlow", system-ui, sans-serif);
	box-shadow: none;
}

body.efll-sd.single-post .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea):focus {
	border-color: #b88a14;
	box-shadow: 0 0 0 3px rgba(212, 167, 44, .3);
	outline: none;
}

body.efll-sd.single-post .comment-form .form-submit {
	margin: 8px 0 0;
}

/* Explicit colours: the Elementor kit's "input[type=submit]" rule (0-2-1, white text, 30px radius) outranks site.css here. */
body.efll-sd.single-post .comment-form :is(input[type="submit"], .submit) {
	width: auto;
	min-height: 50px;
	padding: 12px 28px;
	border: 0;
	border-radius: 2px;
	background: #d4a72c;
	color: #08111d;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 16px;
	letter-spacing: .14em;
	text-transform: uppercase;
	cursor: pointer;
}

body.efll-sd.single-post .comment-form :is(input[type="submit"], .submit):is(:hover, :focus-visible) {
	background: #e6c25a;
	color: #08111d;
}

body.efll-sd.single-post .comment-form :is(input[type="submit"], .submit):focus-visible {
	outline: 2px solid #1b304b;
	outline-offset: 3px;
}

body.efll-sd.single-post .comment-list {
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

body.efll-sd.single-post .comment-list .comment-body {
	padding: 18px 0;
	border-bottom: 1px solid #e3e8ef;
}

body.efll-sd.single-post .comment-list :is(.fn, .ast-comment-cite-wrap cite) {
	font-weight: 600;
	font-style: normal;
	color: #1b304b;
}

/* Sidebar (only when Astra's layout has one) */
body.efll-sd.single-post #secondary .widget {
	margin-bottom: 32px;
}

body.efll-sd.single-post #secondary .widget-title {
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #d5dce5;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: #7a5a0c;
}

body.efll-sd.single-post #secondary ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.efll-sd.single-post #secondary li {
	margin: 0;
	padding: 8px 0;
	border-bottom: 1px solid #eef1f5;
	font-size: 16px;
	line-height: 1.45;
}

body.efll-sd.single-post #secondary li a {
	color: #1b304b;
	text-decoration: none;
}

body.efll-sd.single-post #secondary li a:is(:hover, :focus-visible) {
	color: #7a5a0c;
	text-decoration: underline;
	text-decoration-color: #d4a72c;
}

body.efll-sd.single-post #secondary .search-form {
	display: flex;
	border: 1px solid #c3ccd8;
	border-radius: 2px;
}

body.efll-sd.single-post #secondary .search-form label {
	flex: 1 1 auto;
	min-width: 0;
}

body.efll-sd.single-post #secondary .search-field {
	width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 0;
	font: 400 16px/1.4 var(--efll-sd-body, "Barlow", system-ui, sans-serif);
}

body.efll-sd.single-post #secondary .search-submit {
	min-width: 56px;
	padding: 0 14px;
	border-radius: 0;
	min-height: 46px;
	border: 0;
	background: #1b304b;
	color: #fff;
	font-family: var(--efll-sd-cond, "Barlow Condensed", sans-serif);
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	cursor: pointer;
}

/* ---- Single post: larger screens ----------------------------------------------------------- */

@media (min-width: 700px) {
	body.efll-sd.single-post {
		--efll-sd-gutter: 28px;
	}

	body.efll-sd.single-post article.post .entry-header,
	body.efll-sd.single-post .ast-single-entry-banner {
		padding-top: 60px;
		padding-bottom: 52px;
		margin-bottom: 52px;
	}

	body.efll-sd.single-post article.post .entry-content :is(.efll-take, .efll-toc) {
		padding-left: 30px;
		padding-right: 30px;
	}

	body.efll-sd.single-post article.post .entry-content .efll-cta {
		padding: 32px 34px 30px;
	}

	body.efll-sd.single-post article.post .entry-content :is(.efll-firm-top, .efll-firm-body, .efll-es) {
		padding-left: 30px;
		padding-right: 30px;
	}

	body.efll-sd.single-post article.post .entry-content .efll-badges {
		margin-left: 30px;
		margin-right: 30px;
	}

	body.efll-sd.single-post .comment-respond {
		padding: 30px 32px;
	}
}

@media (max-width: 640px) {
	body.efll-sd.single-post article.post .entry-content {
		font-size: 17px;
	}

	body.efll-sd.single-post article.post .entry-content > .efll-byline + p:not([class]),
	body.efll-sd.single-post article.post .entry-content > p:first-child:not([class]) {
		font-size: 18px;
	}

	body.efll-sd.single-post article.post .entry-content .efll-btn {
		width: 100%;
		justify-content: center;
	}
}

@media (prefers-reduced-motion: no-preference) {
	body.efll-sd.single-post article.post .entry-content :is(.efll-toc a, .efll-byline a, .efll-firm-body a) {
		transition: color .2s ease, background-size .25s ease;
	}

	body.efll-sd.single-post :is(.post-navigation a, #secondary li a) {
		transition: color .2s ease, border-color .2s ease;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.efll-sd.single-post article.post .entry-content .efll-rel a {
		transition: none;
	}

	body.efll-sd.single-post article.post .entry-content .efll-rel a:hover {
		transform: none;
	}
}

@media print {
	body.efll-sd.single-post article.post .entry-header {
		background: none;
		color: #000;
		border: 0;
		padding: 0;
	}

	body.efll-sd.single-post article.post .entry-header .entry-title {
		color: #000;
	}

	body.efll-sd.single-post article.post .entry-content :is(.efll-cta, .efll-firm, .efll-rel) {
		display: none;
	}
}

/* ---- Posts that open with their own title image (E2 hero figure) ------------------------------
   These posts already carry the headline inside the lead image (and the site hides the h1 there),
   so the dark title band would be empty apart from the byline. Render a light byline row instead. */
body.efll-sd.single-post article.post:has(.entry-content > style:first-child + figure.wp-block-image) .entry-header {
	margin: 0 auto 20px;
	padding: 28px var(--efll-sd-gutter, 20px) 14px;
	max-width: var(--efll-sd-measure, 760px);
	box-sizing: content-box;
	background: none;
	border-bottom: 0;
	color: #1b304b;
}
body.efll-sd.single-post article.post:has(.entry-content > style:first-child + figure.wp-block-image) .entry-header .entry-title {
	color: #1b304b;
}
body.efll-sd.single-post article.post:has(.entry-content > style:first-child + figure.wp-block-image) .entry-header :is(.entry-meta, .ast-blog-meta-container) {
	color: #5b6b80;
}
body.efll-sd.single-post article.post:has(.entry-content > style:first-child + figure.wp-block-image) .entry-header :is(.entry-meta, .ast-blog-meta-container) a {
	color: #1b304b;
}
