/* ==========================================================================
   Elite Horizons – site styles
   Use only var(--eh-*) tokens from brand.css; no hard-coded colors.
   Use logical properties (margin-inline-*, padding-inline-*) for RTL.
   ========================================================================== */

::selection {
	background: var(--eh-primary);
	color: var(--eh-white);
}

a:hover {
	color: var(--eh-primary);
}

/* Header CTA menu item ("Ask for Service") */
.header-nav .menu li.eh-menu-cta > a {
	background: var(--eh-primary);
	color: var(--eh-white) !important;
	border-radius: 40px;
	padding-block: 10px;
	padding-inline: 22px;
	transition: background-color .2s ease;
}
.header-nav .menu li.eh-menu-cta > a:hover {
	background: var(--eh-accent);
	color: var(--eh-dark) !important;
}
.header-nav .menu li.eh-menu-cta > a::before,
.header-nav .menu li.eh-menu-cta > a::after {
	display: none;
}

/* Footer (background color: Customizer > footer_bg_color) */
.footer-one .footer-top .footer-logo {
	max-width: 210px;
}
.eh-contact-list li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.eh-contact-list .icon {
	color: var(--eh-accent);
	flex-shrink: 0;
	line-height: 0;
	padding-block-start: 3px;
}

.eh-social {
	display: flex;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 38px;
	block-size: 38px;
	border: 1px solid var(--white-border);
	border-radius: 50%;
	color: var(--eh-white);
	transition: background-color .2s ease, border-color .2s ease;
}
.eh-social a:hover {
	background: var(--eh-primary);
	border-color: var(--eh-primary);
	color: var(--eh-white);
}

/* Client logos marquee [eh_clients] */
.eh-clients {
	display: flex;
	align-items: center;
	gap: 32px;
}
.eh-clients__title {
	flex-shrink: 0;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eh-primary);
}
.eh-clients__viewport {
	display: flex;
	overflow: hidden;
	flex: 1;
	mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.eh-clients__track {
	display: flex;
	align-items: center;
	gap: 56px;
	flex-shrink: 0;
	margin: 0;
	padding-inline-end: 56px;
	list-style: none;
	animation: eh-marquee 90s linear infinite;
}
.eh-clients:hover .eh-clients__track {
	animation-play-state: paused;
}
.eh-clients__logo {
	display: block;
	max-block-size: 56px;
	max-inline-size: 140px;
	inline-size: auto;
	block-size: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .7;
	transition: filter .2s ease, opacity .2s ease;
}
.eh-clients__item:hover .eh-clients__logo {
	filter: none;
	opacity: 1;
}
@keyframes eh-marquee {
	to { transform: translateX(-100%); }
}
[dir="rtl"] .eh-clients__track {
	animation-name: eh-marquee-rtl;
}
@keyframes eh-marquee-rtl {
	to { transform: translateX(100%); }
}
@media (prefers-reduced-motion: reduce) {
	.eh-clients__track { animation: none; }
	.eh-clients__viewport { overflow-x: auto; }
}
@media (max-width: 767px) {
	.eh-clients { flex-direction: column; align-items: stretch; gap: 16px; }
	.eh-clients__title { text-align: center; }
	.eh-clients__track { gap: 36px; padding-inline-end: 36px; }
}

/* Pills [eh_sectors] */
.eh-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-pills li {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding-block: 12px;
	padding-inline: 22px;
	border: 1px solid var(--eh-primary-300);
	border-radius: 40px;
	background: var(--eh-white);
	color: var(--eh-dark);
	font-weight: 500;
}
.eh-pills li::before {
	content: "";
	inline-size: 8px;
	block-size: 8px;
	border-radius: 50%;
	background: var(--eh-primary);
}
.eh-pills li:nth-child(even) {
	border-color: var(--eh-accent-soft);
}
.eh-pills li:nth-child(even)::before {
	background: var(--eh-accent);
}

/* Home Four hero only (Home One keeps the theme default, like the demo) */
.style-2 .lead {
	text-transform: none !important;
}

/* Dark sections (add the "eh-dark" CSS class to an Elementor section) */
.eh-dark .subtitle,
.eh-dark .small-secondary {
	color: var(--eh-accent-soft) !important;
}
.eh-dark .tj-btn.button-secondary-white {
	border-color: var(--eh-primary);
	background-color: var(--eh-primary);
	color: var(--eh-white) !important;
}
.eh-dark .tj-btn.button-secondary-white:hover {
	border-color: var(--eh-white);
}

/* Founders signature: serif italic instead of the demo's script font */
.signature {
	font-family: var(--eh-font-heading) !important;
	font-style: italic;
	font-size: 26px !important;
	line-height: 1.3;
	color: var(--eh-dark) !important;
}

/* Fact counters on dark sections: readable tint of the brand purple */
.number,
.number .counter {
	color: var(--eh-primary-300) !important;
}

/* Why Elite Horizons checklist */
.eh-checklist {
	margin-block: 20px 0;
	padding: 0;
	list-style: none;
}
.eh-checklist li {
	position: relative;
	margin-block-end: 12px;
	padding-inline-start: 28px;
}
/* Repeated class beats the theme's .single-services .elementor-widget-text-editor ul li::before */
.eh-checklist.eh-checklist.eh-checklist li::before {
	font-family: inherit;
	content: "";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: .45em;
	inline-size: 14px;
	block-size: 8px;
	border-inline-start: 2px solid var(--eh-accent);
	border-block-end: 2px solid var(--eh-accent);
	border-block-start: 0;
	border-inline-end: 0;
	border-radius: 0;
	background: none;
	transform: rotate(-45deg);
}
[dir="rtl"] .eh-checklist.eh-checklist.eh-checklist li::before {
	/* element is mirrored by logical borders; flip back, then rotate like LTR */
	transform: rotate(-45deg) scaleX(-1);
}
.eh-rounded-image img {
	border-radius: 12px;
}

/* Cards (add "eh-card" to an Elementor widget) */
.eh-section--surface {
	background: var(--eh-surface);
}
.eh-card {
	block-size: 100%;
}
.eh-card {
	block-size: 100%;
	padding: 40px 32px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 16px;
	background: var(--eh-white);
	box-shadow: 0 10px 30px rgba(28, 37, 45, .06);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.eh-card:hover {
	transform: translateY(-4px);
	border-color: var(--eh-primary-300);
	box-shadow: 0 18px 40px rgba(67, 40, 169, .12);
}
.eh-card h3,
.eh-card .elementor-icon-box-title {
	margin-block-end: 14px;
	font-size: 22px;
	color: var(--eh-dark);
}
.eh-card h3::after {
	content: "";
	display: block;
	inline-size: 40px;
	block-size: 2px;
	margin-block-start: 12px;
	background: var(--eh-accent);
}
.eh-card p,
.eh-card li,
.eh-card .elementor-icon-box-description {
	color: var(--eh-text);
	line-height: 1.7;
}
.eh-card .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 64px;
	block-size: 64px;
	border-radius: 50%;
	background: var(--eh-primary-100);
	color: var(--eh-primary);
	font-size: 26px;
}
.eh-card .elementor-icon svg {
	fill: var(--eh-primary);
	inline-size: 26px;
	block-size: 26px;
}
.eh-card--num .elementor-icon-box-wrapper {
	text-align: start;
}
.eh-pills--start {
	justify-content: flex-start;
	margin-block-start: 10px;
}
.eh-dark .eh-pills li {
	background: transparent;
	color: var(--eh-white);
}
.eh-dark h2,
.eh-dark h3 {
	color: var(--eh-white);
}
.eh-dark p {
	color: var(--eh-silver);
}

/* Service detail */
.eh-lead {
	font-size: 18px;
	line-height: 1.8;
	color: var(--eh-text);
}
.eh-subservices {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}
.eh-subservice {
	position: relative;
	padding: 28px 24px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 14px;
	background: var(--eh-white);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.eh-subservice:hover {
	border-color: var(--eh-primary-300);
	box-shadow: 0 14px 30px rgba(67, 40, 169, .10);
}
.eh-subservice__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	margin-block-end: 14px;
	border: 1px solid var(--eh-primary);
	border-radius: 50%;
	font-family: var(--eh-font-heading);
	font-size: 14px;
	color: var(--eh-primary);
}
.eh-subservice:nth-child(even) .eh-subservice__num {
	border-color: var(--eh-accent);
	color: var(--eh-dark);
}
.eh-subservice h3 {
	margin-block-end: 14px;
	font-size: 20px;
}
.eh-subservice .eh-checklist li {
	margin-block-end: 8px;
	font-size: 15px;
}
.eh-help-box {
	margin-block-start: 30px;
	text-align: center;
}
.eh-help-box h3::after {
	margin-inline: auto;
}

.eh-help-box {
	block-size: auto;
}
.single-services [dir="rtl"] .eh-checklist.eh-checklist.eh-checklist li::before {
	/* element is mirrored by logical borders; flip back, then rotate like LTR */
	transform: rotate(-45deg) scaleX(-1);
}
.eh-rounded-image img {
	inline-size: 100%;
	max-block-size: 420px;
	object-fit: cover;
}

/* Offices [eh_offices] */
.eh-offices {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 24px;
}
.eh-office {
	padding: 32px 28px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 16px;
	background: var(--eh-surface);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.eh-office:hover {
	border-color: var(--eh-primary-300);
	box-shadow: 0 14px 30px rgba(67, 40, 169, .10);
}
.eh-office__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 48px;
	block-size: 48px;
	margin-block-end: 16px;
	border-radius: 50%;
	background: var(--eh-primary);
	color: var(--eh-white);
}
.eh-office__country {
	margin-block-end: 8px;
	font-size: 22px;
}
.eh-office__address,
.eh-office__phone {
	margin-block-end: 12px;
	color: var(--eh-text);
	line-height: 1.7;
}
.eh-office__map {
	font-size: 14px;
	font-weight: 600;
	color: var(--eh-dark);
	border-block-end: 2px solid var(--eh-accent);
}

/* Map [eh_map] */
.eh-map {
	overflow: hidden;
	block-size: 100%;
	min-block-size: 420px;
	border-radius: 16px;
}
.eh-map iframe {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	min-block-size: 420px;
	border: 0;
}

/* Contact details [eh_contact_details] */
.eh-contact-details {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}
.eh-contact-details li {
	display: flex;
	align-items: center;
	gap: 12px;
}
.eh-contact-details__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 40px;
	block-size: 40px;
	border-radius: 50%;
	background: var(--eh-primary-100);
	color: var(--eh-primary);
}
.eh-contact-details small {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--eh-slate);
}
.eh-contact-details a {
	color: var(--eh-dark);
	font-weight: 600;
}

/* Forms */
.eh-form-card {
	padding: 40px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 18px;
	background: var(--eh-surface);
}
.eh-service-form select.form-control {
	block-size: auto;
	min-block-size: 58px;
	padding-inline: 20px;
	border-radius: 20px;
	color: var(--eh-dark);
	appearance: auto;
}
.eh-form-inline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
}
.eh-form-label {
	font-weight: 600;
	color: var(--eh-dark);
}
.eh-form-inline .wpcf7-list-item {
	margin-inline: 0 16px;
}
.eh-form-consent {
	font-size: 14px;
	color: var(--eh-text);
}
.eh-form-consent input,
.eh-form-inline input {
	accent-color: var(--eh-primary);
	margin-inline-end: 6px;
}
.wpcf7-form:has(> .form-primary) .wpcf7-response-output {
	margin: 20px 0 0;
	padding: 14px 18px;
	border-radius: 12px;
}
.eh-service-form .nice-select {
	float: none;
	inline-size: 100%;
	block-size: 50px;
	line-height: 48px;
	padding-inline: 20px;
	border: 1px solid var(--eh-silver);
	border-radius: 20px;
	color: var(--eh-text);
	font-size: 16px;
}
.eh-service-form .nice-select .list {
	inline-size: 100%;
}
.eh-service-form .nice-select .option.selected,
.eh-service-form .nice-select .option:hover {
	color: var(--eh-primary);
}
.eh-form-inline .wpcf7-list-item label {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.eh-form-consent .wpcf7-list-item {
	margin: 0;
}
.eh-form-consent label {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}
.eh-form-consent input {
	margin-block-start: 4px;
}
@media (max-width: 767px) {
	.eh-form-card { padding: 24px; }
}

/* Team cards [eh_team] */
.eh-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}
.eh-team--cols-3 { grid-template-columns: repeat(3, 1fr); }
.eh-team--cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1199px) { .eh-team { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991px)  { .eh-team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px)  { .eh-team { grid-template-columns: 1fr; } }
.eh-team-card {
	padding: 32px 24px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 16px;
	background: var(--eh-white);
	text-align: center;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.eh-team-card:hover {
	transform: translateY(-4px);
	border-color: var(--eh-primary-300);
	box-shadow: 0 18px 40px rgba(67, 40, 169, .12);
}
.eh-team-card__photo {
	display: block;
	inline-size: 160px;
	block-size: 160px;
	margin-inline: auto;
	margin-block-end: 20px;
	padding: 5px;
	border: 2px solid var(--eh-accent);
	border-radius: 50%;
}
.eh-team-card:nth-child(even) .eh-team-card__photo {
	border-color: var(--eh-primary-300);
}
.eh-team-card__photo img {
	inline-size: 100%;
	block-size: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: top;
}
.eh-team-card__name {
	margin-block-end: 6px;
	font-size: 20px;
}
.eh-team-card__name a {
	color: var(--eh-dark);
}
.eh-team-card__role {
	min-block-size: 2.8em;
	margin-block-end: 14px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--eh-primary);
}
.eh-team-card__more {
	font-size: 14px;
	font-weight: 600;
	color: var(--eh-dark);
	border-block-end: 2px solid var(--eh-accent);
}
.eh-team-card__more:hover {
	color: var(--eh-primary);
}

.eh-team-section--founders .eh-team {
	max-inline-size: 760px;
	margin-inline: auto;
}
.eh-team-section--founders .eh-team-card__photo {
	inline-size: 200px;
	block-size: 200px;
}
.eh-center {
	text-align: center;
}

/* Team profile (single-team.php) */
.eh-profile {
	padding-block: 100px;
}
.eh-profile__card {
	position: sticky;
	inset-block-start: 120px;
	padding: 36px 28px;
	border: 1px solid var(--eh-primary-100);
	border-radius: 18px;
	background: var(--eh-surface);
	text-align: center;
}
.eh-profile__photo {
	inline-size: 220px;
	block-size: 220px;
	margin-inline: auto;
	margin-block-end: 24px;
	padding: 6px;
	border: 2px solid var(--eh-accent);
	border-radius: 50%;
}
.eh-profile__photo img {
	inline-size: 100%;
	block-size: 100%;
	border-radius: 50%;
	object-fit: cover;
	object-position: top;
}
.eh-profile__role {
	margin-block-end: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--eh-primary);
}
.eh-profile__name {
	margin-block-end: 6px;
	font-size: 30px;
}
.eh-profile__group {
	color: var(--eh-slate);
	font-size: 14px;
}
.eh-profile__links {
	display: grid;
	gap: 10px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}
.eh-profile__links a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	inline-size: 100%;
	padding: 12px 16px;
	border: 1px solid var(--eh-primary-300);
	border-radius: 40px;
	background: var(--eh-white);
	color: var(--eh-primary);
	font-size: 14px;
	word-break: break-all;
}
.eh-profile__links a:hover {
	background: var(--eh-primary);
	color: var(--eh-white);
}
.eh-profile__label {
	margin-block: 0 14px;
	padding-block-end: 10px;
	border-block-end: 1px solid var(--eh-primary-100);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eh-accent);
}
.eh-profile__headline {
	margin-block-end: 18px;
	font-family: var(--eh-font-heading);
	font-size: 22px;
	line-height: 1.5;
	color: var(--eh-dark);
}
.eh-profile__bio {
	margin-block-end: 40px;
}
.eh-profile__bio p {
	color: var(--eh-text);
	line-height: 1.8;
}
.eh-profile__back {
	margin-block-start: 40px;
}
.eh-profile__back a {
	font-weight: 600;
	color: var(--eh-primary);
}
@media (max-width: 991px) {
	.eh-profile { padding-block: 60px; }
	.eh-profile__card { position: static; }
}

/* Brand signature: purple + green underline used across the profile */
.eh-divider {
	display: block;
	inline-size: 120px;
	block-size: 3px;
	background: linear-gradient(to right, var(--eh-primary) 0 65%, var(--eh-accent) 65% 100%);
}

/* Service detail on mobile: content first, sidebar after */
@media (max-width: 767px) {
	.eh-svc-content > .elementor-container {
		flex-direction: column-reverse;
	}
}

/* Founders message: absolutely-positioned image overlaps the quote on tablets */
@media (max-width: 1199px) {
	.elementor-widget-tj-thinking section .img-wrpr,
	.elementor-widget-tj-thinking section .left-side {
		position: static !important;
		inline-size: 100% !important;
		max-inline-size: 520px;
		margin-inline: auto;
		inset: auto !important;
		transform: none !important;
	}
	.elementor-widget-tj-thinking section::before,
	.elementor-widget-tj-thinking section::after {
		display: none !important;
	}
	.elementor-widget-tj-thinking section .col-md-6.offset-md-6 {
		flex: 0 0 100%;
		max-inline-size: 100%;
		margin-inline-start: 0;
		padding-block-start: 40px;
	}
}

/* Mobile menu (slicknav) in brand colours */
.slicknav_nav {
	background: var(--eh-dark) !important;
	border-block-start: 2px solid var(--eh-accent);
}
.slicknav_nav a:hover,
.slicknav_nav .slicknav_row:hover {
	background: var(--eh-primary) !important;
	color: var(--eh-white) !important;
}

/* ==========================================================================
   Brand guideline: typography & colour hierarchy
   ========================================================================== */

/* Headlines in the brand heading font (case and spacing follow the theme, like the demo) */
h1, h2,
.elementor-heading-title {
	font-family: var(--eh-font-heading);
	font-weight: 600;
}
h3, h4, h5, h6 {
	font-family: var(--eh-font-heading);
	font-weight: 500;
}
.signature {
	font-family: var(--eh-font-body) !important;
	font-style: italic;
	font-weight: 600;
}

/* Neutral greys from the theme/Bootstrap -> Silver Dawn */
hr,
.form-control,
.wpcf7-form-control:not(.wpcf7-submit),
.nice-select {
	border-color: var(--eh-silver) !important;
}

/* Overlays in Regal Horizon / Suit instead of the demo navy & black */
#get-started-section-two::before {
	background: linear-gradient(120deg, rgb(67 40 169 / .88), rgb(28 37 45 / .82)) !important;
}

/* Fact counters: Regal Horizon band */
.elementor-section.eh-dark:has(.elementor-widget-tj-fact) {
	background: var(--eh-primary) !important;
}
.elementor-section.eh-dark:has(.elementor-widget-tj-fact) .number,
.elementor-section.eh-dark:has(.elementor-widget-tj-fact) .number .counter {
	color: var(--eh-white) !important;
}
.elementor-section.eh-dark:has(.elementor-widget-tj-fact) .label {
	color: var(--eh-accent-soft) !important;
}
.hero-slider-item::before,
#page-header-section::before {
	background: linear-gradient(115deg, rgb(28 37 45 / .86) 30%, rgb(67 40 169 / .62)) !important;
}
/* Dot pattern behind "Who we are" image: demo PNG was brown -> Regal Horizon dots */
.img-wrpr::before {
	background-image: radial-gradient(var(--eh-primary-300) 1.6px, transparent 1.8px) !important;
	background-size: 12px 12px !important;
}

/* SVG logos have no intrinsic size inside the theme's flex header */
.header_inner .logo,
.header_inner .logo a,
.sticky-logo,
.footer-logo a {
	display: block;
}
.header_inner .logo img,
.sticky-logo img {
	inline-size: 230px;
	max-inline-size: 100%;
	block-size: auto;
}
.footer-one .footer-top .footer-logo {
	max-width: 230px;
}
.footer-logo img {
	inline-size: 230px;
	max-inline-size: 100%;
}
@media (max-width: 991px) {
	.header_inner .logo img { inline-size: 170px; }
}

/* Footer text on Suit (body text colour is Suit, so set it explicitly) */
.footer-one,
.footer-one p,
.footer-one li,
.footer-one a,
.footer-one .copyright,
.footer-one .eh-contact-list li {
	color: var(--eh-silver);
}
.footer-one a:hover {
	color: var(--eh-white);
}
.footer-one h3,
.footer-one .widget-title {
	color: var(--eh-white);
}
/* The theme colours footer links with var(--color-text); scope it to Silver Dawn on Suit */
.footer-one {
	--color-text: var(--eh-silver);
}
.img-wrpr::before {
	background-repeat: repeat !important;
}
#get-started-section-one .get-started-image {
	display: block;
	max-inline-size: 620px;
	margin-inline: auto;
}

/* Hero: keep content clear of the overlaid header on short screens */
.hero-slider-item .d-table-cell {
	padding-block: 150px 70px;
}
@media (max-width: 991px) {
	.hero-slider-item .d-table-cell { padding-block: 120px 60px; }
}


/* Accessible contrast: Verdant/Slate only for decoration, small text in Regal Horizon/Suit */
.eh-profile__label {
	color: var(--eh-primary);
	border-block-end-color: var(--eh-accent);
}
.eh-profile__group,
.eh-contact-details small {
	color: var(--eh-dark);
	opacity: .75;
}
.eh-profile__name {
	text-transform: none;
}

/* Header: switch to the mobile (☰) menu up to 1199px so the nav never wraps */
@media (max-width: 1199px) {
	.header-one .mobile-menu { display: block; }
	.header-one .header-nav .menu { display: none; }
	.header-one .header-nav { padding: 12px 0; }
	.header-one .slicknav_menu { background: transparent; padding: 0; }
	.header-one .slicknav_btn { background-color: var(--eh-primary); }
	.header-one .slicknav_nav a:hover { background: var(--eh-primary); color: var(--eh-white); }
	.header_inner .logo img { inline-size: 190px; }
}
@media (max-width: 575px) {
	.header_inner .logo img { inline-size: 165px; }
}

/* Dropdown caret spacing ("Services ⌄ | Team") */
.header-one .header-nav .menu > ul > li.menu-item-has-children > a,
.header-one .header-nav .menu > ul > li.has-submenu > a {
	padding-inline-end: 22px;
}

/* Mobile menu: replace slicknav's text arrow with a chevron */
.slicknav_nav .slicknav_arrow {
	display: inline-block;
	inline-size: 8px;
	block-size: 8px;
	margin-inline-start: 10px;
	font-size: 0;
	border-inline-end: 2px solid var(--eh-accent);
	border-block-end: 2px solid var(--eh-accent);
	transform: translateY(-3px) rotate(45deg);
	transition: transform .2s ease;
}
.slicknav_nav .slicknav_open > .slicknav_item .slicknav_arrow {
	transform: translateY(0) rotate(-135deg);
}

/* Forms: disabled submit (consent not ticked) reads as a brand button, with a hint */
.wpcf7-form .wpcf7-submit:disabled {
	background: var(--eh-silver) !important;
	border-color: var(--eh-silver) !important;
	color: var(--eh-dark) !important;
	cursor: not-allowed;
	opacity: 1;
}
.eh-service-form .wpcf7-submit:disabled + .wpcf7-spinner + .eh-consent-hint,
.eh-consent-hint {
	display: block;
	margin-block-start: 10px;
	font-size: 13px;
	color: var(--eh-dark);
}
.wpcf7-form:has(.wpcf7-submit:not(:disabled)) .eh-consent-hint {
	display: none;
}
.wpcf7-not-valid {
	border-color: var(--eh-primary) !important;
}
.wpcf7-not-valid-tip {
	margin-block-start: 6px;
	font-size: 13px;
	color: var(--eh-primary);
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--eh-primary);
	color: var(--eh-dark);
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--eh-accent);
	color: var(--eh-dark);
}

/* Header over photos: full-white links for legibility (active item gets the green underline) */
.header-one .header-nav .menu > ul > li > a {
	color: var(--eh-white);
}
.header-one .header-nav .menu > ul > li.current-menu-item > a,
.header-one .header-nav .menu > ul > li.current-menu-ancestor > a {
	box-shadow: inset 0 -2px 0 var(--eh-accent);
}
.header-one .header-nav .menu > ul > li.eh-menu-cta > a {
	box-shadow: none;
}

/* ==========================================================================
   Header: one solid Regal Horizon bar at all times (top and after scrolling)
   ========================================================================== */
.header-one,
.header-one.sticky.active {
	background: var(--eh-primary);
}
.header-one.sticky.active {
	box-shadow: 0 6px 24px rgb(28 37 45 / .18);
}
.header-one .top-bar {
	border-block-end-color: rgb(255 255 255 / .14);
}
/* CTA on the purple bar: white button, purple text */
.header-nav .menu li.eh-menu-cta > a {
	background: var(--eh-white);
	color: var(--eh-primary) !important;
}
.header-nav .menu li.eh-menu-cta > a:hover {
	background: var(--eh-accent);
	color: var(--eh-dark) !important;
}
.slicknav_btn,
.header-one .slicknav_btn {
	background-color: rgb(255 255 255 / .14) !important;
}

/* "Trusted by" strip: white band, logos in their own colours */
.elementor-widget-shortcode:has(.eh-clients) {
	padding-block: 6px;
}
.elementor-section:has(.eh-clients) {
	background: var(--eh-white) !important;
	border-block-end: 1px solid var(--eh-silver);
}
.eh-clients__logo {
	filter: none;
	opacity: .9;
}
/* Uniform optical size for client logos (wide logos capped by width, tall by height) */
.eh-clients__logo {
	max-block-size: 46px;
	max-inline-size: 130px;
}

/* ==========================================================================
   Page banners sit below the solid header (it overlays the top of the page)
   --eh-header-h is measured in elite.js; fallbacks match the measured sizes.
   ========================================================================== */
:root {
	--eh-header-h: 126px;
	--eh-banner-space: 90px;
}
@media (max-width: 991px) { :root { --eh-header-h: 113px; --eh-banner-space: 70px; } }
@media (max-width: 575px) { :root { --eh-header-h: 102px; --eh-banner-space: 50px; } }

#page-header-section {
	padding-block: calc(var(--eh-header-h) + var(--eh-banner-space)) calc(var(--eh-banner-space) - 20px) !important;
}
.hero-slider-item .d-table-cell {
	padding-block: calc(var(--eh-header-h) + 30px) 70px !important;
}

/* ==========================================================================
   Home (Home One layout)
   ========================================================================== */
/* Hero client logos: white on the dark hero, like the demo */
.hero_brands .hero_brands_logos img {
	filter: brightness(0) invert(1);
}
/* Founders image in the video slot: no video, so no play button */
.elementor-widget-tj-video-popup .video_play,
.elementor-widget-tj-video-popup .video-modal-primary {
	display: none !important;
}
/* Sectors under a left-aligned heading */
.eh-sectors-left .eh-pills {
	justify-content: flex-start;
}
@media (max-width: 767px) {
	.hero-banner-2 .container {
		padding-inline: 24px;
	}
	.hero-banner-2 .title {
		font-size: 34px;
		line-height: 1.15;
	}
}

/* Testimonial avatar keeps its 80px when the name is long */
.elementor-widget-testimonial img[width="80"],
.elementor-widget-testimonial .reviewer_img,
.elementor-widget-testimonial div:has(> img) {
	flex-shrink: 0;
}

/* Feature cards: equal height in a row, like the demo (where the texts are equal length) */
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-tj-feature) > .elementor-widget-wrap {
	align-content: stretch;
}
.elementor-widget-tj-feature {
	flex-grow: 1;
}
.elementor-widget-tj-feature > .elementor-widget-container,
.elementor-widget-tj-feature .feature_item {
	block-size: 100%;
}

/* Sector cards ([eh_sector_cards], theme blog-card markup) */
#blog-section-two .row > [class*="col-"] {
	display: flex;
}
#blog-section-two .blog-item,
#blog-section-two .blog-section-inner {
	display: flex;
	flex-direction: column;
	inline-size: 100%;
}
#blog-section-two .contents {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}
#blog-section-two .blog_btn {
	margin-block-start: auto;
}
#blog-section-two .blog-title {
	font-family: var(--eh-font-heading);
	font-weight: 500;
}
#blog-section-two .text {
	font-family: var(--eh-font-body);
}

/* Official .ai logo (horizontal, ~7.4:1) needs more width to keep its height */
.header_inner .logo,
.header-one .header-nav .logo {
	max-width: none !important;
}
.header_inner .logo img,
.sticky-logo img { inline-size: 290px; }
.footer-one .footer-top .footer-logo { max-width: 290px; }
.footer-logo img { inline-size: 290px; }
@media (max-width: 1199px) { .header_inner .logo img { inline-size: 260px; } }
@media (max-width: 575px)  { .header_inner .logo img { inline-size: 215px; } }

/* Stacked logo as designed (icon above the name) – sized by height */
.header_inner .logo img,
.sticky-logo img {
	inline-size: auto;
	block-size: 74px;
}
.footer-logo img {
	inline-size: auto;
	block-size: 96px;
}
.footer-one .footer-top .footer-logo { max-width: none; }
@media (max-width: 1199px) { .header_inner .logo img { inline-size: auto; block-size: 64px; } }
@media (max-width: 575px)  { .header_inner .logo img { inline-size: auto; block-size: 54px; } }

/* Centre the menu against the taller stacked logo */
.header-one .header_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

/* Partner/brand strip (tj-brand): the demo's logos are small grey PNGs (max ~103x26) */
.our-partner-area ul li img {
	inline-size: auto;
	block-size: auto;
	max-inline-size: 103px;
	max-block-size: 26px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .75;
}

/* ==========================================================================
   Header like the demo: transparent over the hero/banner image at the top
   of the page, solid Regal Horizon once scrolled (.active).
   ========================================================================== */
.header-one:not(.active) {
	background: transparent !important;
	box-shadow: none !important;
}

/* Testimonial cards: equal height in each row so the avatars line up */
.elementor-widget-testimonial .owl-stage {
	display: flex;
}
.elementor-widget-testimonial .owl-item {
	flex: 0 0 auto;
}
/* .testimonial-item already has height:100% in the theme; the stretched owl-item gives it a height to fill */
.elementor-widget-testimonial .owl-item {
	padding-block-end: 50px;   /* room for the avatar that hangs 50px below the card */
}
.elementor-widget-testimonial .testimonial-item {
	box-sizing: border-box;
	block-size: 100%;
	margin-block-end: 0;
}

/* ==========================================================================
   Compact header on scroll: top bar hides, stacked logo shrinks smoothly
   ========================================================================== */
.header_inner .logo img {
	block-size: 66px;
	transition: block-size .25s ease;
}
.header-one .top-bar,
.header-one .header-nav {
	transition: padding .25s ease;
}
.header-one.sticky.active .top-bar {
	display: none;
}
.header-one.sticky.active .header-nav {
	padding-block: 8px;
}
.header-one.sticky.active .header_inner .logo img {
	block-size: 46px;
}
@media (max-width: 1199px) {
	.header_inner .logo img { block-size: 58px; }
	.header-one.sticky.active .header_inner .logo img { block-size: 42px; }
}
@media (max-width: 575px) {
	.header_inner .logo img { block-size: 50px; }
	.header-one.sticky.active .header_inner .logo img { block-size: 40px; }
}

/* Service detail (demo "Cash Flow Projection" layout) */
/* Elementor 4 adds the kit spacing to a widget's own bottom margin; the demo (Elementor 3) doesn't */
.single-services .elementor-widget-heading {
	margin-block-end: 20px !important;
}
/* Left-aligned banner (layout-2): 100px below the text, like the demo */
#page-header-section.style-2 {
	padding-block: calc(var(--eh-header-h) + 100px) 100px !important;
}

/* Team cards (tj-team): name weight as in the demo */
.team_content .name {
	font-weight: 700;
}
/* Team card text/icons as light as the demo (#657786 there; Suit at 72% here, AA contrast) */
.team_content p,
.team_content ul li a,
.team_content ul li i {
	color: rgb(28 37 45 / .72);
}
.team_content ul li a:hover i {
	color: var(--eh-primary);
}
/* Home founders cards (style-3): the panel is purple, so icons stay white and turn Verdant on hover */
#team-section-one.style-3 .team-inner .team_content ul li a,
#team-section-one.style-3 .team-inner .team_content ul li i {
	color: #fff;
}
#team-section-one.style-3 .team-inner .team_content ul li a:hover i {
	color: var(--eh-accent);
}
/* Team card photo: transparent 1106 x 1422 cut-outs — the person "pops out" of a
   purple circle drawn in the image (fitted: centre 49.6% / 76.6% of the width,
   radius 46.5% of the width). Show the whole cut-out; the shadow follows its shape. */
#team-section-one.style-2 .team-inner > img {
	display: block;
	margin-inline: auto;
	inline-size: 88%;
	aspect-ratio: 1106 / 1422;
	object-fit: contain;
	border: 0; /* the theme's straight bottom line doesn't suit a cut-out */
	filter: drop-shadow(0 18px 26px rgb(28 37 45 / .16));
	position: relative; /* sit in front of the green arc: the person stands before the ring */
	z-index: 1;
}
#team-section-one.style-2 .team-inner .team_content {
	z-index: 2;
}
/* Verdant "horizon" arc (echoes the logo's swoosh) orbiting the drawn circle's
   upper-left, just outside it and behind the person; it sweeps round a little on
   hover. Placed with margins because margin percentages follow the card width,
   like the photo (88% wide): circle centre 49.6% / 67.4%, radius 40.9% of the
   card → ring radius 44.5%. */
#team-section-one.style-2 .team-inner::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline-start: 0;
	box-sizing: border-box;
	margin-block-start: 22.9%;
	margin-inline-start: 5.1%;
	inline-size: 89%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 4px solid transparent;
	border-block-start-color: var(--eh-accent);
	border-inline-start-color: var(--eh-accent);
	rotate: -25deg;
	transition: rotate .6s cubic-bezier(.2, .7, .2, 1);
	pointer-events: none;
}
#team-section-one.style-2 .team-item:hover .team-inner::before {
	rotate: 20deg;
}
/* Tablet / mobile: the name card wraps taller and would hide the face, so drop it
   below the photo with only a slight overlap. */
@media (max-width: 991px) {
	#team-section-one.style-2 .team-inner .team_content {
		position: relative;
		inset: auto;
		inline-size: 90%;
		margin: -56px auto 0;
	}
}

/* Team profiles use the service-details pieces: same checklist style as the theme's .single-services */
.single-team .elementor-widget-text-editor ul {
	padding: 0;
	list-style: none;
}
.single-team .elementor-widget-text-editor ul li {
	position: relative;
	padding-left: 28px;
}
.single-team .elementor-widget-text-editor ul li:before {
	content: "\f058";
	font-family: "Font Awesome 5 Pro";
	font-weight: 100;
	font-size: 16px;
	line-height: 1;
	color: var(--color-primary);
	position: absolute;
	left: 0;
	top: 3px;
	width: 16px;
	height: 16px;
}
.single-team .elementor-widget-text-editor ul li:not(:last-child) {
	margin-bottom: 15px;
}
.single-team .elementor-widget-heading {
	margin-block-end: 20px !important;
}

/* Team cards: same box geometry in every card (the demo's texts are all the same length) */
#team-section-one.style-2 .team_content p {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-block-size: 72px;            /* 3 lines, as in the demo */
}
#team-section-one.style-2 .team_content ul {
	min-block-size: 29px;            /* icon row kept even when a member has no email */
	margin-block-end: 0;
}
#team-section-one.style-2 .team_content {
	display: flex;
	flex-direction: column;
}

/* ==========================================================================
   Team profile (single-team.php) – refined to match the site's cards
   ========================================================================== */
.eh-profile { padding-block: 100px; }
.eh-profile__card {
	position: sticky;
	inset-block-start: 110px;
	overflow: hidden;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: var(--eh-white);
	box-shadow: 0 20px 50px rgb(0 0 0 / .12);       /* same shadow as the team cards */
	text-align: start;
}
.eh-profile__photo {
	inline-size: 100%;
	block-size: auto;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	border-block-end: 4px solid var(--eh-primary);   /* same line as under the team card photo */
}
.eh-profile__photo img {
	display: block;
	inline-size: 100%;
	block-size: auto;
	aspect-ratio: 352 / 357;
	border-radius: 0;
	object-fit: cover;
	object-position: top center;
}
.eh-profile__card-body { padding: 24px 28px 28px; }
.eh-profile__group {
	margin: 0 0 6px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eh-slate);
	opacity: 1;
}
.eh-profile__name {
	margin: 0 0 4px;
	font-family: var(--eh-font-body);
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--eh-dark);
}
.eh-profile__role {
	margin: 0 0 18px;
	font-size: 15px;
	color: var(--eh-primary);
	text-transform: none;
	letter-spacing: 0;
}
.eh-profile__links {
	display: grid;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.eh-profile__links a {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	inline-size: auto;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font-size: 14px;
	color: rgb(28 37 45 / .72);
	word-break: break-all;
}
.eh-profile__links a i { font-size: 22px; color: rgb(28 37 45 / .72); }
.eh-profile__links a:hover,
.eh-profile__links a:hover i { background: none; color: var(--eh-primary); }
.eh-profile__cta { display: block; text-align: center; }

.eh-profile__body .subtitle { display: block; margin-block-end: 12px; }
.eh-profile__headline {
	margin: 0 0 24px;
	font-family: var(--eh-font-heading);
	font-size: 34px;
	line-height: 1.25;
	color: var(--eh-dark);
}
.eh-profile__bio p { margin-block-end: 16px; color: rgb(28 37 45 / .8); line-height: 1.75; }
.eh-profile__quals {
	margin-block-start: 40px;
	padding: 32px;
	border-radius: 6px;
	background: var(--eh-surface);
}
.eh-profile__quals h3 { margin: 0 0 20px; font-size: 24px; }
.eh-profile__quals-list { margin: 0; padding: 0; list-style: none; }
.eh-profile__quals-list li {
	position: relative;
	padding-inline-start: 28px;
	color: var(--eh-dark);
}
.eh-profile__quals-list li:not(:last-child) { margin-block-end: 14px; }
.eh-profile__quals-list li::before {             /* same check icon as the service lists */
	content: "\f058";
	position: absolute;
	inset-inline-start: 0;
	inset-block-start: 3px;
	font-family: "Font Awesome 5 Pro";
	font-weight: 100;
	font-size: 16px;
	line-height: 1;
	color: var(--eh-primary);
}
.eh-profile__back { margin-block-start: 36px; }
.eh-profile__back a { font-weight: 600; color: var(--eh-primary); }
.eh-profile__band .section-header-primary h2,
.eh-profile__band .section-header-primary p { color: var(--eh-white); }
@media (max-width: 991px) {
	.eh-profile { padding-block: 60px; }
	.eh-profile__card { position: static; max-inline-size: 440px; }
	.eh-profile__headline { font-size: 28px; }
}

/* Ask for Service: the request form inside the demo consultation card (two fields per row). */
.consultation_form .eh-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
}
.consultation_form .eh-service-form .form_group.eh-form-consent {
	margin-bottom: 20px;
}
@media (max-width: 575px) {
	.consultation_form .eh-pair {
		grid-template-columns: 1fr;
	}
}
/* Ask for Service: the long request form makes the demo card tall; tighten it so the page has no empty bands. */
.consultation_form:has(.eh-service-form) {
	margin-block: 60px 60px;
	padding: 32px 30px;
}
.consultation_form:has(.eh-service-form) .title {
	margin-bottom: 20px;
}
.consultation_form .eh-service-form .form_group {
	margin-bottom: 14px;
}
.consultation_form .eh-service-form textarea {
	height: 110px;
}
.consultation_form .eh-service-form .form_group.eh-form-consent {
	margin-bottom: 16px;
}
.consultation_form .eh-service-form .eh-consent-hint {
	margin-block-start: 8px;
}
.consultation-form:has(.eh-service-form) .consult_image .image_inner img {
	display: block;
}
/* Ask for Service: a layered, on-brand presentation for the side photo — a
   purple→Verdant depth panel behind a white-framed photo, with a floating
   credential badge. Replaces the bottom-anchored cutout the widget was built for. */
.consultation-form:has(.eh-service-form) .row {
	align-items: center !important;
}
.consultation-form:has(.eh-service-form) .consult_image .image_inner {
	position: relative;
	width: 100%;
	max-width: 440px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
}
.consultation-form:has(.eh-service-form) .consult_image .image_inner img {
	position: relative;
	z-index: 2;
	display: block;
	width: 100%;
	height: 520px;
	object-fit: cover;
	border-radius: 18px;
	border: 7px solid #fff;
	box-shadow: 0 26px 54px rgba(28, 37, 45, 0.28);
}
@media (min-width: 992px) {
	/* depth panel offset behind the photo */
	.consultation-form:has(.eh-service-form) .consult_image .image_inner::before {
		content: "";
		position: absolute;
		inset: 34px -26px -26px 34px;
		z-index: 0;
		border-radius: 22px;
		background: linear-gradient(140deg, var(--eh-primary) 0%, var(--eh-primary-400) 55%, var(--eh-accent) 140%);
	}
	/* floating credential badge, bottom-left */
	.consultation-form:has(.eh-service-form) .consult_image .image_inner::after {
		content: "Trusted by 40+ global brands";
		position: absolute;
		left: -22px;
		bottom: 54px;
		z-index: 3;
		max-width: 205px;
		padding: 13px 18px 13px 38px;
		border-radius: 12px;
		color: var(--eh-dark);
		font: 600 13px/1.25 var(--eh-font-body);
		background-color: #fff;
		background-image: radial-gradient(circle at 19px 50%, var(--eh-accent) 0 4.5px, transparent 5.5px);
		box-shadow: 0 18px 40px rgba(28, 37, 45, 0.20);
	}
}
.consultation_form .eh-service-form .wpcf7-spinner {
	display: none;
}
.wpcf7-form.submitting .consultation_form .eh-service-form .wpcf7-spinner,
.consultation_form .wpcf7-form.submitting .eh-service-form .wpcf7-spinner {
	display: block;
	margin: 10px auto 0;
}


/* Team cards: Verdant line under the photo (theme default is the primary colour) */
#team-section-one .team-item img {
	border-bottom-color: var(--eh-accent);
}

/* FAQ accordion: Verdant bar on the left of each question */
.elementor-widget-tj-faq .faq_item .faq_title {
	border-left-color: var(--eh-accent) !important;
}
/* open question: Verdant header (dark text for contrast) and Verdant frame */
.elementor-widget-tj-faq .faq_item .faq_title:not(.collapsed) {
	background-color: var(--eh-accent) !important;
	color: var(--eh-dark) !important;
}
.elementor-widget-tj-faq .faq_item .faq_title:not(.collapsed)::after {
	color: var(--eh-dark) !important;
	border-color: var(--eh-dark) !important;
}
.elementor-widget-tj-faq .faq_item:has(.faq_title:not(.collapsed)) {
	border-color: var(--eh-accent) !important;
}

/* Our Mission & Vision: Vision / Values cards */
.eh-mv > .elementor-container > .elementor-column > .elementor-widget-wrap {
	padding-block: 0;
}
.eh-mv-card {
	block-size: 100%;
	padding: 44px 40px;
	border-radius: 10px;
	background: var(--eh-light, #F4F6F6);
	border-block-start: 5px solid var(--eh-accent);
}
.eh-mv-card h2 {
	margin-block: 6px 22px;
	font-size: 36px;
}
.eh-mv-card .eh-checklist {
	margin: 0;
}
.eh-mv .elementor-widget-text-editor,
.eh-mv .elementor-widget-text-editor > .elementor-widget-container {
	block-size: 100%;
}
@media (max-width: 767px) {
	.eh-mv .elementor-column + .elementor-column { margin-block-start: 30px; }
	.eh-mv-card { padding: 32px 26px; }
	.eh-mv-card h2 { font-size: 30px; }
}

/* Message from Our Founders: centre the two founder cards */
.eh-center-row > .elementor-container {
	justify-content: center;
}

/* Sectors We Serve: full industries list */
.eh-sector-all .eh-pills {
	justify-content: center;
}

/* Join Elite: CV upload field */
.consultation_form .eh-file .eh-form-label {
	display: block;
	margin-block-end: 8px;
	font-size: 14px;
}
.consultation_form .eh-file input[type="file"] {
	inline-size: 100%;
	padding: 12px 16px;
	border: 1px dashed var(--eh-silver, #BDC5C9);
	border-radius: 35px;
	font-size: 14px;
	background: #fff;
	cursor: pointer;
}
.consultation_form .eh-file input[type="file"]::file-selector-button {
	margin-inline-end: 12px;
	padding: 6px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--eh-primary);
	color: #fff;
	cursor: pointer;
}
.consultation_form .form_fields input[type="url"] {
	inline-size: 100%;
	padding: 16px 20px;
	border: 1px solid #ddd;
	border-radius: 35px;
	font-size: 15px;
	line-height: 1;
}
.eh-founders-cards .elementor-widget-tj-heading {
	margin-inline: auto;
}
/* Founders' message (tj-thinking layout 3): brand background instead of the demo beige */
.elementor-widget-tj-thinking #our-thinking-section-two {
	background-color: var(--eh-primary) !important;
}
.eh-intro-narrow .elementor-widget-tj-heading {
	max-inline-size: 780px;
	margin-inline: auto;
}
.eh-intro-narrow + .elementor-section .consultation_form {
	margin-block-start: 30px;
}

/* Main menu: tighter item spacing on laptop widths so the longer labels never wrap */
@media (min-width: 1200px) and (max-width: 1499px) {
	.header-one .header-nav .menu > ul > li > a {
		padding-inline: 14px;
	}
	.header-one .header-nav .menu > ul > li.menu-item-has-children > a,
	.header-one .header-nav .menu > ul > li.has-submenu > a {
		padding-inline-end: 22px;
	}
}

/* ==========================================================================
   Message from Our Founders
   ========================================================================== */
.eh-fl > .elementor-container { align-items: center; }

/* founders on a Regal Horizon stage with the logo's Verdant arc */
.eh-fl-stage {
	position: relative;
	aspect-ratio: 6 / 5;
	border-radius: 24px;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(circle at 72% 28%, #5843D6 0, transparent 55%),
		linear-gradient(160deg, #4328A9 0%, #2E1B7A 100%);
	box-shadow: 0 30px 60px rgb(67 40 169 / .25);
}
.eh-fl-stage::before {                       /* soft rings */
	content: "";
	position: absolute;
	inset: 12% -20% -40% 20%;
	border-radius: 50%;
	border: 1px solid rgb(255 255 255 / .14);
	box-shadow: 0 0 0 60px rgb(255 255 255 / .03), 0 0 0 120px rgb(255 255 255 / .025);
	z-index: -1;
}
.eh-fl-stage::after {                        /* dot grid, as on the Home about image */
	content: "";
	position: absolute;
	inset-block-start: 26px;
	inset-inline-start: 26px;
	inline-size: 140px;
	block-size: 110px;
	background-image: radial-gradient(rgb(255 255 255 / .35) 1.4px, transparent 1.6px);
	background-size: 14px 14px;
	z-index: -1;
}
.eh-fl-arc {
	position: absolute;
	inset-block-start: 10%;
	inset-inline-start: 6%;
	inline-size: 88%;
	color: var(--eh-accent);
	opacity: .9;
	z-index: -1;
}
.eh-fl-stage img {
	position: absolute;
	inset-block-end: 0;
	inset-inline-start: 50%;
	translate: -50% 0;
	inline-size: 96%;
	max-inline-size: none;
	block-size: auto;
}
.eh-fl-badge {
	position: absolute;
	inset-block-end: 24px;
	inset-inline-start: 24px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-inline-size: 250px;
	padding: 14px 18px;
	border-radius: 14px;
	background: rgb(255 255 255 / .96);
	box-shadow: 0 12px 30px rgb(28 37 45 / .18);
}
.eh-fl-badge strong {
	font-family: "Oswald", sans-serif;
	font-size: 40px;
	line-height: 1;
	color: var(--eh-primary);
}
.eh-fl-badge span {
	font-size: 13px;
	line-height: 1.35;
	color: var(--eh-dark);
}

/* the letter */
.eh-fl-text { padding-inline-start: 30px; }
.eh-fl-title {
	margin-block: 12px 30px;
	font-size: 44px;
	line-height: 1.15;
	color: var(--eh-dark);
}
.eh-fl-letter {
	position: relative;
	padding-inline-start: 28px;
	border-inline-start: 3px solid var(--eh-accent);
	font-size: 18px;
	line-height: 1.8;
	color: #545F67;
}
.eh-fl-letter::before {
	content: "\201C";
	position: absolute;
	inset-block-start: -10px;
	inset-inline-end: 6px;
	font-family: "Oswald", sans-serif;
	font-size: 200px;
	line-height: 1;
	color: rgb(67 40 169 / .07);
	pointer-events: none;
}
.eh-fl-letter p { margin-block-end: 14px; }
.eh-fl-hello {
	font-weight: 600;
	color: var(--eh-dark);
}
.eh-fl-sign {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 48px;
	margin-block-start: 34px;
	padding-block-start: 26px;
	border-block-start: 1px solid #E3E7EA;
}
.eh-fl-sign__name {
	display: block;
	font-size: 21px;
	font-style: italic;
	font-weight: 600;
	color: var(--eh-primary);
}
.eh-fl-sign__role {
	display: block;
	margin-block-start: 4px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #7A868E;
}

/* founder spotlight */
.eh-fs-sec { background: #F4F6F6; }
.eh-fs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}
.eh-fs__card {
	display: grid;
	grid-template-columns: 42% 1fr;
	overflow: hidden;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 50px rgb(28 37 45 / .08);
	transition: transform .25s ease, box-shadow .25s ease;
}
.eh-fs__card:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 60px rgb(67 40 169 / .16);
}
.eh-fs__photo {
	display: block;
	border-inline-end: 5px solid var(--eh-accent);
}
.eh-fs__photo img {
	display: block;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center top;
}
.eh-fs__body { padding: 34px 30px; }
.eh-fs__role {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--eh-primary);
}
.eh-fs__name {
	margin-block: 6px 12px;
	font-size: 30px;
	color: var(--eh-dark);
}
.eh-fs__lead {
	margin-block-end: 18px;
	font-size: 15px;
	line-height: 1.65;
	color: #545F67;
}
.eh-fs__list {
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
}
.eh-fs__list li {
	position: relative;
	margin-block-end: 10px;
	padding-inline-start: 22px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--eh-dark);
}
.eh-fs__list li::before {
	content: "";
	position: absolute;
	inset-block-start: 7px;
	inset-inline-start: 0;
	inline-size: 9px;
	block-size: 9px;
	border-radius: 50%;
	background: var(--eh-accent);
	box-shadow: 0 0 0 4px rgb(0 196 97 / .15);
}
.eh-fs__link {
	font-size: 14px;
	font-weight: 600;
	color: var(--eh-primary);
	text-decoration: none;
}
.eh-fs__link i { margin-inline-start: 6px; transition: transform .2s; }
.eh-fs__link:hover { color: var(--eh-primary); }
.eh-fs__link:hover i { transform: translateX(4px); }

/* numbers band */
.eh-fstats-sec {
	background:
		radial-gradient(circle at 85% 0%, rgb(67 40 169 / .45), transparent 50%),
		var(--eh-dark);
}
.eh-fstats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}
.eh-fstats__item { padding-inline-start: 22px; border-inline-start: 1px solid rgb(255 255 255 / .12); }
.eh-fstats__item strong {
	display: block;
	font-family: "Oswald", sans-serif;
	font-size: 56px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
}
.eh-fstats__item strong::after {
	content: "";
	display: block;
	inline-size: 36px;
	block-size: 4px;
	margin-block: 16px 12px;
	border-radius: 2px;
	background: var(--eh-accent);
}
.eh-fstats__item span {
	font-size: 15px;
	line-height: 1.5;
	color: var(--eh-silver);
}

@media (max-width: 1199px) {
	.eh-fs { grid-template-columns: 1fr; }
	.eh-fl-title { font-size: 38px; }
}
@media (max-width: 991px) {
	.eh-fl-text { padding-inline-start: 0; margin-block-start: 40px; }
	.eh-fstats { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }
}
@media (max-width: 575px) {
	.eh-fl-title { font-size: 30px; }
	.eh-fl-letter { font-size: 16px; padding-inline-start: 20px; }
	.eh-fl-badge strong { font-size: 32px; }
	.eh-fs__card { grid-template-columns: 1fr; }
	.eh-fs__photo { border-inline-end: 0; border-block-end: 5px solid var(--eh-accent); }
	.eh-fs__photo img { block-size: 300px; }
	.eh-fs__body { padding: 26px 22px; }
	.eh-fstats__item strong { font-size: 42px; }
}

/* breathing room before the "Ask for Service" button */
.header-one .header-nav .menu > ul > li.eh-menu-cta {
	margin-inline-start: 14px;
}

/* ==========================================================================
   Sectors We Serve: industries as numbered tiles
   ========================================================================== */
.eh-sector-all {
	position: relative;
	background:
		radial-gradient(rgb(67 40 169 / .07) 1.2px, transparent 1.4px) 0 0 / 22px 22px,
		#F4F6F6;
}
.eh-sector-tiles {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-sector-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-block-size: 178px;
	padding: 26px 22px 24px;
	overflow: hidden;
	isolation: isolate;
	border: 1px solid #E3E7EA;
	border-radius: 16px;
	background: #fff;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.eh-sector-tile::before {                    /* soft glow, revealed on hover */
	content: "";
	position: absolute;
	inset-block-start: -60px;
	inset-inline-end: -60px;
	inline-size: 160px;
	block-size: 160px;
	border-radius: 50%;
	background: radial-gradient(circle, rgb(67 40 169 / .14), transparent 70%);
	opacity: 0;
	transition: opacity .3s ease;
	z-index: -1;
}
.eh-sector-tile::after {                     /* Verdant line that grows on hover */
	content: "";
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	block-size: 3px;
	background: var(--eh-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
}
.eh-sector-tile:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 24px 50px rgb(67 40 169 / .14);
}
.eh-sector-tile:hover::before { opacity: 1; }
.eh-sector-tile:hover::after { transform: scaleX(1); }

.eh-sector-tile__num {
	position: absolute;
	inset-block-start: 20px;
	inset-inline-end: 22px;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	letter-spacing: .08em;
	color: var(--eh-silver);
	transition: color .3s ease;
}
.eh-sector-tile:hover .eh-sector-tile__num { color: var(--eh-primary); }
.eh-sector-tile__icon {
	display: grid;
	place-items: center;
	inline-size: 56px;
	block-size: 56px;
	margin-block-end: 22px;
	border-radius: 14px;
	background: rgb(67 40 169 / .08);
	color: var(--eh-primary);
	font-size: 24px;
	transition: background-color .3s ease, color .3s ease;
}
.eh-sector-tile:hover .eh-sector-tile__icon {
	background: var(--eh-primary);
	color: #fff;
}
.eh-sector-tile__name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--eh-dark);
}

@media (max-width: 1199px) { .eh-sector-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 991px)  { .eh-sector-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 575px) {
	.eh-sector-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.eh-sector-tile { min-block-size: 150px; padding: 20px 16px; }
	.eh-sector-tile__icon { inline-size: 46px; block-size: 46px; font-size: 20px; margin-block-end: 16px; }
	.eh-sector-tile__name { font-size: 14px; }
}

/* Sectors We Serve: sector groups on Suit with a Regal Horizon glow (instead of the demo slate) */
.eh-sector-groups.elementor-section,
.eh-sector-groups > .elementor-background-overlay {
	background:
		radial-gradient(circle at 90% 0%, rgb(67 40 169 / .55), transparent 45%),
		radial-gradient(circle at 0% 100%, rgb(0 196 97 / .10), transparent 40%),
		var(--eh-dark) !important;
}
.eh-sector-groups #blog-section-two .blog-item .blog-image img,
.eh-sector-groups .blog-item img {
	border-bottom: 4px solid var(--eh-accent);
}

/* ==========================================================================
   Join Elite: why-join column + application card, how it works
   ========================================================================== */
.eh-je > .elementor-container { align-items: flex-start; }
.eh-je-intro { padding-inline-end: 40px; }
.eh-je-title {
	margin-block: 12px 18px;
	font-size: 44px;
	line-height: 1.15;
	color: var(--eh-dark);
}
.eh-je-lead {
	margin-block-end: 34px;
	font-size: 17px;
	line-height: 1.75;
	color: #545F67;
}
.eh-je-perks {
	display: grid;
	gap: 14px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
.eh-je-perks li {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	padding: 20px 22px;
	border: 1px solid #E3E7EA;
	border-radius: 14px;
	background: #fff;
	transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.eh-je-perks li:hover {
	border-color: transparent;
	box-shadow: 0 18px 40px rgb(67 40 169 / .12);
	transform: translateX(4px);
}
.eh-je-perk__icon {
	display: grid;
	place-items: center;
	flex: none;
	inline-size: 50px;
	block-size: 50px;
	border-radius: 12px;
	background: rgb(67 40 169 / .08);
	color: var(--eh-primary);
	font-size: 22px;
}
.eh-je-perks strong {
	display: block;
	margin-block-end: 4px;
	font-size: 16px;
	color: var(--eh-dark);
}
.eh-je-perks li > span:last-child {
	font-size: 14px;
	line-height: 1.6;
	color: #545F67;
}
.eh-je-note {
	font-size: 14px;
	color: #545F67;
}
.eh-je-note i { margin-inline-end: 8px; color: var(--eh-accent); }
.eh-je-note a { font-weight: 600; color: var(--eh-primary); }

/* application card */
.eh-je-form { position: sticky; top: 110px; }
.consultation_form.eh-je-card {
	max-inline-size: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 18px;
	box-shadow: 0 30px 70px rgb(28 37 45 / .12);
}
.eh-je-card__head {
	position: relative;
	padding: 28px 32px 26px;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, #5843D6 0, transparent 60%),
		var(--eh-primary);
	color: #fff;
}
.eh-je-card__head::after {                  /* the logo's Verdant arc */
	content: "";
	position: absolute;
	inset-block-end: -70px;
	inset-inline-end: -40px;
	inline-size: 220px;
	block-size: 120px;
	border-block-start: 6px solid var(--eh-accent);
	border-radius: 50%;
	opacity: .85;
}
.eh-je-card__head h3 {
	margin: 0 0 4px;
	font-size: 30px;
	color: #fff;
}
.eh-je-card__head p {
	margin: 0;
	font-size: 14px;
	color: rgb(255 255 255 / .8);
}
.eh-je-card__body { padding: 28px 32px 30px; }
.eh-je-card .form_fields .form_group { margin-bottom: 14px; }
.eh-je-card .form_fields textarea { height: 110px; }

/* how it works */
.eh-steps-sec {
	background:
		radial-gradient(rgb(67 40 169 / .07) 1.2px, transparent 1.4px) 0 0 / 22px 22px,
		#F4F6F6;
}
.eh-steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}
.eh-steps::before {                          /* dashed line linking the steps */
	content: "";
	position: absolute;
	inset-block-start: 62px;
	inset-inline: 16% 16%;
	border-block-start: 2px dashed rgb(67 40 169 / .25);
}
.eh-step {
	position: relative;
	padding: 34px 30px 32px;
	border-radius: 16px;
	background: #fff;
	text-align: center;
	box-shadow: 0 16px 40px rgb(28 37 45 / .06);
}
.eh-step__num {
	position: absolute;
	inset-block-start: 18px;
	inset-inline-end: 22px;
	font-family: "Oswald", sans-serif;
	font-size: 14px;
	letter-spacing: .08em;
	color: var(--eh-silver);
}
.eh-step__icon {
	position: relative;
	display: grid;
	place-items: center;
	inline-size: 58px;
	block-size: 58px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: var(--eh-primary);
	color: #fff;
	font-size: 22px;
	box-shadow: 0 0 0 8px rgb(67 40 169 / .1);
}
.eh-step h3 {
	margin-block-end: 8px;
	font-size: 22px;
	color: var(--eh-dark);
}
.eh-step p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: #545F67;
}

@media (max-width: 1199px) {
	.eh-je-title { font-size: 38px; }
	.eh-je-intro { padding-inline-end: 10px; }
}
@media (max-width: 991px) {
	.eh-je-form { position: static; margin-block-start: 40px; }
	.eh-steps { grid-template-columns: 1fr; }
	.eh-steps::before { display: none; }
}
@media (max-width: 575px) {
	.eh-je-title { font-size: 30px; }
	.eh-je-perks li { padding: 16px; gap: 14px; }
	.eh-je-card__head, .eh-je-card__body { padding-inline: 20px; }
}

/* ==========================================================================
   Our Mission & Vision
   ========================================================================== */
.eh-mv-mission > .elementor-container { align-items: center; }
.eh-mv-text { padding-inline-end: 40px; }
.eh-mv-h {
	margin-block: 10px 22px;
	font-size: 48px;
	color: var(--eh-dark);
}
.eh-mv-statement {
	position: relative;
	margin-block-end: 22px;
	padding-inline-start: 28px;
	border-inline-start: 3px solid var(--eh-accent);
	font-family: "Oswald", sans-serif;
	font-size: 28px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--eh-dark);
}
.eh-mv-statement span { color: var(--eh-primary); }
.eh-mv-sub {
	margin-block-end: 26px;
	font-size: 17px;
	line-height: 1.75;
	color: #545F67;
}
.eh-mv-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-mv-tags li {
	padding: 8px 16px;
	border-radius: 999px;
	background: rgb(67 40 169 / .08);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	color: var(--eh-primary);
}
.eh-mv-stage {
	position: relative;
	aspect-ratio: 4 / 5;
	border-radius: 24px;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 30px 60px rgb(67 40 169 / .25);
}
.eh-mv-stage img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	z-index: -2;
}
.eh-mv-stage::before {                       /* brand tint over the photo */
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(200deg, rgb(67 40 169 / .15) 0%, rgb(46 27 122 / .75) 100%);
	z-index: -1;
}
.eh-mv-stage .eh-fl-arc {
	inset-block-start: auto;
	inset-block-end: 28%;
	z-index: 0;
}

/* Vision tiles reuse the sector tiles, three per row */
.eh-vision-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.eh-vision-tile { min-block-size: 190px; }
.eh-vision-tile .eh-sector-tile__name { font-size: 18px; line-height: 1.45; }

/* Values band */
.eh-vals {
	display: grid;
	grid-template-columns: 260px 1fr;
	align-items: center;
	gap: 40px;
}
.eh-vals__head h2 { margin: 8px 0 0; font-size: 44px; color: #fff; }
.eh-vals__head .subtitle { color: var(--eh-accent); }
.eh-vals__list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-vals__list li {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 22px 18px;
	border: 1px solid rgb(255 255 255 / .1);
	border-radius: 14px;
	background: rgb(255 255 255 / .03);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	transition: background-color .25s ease, border-color .25s ease;
}
.eh-vals__list li:hover {
	border-color: rgb(0 196 97 / .5);
	background: rgb(255 255 255 / .06);
}
.eh-val__icon {
	display: grid;
	place-items: center;
	inline-size: 46px;
	block-size: 46px;
	border-radius: 50%;
	background: rgb(0 196 97 / .14);
	color: var(--eh-accent);
	font-size: 20px;
}

/* Pillars */
.eh-pillars {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.eh-pillar {
	position: relative;
	padding: 40px 34px 36px;
	overflow: hidden;
	border-radius: 18px;
	background: #fff;
	border: 1px solid #E3E7EA;
	border-block-start: 4px solid var(--eh-accent);
	transition: transform .3s ease, box-shadow .3s ease;
}
.eh-pillar:hover {
	transform: translateY(-6px);
	box-shadow: 0 26px 56px rgb(67 40 169 / .14);
}
.eh-pillar__num {
	display: block;
	margin-block-end: 18px;
	font-family: "Oswald", sans-serif;
	font-size: 64px;
	font-weight: 600;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--eh-primary);
}
.eh-pillar h3 {
	margin-block-end: 12px;
	font-size: 26px;
	color: var(--eh-dark);
}
.eh-pillar p {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #545F67;
}

@media (max-width: 1199px) {
	.eh-vals { grid-template-columns: 1fr; gap: 26px; }
	.eh-mv-statement { font-size: 24px; }
}
@media (max-width: 991px) {
	.eh-mv-text { padding-inline-end: 0; }
	.eh-mv-media { margin-block-start: 40px; }
	.eh-mv-stage { aspect-ratio: 16 / 11; }
	.eh-vision-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eh-vals__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.eh-pillars { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
	.eh-mv-h { font-size: 38px; }
	.eh-mv-statement { font-size: 21px; padding-inline-start: 20px; }
	.eh-vision-tiles { grid-template-columns: 1fr; }
	.eh-vision-tile { min-block-size: 0; }
	.eh-vals__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.eh-pillar { padding: 32px 24px; }
}

/* Mission photo: layered composition (offset brand panel, natural photo, arc accent on the corner) */
.eh-mv-mission .eh-mv-media { padding: 34px 34px 0 0; }
.eh-mv-stage {
	aspect-ratio: 1 / 1;
	overflow: visible;
	box-shadow: none;
}
.eh-mv-stage::before {                       /* offset Regal Horizon panel with dot grid */
	inset: -34px -34px 34px 34px;
	border-radius: 24px;
	background:
		radial-gradient(rgb(255 255 255 / .28) 1.4px, transparent 1.6px) 18px 18px / 16px 16px,
		linear-gradient(160deg, #5843D6 0%, #2E1B7A 100%);
	z-index: -2;
}
.eh-mv-stage img {
	position: relative;
	inset: auto;
	z-index: -1;
	border-radius: 24px;
	object-position: 50% 70%;
	box-shadow: 0 30px 60px rgb(28 37 45 / .25);
}
.eh-mv-stage::after {                        /* soft shade at the bottom for the badge */
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 24px;
	background: linear-gradient(to top, rgb(28 37 45 / .55), transparent 45%);
	pointer-events: none;
}
.eh-mv-stage .eh-fl-arc {
	inset-block: -58px auto;
	inset-inline-start: -30px;
	inline-size: 210px;
	opacity: 1;
	z-index: 1;
}
.eh-mv-stage .eh-fl-badge {
	inset-block-end: 30px;
	inset-inline-start: -30px;
	z-index: 2;
}
@media (max-width: 991px) {
	.eh-mv-mission .eh-mv-media { padding: 20px 20px 0 0; }
	.eh-mv-stage { aspect-ratio: 4 / 3; }
	.eh-mv-stage::before { inset: -20px -20px 20px 20px; }
	.eh-mv-stage .eh-fl-badge { inset-inline-start: 14px; inset-block-end: 14px; }
	.eh-mv-stage .eh-fl-arc { inline-size: 150px; inset-block-start: -40px; inset-inline-start: -10px; }
}
/* Mission photo: wider frame (matches the text height, less sky) and the arc sitting on the panel's corner */
@media (min-width: 992px) {
	.eh-mv-stage { aspect-ratio: 5 / 4; }
	.eh-mv-stage img { object-position: 50% 78%; }
	.eh-mv-stage .eh-fl-arc {
		inset-block-start: -44px;
		inset-inline-start: 6px;
		inline-size: 190px;
	}
}
.eh-mv-stage .eh-fl-arc { display: none; }

/* Home "Why Elite" features: responsive grid of cards (replaces the fixed 3 columns) */
.eh-features {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
}
@media (max-width: 991px) {
	.eh-features { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
	.eh-features { grid-template-columns: 1fr; }
}

/* Home "Meet our elite team": two founder portrait cards, tidy size with space between */
.eh-home-founders > .elementor-container{justify-content:center;gap:70px}
.eh-home-founders > .elementor-container > .elementor-column{max-inline-size:340px;flex:0 1 340px}
@media (max-width:767px){.eh-home-founders > .elementor-container{gap:36px}.eh-home-founders > .elementor-container > .elementor-column{flex:0 1 100%;max-inline-size:360px}}
