/*
 * Easy Marriage Law — styles that theme.json can't express.
 * Logical properties only (inline-start/end) so the same file serves RTL and LTR.
 * Colours come from theme.json presets / custom tokens only.
 */

/* ---------- Base ---------- */
html {
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--wp--custom--header--height) + 1.5rem);
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: var(--wp--preset--color--gold-200);
	color: var(--wp--preset--color--navy-950);
}

:where(a, button, input, select, textarea, summary, iframe):focus-visible {
	outline: 2px solid var(--wp--preset--color--gold-500);
	outline-offset: 2px;
	border-radius: var(--wp--custom--radius--md);
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

/* Icons: one outline style. Size via --eml-icon-size, stroke via theme.json custom.icon.stroke. */
.eml-icon {
	flex-shrink: 0;
	width: var(--eml-icon-size, 1.125rem);
	height: var(--eml-icon-size, 1.125rem);
	stroke-width: var(--wp--custom--icon--stroke, 1.6);
}

/* Arrows and other directional icons mirror in right-to-left text. */
.eml-icon--flip:dir(rtl) {
	transform: scaleX(-1);
}

.wp-block-quote {
	border-inline-start: 3px solid var(--wp--preset--color--gold-400);
	padding-inline-start: 1.25rem;
}

/* Gold words in headings: plain gold (the editor's "gold-600" / "gold-300" text colour). */
:where(h1, h2, h3) mark.has-inline-color {
	background: none;
}

/* Site wrapper: header / main / footer touch each other. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

.eml-main {
	padding-block: var(--wp--preset--spacing--80) var(--wp--preset--spacing--100);
}

.eml-page-title {
	margin-block-end: var(--wp--preset--spacing--60);
}

.eml-eyebrow {
	color: var(--wp--preset--color--gold-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

/* ---------- Buttons ---------- */
.eml-btn {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-height: 2.875rem;
	padding: 0.6875rem 1.25rem;
	border-radius: var(--wp--custom--radius--xl);
	border: 1px solid transparent;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: transform 0.2s var(--wp--custom--ease), background-color 0.2s var(--wp--custom--ease), border-color 0.2s var(--wp--custom--ease), color 0.2s var(--wp--custom--ease);
}

.eml-btn:hover,
.wp-block-button__link:hover {
	transform: translateY(-1px);
}

.wp-element-button,
.wp-block-button__link {
	min-height: 2.875rem;
	box-sizing: border-box;
	transition: transform 0.2s var(--wp--custom--ease), background-color 0.2s var(--wp--custom--ease), border-color 0.2s var(--wp--custom--ease), color 0.2s var(--wp--custom--ease);
}

.eml-btn--primary,
.eml-btn--primary:visited {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

.eml-btn--primary:hover {
	background: var(--wp--preset--color--navy-800);
	color: var(--wp--preset--color--white);
}

.eml-btn--secondary,
.eml-btn--secondary:visited {
	background: var(--wp--preset--color--white);
	border-color: var(--wp--preset--color--navy-200);
	color: var(--wp--preset--color--navy-900);
}

.eml-btn--secondary:hover {
	border-color: var(--wp--preset--color--navy-700);
	color: var(--wp--preset--color--navy-800);
}

.eml-btn--glass,
.eml-btn--glass:visited {
	background: color-mix(in srgb, var(--wp--preset--color--white) 6%, transparent);
	border-color: var(--wp--custom--border--glass);
	color: var(--wp--preset--color--white);
}

.eml-btn--glass:hover {
	background: color-mix(in srgb, var(--wp--preset--color--white) 12%, transparent);
	color: var(--wp--preset--color--white);
}

/* WhatsApp on dark surfaces */
.eml-btn--whatsapp,
.eml-btn--whatsapp:visited {
	background: color-mix(in srgb, var(--wp--custom--color--whatsapp) 16%, transparent);
	border-color: color-mix(in srgb, var(--wp--custom--color--whatsapp-bright) 40%, transparent);
	color: var(--wp--preset--color--white);
}

.eml-btn--whatsapp .eml-icon {
	color: var(--wp--custom--color--whatsapp-bright);
}

.eml-btn--whatsapp:hover {
	background: color-mix(in srgb, var(--wp--custom--color--whatsapp) 28%, transparent);
	color: var(--wp--preset--color--white);
}

/* WhatsApp, solid (mobile bar) */
.eml-btn--whatsapp-solid,
.eml-btn--whatsapp-solid:visited,
.eml-btn--whatsapp-solid:hover {
	background: var(--wp--custom--color--whatsapp-ink);
	color: var(--wp--preset--color--white);
}

/* Buttons on dark sections: gold fill with navy text (9:1). */
:is(.is-style-section-navy, .is-style-section-ink) .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
:is(.is-style-section-navy, .is-style-section-ink) .eml-btn--primary {
	background: var(--wp--preset--color--gold-400);
	color: var(--wp--preset--color--navy-950);
}

:is(.is-style-section-navy, .is-style-section-ink) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
:is(.is-style-section-navy, .is-style-section-ink) .eml-btn--primary:hover {
	background: var(--wp--preset--color--gold-300);
	color: var(--wp--preset--color--navy-950);
}

:is(.is-style-section-navy, .is-style-section-ink) .is-style-outline > .wp-block-button__link {
	border-color: color-mix(in srgb, var(--wp--preset--color--white) 28%, transparent);
	background: transparent;
	color: var(--wp--preset--color--white);
}

:is(.is-style-section-navy, .is-style-section-ink) .is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--gold-300);
	color: var(--wp--preset--color--gold-200);
}

.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--navy-700);
	color: var(--wp--preset--color--navy-800);
}

/* Contact link (text style) */
.eml-contact--link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: inherit;
	font-weight: 500;
	text-decoration: none;
}

.eml-contact--link .eml-icon {
	color: var(--wp--preset--color--gold-600);
}

.eml-contact--link:hover {
	color: var(--wp--preset--color--navy-700);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-contact--link .eml-icon {
	color: var(--wp--preset--color--gold-300);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-contact--link:hover {
	color: var(--wp--preset--color--gold-300);
}

/* ---------- Header: navy top bar + solid white bar ---------- */
.wp-site-blocks > header.wp-block-template-part {
	--eml-topbar: var(--wp--custom--header--topbar);
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--eml-topbar));
	z-index: 50;
}

@media (max-width: 781.98px) {
	.wp-site-blocks > header.wp-block-template-part {
		--eml-topbar: 0px;
	}
}

@media (max-width: 600px) {
	.admin-bar .wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}

.eml-topbar.eml-topbar {
	min-height: var(--wp--custom--header--topbar);
	display: flex;
	align-items: center;
	background: var(--wp--preset--color--navy-950);
	color: var(--wp--preset--color--slate-300);
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-topbar__inner.eml-topbar__inner {
	width: 100%;
	gap: 1rem;
}

.eml-topbar__note {
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.eml-topbar__contact.eml-topbar__contact {
	gap: 1.25rem;
	flex-shrink: 0;
}

.eml-topbar .eml-contact--link {
	color: var(--wp--preset--color--white);
	font-weight: 400;
}

.eml-topbar .eml-contact--link .eml-icon {
	--eml-icon-size: 0.9375rem;
	color: var(--wp--preset--color--gold-300);
}

.eml-topbar .eml-contact--link:hover {
	color: var(--wp--preset--color--gold-300);
}

@media (max-width: 781.98px) {
	.eml-topbar.eml-topbar {
		display: none;
	}
}

.eml-header__bar.eml-header__bar {
	margin-block-start: 0;
	background: var(--wp--preset--color--white);
	border-bottom: 1px solid var(--wp--preset--color--slate-200);
	transition: box-shadow 0.3s var(--wp--custom--ease);
}

.is-scrolled .eml-header__bar.eml-header__bar {
	box-shadow: 0 8px 24px -16px color-mix(in srgb, var(--wp--preset--color--navy-950) 35%, transparent);
}

.eml-header__inner.eml-header__inner {
	min-height: var(--wp--custom--header--height);
	gap: 1.5rem;
}

.eml-header .eml-logo {
	flex-shrink: 0;
	line-height: 0;
}

.eml-logo__link {
	display: inline-block;
	line-height: 0;
}

.eml-logo__img {
	display: block;
	max-width: 100%;
	height: auto;
}

.eml-header .eml-logo__img {
	height: 40px;
	width: auto;
}

@media (max-width: 479.98px) {
	.eml-header .eml-logo__img {
		height: 34px;
	}
}

.eml-header__actions.eml-header__actions {
	flex-shrink: 0;
	gap: 1rem;
}

.eml-header__book.eml-header__book {
	margin: 0;
}

.eml-header__book .wp-block-button__link {
	min-height: 2.625rem;
	padding: 0.5rem 1.125rem;
	font-size: var(--wp--preset--font-size--small);
}

/* WhatsApp: icon button, same box as the language button. */
.eml-header__wa .eml-contact--link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--wp--preset--color--navy-100);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--navy-50);
	color: #128c4a;
	transition: background-color 0.2s var(--wp--custom--ease), border-color 0.2s var(--wp--custom--ease);
}

.eml-header__wa .eml-contact--link:hover {
	border-color: var(--wp--preset--color--navy-200);
	background: var(--wp--preset--color--navy-100);
}

.eml-header__wa .eml-contact--link:focus-visible {
	outline: 2px solid var(--wp--preset--color--navy-700);
	outline-offset: 2px;
}

.eml-header__wa .eml-contact__text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.eml-header__wa .eml-icon {
	width: 1.25rem;
	height: 1.25rem;
}

.eml-langswitch__code {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
}
/* The bottom bar books / calls on small screens. */
@media (max-width: 781.98px) {
	.eml-header__book.eml-header__book {
		display: none;
	}
}

/* ---------- Navigation ---------- */
.eml-nav {
	flex: 1 1 auto;
	justify-content: center;
}

.eml-nav .wp-block-navigation__container {
	gap: 0.25rem;
}

.eml-nav .wp-block-navigation-item__content {
	position: relative;
	padding: 0.5rem 0.625rem;
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
	transition: color 0.2s var(--wp--custom--ease);
}

/* Gold underline that grows from the centre on hover and stays on the current page. */
.eml-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	inset-inline: 0.625rem;
	bottom: 0.125rem;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--gold-400);
	transform: scaleX(0);
	transition: transform 0.25s var(--wp--custom--ease);
}

.eml-nav .wp-block-navigation-item__content:hover,
.eml-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--wp--preset--color--navy-900);
}

.eml-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.eml-nav .current-menu-item > .wp-block-navigation-item__content::after,
.eml-nav .current-menu-ancestor > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

.eml-nav .current-menu-item > .wp-block-navigation-item__content,
.eml-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--navy-950);
}

.eml-nav .wp-block-navigation-submenu__toggle {
	color: var(--wp--preset--color--slate-500);
}

/* Submenu as a floating card */
.eml-nav .wp-block-navigation__submenu-container {
	min-width: 16rem !important;
	padding: 0.5rem !important;
	border: 1px solid var(--wp--preset--color--slate-200) !important;
	border-top: 2px solid var(--wp--preset--color--gold-400) !important;
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white) !important;
	box-shadow: var(--wp--preset--shadow--lift);
	transform: translateY(-4px);
	transition: opacity 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
}

.eml-nav .has-child:hover > .wp-block-navigation__submenu-container,
.eml-nav .has-child:focus-within > .wp-block-navigation__submenu-container,
.eml-nav .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: none;
}

.eml-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 0.625rem 0.75rem;
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--slate-800);
}

.eml-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--navy-50);
	color: var(--wp--preset--color--navy-900);
}

/* ---------- Language switcher ---------- */
.eml-langswitch--menu {
	position: relative;
	flex-shrink: 0;
}

/* Same box as the phone icon button. */
.eml-langswitch__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 1px solid var(--wp--preset--color--navy-100);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--navy-50);
	color: var(--wp--preset--color--navy-900);
	cursor: pointer;
	transition: background-color 0.2s var(--wp--custom--ease), border-color 0.2s var(--wp--custom--ease);
}

.eml-langswitch__toggle:hover,
.eml-langswitch__toggle[aria-expanded="true"] {
	border-color: var(--wp--preset--color--navy-200);
	background: var(--wp--preset--color--navy-100);
}

.eml-langswitch__toggle:focus-visible,
.eml-langswitch__link:focus-visible {
	outline: 2px solid var(--wp--preset--color--navy-700);
	outline-offset: 2px;
}

.eml-langswitch--menu .eml-langswitch__list {
	position: absolute;
	inset-block-start: calc(100% + 0.5rem);
	inset-inline-end: 0;
	z-index: 60;
	min-width: 10.5rem;
	margin: 0;
	padding: 0.375rem;
	list-style: none;
	border: 1px solid var(--wp--preset--color--slate-200);
	border-top: 2px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-langswitch--menu .eml-langswitch__list[hidden] {
	display: none;
}

.eml-langswitch__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.625rem 0.75rem;
	border-radius: var(--wp--custom--radius--lg);
	color: var(--wp--preset--color--slate-800);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
}

.eml-langswitch__link:hover {
	background: var(--wp--preset--color--navy-50);
	color: var(--wp--preset--color--navy-900);
}

.eml-langswitch__link[aria-current] {
	color: var(--wp--preset--color--navy-950);
	font-weight: 700;
}

.eml-langswitch__check {
	flex-shrink: 0;
	color: var(--wp--preset--color--gold-500);
}

/* Inside the collapsed menu: three buttons side by side. */
.eml-langswitch--inline {
	display: none;
	list-style: none;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .eml-langswitch--inline {
	display: block;
	width: 100%;
	margin-top: 1.5rem;
}

.eml-langswitch--inline .eml-langswitch__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eml-langswitch--inline .eml-langswitch__link {
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.5rem;
	border: 1px solid var(--wp--preset--color--navy-100);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--navy-50);
	color: var(--wp--preset--color--navy-900);
	text-align: center;
}

.eml-langswitch--inline .eml-langswitch__link[aria-current] {
	border-color: var(--wp--preset--color--navy-900);
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

/* The globe lives in the header only while the full menu is visible. */
@media (max-width: 1179.98px) {
	.eml-header__lang {
		display: none;
	}
}

/* Hamburger + overlay */
.eml-nav .wp-block-navigation__responsive-container-open,
.eml-nav .wp-block-navigation__responsive-container-close {
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--xl);
	border: 1px solid var(--wp--preset--color--slate-200);
	color: var(--wp--preset--color--navy-950);
}

.eml-nav .wp-block-navigation__responsive-container-open {
	display: flex;
	margin-inline-start: auto;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));
	animation: eml-fade-in 0.2s var(--wp--custom--ease);
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.5rem;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
	align-items: stretch;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	align-items: stretch;
	border-bottom: 1px solid var(--wp--preset--color--slate-100);
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	padding: 0.875rem 0.25rem;
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--navy-950);
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	display: none;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	min-width: 0 !important;
	padding: 0 0.75rem 0.5rem !important;
	border: 0 !important;
	border-inline-start: 2px solid var(--wp--preset--color--gold-300) !important;
	border-radius: 0;
	box-shadow: none;
	transform: none;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border: 0;
}

.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-block: 0.5rem;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--slate-600);
}

/* Collapse the menu below 1180px (core collapses only below 600px). */
@media (min-width: 600px) and (max-width: 1179.98px) {
	.eml-nav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.eml-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}

	.eml-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		display: flex;
	}
}

@media (min-width: 1180px) {
	.eml-nav .wp-block-navigation__responsive-container-open {
		display: none;
	}
}

/* Narrow header: logo start, actions + hamburger end. */
@media (max-width: 1179.98px) {
	.eml-header__inner.eml-header__inner {
		justify-content: flex-start !important;
		gap: 0.75rem;
	}

	.eml-nav {
		order: 3;
		flex: 0 0 auto;
	}

	.eml-header__actions.eml-header__actions {
		margin-inline-start: auto;
		gap: 0.75rem;
	}
}

/* ---------- Footer ---------- */
.eml-footer.eml-footer {
	padding-block: var(--wp--preset--spacing--90) var(--wp--preset--spacing--50);
	border-top: 3px solid var(--wp--preset--color--gold-400);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--slate-400);
}

.eml-footer__cols {
	gap: var(--wp--preset--spacing--70) var(--wp--preset--spacing--50);
}

.eml-footer__title.eml-footer__title {
	white-space: nowrap;
}

@media (min-width: 782px) and (max-width: 1179.98px) {
	.eml-footer__cols {
		flex-wrap: wrap !important;
	}

	.eml-footer__cols > .wp-block-column {
		flex-basis: calc(50% - var(--wp--preset--spacing--60)) !important;
		flex-grow: 0 !important;
	}
}

.eml-footer__about {
	max-width: 22rem;
	margin-block: 1.25rem;
	line-height: 1.9;
	color: var(--wp--preset--color--slate-400);
}

.eml-footer__cta {
	gap: 0.5rem;
}

.eml-footer .eml-footer__title {
	margin-block-end: 1.125rem;
	padding-block-end: 0.75rem;
	border-bottom: 1px solid var(--wp--custom--border--glass);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	color: var(--wp--preset--color--white);
	position: relative;
}

.eml-footer .eml-footer__title::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	bottom: -1px;
	width: 2rem;
	height: 2px;
	background: var(--wp--preset--color--gold-400);
}

.eml-links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.625rem;
}

.eml-footer .eml-links a,
.eml-footer .eml-contact--link,
.eml-footer .eml-branch__inner {
	color: var(--wp--preset--color--slate-300);
	text-decoration: none;
	transition: color 0.2s var(--wp--custom--ease);
}

.eml-footer .eml-links a:hover,
.eml-footer .eml-contact--link:hover {
	color: var(--wp--preset--color--gold-300);
}

.eml-footer__contact {
	gap: 0.75rem;
}

.eml-footer .eml-contact--email {
	white-space: nowrap;
}

.eml-links--inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1.25rem;
}

.eml-links--pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.eml-links--pills a {
	display: inline-block;
	padding: 0.5rem 0.875rem;
	border-radius: 9999px;
	border: 1px solid var(--wp--preset--color--slate-200);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--slate-800);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-links--pills a:hover {
	border-color: var(--wp--preset--color--gold-400);
	color: var(--wp--preset--color--navy-900);
}

.eml-footer__bottom.eml-footer__bottom {
	margin-block-start: var(--wp--preset--spacing--80);
	padding-block-start: var(--wp--preset--spacing--50);
	border-top: 1px solid var(--wp--custom--border--glass);
	gap: 0.75rem 1.5rem;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--slate-400);
}

.eml-footer__bottom p {
	margin: 0;
}

/* ---------- Branches ---------- */
.eml-branches {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 1rem;
}

.eml-branch__inner {
	display: flex;
	gap: 0.75rem;
	margin: -0.5rem;
	padding: 0.5rem;
	border-radius: var(--wp--custom--radius--xl);
	color: inherit;
	text-decoration: none;
	transition: background-color 0.2s var(--wp--custom--ease);
}

a.eml-branch__inner:hover {
	background: color-mix(in srgb, var(--wp--preset--color--white) 5%, transparent);
}

.eml-branch__icon {
	margin-block-start: 0.2rem;
	color: var(--wp--preset--color--gold-300);
}

.eml-branch__body {
	display: block;
	min-width: 0;
}

.eml-branch__name {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	font-weight: 500;
	color: var(--wp--preset--color--white);
}

.eml-branch__ext {
	width: 0.875rem;
	height: 0.875rem;
	opacity: 0.6;
}

.eml-branch__address {
	display: block;
	margin-block-start: 0.25rem;
	line-height: 1.75;
	color: var(--wp--preset--color--slate-400);
}

a.eml-branch__inner:hover .eml-branch__name {
	color: var(--wp--preset--color--gold-300);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Light-surface version (e.g. contact page cards) */
:where(:not(.is-style-section-navy):not(.is-style-section-ink)) > .eml-branches--cards {
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.eml-branches--cards .eml-branch__inner {
	box-sizing: border-box;
	margin: 0;
	height: 100%;
	padding: 1.25rem;
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-branches--cards .eml-branch__name {
	color: var(--wp--preset--color--navy-950);
}

.eml-branches--cards .eml-branch__address {
	color: var(--wp--preset--color--slate-500);
}

.eml-branches--cards .eml-branch__icon {
	color: var(--wp--preset--color--gold-600);
}

/* ---------- Hours ---------- */
.eml-hours {
	margin-block-start: 1.5rem;
}

.eml-hours__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.5rem;
	font-weight: 500;
	color: var(--wp--preset--color--white);
}

.eml-hours__title .eml-icon {
	color: var(--wp--preset--color--gold-300);
}

.eml-hours__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.25rem;
}

/* ---------- Cards / posts ---------- */
.eml-post-card {
	gap: 0.75rem;
	height: 100%;
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease), border-color 0.3s var(--wp--custom--ease);
}

.eml-post-card:hover {
	transform: translateY(-3px);
	border-color: var(--wp--custom--border--gold);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-post-card .wp-block-post-title {
	margin: 0;
}

.eml-post-card .wp-block-post-excerpt {
	margin: 0;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

.eml-article__meta {
	gap: 0.75rem;
}

.eml-placeholder {
	margin: 0;
	padding: 0.5rem 0.75rem;
	border: 1px dashed var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--lg);
	font-size: 0.75rem;
	color: var(--wp--preset--color--gold-800);
	background: var(--wp--preset--color--gold-50);
}

/* ---------- Icon block: gold line icons ---------- */
.eml-icon-block {
	--eml-icon-size: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--gold-600);
	line-height: 0;
}

.eml-icon-block.is-shape-circle,
.eml-icon-block.is-shape-tile {
	box-sizing: border-box;
	width: calc(var(--eml-icon-size) * 2.25);
	height: calc(var(--eml-icon-size) * 2.25);
	border: 1px solid var(--wp--preset--color--gold-200);
	background: var(--wp--preset--color--gold-50);
}

.eml-icon-block.is-shape-circle {
	border-radius: 9999px;
}

.eml-icon-block.is-shape-tile {
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--gradient--gold-tile);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-icon-block {
	color: var(--wp--preset--color--gold-300);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-icon-block:is(.is-shape-circle, .is-shape-tile) {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-300) 30%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 5%, transparent);
}

/* ---------- Shared section parts ---------- */
.eml-home.eml-home {
	padding-block: 0;
}

.eml-home.eml-home > * {
	margin-block: 0;
}

.eml-section.eml-section {
	padding-block: var(--wp--preset--spacing--100);
}

/* Two plain (white) sections in a row share one gap instead of two. */
.eml-section:not([class*="is-style-section-"]) + .eml-section:not([class*="is-style-section-"]) {
	padding-block-start: 0 !important;
}

/* Eyebrow: gold text after a short gold rule. */
.eml-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	margin: 0;
	color: var(--wp--preset--color--gold-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: 1.6;
}

.eml-pill::before {
	content: "";
	flex-shrink: 0;
	width: 1.75rem;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--gold-400);
}

.eml-section-head--center .eml-pill::after {
	content: "";
	flex-shrink: 0;
	width: 1.75rem;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--gold-400);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-pill,
.eml-pill--dark {
	color: var(--wp--preset--color--gold-300);
}

.eml-section-head.eml-section-head {
	gap: 1.5rem 2.5rem;
	margin-block-end: var(--wp--preset--spacing--80);
}

.eml-section-head__text {
	max-width: 42rem;
}

.eml-section-head .wp-block-heading {
	margin-block: 0.875rem 0;
}

.eml-section-head .wp-block-buttons {
	margin: 0;
}

.eml-section-head--center.eml-section-head--center {
	max-width: 44rem;
	margin-inline: auto;
	text-align: center;
}

.eml-lead.eml-lead {
	margin-block-start: 1rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.9;
}

.eml-section-head > .eml-lead {
	max-width: 26rem;
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-lead.eml-lead {
	color: var(--wp--preset--color--slate-300);
}

.eml-actions.eml-actions {
	gap: 0.75rem;
}

.eml-actions .wp-block-buttons {
	margin: 0;
}

.eml-actions .wp-block-button__link,
.eml-actions .eml-btn {
	min-height: 3.125rem;
	padding: 0.75rem 1.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

@media (max-width: 599.98px) {
	.eml-actions > * {
		flex: 1 1 100%;
	}

	.eml-actions .wp-block-button,
	.eml-actions .wp-block-button__link,
	.eml-actions .eml-btn {
		width: 100%;
	}
}

/* "Learn more" link with a direction-aware arrow (core/read-more renders the link itself with the class) */
.eml-more a,
a.eml-more {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	color: var(--wp--preset--color--navy-700);
	text-decoration: none;
}

.eml-more a:hover,
a.eml-more:hover {
	color: var(--wp--preset--color--gold-700);
}

.eml-more a::after,
a.eml-more::after {
	content: "";
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: translate 0.2s var(--wp--custom--ease);
}

.eml-more a:dir(rtl)::after,
a.eml-more:dir(rtl)::after {
	transform: scaleX(-1);
}

.eml-more a:hover::after,
a.eml-more:hover::after {
	translate: 3px 0;
}

.eml-more a:dir(rtl):hover::after,
a.eml-more:dir(rtl):hover::after {
	translate: -3px 0;
}

/* Gold divider between stacked content (opt-in class) */
.eml-rule {
	width: 3rem;
	height: 2px;
	border: 0;
	background: var(--wp--preset--gradient--gold-rule);
}

/* ---------- Home: hero slider ---------- */
.eml-hero.eml-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(2.5rem, 1.5rem + 3vw, 4rem) 6rem;
	background:
		radial-gradient(48rem 30rem at 18% 30%, color-mix(in srgb, var(--wp--preset--color--gold-200) 35%, transparent), transparent 70%),
		var(--wp--preset--color--cream);
}

/* Fine gold baseline under the hero */
.eml-hero.eml-hero::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 1px;
	background: var(--wp--custom--border--gold);
}

.eml-hero__track.eml-hero__track {
	display: grid;
}

/* Slides stack in one grid cell: the tallest sets the height, so switching never shifts the page. */
.eml-hero__track > .eml-hero__slide {
	grid-area: 1 / 1;
	margin: 0 !important;
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
	align-self: start;
}

.eml-hero__slide + .eml-hero__slide {
	visibility: hidden;
	opacity: 0;
}

.eml-hero.is-ready .eml-hero__slide {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.6s var(--wp--custom--ease), visibility 0s linear 0.6s;
}

.eml-hero.is-ready .eml-hero__slide.is-active {
	visibility: visible;
	opacity: 1;
	transition: opacity 0.6s var(--wp--custom--ease), visibility 0s;
}

.eml-hero.has-changed .eml-hero__slide.is-active .eml-hero__content > * {
	animation: eml-rise 0.7s var(--wp--custom--ease) both;
}

.eml-hero.has-changed .eml-hero__slide.is-active .eml-hero__content > :nth-child(2) { animation-delay: 0.06s; }
.eml-hero.has-changed .eml-hero__slide.is-active .eml-hero__content > :nth-child(3) { animation-delay: 0.12s; }
.eml-hero.has-changed .eml-hero__slide.is-active .eml-hero__content > :nth-child(n+4) { animation-delay: 0.18s; }

/* Slide 1 visual: the couple walks in from opposite sides and meets in the middle, then the three icons
 * pop in one after another and float very gently. Replays whenever the slide becomes active.
 * transform + opacity only. --eml-d is +1 when the couple sits left of the text (RTL page), -1 on LTR pages. */
.eml-hero {
	--eml-d: 1;
	--eml-walk: 4rem;
}

html[dir="ltr"] .eml-hero {
	--eml-d: -1;
}

@keyframes eml-walk-bride {
	from { opacity: 0; transform: translate3d(calc(var(--eml-walk) * var(--eml-d) * -1), 0, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes eml-walk-groom {
	from { opacity: 0; transform: translate3d(calc(var(--eml-walk) * var(--eml-d)), 0, 0); }
	to { opacity: 1; transform: none; }
}

@keyframes eml-icon-pop {
	from { opacity: 0; transform: scale(0.55); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes eml-icon-float {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(0, -0.4rem, 0); }
}

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__img--bride {
	animation: eml-walk-bride 0.85s var(--wp--custom--ease) both;
}

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__img--groom {
	animation: eml-walk-groom 0.85s var(--wp--custom--ease) 0.1s both;
}

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon {
	animation: eml-icon-pop 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon--gavel { animation-delay: 0.7s; }
.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon--rings { animation-delay: 0.85s; }
.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon--scales { animation-delay: 1s; }

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon img {
	animation: eml-icon-float 4.2s ease-in-out 1.8s infinite alternate;
}

.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon--rings img { animation-delay: 2.1s; animation-duration: 4.8s; }
.eml-hero.is-ready .eml-hero__slide.is-active .eml-hero__icon--scales img { animation-delay: 2.4s; animation-duration: 5.2s; }

@media (prefers-reduced-motion: reduce) {
	.eml-hero .eml-hero__img,
	.eml-hero .eml-hero__icon,
	.eml-hero .eml-hero__icon img {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}

@media (max-width: 781.98px) {
	.eml-hero {
		--eml-walk: 2rem;
	}
}

.eml-hero__inner.eml-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	align-items: center;
	gap: var(--wp--preset--spacing--70) clamp(2rem, 5vw, 4.5rem);
}

.eml-hero__inner > * {
	margin: 0 !important;
}

.eml-hero__content > * {
	margin-block: 0;
}

/* The text column has a fixed measure (about 66 characters). It is in rem, not ch, because ch changes when the web font swaps in and would shift the layout. */
.eml-hero__content.eml-hero__content {
	max-width: 35.75rem;
}

.eml-hero__title.eml-hero__title {
	margin-block-start: 1.125rem;
	font-size: clamp(1.875rem, 1.15rem + 2.4vw, 3.125rem);
	line-height: 1.3;
	text-wrap: balance;
}

/* English and French run longer than Arabic: a smaller scale keeps the title within three lines. */
html:lang(en) .eml-hero__title.eml-hero__title,
html:lang(fr) .eml-hero__title.eml-hero__title {
	font-size: clamp(1.5rem, 0.5rem + 2.4vw, 2.375rem);
	line-height: 1.2;
}

html:lang(en) .eml-hero__content.eml-hero__content,
html:lang(fr) .eml-hero__content.eml-hero__content {
	max-width: 39.5rem;
}

html:lang(en) .eml-hero__text.eml-hero__text,
html:lang(fr) .eml-hero__text.eml-hero__text {
	max-width: 28rem;
}

/* Two columns on tablets: give the text a little more room than the picture. */
@media (min-width: 782px) and (max-width: 1099.98px) {
	.eml-hero__inner.eml-hero__inner {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	}
}

/* Fixed height for every language: the track never gets shorter than the longest slide (French),
 * so the hero keeps one height in Arabic, English and French, and while the slides change. */
.eml-hero__track.eml-hero__track {
	min-height: 39.5rem;
}

@media (max-width: 1099.98px) {
	.eml-hero__track.eml-hero__track {
		min-height: 41.5rem;
	}
}

@media (max-width: 781.98px) {
	.eml-hero__track.eml-hero__track {
		min-height: 56.5rem;
	}
}

@media (max-width: 599.98px) {
	.eml-hero__track.eml-hero__track {
		min-height: 61.5rem;
	}
}

@media (max-width: 429.98px) {
	.eml-hero__track.eml-hero__track {
		min-height: 67.5rem;
	}
}

@media (max-width: 379.98px) {
	.eml-hero__track.eml-hero__track {
		min-height: 69.5rem;
	}
}

.eml-hero__text.eml-hero__text {
	max-width: 25rem;
	margin-block-start: 1.25rem;
	color: var(--wp--preset--color--slate-600);
}

.eml-hero__features.eml-hero__features {
	gap: 0.75rem 1.5rem;
	margin-block-start: 1.75rem;
}

.eml-hero__feature.eml-hero__feature {
	gap: 0.5rem;
}

.eml-hero__feature p {
	margin: 0;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-hero__feature .eml-icon-block.is-shape-circle {
	background: var(--wp--preset--color--white);
}

.eml-hero__content > .eml-actions {
	margin-block-start: 2rem;
}

.eml-hero__call.eml-hero__call {
	gap: 0.375rem 0.5rem;
	margin-block-start: 1.25rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

.eml-hero__call p {
	margin: 0;
}

.eml-hero__call .eml-contact--link {
	color: var(--wp--preset--color--navy-900);
	font-weight: 700;
}

/* Slide 2: the number is the headline of the slide. */
.eml-hero__number.eml-hero__number {
	margin-block-start: 1.75rem;
}

.eml-hero__number .eml-contact--link {
	gap: 0.75rem;
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.eml-hero__number .eml-icon {
	--eml-icon-size: 2.75rem;
	padding: 0.625rem;
	box-sizing: border-box;
	border-radius: 9999px;
	border: 1px solid var(--wp--preset--color--gold-200);
	background: var(--wp--preset--color--white);
}

.eml-hero__number .eml-contact--link:hover {
	color: var(--wp--preset--color--navy-700);
}

.eml-hero__note.eml-hero__note {
	max-width: 30rem;
	margin-block-start: 0.75rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

/* Visual: the couple in front of a navy arch with a gold outline (the logo's two arches). */
.eml-hero__visual.eml-hero__visual {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	direction: ltr;
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 34rem;
	margin-inline: auto !important;
}

/* LTR pages mirror the whole composition: the couple, the arches and the icons switch sides. */
html[dir="ltr"] .eml-hero__visual:not(.eml-hero__visual--map) {
	direction: rtl;
}

html[dir="ltr"] .eml-hero__img img {
	transform: scaleX(-1);
}

.eml-hero__visual:not(.eml-hero__visual--map)::before,
.eml-hero__visual:not(.eml-hero__visual--map)::after {
	content: "";
	position: absolute;
	bottom: 0;
	border-radius: 999px 999px 0 0;
	pointer-events: none;
}

.eml-hero__visual:not(.eml-hero__visual--map)::before {
	z-index: -2;
	inset-inline: 12%;
	top: 15%;
	background:
		radial-gradient(80% 60% at 50% 20%, color-mix(in srgb, var(--wp--preset--color--navy-700) 70%, transparent), transparent),
		var(--wp--preset--color--navy-900);
}

/* The gold arch sits above the navy one (behind the couple), so its whole outline shows. */
.eml-hero__visual:not(.eml-hero__visual--map)::after {
	z-index: -1;
	inset-inline-start: 3%;
	inset-inline-end: 19%;
	top: 9%;
	border: 2px solid var(--wp--preset--color--gold-400);
	border-bottom: 0;
}

.eml-hero__img.eml-hero__img {
	position: relative;
	margin: 0;
	flex: 0 0 auto;
}

.eml-hero__img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 0;
	filter: drop-shadow(0 18px 24px color-mix(in srgb, var(--wp--preset--color--navy-950) 28%, transparent));
}

.eml-hero__img--bride.eml-hero__img--bride {
	width: 48%;
	z-index: 2;
}

.eml-hero__img--groom.eml-hero__img--groom {
	width: 27.5%;
	margin-inline-start: -5%;
	z-index: 1;
}

/* Icons: white disc (part of the image) with a thin gold border and a soft shadow. */
.eml-hero__icon.eml-hero__icon {
	position: absolute;
	z-index: 3;
	margin: 0;
	width: 14.5%;
}

.eml-hero__icon img {
	display: block;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--gold-400);
	border-radius: 9999px;
	background: var(--wp--preset--color--white);
	box-shadow: 0 0.75rem 1.5rem -0.5rem color-mix(in srgb, var(--wp--preset--color--navy-950) 28%, transparent);
}

.eml-hero__icon--gavel { inset-inline-start: 1%; top: 22%; }
.eml-hero__icon--rings { inset-inline-start: 41%; top: 0; }
.eml-hero__icon--scales { inset-inline-start: 79%; top: 11%; }

@media (max-width: 781.98px) {
	.eml-hero__icon.eml-hero__icon {
		width: 12.5%;
	}
}

/* Slide 2 visual: a navy card with the two branches */
/* Slide 2 card: branch name + area on one side, "Directions" on the other. */
.eml-branches--compact {
	display: grid;
	gap: 0.875rem;
}

.eml-branches--compact .eml-branch__inner {
	align-items: center;
	margin: 0;
	padding: 0;
}

.eml-branches--compact .eml-branch__icon {
	flex: 0 0 auto;
	margin: 0;
}

.eml-branches--compact .eml-branch__body {
	flex: 1 1 auto;
}

.eml-branches--compact .eml-branch__name {
	display: block;
	color: var(--wp--preset--color--white);
	font-weight: 600;
	line-height: 1.5;
}

.eml-branches--compact .eml-branch__area {
	display: block;
	color: var(--wp--preset--color--slate-300);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.eml-branch__dir {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 0.375rem;
	box-sizing: border-box;
	min-height: 2.75rem;
	padding-inline: 0.875rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 55%, transparent);
	border-radius: 9999px;
	color: var(--wp--preset--color--gold-300);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.2s var(--wp--custom--ease), color 0.2s var(--wp--custom--ease);
}

.eml-branch__dir:hover {
	background: color-mix(in srgb, var(--wp--preset--color--gold-400) 14%, transparent);
	color: var(--wp--preset--color--white);
}

.eml-branch__dir .eml-icon {
	width: 0.875rem;
	height: 0.875rem;
}

.eml-branches-section {
	scroll-margin-top: 5rem;
}

/* Controls (built by hero-slider.js) */
.eml-hero__controls {
	position: absolute;
	z-index: 5;
	bottom: 1.5rem;
	inset-inline-start: max(var(--wp--style--root--padding-left, 1.25rem), calc((100% - var(--wp--style--global--wide-size, 78rem)) / 2));
	display: flex;
	align-items: center;
	gap: 0;
}

.eml-hero__dots {
	display: flex;
	align-items: center;
	margin-inline-start: -0.5rem; /* the gold dash lines up with the text edge */
}

/* 44px tap target around a small dot; the dot itself stays small. */
.eml-hero__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.eml-hero__dot::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--slate-300);
	transition: width 0.35s var(--wp--custom--ease), background-color 0.35s var(--wp--custom--ease);
}

.eml-hero__dot:hover::before {
	background: var(--wp--preset--color--slate-400);
}

.eml-hero__dot[aria-current="true"]::before {
	width: 1.75rem;
	background: var(--wp--preset--color--gold-500);
}

.eml-hero__dot:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold-600);
	outline-offset: -4px;
	border-radius: 0.5rem;
}

@media (max-width: 781.98px) {
	.eml-hero.eml-hero {
		padding-block: 2rem 5.5rem;
	}

	.eml-hero__inner.eml-hero__inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.eml-hero__title.eml-hero__title {
		font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem);
	}

	.eml-hero__text.eml-hero__text {
		font-size: var(--wp--preset--font-size--medium);
	}

	.eml-hero__features.eml-hero__features {
		gap: 0.625rem 1rem;
	}

	.eml-hero__visual.eml-hero__visual {
		max-width: 21rem;
	}

	.eml-hero__controls {
		bottom: 1rem;
	}
}

/* ---------- Home: service cards ---------- */
.eml-cards.eml-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

@media (max-width: 1099.98px) {
	.eml-cards.eml-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599.98px) {
	.eml-cards.eml-cards {
		grid-template-columns: 1fr;
	}
}

.eml-cards > * {
	margin: 0 !important;
}

/* Card: thin gold-tinted border, short gold accent on top, soft navy shadow. */
.eml-card.eml-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 1.75rem 1.5rem 1.5rem;
	border: 1px solid var(--wp--custom--border--gold);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease), border-color 0.3s var(--wp--custom--ease);
}

.eml-card.eml-card::before {
	content: "";
	position: absolute;
	top: -1px;
	inset-inline-start: 1.5rem;
	width: 2.25rem;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: var(--wp--preset--color--gold-400);
	transition: width 0.3s var(--wp--custom--ease);
}

.eml-card.eml-card:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--gold-400);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-card.eml-card:hover::before {
	width: 4rem;
}

.eml-card > * {
	margin-block: 0;
}

.eml-card__title.eml-card__title {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.5;
}

.eml-card__text.eml-card__text {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.85;
}

.eml-card__link.eml-card__link {
	margin-block-start: auto;
	padding-block-start: 1.25rem;
}

/* Whole card is clickable through its link. */
.eml-card__link a::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.eml-other-box.eml-other-box {
	display: flex;
	align-items: center;
	gap: 1.25rem 1.5rem;
	margin-block-start: 1.5rem;
	padding: 1.5rem 1.75rem;
	border: 1px solid var(--wp--custom--border--gold);
	border-radius: var(--wp--custom--radius--lg);
}

.eml-other-box.eml-other-box > * {
	margin: 0;
}

.eml-other-box__body.eml-other-box__body {
	flex: 1;
}

.eml-other-box__body > * {
	margin-block: 0;
}

.eml-other-box__title.eml-other-box__title {
	font-size: var(--wp--preset--font-size--x-large);
}

.eml-other-box__text.eml-other-box__text {
	margin-block-start: 0.375rem;
	color: var(--wp--preset--color--slate-600);
}

@media (max-width: 781.98px) {
	.eml-other-box.eml-other-box {
		flex-wrap: wrap;
		padding: 1.375rem;
	}

	.eml-other-box__body.eml-other-box__body {
		flex-basis: calc(100% - 4.5rem);
	}
}

.eml-services__other.eml-services__other {
	gap: 0.5rem 1rem;
	margin-block-start: var(--wp--preset--spacing--60);
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

.eml-services__other p {
	margin: 0;
}

.eml-services__other .eml-contact--link {
	color: var(--wp--custom--color--whatsapp-ink);
}

.eml-services__other .eml-contact--link .eml-icon {
	color: var(--wp--custom--color--whatsapp);
}

/* ---------- Home: advisor (light section) ---------- */
.eml-advisor-section.eml-advisor-section {
	background: var(--wp--preset--color--cream);
	color: var(--wp--preset--color--slate-700);
}

.eml-advisor.eml-advisor {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	padding: 0;
}

.eml-advisor__main.eml-advisor__main,
.eml-advisor__stats.eml-advisor__stats {
	margin: 0;
}

.eml-advisor__main > * {
	margin-block: 0;
}

.eml-advisor__main > .wp-block-heading {
	margin-block-start: 0.875rem;
	color: var(--wp--preset--color--navy-900);
}

.eml-advisor__title.eml-advisor__title {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--gold-700);
	font-weight: 600;
}

.eml-advisor__quote.eml-advisor__quote {
	position: relative;
	margin: 1.75rem 0 0;
	padding: 1.75rem 2rem 1.75rem 2rem;
	padding-inline-start: 4.25rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 45%, transparent);
	border-inline-start: 3px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.6rem);
	font-weight: 500;
	line-height: 1.85;
}

.eml-advisor__quote::before {
	content: "“";
	position: absolute;
	inset-inline-start: 1.1rem;
	inset-block-start: 0.4rem;
	color: var(--wp--preset--color--gold-500);
	font-family: Georgia, serif;
	font-size: 5.5rem;
	line-height: 1;
}

.eml-advisor__quote p {
	margin: 0;
}

.eml-advisor__actions.eml-advisor__actions {
	margin-block-start: 2rem;
}

.eml-advisor__actions .wp-block-button__link,
.eml-advisor__actions .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

.eml-advisor__actions .wp-block-button__link:hover {
	background: var(--wp--preset--color--navy-950);
}

.eml-advisor__stats.eml-advisor__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-self: stretch;
	gap: 1rem;
}

.eml-advisor-stat.eml-advisor-stat {
	display: grid;
	align-content: center;
	min-height: 9.5rem;
	margin: 0;
	padding: 1.25rem;
	border: 1px solid var(--wp--preset--color--slate-100);
	border-block-start: 2px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-advisor-stat > * {
	margin: 0;
}

.eml-advisor-stat__value.eml-advisor-stat__value {
	color: var(--wp--preset--color--navy-900);
	font-size: clamp(2.25rem, 1.7rem + 1.8vw, 3.4rem);
	font-weight: 700;
	line-height: 1.15;
}

.eml-advisor-stat__label.eml-advisor-stat__label {
	margin-block-start: 0.4rem;
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--small);
}

.eml-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.eml-tags li {
	margin: 0;
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-50);
	color: var(--wp--preset--color--gold-800);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	line-height: 1.7;
}

:is(.is-style-section-navy, .is-style-section-ink) .eml-tags li {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-300) 30%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 5%, transparent);
	color: var(--wp--preset--color--gold-200);
}

@media (max-width: 781.98px) {
	.eml-advisor.eml-advisor {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.eml-advisor__quote.eml-advisor__quote {
		padding: 1.25rem 1.25rem 1.25rem 1.25rem;
		padding-inline-start: 3.25rem;
	}

	.eml-advisor__quote::before {
		inset-inline-start: 0.75rem;
		inset-block-start: 0.5rem;
		font-size: 4.25rem;
	}

	.eml-advisor__stats.eml-advisor__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eml-advisor-stat.eml-advisor-stat {
		min-height: 7rem;
	}
}

/* ---------- Home: steps on a dashed gold line ---------- */
.eml-steps.eml-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 2rem 1.5rem;
	counter-reset: none;
}

.eml-steps > * {
	margin: 0 !important;
}

.eml-step.eml-step {
	position: relative;
	text-align: center;
}

.eml-step > * {
	margin-block: 0;
}

/* Dashed line from this marker to the next one */
.eml-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 1.75rem;
	inset-inline-start: calc(50% + 2.25rem);
	inset-inline-end: calc(-50% - 1.5rem + 2.25rem);
	border-top: 2px dashed var(--wp--preset--color--gold-300);
}

.eml-step__marker.eml-step__marker {
	position: relative;
	display: inline-block;
}

.eml-step__marker .eml-icon-block.is-shape-circle {
	width: 3.5rem;
	height: 3.5rem;
	border: 2px solid var(--wp--preset--color--gold-400);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy-900);
	transition: background-color 0.3s var(--wp--custom--ease), color 0.3s var(--wp--custom--ease);
}

.eml-step:hover .eml-step__marker .eml-icon-block.is-shape-circle {
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--gold-300);
}

.eml-step__num.eml-step__num {
	position: absolute;
	top: -0.25rem;
	inset-inline-end: -0.375rem;
	display: grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	margin: 0;
	border-radius: 9999px;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.eml-step__title.eml-step__title {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--large);
}

.eml-step__text.eml-step__text {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.85;
}

/* Narrow screens: vertical timeline */
@media (max-width: 899.98px) {
	.eml-steps.eml-steps {
		grid-template-columns: 1fr;
		gap: 1.75rem;
		max-width: 32rem;
		margin-inline: auto;
	}

	.eml-step.eml-step {
		display: grid;
		grid-template-columns: 3.5rem 1fr;
		column-gap: 1.25rem;
		text-align: start;
	}

	.eml-step__marker.eml-step__marker {
		grid-row: 1 / span 2;
	}

	.eml-step__title.eml-step__title {
		margin-block-start: 0.25rem;
	}

	.eml-step:not(:last-child)::after {
		top: 3.75rem;
		bottom: -1.5rem;
		inset-inline-start: 1.75rem;
		inset-inline-end: auto;
		border-top: 0;
		border-inline-start: 2px dashed var(--wp--preset--color--gold-300);
	}
}

/* ---------- Home: stats band ---------- */
.eml-stats .eml-section-head.eml-section-head {
	margin-block-end: var(--wp--preset--spacing--70);
}

.eml-stats__grid.eml-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-block: 1px solid var(--wp--custom--border--glass);
}

.eml-stats__grid > * {
	margin: 0 !important;
}

.eml-stat.eml-stat {
	padding: 2rem 1.5rem;
	text-align: center;
}

/* Gold dividers between the numbers */
.eml-stat + .eml-stat {
	border-inline-start: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 35%, transparent);
}

.eml-stat > * {
	margin-block: 0;
}

.eml-stat__num.eml-stat__num {
	color: var(--wp--preset--color--gold-300);
	font-size: clamp(2.5rem, 1.75rem + 2.4vw, 3.5rem);
	font-weight: 700;
	line-height: 1.1;
	direction: ltr;
	unicode-bidi: isolate;
}

.eml-stat__label.eml-stat__label {
	margin-block-start: 0.75rem;
	color: var(--wp--preset--color--white);
	font-weight: 500;
}

.eml-stat__note.eml-stat__note {
	margin-block-start: 0.25rem;
	color: var(--wp--preset--color--slate-400);
	font-size: var(--wp--preset--font-size--small);
}

@media (max-width: 781.98px) {
	.eml-stats__grid.eml-stats__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.eml-stat.eml-stat {
		padding: 1.5rem 0.75rem;
	}

	.eml-stat:nth-child(odd) {
		border-inline-start: 0;
	}

	.eml-stat:nth-child(n+3) {
		border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 35%, transparent);
	}
}

/* ---------- Home: why us / values ---------- */
.eml-why__cols.eml-why__cols {
	gap: var(--wp--preset--spacing--70) clamp(2rem, 6vw, 5rem);
}

.eml-why__text > * {
	margin-block: 0;
}

.eml-why__text > .wp-block-heading {
	margin-block-start: 0.875rem;
}

.eml-why__text > .wp-block-buttons {
	margin-block-start: 2rem;
}

.eml-values.eml-values {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.eml-values > * {
	margin: 0 !important;
}

.eml-value.eml-value {
	padding: 1.5rem;
	border-color: var(--wp--custom--border--gold);
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease);
}

.eml-value.eml-value:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-value.eml-value > * {
	margin-block: 0;
}

.eml-value__title.eml-value__title {
	margin-block-start: 1rem;
	font-size: var(--wp--preset--font-size--large);
}

.eml-value__text.eml-value__text {
	margin-block-start: 0.375rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.85;
}

@media (max-width: 599.98px) {
	.eml-values.eml-values {
		grid-template-columns: 1fr;
	}
}

/* ---------- FAQ (accordion) ---------- */
.eml-faq__cols.eml-faq__cols {
	gap: var(--wp--preset--spacing--70) clamp(2rem, 6vw, 5rem);
}

.eml-faq__intro > * {
	margin-block: 0;
}

.eml-faq__intro > .wp-block-heading {
	margin-block-start: 0.875rem;
}

.eml-faq__intro > .wp-block-buttons {
	margin-block-start: 2rem;
}

.eml-faq__list.eml-faq__list > * {
	margin-block: 0;
}

.eml-faq__list.eml-faq__list > * + * {
	margin-block-start: 0.75rem;
}

.eml-faq__item.eml-faq__item {
	padding: 1.125rem 1.375rem;
	border: 1px solid var(--wp--preset--color--slate-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--slate-600);
}

.eml-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	list-style: none;
	cursor: pointer;
	color: var(--wp--preset--color--navy-950);
	font-weight: 500;
	line-height: 1.7;
}

.eml-faq__item summary::-webkit-details-marker {
	display: none;
}

/* Plus that turns into a cross */
.eml-faq__item summary::after {
	content: "";
	flex-shrink: 0;
	width: 1.875rem;
	height: 1.875rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-50) linear-gradient(var(--wp--preset--color--gold-700), var(--wp--preset--color--gold-700)) center / 0.75rem 2px no-repeat;
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--gold-200);
	transition: transform 0.25s var(--wp--custom--ease);
}

.eml-faq__item summary {
	position: relative;
}

.eml-faq__item summary::before {
	content: "";
	position: absolute;
	inset-inline-end: calc(0.9375rem - 1px);
	top: 50%;
	width: 2px;
	height: 0.75rem;
	margin-top: -0.375rem;
	background: var(--wp--preset--color--gold-700);
	transition: transform 0.25s var(--wp--custom--ease);
}

.eml-faq__item[open] summary::before {
	transform: rotate(90deg);
}

.eml-faq__item > p {
	margin-block: 0.75rem 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

/* ---------- Home: latest posts ---------- */
.eml-latest-posts .eml-post-grid {
	gap: 1.25rem;
}

.eml-post-card.eml-post-card {
	overflow: hidden;
	padding: 0;
	border-color: var(--wp--preset--color--slate-200);
}

.eml-post-card__image {
	margin: 0;
}

.eml-post-card__image img {
	border-radius: 0;
}

.eml-post-card__body.eml-post-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
}

.eml-post-card__body > * {
	margin-block: 0;
}

.eml-post-card__body > * + * {
	margin-block-start: 0.625rem;
}

.eml-post-card__meta.eml-post-card__meta {
	gap: 0.5rem 0.75rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-post-card__cat a {
	color: var(--wp--preset--color--gold-700);
	font-weight: 500;
	text-decoration: none;
}

.eml-post-card__title.eml-post-card__title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.55;
}

.eml-post-card__title a {
	color: var(--wp--preset--color--navy-950);
	text-decoration: none;
}

.eml-post-card__title a:hover {
	color: var(--wp--preset--color--navy-700);
}

/* ---------- Home: closing CTA ---------- */
.eml-cta__box.eml-cta__box {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(2.5rem, 1.5rem + 4vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
	border-radius: var(--wp--custom--radius--3-xl);
	text-align: center;
}

/* Two thin arches in the corners (the logo's motif) */
.eml-cta__box::before,
.eml-cta__box::after {
	content: "";
	position: absolute;
	z-index: -1;
	bottom: -6rem;
	width: 16rem;
	height: 16rem;
	border: 2px solid color-mix(in srgb, var(--wp--preset--color--gold-300) 22%, transparent);
	border-radius: 999px;
	pointer-events: none;
}

.eml-cta__box::before {
	inset-inline-start: -5rem;
}

.eml-cta__box::after {
	inset-inline-end: -5rem;
	border-color: color-mix(in srgb, var(--wp--preset--color--white) 10%, transparent);
}

.eml-cta__box > * {
	margin-block: 0;
}

.eml-cta__box > .wp-block-heading {
	margin-block-start: 0.875rem;
}

.eml-cta__box .eml-pill::after {
	content: "";
	flex-shrink: 0;
	width: 1.75rem;
	height: 2px;
	border-radius: 2px;
	background: var(--wp--preset--color--gold-400);
}

.eml-cta__box > .eml-actions {
	margin-block-start: 2rem;
}

.eml-cta__call.eml-cta__call {
	gap: 0.375rem 0.5rem;
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.eml-cta__call p {
	margin: 0;
}

.eml-cta__call .eml-contact--link {
	color: var(--wp--preset--color--white);
	font-weight: 700;
}

/* ---------- Testimonials (only rendered when real ones exist) ---------- */
.eml-testimonials {
	padding-block: var(--wp--preset--spacing--100);
	padding-inline: var(--wp--style--root--padding-left, 1.25rem);
}

.eml-testimonials__inner {
	max-width: var(--wp--style--global--wide-size, 78rem);
	margin-inline: auto;
}

.eml-testimonials__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eml-testimonial figure {
	height: 100%;
	margin: 0;
	padding: 1.75rem;
	border: 1px solid var(--wp--custom--border--gold);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-testimonial__text {
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--wp--preset--color--slate-700);
	line-height: 1.9;
}

.eml-testimonial__text p {
	margin: 0;
}

.eml-testimonial__by {
	display: grid;
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--small);
}

.eml-testimonial__name {
	color: var(--wp--preset--color--navy-950);
	font-weight: 500;
}

.eml-testimonial__origin {
	color: var(--wp--preset--color--slate-500);
}

/* ---------- Editor: show both slides one under the other ---------- */
.editor-styles-wrapper .eml-hero__track.eml-hero__track {
	display: block;
}

.editor-styles-wrapper .eml-hero__slide.eml-hero__slide {
	visibility: visible;
	opacity: 1;
}

.editor-styles-wrapper .eml-hero__slide + .eml-hero__slide {
	margin-block-start: 3rem !important;
	padding-block-start: 3rem;
	border-top: 1px dashed var(--wp--preset--color--gold-400);
}

/* ---------- Motion ---------- */
@keyframes eml-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes eml-rise {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

@keyframes eml-slide-up {
	from { transform: translateY(100%); }
	to { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* =====================================================================
 * Inner pages
 * ===================================================================== */

/* ---------- Page wrapper + inner hero ---------- */
.eml-page.eml-page {
	padding-block: 0;
}

.eml-page.eml-page > * {
	margin-block: 0;
}

.eml-page-hero.eml-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(3rem, 2rem + 3vw, 4.5rem) var(--wp--preset--spacing--80);
	background: var(--wp--preset--color--cream);
	border-bottom: 1px solid var(--wp--custom--border--gold);
	text-align: center;
}

/* Two thin arches behind the title (the logo's motif) */
.eml-page-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	bottom: -1px;
	width: 34rem;
	height: 17rem;
	translate: -50% 0;
	border: 2px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 30%, transparent);
	border-bottom: 0;
	border-radius: 999px 999px 0 0;
	pointer-events: none;
}

.eml-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(40% 45% at 50% 0%, color-mix(in srgb, var(--wp--preset--color--gold-400) 16%, transparent), transparent 70%);
}

.eml-page-hero.eml-page-hero > * {
	margin-block: 0;
	margin-inline: auto;
}

.eml-page-hero > .eml-pill,
.eml-page-hero > .eml-pill-terms {
	margin-block-start: 1.25rem;
}

.eml-page-hero > .eml-breadcrumbs + .eml-page-hero__title {
	margin-block-start: 1.25rem;
}

.eml-page-hero__title.eml-page-hero__title {
	margin-block-start: 1.25rem;
	font-size: clamp(2rem, 1.2rem + 3.2vw, 3.25rem);
	line-height: 1.35;
	text-wrap: balance;
}

.eml-page-hero .eml-lead.eml-lead {
	max-width: 40rem;
	margin-block-start: 1.25rem;
}

.eml-page-hero .eml-actions.eml-actions {
	margin-block-start: 2rem;
}

.eml-page-hero + .eml-section:not([class*="is-style-section-"]),
.eml-page-hero + .wp-block-post-content.eml-section {
	padding-block-start: var(--wp--preset--spacing--70);
}

/* Breadcrumbs */
.eml-breadcrumbs.eml-breadcrumbs {
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-breadcrumbs ol {
	justify-content: center;
	row-gap: 0.25rem;
}

.eml-breadcrumbs a {
	color: var(--wp--preset--color--slate-500);
	text-decoration: none;
}

.eml-breadcrumbs a:hover {
	color: var(--wp--preset--color--gold-700);
}

.eml-breadcrumbs [aria-current="page"] {
	color: var(--wp--preset--color--slate-800);
	font-weight: 500;
}

.eml-breadcrumbs li:not(:last-child)::after {
	content: "";
	width: 0.75rem;
	height: 0.75rem;
	margin: 0 0.5rem;
	opacity: 0.6;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.eml-breadcrumbs li:not(:last-child):dir(rtl)::after {
	transform: scaleX(-1);
}

/* Category pill above an article title */
.eml-pill-terms.eml-pill-terms {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.375rem;
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-pill-terms a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.3125rem 0.875rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-50);
	color: var(--wp--preset--color--gold-800);
	font-weight: 500;
	text-decoration: none;
}

.eml-pill-terms .wp-block-post-terms__separator {
	display: none;
}

.eml-article-meta.eml-article-meta {
	gap: 0.5rem 1.25rem;
	margin-block-start: 1.5rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

.eml-article-meta > * {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin: 0;
}

.eml-article-meta > * + *::before {
	content: "";
	width: 0.25rem;
	height: 0.25rem;
	margin-inline-end: 0.875rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-500);
}

.eml-section-head--center > .eml-lead.eml-lead {
	max-width: 36rem;
	margin: 1rem auto 0;
}

/* ---------- Buttons: WhatsApp on light surfaces ---------- */
.eml-btn--whatsapp-light,
.eml-btn--whatsapp-light:visited {
	background: var(--wp--custom--color--whatsapp-soft);
	border-color: var(--wp--custom--color--whatsapp-line);
	color: var(--wp--custom--color--whatsapp-ink);
}

.eml-btn--whatsapp-light:hover {
	background: color-mix(in srgb, var(--wp--custom--color--whatsapp-line) 45%, var(--wp--custom--color--whatsapp-soft));
	color: var(--wp--custom--color--whatsapp-ink);
}

.eml-btn--outline,
.eml-btn--outline:visited {
	background: transparent;
	border-color: var(--wp--custom--border--soft);
	color: var(--wp--preset--color--navy-950);
}

.eml-btn--outline:hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-500) 30%, transparent);
	color: var(--wp--preset--color--gold-700);
}

/* ---------- Service page ---------- */
.eml-service__cols.eml-service__cols {
	gap: var(--wp--preset--spacing--60) clamp(1.5rem, 4vw, 3rem);
}

.eml-service__main.eml-service__main > * {
	margin-block: 0;
}

.eml-service__main.eml-service__main > * + * {
	margin-block-start: var(--wp--preset--spacing--70);
}

.eml-service__block.eml-service__block > * {
	margin-block: 0;
}

.eml-service__block > .wp-block-heading {
	margin-block-end: 1.25rem;
	font-size: var(--wp--preset--font-size--xx-large);
}

.eml-service__intro.eml-service__intro {
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--large);
	line-height: 2;
}

.eml-service__aside.eml-service__aside > * {
	margin-block: 0;
}

.eml-service__aside.eml-service__aside > * + * {
	margin-block-start: 1.25rem;
}

@media (min-width: 1024px) {
	.eml-service__aside.eml-service__aside {
		position: sticky;
		top: calc(var(--wp--custom--header--height) + 2rem);
		align-self: flex-start;
	}
}

@media (max-width: 1023.98px) {
	.eml-service__cols.eml-service__cols {
		flex-wrap: wrap !important;
	}

	.eml-service__cols > .wp-block-column {
		flex-basis: 100% !important;
	}
}

/* Side CTA card */
.eml-aside-cta.eml-aside-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 1.75rem;
	border-radius: var(--wp--custom--radius--3-xl);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-aside-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(70% 50% at 100% 0%, color-mix(in srgb, var(--wp--preset--color--gold-400) 22%, transparent), transparent 70%);
}

.eml-aside-cta.eml-aside-cta > * {
	margin-block: 0;
}

.eml-aside-cta .eml-icon-block.is-shape-tile {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-300) 30%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 6%, transparent);
	box-shadow: none;
	color: var(--wp--preset--color--gold-300);
}

.eml-aside-cta__title.eml-aside-cta__title {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.5;
}

.eml-aside-cta__text.eml-aside-cta__text {
	margin-block-start: 0.625rem;
	color: var(--wp--preset--color--slate-400);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

.eml-aside-cta__actions.eml-aside-cta__actions {
	display: grid;
	gap: 0.625rem;
	margin-block-start: 1.5rem;
}

.eml-aside-cta__actions > * {
	margin: 0;
}

.eml-aside-cta__actions .wp-block-button,
.eml-aside-cta__actions .wp-block-button__link,
.eml-aside-cta__actions .eml-btn {
	width: 100%;
}

.eml-aside-cta__actions .wp-block-buttons {
	margin: 0;
}

/* Other services */
.eml-aside-links.eml-aside-links {
	padding: 1.5rem;
	border-radius: var(--wp--custom--radius--2-xl);
}

.eml-aside-links.eml-aside-links > * {
	margin-block: 0;
}

.eml-aside-links__title.eml-aside-links__title {
	margin-block-end: 0.75rem;
	color: var(--wp--preset--color--navy-950);
	font-weight: 700;
}

.eml-links--arrows.eml-links--arrows {
	gap: 0;
}

.eml-links--arrows li + li {
	border-top: 1px solid var(--wp--custom--border--subtle);
}

.eml-links--arrows a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-block: 0.75rem;
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: none;
}

.eml-links--arrows a::after {
	content: "";
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	background: var(--wp--preset--color--gold-600);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: translate 0.2s var(--wp--custom--ease);
}

.eml-links--arrows a:dir(rtl)::after {
	transform: scaleX(-1);
}

.eml-links--arrows a:hover {
	color: var(--wp--preset--color--gold-700);
}

/* Check list / dot list */
.eml-checklist.eml-checklist,
.eml-dotlist.eml-dotlist {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.75rem;
}

.eml-checklist li,
.eml-dotlist li {
	position: relative;
	margin: 0;
	padding-inline-start: 2rem;
	line-height: 1.9;
}

.eml-checklist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.25rem;
	width: 1.375rem;
	height: 1.375rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-50);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--gold-200);
}

.eml-checklist li::after {
	content: "";
	position: absolute;
	inset-inline-start: 0.3125rem;
	top: 0.5625rem;
	width: 0.75rem;
	height: 0.75rem;
	background: var(--wp--preset--color--gold-700);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

.eml-dotlist.eml-dotlist {
	gap: 0.5rem;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
}

.eml-dotlist li {
	padding-inline-start: 1.125rem;
}

.eml-dotlist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: 0.75em;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-500);
}

/* Requirement cards */
.eml-info-grid.eml-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.25rem;
}

.eml-info-grid--single.eml-info-grid--single {
	grid-template-columns: 1fr;
}

.eml-info-card.eml-info-card {
	margin: 0;
	padding: 1.5rem;
	border-radius: var(--wp--custom--radius--2-xl);
}

.eml-info-card.eml-info-card > * {
	margin-block: 0;
}

.eml-info-card__title.eml-info-card__title {
	margin-block: 1rem 0.75rem;
	font-size: var(--wp--preset--font-size--large);
}

@media (max-width: 599.98px) {
	.eml-info-grid.eml-info-grid {
		grid-template-columns: 1fr;
	}
}

/* Note */
.eml-note.eml-note {
	gap: 0.75rem;
	margin-block-start: 1.25rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--gold-50);
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

.eml-note.eml-note > * {
	margin: 0;
}

.eml-note .eml-icon-block {
	margin-block-start: 0.25rem;
	color: var(--wp--preset--color--gold-700);
}

/* Numbered steps */
.eml-timeline.eml-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: eml-step;
	display: grid;
}

.eml-timeline li {
	position: relative;
	margin: 0;
	padding-block: 0.375rem 1.5rem;
	padding-inline-start: 3.5rem;
	counter-increment: eml-step;
	line-height: 1.9;
}

.eml-timeline li:last-child {
	padding-block-end: 0;
}

.eml-timeline li::before {
	content: counter(eml-step, decimal-leading-zero);
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--gradient--gold-tile);
	color: var(--wp--preset--color--gold-800);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.eml-timeline li:not(:last-child)::after {
	content: "";
	position: absolute;
	inset-inline-start: 1.25rem;
	top: 2.75rem;
	bottom: 0.25rem;
	width: 1px;
	background: linear-gradient(var(--wp--preset--color--gold-300), var(--wp--preset--color--gold-100));
}

/* ---------- FAQ on light surfaces ---------- */
.eml-faq__list--light .eml-faq__item.eml-faq__item {
	border: 1px solid var(--wp--custom--border--subtle);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease);
}

.eml-faq__list--light .eml-faq__item[open] {
	border-color: var(--wp--preset--color--gold-200);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-faq-nav.eml-faq-nav {
	margin-block-end: var(--wp--preset--spacing--60);
}

.eml-faq-nav a {
	text-decoration: none;
}

.eml-faq-group.eml-faq-group {
	scroll-margin-top: calc(var(--wp--custom--header--height) + 2rem);
}

.eml-faq-group.eml-faq-group > * {
	margin-block: 0;
}

.eml-faq-group__head.eml-faq-group__head {
	gap: 0.875rem;
	margin-block-end: 1.25rem;
}

.eml-faq-group__title.eml-faq-group__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-large);
}

.eml-faq-group__link.eml-faq-group__link {
	margin-block-start: 1.25rem;
}

.eml-faq-page .eml-service__main > .eml-faq-group + .eml-faq-group {
	margin-block-start: var(--wp--preset--spacing--80);
}

/* ---------- About ---------- */
.eml-story__cols.eml-story__cols {
	gap: var(--wp--preset--spacing--70) clamp(2rem, 5vw, 4.5rem);
}

.eml-story__text.eml-story__text > * {
	margin-block: 0;
}

.eml-story__text > .wp-block-heading {
	margin-block-start: 1rem;
}

.eml-story__text > p:not(.eml-pill) {
	margin-block-start: 1.25rem;
	color: var(--wp--preset--color--slate-600);
	line-height: 2;
}

.eml-story__image.eml-story__image {
	margin-block-start: 2rem;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--3-xl);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-story__image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.eml-story__subtitle.eml-story__subtitle {
	margin-block: 0 1.5rem;
	font-size: var(--wp--preset--font-size--x-large);
}

.eml-milestones.eml-milestones {
	position: relative;
	display: grid;
	gap: 1rem;
	padding-inline-start: 1.5rem;
}

.eml-milestones::before {
	content: "";
	position: absolute;
	inset-inline-start: 0.3125rem;
	top: 1rem;
	bottom: 1rem;
	width: 1px;
	background: linear-gradient(var(--wp--preset--color--gold-300), var(--wp--preset--color--gold-100));
}

.eml-milestone.eml-milestone {
	position: relative;
	margin: 0;
	padding: 1.25rem 1.5rem;
	border-radius: var(--wp--custom--radius--2-xl);
}

.eml-milestone::before {
	content: "";
	position: absolute;
	inset-inline-start: calc(-1.5rem + 0.0625rem);
	top: 1.625rem;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--gold-500);
	box-shadow: 0 0 0 4px var(--wp--preset--color--gold-100);
}

.eml-milestone.eml-milestone > * {
	margin: 0;
}

.eml-milestone__tag.eml-milestone__tag {
	color: var(--wp--preset--color--gold-700);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.eml-milestone__text.eml-milestone__text {
	margin-block-start: 0.375rem;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

.eml-vmv__grid.eml-vmv__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

.eml-vmv__grid > * {
	margin: 0;
	padding: 1.75rem;
	border-radius: var(--wp--custom--radius--2-xl);
}

.eml-vmv__grid > * > * {
	margin-block: 0;
}

.eml-vmv__vision,
.eml-vmv__mission {
	grid-column: span 2;
}

.eml-vmv__vision.eml-vmv__vision {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}

.eml-vmv__vision::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(60% 70% at 100% 0%, color-mix(in srgb, var(--wp--preset--color--gold-400) 25%, transparent), transparent 70%);
}

.eml-vmv__vision .eml-icon-block.is-shape-tile {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-300) 30%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 6%, transparent);
	box-shadow: none;
	color: var(--wp--preset--color--gold-300);
}

.eml-vmv__grid .wp-block-heading {
	margin-block-start: 1.25rem;
	font-size: var(--wp--preset--font-size--x-large);
}

.eml-vmv__grid p {
	margin-block-start: 0.625rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

.eml-vmv__vision p,
.eml-vmv__mission p {
	font-size: var(--wp--preset--font-size--medium);
}

.eml-vmv__mission p,
.eml-vmv__value p {
	color: var(--wp--preset--color--slate-600);
}

.eml-vmv__values-head.eml-vmv__values-head {
	margin-block-start: var(--wp--preset--spacing--80);
}

.eml-vmv__quote.eml-vmv__quote {
	max-width: 40rem;
	margin: var(--wp--preset--spacing--70) auto 0;
	padding-block-start: 1.5rem;
	border-top: 1px solid var(--wp--custom--border--gold);
	color: var(--wp--preset--color--navy-900);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	line-height: 1.8;
	text-align: center;
}

@media (max-width: 1023.98px) {
	.eml-vmv__grid.eml-vmv__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599.98px) {
	.eml-vmv__grid.eml-vmv__grid {
		grid-template-columns: 1fr;
	}

	.eml-vmv__vision,
	.eml-vmv__mission {
		grid-column: auto;
	}

	.eml-vmv__grid > * {
		padding: 1.375rem;
	}
}

/* ---------- Advisor page: full bio ---------- */
.eml-bios.eml-bios > * + * {
	margin-block-start: var(--wp--preset--spacing--70);
}

.eml-bio.eml-bio {
	display: grid;
	grid-template-columns: minmax(0, 22rem) minmax(0, 1fr);
	padding: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--3-xl);
	scroll-margin-top: calc(var(--wp--custom--header--height) + 2rem);
}

.eml-bio__media.eml-bio__media {
	position: relative;
	isolation: isolate;
	margin: 0;
	padding: 2rem;
	background: var(--wp--preset--color--navy-950);
	color: var(--wp--preset--color--slate-300);
}

.eml-bio__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(80% 50% at 50% 0%, color-mix(in srgb, var(--wp--preset--color--gold-400) 25%, transparent), transparent 70%);
}

.eml-bio__media.eml-bio__media > * {
	margin-block: 0;
}

.eml-bio__role.eml-bio__role {
	margin-block-start: 0;
	color: var(--wp--preset--color--gold-300);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-bio__name.eml-bio__name {
	margin-block-start: 0.375rem;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.5;
}

.eml-bio__media .eml-tags {
	margin-block-start: 1.25rem;
}

.eml-tags--dark li {
	border-color: color-mix(in srgb, var(--wp--preset--color--gold-300) 25%, transparent);
	background: color-mix(in srgb, var(--wp--preset--color--white) 5%, transparent);
	color: var(--wp--preset--color--gold-200);
}

.eml-bio__body.eml-bio__body {
	margin: 0;
	padding: clamp(1.5rem, 4vw, 2.75rem);
}

.eml-bio__body.eml-bio__body > * {
	margin-block: 0;
}

.eml-bio__title.eml-bio__title {
	padding-block-end: 1.25rem;
	border-bottom: 1px solid var(--wp--custom--border--subtle);
	color: var(--wp--preset--color--gold-800);
	font-weight: 500;
	line-height: 1.9;
}

.eml-bio__intro.eml-bio__intro {
	margin-block-start: 1.25rem;
	color: var(--wp--preset--color--slate-700);
	line-height: 2;
}

.eml-bio__quote.eml-bio__quote {
	margin-block-start: 1.25rem;
	padding-inline-start: 1rem;
	border-inline-start: 3px solid var(--wp--preset--color--gold-400);
	color: var(--wp--preset--color--navy-900);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	line-height: 1.9;
}

.eml-bio__facts.eml-bio__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem 2rem;
	margin-block-start: 1.5rem;
}

.eml-fact.eml-fact > * {
	margin-block: 0;
}

.eml-fact__head.eml-fact__head {
	gap: 0.5rem;
}

.eml-fact__head .eml-icon-block {
	color: var(--wp--preset--color--gold-600);
}

.eml-fact__title.eml-fact__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

.eml-fact__text.eml-fact__text {
	margin-block-start: 0.5rem;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

@media (max-width: 1023.98px) {
	.eml-bio.eml-bio {
		grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
	}
}

@media (min-width: 782px) and (max-width: 1023.98px), (max-width: 599.98px) {
	.eml-bio__facts.eml-bio__facts {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 781.98px) {
	.eml-bio.eml-bio {
		grid-template-columns: 1fr;
	}

	.eml-bio__media.eml-bio__media {
		display: block;
		padding: 1.5rem;
	}

	.eml-bio__role.eml-bio__role {
		margin-block-start: 0;
	}

	.eml-bio__name.eml-bio__name {
		margin-block-start: 0.375rem;
		font-size: var(--wp--preset--font-size--x-large);
	}

	.eml-bio__media .eml-tags {
		margin-block-start: 1.25rem;
	}
}

/* ---------- Contact page ---------- */
.eml-contact__cols.eml-contact__cols {
	gap: var(--wp--preset--spacing--60) clamp(1.5rem, 4vw, 3rem);
}

.eml-contact__info.eml-contact__info > * {
	margin-block: 0;
}

.eml-contact__info.eml-contact__info > * + * {
	margin-block-start: 0.75rem;
}

.eml-contact__title.eml-contact__title {
	margin-block-end: 1.25rem !important;
	font-size: var(--wp--preset--font-size--x-large);
}

.eml-contact-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.125rem 1.25rem;
	border: 1px solid var(--wp--custom--border--subtle);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
}

.eml-contact-card:has(a):hover {
	transform: translateY(-2px);
	border-color: var(--wp--preset--color--gold-200);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-contact-card__icon {
	display: grid;
	flex-shrink: 0;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--gradient--gold-tile);
	color: var(--wp--preset--color--gold-700);
}

.eml-contact-card--whatsapp .eml-contact-card__icon {
	border-color: var(--wp--custom--color--whatsapp-line);
	background: var(--wp--custom--color--whatsapp-soft);
	color: var(--wp--custom--color--whatsapp);
}

.eml-contact-card__link.eml-contact-card__link {
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

/* The whole card is clickable. */
.eml-contact-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.eml-contact-card .eml-contact__text,
.eml-contact-card__text {
	display: flex;
	flex-direction: column;
	gap: 0.125rem;
	min-width: 0;
}

.eml-contact-card__label {
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
}

.eml-contact-card__value {
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	text-align: start;
}

.eml-contact-card__value:dir(ltr),
[dir="ltr"].eml-contact-card__value {
	unicode-bidi: isolate;
}

.eml-contact-card__line {
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
}

.eml-contact-card--hours {
	align-items: flex-start;
}

/* Booking form card */
.eml-form-card.eml-form-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.25rem, 4vw, 2.25rem);
	border-radius: var(--wp--custom--radius--3-xl);
	box-shadow: var(--wp--preset--shadow--lift);
	scroll-margin-top: calc(var(--wp--custom--header--height) + 2rem);
}

.eml-form-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(45% 35% at 0% 0%, color-mix(in srgb, var(--wp--preset--color--gold-400) 14%, transparent), transparent 70%);
}

.eml-form-card.eml-form-card > * {
	margin-block: 0;
}

.eml-form-card__title.eml-form-card__title {
	font-size: var(--wp--preset--font-size--xx-large);
}

.eml-form-card__text.eml-form-card__text {
	margin-block: 0.5rem 1.75rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

.eml-form-fallback > p {
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--slate-600);
}

.eml-cf7 .eml-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.125rem 1.25rem;
}

.eml-cf7 .eml-field {
	display: flex;
	flex-direction: column;
	gap: 0.4375rem;
	min-width: 0;
}

.eml-cf7 .eml-field--full {
	grid-column: 1 / -1;
}

.eml-cf7 .eml-field > label {
	color: var(--wp--preset--color--slate-800);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-field__req {
	color: var(--wp--preset--color--gold-700);
}

.eml-field__opt {
	color: var(--wp--preset--color--slate-500);
	font-weight: 400;
}

.eml-cf7 .wpcf7-form-control-wrap {
	display: block;
}

.eml-cf7 :is(input[type="text"], input[type="tel"], input[type="email"], select, textarea) {
	box-sizing: border-box;
	width: 100%;
	min-height: 3rem;
	padding: 0.75rem 1rem;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: var(--wp--custom--radius--xl);
	background-color: var(--wp--preset--color--slate-50);
	color: var(--wp--preset--color--navy-950);
	font: inherit;
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.6;
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), background-color 0.2s var(--wp--custom--ease);
}

.eml-cf7 textarea {
	min-height: 8rem;
	resize: vertical;
}

.eml-cf7 select {
	-webkit-appearance: none;
	appearance: none;
	padding-inline-end: 2.5rem;
}

.eml-cf7 .wpcf7-form-control-wrap:has(> select) {
	position: relative;
	display: block;
}

.eml-cf7 .wpcf7-form-control-wrap:has(> select)::after {
	content: "";
	position: absolute;
	inset-inline-end: 0.875rem;
	top: 50%;
	width: 1rem;
	height: 1rem;
	margin-top: -0.5rem;
	background: var(--wp--preset--color--slate-500);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

.eml-cf7 ::placeholder {
	color: var(--wp--preset--color--slate-400);
	opacity: 1;
}

.eml-cf7 input[type="tel"],
.eml-cf7 input[type="email"] {
	direction: ltr;
}

.eml-cf7 input[type="tel"]:placeholder-shown,
.eml-cf7 input[type="email"]:placeholder-shown {
	direction: inherit;
}

.eml-cf7 :is(input, select, textarea):hover {
	border-color: color-mix(in srgb, var(--wp--preset--color--slate-900) 18%, transparent);
}

.eml-cf7 :is(input, select, textarea):focus {
	outline: none;
	border-color: var(--wp--preset--color--gold-500);
	background-color: var(--wp--preset--color--white);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--gold-400) 18%, transparent);
}

.eml-cf7 .wpcf7-not-valid {
	border-color: var(--wp--custom--color--danger) !important;
}

.eml-cf7 .wpcf7-not-valid-tip {
	margin-block-start: 0.375rem;
	color: var(--wp--custom--color--danger-ink);
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-cf7 .eml-field--consent {
	margin-block-start: 1.25rem;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
}

.eml-cf7 .wpcf7-list-item {
	margin: 0;
}

.eml-cf7 .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	cursor: pointer;
	line-height: 1.8;
}

.eml-cf7 input[type="checkbox"] {
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
	margin: 0.25rem 0 0;
	accent-color: var(--wp--preset--color--gold-600);
}

.eml-cf7 .eml-field--consent a {
	color: var(--wp--preset--color--gold-700);
}

.eml-cf7 .eml-form__hp {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.eml-cf7 .eml-form__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-block-start: 1.5rem;
}

.eml-cf7 .eml-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.75rem 2rem;
	border: 0;
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	font: inherit;
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	cursor: pointer;
	transition: transform 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), opacity 0.2s;
}

.eml-cf7 .eml-form__submit:hover {
	transform: translateY(-1px);
	background: var(--wp--preset--color--navy-800);
}

.eml-cf7 .eml-form__submit:disabled {
	opacity: 0.6;
	cursor: progress;
	transform: none;
}

.eml-cf7 .wpcf7-spinner {
	margin: 0;
}

.eml-form__privacy {
	flex: 1 1 14rem;
	margin: 0;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.8;
}

.eml-cf7 .wpcf7-response-output {
	margin: 1.25rem 0 0 !important;
	padding: 0.875rem 1.125rem !important;
	border: 1px solid transparent !important;
	border-radius: var(--wp--custom--radius--xl);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
}

.eml-cf7.invalid .wpcf7-response-output,
.eml-cf7.unaccepted .wpcf7-response-output,
.eml-cf7.payment-required .wpcf7-response-output {
	border-color: var(--wp--custom--color--warning-line) !important;
	background: var(--wp--custom--color--warning-soft);
	color: var(--wp--custom--color--warning-ink);
}

.eml-cf7.sent .wpcf7-response-output {
	border-color: var(--wp--custom--color--whatsapp-line) !important;
	background: var(--wp--custom--color--whatsapp-soft);
	color: var(--wp--custom--color--whatsapp-ink);
}

.eml-cf7.failed .wpcf7-response-output,
.eml-cf7.aborted .wpcf7-response-output,
.eml-cf7.spam .wpcf7-response-output {
	border-color: var(--wp--custom--color--danger-line) !important;
	background: var(--wp--custom--color--danger-soft);
	color: var(--wp--custom--color--danger-ink);
}

@media (max-width: 599.98px) {
	.eml-cf7 .eml-form__grid {
		grid-template-columns: 1fr;
	}

	.eml-cf7 .eml-form__submit {
		width: 100%;
	}
}

@media (max-width: 1023.98px) {
	.eml-contact__cols.eml-contact__cols {
		flex-wrap: wrap !important;
	}

	.eml-contact__cols > .wp-block-column {
		flex-basis: 100% !important;
	}

	.eml-contact__info.eml-contact__info {
		order: 2;
	}
}

/* Branch cards with a visible "open in Google Maps" button */
.eml-branches-wrap .eml-branches--cards {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.eml-branches--cards .eml-branch__inner {
	flex-direction: column;
	gap: 1rem;
	padding: 1.5rem;
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
}

.eml-branches--cards .eml-branch__icon {
	box-sizing: border-box;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0.6875rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--gradient--gold-tile);
	color: var(--wp--preset--color--gold-700);
}

.eml-branches--cards .eml-branch__body {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.eml-branches--cards .eml-branch__name {
	font-size: var(--wp--preset--font-size--large);
}

.eml-branches--cards .eml-branch__name .eml-branch__ext {
	display: none;
}

.eml-branches--cards a.eml-branch__inner:hover {
	transform: translateY(-2px);
	border-color: var(--wp--preset--color--gold-200);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-branches--cards a.eml-branch__inner:hover .eml-branch__name {
	color: var(--wp--preset--color--navy-950);
	text-decoration: none;
}

.eml-branch__cta {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 0.5rem;
	margin-block-start: auto;
	padding: 0.5rem 0.875rem;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: var(--wp--custom--radius--xl);
	color: var(--wp--preset--color--slate-800);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	transition: border-color 0.2s var(--wp--custom--ease), color 0.2s var(--wp--custom--ease);
}

.eml-branches--cards .eml-branch__address {
	margin-block-end: 1.25rem;
}

.eml-branches--cards .eml-branch__name {
	margin-block-end: 0.25rem;
}

.eml-branch__cta .eml-icon {
	--eml-icon-size: 0.875rem;
}

a.eml-branch__inner:hover .eml-branch__cta {
	border-color: var(--wp--preset--color--gold-300);
	color: var(--wp--preset--color--gold-700);
}

@media (max-width: 1023.98px) {
	.eml-branches-wrap .eml-branches--cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599.98px) {
	.eml-branches-wrap .eml-branches--cards {
		grid-template-columns: 1fr;
	}
}

/* ---------- Blog grid, pagination ---------- */
.eml-post-grid.eml-post-grid {
	gap: 1.5rem;
}

.eml-post-grid > li {
	margin: 0;
}

.eml-post-card__image img {
	transition: transform 0.5s var(--wp--custom--ease);
}

.eml-post-card:hover .eml-post-card__image img {
	transform: scale(1.03);
}

.eml-post-card__image.eml-post-card__image {
	overflow: hidden;
}

.eml-post-card__time {
	display: inline-flex;
	align-items: center;
}

.eml-post-card__meta > * {
	margin: 0;
}

.eml-post-card__more.eml-post-card__more {
	margin-block-start: 1rem !important;
}

/* First post of page 1 spans the grid as a wide card. */
@media (min-width: 1024px) {
	body:not(.paged) .eml-post-grid--featured > li:first-child {
		grid-column: 1 / -1;
	}

	body:not(.paged) .eml-post-grid--featured > li:first-child .eml-post-card {
		display: grid;
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	}

	body:not(.paged) .eml-post-grid--featured > li:first-child .eml-post-card__image {
		height: 100%;
	}

	body:not(.paged) .eml-post-grid--featured > li:first-child .eml-post-card__image :is(a, img) {
		height: 100% !important;
		min-height: 20rem;
	}

	body:not(.paged) .eml-post-grid--featured > li:first-child .eml-post-card__body {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 2.5rem;
	}

	body:not(.paged) .eml-post-grid--featured > li:first-child .eml-post-card__title {
		font-size: var(--wp--preset--font-size--xx-large);
	}
}

.eml-pagination.eml-pagination {
	gap: 0.5rem;
	margin-block-start: var(--wp--preset--spacing--70);
	font-size: var(--wp--preset--font-size--small);
}

.eml-pagination .page-numbers,
.eml-pagination .wp-block-query-pagination-previous,
.eml-pagination .wp-block-query-pagination-next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.375rem;
	min-width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0 0.875rem;
	box-sizing: border-box;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--slate-700);
	font-weight: 500;
	text-decoration: none;
}

.eml-pagination .wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.eml-pagination .page-numbers.dots {
	border-color: transparent;
	background: none;
}

.eml-pagination a:hover {
	border-color: var(--wp--preset--color--gold-300);
	color: var(--wp--preset--color--gold-700);
}

.eml-pagination .page-numbers.current {
	border-color: transparent;
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
}

.eml-pagination .wp-block-query-pagination-previous-arrow,
.eml-pagination .wp-block-query-pagination-next-arrow {
	margin: 0;
}

.eml-pagination :is(.wp-block-query-pagination-previous-arrow, .wp-block-query-pagination-next-arrow):dir(rtl) {
	display: inline-block;
	transform: scaleX(-1);
}

/* Empty state */
.eml-empty.eml-empty {
	padding: clamp(2rem, 6vw, 3.5rem) 1.5rem;
	border-radius: var(--wp--custom--radius--3-xl);
	text-align: center;
}

.eml-empty.eml-empty > * {
	margin-block: 0;
}

.eml-empty.eml-empty > * + * {
	margin-block-start: 1rem;
}

.eml-empty p {
	color: var(--wp--preset--color--slate-500);
}

.eml-empty .eml-actions.eml-actions {
	margin-block-start: 1.75rem;
}

/* ---------- Article ---------- */
.eml-article.eml-article {
	padding-block-end: var(--wp--preset--spacing--80);
}

.eml-article.eml-article > * {
	margin-block: 0;
}

.eml-article__image.eml-article__image {
	margin-block-end: var(--wp--preset--spacing--70) !important;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--3-xl);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-article__image img {
	display: block;
}

.eml-prose {
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--large);
	line-height: 2.05;
	overflow-wrap: break-word;
}

.eml-prose > * + * {
	margin-block-start: 1.25em;
}

.eml-prose :is(h2, h3, h4) {
	color: var(--wp--preset--color--navy-950);
	line-height: 1.6;
	scroll-margin-top: calc(var(--wp--custom--header--height) + 2rem);
}

.eml-prose h2 {
	margin-block: 2.25em 0.75em;
	font-size: var(--wp--preset--font-size--xx-large);
}

.eml-prose h3 {
	margin-block: 1.75em 0.5em;
	font-size: var(--wp--preset--font-size--x-large);
}

.eml-prose h4 {
	margin-block: 1.5em 0.5em;
	font-size: var(--wp--preset--font-size--large);
}

.eml-prose > :first-child {
	margin-block-start: 0;
}

.eml-prose a {
	color: var(--wp--preset--color--gold-700);
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--wp--preset--color--gold-500) 35%, transparent);
	text-underline-offset: 4px;
}

.eml-prose a:hover {
	text-decoration-color: currentColor;
}

.eml-prose :is(ul, ol) {
	padding-inline-start: 1.5em;
}

.eml-prose li + li {
	margin-block-start: 0.4em;
}

.eml-prose li::marker {
	color: var(--wp--preset--color--gold-600);
}

.eml-prose strong {
	color: var(--wp--preset--color--navy-950);
}

.eml-prose img {
	max-width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--2-xl);
}

.eml-prose blockquote {
	margin-inline: 0;
	padding: 1.25rem 1.5rem;
	border-inline-start: 3px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--gold-50);
	color: var(--wp--preset--color--slate-800);
}

.eml-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.eml-prose :is(th, td) {
	padding: 0.75rem;
	border: 1px solid var(--wp--custom--border--soft);
	text-align: start;
}

.eml-prose th {
	background: var(--wp--preset--color--slate-50);
	color: var(--wp--preset--color--navy-950);
}

.eml-prose .wp-block-table,
.eml-prose figure:has(> table) {
	overflow-x: auto;
}

.eml-prose hr {
	border: 0;
	border-top: 1px solid var(--wp--custom--border--soft);
}

@media (max-width: 599.98px) {
	.eml-prose {
		font-size: var(--wp--preset--font-size--medium);
	}
}

.eml-article-end.eml-article-end {
	margin-block-start: var(--wp--preset--spacing--70) !important;
}

.eml-article-end.eml-article-end > * {
	margin-block: 0;
}

.eml-article-end > * + * {
	margin-block-start: 1.25rem !important;
}

.eml-tag-links.eml-tag-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-tag-links a {
	padding: 0.25rem 0.75rem;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: 9999px;
	color: var(--wp--preset--color--slate-600);
	text-decoration: none;
}

.eml-tag-links a::before {
	content: "#";
	color: var(--wp--preset--color--gold-600);
}

.eml-tag-links a:hover {
	border-color: var(--wp--preset--color--gold-300);
	color: var(--wp--preset--color--gold-700);
}

.eml-tag-links .wp-block-post-terms__separator {
	display: none;
}

.eml-related-posts.eml-related-posts {
	background: linear-gradient(180deg, var(--wp--preset--color--slate-50), transparent);
	border-top: 1px solid var(--wp--custom--border--subtle);
}

.eml-related-posts__title.eml-related-posts__title {
	margin-block: 0 var(--wp--preset--spacing--60) !important;
	font-size: var(--wp--preset--font-size--xx-large);
}

.eml-related-posts + .eml-section:not([class*="is-style-section-"]) {
	padding-block-start: 0;
}

/* ---------- Search / 404 ---------- */
.eml-search.eml-search {
	width: 100%;
	max-width: 32rem;
	margin-block-start: 2rem !important;
}

.eml-search .wp-block-search__inside-wrapper {
	gap: 0.5rem;
	padding: 0.375rem;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-search .wp-block-search__input {
	min-height: 2.75rem;
	padding: 0 0.875rem;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: var(--wp--preset--font-size--medium);
}

.eml-search .wp-block-search__input:focus {
	outline: none;
}

.eml-search .wp-block-search__inside-wrapper:focus-within {
	border-color: var(--wp--preset--color--gold-500);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--wp--preset--color--gold-400) 18%, transparent);
}

.eml-search .wp-block-search__button {
	margin: 0;
	padding: 0.625rem 1.25rem;
	border: 0;
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--navy-900);
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-404.eml-404 {
	padding-block-end: var(--wp--preset--spacing--100);
}

.eml-404__label.eml-404__label {
	margin-block-start: 2.5rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
}

.eml-404__links.eml-404__links {
	justify-content: center;
	margin-block-start: 0.875rem;
}

.eml-404__links a {
	text-decoration: none;
}

.eml-404 .eml-actions.eml-actions {
	margin-block-start: 2.5rem;
}

/* ---------- Inner pages: mobile spacing ---------- */
@media (max-width: 599.98px) {
	.eml-page-hero.eml-page-hero {
		padding-block: 2.5rem var(--wp--preset--spacing--70);
	}

	.eml-aside-cta.eml-aside-cta,
	.eml-aside-links.eml-aside-links {
		padding: 1.375rem;
	}
}

/* ---------- Home refresh: why us (navy), FAQ (light), "other case" card, articles ---------- */
.eml-values.eml-values {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
}

@media (max-width: 1023.98px) {
	.eml-values.eml-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599.98px) {
	.eml-values.eml-values {
		grid-template-columns: 1fr;
	}
}

.eml-value.eml-value {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 2.5rem 1.5rem 1.75rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 45%, transparent);
	border-radius: var(--wp--custom--radius--xl);
	background: color-mix(in srgb, var(--wp--preset--color--white) 4%, transparent);
	box-shadow: none;
	transition: transform 0.3s var(--wp--custom--ease), border-color 0.3s var(--wp--custom--ease), background-color 0.3s var(--wp--custom--ease);
}

.eml-value.eml-value:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--gold-400);
	background: color-mix(in srgb, var(--wp--preset--color--white) 8%, transparent);
	box-shadow: none;
}

.eml-value__num.eml-value__num {
	position: absolute;
	inset-block-start: 1.125rem;
	inset-inline-end: 1.375rem;
	margin: 0;
	color: var(--wp--preset--color--gold-300);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: 0.08em;
	font-variant-numeric: tabular-nums;
	line-height: 1;
	opacity: 0.8;
}

.eml-why .eml-icon-block {
	align-self: flex-start;
	color: var(--wp--preset--color--gold-400);
}

.eml-value__title.eml-value__title {
	margin-block-start: 1.25rem;
}

.eml-value__text.eml-value__text {
	color: var(--wp--preset--color--slate-300);
}

.eml-why__actions.eml-why__actions {
	margin-block-start: var(--wp--preset--spacing--80);
}

.eml-faq__wrap {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
}

.eml-faq__list.eml-faq__list > * + * {
	margin-block-start: 0;
}

.eml-faq__list.eml-faq__list {
	border-block-start: 1px solid var(--wp--preset--color--slate-300);
}

.eml-faq .eml-faq__item.eml-faq__item {
	padding: 0;
	border: 0;
	border-block-end: 1px solid var(--wp--preset--color--slate-300);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.eml-faq .eml-faq__item summary {
	min-height: 3.5rem;
	padding-block: 1.25rem;
	font-size: var(--wp--preset--font-size--medium);
	transition: color 0.2s var(--wp--custom--ease);
}

.eml-faq .eml-faq__item summary:hover {
	color: var(--wp--preset--color--navy-700);
}

.eml-faq .eml-faq__item summary::after {
	width: 1rem;
	height: 1rem;
	border-radius: 0;
	background: linear-gradient(var(--wp--preset--color--gold-600), var(--wp--preset--color--gold-600)) center / 100% 2px no-repeat;
	box-shadow: none;
}

.eml-faq .eml-faq__item summary::before {
	inset-inline-end: calc(0.5rem - 1px);
	height: 1rem;
	margin-top: -0.5rem;
	background: var(--wp--preset--color--gold-600);
}

.eml-faq .eml-faq__item > p {
	margin-block: 0;
	padding-block-end: 1.375rem;
	padding-inline-end: 2rem;
	color: var(--wp--preset--color--slate-600);
}

.eml-faq__ask.eml-faq__ask {
	gap: 1rem 1.5rem;
	margin-block-start: 2rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid var(--wp--custom--border--soft);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--white);
}

.eml-faq__ask-text {
	flex: 1 1 16rem;
	margin: 0;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
}

.eml-faq__ask-text strong {
	display: block;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--medium);
}

.eml-faq__all.eml-faq__all {
	margin-block: 1.5rem 0;
	text-align: center;
}

@media (max-width: 599.98px) {
	.eml-faq__ask .eml-contact-wrap,
	.eml-faq__ask .eml-btn {
		width: 100%;
	}
}

.eml-services__other.eml-services__other {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	margin-block-start: var(--wp--preset--spacing--70);
	padding: 1.75rem 2rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 55%, transparent);
	border-radius: var(--wp--custom--radius--2-xl);
	font-size: var(--wp--preset--font-size--medium);
	text-align: start;
}

.eml-services__other-body {
	flex: 1 1 auto;
	min-width: 0;
}

.eml-services__other-body > * {
	margin: 0;
}

.eml-services__other-title.eml-services__other-title {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.5;
}

.eml-services__other-text.eml-services__other-text {
	margin-block-start: 0.25rem;
	color: var(--wp--preset--color--slate-300);
}

.eml-services__other .eml-btn {
	min-height: 3rem;
	padding-inline: 1.5rem;
	font-size: var(--wp--preset--font-size--medium);
}

@media (max-width: 781.98px) {
	.eml-services__other.eml-services__other {
		flex-wrap: wrap;
		padding: 1.5rem;
	}

	.eml-services__other-body {
		flex: 1 1 12rem;
	}

	.eml-services__other .eml-contact-wrap {
		flex: 1 1 100%;
	}

	.eml-services__other .eml-btn {
		width: 100%;
	}
}

.eml-latest-posts .eml-post-grid.eml-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

@media (max-width: 699.98px) {
	.eml-latest-posts .eml-post-grid.eml-post-grid {
		grid-template-columns: 1fr;
	}
}

.eml-latest-posts .eml-post-grid > li {
	display: flex;
}

.eml-post-card.eml-post-card {
	display: flex;
	flex-direction: column;
	width: 100%;
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease), border-color 0.3s var(--wp--custom--ease);
}

.eml-post-card.eml-post-card:hover {
	transform: translateY(-3px);
	border-color: var(--wp--preset--color--gold-200);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-post-card__image.eml-post-card__image {
	aspect-ratio: 16 / 9;
	width: 100%;
}

.eml-post-card__image img {
	width: 100%;
	height: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.eml-post-card:hover .eml-post-card__image img {
	transform: scale(1.04);
}

.eml-post-card__image--placeholder a,
.eml-post-card__placeholder {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	color: var(--wp--preset--color--gold-300);
	background:
		radial-gradient(60% 90% at 100% 0%, color-mix(in srgb, var(--wp--preset--color--navy-700) 55%, transparent), transparent 70%),
		var(--wp--preset--color--navy-950);
}

.eml-post-card__image--placeholder a {
	display: block;
}

.eml-post-card__body.eml-post-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.625rem;
}

.eml-post-card__body > * + * {
	margin-block-start: 0;
}

.eml-post-card__cat {
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-post-card__cat a {
	font-weight: 600;
}

.eml-post-card__title.eml-post-card__title {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.55;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.eml-post-card__excerpt {
	margin: 0;
}

.eml-post-card__excerpt p {
	display: -webkit-box;
	overflow: hidden;
	margin: 0;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.85;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.eml-post-card__time.eml-post-card__time {
	gap: 0.375rem;
	margin-block-start: auto;
	padding-block-start: 0.5rem;
	color: var(--wp--preset--color--slate-500);
	font-size: var(--wp--preset--font-size--x-small);
}

.eml-post-card__time .eml-icon {
	color: var(--wp--preset--color--gold-600);
}

.eml-latest-posts__actions.eml-latest-posts__actions {
	margin-block-start: var(--wp--preset--spacing--80);
}

.eml-advisor-stat__value,
.eml-stat__num {
	font-variant-numeric: tabular-nums;
}

.eml-advisor-stat.eml-advisor-stat {
	transition: transform 0.3s var(--wp--custom--ease), box-shadow 0.3s var(--wp--custom--ease);
}

.eml-advisor-stat.eml-advisor-stat:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--lift);
}

/* ---------- Home motion: reveal on scroll (the class is added only when the script runs) ---------- */
.eml-js .eml-reveal.eml-reveal {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.5s var(--wp--custom--ease), transform 0.5s var(--wp--custom--ease);
}

.eml-js .eml-reveal.eml-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.eml-js .eml-reveal.eml-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.wp-block-button__link:hover,
	.eml-btn:hover,
	.eml-card.eml-card:hover,
	.eml-value.eml-value:hover,
	.eml-post-card.eml-post-card:hover,
	.eml-advisor-stat.eml-advisor-stat:hover,
	.eml-post-card:hover .eml-post-card__image img {
		transform: none;
	}
}


/* ---------- Contact page refresh ---------- */
.eml-page-hero--compact.eml-page-hero {
	padding-block: clamp(2rem, 1.5rem + 2vw, 3rem) clamp(2.5rem, 2rem + 2vw, 3.5rem);
}

.eml-page-hero--compact::before {
	width: 24rem;
	height: 12rem;
}

.eml-page-hero--compact .eml-page-hero__title.eml-page-hero__title {
	margin-block-start: 0.75rem;
	font-size: clamp(1.875rem, 1.3rem + 2.4vw, 2.75rem);
}

.eml-page-hero--compact .eml-lead.eml-lead {
	margin-block-start: 0.75rem;
}

.eml-contact-page .eml-section.eml-section {
	padding-block: clamp(2.5rem, 2rem + 3vw, 4.5rem);
}

.eml-contact-page .eml-section-head.eml-section-head {
	margin-block-end: clamp(1.75rem, 1.25rem + 2vw, 2.75rem);
}

/* Three contact cards in a row */
.eml-reach {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
	max-width: 62rem;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.eml-reach--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 42rem;
}

.eml-reach--1 {
	grid-template-columns: minmax(0, 1fr);
	max-width: 20rem;
}

.eml-reach__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	padding: 1.75rem 1.5rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	text-align: center;
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
}

.eml-reach__card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-reach__icon {
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--gradient--gold-tile);
	color: var(--wp--preset--color--gold-700);
}

.eml-reach__icon .eml-icon {
	width: 1.625rem;
	height: 1.625rem;
}

.eml-reach__title.eml-reach__title {
	margin: 1rem 0 0;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--large);
}

.eml-reach__value.eml-reach__value {
	margin: 0.375rem 0 0;
	overflow-wrap: anywhere;
	color: var(--wp--preset--color--slate-700);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
}

.eml-reach__action {
	display: flex;
	justify-content: center;
	width: 100%;
	margin-block-start: auto;
	padding-block-start: 1.25rem;
}

.eml-reach__action .eml-btn {
	width: 100%;
	max-width: 15rem;
}

/* Form card with a narrow side column */
.eml-contact__layout.eml-contact__layout {
	display: grid;
	grid-template-columns: minmax(0, 42rem);
	justify-content: center;
	gap: 1.25rem;
	align-items: start;
}

.eml-contact__layout > * {
	margin: 0 !important;
}

.eml-contact__aside {
	display: grid;
	gap: 1rem;
}

.eml-contact__aside .eml-note.eml-note {
	display: grid;
	justify-items: start;
	gap: 0.5rem;
	margin: 0;
	padding: 1.25rem;
	border-color: var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-contact__aside .eml-note .eml-icon-block {
	margin: 0;
}

.eml-note__title.eml-note__title {
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--medium);
}

.eml-note__text.eml-note__text {
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
}

@media (min-width: 62rem) {
	.eml-contact__layout.eml-contact__layout {
		grid-template-columns: minmax(0, 40rem) 17rem;
		gap: 1.5rem;
	}

	.eml-contact__aside {
		position: sticky;
		top: calc(var(--wp--custom--header--height) + 1.5rem);
	}
}

/* Branch cards: same width, same height, centered */
.eml-contact-page .eml-branches-wrap.eml-branches-wrap {
	max-width: 60rem;
	margin-inline: auto;
}

.eml-map-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eml-map-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
	transition: border-color 0.2s var(--wp--custom--ease), box-shadow 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
}

.eml-map-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--lift);
}

.eml-map-card__map {
	position: relative;
	aspect-ratio: 16 / 10;
	border-bottom: 1px solid var(--wp--preset--color--gold-200);
	background-color: var(--wp--preset--color--gold-50);
	background-image:
		repeating-linear-gradient(0deg, transparent 0 2.25rem, color-mix(in srgb, var(--wp--preset--color--gold-400) 18%, transparent) 2.25rem calc(2.25rem + 1px)),
		repeating-linear-gradient(90deg, transparent 0 2.25rem, color-mix(in srgb, var(--wp--preset--color--gold-400) 18%, transparent) 2.25rem calc(2.25rem + 1px));
}

.eml-map-card__placeholder {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 1rem;
	text-align: center;
}

.eml-map-card__placeholder[hidden] {
	display: none;
}

.eml-map-card__pin {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: 999px;
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--gold-700);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-map-card__city {
	color: var(--wp--preset--color--navy-950);
	font-weight: 700;
}

.eml-map-card__frame {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.eml-map-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.5rem;
}

.eml-map-card__name.eml-map-card__name {
	margin: 0;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--large);
}

.eml-map-card__address.eml-map-card__address {
	margin: 0.5rem 0 0;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.9;
}

.eml-map-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block-start: auto;
	padding-block-start: 1.25rem;
}

.eml-map-card__actions .eml-btn {
	flex: 1 1 11rem;
}

.eml-cta--compact .eml-cta__box.eml-cta__box {
	padding-block: clamp(2rem, 1.5rem + 2.5vw, 3rem);
}

.eml-cta--compact .eml-cta__box .eml-lead {
	font-size: var(--wp--preset--font-size--medium);
}

@media (max-width: 47.9375rem) {
	.eml-reach {
		grid-template-columns: minmax(0, 1fr);
		max-width: 26rem;
	}

	.eml-reach--2 {
		grid-template-columns: minmax(0, 1fr);
	}

	.eml-reach__card {
		padding: 1.5rem 1.25rem;
	}
}

@media (max-width: 47.9375rem) {
	.eml-map-cards {
		grid-template-columns: minmax(0, 1fr);
		max-width: 28rem;
		margin-inline: auto;
	}

	.eml-contact__layout.eml-contact__layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.eml-reach__card:hover,
	.eml-map-card:hover {
		transform: none;
	}
}

/* ---------- Photos ---------- */
.eml-service__photo.eml-service__photo {
	margin: 0 0 var(--wp--preset--spacing--70);
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-radius: var(--wp--custom--radius--3-xl);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-service__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.eml-post-card__image--placeholder a {
	display: block;
}
/* ---------- Floating WhatsApp + call buttons, one-time promo card ---------- */
.eml-fab {
	position: fixed;
	inset-inline-start: auto;
	left: 1rem;
	bottom: calc(1rem + env(safe-area-inset-bottom));
	z-index: 55;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	pointer-events: none;
	transform: translateY(calc(var(--eml-fab-lift, 0px) * -1));
	transition: transform 0.3s var(--wp--custom--ease);
}

.eml-fab__btn {
	display: grid;
	place-items: center;
	box-sizing: border-box;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 50%;
	color: var(--wp--preset--color--white);
	box-shadow: 0 10px 22px -8px rgb(11 26 71 / 0.5), 0 2px 6px rgb(11 26 71 / 0.18);
	opacity: 0;
	visibility: hidden;
	pointer-events: auto;
	transform: translateY(14px);
	transition: opacity 0.3s var(--wp--custom--ease), transform 0.3s var(--wp--custom--ease), visibility 0s linear 0.3s;
}

.eml-fab__btn--wa {
	background: #1da851;
}

.eml-fab__btn--call {
	background: var(--wp--preset--color--navy-900);
}

.eml-fab.is-visible .eml-fab__btn {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.eml-fab.is-visible .eml-fab__btn--call {
	transition-delay: 0.06s;
}

.eml-fab.is-visible .eml-fab__btn:hover {
	transform: translateY(-2px);
}

.eml-fab__btn:focus-visible {
	outline: 3px solid var(--wp--preset--color--gold-400);
	outline-offset: 2px;
}

.eml-fab__btn .eml-icon {
	width: 1.5rem;
	height: 1.5rem;
}

.eml-promo {
	position: fixed;
	right: 1.25rem;
	bottom: calc(1.25rem + env(safe-area-inset-bottom));
	z-index: 56;
	box-sizing: border-box;
	width: min(22rem, calc(100vw - 2.5rem));
	padding: 1.25rem;
	border-top: 3px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--3-xl);
	background: var(--wp--preset--gradient--navy-section);
	box-shadow: 0 24px 48px -18px rgb(11 26 71 / 0.65);
	color: var(--wp--preset--color--slate-300);
	opacity: 0;
	visibility: hidden;
	transform: translateY(28px);
	transition: opacity 0.4s var(--wp--custom--ease), transform 0.4s var(--wp--custom--ease), visibility 0s linear 0.4s;
}

.eml-promo.is-open {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition-delay: 0s;
}

.eml-promo:focus {
	outline: none;
}

.eml-promo__close {
	position: absolute;
	inset-block-start: 0.5rem;
	inset-inline-end: 0.5rem;
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--slate-300);
	cursor: pointer;
}

.eml-promo__close:hover {
	background: color-mix(in srgb, var(--wp--preset--color--white) 10%, transparent);
	color: var(--wp--preset--color--white);
}

.eml-promo__close:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold-300);
	outline-offset: 0;
}

.eml-promo p {
	margin: 0;
}

.eml-promo__title.eml-promo__title {
	padding-inline-end: 2.25rem;
	color: var(--wp--preset--color--white);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.5;
}

.eml-promo__title::before {
	content: "";
	display: block;
	width: 2rem;
	height: 2px;
	margin-block-end: 0.625rem;
	background: var(--wp--preset--color--gold-400);
}

.eml-promo__text.eml-promo__text {
	margin-block-start: 0.5rem;
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.7;
}

.eml-promo__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
	margin-block-start: 1rem;
}

.eml-promo__btn.eml-promo__btn {
	flex: 1 1 8rem;
	min-height: 2.75rem;
	padding-inline: 0.75rem;
}

.has-modal-open .eml-fab,
.has-modal-open .eml-promo {
	display: none;
}

@media (max-width: 781.98px) {
	.eml-promo {
		right: 0.75rem;
		bottom: calc(0.75rem + env(safe-area-inset-bottom));
		left: 0.75rem;
		width: auto;
		padding: 1rem;
	}

	.eml-promo__title.eml-promo__title {
		font-size: var(--wp--preset--font-size--small);
	}

	.eml-promo__title::before {
		margin-block-end: 0.375rem;
	}

	.eml-promo__text.eml-promo__text {
		margin-block-start: 0.25rem;
		font-size: var(--wp--preset--font-size--x-small);
		line-height: 1.5;
	}

	.eml-promo__actions {
		flex-wrap: nowrap;
		margin-block-start: 0.75rem;
	}

	.eml-promo__btn.eml-promo__btn {
		flex: 1 1 0;
		min-width: 0;
		padding-block: 0.375rem;
		font-size: var(--wp--preset--font-size--small);
		line-height: 1.25;
		white-space: normal;
		text-align: center;
	}
}

@media (max-width: 781.98px) and (max-height: 720px) {
	.eml-promo__text.eml-promo__text {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eml-fab,
	.eml-fab__btn,
	.eml-promo {
		transition: none;
	}

	.eml-fab__btn,
	.eml-promo {
		transform: none;
	}
}

/* ---------- Home hero, slide 2: tilted Egypt map (same footprint as the couple on slide 1) ---------- */
.eml-hero__visual--map.eml-hero__visual--map {
	display: block;
	direction: ltr;
}

.eml-hero__visual--map .eml-branches--map {
	position: absolute;
	inset: 0 0 2.5rem;
	margin: 0;
	padding: 0;
}

.eml-hero__visual--map .eml-hero__more.eml-hero__more {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	margin: 0;
	text-align: center;
}

.eml-hero__more a {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	color: var(--wp--preset--color--gold-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 0.25em;
}

.eml-hero__more a:hover {
	color: var(--wp--preset--color--gold-800);
}

.eml-map {
	position: relative;
	width: 100%;
	height: 100%;
	direction: ltr;
}

.eml-map__float,
.eml-map__shadow {
	position: absolute;
	inset: 0;
}

.eml-map__shadow {
	inset: auto auto 0 8%;
	width: 58%;
	height: 8%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgb(11 26 71 / 0.36), rgb(11 26 71 / 0.12) 60%, transparent);
	pointer-events: none;
}

.eml-map__scene {
	position: absolute;
	top: 18%;
	left: 2%;
	width: 78%;
	perspective: 1100px;
	perspective-origin: 50% 30%;
}

.eml-map__tilt {
	--rx: 24deg;
	--ry: -10deg;
	position: relative;
	width: 100%;
	transform: translateY(0) rotateX(var(--rx)) rotateY(var(--ry)) scale(1);
	will-change: transform;
}

/* A faint plane under the map: dots and meridian/parallel lines that fade out toward the edges. */
.eml-map__tilt::before {
	content: "";
	position: absolute;
	inset: -14% -16% -16%;
	z-index: -1;
	border-radius: 50%;
	background:
		radial-gradient(circle, color-mix(in srgb, var(--wp--preset--color--navy-900) 26%, transparent) 1.1px, transparent 1.6px) 0 0 / 15px 15px,
		repeating-linear-gradient(0deg, color-mix(in srgb, var(--wp--preset--color--gold-400) 24%, transparent) 0 1px, transparent 1px 38px),
		repeating-linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--gold-400) 24%, transparent) 0 1px, transparent 1px 38px);
	-webkit-mask-image: radial-gradient(closest-side, #000 40%, transparent 100%);
	mask-image: radial-gradient(closest-side, #000 40%, transparent 100%);
	pointer-events: none;
}

.eml-map__svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.eml-map__stop--a {
	stop-color: color-mix(in srgb, #fff 24%, var(--wp--preset--color--navy-700));
}

.eml-map__stop--b {
	stop-color: var(--wp--preset--color--navy-700);
}

.eml-map__stop--c {
	stop-color: var(--wp--preset--color--navy-900);
}

.eml-map__glow-stop--a {
	stop-color: var(--wp--preset--color--gold-300);
	stop-opacity: 0.8;
}

.eml-map__glow-stop--b {
	stop-color: var(--wp--preset--color--gold-400);
	stop-opacity: 0.24;
}

.eml-map__glow-stop--c {
	stop-color: var(--wp--preset--color--gold-400);
	stop-opacity: 0;
}

.eml-map__thick {
	fill: var(--wp--preset--color--navy-950);
}

.eml-map__border,
.eml-map__nile,
.eml-map__leader {
	fill: none;
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.eml-map__border {
	stroke: var(--wp--preset--color--gold-400);
	stroke-width: 1.2;
}

.eml-map__nile {
	stroke: #a9d2ff;
	stroke-opacity: 0.9;
	stroke-width: 1;
}

.eml-map__leaders {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.eml-map__leader {
	stroke: var(--wp--preset--color--gold-500);
	stroke-width: 1.25;
}

.eml-map__dot {
	position: absolute;
	left: var(--x);
	top: var(--y);
	z-index: 2;
	display: grid;
	place-items: center;
	width: 2.125rem;
	height: 2.125rem;
	margin: -1.0625rem 0 0 -1.0625rem;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}

.eml-map__dot:focus-visible {
	outline: 2px solid var(--wp--preset--color--gold-300);
	outline-offset: 2px;
}

.eml-map__core,
.eml-map__ring {
	grid-area: 1 / 1;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
}

.eml-map__core {
	background: var(--wp--preset--color--gold-400);
	box-shadow: 0 0 0 2.5px #fff, 0 3px 8px rgb(11 26 71 / 0.45);
	transition: transform 0.2s var(--wp--custom--ease);
}

.eml-map__dot:hover .eml-map__core,
.eml-map__dot[aria-expanded="true"] .eml-map__core {
	transform: scale(1.2);
}

.eml-map__ring {
	border: 2px solid var(--wp--preset--color--gold-300);
	opacity: 0;
	pointer-events: none;
}

.eml-map__label {
	position: absolute;
	z-index: 2;
	display: grid;
	gap: 0.0625rem;
	padding: 0.4375rem 0.75rem;
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 10px 22px -10px rgb(11 26 71 / 0.4), 0 1px 3px rgb(11 26 71 / 0.12);
	line-height: 1.3;
	white-space: nowrap;
	text-align: left;
	cursor: pointer;
}

html[dir="rtl"] .eml-map__label {
	direction: rtl;
	text-align: right;
}

.eml-map__label[data-pin="alexandria"] {
	top: 0;
	left: 0;
}

.eml-map__label[data-pin="cairo"] {
	top: 25%;
	right: 0;
}

.eml-map__label-name {
	color: var(--wp--preset--color--navy-950);
	font-size: 0.8125rem;
	font-weight: 700;
}

.eml-map__label-area {
	color: var(--wp--preset--color--gold-700);
	font-size: 0.75rem;
	font-weight: 500;
}

.eml-map__tip {
	position: absolute;
	left: var(--tx, 0);
	top: var(--ty, 0);
	z-index: 4;
	display: grid;
	gap: 0.625rem;
	justify-items: start;
	width: max-content;
	max-width: 13.5rem;
	padding: 0.75rem 0.875rem;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--gold-400) 60%, transparent);
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--navy-950);
	box-shadow: 0 16px 32px -12px rgb(0 0 0 / 0.55);
	direction: ltr;
	visibility: hidden;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease), visibility 0s linear 0.2s;
}

html[dir="rtl"] .eml-map__tip {
	direction: rtl;
}

.eml-map__tip.is-open {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition-delay: 0s;
}

.eml-map__tip-title {
	color: var(--wp--preset--color--white);
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.5;
}

.eml-map__tip .eml-branch__dir {
	min-height: 2.5rem;
}

/* Entry (replays each time the slide becomes active): the plane settles, the border draws, the dots pop and
 * pulse, the leader lines draw, the callouts appear, then the map hovers. transform, opacity, stroke-dashoffset. */
@keyframes eml-map-land {
	from {
		opacity: 0;
		transform: translateY(-30px) rotateX(calc(var(--rx) + 26deg)) rotateY(calc(var(--ry) - 10deg)) scale(0.94);
	}

	to {
		opacity: 1;
		transform: translateY(0) rotateX(var(--rx)) rotateY(var(--ry)) scale(1);
	}
}

@keyframes eml-map-draw {
	from { stroke-dashoffset: 1; }
	to { stroke-dashoffset: 0; }
}

@keyframes eml-map-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes eml-map-pop {
	from { opacity: 0; transform: scale(0); }
	to { opacity: 1; transform: scale(1); }
}

@keyframes eml-map-pulse {
	0% { opacity: 0.8; transform: scale(1); }
	70%, 100% { opacity: 0; transform: scale(3.2); }
}

@keyframes eml-map-label {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

@keyframes eml-map-float {
	from { transform: translateY(0); }
	to { transform: translateY(-4px); }
}

@keyframes eml-map-shadow {
	from { transform: scale(1); }
	to { transform: scale(0.93); }
}

@media (prefers-reduced-motion: no-preference) {
	.eml-hero__slide.is-active .eml-map__tilt {
		animation: eml-map-land 1s var(--wp--custom--ease) 0.1s backwards;
	}

	.eml-hero__slide.is-active .eml-map__shadow {
		animation: eml-map-fade 1s var(--wp--custom--ease) 0.1s backwards, eml-map-shadow 3.6s ease-in-out 1.4s infinite alternate;
	}

	.eml-hero__slide.is-active .eml-map__float {
		animation: eml-map-float 3.6s ease-in-out 1.4s infinite alternate;
	}

	.eml-hero__slide.is-active .eml-map__border {
		animation: eml-map-draw 1.1s var(--wp--custom--ease) 1s both;
	}

	.eml-hero__slide.is-active .eml-map__nile {
		animation: eml-map-draw 0.9s var(--wp--custom--ease) 1.5s both;
	}

	.eml-hero__slide.is-active .eml-map__core {
		animation: eml-map-pop 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) 1.9s both;
	}

	.eml-hero__slide.is-active .eml-map__ring {
		animation: eml-map-pulse 2.8s ease-out 2.3s infinite;
	}

	.eml-hero__slide.is-active .eml-map__dot[data-pin="alexandria"] .eml-map__core {
		animation-delay: 2.1s;
	}

	.eml-hero__slide.is-active .eml-map__dot[data-pin="alexandria"] .eml-map__ring {
		animation-delay: 2.5s;
	}

	.eml-hero__slide.is-active .eml-map__leader {
		animation: eml-map-draw 0.45s var(--wp--custom--ease) 2.5s both;
	}

	.eml-hero__slide.is-active .eml-map__leader[data-pin="alexandria"] {
		animation-delay: 2.7s;
	}

	.eml-hero__slide.is-active .eml-map__label {
		animation: eml-map-label 0.5s var(--wp--custom--ease) 2.8s both;
	}

	.eml-hero__slide.is-active .eml-map__label[data-pin="alexandria"] {
		animation-delay: 3s;
	}
}

@media (prefers-reduced-motion: reduce) {
	.eml-map__ring {
		opacity: 0.5;
		transform: scale(1.9);
	}

	.eml-map__core,
	.eml-map__tip {
		transition: none;
	}
}

@media (max-width: 781.98px) {
	.eml-hero__visual.eml-hero__visual--map {
		max-width: 22.5rem;
	}

	.eml-map__scene {
		top: 19%;
		left: 11%;
		width: 78%;
	}

	.eml-map__tilt {
		--rx: 12deg;
		--ry: -5deg;
	}

	.eml-map__shadow {
		inset: auto auto 0 12%;
		width: 70%;
	}

	.eml-map__label {
		padding: 0.375rem 0.625rem;
	}

	.eml-map__label[data-pin="cairo"] {
		top: 0;
	}

	.eml-map__label-name {
		font-size: 0.75rem;
	}

	.eml-map__label-area {
		font-size: 0.6875rem;
	}
}

/* ---------- Word-by-word reveal (reusable: add .eml-words to a paragraph) ---------- */
.eml-words.is-split .eml-words__w {
	display: inline-block;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 0.45s var(--wp--custom--ease), transform 0.45s var(--wp--custom--ease);
	transition-delay: calc(var(--i, 0) * var(--eml-words-step, 70ms));
}

.eml-words.is-playing .eml-words__w {
	opacity: 1;
	transform: none;
}

.eml-words__caret {
	position: relative;
	display: inline-block;
	width: 0;
	height: 1em;
	vertical-align: -0.15em;
	pointer-events: none;
}

.eml-words__caret::after {
	content: "";
	position: absolute;
	inset-block: 0.05em 0;
	inset-inline-start: 0.2em;
	width: 2px;
	background: var(--wp--preset--color--gold-400);
	opacity: 0;
}

.eml-words.is-playing .eml-words__caret::after {
	animation: eml-words-caret 1.3s steps(1, end) var(--eml-words-end, 2s) 1 both;
}

@keyframes eml-words-caret {
	0%, 100% { opacity: 0; }
	10%, 35% { opacity: 1; }
	35.01%, 60% { opacity: 0; }
	60.01%, 90% { opacity: 1; }
	90.01% { opacity: 0; }
}

/* ---------- Home: why us, intro line ---------- */
.eml-why .eml-why__lead.eml-why__lead {
	max-width: 60ch;
	margin: 1rem auto 0;
	text-align: center;
	text-wrap: balance;
}

/* ---------- Header: services mega menu ---------- */
.eml-mega.eml-mega {
	display: flex;
	align-items: center;
	list-style: none;
}

.eml-mega__toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	border: 0;
	background: none;
	font-family: inherit;
	line-height: inherit;
	cursor: pointer;
}

.eml-mega__toggle:focus-visible,
.eml-mega__card:focus-visible,
.eml-mega__all:focus-visible {
	outline: 2px solid var(--wp--preset--color--navy-700);
	outline-offset: 2px;
}

.eml-mega__chevron {
	flex-shrink: 0;
	color: var(--wp--preset--color--slate-500);
	transition: transform 0.2s var(--wp--custom--ease);
}

.eml-mega__toggle[aria-expanded="true"] .eml-mega__chevron {
	transform: rotate(180deg);
}

.eml-mega.is-open > .eml-mega__toggle {
	color: var(--wp--preset--color--navy-900);
}

.eml-nav .eml-mega.is-open > .eml-mega__toggle::after {
	transform: scaleX(1);
}

.eml-mega__panel[hidden] {
	display: none;
}

.eml-mega__grid {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
}

.eml-mega__item {
	margin: 0;
	list-style: none;
}

.eml-mega__card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.eml-mega__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	border-radius: var(--wp--custom--radius--lg);
	background: var(--wp--preset--color--navy-50);
}

.eml-mega__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s var(--wp--custom--ease);
}

.eml-mega__title {
	display: flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--wp--preset--color--navy-900);
	font-weight: 600;
	line-height: 1.5;
	transition: color 0.2s var(--wp--custom--ease);
}

.eml-mega__go {
	display: inline-flex;
	color: var(--wp--preset--color--gold-700);
}

.eml-mega__desc {
	display: block;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.65;
}

.eml-mega__foot {
	display: flex;
	justify-content: flex-end;
}

.eml-mega__all {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--wp--preset--color--gold-700);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s var(--wp--custom--ease);
}

.eml-mega__all:hover {
	color: var(--wp--preset--color--navy-900);
}

@media (min-width: 1180px) {
	.eml-nav.eml-nav,
	.eml-nav.eml-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
	.eml-nav .wp-block-navigation__responsive-dialog,
	.eml-mega.eml-mega {
		position: static;
	}

	.eml-header__bar.eml-header__bar {
		position: relative;
	}

	.eml-mega__panel {
		position: absolute;
		inset-block-start: calc(100% + 0.5rem);
		left: 50%;
		z-index: 70;
		box-sizing: border-box;
		width: min(56rem, calc(100vw - 3rem));
		padding: 1.5rem 1.5rem 1rem;
		border: 1px solid var(--wp--preset--color--slate-200);
		border-top: 2px solid var(--wp--preset--color--gold-400);
		border-radius: var(--wp--custom--radius--3-xl);
		background: var(--wp--preset--color--white);
		box-shadow: var(--wp--preset--shadow--lift);
		opacity: 0;
		transform: translate(-50%, -8px);
		transition: opacity 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
	}

	.eml-mega__panel::before {
		content: "";
		position: absolute;
		inset-inline: 0;
		inset-block-start: -0.75rem;
		height: 0.75rem;
	}

	.eml-mega__panel.is-open {
		opacity: 1;
		transform: translate(-50%, 0);
	}

	.eml-mega__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1rem;
	}

	.eml-mega__item {
		opacity: 0;
		transform: translateY(8px);
		transition: opacity 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
	}

	.eml-mega__panel.is-open .eml-mega__item {
		opacity: 1;
		transform: none;
		transition-duration: 0.3s;
		transition-delay: calc(var(--i, 0) * 50ms + 40ms);
	}

	.eml-mega__card {
		padding: 0.5rem;
		border-radius: var(--wp--custom--radius--xl);
	}

	.eml-mega__title {
		margin-block-start: 0.75rem;
		font-size: var(--wp--preset--font-size--medium);
	}

	.eml-mega__desc {
		margin-block-start: 0.25rem;
	}

	.eml-mega__go {
		opacity: 0;
		transform: translateX(-4px);
		transition: opacity 0.2s var(--wp--custom--ease), transform 0.2s var(--wp--custom--ease);
	}

	.eml-mega__go:dir(rtl) {
		transform: translateX(4px);
	}

	.eml-mega__card:hover .eml-mega__media img,
	.eml-mega__card:focus-visible .eml-mega__media img {
		transform: scale(1.04);
	}

	.eml-mega__card:hover .eml-mega__title,
	.eml-mega__card:focus-visible .eml-mega__title {
		color: var(--wp--preset--color--gold-700);
	}

	.eml-mega__card:hover .eml-mega__go,
	.eml-mega__card:focus-visible .eml-mega__go {
		opacity: 1;
		transform: none;
	}

	.eml-mega__foot {
		margin-block-start: 0.75rem;
		padding: 0.875rem 0.5rem 0;
		border-top: 1px solid var(--wp--preset--color--slate-100);
	}
}

@media (min-width: 1180px) and (prefers-reduced-motion: reduce) {
	.eml-mega__panel,
	.eml-mega__item,
	.eml-mega__go,
	.eml-mega__media img {
		transition: none;
	}

	.eml-mega__panel {
		transform: translate(-50%, 0);
	}

	.eml-mega__item {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 1179.98px) {
	.eml-mega.eml-mega {
		flex-direction: column;
		align-items: stretch;
	}

	.eml-mega__toggle {
		justify-content: space-between;
		width: 100%;
	}

	.eml-mega__panel {
		padding: 0 0 0.75rem;
	}

	.eml-mega__grid {
		gap: 0.25rem;
	}

	.eml-mega__card {
		display: grid;
		grid-template-columns: 3.5rem minmax(0, 1fr);
		align-items: center;
		gap: 0.875rem;
		padding: 0.5rem 0.25rem;
	}

	.eml-mega__media {
		width: 3.5rem;
		aspect-ratio: 1;
	}

	.eml-mega__title {
		font-size: var(--wp--preset--font-size--medium);
	}

	.eml-mega__go {
		display: none;
	}

	.eml-mega__desc {
		display: -webkit-box;
		overflow: hidden;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		font-size: var(--wp--preset--font-size--x-small);
		line-height: 1.55;
	}

	.eml-mega__foot {
		padding: 0.25rem 0.25rem 0;
	}
}

/* ---------- Office hours: rows (footer) and card (contact page) ---------- */
.eml-hours__row {
	display: grid;
	gap: 0.125rem;
	margin: 0;
}

.eml-hours__days {
	color: var(--wp--preset--color--slate-300);
}

.eml-hours__time {
	color: var(--wp--preset--color--white);
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.eml-hours__row.is-closed .eml-hours__days,
.eml-hours__row.is-closed .eml-hours__time {
	color: color-mix(in srgb, var(--wp--preset--color--gold-300) 70%, transparent);
	font-weight: 400;
}

.eml-hours .eml-hours__list {
	gap: 0.625rem;
}

.eml-hours--card.eml-hours--card {
	margin: 0;
	padding: 1.25rem;
	border: 1px solid var(--wp--preset--color--gold-200);
	border-top: 2px solid var(--wp--preset--color--gold-400);
	border-radius: var(--wp--custom--radius--2-xl);
	background: var(--wp--preset--color--white);
	box-shadow: var(--wp--preset--shadow--soft);
}

.eml-hours__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-block-end: 1rem;
}

.eml-hours__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	border-radius: var(--wp--custom--radius--xl);
	background: var(--wp--preset--color--gold-50);
	color: var(--wp--preset--color--gold-500);
}

.eml-hours__heading.eml-hours__heading {
	margin: 0;
	color: var(--wp--preset--color--navy-950);
	font-size: var(--wp--preset--font-size--medium);
}

.eml-hours--card .eml-hours__list {
	gap: 0;
}

.eml-hours--card .eml-hours__row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	padding-block: 0.625rem;
	border-bottom: 1px dashed var(--wp--preset--color--slate-200);
	font-size: var(--wp--preset--font-size--small);
}

.eml-hours--card .eml-hours__days {
	color: var(--wp--preset--color--slate-600);
}

.eml-hours--card .eml-hours__time {
	color: var(--wp--preset--color--navy-900);
	font-weight: 600;
}

.eml-hours--card .eml-hours__row.is-closed .eml-hours__days,
.eml-hours--card .eml-hours__row.is-closed .eml-hours__time {
	color: var(--wp--preset--color--slate-500);
}

.eml-hours--card .eml-hours__row.is-closed .eml-hours__time {
	padding: 0.05rem 0.6rem;
	border-radius: 9999px;
	background: var(--wp--preset--color--slate-100);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
}

.eml-hours__note.eml-hours__note {
	margin: 0.875rem 0 0;
	color: var(--wp--preset--color--slate-600);
	font-size: var(--wp--preset--font-size--x-small);
	line-height: 1.8;
}