.elementor-kit-89{--e-global-color-primary:#004166;--e-global-color-secondary:#00ACDD;--e-global-color-text:#3A4F63;--e-global-color-accent:#96BC33;--e-global-color-ecx_ink:#0E2A44;--e-global-color-ecx_deep:#0E2238;--e-global-color-ecx_deep2:#16324D;--e-global-color-ecx_glow:#00ACDD;--e-global-color-ecx_aqua:#8ED6F0;--e-global-color-ecx_teal:#00729B;--e-global-color-ecx_paper:#F3F7FA;--e-global-color-ecx_mist:#E8F1F6;--e-global-color-ecx_line:#D7E4EB;--e-global-color-ecx_muted:#5B6F80;--e-global-color-ecx_ondark:#B8C8D6;--e-global-color-ecx_white:#FFFFFF;--e-global-typography-primary-font-family:"Manrope";--e-global-typography-primary-font-size:48px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1em;--e-global-typography-primary-letter-spacing:-0.04em;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-secondary-letter-spacing:-0.02em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1.2em;--e-global-typography-accent-letter-spacing:0.01em;--e-global-typography-ecx_display-font-family:"Manrope";--e-global-typography-ecx_display-font-size:80px;--e-global-typography-ecx_display-font-weight:800;--e-global-typography-ecx_display-line-height:1.05em;--e-global-typography-ecx_display-letter-spacing:-0.06em;--e-global-typography-ecx_eyebrow-font-family:"Inter";--e-global-typography-ecx_eyebrow-font-size:11px;--e-global-typography-ecx_eyebrow-font-weight:800;--e-global-typography-ecx_eyebrow-text-transform:uppercase;--e-global-typography-ecx_eyebrow-line-height:1.6em;--e-global-typography-ecx_eyebrow-letter-spacing:0.2em;--e-global-typography-ecx_lead-font-family:"Inter";--e-global-typography-ecx_lead-font-size:18px;--e-global-typography-ecx_lead-font-weight:400;--e-global-typography-ecx_lead-line-height:1.75em;--e-global-typography-ecx_small-font-family:"Inter";--e-global-typography-ecx_small-font-size:13px;--e-global-typography-ecx_small-font-weight:500;--e-global-typography-ecx_small-line-height:1.6em;background-color:#FFFFFF;color:#3A4F63;font-family:"Inter", Sans-serif;font-size:16px;line-height:1.75em;}.elementor-kit-89 button,.elementor-kit-89 input[type="button"],.elementor-kit-89 input[type="submit"],.elementor-kit-89 .elementor-button{background-color:#004166;font-family:"Inter", Sans-serif;font-size:14px;font-weight:700;color:#FFFFFF;border-radius:40px 40px 40px 40px;padding:15px 24px 15px 24px;}.elementor-kit-89 button:hover,.elementor-kit-89 button:focus,.elementor-kit-89 input[type="button"]:hover,.elementor-kit-89 input[type="button"]:focus,.elementor-kit-89 input[type="submit"]:hover,.elementor-kit-89 input[type="submit"]:focus,.elementor-kit-89 .elementor-button:hover,.elementor-kit-89 .elementor-button:focus{background-color:#00729B;color:#FFFFFF;}.elementor-kit-89 e-page-transition{background-color:#FFBC7D;}.elementor-kit-89 a{color:#00729B;}.elementor-kit-89 a:hover{color:#004166;}.elementor-kit-89 h1{color:#0E2A44;font-family:"Manrope", Sans-serif;font-size:64px;font-weight:800;line-height:1.1em;letter-spacing:-0.04em;}.elementor-kit-89 h2{color:#0E2A44;font-family:"Manrope", Sans-serif;font-size:48px;font-weight:800;line-height:1.1em;letter-spacing:-0.04em;}.elementor-kit-89 h3{color:#0E2A44;font-family:"Manrope", Sans-serif;font-size:26px;font-weight:800;line-height:1.25em;letter-spacing:-0.03em;}.elementor-kit-89 h4{color:#0E2A44;font-family:"Manrope", Sans-serif;font-size:20px;font-weight:700;line-height:1.35em;letter-spacing:-0.02em;}.elementor-kit-89 h5{color:#0E2A44;font-family:"Manrope", Sans-serif;font-size:17px;font-weight:700;line-height:1.4em;letter-spacing:-0.01em;}.elementor-kit-89 h6{color:#00729B;font-family:"Manrope", Sans-serif;font-size:13px;font-weight:800;line-height:1.5em;letter-spacing:0.12em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-89{--e-global-typography-primary-font-size:40px;--e-global-typography-secondary-font-size:20px;--e-global-typography-text-font-size:16px;--e-global-typography-accent-font-size:14px;--e-global-typography-ecx_display-font-size:56px;--e-global-typography-ecx_eyebrow-font-size:11px;--e-global-typography-ecx_lead-font-size:17px;--e-global-typography-ecx_small-font-size:13px;}.elementor-kit-89 h1{font-size:48px;}.elementor-kit-89 h2{font-size:38px;}.elementor-kit-89 h3{font-size:24px;}.elementor-kit-89 h4{font-size:19px;}.elementor-kit-89 h5{font-size:17px;}.elementor-kit-89 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-89{--e-global-typography-primary-font-size:32px;--e-global-typography-secondary-font-size:19px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:14px;--e-global-typography-ecx_display-font-size:44px;--e-global-typography-ecx_eyebrow-font-size:11px;--e-global-typography-ecx_lead-font-size:16px;--e-global-typography-ecx_small-font-size:12px;}.elementor-kit-89 h1{font-size:38px;}.elementor-kit-89 h2{font-size:32px;}.elementor-kit-89 h3{font-size:22px;}.elementor-kit-89 h4{font-size:18px;}.elementor-kit-89 h5{font-size:16px;}.elementor-kit-89 h6{font-size:13px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//*
 * Econytics kit — custom CSS (Elementor → Site Settings → Custom CSS).
 * Version-controlled copy; applied to the kit by deploy/build/build-header-footer.php
 * so it travels with every kit export.
 *
 * Visual identity: navy #004166 + cyan #00ACDD on white / pale blue.
 * Lime #96BC33 is reserved for the logo and tiny accents (dots, ticks, icons).
 * Colours come from kit globals via CSS variables wherever possible.
 */

/* ---------- Kicker / eyebrow with small accent dot ---------- */
.ecx-kicker .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--e-global-color-accent);
	margin-inline-end: 10px;
	vertical-align: 1px;
}

/* Highlighted word inside a heading: <span class="ecx-hl">word</span> */
.ecx-hl { color: var(--e-global-color-ecx_glow); }
.ecx-on-light .ecx-hl { color: var(--e-global-color-secondary); }

/* ---------- Buttons ----------
 * Default (kit): navy, white text.  .ecx-btn--cyan: cyan on dark backgrounds.
 * .ecx-btn--ghost: outline on dark.  .ecx-btn--line: outline on light.
 */
.ecx-btn .elementor-button {
	transition: transform .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
	border: 1px solid transparent;
}
.ecx-btn .elementor-button:hover { transform: translateY(-2px); }
.ecx-btn--cyan .elementor-button { background: var(--e-global-color-secondary); color: var(--e-global-color-ecx_deep); }
.ecx-btn--cyan .elementor-button:hover { background: #3FC3EA; color: var(--e-global-color-ecx_deep); }
.ecx-btn--ghost .elementor-button {
	background: transparent;
	color: #FFFFFF;
	border-color: rgba(255,255,255,.35);
}
.ecx-btn--ghost .elementor-button:hover {
	background: transparent;
	color: var(--e-global-color-secondary);
	border-color: var(--e-global-color-secondary);
}
.ecx-btn--dark .elementor-button { background: var(--e-global-color-primary); color: #fff; }
.ecx-btn--dark .elementor-button:hover { background: var(--e-global-color-ecx_teal); color: #fff; }
.ecx-btn--line .elementor-button {
	background: transparent;
	color: var(--e-global-color-primary);
	border-color: #B9CCD8;
}
.ecx-btn--line .elementor-button:hover { border-color: var(--e-global-color-primary); background: transparent; color: var(--e-global-color-primary); }

/* ---------- Header ---------- */
.ecx-header { transition: background-color .3s ease, box-shadow .3s ease; }
.ecx-header.elementor-sticky--effects { box-shadow: 0 10px 40px rgba(0,20,40,.35); }
/* Header groups size to their content; the menu takes the remaining space. */
.ecx-header > .e-con-inner > .e-con,
.ecx-brand-lockup { --width: auto; flex-shrink: 0; }
.ecx-brand a { text-decoration: none; }

/* ---------- Identity stripes (from the letterhead / business cards) ----------
 * Add class "ecx-stripes" to a container: angled navy / cyan / lime bars along
 * its bottom edge ("ecx-stripes--top" for the top edge). Drawn as a background
 * layer so it never clashes with Elementor's own ::before/::after overlays.
 */
:root {
	--ecx-stripes: linear-gradient(115deg,
		transparent 0 6%, #96BC33 6% 9%, transparent 9% 10%,
		#00ACDD 10% 34%, transparent 34% 35.5%, #00ACDD 35.5% 38%,
		transparent 38% 62%, #004166 62% 88%, transparent 88% 89%, #00ACDD 89% 100%);
	--ecx-stripes-rtl: linear-gradient(245deg,
		transparent 0 6%, #96BC33 6% 9%, transparent 9% 10%,
		#00ACDD 10% 34%, transparent 34% 35.5%, #00ACDD 35.5% 38%,
		transparent 38% 62%, #004166 62% 88%, transparent 88% 89%, #00ACDD 89% 100%);
}
.ecx-stripes {
	background-image: var(--ecx-stripes);
	background-repeat: no-repeat;
	background-size: 100% 10px;
	background-position: left bottom;
}
.ecx-stripes--top { background-position: left top; }
[dir="rtl"] .ecx-stripes { background-image: var(--ecx-stripes-rtl); }

/* ---------- Dark hero: navy with a fine grid + orbit rings ---------- */
.ecx-hero {
	position: relative;
	overflow: hidden;
	background:
		var(--ecx-stripes) left bottom / 100% 10px no-repeat,
		radial-gradient(ellipse at 73% 43%, #1A4166 0%, #11304E 40%, #0E2238 78%);
}
[dir="rtl"] .ecx-hero {
	background:
		var(--ecx-stripes-rtl) left bottom / 100% 10px no-repeat,
		radial-gradient(ellipse at 27% 43%, #1A4166 0%, #11304E 40%, #0E2238 78%);
}
.ecx-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: .2;
	background-image:
		linear-gradient(90deg, rgba(120,170,210,.25) 1px, transparent 1px),
		linear-gradient(0deg, rgba(120,170,210,.25) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: linear-gradient(90deg, transparent 23%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 23%, #000 100%);
	pointer-events: none;
}
[dir="rtl"] .ecx-hero::after {
	-webkit-mask-image: linear-gradient(270deg, transparent 23%, #000 100%);
	mask-image: linear-gradient(270deg, transparent 23%, #000 100%);
}
.ecx-rings > .e-con-inner::before,
.ecx-hero > .e-con-inner::before {
	content: "";
	position: absolute;
	top: -270px;
	inset-inline-end: -280px;
	width: 1000px;
	height: 1000px;
	border: 1px solid rgba(142,214,240,.09);
	border-radius: 50%;
	box-shadow: 0 0 0 135px rgba(142,214,240,.02), 0 0 0 270px rgba(142,214,240,.012);
	pointer-events: none;
	z-index: -1;
}
.ecx-hero > .e-con-inner,
.ecx-rings > .e-con-inner { position: relative; z-index: 1; }
.ecx-rings { position: relative; overflow: hidden; }

/* Stat strip */
.ecx-stats > .e-con-inner > .e-con:not(:last-child),
.ecx-stats > .e-con:not(:last-child) { border-inline-end: 1px solid rgba(255,255,255,.13); }
@media (max-width: 767px) {
	.ecx-stats > .e-con-inner > .e-con,
	.ecx-stats > .e-con { border-inline-end: 0 !important; }
}

/* ---------- Cards ---------- */
.ecx-card {
	position: relative;
	overflow: hidden;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.ecx-card:hover {
	transform: translateY(-6px);
	border-color: #8ECBE3 !important;
	box-shadow: 0 20px 55px rgba(0,40,70,.09);
}
.ecx-card::after {
	content: "";
	position: absolute;
	inset-inline-end: -70px;
	bottom: -86px;
	width: 200px;
	height: 200px;
	border: 1px solid #CFE3EE;
	border-radius: 50%;
	box-shadow: 0 0 0 24px rgba(207,227,238,.3), 0 0 0 58px rgba(207,227,238,.14);
	pointer-events: none;
}
.ecx-card--dark::after { border-color: rgba(142,214,240,.16); box-shadow: 0 0 0 24px rgba(142,214,240,.035), 0 0 0 58px rgba(142,214,240,.02); }
.ecx-card--dark:hover { border-color: rgba(0,172,221,.6) !important; box-shadow: 0 20px 55px rgba(0,0,0,.25); }

/* Diamond mark (identity motif): add class "ecx-diamond-mark" to a heading/text widget */
.ecx-diamond-mark::before {
	content: "";
	display: block;
	width: 30px;
	height: 30px;
	background: var(--e-global-color-secondary);
	transform: rotate(45deg);
	margin: 8px 0 18px 8px;
	box-shadow: 16px -6px 0 -8px var(--e-global-color-accent);
}
[dir="rtl"] .ecx-diamond-mark::before { margin: 8px 8px 18px 0; box-shadow: -16px -6px 0 -8px var(--e-global-color-accent); }

/* List with small accent ticks */
.ecx-ticks ul { list-style: none; padding: 0; margin: 0; }
.ecx-ticks li { position: relative; padding-inline-start: 22px; margin-bottom: 8px; }
.ecx-ticks li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .72em;
	width: 10px;
	height: 2px;
	background: var(--e-global-color-secondary);
}

/* ---------- Statement band ---------- */
.ecx-statement em { color: var(--e-global-color-ecx_glow); font-style: normal; }

/* ---------- Process steps ---------- */
.ecx-step { border-top: 1px solid #BCD0DC; position: relative; }
.ecx-step::before {
	content: "";
	position: absolute;
	top: -4px;
	inset-inline-start: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--e-global-color-secondary);
}

/* ---------- Pill tabs (Elementor nested tabs) ---------- */
.ecx-tabs .e-n-tabs-heading { gap: 8px; flex-wrap: wrap; }
.ecx-tabs .e-n-tab-title {
	border-radius: 26px !important;
	border: 1px solid rgba(142,214,240,.25) !important;
	transition: background-color .2s, color .2s;
}
.ecx-tabs .e-n-tab-title[aria-selected="true"] { border-color: var(--e-global-color-secondary) !important; }

/* Tag chips: <p class="ecx-tags"><span>…</span></p> */
.ecx-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; }
.ecx-tags span { padding: 7px 12px; border: 1px solid currentColor; border-radius: 20px; font-size: 11px; line-height: 1.2; opacity: .9; }

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion: reduce) {
	* { transition: none !important; animation: none !important; }
	html { scroll-behavior: auto; }
}

html { scroll-behavior: smooth; scroll-padding-top: 90px; }
::selection { background: var(--e-global-color-secondary); color: #fff; }

/* ---------- Breadcrumbs (page heroes) ---------- */
.ecx-breadcrumbs { margin: 0; }
.ecx-breadcrumbs a { color: var(--e-global-color-ecx_aqua); text-decoration: none; }
.ecx-breadcrumbs a:hover { color: #fff; }
.ecx-breadcrumbs span[aria-hidden] { opacity: .5; margin: 0 6px; }

/* ---------- Footer link lists ---------- */
.ecx-footer-links a { color: inherit; text-decoration: none; transition: color .2s; }
.ecx-footer-links a:hover { color: var(--e-global-color-secondary); }

/* ---------- Cards: push the link button to the bottom ---------- */
.ecx-card { height: auto; }

/* ---------- Contact form ---------- */
.ecx-form .elementor-field-group .elementor-field-label { font-weight: 600; font-size: 13px; color: var(--e-global-color-ecx_ink); }
.ecx-form .elementor-field-textual { font-size: 15px; }
.ecx-form .elementor-field-textual:focus { border-color: var(--e-global-color-secondary) !important; box-shadow: 0 0 0 3px rgba(0,172,221,.15); }
.ecx-form .elementor-button { font-weight: 700; }

/* Container that sizes to its content (e.g. a button group in a row) */
.ecx-auto { --width: auto; flex-shrink: 0; }

/* Model-structure diagram: arrows point down when blocks stack */
.ecx-diagram-arrow { align-self: center; }
@media (max-width: 1024px) {
	.ecx-diagram-arrow .elementor-heading-title { display: inline-block; transform: rotate(90deg); }
}/* End custom CSS */