/*
Theme Name:   EdgeSphere Tech Forward
Theme URI:    https://edgesphereforward.com
Description:  OceanWP child theme for the EdgeSphere Tech Forward corporate website. Holds the EdgeSphere design-token layer and all custom CSS/JS so the build survives parent-theme updates.
Author:       EdgeSphere Tech Forward
Template:     oceanwp
Version:      1.0.0
Text Domain:  oceanwp-child-edgesphere
*/

/* ==========================================================================
   EdgeSphere Tech Forward - Child Theme Styles
   Design tokens live in /assets/css/tokens.css and load BEFORE this file.
   Never hard-code a hex value here - always use var(--es-*).
   ========================================================================== */


/* --- 1. PAGE CANVAS (OceanWP) ------------------------------------------ */

/* Every page uses a custom Elementor hero, so suppress the theme page title */
.page-header,
.elementor-page .page-header {
	display: none;
}

/* Remove the theme's default content padding on Elementor pages so sections
   can run edge to edge */
.elementor-page #content-wrap,
.elementor-page #main #content-wrap {
	padding-top: 0;
	padding-bottom: 0;
}

.elementor-page #content-wrap.container,
.elementor-page #main #content-wrap.container {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.elementor-page #main {
	padding: 0;
}


/* --- 2. BASE TYPOGRAPHY ------------------------------------------------- */

body {
	font-family: var(--es-font-body);
	font-size: var(--es-text-body);
	line-height: var(--es-lh-body);
	color: var(--es-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--es-font-heading);
	color: var(--es-navy);
	letter-spacing: var(--es-tracking-heading);
}


/* --- 3. SECTION RHYTHM AND SURFACES ------------------------------------- */

.es-section {
	padding-top: var(--es-section-y);
	padding-bottom: var(--es-section-y);
}

.es-section--tight {
	padding-top: calc(var(--es-section-y) * 0.6);
	padding-bottom: calc(var(--es-section-y) * 0.6);
}

.es-surface-dark {
	background-color: var(--es-navy);
	color: var(--es-on-dark-body);
}

.es-surface-light {
	background-color: var(--es-platinum);
	color: var(--es-ink);
}

.es-surface-dark h1,
.es-surface-dark h2,
.es-surface-dark h3,
.es-surface-dark h4 {
	color: var(--es-white);
}


/* --- 4. SECTION LABEL --------------------------------------------------- */

.es-label {
	font-family: var(--es-font-body);
	font-size: var(--es-text-label);
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: var(--es-tracking-label);
	text-transform: uppercase;
	margin: 0 0 var(--es-space-3);
}

.es-surface-dark .es-label { color: var(--es-teal); }

/* Brand teal fails WCAG AA on light, so text uses the darkened teal there */
.es-surface-light .es-label { color: var(--es-teal-ink); }


/* --- 5. BUTTONS --------------------------------------------------------- */

.es-btn,
.elementor-button.es-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--es-space-2);
	min-height: var(--es-btn-height);
	padding: 0 var(--es-btn-padding-x);
	border-radius: var(--es-radius-btn);
	font-family: var(--es-font-body);
	font-size: var(--es-text-btn);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid transparent;
	transition: background-color var(--es-transition), border-color var(--es-transition),
		color var(--es-transition), transform var(--es-transition), box-shadow var(--es-transition);
}

.es-btn--primary,
.elementor-button.es-btn--primary {
	background-color: var(--es-blue);
	color: var(--es-white);
	border-color: var(--es-blue);
}

.es-btn--primary:hover,
.es-btn--primary:focus-visible {
	background-color: var(--es-blue-hover);
	border-color: var(--es-blue-hover);
	color: var(--es-white);
	transform: translateY(-2px);
	box-shadow: var(--es-shadow-btn);
}

.es-btn--secondary,
.elementor-button.es-btn--secondary {
	background-color: transparent;
	color: var(--es-white);
	border-color: var(--es-border-on-dark-strong);
}

.es-btn--secondary:hover,
.es-btn--secondary:focus-visible {
	border-color: var(--es-teal);
	color: var(--es-teal);
	transform: translateY(-2px);
}

.es-surface-light .es-btn--secondary {
	color: var(--es-navy);
	border-color: var(--es-border-on-light-strong);
}

.es-surface-light .es-btn--secondary:hover {
	border-color: var(--es-blue);
	color: var(--es-blue);
}


/* --- 6. CARDS ----------------------------------------------------------- */

.es-card {
	border-radius: var(--es-radius-card);
	padding: var(--es-card-padding);
	transition: transform var(--es-transition), border-color var(--es-transition),
		box-shadow var(--es-transition), background-color var(--es-transition);
}

.es-surface-dark .es-card,
.es-card--dark {
	background-color: var(--es-navy-raised);
	border: 1px solid var(--es-border-on-dark);
}

.es-surface-dark .es-card:hover,
.es-card--dark:hover {
	transform: translateY(-4px);
	border-color: var(--es-blue);
	box-shadow: var(--es-shadow-card-dark);
}

.es-surface-light .es-card,
.es-card--light {
	background-color: var(--es-white);
	border: 1px solid var(--es-border-on-light);
	box-shadow: var(--es-shadow-card-light);
}

.es-surface-light .es-card:hover,
.es-card--light:hover {
	transform: translateY(-4px);
	border-color: var(--es-blue);
	box-shadow: var(--es-shadow-card-light-hover);
}

.es-card--premium { border-radius: var(--es-radius-card-lg); }


/* --- 7. INLINE LINKS ---------------------------------------------------- */

.es-link {
	display: inline-flex;
	align-items: center;
	gap: var(--es-space-2);
	font-weight: 600;
	font-size: var(--es-text-small);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--es-transition), gap var(--es-transition);
}

.es-surface-dark .es-link { color: var(--es-teal); }
.es-surface-light .es-link { color: var(--es-teal-ink); }
.es-link:hover { gap: var(--es-space-3); }
.es-surface-dark .es-link:hover { color: var(--es-white); }
.es-surface-light .es-link:hover { color: var(--es-blue); }


/* --- 8. ACCESSIBILITY --------------------------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--es-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

:target { scroll-margin-top: var(--es-header-height); }


/* --- 9. MOTION ---------------------------------------------------------- */

.es-fade-up {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity var(--es-transition-slow), transform var(--es-transition-slow);
}

.es-fade-up.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {

	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}

	.es-fade-up { opacity: 1; transform: none; }
}


/* ==========================================================================
   10. SITE HEADER  (UAE header template)
   State 1: transparent over the hero.
   State 2: solid Deep Navy once scrolled past 60px.
   ========================================================================== */

.ehf-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background-color: transparent;
	border-bottom: 1px solid transparent;
	transition: background-color var(--es-transition), border-color var(--es-transition),
		box-shadow var(--es-transition);
}

/* LEGIBILITY SCRIM.
   While the header is transparent it still sits on a soft navy gradient, so
   white menu text always keeps contrast - over a dark hero, a photographic
   hero, or a light background. It reads as depth rather than a solid bar, so
   the transparent effect survives while the text visibility risk does not. */
.ehf-header::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient( to bottom,
		rgba(6, 24, 41, 0.78) 0%,
		rgba(6, 24, 41, 0.45) 55%,
		rgba(6, 24, 41, 0) 100% );
	pointer-events: none;
	opacity: 1;
	transition: opacity var(--es-transition);
}

/* Header content sits above the scrim */
.ehf-header > * {
	position: relative;
	z-index: 1;
}

/* SOLID STATE - once scrolled, OR on any page that is not the Home hero.
   This is the hard guarantee that menu text never lands on a light page. */
body.es-scrolled .ehf-header,
body:not(.home) .ehf-header {
	background-color: var(--es-navy);
	border-bottom-color: var(--es-border-on-dark);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
}

body.es-scrolled .ehf-header::before,
body:not(.home) .ehf-header::before {
	opacity: 0;
}

/* Clearance: the header is fixed, so pages without a full-bleed Elementor hero
   need top spacing or their first line hides beneath it. */
body:not(.home):not(.elementor-page) #main {
	padding-top: var(--es-header-height);
}

/* Header inner container */
.es-header-inner {
	min-height: var(--es-header-height);
	transition: min-height var(--es-transition);
}

/* Logo sizing and responsive swap */
/* Size the logo by HEIGHT, not width. The white and navy lockups have
   different aspect ratios (3.38:1 vs 5.58:1), so a fixed width would make one
   of them overflow the header. Height-based sizing always fits the bar. */
.es-logo img {
	height: 44px;
	width: auto;
	max-width: none;
	transition: height var(--es-transition);
}

.es-logo-icon { display: none; }
.es-logo-icon img { width: 38px; }

@media (max-width: 767px) {
	.es-logo-full { display: none; }
	.es-logo-icon { display: block; }
}


/* --- Navigation ---------------------------------------------------------- */

.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
.es-nav .hfe-nav-menu .menu-item a.hfe-sub-menu-item {
	font-family: var(--es-font-body);
	font-size: var(--es-text-nav);
	line-height: var(--es-lh-nav);
	font-weight: var(--es-weight-nav);
	color: var(--es-white);
	letter-spacing: 0.01em;
	position: relative;
	transition: color var(--es-transition);
}

.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.es-nav .hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item {
	color: var(--es-teal);
}

/* Cyber Teal underline on the active item */
.es-nav .hfe-nav-menu > .menu-item > a.hfe-menu-item::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	background-color: var(--es-teal);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--es-transition);
}

.es-nav .hfe-nav-menu > .menu-item > a.hfe-menu-item:hover::after,
.es-nav .hfe-nav-menu > .menu-item.current-menu-item > a.hfe-menu-item::after {
	transform: scaleX(1);
}

/* Dropdown submenus */
.es-nav .hfe-nav-menu .sub-menu {
	background-color: var(--es-navy);
	border: 1px solid var(--es-border-on-dark);
	border-radius: 12px;
	padding: 8px;
	box-shadow: var(--es-shadow-card-dark);
	overflow: hidden;
}

.es-nav .hfe-nav-menu .sub-menu .menu-item a.hfe-sub-menu-item {
	border-radius: 8px;
	padding: 10px 14px;
}

.es-nav .hfe-nav-menu .sub-menu .menu-item a.hfe-sub-menu-item:hover {
	background-color: var(--es-navy-raised);
	color: var(--es-teal);
}


/* --- Mobile off-canvas / dropdown ---------------------------------------- */

.es-nav .hfe-nav-menu__toggle,
.es-nav div.hfe-nav-menu-icon {
	color: var(--es-white);
}

.es-nav .menu-item a.hfe-menu-item,
.es-nav .menu-item a.hfe-sub-menu-item {
	padding: 10px 14px;
}

@media (max-width: 1024px) {

	.es-nav .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		background-color: var(--es-navy);
		border: 1px solid var(--es-border-on-dark);
		border-radius: 12px;
		padding: 8px;
	}

	.es-nav .hfe-nav-menu > .menu-item > a.hfe-menu-item::after {
		display: none;
	}
}


/* --- Header CTA button --------------------------------------------------- */

.es-header-cta .elementor-button {
	min-height: 44px;
	padding: 0 24px;
	border-radius: var(--es-radius-btn);
	font-size: var(--es-text-nav);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Skip link for keyboard and screen-reader users */
.es-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--es-blue);
	color: var(--es-white);
	padding: 12px 20px;
	border-radius: 0 0 8px 0;
}

.es-skip-link:focus {
	left: 0;
}

/* --- Header column proportions ------------------------------------------- */

.es-header-inner > .e-con,
.es-header-inner > .e-con-inner {
	flex: 0 0 auto;
	width: auto;
}

.es-header-inner > .es-nav {
	flex: 1 1 auto;
}

.es-header-inner .es-logo .elementor-widget-image,
.es-header-inner .es-header-cta .elementor-widget-button {
	width: auto;
}

.es-header-inner .elementor-widget-image a {
	display: block;
	line-height: 0;
}

/* OceanWP renders its own header markup; UAE replaces it, but hide any
   residual theme header just in case the hook order changes. */
#site-header:not(.ehf-header) {
	display: none;
}

/* The header is fixed and overlays the hero, so inner pages need clearance.
   The Home hero is full-height and sits under it by design. */
body:not(.home) .elementor-page > #main {
	padding-top: 0;
}

@media (max-width: 1024px) {

	.es-header-inner {
		min-height: 70px !important;
	}

	.es-header-inner > .es-nav {
		flex: 0 0 auto;
		order: 3;
	}

	.es-header-inner > .es-header-cta {
		order: 2;
	}
}

@media (max-width: 767px) {

	.es-header-inner {
		min-height: 60px !important;
		padding-left: 16px;
		padding-right: 16px;
	}

	/* Keep the primary CTA visible on mobile - it is the main conversion
	   element and hiding it entirely loses it, since Contact is deliberately
	   not in the nav. Compact it instead: icon logo + short button + toggle
	   fits comfortably inside 375px. */
	.es-header-inner > .es-header-cta .elementor-button {
		min-height: 38px;
		padding: 0 14px;
		font-size: 12px;
		letter-spacing: 0.06em;
	}

	.es-logo img {
		height: 34px;
	}
}

/* --- Header: element-ID bindings ----------------------------------------
   Elementor's optimized-markup mode does not emit custom classes on
   containers, so the header also binds to its stable element IDs.
   eshdr01 = header row | eshdr02 = logo | eshdr05 = nav | eshdr07 = CTA
   ------------------------------------------------------------------------ */

#masthead .elementor-element-eshdr01 {
	min-height: var(--es-header-height);
}

#masthead .elementor-element-eshdr02,
#masthead .elementor-element-eshdr07 {
	flex: 0 0 auto;
	width: auto;
}

#masthead .elementor-element-eshdr05 {
	flex: 1 1 auto;
}

#masthead .elementor-element-eshdr02 img { width: 190px; height: auto; }
#masthead .elementor-element-eshdr04 img { width: 38px; height: auto; }
#masthead .elementor-element-eshdr04 { display: none; }

#masthead .elementor-widget-image a { display: block; line-height: 0; }

/* Navigation typography and colour */
#masthead .hfe-nav-menu .menu-item a.hfe-menu-item,
#masthead .hfe-nav-menu .menu-item a.hfe-sub-menu-item {
	font-family: var(--es-font-body);
	font-size: var(--es-text-nav);
	line-height: var(--es-lh-nav);
	font-weight: var(--es-weight-nav);
	color: var(--es-white);
	transition: color var(--es-transition);
}

#masthead .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
#masthead .hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item {
	color: var(--es-teal);
}

#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 2px;
	height: 2px;
	background-color: var(--es-teal);
	transform: scaleX(0);
	transition: transform var(--es-transition);
}

#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item {
	position: relative;
}

#masthead .hfe-nav-menu > .menu-item > a.hfe-menu-item:hover::after,
#masthead .hfe-nav-menu > .menu-item.current-menu-item > a.hfe-menu-item::after {
	transform: scaleX(1);
}

/* Hamburger toggle colour */
#masthead .hfe-nav-menu-icon,
#masthead .hfe-nav-menu-icon svg,
#masthead button.hfe-nav-menu__toggle {
	color: var(--es-white);
	fill: var(--es-white);
}

/* Header CTA */
#masthead .elementor-element-eshdr08 .elementor-button {
	min-height: 44px;
	padding: 0 24px;
	border-radius: var(--es-radius-btn);
	font-size: var(--es-text-nav);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
}

@media (max-width: 1024px) {
	#masthead .elementor-element-eshdr05 { flex: 0 0 auto; order: 3; }
	#masthead .elementor-element-eshdr07 { order: 2; }
	#masthead .elementor-element-eshdr02 img { width: 165px; }
}

@media (max-width: 767px) {
	#masthead .elementor-element-eshdr03 { display: none; }
	#masthead .elementor-element-eshdr04 { display: block; }
	#masthead .elementor-element-eshdr07 { display: none; }
	#masthead .elementor-element-eshdr01 {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* ==========================================================================
   HEADER REFINEMENT - guaranteed menu legibility on every device
   ========================================================================== */

/* Mobile / tablet dropdown panel: always a solid navy sheet, never inheriting
   a light page background. This is the mobile counterpart of the scrim. */
@media (max-width: 1024px) {

	.es-nav .hfe-nav-menu__layout-horizontal .hfe-nav-menu,
	.es-nav .hfe-nav-menu-wrapper.hfe-active-menu .hfe-nav-menu {
		background-color: var(--es-navy);
		border: 1px solid var(--es-border-on-dark);
		border-radius: 14px;
		padding: 10px;
		margin-top: 10px;
		box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
	}

	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
	.es-nav .hfe-nav-menu .menu-item a.hfe-sub-menu-item {
		color: var(--es-white);
		border-radius: 8px;
		padding: 13px 16px;
	}

	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
	.es-nav .hfe-nav-menu .menu-item.current-menu-item a.hfe-menu-item {
		background-color: var(--es-navy-raised);
		color: var(--es-teal);
	}
}

/* Hamburger toggle - visible on any backdrop */
.es-nav .hfe-nav-menu__toggle,
.es-nav div.hfe-nav-menu-icon {
	color: var(--es-white);
	padding: 8px;
	border-radius: 8px;
	transition: color var(--es-transition), background-color var(--es-transition);
}

.es-nav .hfe-nav-menu__toggle:hover,
.es-nav div.hfe-nav-menu-icon:hover {
	color: var(--es-teal);
	background-color: rgba(255, 255, 255, 0.08);
}

/* Keyboard focus on nav links */
.es-nav a:focus-visible,
.es-header-cta a:focus-visible,
.es-logo a:focus-visible {
	outline: 2px solid var(--es-teal);
	outline-offset: 4px;
	border-radius: 4px;
}

/* Logo crispness: never let the theme or Elementor scale it up past source */
.es-logo img {
	max-height: 100%;
	object-fit: contain;
}


/* ES-MOBILE-V2 */
/* ==========================================================================
   HEADER - MID-WIDTH FIT + PREMIUM MOBILE
   Lives in the child theme so Elementor editor saves cannot overwrite it.
   ========================================================================== */

/* --- 1. Neutralise the inflated nav-container padding ------------------- */
.es-header-inner .es-nav { --padding-top: 0px; --padding-bottom: 0px; }

/* --- 2. Mid-width fit (1025-1366px) -------------------------------------
   Nine items at 18px overflow below ~1420px, so the type steps down here
   instead of wrapping. Above 1367px the full 17px scale applies. */
@media (min-width: 1025px) and (max-width: 1366px) {
	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item {
		font-size: 15px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

@media (min-width: 1367px) {
	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item {
		font-size: 17px !important;
		font-weight: 500 !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}
}

/* --- 3. MOBILE / TABLET (<=1024px) -------------------------------------- */
@media (max-width: 1024px) {

	/* Header bar: keep the brand lockup, not a bare icon. At 34px tall the
	   full logo is ~115px wide, which fits alongside the CTA and toggle. */
	.es-logo-full { display: block; }
	.es-logo-icon { display: none; }
	.es-logo img { height: 34px; }

	.es-header-inner { min-height: 68px; gap: 12px; }

	/* Toggle sits hard right, generous 44px tap target */
	.es-nav { flex: 0 0 auto; order: 3; }
	.es-nav .hfe-nav-menu__toggle,
	.es-nav div.hfe-nav-menu-icon {
		margin-left: auto !important;
		margin-right: 0 !important;
		min-width: 44px;
		min-height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 26px;
		color: var(--es-white);
	}

	/* CTA stays visible but compact */
	.es-header-cta { order: 2; }
	.es-header-cta .elementor-button {
		min-height: 40px;
		padding: 0 16px;
		font-size: 12px;
		letter-spacing: 0.06em;
		white-space: nowrap;
	}
}

/* --- 4. MOBILE MENU PANEL ----------------------------------------------
   A full-width navy sheet under the bar: generous rows, hairline dividers,
   large tap targets. Selectors are defensive because UAE emits slightly
   different wrappers depending on layout mode. */
@media (max-width: 1024px) {

	.es-nav .hfe-nav-menu-wrapper,
	.es-nav nav.hfe-nav-menu,
	.es-nav .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		background: linear-gradient(180deg, #0A2540 0%, #061829 100%) !important;
		border: 1px solid rgba(255,255,255,0.10) !important;
		border-radius: 16px !important;
		padding: 8px !important;
		margin-top: 12px !important;
		box-shadow: 0 24px 60px rgba(0,0,0,0.55) !important;
		max-height: calc(100vh - 120px);
		overflow-y: auto;
	}

	/* Rows */
	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
	.es-nav .hfe-nav-menu .menu-item a.hfe-sub-menu-item {
		font-size: 17px !important;
		font-weight: 500 !important;
		line-height: 1.4 !important;
		color: var(--es-white) !important;
		padding: 15px 18px !important;
		min-height: 52px;
		display: flex;
		align-items: center;
		border-radius: 10px;
		border-bottom: 1px solid rgba(255,255,255,0.06);
	}

	.es-nav .hfe-nav-menu > .menu-item:last-child > a.hfe-menu-item {
		border-bottom: 0;
	}

	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
	.es-nav .hfe-nav-menu .menu-item.current-menu-item > a.hfe-menu-item {
		background-color: rgba(255,255,255,0.06) !important;
		color: var(--es-teal) !important;
	}

	/* The desktop underline pointer has no place in a stacked list */
	.es-nav .hfe-nav-menu > .menu-item > a.hfe-menu-item::after { display: none !important; }

	/* Submenu rows sit inset and slightly dimmer */
	.es-nav .hfe-nav-menu .sub-menu a.hfe-sub-menu-item {
		font-size: 16px !important;
		color: var(--es-silver) !important;
		padding-left: 34px !important;
	}
}

/* --- 5. SMALL PHONES (<=400px) ------------------------------------------
   Below this the full lockup, CTA and toggle stop coexisting comfortably,
   so the icon mark takes over and the CTA shortens. */
@media (max-width: 400px) {
	.es-logo-full { display: none; }
	.es-logo-icon { display: block; }
	.es-logo img { height: 32px; width: auto; }
	.es-header-inner { min-height: 62px; padding-left: 14px; padding-right: 14px; gap: 8px; }
	.es-header-cta .elementor-button { padding: 0 12px; font-size: 11px; min-height: 38px; }
}

/* --- 6. Landscape phones: cap the panel so it never exceeds the screen -- */
@media (max-width: 1024px) and (orientation: landscape) {
	.es-nav .hfe-nav-menu-wrapper,
	.es-nav nav.hfe-nav-menu {
		max-height: calc(100vh - 90px);
	}
}

/* --- 7. Respect reduced motion ------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.ehf-header, .ehf-header::before, .es-nav .hfe-nav-menu { transition: none !important; }
}


/* ES-MOBILE-V3 */
/* ==========================================================================
   MOBILE HEADER - STRUCTURAL FIX
   The bar was wrapping into three stacked rows (logo / CTA / toggle) because
   Elementor sets --flex-wrap-mobile:wrap on containers. Force one compact row.
   ========================================================================== */
@media (max-width: 1024px) {

	.es-header-inner,
	.es-header-inner > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 64px !important;
		height: 64px !important;
		--flex-wrap-mobile: nowrap;
		--flex-direction: row;
		gap: 12px !important;
	}

	/* Kill the inherited vertical padding that was inflating the bar */
	.es-header-inner,
	.es-header-inner .es-nav,
	.es-header-inner .es-logo,
	.es-header-inner .es-header-cta {
		--padding-top: 0px !important;
		--padding-bottom: 0px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.es-header-inner .es-logo { flex: 0 0 auto !important; width: auto !important; order: 1; }
	.es-header-inner .es-nav  { flex: 0 0 auto !important; width: auto !important; order: 3; margin-left: auto !important; }

	/* Contact moves INTO the menu panel, so the bar stays logo + toggle only */
	.es-header-inner .es-header-cta { display: none !important; }
}

/* --- Toggle: keep it inside the bar, never floating mid-screen ---------- */
@media (max-width: 1024px) {

	.es-nav .hfe-nav-menu__toggle,
	.es-nav div.hfe-nav-menu-icon {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		margin: 0 !important;
		width: 44px;
		height: 44px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		font-size: 24px;
		color: var(--es-white) !important;
		background: transparent;
		border-radius: 8px;
	}

	/* The close (x) state sits in the same slot as the burger */
	.es-nav .hfe-nav-menu__toggle .hfe-nav-menu-close,
	.es-nav .hfe-nav-menu-icon svg,
	.es-nav .hfe-nav-menu-icon i {
		position: static !important;
		margin: 0 !important;
		font-size: 24px !important;
		color: var(--es-white) !important;
	}

	/* --- Menu sheet: docked directly under the bar, full width ------------ */
	.es-nav .hfe-nav-menu-wrapper,
	.es-nav nav.hfe-nav-menu,
	.es-nav .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		margin-top: 0 !important;
		border-radius: 0 0 18px 18px !important;
		padding: 6px 10px 14px !important;
		max-height: calc(100vh - 64px);
	}

	/* Tighter, more refined rows - was 15px/52px which read loose on phone */
	.es-nav .hfe-nav-menu .menu-item a.hfe-menu-item,
	.es-nav .hfe-nav-menu .menu-item a.hfe-sub-menu-item {
		font-size: 16px !important;
		font-weight: 500 !important;
		padding: 12px 14px !important;
		min-height: 46px !important;
		border-bottom: 1px solid rgba(255,255,255,0.07);
		border-radius: 8px;
	}
}

/* --- Contact Us rendered as a button at the foot of the mobile menu ----- */
@media (max-width: 1024px) {

	.es-nav .hfe-nav-menu .menu-item.es-menu-cta {
		margin-top: 14px;
		padding: 0 4px;
	}

	.es-nav .hfe-nav-menu .menu-item.es-menu-cta > a.hfe-menu-item {
		background-color: var(--es-blue) !important;
		color: var(--es-white) !important;
		justify-content: center !important;
		text-align: center;
		border: 0 !important;
		border-radius: var(--es-radius-btn) !important;
		min-height: 50px !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		letter-spacing: 0.06em;
		text-transform: uppercase;
	}

	.es-nav .hfe-nav-menu .menu-item.es-menu-cta > a.hfe-menu-item:hover {
		background-color: var(--es-blue-hover) !important;
		color: var(--es-white) !important;
	}

	.es-nav .hfe-nav-menu .menu-item.es-menu-cta > a.hfe-menu-item::after { display: none !important; }
}

/* Desktop keeps the header CTA button and hides the duplicate menu entry */
@media (min-width: 1025px) {
	.es-nav .hfe-nav-menu .menu-item.es-menu-cta { display: none !important; }
}


/* ES-LOGO-V4 */
.ehf-header .es-logo img,
.ehf-header .es-logo .elementor-widget-image img,
.ehf-header .es-logo .elementor-widget-image img {
	height: 40px !important;
	width: auto !important;
	max-width: none !important;
	max-height: 40px !important;
	object-fit: contain;
	display: block;
}

.ehf-header .es-logo,
.ehf-header .es-logo .elementor-widget-image,
.ehf-header .es-logo .elementor-widget-container,
.ehf-header .es-logo figure,
.ehf-header .es-logo a {
	width: auto !important;
	max-width: none !important;
	line-height: 0;
	display: flex;
	align-items: center;
}

.ehf-header .es-logo-icon { display: none !important; }
.ehf-header .es-logo-full { display: block !important; }

@media (max-width: 1024px) {
	.ehf-header .es-logo img,
	.ehf-header .es-logo .elementor-widget-image img {
		height: 32px !important;
		max-height: 32px !important;
	}
}

@media (max-width: 380px) {
	.ehf-header .es-logo img,
	.ehf-header .es-logo .elementor-widget-image img {
		height: 28px !important;
		max-height: 28px !important;
	}
}

/* Hide the OceanWP theme credit in the footer */
.site-footer .footer-bottom,
#footer-bottom,
.ocean-footer-credits,
#copyright {
	display: none !important;
}


/* ES-STACKED-V5 */
/* ==========================================================================
   MOBILE HEADER - STACKED LAYOUT
   Logo centred on top, navigation row beneath, per the approved reference.
   ========================================================================== */
@media (max-width: 1024px) {

	.es-header-inner,
	.es-header-inner > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 0 !important;
		padding: 14px 16px 0 !important;
		--flex-direction: column;
		--flex-wrap-mobile: nowrap;
	}

	/* Row 1 - the brand lockup, centred */
	.es-header-inner .es-logo {
		order: 1 !important;
		margin: 0 auto !important;
		justify-content: center !important;
	}

	.ehf-header .es-logo img,
	.ehf-header .es-logo .elementor-widget-image img {
		height: 36px !important;
		max-height: 36px !important;
	}

	/* Row 2 - full-width navigation row under a hairline divider */
	.es-header-inner .es-nav {
		order: 2 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 12px 0 0 !important;
		border-top: 1px solid rgba(255, 255, 255, 0.10);
		display: flex !important;
		justify-content: center !important;
		align-items: center !important;
	}

	.es-nav .hfe-nav-menu__toggle,
	.es-nav div.hfe-nav-menu-icon {
		margin: 4px auto !important;
	}
}

/* --- Scrolled state: collapse the stack into one compact bar -------------
   The stacked pattern costs vertical space, which matters most once the
   visitor starts reading. On scroll it folds to logo-left / toggle-right at
   58px, reclaiming roughly 50px of screen without losing the brand mark. */
@media (max-width: 1024px) {

	body.es-scrolled .es-header-inner,
	body.es-scrolled .es-header-inner > .e-con-inner {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
		min-height: 58px !important;
		--flex-direction: row;
	}

	body.es-scrolled .es-header-inner .es-logo {
		margin: 0 !important;
		justify-content: flex-start !important;
	}

	body.es-scrolled .ehf-header .es-logo img,
	body.es-scrolled .ehf-header .es-logo .elementor-widget-image img {
		height: 28px !important;
		max-height: 28px !important;
	}

	body.es-scrolled .es-header-inner .es-nav {
		width: auto !important;
		margin: 0 0 0 auto !important;
		border-top: 0 !important;
	}

	body.es-scrolled .es-nav .hfe-nav-menu__toggle,
	body.es-scrolled .es-nav div.hfe-nav-menu-icon {
		margin: 0 !important;
	}

	/* Smooth the fold */
	.es-header-inner,
	.ehf-header .es-logo img {
		transition: min-height var(--es-transition), padding var(--es-transition), height var(--es-transition);
	}
}

@media (prefers-reduced-motion: reduce) {
	.es-header-inner, .ehf-header .es-logo img { transition: none !important; }
}


/* ES-STACKED-V6 */
/* ==========================================================================
   MOBILE HEADER - FULL-WIDTH LOGO / TOGGLE LEFT / TRANSLATOR RIGHT
   Row 1: brand lockup across the full width.
   Row 2: hamburger left, GTranslate right.
   Achieved with wrap rather than column, so row 2 can hold two items.
   ========================================================================== */
@media (max-width: 1024px) {

	.es-header-inner,
	.es-header-inner > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		height: auto !important;
		min-height: 0 !important;
		gap: 0 !important;
		padding: 12px 16px 4px !important;
		--flex-direction: row;
		--flex-wrap-mobile: wrap;
	}

	/* Row 1 - logo spans the full width and forces the wrap */
	.es-header-inner .es-logo {
		order: 1 !important;
		flex: 0 0 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-content: center !important;
		margin: 0 0 10px !important;
	}

	.ehf-header .es-logo img,
	.ehf-header .es-logo .elementor-widget-image img {
		width: 100% !important;
		height: auto !important;
		max-width: 340px !important;
		max-height: 96px !important;
		margin: 0 auto !important;
	}

	/* Row 2 left - hamburger */
	.es-header-inner .es-nav {
		order: 2 !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 auto 0 0 !important;
		border-top: 0 !important;
		justify-content: flex-start !important;
	}

	.es-nav .hfe-nav-menu__toggle,
	.es-nav div.hfe-nav-menu-icon {
		margin: 0 !important;
	}

	/* Row 2 right - translator */
	.es-header-inner .es-lang {
		order: 3 !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
	}

	.es-header-inner .es-header-cta { display: none !important; }
}

/* --- GTranslate switcher styling ---------------------------------------- */
.es-lang .gtranslate_wrapper,
.es-lang .gt_selector,
.es-lang select.gt_selector {
	margin: 0 !important;
}

.es-lang select.gt_selector,
.es-lang .gt_selector {
	background-color: rgba(255, 255, 255, 0.06) !important;
	color: var(--es-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 8px !important;
	font-family: var(--es-font-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	padding: 9px 12px !important;
	line-height: 1.2 !important;
	min-height: 40px;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: border-color var(--es-transition), background-color var(--es-transition);
}

.es-lang select.gt_selector:hover,
.es-lang select.gt_selector:focus {
	border-color: var(--es-teal) !important;
	background-color: rgba(255, 255, 255, 0.12) !important;
	outline: none;
}

/* Option rows render with the OS palette, so force readable colours */
.es-lang select.gt_selector option {
	background-color: #0A2540 !important;
	color: #FFFFFF !important;
}

/* Desktop: sits to the right of the CTA, slightly recessed */
@media (min-width: 1025px) {
	.es-header-inner .es-lang {
		order: 4;
		flex: 0 0 auto;
		margin-left: 12px;
	}
	.es-lang select.gt_selector { font-size: 14px !important; }
}

/* Hide the plugin's floating widget - the header switcher replaces it */
body > .gtranslate_wrapper:not(.es-lang .gtranslate_wrapper) {
	display: none !important;
}


/* ES-ROW2-V7 */
/* ==========================================================================
   MOBILE ROW 2 - HAMBURGER LEFT + TRANSLATOR RIGHT, ON ONE LINE
   The switcher was rendering full-bleed and pushing itself onto a third row.
   Capping its width lets both items share row 2.
   ========================================================================== */
@media (max-width: 1024px) {

	/* Row 1 still forces the wrap; rows 2 items must not wrap again */
	.es-header-inner .es-nav,
	.es-header-inner .es-lang {
		flex: 0 0 auto !important;
		min-width: 0 !important;
	}

	.es-header-inner .es-nav {
		order: 2 !important;
		margin: 0 auto 0 0 !important;
		width: 44px !important;
	}

	.es-header-inner .es-lang {
		order: 3 !important;
		margin: 0 0 0 auto !important;
		width: auto !important;
		max-width: 178px !important;
	}

	.es-header-inner {
		padding-bottom: 12px !important;
		row-gap: 10px !important;
	}
}

/* --- Constrain the switcher itself at every breakpoint ------------------ */
.es-lang .gtranslate_wrapper,
.es-lang .gt_switcher_wrapper,
.es-lang .gt_switcher,
.es-lang .gt_selected {
	width: 100% !important;
	max-width: 178px !important;
	margin: 0 !important;
	float: none !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
}

/* --- GTranslate 'dropdown with flags' switcher - brand styling ----------
   This look renders as nested divs, not a <select>, so it needs its own
   rules. Default skin is light grey and clashes with the navy header. */

.es-lang .gt_switcher {
	font-family: var(--es-font-body) !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.es-lang .gt_switcher .gt_selected,
.es-lang .gt_switcher .gt_selected a {
	background-color: rgba(255, 255, 255, 0.08) !important;
	color: var(--es-white) !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 8px !important;
	height: auto !important;
	min-height: 40px !important;
	line-height: 38px !important;
	padding: 0 10px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	box-sizing: border-box !important;
	transition: border-color var(--es-transition), background-color var(--es-transition);
}

.es-lang .gt_switcher .gt_selected a:hover {
	border-color: var(--es-teal) !important;
	background-color: rgba(255, 255, 255, 0.14) !important;
	color: var(--es-white) !important;
}

/* The dropped list */
.es-lang .gt_switcher .gt_option {
	background-color: var(--es-navy) !important;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 10px !important;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5) !important;
	max-height: 260px !important;
	overflow-y: auto !important;
	width: 178px !important;
	z-index: 1200 !important;
	margin-top: 4px !important;
}

.es-lang .gt_switcher .gt_option a {
	background: transparent !important;
	color: var(--es-white) !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	padding: 11px 10px !important;
	height: auto !important;
	min-height: 40px !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px;
}

.es-lang .gt_switcher .gt_option a:hover {
	background-color: rgba(255, 255, 255, 0.10) !important;
	color: var(--es-teal) !important;
}

.es-lang .gt_switcher img {
	vertical-align: middle !important;
	margin-right: 6px !important;
	height: 14px !important;
	width: auto !important;
}


/* ES-HERO-V1 */
/* ==========================================================================
   HOMEPAGE HERO BANNER
   Background depth, typography and the animated globe are all CSS so the
   section stays fully editable in Elementor and ships almost no extra weight.
   ========================================================================== */

.es-hero {
	position: relative;
	overflow: hidden;
	background: radial-gradient(120% 90% at 78% 28%, #133A63 0%, #0A2540 45%, #061829 100%) !important;
}

/* Layer 1 - fine technology grid, very low contrast */
.es-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.028) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.028) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(80% 70% at 50% 45%, #000 0%, transparent 78%);
	-webkit-mask-image: radial-gradient(80% 70% at 50% 45%, #000 0%, transparent 78%);
	pointer-events: none;
	z-index: 0;
}

/* Layer 2 - drifting light particles */
.es-hero::after {
	content: "";
	position: absolute;
	inset: -20%;
	background-image:
		radial-gradient(1.5px 1.5px at 12% 22%, rgba(25,211,197,0.55) 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 28% 68%, rgba(20,115,230,0.50) 50%, transparent 51%),
		radial-gradient(1px 1px at 44% 34%, rgba(255,255,255,0.40) 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 62% 78%, rgba(25,211,197,0.40) 50%, transparent 51%),
		radial-gradient(1px 1px at 76% 18%, rgba(255,255,255,0.32) 50%, transparent 51%),
		radial-gradient(1.5px 1.5px at 88% 56%, rgba(20,115,230,0.42) 50%, transparent 51%),
		radial-gradient(1px 1px at 34% 88%, rgba(255,255,255,0.28) 50%, transparent 51%);
	animation: es-drift 46s ease-in-out infinite alternate;
	pointer-events: none;
	z-index: 0;
}

@keyframes es-drift {
	0%   { transform: translate3d(0, 0, 0) scale(1); opacity: 0.75; }
	100% { transform: translate3d(-26px, -34px, 0) scale(1.04); opacity: 1; }
}

.es-hero > * { position: relative; z-index: 1; }

/* --- Hero typography ---------------------------------------------------- */
.es-hero-title {
	margin: 0 !important;
	max-width: 15ch;
}

.es-hero-title .es-accent { color: var(--es-teal); }

.es-hero-lead p {
	margin: 0;
	max-width: 60ch;
}

.es-hero-trust {
	font-family: var(--es-font-body);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.04em;
	margin: 8px 0 0 !important;
	padding-top: 20px;
	border-top: 1px solid var(--es-border-on-dark);
	max-width: 520px;
}

/* --- Scroll cue ---------------------------------------------------------- */
.es-hero-scroll {
	font-family: var(--es-font-body);
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 !important;
	opacity: 0.75;
}

.es-hero-scroll::after {
	content: "";
	display: block;
	width: 1px;
	height: 34px;
	margin: 12px auto 0;
	background: linear-gradient(to bottom, var(--es-teal), transparent);
	animation: es-cue 2.6s ease-in-out infinite;
}

@keyframes es-cue {
	0%, 100% { opacity: 0.25; transform: scaleY(0.65); transform-origin: top; }
	50%      { opacity: 1;    transform: scaleY(1);    transform-origin: top; }
}

/* --- Entrance: staggered fade-up ---------------------------------------- */
.es-hero-title,
.es-hero-lead,
.es-hero-actions,
.es-hero-trust {
	animation: es-rise 900ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.es-hero-lead    { animation-delay: 120ms; }
.es-hero-actions { animation-delay: 240ms; }
.es-hero-trust   { animation-delay: 360ms; }

@keyframes es-rise {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

/* --- Animated digital globe (pure CSS, no image, no JS) ------------------ */
.es-hero-visual {
	position: relative;
	display: flex !important;
	align-items: center;
	justify-content: center;
}

/* The sphere: dotted longitude mesh + atmospheric rim */
.es-hero-visual::before {
	content: "";
	position: absolute;
	width: min(78%, 460px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background:
		radial-gradient(circle at 34% 30%, rgba(25,211,197,0.20) 0%, transparent 46%),
		radial-gradient(circle at 68% 72%, rgba(20,115,230,0.26) 0%, transparent 52%),
		repeating-radial-gradient(circle at 50% 50%, transparent 0 9px, rgba(120,190,255,0.10) 9px 10px),
		repeating-linear-gradient(90deg, transparent 0 13px, rgba(120,190,255,0.09) 13px 14px),
		radial-gradient(circle at 50% 50%, #0E2C4A 0%, #071C31 72%, #05121F 100%);
	box-shadow:
		inset 0 0 70px rgba(20,115,230,0.30),
		inset -18px -14px 90px rgba(0,0,0,0.62),
		0 0 90px rgba(20,115,230,0.24),
		0 0 190px rgba(25,211,197,0.10);
	animation: es-globe 64s linear infinite;
}

@keyframes es-globe {
	from { background-position: 0 0, 0 0, 0 0, 0 0, 0 0; }
	to   { background-position: 0 0, 0 0, 0 0, 520px 0, 0 0; }
}

/* Orbital ring - the network halo */
.es-hero-visual::after {
	content: "";
	position: absolute;
	width: min(96%, 570px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 1px solid rgba(25,211,197,0.20);
	border-top-color: rgba(25,211,197,0.60);
	border-right-color: rgba(20,115,230,0.42);
	animation: es-orbit 34s linear infinite;
	pointer-events: none;
}

@keyframes es-orbit {
	from { transform: rotate(0deg)   scaleY(0.42); }
	to   { transform: rotate(360deg) scaleY(0.42); }
}

@media (max-width: 1024px) {
	.es-hero-visual::before { width: min(62%, 340px); }
	.es-hero-visual::after  { width: min(76%, 420px); }
}

/* Motion preferences respected throughout */
@media (prefers-reduced-motion: reduce) {
	.es-hero::after,
	.es-hero-visual::before,
	.es-hero-visual::after,
	.es-hero-scroll::after,
	.es-hero-title,
	.es-hero-lead,
	.es-hero-actions,
	.es-hero-trust {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
}


/* ES-DESKTOP-LOCK */
/* ==========================================================================
   DESKTOP HEADER (>=1025px) - authoritative row layout
   Guarantees the horizontal bar even if the UAE widget loses its layout
   setting again, which has happened twice through Elementor editor saves.
   ========================================================================== */
@media (min-width: 1025px) {

	.ehf-header .es-header-inner,
	.ehf-header .es-header-inner > .e-con-inner {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		min-height: 80px !important;
		gap: 24px !important;
	}

	.ehf-header .es-logo       { order: 1 !important; flex: 0 0 auto !important; width: auto !important; }
	.ehf-header .es-nav        { order: 2 !important; flex: 1 1 auto !important; width: auto !important; display: flex !important; justify-content: center !important; }
	.ehf-header .es-header-cta { order: 3 !important; flex: 0 0 auto !important; width: auto !important; position: static !important; }
	.ehf-header .es-lang       { order: 4 !important; flex: 0 0 auto !important; width: auto !important; }

	/* Force the menu list horizontal */
	.ehf-header .hfe-nav-menu,
	.ehf-header ul.hfe-nav-menu {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.ehf-header .hfe-nav-menu > li.menu-item {
		display: block !important;
		width: auto !important;
		float: none !important;
		border: 0 !important;
	}

	.ehf-header .hfe-nav-menu > li.menu-item > a.hfe-menu-item {
		display: inline-flex !important;
		align-items: center !important;
		white-space: nowrap !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		color: var(--es-white) !important;
		padding: 10px 12px !important;
		min-height: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
	}

	.ehf-header .hfe-nav-menu > li.menu-item > a.hfe-menu-item:hover,
	.ehf-header .hfe-nav-menu > li.current-menu-item > a.hfe-menu-item {
		color: var(--es-teal) !important;
	}

	/* Mobile-only pieces stay hidden */
	.ehf-header .hfe-nav-menu__toggle,
	.ehf-header .hfe-nav-menu-icon,
	.ehf-header .hfe-nav-menu li.menu-item.es-menu-cta { display: none !important; }

	/* Submenus collapsed until hover */
	.ehf-header .hfe-nav-menu .sub-menu { display: none !important; }
	.ehf-header .hfe-nav-menu li.menu-item:hover > .sub-menu { display: block !important; }
}


/* ES-WHY-V1 */
/* ==========================================================================
   SECTION 2 - WHY EDGESPHERE
   ========================================================================== */
.es-why {
	position: relative;
	background: linear-gradient(180deg, #0A2540 0%, #0C2B4A 55%, #0A2540 100%) !important;
	overflow: hidden;
}

.es-why::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(60% 70% at 8% 30%, rgba(20,115,230,0.13) 0%, transparent 70%),
		radial-gradient(50% 60% at 92% 75%, rgba(25,211,197,0.09) 0%, transparent 72%);
	pointer-events: none;
}

.es-why > * { position: relative; z-index: 1; }

.es-why-title { margin: 0 !important; }

/* Pillars */
.es-pillar {
	padding: 0 !important;
	transition: transform var(--es-transition);
}

.es-pillar:hover { transform: translateY(-3px); }

.es-pillar-icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: rgba(25,211,197,0.09);
	border: 1px solid rgba(25,211,197,0.20);
	transition: background var(--es-transition), border-color var(--es-transition);
}

.es-pillar:hover .es-pillar-icon .elementor-icon {
	background: rgba(25,211,197,0.16);
	border-color: rgba(25,211,197,0.42);
}

.es-pillar-title {
	margin: 0 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

.es-pillar-text p { margin: 0; }

@media (max-width: 1024px) {
	.es-why-inner { gap: 40px !important; }
}


/* ==========================================================================
   SCROLL INTEGRITY GUARD
   A third-party script was leaving the document in a non-scrollable state on
   touch devices. These rules make vertical scrolling non-negotiable and stop
   any element from forcing horizontal overflow (which zooms the page out).
   ========================================================================== */

html,
body {
	height: auto !important;
	max-height: none !important;
	min-height: 0 !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	position: static !important;
	touch-action: pan-y pinch-zoom !important;
	-webkit-overflow-scrolling: touch;
}

#outer-wrap,
#wrap,
#main,
#content-wrap {
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	touch-action: auto !important;
}

/* Nothing may exceed the viewport width */
body,
#outer-wrap,
#wrap,
#main,
#content-wrap,
.elementor-page .e-con {
	max-width: 100% !important;
}

/* Boxed containers keep the global 1280px column so page and footer content align. */
.elementor-page .e-con-inner {
	max-width: var(--content-width, 1280px);
}

.elementor-page img,
.elementor-page svg {
	max-width: 100%;
}


/* ==========================================================================
   HERO MOTION
   Elegant, executive movement for the hero artwork. Pure CSS on the compositor
   (transform + opacity only), no JavaScript, no video payload. Applied via the
   .es-hero-motion class on the hero container, so it can be removed from
   Elementor at any time by deleting the class.
   ========================================================================== */

.es-hero-motion {
	overflow: hidden;
}

/* Keep hero content above the motion layers */
.es-hero-motion > .e-con-inner,
.es-hero-motion > .elementor-element {
	position: relative;
	z-index: 2;
}

/* 1. Signal sweep - a slow band of light crossing the globe, like a scan */
.es-hero-motion::after {
	content: "";
	position: absolute;
	inset: -10% -30%;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		104deg,
		transparent 40%,
		rgba(125, 211, 252, 0.10) 47%,
		rgba(255, 255, 255, 0.06) 50%,
		rgba(25, 211, 197, 0.09) 53%,
		transparent 60%
	);
	transform: translate3d(-46%, 0, 0);
	animation: esHeroSweep 17s cubic-bezier(.45, 0, .25, 1) infinite;
	will-change: transform, opacity;
}

@keyframes esHeroSweep {
	0%   { transform: translate3d(-46%, 0, 0); opacity: 0; }
	14%  { opacity: 1; }
	62%  { opacity: 1; }
	100% { transform: translate3d(46%, 0, 0); opacity: 0; }
}

/* 2. Atmosphere breathing - the globe's halo swells almost imperceptibly */
.es-hero-motion::before {
	animation: esHeroBreathe 14s ease-in-out infinite;
	will-change: opacity;
}

@keyframes esHeroBreathe {
	0%, 100% { filter: brightness(1); }
	50%      { filter: brightness(1.06); }
}

/* 3. Slow orbital drift of the artwork itself. Desktop only: on phones the
      portrait crop is tight and any drift would push the globe out of frame. */
@media (min-width: 1025px) {
	.es-hero-motion {
		animation: esHeroDrift 78s ease-in-out infinite;
		will-change: background-position;
	}

	@keyframes esHeroDrift {
		0%, 100% { background-position: 100% 50%; }
		50%      { background-position: 90% 44%; }
	}
}

@media (prefers-reduced-motion: reduce) {
	.es-hero-motion,
	.es-hero-motion::before,
	.es-hero-motion::after {
		animation: none !important;
	}
}


/* ==========================================================================
   SCROLL REVEAL
   Cards rise gently as they enter the viewport. Implemented with a CSS scroll
   timeline and wrapped in @supports, so browsers without it simply show the
   content immediately. Nothing is ever hidden by JavaScript, which is why this
   cannot repeat the entrance-animation failure.
   ========================================================================== */

@supports (animation-timeline: view()) {
	@media (prefers-reduced-motion: no-preference) {

		.es-reveal {
			animation: esReveal both;
			animation-timeline: view();
			animation-range: entry 5% cover 26%;
		}

		@keyframes esReveal {
			from {
				opacity: 0;
				transform: translate3d(0, 26px, 0);
			}
			to {
				opacity: 1;
				transform: none;
			}
		}
	}
}



/* ==========================================================================
   LANGUAGE SWITCHER
   Layout is handled by the header template's own container widths in Elementor.
   This block only restyles the plugin's native select, which ships with
   OS-dependent sizing and an inconsistent arrow.
   ========================================================================== */

.es-lang .gtranslate_wrapper,
.es-lang .gt_switcher_wrapper,
.es-lang .gt_switcher,
.es-lang .gt_selected,
.es-lang .elementor-widget-container {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	line-height: 1 !important;
	width: auto !important;
	max-width: 100% !important;
	float: none !important;
	position: static !important;
}

.es-lang select.gt_selector,
.es-lang .gt_selector {
	appearance: none !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	box-sizing: border-box !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	float: none !important;
	position: static !important;
	background-color: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.20) !important;
	border-radius: 8px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A8B3C2' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 14px 14px !important;
	color: #FFFFFF !important;
	font-family: var(--es-font-body) !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	cursor: pointer;
	box-shadow: none !important;
}

.es-lang select.gt_selector option { background-color: #0A2540 !important; color: #FFFFFF !important; }
.es-lang select.gt_selector:hover,
.es-lang select.gt_selector:focus { border-color: var(--es-teal) !important; outline: none; }

/* Desktop and tablet: compact, sits on its own row under the menu */
@media (min-width: 768px) {
	.es-lang select.gt_selector,
	.es-lang .gt_selector {
		height: 32px !important;
		font-size: 12.5px !important;
		padding: 0 30px 0 11px !important;
		background-color: rgba(255, 255, 255, 0.05) !important;
		border-color: rgba(255, 255, 255, 0.15) !important;
	}
}

/* Mobile: touch sized, capped so it always clears the gutter */
@media (max-width: 767px) {
	.es-lang select.gt_selector,
	.es-lang .gt_selector {
		height: 40px !important;
		font-size: 13.5px !important;
		padding: 0 32px 0 13px !important;
		max-width: 150px !important;
	}
}
@media (max-width: 380px) {
	.es-lang select.gt_selector,
	.es-lang .gt_selector { max-width: 124px !important; font-size: 12.5px !important; padding: 0 28px 0 11px !important; }
}


/* ===== HEADER v2 =====
   Mobile panel: every wrapper between the toggle and the header is forced to
   position:static so the panel's containing block is the header bar itself,
   then the panel is pinned edge to edge. Targets each wrapper UAE may emit. */

@media (min-width:1025px){
.es-hdr2 .es-lang{order:4 !important;}
.es-hdr2 .es-lang select.gt_selector{height:32px !important;font-size:12.5px !important;max-width:140px !important;}
.es-hdr2 li.es-menu-cta{display:none !important;}
}

@media (max-width:1024px){

.ehf-header,.es-hdr2,.es-hdr2 > .e-con-inner,.es-hdr2-nav,
.es-hdr2-nav .elementor-widget,.es-hdr2-nav .elementor-widget-container,
.es-hdr2 .hfe-nav-menu,.es-hdr2 .hfe-nav-menu-wrapper{overflow:visible !important;}

.es-hdr2{position:relative !important;}

.es-hdr2-nav,
.es-hdr2-nav .elementor-widget,
.es-hdr2-nav .elementor-widget-container,
.es-hdr2 .hfe-nav-menu,
.es-hdr2 .hfe-nav-menu.hfe-layout-horizontal,
.es-hdr2 .hfe-nav-menu-wrapper{position:static !important;}

.es-hdr2 nav.hfe-nav-menu__layout-horizontal,
.es-hdr2 nav.hfe-nav-menu__layout-vertical,
.es-hdr2 nav.hfe-nav-menu,
.es-hdr2 .hfe-nav-menu-wrapper > nav{
	position:absolute !important;
	top:100% !important;left:0 !important;right:0 !important;
	width:100% !important;min-width:100% !important;max-width:100vw !important;
	margin:0 !important;transform:none !important;inset-inline:0 !important;
	background-color:#0A2540 !important;
	border-top:1px solid rgba(255,255,255,0.10) !important;
	border-radius:0 0 16px 16px !important;
	box-shadow:0 26px 54px rgba(0,0,0,0.5) !important;
	padding:6px 0 26px !important;
	z-index:1200 !important;
	max-height:calc(100vh - 170px) !important;overflow-y:auto !important;
	-webkit-overflow-scrolling:touch;
	box-sizing:border-box !important;
}

.es-hdr2 nav ul.hfe-nav-menu{
	position:static !important;width:100% !important;min-width:0 !important;max-width:none !important;
	margin:0 !important;padding:0 !important;background:none !important;
	border:0 !important;box-shadow:none !important;
	display:block !important;float:none !important;
}
.es-hdr2 ul.hfe-nav-menu > li{width:100% !important;float:none !important;display:block !important;}
.es-hdr2 ul.hfe-nav-menu > li > a.hfe-menu-item{
	display:block !important;width:100% !important;
	font-size:16.5px !important;font-weight:500 !important;line-height:1.5 !important;
	padding:16px 24px !important;color:#FFFFFF !important;
	border-bottom:1px solid rgba(255,255,255,0.08) !important;
	box-sizing:border-box !important;white-space:normal !important;
}
.es-hdr2 ul.hfe-nav-menu > li > a.hfe-menu-item:hover,
.es-hdr2 ul.hfe-nav-menu > li.current-menu-item > a.hfe-menu-item{color:#19D3C5 !important;background-color:rgba(25,211,197,0.07) !important;}
.es-hdr2 ul.hfe-nav-menu > li > ul li a.hfe-sub-menu-item{font-size:15px !important;padding:13px 34px !important;}

.es-hdr2 ul.hfe-nav-menu > li.es-menu-cta{padding:20px 24px 10px !important;}
.es-hdr2 ul.hfe-nav-menu > li.es-menu-cta > a.hfe-menu-item{
	display:block !important;text-align:center !important;
	background-color:#1473E6 !important;color:#FFFFFF !important;
	border:0 !important;border-radius:8px !important;
	padding:15px 20px !important;font-size:14.5px !important;font-weight:600 !important;
	letter-spacing:.6px !important;text-transform:uppercase !important;
}
.es-hdr2 ul.hfe-nav-menu > li.es-menu-cta > a.hfe-menu-item:hover{background-color:#2C86F0 !important;}
.es-hdr2 .hfe-nav-menu__toggle{width:48px !important;height:48px !important;}
}

@media (min-width:768px) and (max-width:1024px){
.es-hdr2 .es-lang select.gt_selector{height:36px !important;font-size:13px !important;max-width:140px !important;}
}
@media (max-width:767px){
.es-hdr2 .es-lang select.gt_selector{height:40px !important;font-size:13.5px !important;max-width:150px !important;padding:0 32px 0 13px !important;}
}
@media (max-width:380px){
.es-hdr2 .es-lang select.gt_selector{max-width:126px !important;font-size:12.5px !important;padding:0 28px 0 11px !important;}
}

/* ===== HEADER v2 - mobile logo + rows =====
   Row 1: logo left, menu toggle right. Row 2: language switcher, right aligned
   directly beneath the toggle. The logo fills its column so it reads as large
   as the row allows on every handset. */
@media (max-width:767px){
.es-hdr2 .elementor-element-hdv03{width:100% !important;max-width:100% !important;}
.es-hdr2 .elementor-element-hdv03 img{width:100% !important;max-width:300px !important;height:auto !important;display:block !important;}
.es-hdr2 .es-hdr2-nav .hfe-nav-menu__toggle{margin-right:0 !important;}
}
@media (max-width:400px){
.es-hdr2 .elementor-element-hdv03 img{max-width:100% !important;}
}
/* ===== HEADER v2 - mobile refinements =====
   Row 1: logo hard left, menu toggle hard right, on one line.
   Row 2: language switcher, right aligned beneath the toggle.
   Logo sizing is declared here with high specificity because several retired
   header blocks earlier in this file still clamp image heights inside
   .ehf-header. */
@media (max-width:767px){
.ehf-header .es-hdr2{flex-wrap:wrap !important;}
.ehf-header .es-hdr2 > .e-con-inner{flex-wrap:wrap !important;align-items:center !important;}

.ehf-header .es-hdr2 .elementor-element-hdv02{justify-content:flex-start !important;align-items:center !important;padding:0 !important;border:0 !important;}
.ehf-header .es-hdr2 .elementor-element-hdv03,
.ehf-header .es-hdr2 .elementor-element-hdv03 .elementor-widget-container{text-align:left !important;width:100% !important;max-width:100% !important;}
.ehf-header .es-hdr2 .elementor-element-hdv03 a{display:block !important;width:100% !important;}
.ehf-header .es-hdr2 .elementor-element-hdv03 img{
	display:block !important;width:100% !important;height:auto !important;
	max-width:290px !important;max-height:none !important;
	margin-left:0 !important;margin-right:auto !important;
}

.ehf-header .es-hdr2 .es-hdr2-nav{justify-content:flex-end !important;padding:0 !important;}
.ehf-header .es-hdr2 .hfe-nav-menu.hfe-layout-horizontal{margin-left:auto !important;margin-right:0 !important;display:flex !important;justify-content:flex-end !important;}
.ehf-header .es-hdr2 .hfe-nav-menu__toggle{margin-left:auto !important;margin-right:0 !important;}

.ehf-header .es-hdr2 .es-lang{padding-top:2px !important;}
}
@media (max-width:400px){
.ehf-header .es-hdr2 .elementor-element-hdv03 img{max-width:250px !important;}
}
@media (max-width:360px){
.ehf-header .es-hdr2 .elementor-element-hdv03 img{max-width:222px !important;}
}


/* ===== Governance & Trust page ===== */
.es-trust-line{background:linear-gradient(90deg,rgba(25,211,197,0) 0%,rgba(25,211,197,.75) 50%,rgba(25,211,197,0) 100%)!important;height:1px;min-height:1px;}
@media(max-width:767px){.es-trust-line{display:none;}}
/* keep the governance card grids from crowding on small screens */
@media(max-width:480px){
  .es-gov-hero h1{letter-spacing:-.5px;}
}


/* --- gov polish v2 --- */
#governance-foundations,#governance-principles,#governance-in-action,#trust-assurance,#partner-with-confidence,#partnership-ecosystem,#partner-ecosystem,#partnership-approach,#partner-with-edgesphere,#lets-build-together,#explore-insights,#featured-insights,#research-spotlight,#stay-informed,#insight-to-action{scroll-margin-top:104px;}
@media(max-width:767px){#governance-foundations,#governance-principles,#governance-in-action,#trust-assurance,#partner-with-confidence,#partnership-ecosystem,#partner-ecosystem,#partnership-approach,#partner-with-edgesphere,#lets-build-together,#explore-insights,#featured-insights,#research-spotlight,#stay-informed,#insight-to-action{scroll-margin-top:82px;}}
/* push commitment / pull-quote blocks to the foot of their card so rows align */
.es-card-foot{margin-top:auto!important;}
/* stop headlines breaking to a single orphan word */
.es-gov-hero h1,#governance-foundations h2,#governance-principles h2,#governance-in-action h2,#trust-assurance h2,#partner-with-confidence h2{text-wrap:balance;}
#governance-foundations h3,#governance-principles h3,#governance-in-action h3,#trust-assurance h3{text-wrap:balance;}
/* keep the assurance chain readable when it wraps on small screens */
@media(max-width:600px){#trust-assurance .elementor-widget-text-editor p{overflow-wrap:break-word;}}


/* --- footer divider --- */
/* Illuminated hairline where the page meets the footer. Electric Blue through
   Cyber Teal, fading out at both edges so it reads as light, not as a border. */
#colophon .footer-width-fixer > .elementor > .e-con.e-parent:first-child,
#colophon .elementor-element-esftrg01 {
	border-top: 0 !important;
	position: relative;
}

#colophon .elementor-element-esftrg01::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	pointer-events: none;
	background: linear-gradient(90deg,
		rgba(25,211,197,0) 0%,
		rgba(20,115,230,.45) 28%,
		rgba(25,211,197,.70) 50%,
		rgba(20,115,230,.45) 72%,
		rgba(25,211,197,0) 100%);
}


/* --- body/footer seam --- */
/* The theme wrapper chain adds its own spacing below the last Elementor
   section, which showed as a white band above the footer on mobile.
   Collapse every wrapper so sections meet the footer directly. */
.elementor-page #main,
.elementor-page #content-wrap,
.elementor-page #primary,
.elementor-page #content,
.elementor-page .content-area,
.elementor-page article.page,
.elementor-page .entry-content {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.elementor-page #content > article:last-child,
.elementor-page .entry-content > *:last-child,
.elementor-page #content-wrap > *:last-child {
	margin-bottom: 0 !important;
}

/* Safety net: the page background is navy, so no residual seam, rubber-band
   overscroll or sub-pixel rounding can ever flash white against the footer. */
body.elementor-page,
.elementor-page #outer-wrap,
.elementor-page #wrap {
	background-color: #061829;
}


/* --- insights page --- */
#stay-informed .wpforms-container{margin:0 !important;padding:0 !important;}
#stay-informed .wpforms-form{display:flex;flex-wrap:nowrap;align-items:stretch;}
#stay-informed .wpforms-field-container{flex:1;min-width:0;}
#stay-informed .wpforms-field{padding:0 !important;margin:0 !important;}
#stay-informed .wpforms-field-label,#stay-informed .wpforms-required-label{display:none !important;}
#stay-informed .wpforms-form input[type=email]{width:100% !important;max-width:none !important;height:48px;margin:0 !important;padding:0 16px;border:1px solid rgba(255,255,255,.22) !important;border-right:0 !important;border-radius:6px 0 0 6px;background:rgba(255,255,255,.06) !important;color:#fff !important;font-family:Inter,sans-serif;font-size:13.5px;box-shadow:none !important;}
#stay-informed .wpforms-form input[type=email]::placeholder{color:#8FA2B8;}
#stay-informed .wpforms-form input[type=email]:focus{border-color:#19D3C5 !important;outline:none;}
#stay-informed .wpforms-submit-container{padding:0 !important;margin:0 !important;flex:none;}
#stay-informed .wpforms-form button[type=submit]{height:48px;margin:0 !important;padding:0 26px;border:0 !important;border-radius:0 6px 6px 0;background:#19D3C5 !important;color:#06253F !important;font-family:Inter,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:.5px;cursor:pointer;transition:background .2s;}
#stay-informed .wpforms-form button[type=submit]:hover{background:#3FE3D6 !important;}
#stay-informed .wpforms-confirmation-container-full{background:rgba(25,211,197,.10) !important;border:1px solid rgba(25,211,197,.45) !important;color:#fff !important;border-radius:6px;}
#stay-informed .wpforms-error{color:#FFB4A8 !important;font-size:12px;}
@media(min-width:1025px){.es-ins-topics{position:relative;}.es-ins-topics::before{content:"";position:absolute;top:0;bottom:0;left:100%;width:50vw;background:#061829;}}
@media(max-width:640px){#stay-informed .wpforms-form{flex-wrap:wrap;}#stay-informed .wpforms-field-container{flex:1 0 100%;}#stay-informed .wpforms-form input[type=email]{border-right:1px solid rgba(255,255,255,.22) !important;border-radius:6px;}#stay-informed .wpforms-submit-container{flex:1 0 100%;margin-top:10px !important;}#stay-informed .wpforms-form button[type=submit]{width:100%;border-radius:6px;}}


/* --- insight article pages --- */
.single-post{background:#FFFFFF;}
.single-post #main #content-wrap{padding-top:56px;padding-bottom:72px;background:#FFFFFF;}
.single-post .content-area{width:100% !important;max-width:none !important;padding-right:0 !important;border:0 !important;float:none !important;}
.single-post #content{max-width:760px;margin:0 auto;}
.single-post .thumbnail{margin:0 auto 34px;max-width:1000px;}
.single-post .thumbnail img{width:100%;height:auto;border-radius:14px;}
.single-post .entry-title,.single-post h1.page-header-title{font-family:Montserrat,sans-serif !important;font-weight:700 !important;color:#0A2540 !important;font-size:34px !important;line-height:1.2 !important;letter-spacing:-.5px;margin-bottom:14px !important;}
.single-post .entry-content{font-family:Inter,sans-serif;color:#3C4E66;font-size:16.5px;line-height:1.85;}
.single-post .entry-content p{margin:0 0 20px;color:#3C4E66;}
.single-post .entry-content h2{font-family:Montserrat,sans-serif;font-weight:700;color:#0A2540;font-size:23px;line-height:1.3;margin:38px 0 14px;}
.single-post .entry-content h3{font-family:Montserrat,sans-serif;font-weight:700;color:#0A2540;font-size:17.5px;line-height:1.35;margin:28px 0 10px;}
.single-post .entry-content ul,.single-post .entry-content ol{margin:0 0 22px;padding-left:22px;color:#3C4E66;}
.single-post .entry-content li{margin-bottom:9px;line-height:1.8;}
.single-post .entry-content strong{color:#0A2540;font-weight:600;}
.single-post .entry-content a{color:#0E8C82;text-decoration:underline;}
.single-post .meta,.single-post .meta a,.single-post .meta li,.single-post .meta span{color:#7186A0 !important;font-family:Inter,sans-serif;font-size:12.5px;}
.single-post .meta a:hover{color:#0E8C82 !important;}
.single-post .post-tags,.single-post .entry-share{border-top:1px solid rgba(10,37,64,.10);padding-top:20px;margin-top:34px;}
.single-post .post-navigation a{color:#0A2540 !important;font-family:Inter,sans-serif;}
.single-post .post-navigation a:hover{color:#0E8C82 !important;}
@media(max-width:767px){.single-post #main #content-wrap{padding-top:36px;padding-bottom:48px;}.single-post .entry-title{font-size:26px !important;}.single-post .entry-content{font-size:15.5px;}.single-post .entry-content h2{font-size:20px;}}

/* --- whole-card links --- */
.es-linkcard{position:relative;}
.es-stretch-wrap{position:static !important;margin:0 !important;padding:0 !important;}
.es-stretch-wrap .elementor-widget-container{position:static !important;}
.es-stretch-wrap p{margin:0 !important;}
a.es-stretch{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:block;text-indent:-9999px;overflow:hidden;}
.es-linkcard .elementor-heading-title a{position:relative;z-index:5;}
.es-linkcard .elementor-heading-title a:hover{color:#0E8C82;}




/* ===== ES-INVESTORS: enquiry form on deep navy ===== */
.es-inv-formpanel .wpforms-field-label{font-family:'Inter',sans-serif!important;font-size:13px!important;font-weight:600!important;letter-spacing:.4px;color:#C3CEDC!important;margin-bottom:7px!important;}
.es-inv-formpanel .wpforms-required-label{color:#19D3C5!important;}
.es-inv-formpanel .wpforms-field-description{color:#8195AC!important;font-size:12.5px!important;}
.es-inv-formpanel input[type=text],.es-inv-formpanel input[type=email],.es-inv-formpanel select,.es-inv-formpanel textarea{width:100%!important;max-width:100%!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:8px!important;color:#FFFFFF!important;font-family:'Inter',sans-serif!important;font-size:15px!important;padding:13px 15px!important;box-shadow:none!important;transition:border-color .18s ease,background .18s ease;}
.es-inv-formpanel textarea{min-height:132px!important;line-height:1.7!important;}
.es-inv-formpanel input::placeholder,.es-inv-formpanel textarea::placeholder{color:#7B8CA3!important;}
.es-inv-formpanel input:focus,.es-inv-formpanel select:focus,.es-inv-formpanel textarea:focus{border-color:#1473E6!important;background:rgba(255,255,255,.08)!important;outline:none!important;}
.es-inv-formpanel select option{background:#0A2540;color:#FFFFFF;}
.es-inv-formpanel .wpforms-field{padding:0 0 18px 0!important;}
.es-inv-formpanel .wpforms-submit{background:#1473E6!important;border:none!important;border-radius:8px!important;color:#fff!important;font-family:'Inter',sans-serif!important;font-weight:600!important;font-size:15px!important;padding:16px 34px!important;cursor:pointer;transition:background .18s ease;}
.es-inv-formpanel .wpforms-submit:hover{background:#2C86F0!important;}
.es-inv-formpanel .wpforms-submit-container{padding-top:6px!important;}
.es-inv-formpanel .wpforms-error{color:#FFB4A8!important;font-size:12.5px!important;}
.es-inv-formpanel .wpforms-confirmation-container-full{background:rgba(25,211,197,.10)!important;border:1px solid rgba(25,211,197,.45)!important;border-radius:10px;color:#EAF2FA!important;}
@media(max-width:767px){.es-inv-formpanel .wpforms-submit{width:100%!important;}}

/* ===== ES-CAREERS ===== */
.es-car-oppcard{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.es-car-oppcard:hover{transform:translateY(-4px);border-color:#19D3C5!important;box-shadow:0 14px 34px rgba(10,37,64,.10);}
.es-car-oppcard .elementor-icon{transition:transform .22s ease;}
.es-car-oppcard:hover .elementor-icon{transform:scale(1.08);}
.es-car-formpanel .wpforms-field-label{font-family:'Inter',sans-serif!important;font-size:13px!important;font-weight:600!important;color:#0A2540!important;margin-bottom:7px!important;}
.es-car-formpanel .wpforms-required-label{color:#0E8C82!important;}
.es-car-formpanel .wpforms-field-description{color:#7A8CA3!important;font-size:12.5px!important;line-height:1.6!important;}
.es-car-formpanel input[type=text],.es-car-formpanel input[type=email],.es-car-formpanel select,.es-car-formpanel textarea{width:100%!important;max-width:100%!important;background:#FBFCFE!important;border:1px solid #DCE4EE!important;border-radius:8px!important;color:#0A2540!important;font-family:'Inter',sans-serif!important;font-size:15px!important;padding:13px 15px!important;box-shadow:none!important;transition:border-color .18s ease;}
.es-car-formpanel textarea{min-height:130px!important;line-height:1.7!important;}
.es-car-formpanel input:focus,.es-car-formpanel select:focus,.es-car-formpanel textarea:focus{border-color:#0E8C82!important;background:#FFFFFF!important;outline:none!important;}
.es-car-formpanel .wpforms-field{padding:0 0 18px 0!important;}
.es-car-formpanel .wpforms-submit{background:#19D3C5!important;border:none!important;border-radius:8px!important;color:#04121F!important;font-family:'Inter',sans-serif!important;font-weight:700!important;font-size:15px!important;padding:16px 34px!important;cursor:pointer;transition:background .18s ease;}
.es-car-formpanel .wpforms-submit:hover{background:#14B8AC!important;}
@media(max-width:767px){.es-car-formpanel .wpforms-submit{width:100%!important;}}

/* ===== ES-CONTACT ===== */
.es-con-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.es-con-card:hover{transform:translateY(-4px);border-color:#19D3C5!important;box-shadow:0 14px 34px rgba(10,37,64,.10);}
.es-con-card .elementor-icon{transition:background .22s ease,color .22s ease;}
.es-con-card:hover .elementor-icon{background-color:#0E8C82!important;color:#FFFFFF!important;}
.es-con-formpanel .wpforms-field-label{font-family:'Inter',sans-serif!important;font-size:13px!important;font-weight:600!important;color:#0A2540!important;margin-bottom:7px!important;}
.es-con-formpanel .wpforms-required-label{color:#D64545!important;}
.es-con-formpanel input[type=text],.es-con-formpanel input[type=email],.es-con-formpanel select,.es-con-formpanel textarea{width:100%!important;max-width:100%!important;background:#FFFFFF!important;border:1px solid #DCE4EE!important;border-radius:6px!important;color:#0A2540!important;font-family:'Inter',sans-serif!important;font-size:14.5px!important;padding:13px 14px!important;box-shadow:none!important;transition:border-color .18s ease,box-shadow .18s ease;}
.es-con-formpanel textarea{min-height:112px!important;line-height:1.7!important;}
.es-con-formpanel input::placeholder,.es-con-formpanel textarea::placeholder{color:#9AA9BC!important;}
.es-con-formpanel input:focus,.es-con-formpanel select:focus,.es-con-formpanel textarea:focus{border-color:#1473E6!important;box-shadow:0 0 0 3px rgba(20,115,230,.10)!important;outline:none!important;}
.es-con-formpanel .wpforms-field{padding:0 0 16px 0!important;}
.es-con-formpanel .wpforms-submit{width:100%!important;background:#0A2540!important;border:none!important;border-radius:6px!important;color:#fff!important;font-family:'Inter',sans-serif!important;font-weight:700!important;font-size:13px!important;letter-spacing:.9px;text-transform:uppercase;padding:17px 30px!important;cursor:pointer;transition:background .18s ease;}
.es-con-formpanel .wpforms-submit:hover{background:#1473E6!important;}
.es-con-formpanel .wpforms-confirmation-container-full{background:rgba(25,211,197,.10)!important;border:1px solid rgba(25,211,197,.5)!important;border-radius:10px;color:#0A2540!important;}

/* ===== ES-CONTACT FORM :: MOBILE ===== */
.es-con-formpanel .wpforms-container{margin:0!important;}
.es-con-formpanel .wpforms-field-container{display:flex;flex-wrap:wrap;gap:0 20px;}
.es-con-formpanel .wpforms-field{width:100%;flex:0 0 100%;}
.es-con-formpanel .wpforms-field.wpforms-one-half{flex:0 0 calc(50% - 10px);width:calc(50% - 10px);margin:0!important;clear:none!important;float:none!important;}
.es-con-formpanel .wpforms-field-label{display:block;}
@media only screen and (max-width:880px){
 .es-con-formpanel .wpforms-field-container{gap:0;}
 .es-con-formpanel .wpforms-field.wpforms-one-half{flex:0 0 100%!important;width:100%!important;}
 .es-con-formpanel .wpforms-field-label{min-height:0!important;font-size:13.5px!important;margin-bottom:8px!important;}
 .es-con-formpanel .wpforms-field{padding:0 0 18px 0!important;}
 .es-con-formpanel input[type=text],.es-con-formpanel input[type=email],.es-con-formpanel select,.es-con-formpanel textarea{font-size:16px!important;min-height:52px!important;padding:14px 15px!important;border-radius:8px!important;}
 .es-con-formpanel textarea{min-height:132px!important;}
 .es-con-formpanel .wpforms-submit{min-height:54px!important;font-size:13.5px!important;letter-spacing:1px!important;border-radius:8px!important;}
}
/* selects */
.es-con-formpanel select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235A6E88' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important;padding-right:40px!important;cursor:pointer;}
.es-con-formpanel select:invalid,.es-con-formpanel select option[value=""]{color:#9AA9BC;}
.es-con-formpanel input:hover,.es-con-formpanel select:hover,.es-con-formpanel textarea:hover{border-color:#B9C6D6!important;}
.es-con-formpanel textarea{resize:vertical;}
/* validation */
.es-con-formpanel .wpforms-error{color:#C0392B!important;font-size:12.5px!important;margin-top:6px!important;font-family:'Inter',sans-serif!important;}
.es-con-formpanel input.wpforms-error,.es-con-formpanel select.wpforms-error,.es-con-formpanel textarea.wpforms-error{border-color:#E0A2A2!important;background:#FEF8F8!important;}
/* submit */
.es-con-formpanel .wpforms-submit-container{padding-top:4px!important;margin:0!important;}
.es-con-formpanel .wpforms-submit:active{transform:translateY(1px);}
.es-con-formpanel .wpforms-submit[disabled]{opacity:.6;cursor:not-allowed;}

.es-con-formpanel .wpforms-one-half .wpforms-field-label{min-height:2.6em;}
@media only screen and (max-width:880px){.es-con-formpanel .wpforms-one-half .wpforms-field-label{min-height:0!important;}}

/* ===== ES-LEGAL PAGES ===== */
.es-legal-body{font-family:'Inter',sans-serif;}
.es-legal-body p.es-lead{font-size:17px;line-height:1.75;color:#0A2540;font-weight:500;margin:0 0 34px;padding-bottom:26px;border-bottom:1px solid #E4EAF2;}
.es-legal-body h2{font-family:'Montserrat',sans-serif;font-size:21px;font-weight:700;color:#0A2540;line-height:1.3;margin:44px 0 14px;letter-spacing:-0.2px;}
.es-legal-body h2:first-child{margin-top:0;}
.es-legal-body h3{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:700;color:#0E8C82;line-height:1.35;margin:28px 0 10px;}
.es-legal-body p{margin:0 0 16px;}
.es-legal-body ul{margin:0 0 18px;padding-left:0;list-style:none;}
.es-legal-body ul li{position:relative;padding-left:22px;margin-bottom:10px;line-height:1.75;}
.es-legal-body ul li:before{content:'';position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:#19D3C5;}
.es-legal-body strong{color:#0A2540;font-weight:600;}
.es-legal-body a{color:#1473E6;text-decoration:none;border-bottom:1px solid rgba(20,115,230,.32);transition:color .18s ease,border-color .18s ease;}
.es-legal-body a:hover{color:#0E8C82;border-color:#0E8C82;}
@media(max-width:767px){
 .es-legal-body{font-size:15px;line-height:1.8;}
 .es-legal-body p.es-lead{font-size:15.5px;margin-bottom:28px;padding-bottom:22px;}
 .es-legal-body h2{font-size:18.5px;margin:34px 0 12px;}
 .es-legal-body h3{font-size:15px;margin:22px 0 8px;}
 .es-legal-body ul li{padding-left:19px;margin-bottom:9px;}
 .es-legal-body a{word-break:break-word;overflow-wrap:anywhere;}
}
@media(max-width:767px){
 .page .entry-content>*:not(.elementor):not(.e-con){padding-left:22px!important;padding-right:22px!important;}
 .page .elementor-widget-theme-post-content>.elementor-widget-container{padding-left:0;padding-right:0;}
}

/* ===== ES-INVESTORS :: growth sequence chips ===== */
.es-inv-chiprow{align-items:stretch;}
.es-inv-chip{width:auto!important;max-width:100%;flex:0 0 auto!important;white-space:nowrap;transition:border-color .2s ease,background .2s ease,transform .2s ease;}
.es-inv-chip:hover{border-color:#19D3C5!important;background:#10375C!important;transform:translateY(-2px);}
.es-inv-chip .elementor-widget{width:auto;}
.es-inv-chip .elementor-heading-title{white-space:nowrap;}
@media(max-width:767px){.es-inv-chip{white-space:normal;}.es-inv-chip .elementor-heading-title{white-space:normal;}}

/* ===== ES-INVESTORS :: enquiry form v2 ===== */
.es-inv-formpanel .wpforms-container{margin:0!important;}
.es-inv-formpanel .wpforms-field{padding:0 0 16px 0!important;}
.es-inv-formpanel input[type=text],.es-inv-formpanel input[type=email],.es-inv-formpanel textarea,.es-inv-formpanel select{box-sizing:border-box!important;height:auto!important;min-height:52px!important;line-height:1.5!important;padding:14px 15px!important;font-size:15px!important;border-radius:8px!important;}
.es-inv-formpanel select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2319D3C5' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important;padding-right:42px!important;text-overflow:ellipsis;cursor:pointer;}
.es-inv-formpanel select::-ms-expand{display:none;}
.es-inv-formpanel textarea{min-height:120px!important;}
.es-inv-formpanel .wpforms-submit{width:100%!important;min-height:54px!important;}
@media only screen and (max-width:1024px){
 .es-inv-formpanel .wpforms-submit{min-height:56px!important;}
}
@media only screen and (max-width:767px){
 .es-inv-formpanel input[type=text],.es-inv-formpanel input[type=email],.es-inv-formpanel textarea,.es-inv-formpanel select{font-size:16px!important;min-height:54px!important;}
 .es-inv-formpanel .wpforms-field-label{font-size:13.5px!important;}
 .es-inv-formpanel textarea{min-height:130px!important;}
}
.es-car-formpanel select,.es-con-formpanel select,.es-car-formpanel input,.es-con-formpanel input,.es-car-formpanel textarea,.es-con-formpanel textarea{box-sizing:border-box!important;height:auto!important;line-height:1.5!important;}
.es-car-formpanel select{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;padding-right:42px!important;text-overflow:ellipsis;}
.es-con-formpanel select,.es-inv-formpanel select{text-overflow:ellipsis;}

/* ===== ES-INVESTORS :: enquiry form card ===== */
.es-inv-formcard{box-shadow:0 18px 40px rgba(0,0,0,.22);}
.es-inv-formcard .wpforms-container{margin:0!important;}
.es-inv-formcard .wpforms-field:last-of-type{padding-bottom:8px!important;}
.es-inv-formcard .wpforms-submit-container{padding-top:6px!important;margin-top:4px!important;border-top:1px solid rgba(255,255,255,.09);padding-top:20px!important;}
@media only screen and (max-width:1024px){
 .es-inv-formcard{margin-top:4px;}
}
@media only screen and (max-width:767px){
 .es-inv-formcard{box-shadow:0 10px 26px rgba(0,0,0,.26);}
 .es-inv-formpanel{border-radius:14px!important;}
}

/* ===== ES-INVESTORS :: field sizing refinement ===== */
.es-inv-formpanel .wpforms-field{padding:0 0 20px 0!important;}
.es-inv-formpanel .wpforms-field-label{font-size:13px!important;margin-bottom:9px!important;letter-spacing:.3px;}
.es-inv-formpanel input[type=text],.es-inv-formpanel input[type=email],.es-inv-formpanel select,.es-inv-formpanel textarea{min-height:56px!important;padding:16px 17px!important;font-size:15.5px!important;border-radius:9px!important;}
.es-inv-formpanel select{padding-right:44px!important;background-position:right 17px center!important;}
.es-inv-formpanel textarea{min-height:130px!important;padding:16px 17px!important;}
.es-inv-formpanel .wpforms-submit{min-height:58px!important;font-size:15px!important;border-radius:9px!important;}
@media only screen and (max-width:767px){
 .es-inv-formpanel .wpforms-field{padding:0 0 18px 0!important;}
 .es-inv-formpanel input[type=text],.es-inv-formpanel input[type=email],.es-inv-formpanel select,.es-inv-formpanel textarea{min-height:58px!important;padding:17px 16px!important;font-size:16px!important;}
 .es-inv-formpanel textarea{min-height:140px!important;}
 .es-inv-formpanel .wpforms-submit{min-height:60px!important;font-size:15.5px!important;}
 .es-inv-formpanel .wpforms-field-label{font-size:13.5px!important;}
}

/* ===== ES-EDITORIAL :: posts, archives, search ===== */
.single-post .page-header,.archive .page-header,.search .page-header,.blog .page-header{background:radial-gradient(circle at 50% 50%,#0C2E52 0%,#061829 100%)!important;border:none!important;padding:86px 27px 66px!important;}
.single-post .page-header-title,.archive .page-header-title,.search .page-header-title,.blog .page-header-title{font-family:'Montserrat',sans-serif!important;font-weight:700!important;font-size:38px!important;line-height:1.2!important;color:#FFFFFF!important;letter-spacing:-.6px;max-width:900px;margin:0 auto!important;}
.single-post .site-breadcrumbs,.archive .site-breadcrumbs,.search .site-breadcrumbs{color:#8195AC!important;font-family:'Inter',sans-serif!important;font-size:13px!important;}
.single-post .site-breadcrumbs a,.archive .site-breadcrumbs a{color:#19D3C5!important;}
.single-post #content-wrap,.archive #content-wrap,.search #content-wrap,.blog #content-wrap{background:#FFFFFF;padding-top:64px!important;padding-bottom:76px!important;}
.single-post .entry-content{max-width:820px;margin:0 auto;font-family:'Inter',sans-serif;font-size:16px;line-height:1.85;color:#3F5470;}
.single-post .entry-content h2{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:700;color:#0A2540;margin:42px 0 14px;line-height:1.3;}
.single-post .entry-content h3{font-family:'Montserrat',sans-serif;font-size:17px;font-weight:700;color:#0E8C82;margin:28px 0 10px;}
.single-post .entry-content p{margin:0 0 18px;}
.single-post .entry-content a{color:#1473E6;border-bottom:1px solid rgba(20,115,230,.3);text-decoration:none;}
.single-post .entry-content a:hover{color:#0E8C82;border-color:#0E8C82;}
.single-post .entry-content blockquote{border-left:3px solid #19D3C5;background:#F6F8FB;padding:20px 24px;margin:28px 0;font-style:normal;color:#0A2540;border-radius:0 10px 10px 0;}
.single-post .thumbnail img,.blog-entry .thumbnail img{border-radius:12px;}
/* archive cards */
.archive .blog-entry.post,.search .blog-entry.post,.blog .blog-entry.post{background:#FFFFFF;border:1px solid #E4EAF2;border-radius:12px;overflow:hidden;padding:0;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.archive .blog-entry.post:hover,.blog .blog-entry.post:hover{transform:translateY(-4px);border-color:#19D3C5;box-shadow:0 14px 34px rgba(10,37,64,.10);}
.archive .blog-entry .blog-entry-header,.blog .blog-entry .blog-entry-header{padding:22px 24px 0;}
.archive .blog-entry-title,.blog .blog-entry-title,.search .blog-entry-title{font-family:'Montserrat',sans-serif!important;font-size:18px!important;font-weight:700!important;line-height:1.32!important;margin:0 0 10px!important;}
.archive .blog-entry-title a,.blog .blog-entry-title a,.search .blog-entry-title a{color:#0A2540!important;text-decoration:none;}
.archive .blog-entry-title a:hover,.blog .blog-entry-title a:hover{color:#0E8C82!important;}
.archive .blog-entry-summary,.blog .blog-entry-summary,.search .blog-entry-summary{padding:0 24px;font-family:'Inter',sans-serif;font-size:14.5px;line-height:1.72;color:#54677F;}
.archive .blog-entry-readmore,.blog .blog-entry-readmore{padding:14px 24px 24px;}
.archive .blog-entry-readmore a,.blog .blog-entry-readmore a{font-family:'Inter',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.7px;text-transform:uppercase;color:#0E8C82;text-decoration:none;}
.archive .blog-entry-readmore a:hover,.blog .blog-entry-readmore a:hover{color:#1473E6;}
.archive .blog-entry-date,.blog .blog-entry-date,.single-post .meta{font-family:'Inter',sans-serif;font-size:12.5px;color:#8195AC;}
@media(max-width:767px){
 .single-post .page-header,.archive .page-header,.search .page-header,.blog .page-header{padding:60px 22px 46px!important;}
 .single-post .page-header-title,.archive .page-header-title,.search .page-header-title{font-size:25px!important;}
 .single-post #content-wrap,.archive #content-wrap,.blog #content-wrap,.search #content-wrap{padding:44px 22px 52px!important;}
 .single-post .entry-content{font-size:15px;}
 .single-post .entry-content h2{font-size:19px;}
}
