/* Global header/footer — hide duplicate Elementor widgets + layout modes */

body.evo-global-hf-on .elementor-widget-evoport-header,
body.evo-global-hf-on .elementor-widget-evoport-footer,
body.evo-global-hf-on .elementor-element.elementor-widget-evoport-header,
body.evo-global-hf-on .elementor-element.elementor-widget-evoport-footer {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	visibility: hidden !important;
}

body.evo-global-hf-on .evo-hero-container .evo-header-spacer,
body.evo-global-hf-on .elementor-widget-evoport-header + .evo-header-spacer,
body.evo-global-hf-on .elementor-widget-evoport-header .evo-header-spacer {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
}

/* —— STICKY (default) — fixed over hero, zero document flow (v1.18.2) —— */
body.evo-global-hf-sticky > #evo-global-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: visible;
	pointer-events: none;
}

body.evo-global-hf-sticky > #evo-global-header > .evo-header {
	position: fixed !important;
	top: var(--evo-header-offset-top, 0) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 1000 !important;
	margin: 0 !important;
	padding-top: 0 !important;
	pointer-events: auto;
}

body.evo-global-hf-sticky .elementor-location-single,
body.evo-global-hf-sticky .elementor {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.evo-global-hf-sticky .evo-hero-container {
	margin-top: 0 !important;
}

/* —— NON-STICKY — in-flow solid bar, OR overlay on hero band —— */
body.evo-global-hf-static .evo-main > #evo-global-header {
	position: relative;
	z-index: 1000;
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: visible;
}

body.evo-global-hf-static .evo-main > #evo-global-header > .evo-header {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	margin: 0 !important;
	padding-top: 0 !important;
}

/* Non-sticky + hero — transparent header over hero bg (scrolls with page) */
body.evo-global-hf-static.evo-has-hero-band .evo-main {
	position: relative;
}

body.evo-global-hf-static.evo-has-hero-band .evo-main > #evo-global-header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 1000;
	margin: 0;
	padding: 0;
	overflow: visible;
	pointer-events: none;
}

body.evo-global-hf-static.evo-has-hero-band .evo-main > #evo-global-header > .evo-header {
	position: relative !important;
	top: auto !important;
	pointer-events: auto;
}

body.evo-global-hf-static.evo-has-hero-band .evo-hero-container,
body.evo-global-hf-static.evo-has-hero-band .evo-page-hero {
	margin-top: 0 !important;
}

/* Contact page — boxed Elementor parent must not letterbox the hero band */
body.evo-global-hf-on.evo-has-hero-band .e-con.e-parent:has(.elementor-widget-evoport-contact-page),
body.evo-global-hf-on.evo-has-hero-band .e-con-boxed:has(.elementor-widget-evoport-contact-page) {
	width: 100% !important;
	max-width: none !important;
	--content-width: 100% !important;
	--container-max-width: none !important;
	padding-inline: 0 !important;
	margin-inline: 0 !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	--align-items: stretch !important;
	--justify-content: flex-start !important;
}

body.evo-global-hf-on.evo-has-hero-band .elementor-widget-evoport-contact-page .evo-contact-page__hero,
body.evo-global-hf-on.evo-has-hero-band .elementor-widget-evoport-contact-page .evo-contact-page__hero-bg {
	width: 100% !important;
	max-width: none !important;
}

/* Hero copy below header bar — fixed bar height (never shifts on scroll/dropdown) */
body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-hero__inner,
body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-hero-container .evo-hero__inner {
	padding-top: calc(
		var(--evo-header-h, 119px)
		+ var(--evo-hero-copy-top, 32px)
	) !important;
}

body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-split-hero__inner,
body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-hero-container .evo-split-hero__inner {
	padding-top: calc(
		var(--evo-header-h, 119px)
		+ var(--evo-split-hero-copy-top, 24px)
	) !important;
}

body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-contact-page__hero-inner,
body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-contact-page .evo-contact-page__hero-inner {
	padding-top: var(--evo-cp-copy-top-editor, var(--evo-cp-copy-top)) !important;
}

@media (min-width: 701px) {
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-about-hero:not(.evo-about-hero--blog) .evo-about-hero__inner,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-about-hero:not(:has(.evo-about-hero--blog)) .evo-about-hero__inner {
		padding-top: var(--evo-about-copy-top-editor, var(--evo-about-hero-copy-top, 269.5px)) !important;
	}

	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-about-hero--blog .evo-about-hero__inner,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-about-hero:has(.evo-about-hero--blog) .evo-about-hero__inner {
		padding-top: calc(var(--evo-header-inner-h, var(--evo-header-h, 119px)) + clamp(24px, calc(32 * 100vw / 1440), 32px)) !important;
		padding-bottom: 0 !important;
		min-height: 0 !important;
	}
}

@media (max-width: 700px) {
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-about-hero:not(.evo-about-hero--blog) .evo-about-hero__inner,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-about-hero:not(:has(.evo-about-hero--blog)) .evo-about-hero__inner {
		padding-top: calc(var(--evo-header-inner-h, var(--evo-header-h, 96px)) + 24px) !important;
		padding-bottom: clamp(32px, calc(40 * 100vw / 390), 40px) !important;
		min-height: 0 !important;
		height: auto !important;
	}

	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-about-hero--blog .evo-about-hero__inner,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-about-hero:has(.evo-about-hero--blog) .evo-about-hero__inner {
		padding-top: calc(var(--evo-header-inner-h, var(--evo-header-h, 96px)) + clamp(20px, calc(24 * 100vw / 390), 24px)) !important;
		padding-inline: 20px !important;
		padding-bottom: clamp(56px, calc(64 * 100vw / 390), 64px) !important;
		min-height: 0 !important;
		height: auto !important;
	}
}

body.evo-global-hf-on:has(#evo-global-header .evo-header:not([data-overlay="1"])) .evo-hero__inner,
body.evo-global-hf-on:has(#evo-global-header .evo-header:not([data-overlay="1"])) .evo-split-hero__inner,
body.evo-global-hf-on:has(#evo-global-header .evo-header:not([data-overlay="1"])) .evo-contact-page__hero-inner {
	padding-top: calc(var(--evo-header-h, 119px) + 24px) !important;
}

@media (min-width: 1021px) {
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-split-hero__title,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-split-hero h1.evo-split-hero__title {
		padding-top: 0 !important;
	}

	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-split-hero__inner {
		padding-top: calc(
			var(--evo-header-h, 119px)
			+ var(--evo-split-hero-copy-top, 0px)
		) !important;
	}

	/* Homepage hero — inner carries header offset; drop extra title pad */
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-hero__title,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .evo-hero h1.evo-hero__title,
	body.evo-global-hf-on:has(#evo-global-header .evo-header[data-overlay="1"]) .elementor-widget-evoport-hero .evo-hero__title {
		padding-top: 0 !important;
	}
}

/* Dropdown panels float over hero — never expand header layout height */
body.evo-global-hf-on #evo-global-header .evo-header__dropdown-track {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
}

body.evo-global-hf-on #evo-global-header .evo-header__bar {
	position: relative;
}

/* Blog / whitepaper singles — static header in flow; no extra main top pad */
body.evo-global-hf-static.evo-global-hf-light-page .evo-blog-single {
	padding-top: 0;
}

/* Non-hero pages — global transparent header uses dark nav/logo on light backgrounds.
 * Keep dark ink while mega-menu is open (otherwise overlay hover flips to white-on-white). */
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) {
	color: var(--evo-color-text, #1d1a15);
	--evo-header-cta-fill: #000000;
	--evo-header-cta-text: #ffffff;
	--evo-header-cta-border: #000000;
	--evo-header-cta-reveal-fill: #ffffff;
	--evo-header-cta-reveal-text: #000000;
}

body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__login {
	color: var(--evo-header-login-border-solid, #000);
	background: var(--evo-header-login-bg-solid, #fff);
	border-color: var(--evo-header-login-border-solid, #000);
}

body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__logo-img {
	filter: brightness(0);
}

/* Beat header.css overlay-hover white ink + transparent plate on light inner pages */
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__item--has-children:hover),
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__dropdown-track:hover),
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay.is-dropdown-open:not(.is-scrolled) {
	color: var(--evo-color-text, #1d1a15) !important;
}

body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__item--has-children:hover) .evo-header__bar,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__dropdown-track:hover) .evo-header__bar,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay.is-dropdown-open:not(.is-scrolled) .evo-header__bar {
	color: var(--evo-color-text, #1d1a15) !important;
}

body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled) .evo-header__bar::before,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled).is-dropdown-open .evo-header__bar::before,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__item--has-children:hover) .evo-header__bar::before,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__dropdown-track:hover) .evo-header__bar::before,
body.evo-global-hf-on:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):has(.evo-header__dropdown-track .evo-header__submenu:hover) .evo-header__bar::before {
	opacity: 1 !important;
	background: #ffffff !important;
	box-shadow: none !important;
}

/* Inner blog / whitepaper — dark hamburger on white background (mobile drawer toggle) */
@media (max-width: 1100px) {
	body.evo-global-hf-light-page:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__toggle {
		color: #1a1814 !important;
	}

	body.evo-global-hf-light-page:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__toggle-icon,
	body.evo-global-hf-light-page:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__toggle-icon::before,
	body.evo-global-hf-light-page:not(.evo-has-hero-band) #evo-global-header .evo-header--overlay:not(.is-scrolled):not(.is-nav-open) .evo-header__toggle-icon::after {
		background-color: #1a1814 !important;
	}
}

/*
 * Inner blog / whitepaper — content uses the same 1307px rail as the global header
 * (see --evo-header-bar-max). Do not re-pin / re-pad the header here.
 */
body.evo-blog-single-page {
	--evo-blog-single-max: var(--evo-header-bar-max, 1307px);
	--evo-blog-header-pad-x: 32px;
	--evo-blog-single-inset: calc(
		max(8px, (100% - var(--evo-blog-single-max)) / 2)
		+ var(--evo-blog-header-pad-x)
	);
}
@media (max-width: 1100px) {
	body.evo-blog-single-page {
		--evo-blog-header-pad-x: 20px;
	}
}
@media (max-width: 700px) {
	body.evo-blog-single-page {
		--evo-blog-header-pad-x: 8px;
	}
}

/*
 * Inner blog / whitepaper (static header) — header is injected inside .evo-blog-single.
 * Main is full-width now; no negative-margin breakout needed.
 */
body.evo-global-hf-static.evo-blog-single-page .evo-main.evo-blog-single > #evo-global-header {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	box-sizing: border-box;
}

body.evo-global-hf-static.evo-blog-single-page .evo-main.evo-blog-single > #evo-global-header .evo-header {
	width: 100%;
	max-width: none;
}

/* Sticky header — blog/whitepaper.
 * Overlay (default): fixed header floats; layout unchanged (white cats → mist band).
 * Only clears the bar height — no dropdown content-push, no mist-under-header redesign.
 * Soft revert spacer era: add_filter( 'evo_blog_single_header_overlay', '__return_false' ); */
body.evo-global-hf-sticky.evo-global-hf-light-page .evo-blog-single,
body.evo-global-hf-sticky.evo-blog-single-page .evo-blog-single {
	padding-top: var(--evo-header-dropdown-push, 0px);
	transition: padding-top 0.2s ease;
}

/* Overlay: no page spacer / no mega-menu push — only fhead clears the fixed bar */
body.evo-blog-single-header-overlay.evo-global-hf-sticky.evo-global-hf-light-page .evo-blog-single,
body.evo-blog-single-header-overlay.evo-global-hf-sticky.evo-blog-single-page .evo-blog-single {
	padding-top: 0 !important;
}

body.evo-blog-single-header-overlay.evo-global-hf-sticky.evo-blog-single-page .evo-blog-single__fhead {
	padding-top: var(--evo-header-layout-h, var(--evo-header-inner-h, var(--evo-header-h, 119px))) !important;
	box-sizing: border-box;
}

/* Classic (non-featured) header — clear the fixed bar */
body.evo-blog-single-header-overlay.evo-global-hf-sticky.evo-blog-single-page .evo-blog-single__intro {
	padding-top: var(--evo-header-layout-h, var(--evo-header-inner-h, var(--evo-header-h, 119px)));
}

/* Reverted (no overlay class): push includes dropdown panel height */
body.evo-global-hf-sticky.evo-blog-single-page:not(.evo-blog-single-header-overlay) .evo-blog-single__fhead {
	padding-top: var(--evo-header-layout-h, var(--evo-header-inner-h, var(--evo-header-h, 119px)));
	box-sizing: border-box;
}

body.evo-global-hf-sticky.evo-blog-single-page:not(.evo-blog-single-header-overlay) .evo-blog-single:not(:has(.evo-blog-single__fhead)) {
	padding-top: calc(
		var(--evo-header-layout-h, var(--evo-header-inner-h, var(--evo-header-h, 119px)))
		+ var(--evo-header-dropdown-push, 0px)
	);
}

/* Static header — dropdown push only when overlay is off */
body.evo-global-hf-static.evo-blog-single-page:not(.evo-blog-single-header-overlay) .evo-blog-single__shell {
	padding-top: var(--evo-header-dropdown-push, 0px);
	transition: padding-top 0.2s ease;
}

body.evo-blog-single-header-overlay.evo-global-hf-static.evo-blog-single-page .evo-blog-single__shell {
	padding-top: 0 !important;
}

/* —— Global footer — Figma 1440 rail + image 10721 moss —— */
body.evo-global-hf-on #evo-global-footer {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	overflow-x: clip;
	overflow-y: visible;
	box-sizing: border-box;
	position: relative;
	z-index: 20;
}

body.evo-global-hf-on #evo-global-footer .evo-footer {
	width: 100%;
	max-width: 100%;
	margin: 0;
	overflow-x: clip;
	overflow-y: visible;
	box-sizing: border-box;
}

body.evo-global-hf-on #evo-global-footer .evo-footer__stage {
	width: 100%;
	max-width: min(100%, var(--evo-footer-max, 1440px));
	margin-inline: auto;
	position: relative;
	box-sizing: border-box;
}

@media (min-width: 1021px) {
	body.evo-global-hf-on #evo-global-footer .evo-footer {
		--evo-footer-inset-left: 85px;
		--evo-footer-branch-pad-left: 70px;
		--evo-footer-branch-top-offset: 96px;
		--evo-footer-branch-bleed: 210px;
		--evo-footer-pad-x: 8px;
		--evo-footer-deco-right-bleed: 8px;
		--evo-footer-scene-w: 1518px;
		--evo-footer-scene-left: -78px;
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__stage {
		margin-inline: auto;
		width: 100%;
		max-width: var(--evo-footer-max, 1440px);
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__shell {
		padding-left: calc(var(--evo-footer-inset-left, 85px) + var(--evo-footer-pad-x, 8px));
		padding-right: var(--evo-footer-pad-x, 8px);
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__logo-row {
		left: calc(var(--evo-footer-inset-left, 85px) + var(--evo-footer-pad-x, 8px));
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__scene-wrap {
		position: absolute !important;
		bottom: 0.09px !important;
		left: -78px !important;
		right: auto !important;
		width: calc(1518px + 8px) !important;
		max-width: none !important;
		z-index: 5 !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: none;
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__scene {
		display: block;
		width: 100%;
		height: auto;
		object-fit: contain;
		object-position: left bottom;
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__branch-wrap {
		position: absolute !important;
		top: var(--evo-footer-branch-top-offset, 0) !important;
		right: -52px !important;
		left: auto !important;
		width: 24% !important;
		padding-left: var(--evo-footer-branch-pad-left, 0) !important;
		margin-top: calc(-1 * var(--evo-footer-branch-bleed, 280px)) !important;
		z-index: 30 !important;
		transform: rotate(336deg) !important;
	}
}

@media (min-width: 701px) and (max-width: 1020px) {
	body.evo-global-hf-on #evo-global-footer .evo-footer__scene-wrap {
		left: calc(-78 * 100vw / 1440) !important;
		width: calc((1518 * 100vw / 1440) + 8px) !important;
	}

	body.evo-global-hf-on #evo-global-footer .evo-footer__branch-wrap {
		right: -52px !important;
	}
}
