/* =============================================================
   Evolve — premium editorial system v2
   Influence: Trefoil (B2B confidence), Omnicom (editorial weight), 6S (interaction).
   Motion: Emil Kowalski's principles — custom curves, sub-300ms UI, hover-gated.
   ============================================================= */

:root {
	/* --- Evolve brand: vivid azure + true black --- */
	/* Surfaces */
	--bg:           #ffffff;          /* paper */
	--bg-paper:     #f4f6f8;          /* cool tinted neutral */
	--bg-deep:      #050608;          /* near-black, matches logo plate */
	--bg-deeper:    #000000;
	--card:         #ffffff;

	/* Ink */
	--ink:          #0a0c10;
	--ink-soft:     #1d2230;
	--mute:         #5b6675;
	--line:         #e4e8ee;
	--line-on-dark: rgba(255,255,255,.10);

	/* Brand accent — Evolve blue */
	--brand:        #1f97dd;
	--brand-deep:   #097cbc;
	--brand-soft:   #d6efff;
	--accent:       var(--brand);     /* legacy alias */
	--accent-soft:  var(--brand-soft);
	--accent-deep:  var(--brand-deep);

	/* Radius / shadow */
	--r-sm: 0;
	--r-md: 0;
	--r-lg: 0;
	--shadow:       0 22px 60px -22px rgba(12,19,32,.18);
	--shadow-soft:  0 6px 18px -6px rgba(12,19,32,.10);

	/* Spacing scale (8pt-ish) */
	--gap:    clamp(20px, 4vw, 56px);
	--maxw:   1320px;
	--col:    1100px;
	--pad-s:  clamp(48px, 6vw, 96px);
	--pad-l:  clamp(80px, 10vw, 160px);

	/* Type — Poppins everywhere; weight + italic carry the editorial hierarchy. */
	--f-display: "Poppins", system-ui, -apple-system, "Helvetica Neue", sans-serif;
	--f-sans:    "Poppins", system-ui, -apple-system, "Helvetica Neue", sans-serif;
	--f-mono:    "Poppins", system-ui, sans-serif;

	/* Motion (Emil) */
	--ease-out:    cubic-bezier(0.23, 1, 0.32, 1);
	--ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
	--ease-drawer: cubic-bezier(0.32, 0.72, 0, 1);
	--t-press:   120ms;
	--t-hover:   180ms;
	--t-ui:      220ms;
	--t-overlay: 320ms;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
	background: var(--bg);
	color: var(--ink);
	font-family: var(--f-sans);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
a[href^="mailto:"] { white-space: nowrap; overflow-wrap: normal; word-break: normal; }
button { font: inherit; cursor: pointer; }
/* No italics anywhere — use weight + color for emphasis */
em, i, cite { font-style: normal; }

::selection { background: var(--accent); color: #fff; }

/* ---------- Layout primitives ---------- */
.ev-wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gap); }
.ev-narrow { max-width: var(--col); margin: 0 auto; padding: 0 var(--gap); }
.ev-section { padding: var(--pad-l) 0; position: relative; }
.ev-section--tight { padding: var(--pad-s) 0; }
.ev-section--dark { background: var(--bg-deep); color: #f1ede4; }
.ev-section--paper { background: var(--bg-paper); }

/* Section meta (the "01 / Capabilities" pattern) */
.ev-meta {
	display: grid;
	grid-template-columns: minmax(0, 200px) 1fr;
	gap: clamp(32px, 6vw, 80px);
	padding-bottom: clamp(40px, 5vw, 60px);
	margin-bottom: clamp(40px, 5vw, 60px);
	border-bottom: 1px solid var(--line);
}
.ev-section--dark .ev-meta { border-bottom-color: var(--line-on-dark); }
.ev-meta__label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--mute);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ev-meta__label::after {
	content: "";
	width: 28px; height: 2px;
	background: var(--accent);
}
.ev-section--dark .ev-meta__label { color: rgba(255,255,255,.62); }
.ev-meta__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.04em;
	margin: 0;
	color: var(--ink);
	max-width: 22ch;
}
.ev-section--dark .ev-meta__title { color: #fff; }
.ev-meta__title em { font-style: normal; color: var(--brand); font-weight: 500; }
@media (max-width: 760px) {
	.ev-meta { grid-template-columns: 1fr; gap: 24px; }
}

/* ---------- Typography ---------- */
.ev-display {
	font-family: var(--f-display);
	font-weight: 300;
	line-height: 1.0;
	letter-spacing: -0.04em;
}
.ev-display em { font-style: normal; color: var(--brand); font-weight: 500; }

h1, h2, h3, h4, h5 {
	font-family: var(--f-display);
	font-weight: 300;
	letter-spacing: -0.035em;
	line-height: 1.1;
	color: var(--ink);
	margin: 0 0 .4em;
}
h1 em, h2 em, h3 em, h4 em, h5 em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-section--dark h1, .ev-section--dark h2, .ev-section--dark h3, .ev-section--dark h4 { color: #fff; }

p { margin: 0 0 1em; }
.ev-lede {
	font-size: clamp(18px, 1.5vw, 22px);
	line-height: 1.5;
	color: var(--ink-soft);
	max-width: 56ch;
}
.ev-section--dark .ev-lede { color: rgba(255,255,255,.78); }

.ev-eyebrow {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--mute);
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
.ev-eyebrow::before {
	content: "";
	width: 22px; height: 1px;
	background: var(--accent);
}
.ev-section--dark .ev-eyebrow { color: rgba(255,255,255,.7); }

/* ---------- Buttons (Emil principles) ---------- */
.ev-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 22px;
	border-radius: 999px;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: -0.005em;
	border: 1px solid transparent;
	transition:
		transform var(--t-press) var(--ease-out),
		background-color var(--t-hover) var(--ease-out),
		color var(--t-hover) var(--ease-out),
		border-color var(--t-hover) var(--ease-out);
	will-change: transform;
}
.ev-btn:active { transform: scale(0.97); }
.ev-btn svg { transition: transform var(--t-hover) var(--ease-out); }
.ev-btn--primary { background: var(--ink); color: #fff; }
.ev-btn--ghost   { background: transparent; color: var(--ink); border-color: var(--ink); }
.ev-section--dark .ev-btn--primary { background: #fff; color: var(--ink); }
.ev-section--dark .ev-btn--ghost   { color: #fff; border-color: rgba(255,255,255,.4); }
@media (hover: hover) and (pointer: fine) {
	.ev-btn--primary:hover { background: var(--accent); }
	.ev-btn--ghost:hover   { background: var(--ink); color: #fff; }
	.ev-section--dark .ev-btn--primary:hover { background: var(--accent); color: #fff; }
	.ev-section--dark .ev-btn--ghost:hover   { background: #fff; color: var(--ink); }
	.ev-btn:hover svg { transform: translateX(3px); }
}
.ev-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- Header ---------- */
.ev-header {
	position: sticky;
	top: 0;
	z-index: 80;
	background: color-mix(in srgb, var(--bg) 86%, transparent);
	backdrop-filter: saturate(180%) blur(14px);
	border-bottom: 1px solid var(--line);
}
.ev-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 10px 0;
	transition: padding 260ms var(--ease-out);
}
.ev-header.is-scrolled .ev-header__inner { padding: 6px 0; }
.ev-logo {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--brand);
	line-height: 1;
	transition: opacity var(--t-hover) var(--ease-out);
}
.ev-logo:hover { opacity: .88; }
.ev-logo__img {
	width: 130px;
	height: auto;
	display: block;
}
.ev-logo__wordmark {
	font-family: "Poppins", system-ui, sans-serif;
	font-weight: 800;
	font-size: 28px;
	letter-spacing: -0.05em;
	color: inherit;
	display: inline-block;
	text-transform: lowercase;
	transform: translateY(-1px);
	line-height: 1;
}
.sr-only {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}
.ev-nav { display: flex; align-items: center; gap: 36px; }
.ev-menu { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.ev-menu a {
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 500;
	color: var(--ink);
	position: relative;
	padding: 6px 0;
}
.ev-menu a::after {
	content: "";
	position: absolute;
	left: 0; right: 100%;
	bottom: 0;
	height: 1px;
	background: var(--accent);
	transition: right var(--t-hover) var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-menu a:hover::after { right: 0; }
}
.ev-burger { display: none; background: none; border: 0; padding: 8px; }
.ev-burger span {
	display: block; width: 24px; height: 1.5px;
	background: var(--ink); margin: 5px 0;
}
@media (max-width: 900px) {
	.ev-nav .ev-menu, .ev-nav .ev-btn { display: none; }
	.ev-burger { display: block; }
}

/* ---------- Floating navigator ---------- */
.ev-floatnav {
	position: fixed;
	top: 180px;
	right: max(24px, calc((100vw - 1200px) / 2));
	z-index: 70;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 6px 6px 18px;
	background: rgba(12,19,32,.86);
	color: #fff;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 999px;
	backdrop-filter: blur(14px) saturate(160%);
	font-size: 13px;
	font-weight: 500;
	opacity: 0;
	transform: translateY(-12px) scale(0.96);
	transition: transform 300ms var(--ease-out), opacity 220ms var(--ease-out);
}
.ev-floatnav.is-visible { transform: none; opacity: 1; }
.ev-floatnav__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.ev-floatnav__btn {
	background: #fff; color: var(--ink);
	border: 0;
	padding: 8px 16px;
	border-radius: 999px;
	font-weight: 500;
	font-size: 13px;
	transition: background-color var(--t-hover) var(--ease-out), color var(--t-hover) var(--ease-out), transform var(--t-press) var(--ease-out);
}
.ev-floatnav__btn:active { transform: scale(0.97); }
@media (hover: hover) and (pointer: fine) {
	.ev-floatnav__btn:hover { background: var(--accent); color: #fff; }
}
.ev-floatnav-panel {
	position: fixed;
	top: 0; right: 0;
	height: 100vh;
	width: min(440px, 92vw);
	background: var(--bg-deeper);
	color: #fff;
	z-index: 100;
	padding: 88px 36px 48px;
	transform: translateX(100%);
	transition: transform 380ms var(--ease-drawer);
	overflow-y: auto;
}
.ev-floatnav-panel.is-open { transform: none; }
.ev-floatnav-panel ol { list-style: none; padding: 0; margin: 0; counter-reset: nav; }
.ev-floatnav-panel li { counter-increment: nav; border-bottom: 1px solid rgba(255,255,255,.08); }
.ev-floatnav-panel li a {
	display: grid;
	grid-template-columns: 40px 1fr auto;
	align-items: center;
	gap: 16px;
	padding: 22px 4px;
	color: #fff;
}
.ev-floatnav-panel li a::before {
	content: counter(nav, decimal-leading-zero);
	font-family: var(--f-mono);
	font-size: 11px;
	color: rgba(255,255,255,.45);
}
.ev-floatnav-panel li a .label {
	font-family: var(--f-display);
	font-size: 26px;
	font-weight: 400;
}
.ev-floatnav-panel li a:hover .label { color: var(--accent); }
.ev-floatnav-panel li a .arrow { color: rgba(255,255,255,.4); }
.ev-floatnav-panel__close {
	position: absolute; top: 20px; right: 20px;
	background: rgba(255,255,255,.08);
	color: #fff; border: 0;
	width: 40px; height: 40px;
	border-radius: 50%;
	font-size: 18px;
	display: grid; place-items: center;
}
.ev-floatnav-panel__caption {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 32px;
}
.ev-backdrop {
	position: fixed; inset: 0;
	background: rgba(0,0,0,.45);
	opacity: 0;
	pointer-events: none;
	transition: opacity var(--t-overlay) var(--ease-out);
	z-index: 95;
}
.ev-backdrop.is-visible { opacity: 1; pointer-events: auto; }
@media (max-width: 700px) {
	.ev-floatnav { right: 16px; top: 130px; bottom: auto; }
}

/* ---------- Mobile menu ---------- */
.ev-mobile-menu {
	position: fixed; inset: 0;
	background: var(--bg-deeper);
	color: #fff;
	z-index: 110;
	padding: 80px 28px 40px;
	transform: translateX(100%);
	transition: transform 380ms var(--ease-drawer);
	overflow-y: auto;
}
.ev-mobile-menu.is-open { transform: none; }

/* Reset any list that lands here — covers both .ev-menu (fallback) and .menu (WP nav) */
.ev-mobile-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	/* Override desktop .ev-menu { display: flex } */
	display: block;
}

/* Override the desktop nav underline animation on .ev-menu a */
.ev-mobile-menu a::after { display: none !important; }

/* Top-level items */
.ev-mobile-menu > ul > li,
.ev-mobile-menu > .menu > li {
	border-bottom: 1px solid rgba(255,255,255,.10);
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* Top-level links */
.ev-mobile-menu > ul > li > a,
.ev-mobile-menu > .menu > li > a {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 0;
	font-family: var(--f-display);
	font-size: clamp(22px, 6vw, 28px);
	font-weight: 400;
	color: #fff;
	letter-spacing: -0.02em;
}
.ev-mobile-menu > ul > li > a:hover,
.ev-mobile-menu > .menu > li > a:hover { color: var(--brand); }

/* Mobile Submenu Toggle Button */
.ev-mobile-toggle {
	background: transparent;
	border: 0;
	color: rgba(255,255,255,.5);
	padding: 16px;
	display: grid;
	place-items: center;
	cursor: pointer;
	margin-left: auto;
}
.ev-mobile-toggle svg {
	transition: transform 0.3s var(--ease-out);
}
.ev-mobile-toggle.is-open svg {
	transform: rotate(180deg);
}
.ev-mobile-menu .sub-menu,
.ev-mobile-menu .ev-submenu {
	width: 100%;
}

/* WP sub-menu (when a real nav menu has children) */
.ev-mobile-menu .sub-menu {
	border-left: 1px solid rgba(255,255,255,.12);
	padding-left: 16px;
	margin-bottom: 12px;
	display: block;
}
.ev-mobile-menu .sub-menu li { border-bottom: 0; }
.ev-mobile-menu .sub-menu li a {
	display: block;
	padding: 10px 0;
	font-family: var(--f-display);
	font-size: 17px;
	font-weight: 400;
	color: rgba(255,255,255,.72);
}
.ev-mobile-menu .sub-menu li a:hover { color: #fff; }

.ev-mobile-menu__close {
	position: absolute; top: 16px; right: 16px;
	background: rgba(255,255,255,.10); color: #fff; border: 0;
	width: 44px; height: 44px; border-radius: 50%; font-size: 22px;
	display: grid; place-items: center; cursor: pointer;
	line-height: 1;
}

/* =========================================================
   HERO
   ========================================================= */
.ev-hero {
	padding: clamp(40px, 5vw, 80px) 0 clamp(48px, 6vw, 96px);
	position: relative;
	overflow: hidden;
}
.ev-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
	gap: clamp(36px, 4.5vw, 64px);
	align-items: end;
}
.ev-hero__copy { min-width: 0; }
.ev-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(44px, 6vw, 96px);
	line-height: 1.02;
	letter-spacing: -0.045em;
	margin: 20px 0 24px;
	color: var(--ink);
}
.ev-hero__title em { font-style: normal; font-weight: 500; color: var(--brand); }
.ev-hero__lede {
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.55;
	color: var(--ink-soft);
	max-width: 48ch;
}
.ev-hero__side {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 32ch;
	justify-self: end;
	font-size: 14.5px;
	color: var(--ink-soft);
	line-height: 1.55;
	padding-bottom: 6px; /* aligns the meta block visually with the CTA row */
}
.ev-hero__side .ev-eyebrow { color: var(--mute); }
.ev-hero__side p { margin: 0; }

.ev-hero__factbar {
	margin-top: clamp(48px, 6vw, 80px);
	padding-top: 24px;
	border-top: 1px solid var(--line);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.ev-fact__num {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(34px, 3.2vw, 44px);
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--ink);
}
.ev-fact__num em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-fact__lbl {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-top: 10px;
}
@media (max-width: 900px) {
	.ev-hero__grid { grid-template-columns: 1fr; gap: 24px; }
	.ev-hero__side { justify-self: start; }
	.ev-hero__factbar { grid-template-columns: 1fr 1fr; }
}

/* =========================================================
   CLIENT WORDMARK STRIP
   ========================================================= */
.ev-clients {
	padding: clamp(36px, 5vw, 56px) 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.ev-clients__title {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 24px;
	display: flex; align-items: center; gap: 12px;
}
.ev-clients__title::before {
	content: ""; width: 22px; height: 1px; background: var(--accent);
}
.ev-clients__row {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}
.ev-mark {
	display: flex; align-items: center; gap: 10px;
	padding: 14px 16px;
	border-radius: 999px;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 15px;
	letter-spacing: -0.01em;
	white-space: nowrap;
	overflow: hidden;
}
.ev-mark__icon { flex: 0 0 auto; width: 28px; height: 28px; }
.ev-mark__name { font-family: var(--f-display); font-weight: 500; }
@media (max-width: 1000px) { .ev-clients__row { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 600px)  { .ev-clients__row { grid-template-columns: repeat(2,1fr); } }

/* =========================================================
   MANIFESTO
   ========================================================= */
.ev-manifesto {
	padding: clamp(80px, 9vw, 140px) 0;
}
.ev-manifesto__body {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 54px);
	line-height: 1.2;
	letter-spacing: -0.035em;
	max-width: 26ch;
	color: var(--ink);
}
.ev-manifesto__body em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-manifesto__sig {
	display: grid;
	grid-template-columns: 1fr;
	gap: 6px;
	margin-top: 36px;
}
.ev-manifesto__sig-line {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}

/* =========================================================
   CAPABILITIES INDEX
   ========================================================= */
.ev-index { list-style: none; padding: 0; margin: 0; }
.ev-index__row {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	align-items: center;
	gap: clamp(20px, 4vw, 56px);
	padding: clamp(22px, 2.4vw, 34px) 0;
	border-top: 1px solid var(--line);
	color: var(--ink);
	transition: padding var(--t-ui) var(--ease-out);
}
.ev-index__row:last-child { border-bottom: 1px solid var(--line); }
.ev-section--dark .ev-index__row { border-top-color: var(--line-on-dark); color: #fff; }
.ev-section--dark .ev-index__row:last-child { border-bottom-color: var(--line-on-dark); }
@media (hover: hover) and (pointer: fine) {
	.ev-index__row:hover { padding-left: 14px; }
	.ev-index__row:hover .ev-index__title { color: var(--accent); }
	.ev-index__row:hover .ev-index__arrow { transform: translateX(6px); color: var(--accent); }
}
.ev-index__num {
	font-family: var(--f-mono);
	font-size: 13px;
	color: var(--mute);
	letter-spacing: .08em;
}
.ev-index__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(26px, 2.8vw, 40px);
	letter-spacing: -0.035em;
	line-height: 1.1;
	transition: color var(--t-hover) var(--ease-out);
}
.ev-index__title em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-index__hint {
	display: block;
	font-family: var(--f-sans);
	font-size: 14px;
	font-weight: 400;
	color: var(--mute);
	letter-spacing: 0;
	margin-top: 6px;
}
.ev-section--dark .ev-index__hint { color: rgba(255,255,255,.65); }
.ev-index__arrow {
	color: var(--mute);
	transition: transform var(--t-hover) var(--ease-out), color var(--t-hover) var(--ease-out);
}
@media (max-width: 700px) {
	.ev-index__row { grid-template-columns: 40px 1fr; }
	.ev-index__arrow { display: none; }
}

/* =========================================================
   SELECTED WORK
   ========================================================= */
.ev-work { display: grid; gap: clamp(48px, 6vw, 96px); }
.ev-work__case {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(28px, 5vw, 64px);
	align-items: center;
}
.ev-work__case--alt { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
.ev-work__case--alt .ev-work__art { order: 2; }
.ev-work__art {
	position: relative;
	aspect-ratio: 5/6;
	border-radius: var(--r-md);
	overflow: hidden;
	background: var(--bg-deep);
	box-shadow: var(--shadow);
}
.ev-work__art img { width: 100%; height: 100%; object-fit: cover; }
.ev-work__art__badge {
	position: absolute;
	top: 18px; left: 18px;
	background: #fff; color: var(--ink);
	padding: 6px 12px;
	border-radius: 999px;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.ev-work__art__corner {
	position: absolute;
	bottom: 18px; right: 18px;
	color: #fff;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	opacity: .85;
}
.ev-work__num {
	font-family: var(--f-mono);
	font-size: 13px;
	color: var(--mute);
	letter-spacing: .18em;
	margin-bottom: 18px;
}
.ev-work__client {
	font-family: var(--f-display);
	font-style: normal;
	font-weight: 300;
	font-size: clamp(20px, 2vw, 26px);
	color: var(--brand);
	margin: 0 0 6px;
}
.ev-work__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 46px);
	letter-spacing: -0.04em;
	line-height: 1.12;
	margin: 0 0 24px;
}
.ev-work__desc { color: var(--ink-soft); font-size: 16px; max-width: 44ch; }
.ev-work__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 32px;
	border-top: 1px solid var(--line);
	padding-top: 24px;
}
.ev-work__metric strong {
	display: block;
	font-family: var(--f-display);
	font-size: clamp(24px, 2.6vw, 34px);
	font-weight: 300;
	letter-spacing: -0.045em;
	color: var(--ink);
}
.ev-work__metric em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-work__metric span {
	display: block;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-top: 6px;
}
.ev-work__cta { margin-top: 28px; display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.ev-work__cta svg { transition: transform var(--t-hover) var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
	.ev-work__cta:hover { color: var(--accent); }
	.ev-work__cta:hover svg { transform: translateX(4px); }
}
@media (max-width: 900px) {
	.ev-work__case, .ev-work__case--alt { grid-template-columns: 1fr; }
	.ev-work__case--alt .ev-work__art { order: 0; }
	.ev-work__art { aspect-ratio: 4/3; }
}

/* =========================================================
   FRAMEWORK
   ========================================================= */
.ev-framework { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.ev-framework__step {
	padding: 28px 24px 28px 0;
	border-left: 1px solid var(--line-on-dark);
	position: relative;
}
.ev-framework__step:first-child { border-left: 0; padding-left: 0; }
.ev-framework__step:not(:first-child) { padding-left: 28px; }
.ev-framework__num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 18px;
}
.ev-framework__title {
	font-family: var(--f-display);
	font-style: normal;
	font-size: clamp(28px, 3vw, 40px);
	font-weight: 300;
	letter-spacing: -0.035em;
	line-height: 1.1;
	color: #fff;
	margin: 0 0 14px;
}
.ev-framework__desc {
	font-size: 15px;
	color: rgba(255,255,255,.75);
	line-height: 1.5;
}
@media (max-width: 1000px) {
	.ev-framework { grid-template-columns: 1fr 1fr; }
	.ev-framework__step { border-left: 0 !important; padding-left: 0 !important; border-top: 1px solid var(--line-on-dark); padding-top: 24px; }
}
@media (max-width: 600px) {
	.ev-framework { grid-template-columns: 1fr; }
}

/* =========================================================
   QUOTE
   ========================================================= */
.ev-quote {
	font-family: var(--f-display);
	font-style: normal;
	font-weight: 300;
	font-size: clamp(26px, 3.2vw, 44px);
	line-height: 1.28;
	letter-spacing: -0.03em;
	color: var(--ink);
	max-width: 30ch;
}
.ev-section--dark .ev-quote { color: #fff; }
.ev-quote::before { content: "\201C"; color: var(--accent); padding-right: .1em; }
.ev-quote::after  { content: "\201D"; color: var(--accent); padding-left: .05em; }
.ev-quote__author {
	display: block;
	font-family: var(--f-sans);
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0;
	color: var(--ink);
	margin-top: 28px;
}
.ev-section--dark .ev-quote__author { color: #fff; }
.ev-quote__company {
	display: block;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-top: 4px;
}

/* =========================================================
   STATS BAND
   ========================================================= */
.ev-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
}
.ev-stat {
	padding: clamp(28px, 4vw, 56px) clamp(20px, 3vw, 40px);
	border-left: 1px solid var(--line);
}
.ev-section--dark .ev-stat { border-left-color: var(--line-on-dark); }
.ev-stat:first-child { border-left: 0; padding-left: 0; }
.ev-stat__num {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(60px, 8vw, 120px);
	line-height: 0.95;
	letter-spacing: -0.055em;
	color: var(--ink);
}
.ev-section--dark .ev-stat__num { color: #fff; }
.ev-stat__num em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-stat__lbl {
	margin-top: 18px;
	font-size: 14px;
	color: var(--ink-soft);
	max-width: 28ch;
}
.ev-section--dark .ev-stat__lbl { color: rgba(255,255,255,.7); }
@media (max-width: 800px) {
	.ev-stats { grid-template-columns: 1fr; }
	.ev-stat { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; }
	.ev-section--dark .ev-stat { border-top-color: var(--line-on-dark); }
}

/* =========================================================
   CONTACT BAND (final CTA)
   ========================================================= */
.ev-contactband {
	padding: clamp(80px, 11vw, 160px) 0;
	background: var(--bg-deep);
	color: #fff;
	position: relative;
	overflow: hidden;
}
.ev-contactband__art {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 80% 30%, rgba(27,160,230,.25), transparent 50%),
		radial-gradient(circle at 90% 80%, rgba(27,160,230,.10), transparent 40%);
	z-index: 1;
	pointer-events: none;
}
.ev-contactband__inner { position: relative; z-index: 2; }
.ev-contactband__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(48px, 7vw, 108px);
	line-height: 1.0;
	letter-spacing: -0.05em;
	margin: 28px 0;
	color: #fff;
	max-width: 14ch;
}
.ev-contactband__title em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-contactband__sub {
	font-size: clamp(18px, 1.5vw, 22px);
	line-height: 1.5;
	color: rgba(255,255,255,.78);
	max-width: 46ch;
}
.ev-contactband__grid {
	margin-top: clamp(56px, 8vw, 96px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	border-top: 1px solid var(--line-on-dark);
	padding-top: 32px;
}
.ev-contactband__cell .label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
	margin-bottom: 10px;
}
.ev-contactband__cell .val {
	font-family: var(--f-display);
	font-size: 22px;
	font-weight: 400;
	color: #fff;
}
.ev-contactband__cell a:hover .val { color: var(--accent); }
@media (max-width: 700px) { .ev-contactband__grid { grid-template-columns: 1fr; } }

/* =========================================================
   FOOTER
   ========================================================= */
.ev-footer {
	background: var(--bg-deeper);
	color: rgba(255,255,255,.7);
	padding: 80px 0 28px;
}
.ev-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 48px;
}
.ev-footer h4 {
	color: #fff;
	font-family: var(--f-mono);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .18em;
	margin: 0 0 18px;
	font-weight: 500;
}
.ev-footer ul { list-style: none; padding: 0; margin: 0; }
.ev-footer li { padding: 6px 0; font-size: 14px; }
.ev-footer a:hover { color: var(--accent); }
.ev-footer__brand .ev-logo { color: #fff; }
.ev-footer__brand p { color: rgba(255,255,255,.55); max-width: 36ch; font-size: 14px; margin-top: 14px; }
.ev-footer__bottom {
	margin-top: 64px;
	padding-top: 24px;
	border-top: 1px solid rgba(255,255,255,.10);
	display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px;
	color: rgba(255,255,255,.45);
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
}
@media (max-width: 900px) { .ev-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 540px) { .ev-footer__grid { grid-template-columns: 1fr; } }

/* =========================================================
   DIAGNOSTIC CHART — "The Problem" section
   Symptom rows with animated severity meters.
   ========================================================= */
.ev-diag {
	display: grid;
	border-top: 1px solid var(--line-on-dark);
}
.ev-diag__row {
	display: grid;
	grid-template-columns: 200px minmax(0, 1.6fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 64px);
	padding: clamp(28px, 3.4vw, 44px) 0;
	border-bottom: 1px solid var(--line-on-dark);
	align-items: start;
}
.ev-diag__num {
	font-family: var(--f-sans);
	font-size: 11px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
	padding-top: 10px;
}
.ev-diag__title {
	font-family: var(--f-display);
	font-style: normal;
	font-weight: 300;
	font-size: clamp(22px, 2.8vw, 36px);
	line-height: 1.18;
	letter-spacing: -0.035em;
	color: #fff;
	margin: 0 0 8px;
}
.ev-diag__sub {
	color: rgba(255,255,255,.62);
	font-size: 14.5px;
	line-height: 1.55;
	margin: 0;
	max-width: 38ch;
}
.ev-diag__right {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-top: 12px;
}
.ev-diag__meter {
	width: 100%;
	height: 4px;
	background: rgba(255,255,255,.08);
	border-radius: 999px;
	overflow: hidden;
	position: relative;
}
.ev-diag__meter::after {
	content: "";
	position: absolute;
	inset: 0;
	width: var(--severity, 70%);
	background: linear-gradient(90deg, var(--brand) 0%, var(--brand-soft) 100%);
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform 1100ms var(--ease-out);
}
.ev-diag__row.is-in .ev-diag__meter::after { transform: scaleX(1); }
.ev-diag__legend {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-family: var(--f-sans);
	font-size: 10.5px;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
	font-weight: 500;
}
.ev-diag__legend .level { color: var(--brand); }

@media (max-width: 900px) {
	.ev-diag__row { grid-template-columns: 90px 1fr; gap: 18px; }
	.ev-diag__right { grid-column: 1 / -1; padding-top: 0; }
}

/* The Fix block beneath the diagnostic */
.ev-diag-fix {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 80px);
	margin-top: clamp(56px, 7vw, 96px);
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid var(--line-on-dark);
	align-items: end;
}
.ev-diag-fix__label {
	font-family: var(--f-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--brand);
	margin-bottom: 18px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
.ev-diag-fix__label::before {
	content: "";
	width: 22px; height: 1px;
	background: var(--brand);
}
.ev-diag-fix__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(36px, 4.6vw, 68px);
	line-height: 1.04;
	letter-spacing: -0.045em;
	color: #fff;
	margin: 0;
	max-width: 14ch;
}
.ev-diag-fix__title em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-diag-fix__copy {
	color: rgba(255,255,255,.7);
	font-size: 16px;
	line-height: 1.55;
	margin: 0 0 24px;
	max-width: 42ch;
}
@media (max-width: 800px) {
	.ev-diag-fix { grid-template-columns: 1fr; gap: 28px; }
}

/* =========================================================
   HOVER IMAGE (cursor-follow) — for sector index rows
   ========================================================= */
.ev-hover-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 320px;
	aspect-ratio: 4/5;
	pointer-events: none;
	border-radius: var(--r-md);
	overflow: hidden;
	background: var(--bg-deep);
	box-shadow: var(--shadow);
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.94);
	transition:
		opacity 260ms var(--ease-out),
		transform 320ms var(--ease-out);
	z-index: 5;
	will-change: transform, opacity, left, top;
}
.ev-hover-img.is-visible {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}
.ev-hover-img img,
.ev-hover-img .ev-hover-img__slot {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 260ms var(--ease-out);
}
.ev-hover-img .ev-hover-img__slot.is-active { opacity: 1; }
/* The host list needs position:relative so the absolute image is positioned relative to it */
[data-sector-list] { position: relative; }
/* Touch / reduced motion: never show the floating image */
@media (hover: none), (pointer: coarse) {
	.ev-hover-img { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
	.ev-hover-img { display: none !important; }
}

/* =========================================================
   REVEAL — content visible by default, JS opts-in to animate
   ========================================================= */
.reveal { opacity: 1; transform: none; }
.js-on .reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 480ms var(--ease-out), transform 520ms var(--ease-out);
}
.js-on .reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-on .reveal { opacity: 1; transform: none; } }
@media print { .reveal { opacity: 1 !important; transform: none !important; } }

/* =========================================================
   INNER PAGE HEADER (used by template-parts)
   ========================================================= */
.ev-page-head {
	padding: clamp(96px, 11vw, 160px) 0 clamp(48px, 6vw, 96px);
	border-bottom: 1px solid var(--line);
}
.ev-page-head h1 {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(48px, 7vw, 104px);
	letter-spacing: -0.05em;
	line-height: 1.02;
	margin: 28px 0 24px;
}
.ev-page-head h1 em { font-style: normal; color: var(--brand); font-weight: 500; }
.ev-page-head .ev-lede { max-width: 50ch; }

/* =========================================================
   GENERIC CARD (insights, posts)
   ========================================================= */
.ev-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}
.ev-card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	transition: transform var(--t-ui) var(--ease-out);
}
.ev-card:active { transform: scale(0.99); }
.ev-card__media {
	aspect-ratio: 4/3;
	border-radius: var(--r-md);
	overflow: hidden;
	background: var(--bg-deep);
}
.ev-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 560ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
	.ev-card:hover { transform: translateY(-3px); }
	.ev-card:hover .ev-card__media img { transform: scale(1.04); }
}
.ev-card__tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--accent);
}
.ev-card__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: 24px;
	line-height: 1.22;
	letter-spacing: -0.035em;
	margin: 0;
}
.ev-card__excerpt { font-size: 14px; color: var(--ink-soft); margin: 0; }
.ev-card__link {
	font-size: 13px;
	font-weight: 500;
	color: var(--ink);
	display: inline-flex; gap: 6px; align-items: center;
}
@media (max-width: 900px) { .ev-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ev-cards { grid-template-columns: 1fr; } }

/* =========================================================
   CONTACT FORM
   ========================================================= */
.ev-form {
	display: grid;
	gap: 20px;
	max-width: 580px;
}
.ev-form .row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ev-form label {
	display: block;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 8px;
}
.ev-form input, .ev-form textarea, .ev-form select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: #fff;
	font: inherit;
	color: var(--ink);
	transition: border-color var(--t-hover) var(--ease-out), box-shadow var(--t-hover) var(--ease-out);
}
.ev-form input:focus, .ev-form textarea:focus, .ev-form select:focus {
	outline: 0;
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(27,160,230,.22);
}
.ev-form input::placeholder, .ev-form textarea::placeholder {
	color: var(--ink);
	opacity: 0.4;
}
.ev-form textarea { min-height: 140px; resize: vertical; }
@media (max-width: 600px) { .ev-form .row { grid-template-columns: 1fr; } }

.ev-contact-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 40px;
	align-items: start;
}
@media (min-width: 900px) {
	.ev-contact-layout {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: clamp(32px, 6vw, 80px);
	}
}

/* =========================================================
   UTILITIES
   ========================================================= */
.ev-rule { height: 1px; background: var(--line); margin: clamp(48px, 6vw, 80px) 0; }
.ev-section--dark .ev-rule { background: var(--line-on-dark); }

/* Print niceties */
@media print {
	.ev-floatnav, .ev-floatnav-panel, .ev-backdrop, .ev-mobile-menu, .ev-burger { display: none !important; }
	.ev-header { position: static; }
}

/* =========================================================
   PREMIUM DESIGN UPGRADES v3
   Enhances every section with depth, texture and micro-interactions.
   No font or colour variable changes — design layer only.
   ========================================================= */

/* --- Hero: animated gradient mesh background --- */
.ev-hero {
	padding: clamp(64px, 8vw, 120px) 0 clamp(56px, 7vw, 100px);
	background:
		radial-gradient(ellipse 80% 60% at 10% 90%, rgba(27,160,230,.08) 0%, transparent 60%),
		radial-gradient(ellipse 60% 50% at 85% 20%, rgba(27,160,230,.06) 0%, transparent 50%),
		var(--bg-paper);
}
.ev-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(27,160,230,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27,160,230,.04) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 75%);
	pointer-events: none;
}
.ev-hero__title {
	font-size: clamp(44px, 5.8vw, 92px);
	margin: 24px 0 28px;
	position: relative;
}

/* Hero corporate image */
.ev-hero__image {
	border-radius: 0;
	overflow: hidden;
	position: relative;
	align-self: center;
}
.ev-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	aspect-ratio: 4/5;
	border-radius: 0;
	filter: saturate(.9) contrast(1.02);
	transition: transform 600ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-hero__image:hover img { transform: scale(1.03); }
}
.ev-hero__image::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(5,6,8,.25) 100%);
	pointer-events: none;
}
@media (max-width: 900px) {
	.ev-hero__image { display: none; }
}

/* Stat bar: glassmorphism cards */
.ev-hero__factbar {
	margin-top: clamp(56px, 7vw, 96px);
	padding-top: 0;
	border-top: 0;
	gap: 16px;
}
.ev-fact {
	background: rgba(255,255,255,.65);
	backdrop-filter: blur(12px) saturate(140%);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
	border: 1px solid rgba(228,232,238,.6);
	border-radius: var(--r-md);
	padding: clamp(20px, 2.5vw, 32px);
	transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-fact:hover {
		transform: translateY(-3px);
		box-shadow: 0 16px 48px -16px rgba(12,19,32,.14);
	}
}
.ev-fact__num { font-size: clamp(32px, 3.2vw, 46px); }

/* --- Client strip: refined cards --- */
.ev-clients { padding: clamp(44px, 5vw, 64px) 0; }
.ev-mark {
	padding: 16px 20px;
	border: 1px solid var(--line);
	transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-mark:hover {
		transform: translateY(-2px);
		box-shadow: var(--shadow-soft);
		border-color: rgba(27,160,230,.25);
	}
}

/* --- Manifesto: editorial punch --- */
.ev-manifesto {
	padding: clamp(96px, 11vw, 180px) 0;
	position: relative;
}
.ev-manifesto::before {
	content: "\201C";
	position: absolute;
	top: clamp(40px, 5vw, 80px);
	left: var(--gap);
	font-family: var(--f-display);
	font-size: clamp(180px, 20vw, 340px);
	line-height: .8;
	color: rgba(27,160,230,.06);
	pointer-events: none;
	z-index: 0;
}
.ev-manifesto__body {
	position: relative;
	z-index: 1;
	font-size: clamp(30px, 3.6vw, 56px);
	padding-left: clamp(24px, 3vw, 48px);
	border-left: 3px solid var(--brand);
}

/* --- Capabilities: richer hover states --- */
.ev-index__row {
	border-radius: var(--r-sm);
	padding-left: 8px;
	padding-right: 8px;
	transition: padding var(--t-ui) var(--ease-out), background-color 260ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-index__row:hover {
		padding-left: 20px;
		background: rgba(27,160,230,.035);
	}
}
.ev-index__num {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--bg-paper);
	border: 1px solid var(--line);
	font-size: 12px;
	transition: background-color 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-index__row:hover .ev-index__num {
		background: var(--brand);
		border-color: var(--brand);
		color: #fff;
	}
}
.ev-section--dark .ev-index__num {
	background: rgba(255,255,255,.06);
	border-color: rgba(255,255,255,.12);
	color: rgba(255,255,255,.5);
}

/* --- Problem section: gradient cards --- */
.ev-section--dark {
	background:
		radial-gradient(ellipse 50% 80% at 20% 0%, rgba(27,160,230,.10) 0%, transparent 60%),
		var(--bg-deep);
}

/* --- Case study cards: premium depth --- */
.ev-work__art {
	border-radius: var(--r-lg);
	box-shadow: 0 32px 80px -24px rgba(12,19,32,.28);
	transition: transform 480ms var(--ease-out), box-shadow 480ms var(--ease-out);
}
.ev-work__art::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, transparent 40%, rgba(5,6,8,.45) 100%);
	pointer-events: none;
	z-index: 1;
}
.ev-work__art__badge { z-index: 2; }
.ev-work__art__corner { z-index: 2; }
.ev-work__art img {
	transition: transform 680ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-work__case:hover .ev-work__art {
		transform: scale(1.015);
		box-shadow: 0 40px 100px -28px rgba(12,19,32,.35);
	}
	.ev-work__case:hover .ev-work__art img {
		transform: scale(1.06);
	}
}
.ev-work__client { font-size: clamp(22px, 2.2vw, 28px); }
.ev-work__title { font-size: clamp(30px, 3.4vw, 48px); }
.ev-work__metrics {
	border-top: 2px solid var(--line);
}
.ev-work__metric strong { font-size: clamp(24px, 2.6vw, 34px); }
.ev-work__cta {
	font-size: 15px;
	padding: 10px 0;
	border-bottom: 1.5px solid var(--ink);
	transition: border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-work__cta:hover { border-color: var(--accent); }
}

/* --- Framework: connected steps --- */
.ev-framework__step {
	padding: 32px 28px 32px 0;
	position: relative;
}
.ev-framework__step:not(:first-child)::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 60%;
	transform: translateY(-50%);
	background: linear-gradient(180deg, transparent, var(--brand), transparent);
	opacity: .4;
}
.ev-framework__num {
	width: 40px;
	height: 40px;
	display: inline-grid;
	place-items: center;
	border-radius: 50%;
	border: 1.5px solid var(--brand);
	font-size: 11px;
	margin-bottom: 20px;
	transition: background-color 240ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-framework__step:hover .ev-framework__num {
		background: var(--brand);
		color: #fff;
	}
	.ev-framework__step:hover .ev-framework__title {
		color: var(--brand);
	}
}
.ev-framework__title {
	transition: color 200ms var(--ease-out);
}

/* --- Quote: visual treatment --- */
.ev-quote {
	font-size: clamp(26px, 3.2vw, 44px);
	position: relative;
	padding: clamp(40px, 4vw, 64px);
	padding-top: clamp(56px, 6vw, 80px);
	background: var(--bg);
	border-radius: var(--r-lg);
	box-shadow: var(--shadow-soft);
	border: 1px solid var(--line);
}
.ev-quote::before {
	font-size: clamp(64px, 8vw, 120px);
	position: absolute;
	top: 8px;
	left: clamp(24px, 3vw, 48px);
	line-height: 1;
	opacity: .35;
}
.ev-quote::after {
	content: none !important;
}
.ev-quote__author { margin-top: 32px; font-size: 15px; display: block; }
.ev-quote__company { margin-top: 6px; display: block; }

/* --- Insight cards: premium treatment --- */
.ev-card {
	background: var(--bg);
	border-radius: var(--r-md);
	border: 1px solid var(--line);
	overflow: hidden;
	padding: 0 0 24px;
	transition: transform var(--t-ui) var(--ease-out), box-shadow var(--t-ui) var(--ease-out), border-color var(--t-ui) var(--ease-out);
}
.ev-card__media { border-radius: 0; }
.ev-card__tag,
.ev-card__title,
.ev-card__excerpt,
.ev-card__link { padding: 0 24px; }
.ev-card__tag { padding-top: 20px; }
@media (hover: hover) and (pointer: fine) {
	.ev-card:hover {
		transform: translateY(-6px);
		box-shadow: 0 24px 64px -20px rgba(12,19,32,.16);
		border-color: rgba(27,160,230,.2);
	}
}
.ev-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(5,6,8,.2) 100%);
	pointer-events: none;
	opacity: 0;
	transition: opacity 300ms var(--ease-out);
}
.ev-card__media { position: relative; }
@media (hover: hover) and (pointer: fine) {
	.ev-card:hover .ev-card__media::after { opacity: 1; }
}

/* --- CTA Section: completely redesigned --- */
.ev-cta-section {
	position: relative;
	overflow: hidden;
	background: var(--bg-deep);
	color: #fff;
	padding: clamp(100px, 14vw, 220px) 0 clamp(60px, 8vw, 100px);
}

/* Background layer */
.ev-cta-section__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

/* Animated grid lines */
.ev-cta-section__grid-lines {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(27,160,230,.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27,160,230,.06) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, rgba(0,0,0,.6) 0%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, rgba(0,0,0,.6) 0%, transparent 70%);
}

/* Floating gradient orbs */
.ev-cta-section__orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(80px);
	opacity: .45;
}
.ev-cta-section__orb--1 {
	width: 500px; height: 500px;
	top: -15%; right: -5%;
	background: radial-gradient(circle, rgba(27,160,230,.7), transparent 70%);
	animation: ev-orb-float 12s ease-in-out infinite;
}
.ev-cta-section__orb--2 {
	width: 350px; height: 350px;
	bottom: -10%; left: 5%;
	background: radial-gradient(circle, rgba(9,124,188,.5), transparent 70%);
	animation: ev-orb-float 16s ease-in-out infinite reverse;
}
.ev-cta-section__orb--3 {
	width: 200px; height: 200px;
	top: 40%; left: 45%;
	background: radial-gradient(circle, rgba(27,160,230,.4), transparent 70%);
	animation: ev-orb-float 10s ease-in-out infinite 2s;
}

@keyframes ev-orb-float {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(30px, -20px) scale(1.1); }
	66% { transform: translate(-20px, 15px) scale(0.95); }
}

/* Content layer */
.ev-cta-section__inner {
	position: relative;
	z-index: 2;
}

/* Centered hero block */
.ev-cta-section__hero {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}

.ev-cta-section__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--f-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--brand);
	padding: 8px 20px;
	border: 1px solid rgba(27,160,230,.3);
	border-radius: 999px;
	background: rgba(27,160,230,.08);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.ev-cta-section__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(44px, 6.6vw, 88px);
	line-height: 1.02;
	letter-spacing: -0.05em;
	color: #fff;
	margin: clamp(28px, 4vw, 48px) 0 clamp(20px, 2.5vw, 32px);
}
.ev-cta-section__title em {
	font-style: normal;
	color: var(--brand);
	font-weight: 300;
}

.ev-cta-section__sub {
	font-size: clamp(17px, 1.4vw, 21px);
	line-height: 1.6;
	color: rgba(255,255,255,.7);
	max-width: 52ch;
	margin: 0 auto;
}

.ev-cta-section__actions {
	margin-top: clamp(32px, 4vw, 52px);
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
}
/* Override button styles in this dark section */
.ev-cta-section .ev-btn--primary {
	background: var(--brand);
	color: #fff;
	box-shadow: 0 0 32px -4px rgba(27,160,230,.5);
	border: 1px solid rgba(255,255,255,.1);
}
@media (hover: hover) and (pointer: fine) {
	.ev-cta-section .ev-btn--primary:hover {
		background: #fff;
		color: var(--ink);
		box-shadow: 0 0 48px -4px rgba(27,160,230,.6);
	}
}
.ev-cta-section .ev-btn--ghost {
	color: #fff;
	border-color: rgba(255,255,255,.3);
}
@media (hover: hover) and (pointer: fine) {
	.ev-cta-section .ev-btn--ghost:hover {
		background: rgba(255,255,255,.1);
		border-color: rgba(255,255,255,.5);
	}
}

/* Glassmorphism info cards */
.ev-cta-section__cards {
	margin-top: clamp(72px, 10vw, 140px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.ev-cta-section__card {
	background: rgba(255,255,255,.04);
	backdrop-filter: blur(16px) saturate(120%);
	-webkit-backdrop-filter: blur(16px) saturate(120%);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: var(--r-md);
	padding: clamp(24px, 3vw, 36px);
	text-decoration: none;
	color: #fff;
	transition: transform 280ms var(--ease-out), background-color 280ms var(--ease-out), border-color 280ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-cta-section__card:hover {
		transform: translateY(-4px);
		background: rgba(255,255,255,.08);
		border-color: rgba(27,160,230,.3);
	}
}
.ev-cta-section__card-icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 0;
	background: rgba(27,160,230,.12);
	border: 1px solid rgba(27,160,230,.2);
	color: var(--brand);
	margin-bottom: 20px;
}
.ev-cta-section__card-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin-bottom: 8px;
}
.ev-cta-section__card-value {
	font-family: var(--f-display);
	font-size: clamp(16px, 1.3vw, 20px);
	font-weight: 400;
	color: #fff;
}

@media (max-width: 700px) {
	.ev-cta-section__cards { grid-template-columns: 1fr; }
	.ev-cta-section__hero { text-align: left; }
	.ev-cta-section__sub { margin: 0; }
	.ev-cta-section__actions { justify-content: flex-start; }
}

/* --- Footer: glow separator --- */
.ev-footer::before {
	content: "";
	display: block;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--brand), transparent);
	margin-bottom: 80px;
	opacity: .3;
}
.ev-footer a {
	transition: color 180ms var(--ease-out);
}

/* --- Section transitions: smoother alternation --- */
.ev-section--paper + .ev-section--dark,
.ev-section + .ev-section--dark {
	border-top: 0;
}
.ev-section--paper {
	background:
		radial-gradient(ellipse 50% 40% at 90% 80%, rgba(27,160,230,.03) 0%, transparent 60%),
		var(--bg-paper);
}

/* --- Global polish --- */
.ev-meta__label::after {
	width: 32px;
	height: 3px;
	border-radius: 2px;
}
.ev-meta__title {
	font-size: clamp(38px, 5.2vw, 64px);
}
.ev-eyebrow::before {
	width: 26px;
	height: 2px;
	border-radius: 1px;
}
.ev-lede {
	font-size: clamp(19px, 1.6vw, 23px);
}

/* Smooth page-level transitions */
.ev-section {
	transition: background-color 400ms var(--ease-out);
}

/* Scrollbar styling (webkit) */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--bg-paper); }
::-webkit-scrollbar-thumb {
	background: rgba(27,160,230,.3);
	border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover { background: var(--brand); }

/* =========================================================
   MANIFESTO SPLIT LAYOUT — text + corporate image
   ========================================================= */
.ev-manifesto__layout {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(48px, 6vw, 96px);
	align-items: stretch;
}
.ev-manifesto__image {
	border-radius: 0;
	overflow: hidden;
	position: relative;
	min-height: 320px;
}
.ev-manifesto__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
	filter: saturate(.9);
	transition: transform 600ms var(--ease-out), filter 400ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-manifesto__image:hover img {
		transform: scale(1.03);
		filter: saturate(1);
	}
}
.ev-manifesto__image::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 0;
	border: 1px solid rgba(27,160,230,.12);
	pointer-events: none;
}
@media (max-width: 900px) {
	.ev-manifesto__layout { grid-template-columns: 1fr; }
	.ev-manifesto__image { max-height: 360px; }
}

/* =========================================================
   TECHNOLOGY & AI — card grid + side image
   ========================================================= */
.ev-tech-section__layout {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: clamp(48px, 6vw, 80px);
	align-items: start;
}
.ev-tech-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
.ev-tech-card {
	padding: clamp(20px, 2.5vw, 28px);
	border-radius: var(--r-md);
	border: 1px solid var(--line);
	background: var(--bg);
	transition: transform 260ms var(--ease-out), box-shadow 260ms var(--ease-out), border-color 260ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-tech-card:hover {
		transform: translateY(-3px);
		box-shadow: 0 16px 48px -16px rgba(12,19,32,.12);
		border-color: rgba(27,160,230,.2);
	}
}
.ev-tech-card__icon {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 0;
	background: rgba(27,160,230,.08);
	border: 1px solid rgba(27,160,230,.15);
	color: var(--brand);
	margin-bottom: 16px;
}
.ev-tech-card__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0 0 8px;
}
.ev-tech-card__desc {
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--mute);
	margin: 0;
}

/* Tech section image */
.ev-tech-section__image {
	border-radius: 0;
	overflow: hidden;
	position: relative;
	aspect-ratio: 4/5;
	position: sticky;
	top: 120px;
}
.ev-tech-section__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(.85);
	transition: transform 600ms var(--ease-out), filter 400ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-tech-section__image:hover img {
		transform: scale(1.03);
		filter: saturate(1);
	}
}
.ev-tech-section__image::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, transparent 50%, rgba(5,6,8,.3) 100%);
	pointer-events: none;
}

@media (max-width: 900px) {
	.ev-tech-section__layout { grid-template-columns: 1fr; }
	.ev-tech-grid { grid-template-columns: 1fr; }
	.ev-tech-section__image {
		position: static;
		aspect-ratio: 16/9;
		max-height: 360px;
	}
}

/* =========================================================
   VERTICALS — Clinic Boost & Growth Hub
   ========================================================= */
.ev-verticals .ev-meta { margin-bottom: clamp(40px, 5vw, 64px); }

.ev-verticals__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 2.4vw, 32px);
}

.ev-vertical-card {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	min-height: 520px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

/* Clinic Boost — light, clinical, brand-blue accent */
/* Clinic Boost — deep navy blue, same treatment as Growth Hub */
.ev-vertical-card--clinic {
	background: #07294d;
}
.ev-vertical-card--clinic .ev-vertical-card__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 110% 0%, rgba(27,160,230,.3) 0%, transparent 55%),
		radial-gradient(ellipse 60% 50% at -10% 100%, rgba(92,200,255,.15) 0%, transparent 50%),
		url('https://images.unsplash.com/photo-1576091160399-112ba8d25d1d?w=900&h=700&fit=crop&q=80') center/cover no-repeat;
	opacity: .2;
}
.ev-vertical-card--clinic .ev-vertical-card__content {
	background: linear-gradient(to top, #07294d 50%, rgba(7,41,77,0) 100%);
}
.ev-vertical-card--clinic .ev-vertical-card__eyebrow { color: #5cc8ff; }
.ev-vertical-card--clinic .ev-vertical-card__title { color: #ffffff; }
.ev-vertical-card--clinic .ev-vertical-card__body { color: rgba(200,228,248,.75); }
.ev-vertical-card--clinic .ev-vertical-card__cta {
	background: rgba(92,200,255,.15);
	color: #ffffff;
	border: 1px solid rgba(92,200,255,.35);
}
.ev-vertical-card--clinic .ev-vertical-card__cta:hover {
	background: #1ba0e6;
	border-color: #1ba0e6;
}

/* Growth Hub — deep navy blue, premium */
.ev-vertical-card--hub {
	background: #07294d;
}
.ev-vertical-card--hub .ev-vertical-card__bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 60% at 110% 110%, rgba(27,160,230,.3) 0%, transparent 55%),
		radial-gradient(ellipse 60% 50% at -10% 0%, rgba(92,200,255,.15) 0%, transparent 50%),
		url('https://images.unsplash.com/photo-1552664730-d307ca884978?w=900&h=700&fit=crop&q=80') center/cover no-repeat;
	opacity: .2;
}
.ev-vertical-card--hub .ev-vertical-card__content {
	background: linear-gradient(to top, #07294d 50%, rgba(7,41,77,0) 100%);
}
.ev-vertical-card--hub .ev-vertical-card__eyebrow { color: #5cc8ff; }
.ev-vertical-card--hub .ev-vertical-card__title { color: #ffffff; }
.ev-vertical-card--hub .ev-vertical-card__body { color: rgba(200,228,248,.75); }
.ev-vertical-card--hub .ev-vertical-card__cta {
	background: rgba(92,200,255,.15);
	color: #ffffff;
	border: 1px solid rgba(92,200,255,.35);
}
.ev-vertical-card--hub .ev-vertical-card__cta:hover {
	background: #1ba0e6;
	border-color: #1ba0e6;
}

/* Shared card internals */
.ev-vertical-card__bg { transition: opacity 400ms var(--ease-out); }
@media (hover: hover) and (pointer: fine) {
	.ev-vertical-card:hover .ev-vertical-card__bg { opacity: .38; }
}

.ev-vertical-card__content {
	position: relative;
	z-index: 1;
	padding: clamp(28px, 3vw, 44px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ev-vertical-card__eyebrow {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	font-weight: 500;
}
.ev-vertical-card__title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(22px, 2vw, 30px);
	line-height: 1.2;
	letter-spacing: -0.025em;
	margin: 0;
}
.ev-vertical-card__body {
	font-size: clamp(14px, 1.1vw, 16px);
	line-height: 1.65;
	margin: 0;
	max-width: 52ch;
}
.ev-vertical-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	align-self: flex-start;
	margin-top: 8px;
	padding: 14px 26px;
	border-radius: 999px;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	transition: background 220ms var(--ease-out), border-color 220ms var(--ease-out), gap 200ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-vertical-card__cta:hover { gap: 16px; }
}

@media (max-width: 860px) {
	.ev-verticals__grid { grid-template-columns: 1fr; }
	.ev-vertical-card { min-height: 440px; }
}

/* =========================================================
   CAPABILITIES — bento grid
   ========================================================= */
.ev-bento {
	display: grid;
	grid-template-columns: 1.3fr 1fr 1.2fr;
	grid-template-rows: 360px 340px;
	gap: 16px;
}
/* Grid placement */
.ev-bento__item--a { grid-column: 1; grid-row: 1; }
.ev-bento__item--b { grid-column: 2; grid-row: 1; }
.ev-bento__item--c { grid-column: 3; grid-row: 1; }
.ev-bento__item--d { grid-column: 1; grid-row: 2; }
.ev-bento__item--e { grid-column: 2; grid-row: 2; }
.ev-bento__item--f { grid-column: 3; grid-row: 2; }

/* Base item */
.ev-bento__item {
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #fff;
	border-radius: 18px;
	transition: transform 340ms var(--ease-out), box-shadow 340ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-bento__item:hover { transform: translateY(-4px); box-shadow: 0 20px 56px -18px rgba(12,19,32,.2); }
	.ev-bento__item:hover img { transform: scale(1.05); }
}

/* Image cards */
.ev-bento__item > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 600ms var(--ease-out), filter 400ms var(--ease-out);
	filter: brightness(.78) saturate(.95);
}
/* Full-card base tint so headings always have contrast (only on image cards) */
.ev-bento__item:not(.ev-bento__item--text)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(5,10,20,.25) 0%, rgba(5,10,20,.35) 45%, rgba(5,10,20,.82) 100%);
	pointer-events: none;
	transition: background 400ms var(--ease-out);
}
.ev-bento__overlay {
	position: relative;
	z-index: 2;
	margin-top: auto;
	padding: clamp(24px, 3vw, 36px);
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-height: 50%;
	justify-content: flex-end;
	color: #fff;
}
.ev-bento__overlay .ev-bento__num {
	color: #5cc8ff;
}
.ev-bento__overlay .ev-bento__title {
	color: #fff;
	text-shadow: 0 2px 18px rgba(0,0,0,.45);
}
.ev-bento__overlay .ev-bento__desc {
	color: rgba(255,255,255,.92);
	opacity: 1;
	text-shadow: 0 1px 8px rgba(0,0,0,.4);
}
@media (hover: hover) and (pointer: fine) {
	.ev-bento__item:hover > img { filter: brightness(.85) saturate(1.05); }
}

/* Text-only cards */
.ev-bento__item--text {
	background: var(--bg);
	border: 1px solid var(--line);
	color: var(--ink);
	padding: clamp(24px, 3vw, 36px);
	justify-content: space-between;
}
.ev-bento__item--text .ev-bento__desc { color: var(--mute); }

/* Accent variant (brand-tinted) */
.ev-bento__item--accent {
	background: rgba(27,160,230,.06);
	border-color: rgba(27,160,230,.15);
}

/* Dark variant */
.ev-bento__item--dark {
	background: var(--ink);
	border-color: rgba(255,255,255,.08);
	color: #fff;
}
.ev-bento__item--dark .ev-bento__title { color: #fff; }
.ev-bento__item--dark .ev-bento__num { color: var(--brand); }
.ev-bento__item--dark .ev-bento__desc { color: rgba(255,255,255,.6); }
.ev-bento__item--dark .ev-bento__arrow { color: #fff; border-color: rgba(255,255,255,.15); }

/* Typography */
.ev-bento__num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--brand);
}
.ev-bento__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(22px, 2.2vw, 28px);
	line-height: 1.22;
	letter-spacing: -0.035em;
	letter-spacing: -0.01em;
	margin: 0;
}
.ev-bento__desc {
	font-size: 14px;
	line-height: 1.5;
	margin: 0;
	opacity: .85;
}
.ev-bento__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--line);
	color: var(--mute);
	align-self: flex-end;
	margin-top: auto;
	transition: background-color 200ms var(--ease-out), color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-bento__item:hover .ev-bento__arrow {
		background: var(--brand);
		color: #fff;
		transform: translateX(4px);
	}
}

/* Responsive */
@media (max-width: 900px) {
	.ev-bento {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 320px 280px 280px;
	}
	.ev-bento__item--a { grid-column: 1; grid-row: 1; }
	.ev-bento__item--b { grid-column: 2; grid-row: 1; }
	.ev-bento__item--c { grid-column: 1; grid-row: 2; }
	.ev-bento__item--d { grid-column: 2; grid-row: 2; }
	.ev-bento__item--e { grid-column: 1; grid-row: 3; }
	.ev-bento__item--f { grid-column: 2; grid-row: 3; }
}
@media (max-width: 600px) {
	.ev-bento {
		grid-template-columns: 1fr;
		grid-template-rows: repeat(6, 260px);
	}
	.ev-bento__item--a,
	.ev-bento__item--b,
	.ev-bento__item--c,
	.ev-bento__item--d,
	.ev-bento__item--e,
	.ev-bento__item--f { grid-column: 1; grid-row: auto; }
}

/* =========================================================
   FRAMEWORK — Sticky Stacking Cards
   ========================================================= */
.ev-framework-split {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(40px, 6vw, 100px);
	align-items: start;
	position: relative;
}

.ev-framework-sticky {
	position: sticky;
	top: 120px;
	padding-bottom: 60px;
}

.ev-framework-steps {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-bottom: 120px;
}

.ev-fw-card {
	position: sticky;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 24px;
	padding: clamp(40px, 5vw, 64px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.03);
	overflow: hidden;
	min-height: 320px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	transition: transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
	will-change: transform;
}

.ev-fw-card__bg-num {
	position: absolute;
	right: -20px;
	bottom: -40px;
	font-family: var(--f-display);
	font-size: 280px;
	font-weight: 800;
	line-height: 1;
	color: rgba(27,160,230,0.04);
	z-index: 0;
	pointer-events: none;
	user-select: none;
}

.ev-fw-card__content {
	position: relative;
	z-index: 1;
}

.ev-fw-card__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: rgba(27,160,230,0.08);
	color: var(--brand);
	font-family: var(--f-mono);
	font-size: 16px;
	font-weight: 500;
	margin-bottom: 32px;
	border: 1px solid rgba(27,160,230,0.15);
}

.ev-fw-card__title {
	font-family: var(--f-display);
	font-size: clamp(28px, 3.2vw, 42px);
	font-weight: 300;
	letter-spacing: -0.04em;
	margin: 0 0 16px;
	color: var(--ink);
}

.ev-fw-card__desc {
	font-size: 18px;
	line-height: 1.6;
	color: var(--mute);
	margin: 0;
	max-width: 440px;
}

@media (max-width: 900px) {
	.ev-framework-split {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.ev-framework-sticky {
		position: static;
		padding-bottom: 0;
	}
	.ev-fw-card {
		position: relative;
		top: 0 !important;
		min-height: auto;
		padding: 32px;
	}
	.ev-framework-steps {
		padding-bottom: 40px;
	}
}

/* =========================================================
   CULTURE & VALUES
   ========================================================= */
.ev-values {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 60px;
}
.ev-value-card {
	background: rgba(255,255,255,0.03);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: 16px;
	padding: clamp(40px, 5vw, 56px);
	position: relative;
	overflow: hidden;
	transition: background 0.4s var(--ease-out), border-color 0.4s var(--ease-out), transform 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.ev-value-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0; height: 2px;
	background: linear-gradient(90deg, var(--brand), transparent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.6s var(--ease-out);
}
.js-on .ev-value-card {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out), background 0.4s var(--ease-out), border-color 0.4s var(--ease-out), box-shadow 0.4s var(--ease-out);
}
.js-on .ev-value-card.is-in {
	opacity: 1;
	transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
	.ev-value-card:hover {
		background: rgba(255,255,255,0.05);
		border-color: rgba(255,255,255,0.15);
		transform: translateY(-4px) !important;
		box-shadow: 0 20px 40px rgba(0,0,0,0.2);
	}
	.ev-value-card:hover::before {
		transform: scaleX(1);
	}
	.ev-value-card:hover .ev-value-card__icon {
		background: var(--brand);
		color: #fff;
		border-color: var(--brand);
		transform: scale(1.1);
	}
}

.ev-value-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(27,160,230,0.1);
	color: var(--brand);
	margin-bottom: 32px;
	border: 1px solid rgba(27,160,230,0.2);
	transition: transform 0.4s var(--ease-out), background 0.4s var(--ease-out), color 0.4s var(--ease-out), border-color 0.4s var(--ease-out);
}
.ev-value-card__title {
	font-family: var(--f-display);
	font-size: clamp(24px, 2.6vw, 30px);
	font-weight: 300;
	letter-spacing: -0.035em;
	color: #fff;
	margin: 0 0 16px;
}
.ev-value-card__desc {
	font-size: 16px;
	line-height: 1.6;
	color: rgba(255,255,255,0.6);
	margin: 0;
}
@media (max-width: 768px) {
	.ev-values { grid-template-columns: 1fr; }
}

/* =========================================================
   HERO — DARK / TREFOIL-INSPIRED with animated light streams
   ========================================================= */
.ev-hero--dark {
	position: relative;
	min-height: clamp(620px, 92vh, 920px);
	padding: clamp(80px, 10vw, 140px) 0 clamp(64px, 7vw, 120px);
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 70% 55% at 90% 25%, rgba(27,160,230,.32) 0%, transparent 55%),
		linear-gradient(135deg, #02091d 0%, #051e44 55%, #06366f 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/* Kill the legacy upgrade overlays on the dark hero */
.ev-hero--dark::before { display: none; }

.ev-hero__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	transform: translateZ(0); /* promote to its own layer */
}
.ev-hero__bg-overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(2,10,29,0.25) 0%, transparent 45%, rgba(2,10,29,0.45) 100%),
		linear-gradient(90deg, rgba(2,10,29,0.6) 0%, rgba(2,10,29,0.05) 55%, transparent 100%);
	pointer-events: none;
	z-index: 0;
}
.ev-hero__streams {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	z-index: 1;
	will-change: transform;
}
.ev-hero__streams .ev-stream {
	stroke-linecap: round;
	stroke-dasharray: 900 1800;
	animation: ev-stream-flow 14s linear infinite;
}
.ev-hero__streams .ev-stream--1 { animation-duration: 12s; animation-delay: 0s;     opacity: 1;   }
.ev-hero__streams .ev-stream--2 { animation-duration: 14s; animation-delay: -3s;    opacity: .85; }
.ev-hero__streams .ev-stream--3 { animation-duration: 16s; animation-delay: -6s;    opacity: .75; }
.ev-hero__streams .ev-stream--4 { animation-duration: 13s; animation-delay: -2s;    opacity: .55; }
.ev-hero__streams .ev-stream--5 { animation-duration: 17s; animation-delay: -8s;    opacity: .45; }

@keyframes ev-stream-flow {
	0%   { stroke-dashoffset: 2700; }
	100% { stroke-dashoffset: -2700; }
}

@media (prefers-reduced-motion: reduce) {
	.ev-hero__streams .ev-stream { animation: none; stroke-dasharray: none; }
}

.ev-hero__inner {
	position: relative;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: clamp(48px, 6vw, 84px);
	width: 100%;
}

/* Eyebrow / loc on dark */
.ev-eyebrow--light {
	color: rgba(255,255,255,.62);
}
.ev-eyebrow--light::before { background: var(--brand); opacity: .8; }

.ev-hero--dark .ev-hero__copy {
	max-width: 860px;
}
.ev-hero--dark .ev-hero__title {
	font-family: var(--f-display);
	color: #fff;
	font-weight: 300;
	font-size: clamp(44px, 6.4vw, 96px);
	line-height: 1.0;
	letter-spacing: -0.035em;
	margin: 28px 0 28px;
	display: flex;
	flex-direction: column;
	gap: clamp(4px, 0.5vw, 10px);
}
.ev-hero__title-line {
	color: #fff;
	font-weight: 300;
	font-style: normal;
	display: block;
	letter-spacing: -0.03em;
}
.ev-hero__title-accent {
	display: block;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: -0.005em;
	font-size: 1em;
	line-height: 1.0;
	background: linear-gradient(135deg, #ffffff 0%, #bfe7ff 35%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 6px 30px rgba(27,160,230,.4));
}
.ev-hero--dark .ev-hero__lede {
	color: rgba(255,255,255,.78);
	font-size: clamp(17px, 1.4vw, 22px);
	line-height: 1.55;
	max-width: 60ch;
	margin-top: 4px;
}
.ev-hero--dark .ev-hero__lede strong {
	color: #fff;
	font-weight: 500;
}
.ev-hero__loc {
	font-family: var(--f-mono);
	font-size: 12px;
	color: rgba(255,255,255,.5);
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 18px 0 0;
}

/* CTA buttons on dark */
.ev-hero--dark .ev-ctas { margin-top: clamp(28px, 3vw, 40px); display: flex; gap: 14px; flex-wrap: wrap; }
.ev-hero--dark .ev-btn--primary {
	background: linear-gradient(135deg, #1ba0e6 0%, #5cc8ff 100%);
	color: #03132e;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.55), inset 0 1px 0 rgba(255,255,255,.4);
}
.ev-hero--dark .ev-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 22px 60px -16px rgba(27,160,230,.7), inset 0 1px 0 rgba(255,255,255,.6);
}
.ev-hero--dark .ev-btn--ghost {
	background: rgba(255,255,255,.05);
	color: #fff;
	border: 1px solid rgba(255,255,255,.22);
	backdrop-filter: blur(6px);
}
.ev-hero--dark .ev-btn--ghost:hover {
	background: rgba(255,255,255,.1);
	border-color: rgba(255,255,255,.4);
}

/* Factbar on dark */
.ev-hero--dark .ev-hero__factbar {
	margin-top: clamp(48px, 6vw, 84px);
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.12);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.ev-hero--dark .ev-fact {
	background: rgba(255,255,255,.04);
	backdrop-filter: blur(12px) saturate(140%);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--r-md);
	padding: clamp(20px, 2.4vw, 28px);
	transition: transform 280ms var(--ease-out), background 280ms var(--ease-out), border-color 280ms var(--ease-out);
}
.ev-hero--dark .ev-fact:hover {
	transform: translateY(-3px);
	background: rgba(255,255,255,.07);
	border-color: rgba(92,200,255,.35);
}
.ev-hero--dark .ev-fact__num {
	font-family: var(--f-display);
	color: #fff;
	font-weight: 300;
	font-size: clamp(34px, 3.2vw, 46px);
	line-height: 1;
	letter-spacing: -0.04em;
}
.ev-fact__num-accent {
	color: #5cc8ff;
	font-weight: 500;
	font-style: normal;
}
.ev-fact__num-unit { font-size: .55em; color: rgba(255,255,255,.6); }
.ev-hero--dark .ev-fact__lbl {
	color: rgba(255,255,255,.55);
	margin-top: 12px;
}

/* Scroll indicator */
.ev-hero__scroll {
	position: absolute;
	bottom: 24px;
	right: clamp(24px, 4vw, 64px);
	z-index: 3;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	color: rgba(255,255,255,.55);
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	transition: color 200ms var(--ease-out);
}
.ev-hero__scroll:hover { color: #fff; }
.ev-hero__scroll-line {
	width: 1px;
	height: 56px;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(92,200,255,.9) 100%);
	position: relative;
	overflow: hidden;
}
.ev-hero__scroll-line::after {
	content: "";
	position: absolute;
	top: -40%;
	left: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 100%);
	animation: ev-scroll-pulse 2.2s var(--ease-out) infinite;
}
@keyframes ev-scroll-pulse {
	0%   { top: -40%; }
	100% { top: 100%; }
}

@media (max-width: 900px) {
	.ev-hero--dark .ev-hero__factbar { grid-template-columns: 1fr 1fr; }
	.ev-hero__scroll { display: none; }
}

/* =========================================================
   THE PREMISE — integrated-engine narrative (perf-optimized)
   ========================================================= */
.ev-premise {
	position: relative;
	padding: clamp(96px, 11vw, 180px) 0;
	background:
		radial-gradient(ellipse 60% 70% at 0% 0%, rgba(27,160,230,.12) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 100% 100%, rgba(92,200,255,.10) 0%, transparent 60%),
		linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
	overflow: hidden;
}
.ev-premise__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-premise__grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(27,160,230,.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27,160,230,.05) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	opacity: .7;
}
/* Glow orbs removed — bg radials above replace them at zero scroll cost */
.ev-premise__glow { display: none; }
.ev-premise__inner { position: relative; z-index: 1; }

.ev-premise__head {
	max-width: 880px;
	margin-bottom: clamp(56px, 7vw, 96px);
}
.ev-premise__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(36px, 4.6vw, 72px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 24px 0 28px;
}
.ev-premise__title-accent {
	display: inline-block;
	background: linear-gradient(135deg, #1ba0e6 0%, #097cbc 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-premise__lede {
	font-size: clamp(17px, 1.4vw, 22px);
	line-height: 1.55;
	color: var(--ink-soft);
	max-width: 64ch;
	margin: 0;
}

/* Engine diagram: 4 pillars on top row + convergence node center-bottom */
.ev-premise__engine {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 28px);
	padding: clamp(32px, 5vw, 64px) 0 clamp(140px, 18vw, 220px);
}
.ev-pillar {
	position: relative;
	padding: clamp(24px, 2.4vw, 32px);
	background: #ffffff;
	border: 1px solid rgba(228,232,238,1);
	border-radius: 18px;
	box-shadow: 0 24px 70px -32px rgba(12,19,32,.16);
	transition: transform 360ms var(--ease-out), box-shadow 360ms var(--ease-out), border-color 360ms var(--ease-out);
	z-index: 1;
}
.ev-pillar::before {
	content: "";
	position: absolute;
	left: clamp(24px, 2.4vw, 32px);
	right: clamp(24px, 2.4vw, 32px);
	bottom: -1px;
	height: 2px;
	background: linear-gradient(90deg, var(--brand), transparent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 540ms var(--ease-out);
}
@media (hover: hover) and (pointer: fine) {
	.ev-pillar:hover {
		transform: translateY(-4px);
		border-color: rgba(27,160,230,.35);
		box-shadow: 0 36px 90px -32px rgba(27,160,230,.3);
	}
	.ev-pillar:hover::before { transform: scaleX(1); }
	.ev-pillar:hover .ev-pillar__dot { background: var(--brand); box-shadow: 0 0 0 6px rgba(27,160,230,.15); }
}
.ev-pillar__head {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 18px;
}
.ev-pillar__num {
	font-family: var(--f-mono);
	font-size: 12px;
	color: var(--mute);
	letter-spacing: .14em;
}
.ev-pillar__dot {
	width: 10px; height: 10px; border-radius: 50%;
	background: rgba(27,160,230,.3);
	transition: background 300ms var(--ease-out), box-shadow 300ms var(--ease-out);
}
.ev-pillar__title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(20px, 1.8vw, 26px);
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0 0 10px;
}
.ev-pillar__desc {
	font-size: 14.5px;
	line-height: 1.5;
	color: var(--ink-soft);
	margin: 0;
}

/* Convergence node */
.ev-engine__node {
	position: absolute;
	left: 50%;
	bottom: clamp(20px, 3vw, 40px);
	transform: translateX(-50%);
	width: clamp(180px, 22vw, 260px);
	height: clamp(180px, 22vw, 260px);
	display: grid; place-items: center;
	z-index: 2;
}
.ev-engine__node-ring {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid rgba(27,160,230,.4);
	animation: ev-engine-pulse 3s var(--ease-out) infinite;
	will-change: transform, opacity;
}
.ev-engine__node-ring::before,
.ev-engine__node-ring::after {
	content: "";
	position: absolute;
	inset: -16px;
	border-radius: 50%;
	border: 1px solid rgba(27,160,230,.2);
}
.ev-engine__node-ring::after { inset: -32px; border-color: rgba(27,160,230,.1); }
@media (prefers-reduced-motion: reduce) {
	.ev-engine__node-ring { animation: none; }
}
.ev-engine__node-core {
	position: relative;
	width: 70%;
	height: 70%;
	display: grid; place-items: center;
	text-align: center;
	border-radius: 50%;
	background: linear-gradient(135deg, #03132e 0%, #1ba0e6 100%);
	color: #fff;
	box-shadow: 0 30px 80px -24px rgba(27,160,230,.55), inset 0 1px 0 rgba(255,255,255,.18);
}
.ev-engine__node-label {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(13px, 1vw, 16px);
	letter-spacing: -0.01em;
	line-height: 1.2;
	padding: 0 14px;
}
@keyframes ev-engine-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(1.05); opacity: .6; }
}

/* Engine connecting lines — static dashed strokes (no continuous animation) */
.ev-engine__lines {
	position: absolute;
	left: 0;
	right: 0;
	bottom: clamp(150px, 19vw, 240px);
	width: 100%;
	height: clamp(140px, 18vw, 220px);
	pointer-events: none;
	z-index: 0;
}
.ev-engine__line {
	stroke-dasharray: 4 6;
}

/* Foot signature + CTA */
.ev-premise__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding-top: clamp(32px, 4vw, 56px);
	border-top: 1px solid rgba(228,232,238,.9);
	flex-wrap: wrap;
}
.ev-premise__sig {
	display: inline-flex; align-items: center; gap: 14px;
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-premise__sig-mark {
	width: 28px; height: 1px; background: var(--brand);
}
.ev-premise__cta {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 16px;
	color: var(--ink);
	letter-spacing: -0.01em;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--ink);
	transition: gap 200ms var(--ease-out), color 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
.ev-premise__cta:hover {
	gap: 14px;
	color: var(--brand);
	border-color: var(--brand);
}

@media (max-width: 900px) {
	.ev-premise__engine {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
		padding-bottom: clamp(160px, 24vw, 220px);
	}
	.ev-engine__lines { display: none; }
}
@media (max-width: 540px) {
	.ev-premise__engine { grid-template-columns: 1fr; }
}

/* =========================================================
   PHILOSOPHY — editorial manifesto (replaces value-card grid)
   ========================================================= */
.ev-philosophy {
	position: relative;
	padding: clamp(96px, 11vw, 180px) 0;
	background:
		radial-gradient(ellipse 50% 60% at 90% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
	color: #fff;
	overflow: hidden;
}
.ev-philosophy__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-philosophy__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
	gap: clamp(48px, 7vw, 120px);
	align-items: start;
}

/* Left rail (sticky) */
.ev-philosophy__rail {
	position: sticky;
	top: clamp(96px, 12vh, 140px);
}
.ev-philosophy__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(36px, 4.2vw, 64px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	color: #fff;
	margin: 22px 0 22px;
}
.ev-philosophy__title-accent {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 70%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-philosophy__lede {
	font-size: 17px;
	line-height: 1.55;
	color: rgba(255,255,255,.7);
	max-width: 36ch;
	margin: 0 0 32px;
}
.ev-philosophy__sig {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.ev-philosophy__sig-line {
	width: 28px;
	height: 1px;
	background: rgba(92,200,255,.6);
}
.ev-philosophy__sig-text {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.5);
}

/* Right column: manifesto list */
.ev-manifesto-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.ev-mf-item {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: clamp(20px, 3vw, 40px);
	padding: clamp(28px, 3.6vw, 44px) 0;
	border-top: 1px solid rgba(255,255,255,.1);
	transition: padding-left 320ms var(--ease-out);
}
.ev-mf-item:last-child { border-bottom: 1px solid rgba(255,255,255,.1); }
@media (hover: hover) and (pointer: fine) {
	.ev-mf-item:hover { padding-left: 12px; }
	.ev-mf-item:hover .ev-mf-item__num { color: #5cc8ff; }
	.ev-mf-item:hover .ev-mf-item__yes { color: #fff; }
}
.ev-mf-item__num {
	font-family: var(--f-mono);
	font-size: 13px;
	letter-spacing: .18em;
	color: rgba(255,255,255,.35);
	padding-top: 18px;
	transition: color 280ms var(--ease-out);
}
.ev-mf-item__head {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(34px, 4.4vw, 64px);
	line-height: 1.0;
	letter-spacing: -0.04em;
	margin: 0 0 14px;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: clamp(12px, 1.4vw, 18px);
}
.ev-mf-item__yes {
	color: #fff;
	font-weight: 500;
	letter-spacing: -0.04em;
	background: linear-gradient(135deg, #ffffff 0%, #bfe7ff 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	transition: color 280ms var(--ease-out);
}
.ev-mf-item__sep {
	color: rgba(92,200,255,.5);
	font-weight: 200;
	font-size: .9em;
	line-height: 1;
}
.ev-mf-item__no {
	color: rgba(255,255,255,.32);
	font-weight: 300;
	font-size: .55em;
	text-transform: lowercase;
	letter-spacing: 0;
	text-decoration: line-through;
	text-decoration-color: rgba(255,255,255,.18);
	text-decoration-thickness: 1px;
	align-self: center;
}
.ev-mf-item__line {
	font-size: clamp(15px, 1.15vw, 17px);
	line-height: 1.6;
	color: rgba(255,255,255,.65);
	margin: 0;
	max-width: 60ch;
}

@media (max-width: 900px) {
	.ev-philosophy__inner { grid-template-columns: 1fr; gap: 48px; }
	.ev-philosophy__rail { position: static; }
	.ev-mf-item { grid-template-columns: 56px 1fr; gap: 16px; }
	.ev-mf-item__head { font-size: clamp(28px, 8vw, 48px); }
	.ev-mf-item__no { font-size: .5em; }
}

/* =========================================================
   NEXT STEP — editorial close (replaces centered CTA pattern)
   ========================================================= */
.ev-close {
	position: relative;
	padding: clamp(96px, 11vw, 180px) 0 clamp(80px, 9vw, 140px);
	background:
		radial-gradient(ellipse 60% 50% at 90% 20%, rgba(27,160,230,.35) 0%, transparent 55%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(6,40,90,.6) 0%, transparent 60%),
		linear-gradient(135deg, #02091d 0%, #051e44 55%, #06366f 100%);
	color: #fff;
	overflow: hidden;
}
.ev-close__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.ev-close__bg-mark {
	position: absolute;
	bottom: -10%;
	right: -3%;
	font-family: var(--f-display);
	font-weight: 700;
	font-size: clamp(220px, 32vw, 480px);
	letter-spacing: -0.04em;
	line-height: 1;
	color: rgba(255,255,255,.025);
	user-select: none;
	pointer-events: none;
	white-space: nowrap;
}
.ev-close__bg-lines {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: .55;
}

.ev-close__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
}

/* Main column */
.ev-close__main { max-width: 760px; }
.ev-close__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(38px, 5.2vw, 78px);
	line-height: 1.03;
	letter-spacing: -0.04em;
	color: #fff;
	margin: 22px 0 26px;
}
.ev-close__title-accent {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 60%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-close__lede {
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.6;
	color: rgba(255,255,255,.75);
	max-width: 58ch;
	margin: 0 0 36px;
}

.ev-close__actions {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.5vw, 32px);
	flex-wrap: wrap;
	margin-bottom: 36px;
}
.ev-close__cta-primary {
	background: linear-gradient(135deg, #1ba0e6 0%, #5cc8ff 100%);
	color: #03132e;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.55), inset 0 1px 0 rgba(255,255,255,.4);
	padding: 16px 28px;
}
.ev-close__cta-primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 60px -18px rgba(27,160,230,.7), inset 0 1px 0 rgba(255,255,255,.6);
}
.ev-close__cta-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 16px;
	color: #fff;
	padding-bottom: 4px;
	border-bottom: 1px solid rgba(255,255,255,.3);
	transition: gap 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
.ev-close__cta-ghost:hover {
	gap: 14px;
	color: #5cc8ff;
	border-color: #5cc8ff;
}
.ev-close__cta-ghost-arrow {
	font-size: 18px;
	transition: transform 200ms var(--ease-out);
}
.ev-close__cta-ghost:hover .ev-close__cta-ghost-arrow {
	transform: translateX(4px);
}

/* Status indicator */
.ev-close__status {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px 10px 14px;
	border: 1px solid rgba(255,255,255,.15);
	border-radius: 999px;
	background: rgba(255,255,255,.04);
}
.ev-close__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #4ade80;
	box-shadow: 0 0 0 0 rgba(74,222,128,.5);
	animation: ev-close-pulse 2.4s var(--ease-out) infinite;
	flex: 0 0 auto;
}
.ev-close__status-text {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: rgba(255,255,255,.75);
}
@keyframes ev-close-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(74,222,128,.55); }
	70%  { box-shadow: 0 0 0 12px rgba(74,222,128,0); }
	100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}

/* Right aside — meta card (editorial, not card-grid) */
.ev-close__meta {
	padding: clamp(28px, 3vw, 40px);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 18px;
	background: rgba(255,255,255,.03);
	position: relative;
}
.ev-close__meta::before {
	content: "";
	position: absolute;
	top: 0; left: clamp(28px, 3vw, 40px); right: clamp(28px, 3vw, 40px);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(92,200,255,.6), transparent);
}
.ev-close__meta-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 28px;
}
.ev-close__meta-eyebrow {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(255,255,255,.55);
}
.ev-close__meta-rule {
	flex: 1;
	height: 1px;
	background: rgba(255,255,255,.1);
}
.ev-close__meta-list {
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
}
.ev-close__meta-row {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 16px;
	padding: 16px 0;
	border-top: 1px solid rgba(255,255,255,.06);
	align-items: baseline;
}
.ev-close__meta-row:first-child { border-top: 0; padding-top: 0; }
.ev-close__meta-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.45);
	margin: 0;
}
.ev-close__meta-value {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: 15px;
	color: #fff;
	margin: 0;
	line-height: 1.45;
	word-break: break-word;
	overflow-wrap: anywhere;
}
.ev-close__meta-value a {
	color: #5cc8ff;
	border-bottom: 1px solid rgba(92,200,255,.3);
	transition: border-color 200ms var(--ease-out);
}
.ev-close__meta-value a:hover { border-color: #5cc8ff; }
.ev-close__meta-foot {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 32px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.08);
}
.ev-close__meta-mark {
	color: rgba(92,200,255,.7);
	font-weight: 200;
	font-size: 18px;
}
.ev-close__meta-sig {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	letter-spacing: -0.01em;
	color: rgba(255,255,255,.85);
}

@media (max-width: 900px) {
	.ev-close__inner { grid-template-columns: 1fr; gap: 40px; }
	.ev-close__meta-row { grid-template-columns: 100px 1fr; }
}

/* =========================================================
   ABOUT PAGE — editorial rebuild
   ========================================================= */

/* --- 00 / Hero (LIGHT, full-width image band below text) --- */
.ev-about-hero {
	position: relative;
	padding: clamp(96px, 12vw, 160px) 0 0;
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.10) 0%, transparent 60%),
		radial-gradient(ellipse 50% 50% at 5% 100%, rgba(27,160,230,.06) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.ev-about-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-about-hero__overlay { display: none; }
.ev-about-hero__streams {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	z-index: 1;
	will-change: transform;
	opacity: .55;
}
.ev-about-hero__stream {
	stroke-linecap: round;
	stroke-dasharray: 900 1800;
	animation: ev-stream-flow 14s linear infinite;
}
.ev-about-hero__stream--1 { animation-duration: 13s; opacity: .9; }
.ev-about-hero__stream--2 { animation-duration: 15s; animation-delay: -3s; opacity: .65; }
.ev-about-hero__stream--3 { animation-duration: 17s; animation-delay: -6s; opacity: .45; }
.ev-about-hero__inner {
	position: relative;
	z-index: 2;
	padding-bottom: clamp(48px, 6vw, 80px);
}

.ev-about-hero__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	margin-bottom: 32px;
}
.ev-about-hero__year {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-about-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5.4vw, 80px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 40px;
	max-width: 22ch;
}
.ev-about-hero__title-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-hero__row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: end;
}
.ev-about-hero__lede {
	font-size: clamp(17px, 1.3vw, 21px);
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 56ch;
	margin: 0;
}
@media (max-width: 760px) {
	.ev-about-hero__row { grid-template-columns: 1fr; align-items: stretch; }
}
.ev-about-hero__actions .ev-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.ev-about-hero .ev-btn--primary {
	background: linear-gradient(135deg, #1ba0e6 0%, #5cc8ff 100%);
	color: #03132e;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.55), inset 0 1px 0 rgba(255,255,255,.4);
}
.ev-about-hero .ev-btn--ghost {
	background: #ffffff;
	color: var(--ink);
	border: 1px solid var(--line);
}
.ev-about-hero .ev-btn--ghost:hover {
	background: #ffffff;
	border-color: var(--brand);
	color: var(--brand);
}

/* Hero media — full-bleed image band BELOW the text (clean, no overlay) */
.ev-about-hero__media {
	position: relative;
	margin: 0;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	max-height: 78vh;
}
.ev-about-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(1.02);
}

@media (max-width: 900px) {
	.ev-about-hero__media { aspect-ratio: 16 / 10; }
}

/* --- "A snapshot" — typographic stats-led editorial moment (no photo) --- */
.ev-about-glance {
	padding: clamp(96px, 11vw, 160px) 0 clamp(96px, 11vw, 160px);
	background: #ffffff;
	position: relative;
}
.ev-about-glance::before {
	content: "";
	position: absolute;
	left: 50%; top: 0;
	transform: translateX(-50%);
	width: min(var(--maxw), calc(100% - 2 * var(--gap)));
	height: 1px;
	background: var(--line);
}
.ev-about-glance__inner {
	/* width inherited from .ev-wrap (max-width: --maxw, ~1320px) */
}
.ev-about-glance__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: start;
	margin-bottom: clamp(56px, 7vw, 96px);
}
.ev-about-glance__tag {
	display: inline-flex;
	align-items: center;
	gap: 14px;
}
.ev-about-glance__tag-line {
	width: 40px;
	height: 1px;
	background: var(--brand);
}
.ev-about-glance__tag-text {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
}
.ev-about-glance__caption {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.6vw, 52px);
	line-height: 1.1;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 18px 0 0;
	max-width: 22ch;
	grid-column: 1;
}
.ev-about-glance__caption-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-glance__lede {
	font-size: clamp(16px, 1.2vw, 19px);
	line-height: 1.65;
	color: var(--ink-soft);
	margin: 0;
	max-width: 48ch;
	grid-column: 2;
	padding-top: clamp(18px, 2vw, 30px);
}

.ev-about-glance__stats {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: clamp(24px, 3vw, 48px);
	padding-top: clamp(28px, 3vw, 44px);
	border-top: 1px solid var(--line);
}
.ev-about-glance__stat {
	flex: 0 1 auto;
	min-width: 0;
	max-width: 26ch;
}
.ev-about-glance__stat {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.ev-about-glance__stat-num {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 4.4vw, 68px);
	line-height: 1;
	letter-spacing: -0.045em;
	color: var(--ink);
}
.ev-about-glance__stat-num span {
	color: var(--brand);
	font-size: .55em;
	font-weight: 500;
	margin-left: 2px;
	letter-spacing: -0.02em;
}
.ev-about-glance__stat-lbl {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mute);
	line-height: 1.5;
	max-width: 24ch;
}

@media (max-width: 760px) {
	.ev-about-glance__head { grid-template-columns: 1fr; gap: 24px; }
	.ev-about-glance__caption { grid-column: 1; }
	.ev-about-glance__lede { grid-column: 1; padding-top: 0; }
	.ev-about-glance__stats {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 32px;
		justify-content: stretch;
	}
	.ev-about-glance__stat { max-width: none; }
}

/* --- 01 / Mission (2-col body + image, horizontal header) --- */
.ev-about-mission {
	padding: clamp(80px, 9vw, 140px) 0;
	background: #fff;
}
.ev-about-mission__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 1fr);
	gap: clamp(40px, 5vw, 72px);
	align-items: start;
}
.ev-about-mission__head {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
}
.ev-about-mission__head-rule {
	width: 28px;
	height: 1px;
	background: var(--brand);
}
.ev-about-mission__tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-about-mission__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(34px, 4vw, 58px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 28px;
	max-width: 18ch;
}
.ev-about-mission__title-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-mission__para {
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.65;
	color: var(--ink-soft);
	max-width: 60ch;
	margin: 0 0 20px;
}
.ev-about-mission__para--lede {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(20px, 1.6vw, 26px);
	color: var(--ink);
}
.ev-about-mission__caption {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
}
.ev-about-mission__caption-mark { color: var(--brand); font-size: 22px; font-weight: 200; }
.ev-about-mission__caption-text {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 18px;
	color: var(--ink);
	letter-spacing: -0.01em;
}

/* Mission media (right column corporate image) */
.ev-about-mission__media {
	margin: 0;
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	box-shadow: 0 32px 80px -32px rgba(12,19,32,.22), 0 0 0 1px rgba(27,160,230,.1);
}
.ev-about-mission__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(1.02);
	transition: transform 680ms var(--ease-out);
}
.ev-about-mission__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(2,10,29,.7) 100%);
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
	.ev-about-mission__media:hover img { transform: scale(1.03); }
}
.ev-about-mission__media-caption {
	position: absolute;
	left: clamp(18px, 2vw, 24px);
	right: clamp(18px, 2vw, 24px);
	bottom: clamp(18px, 2vw, 22px);
	z-index: 1;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ev-about-mission__media-tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #5cc8ff;
}
.ev-about-mission__media-line {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(14px, 1vw, 17px);
	letter-spacing: -0.015em;
	line-height: 1.35;
	color: #fff;
}

@media (max-width: 900px) {
	.ev-about-mission__inner { grid-template-columns: 1fr; gap: clamp(32px, 5vw, 56px); }
	.ev-about-mission__media { aspect-ratio: 16 / 10; }
}

/* --- 02 / Purpose — DARK navy (home-Philosophy style) --- */
.ev-about-purpose {
	position: relative;
	padding: clamp(96px, 11vw, 180px) 0;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 90% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
}
.ev-about-purpose::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-about-purpose__inner { position: relative; z-index: 1; }
.ev-about-purpose .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-about-purpose .ev-eyebrow::before { background: var(--brand); opacity: .8; }
.ev-about-purpose__title { color: #fff; }
.ev-about-purpose__title-accent {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-about-purpose__row { border-top-color: rgba(255,255,255,.1); }
.ev-about-purpose__row:last-of-type { border-bottom-color: rgba(255,255,255,.1); }
.ev-about-purpose__row-num { color: rgba(255,255,255,.45); }
.ev-about-purpose__row-lead { color: #fff; }
.ev-about-purpose__row-rule {
	background: linear-gradient(90deg, rgba(92,200,255,.5), rgba(92,200,255,.1));
}
.ev-about-purpose__row-verb { color: #fff; }
@media (hover: hover) and (pointer: fine) {
	.ev-about-purpose__row:hover .ev-about-purpose__row-verb { color: #5cc8ff; }
}
.ev-about-purpose__resolve {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.12);
	color: #fff;
	box-shadow: 0 30px 80px -32px rgba(0,0,0,.5);
}
.ev-about-purpose__resolve::after {
	background: radial-gradient(circle, rgba(92,200,255,.18) 0%, transparent 70%);
}
.ev-about-purpose__resolve-text { color: #fff; }
.ev-about-purpose__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(27,160,230,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27,160,230,.04) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-about-purpose__inner { position: relative; z-index: 1; }
.ev-about-purpose__head { margin-bottom: clamp(48px, 6vw, 80px); max-width: 880px; }
.ev-about-purpose__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(34px, 4.4vw, 64px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 22px 0 0;
}
.ev-about-purpose__title-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-purpose__list { list-style: none; padding: 0; margin: 0; }
.ev-about-purpose__row {
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr) minmax(40px, 1fr) auto;
	align-items: baseline;
	gap: clamp(16px, 2vw, 28px);
	padding: clamp(24px, 3vw, 36px) 0;
	border-top: 1px solid var(--line);
	transition: padding-left 320ms var(--ease-out);
}
.ev-about-purpose__row:last-of-type { border-bottom: 1px solid var(--line); }
@media (hover: hover) and (pointer: fine) {
	.ev-about-purpose__row:hover { padding-left: 12px; }
	.ev-about-purpose__row:hover .ev-about-purpose__row-verb { color: var(--brand); }
}
.ev-about-purpose__row-num {
	font-family: var(--f-mono);
	font-size: 13px;
	letter-spacing: .18em;
	color: var(--mute);
}
.ev-about-purpose__row-lead {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(20px, 2.2vw, 32px);
	letter-spacing: -0.02em;
	color: var(--ink);
	line-height: 1.2;
}
.ev-about-purpose__row-rule {
	height: 1px;
	background: linear-gradient(90deg, rgba(27,160,230,.4), rgba(27,160,230,.1));
	align-self: center;
}
.ev-about-purpose__row-verb {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(22px, 2.4vw, 34px);
	letter-spacing: -0.025em;
	color: var(--ink);
	transition: color 280ms var(--ease-out);
}
.ev-about-purpose__resolve {
	margin-top: clamp(48px, 6vw, 80px);
	padding: clamp(28px, 3.5vw, 44px);
	border-radius: 18px;
	background: #ffffff;
	border: 1px solid var(--line);
	color: var(--ink);
	display: flex;
	align-items: center;
	gap: clamp(20px, 2.5vw, 32px);
	position: relative;
	overflow: hidden;
	box-shadow: 0 24px 60px -28px rgba(12,19,32,.14);
}
.ev-about-purpose__resolve::after {
	content: "";
	position: absolute;
	right: -80px;
	top: 50%;
	transform: translateY(-50%);
	width: 320px;
	height: 320px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(27,160,230,.10) 0%, transparent 70%);
	pointer-events: none;
}
.ev-about-purpose__resolve-arrow {
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--brand);
	color: #ffffff;
	box-shadow: 0 10px 30px -10px rgba(27,160,230,.5), inset 0 1px 0 rgba(255,255,255,.3);
}
.ev-about-purpose__resolve-text {
	position: relative;
	z-index: 1;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(20px, 2vw, 28px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ink);
}

@media (max-width: 700px) {
	.ev-about-purpose__row {
		grid-template-columns: 48px 1fr auto;
		gap: 12px;
	}
	.ev-about-purpose__row-rule { display: none; }
	.ev-about-purpose__resolve { flex-direction: column; align-items: flex-start; }
}

/* --- 03 / Differentiators (LIGHT, 4-card editorial) --- */
.ev-about-diff {
	position: relative;
	padding: clamp(64px, 8vw, 120px) 0;
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 50% at 10% 20%, rgba(27,160,230,.06) 0%, transparent 60%),
		radial-gradient(ellipse 50% 60% at 90% 80%, rgba(27,160,230,.04) 0%, transparent 60%),
		linear-gradient(180deg, #f6f9fc 0%, #eef3f8 100%);
}
.ev-about-diff__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(27,160,230,.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27,160,230,.04) 1px, transparent 1px);
	background-size: 72px 72px;
	mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 70%);
	-webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 70%);
	pointer-events: none;
}

/* Floating decorative orbs */
.ev-about-diff__orb {
	display: none;
}
.ev-about-diff__orb--1 {
	width: 400px; height: 400px;
	background: radial-gradient(circle, rgba(27,160,230,.12) 0%, transparent 70%);
	top: -10%; left: -6%;
	animation: ev-diff-float 16s ease-in-out infinite alternate;
}
.ev-about-diff__orb--2 {
	width: 320px; height: 320px;
	background: radial-gradient(circle, rgba(92,200,255,.10) 0%, transparent 70%);
	bottom: -8%; right: -4%;
	animation: ev-diff-float 20s ease-in-out infinite alternate-reverse;
}
@keyframes ev-diff-float {
	0%   { transform: translate(0, 0) scale(1); }
	50%  { transform: translate(20px, -14px) scale(1.06); }
	100% { transform: translate(-14px, 10px) scale(0.96); }
}

.ev-about-diff__inner { position: relative; z-index: 1; }

/* Head — compact */
.ev-about-diff__head { margin-bottom: clamp(36px, 5vw, 56px); max-width: 880px; }
.ev-about-diff__head-row {
	display: flex;
	align-items: center;
	gap: 18px;
}
.ev-about-diff__head-rule {
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, rgba(27,160,230,.3) 0%, transparent 100%);
}
.ev-about-diff__head .ev-eyebrow { color: var(--mute); }
.ev-about-diff__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(26px, 3.2vw, 46px);
	line-height: 1.12;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 20px 0 0;
}
.ev-about-diff__title-accent {
	font-weight: 500;
	color: var(--brand);
}

/* ---- 4-col grid ---- */
.ev-about-diff__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(14px, 1.6vw, 22px);
}

/* ---- Individual cards ---- */
.ev-about-diff__card {
	border: 1px solid var(--line);
	border-radius: 16px;
	background: #fff;
	position: relative;
	overflow: hidden;
	transition: transform 420ms var(--ease-out), border-color 420ms var(--ease-out), box-shadow 420ms var(--ease-out);
	box-shadow: 0 8px 30px -12px rgba(12,19,32,.08);
	display: flex;
	flex-direction: column;
}
.ev-about-diff__card-glow {
	display: none;
	transition: opacity 500ms var(--ease-out);
	pointer-events: none;
	z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
	.ev-about-diff__card:hover {
		transform: translateY(-5px);
		border-color: rgba(27,160,230,.3);
		box-shadow: 0 24px 60px -20px rgba(12,19,32,.14);
	}
	.ev-about-diff__card:hover .ev-about-diff__card-glow { opacity: 1; }
	.ev-about-diff__card:hover .ev-about-diff__card-media img { transform: scale(1.06); }
	.ev-about-diff__card:hover .ev-about-diff__card-dot {
		background: var(--brand);
		box-shadow: 0 0 0 5px rgba(27,160,230,.15);
	}
	.ev-about-diff__card:hover .ev-about-diff__card-line { width: 48px; }
	.ev-about-diff__card:hover .ev-about-diff__card-tag {
		background: rgba(27,160,230,.75);
		color: #fff;
	}
}
.ev-about-diff__card-media {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 3 / 2;
	position: relative;
	background: #eef3f8;
}
.ev-about-diff__card-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(1.02);
	transition: transform 700ms var(--ease-out);
}
.ev-about-diff__card-media-overlay {
	display: none;
}
.ev-about-diff__card-tag {
	position: absolute;
	top: 12px; left: 12px;
	font-family: var(--f-mono);
	font-size: 8px;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(10,22,40,.5);
	backdrop-filter: blur(10px);
	padding: 4px 10px;
	border-radius: 999px;
	font-weight: 500;
	transition: background 300ms var(--ease-out), color 300ms var(--ease-out);
}
.ev-about-diff__card-body {
	padding: clamp(18px, 2vw, 28px);
	display: flex;
	flex-direction: column;
	flex: 1;
	position: relative;
	overflow: hidden;
}
.ev-about-diff__card-bg-num {
	position: absolute;
	bottom: -8px; right: -6px;
	font-family: var(--f-display);
	font-weight: 800;
	font-size: 90px;
	line-height: 1;
	color: rgba(27,160,230,.05);
	pointer-events: none;
	user-select: none;
}
.ev-about-diff__card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	position: relative;
	z-index: 1;
}
.ev-about-diff__card-num {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--brand);
	font-weight: 600;
}
.ev-about-diff__card-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: rgba(27,160,230,.3);
	transition: background 300ms var(--ease-out), box-shadow 300ms var(--ease-out);
}
.ev-about-diff__card-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(18px, 1.6vw, 24px);
	line-height: 1.2;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0 0 10px;
	position: relative;
	z-index: 1;
}
.ev-about-diff__card-desc {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--mute);
	margin: 0;
	position: relative;
	z-index: 1;
}
.ev-about-diff__card-line {
	display: block;
	width: 28px;
	height: 2px;
	margin-top: auto;
	padding-top: 16px;
	background: linear-gradient(90deg, var(--brand) 0%, #5cc8ff 100%);
	background-clip: content-box;
	border-radius: 2px;
	transition: width 500ms var(--ease-out);
	position: relative;
	z-index: 1;
}

@media (max-width: 1000px) {
	.ev-about-diff__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.ev-about-diff__grid { grid-template-columns: 1fr; }
}

/* --- 04 / Team --- */
.ev-about-team {
	padding: clamp(96px, 11vw, 180px) 0;
	background: #fff;
}
.ev-about-team__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: clamp(48px, 7vw, 120px);
	align-items: start;
}
.ev-about-team__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5.2vw, 80px);
	line-height: 1.0;
	letter-spacing: -0.04em;
	color: var(--ink);
	margin: 22px 0 0;
}
.ev-about-team__title-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-team__body { padding-top: clamp(8px, 2vw, 24px); }
.ev-about-team__not {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.ev-about-team__not li {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(20px, 2vw, 28px);
	letter-spacing: -0.02em;
	color: rgba(13,19,32,.45);
	text-decoration: line-through;
	text-decoration-color: rgba(13,19,32,.2);
	text-decoration-thickness: 1px;
}
.ev-about-team__not li span {
	font-weight: 500;
	color: rgba(13,19,32,.6);
}
.ev-about-team__are {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(22px, 2.4vw, 34px);
	line-height: 1.35;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 0;
	padding-top: 28px;
	border-top: 2px solid var(--brand);
	max-width: 30ch;
}
.ev-about-team__are strong { font-weight: 500; color: var(--ink); }

@media (max-width: 900px) {
	.ev-about-team__inner { grid-template-columns: 1fr; gap: 32px; }
}

/* Team photo gallery — 3 equal photos showing the work in motion */
.ev-about-team__gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
	margin-top: clamp(56px, 7vw, 96px);
}
.ev-about-team__photo {
	margin: 0;
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	box-shadow: 0 32px 80px -32px rgba(12,19,32,.28);
	transition: transform 480ms var(--ease-out), box-shadow 480ms var(--ease-out);
}
.ev-about-team__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: brightness(.9) saturate(1.02);
	transition: transform 680ms var(--ease-out);
}
.ev-about-team__photo::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(2,10,29,.85) 100%);
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
	.ev-about-team__photo:hover { transform: translateY(-4px); box-shadow: 0 40px 100px -32px rgba(12,19,32,.35); }
	.ev-about-team__photo:hover img { transform: scale(1.04); }
}
.ev-about-team__photo figcaption {
	position: absolute;
	left: clamp(20px, 2.2vw, 28px);
	right: clamp(20px, 2.2vw, 28px);
	bottom: clamp(20px, 2.2vw, 24px);
	z-index: 1;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.ev-about-team__photo-tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #5cc8ff;
}
.ev-about-team__photo-line {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.4;
	letter-spacing: -0.015em;
	color: #fff;
}

@media (max-width: 900px) {
	.ev-about-team__gallery { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 540px) {
	.ev-about-team__gallery { grid-template-columns: 1fr; }
}

/* --- 05 / Foundation (cross-sector aside) --- */
.ev-about-foundation {
	padding: clamp(80px, 9vw, 140px) 0;
	background: var(--bg-paper);
	position: relative;
}
.ev-about-foundation__inner {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: clamp(40px, 5vw, 80px);
	align-items: center;
}
.ev-about-foundation__logo {
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ev-about-foundation__logo img {
	width: 100%;
	max-width: 220px;
	height: auto;
	display: block;
	opacity: 1;
	transition: opacity 500ms var(--ease-out);
}
.ev-about-foundation__inner:hover .ev-about-foundation__logo img {
	opacity: 1;
}
.ev-about-foundation__content {
	padding-left: clamp(24px, 3vw, 48px);
	border-left: 2px solid var(--brand);
}
.ev-about-foundation__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(26px, 3vw, 44px);
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 18px 0 24px;
}
.ev-about-foundation__title-accent {
	font-weight: 500;
	color: var(--brand);
}
.ev-about-foundation__body {
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.7;
	color: var(--ink-soft);
	margin: 0;
	max-width: 70ch;
}
@media (max-width: 800px) {
	.ev-about-foundation__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.ev-about-foundation__logo {
		justify-content: flex-start;
	}
	.ev-about-foundation__logo img {
		max-width: 160px;
	}
}

/* --- 06 / Geo — DARK navy (home-Philosophy style) --- */
.ev-about-geo {
	position: relative;
	padding: clamp(96px, 11vw, 180px) 0;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 10% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 100% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
}
.ev-about-geo__bg {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	opacity: 1;
	pointer-events: none;
}
.ev-about-geo .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-about-geo .ev-eyebrow::before { background: var(--brand); opacity: .8; }
.ev-about-geo__inner {
	position: relative;
	z-index: 1;
	max-width: 1200px; /* keep content aligned with site width */
	margin: 0 auto; /* center */
	padding: 0 24px; /* horizontal breathing space */
}
/* Add spacing below map */
.ev-about-geo__map-wrap {
	margin-bottom: 32px;
}
/* Center the cards grid and ensure consistent card width */
.ev-about-geo__locations {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	justify-content: center;
}
/* Make cards fill available space */
.ev-geo-card {
	width: 100%;
	box-sizing: border-box;
}
.ev-about-geo__head { margin-bottom: clamp(32px, 4vw, 56px); max-width: 820px; }
.ev-about-geo__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(34px, 4.4vw, 64px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	color: #fff;
	margin: 22px 0 24px;
}
.ev-about-geo__title-accent {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-about-geo__lede {
	font-size: clamp(17px, 1.3vw, 20px);
	line-height: 1.55;
	color: rgba(255,255,255,.7);
	max-width: 60ch;
	margin: 0;
}
/* --- World Map --- */
.ev-about-geo__map-wrap {
	position: relative;
	width: 100%;
	margin-bottom: clamp(24px, 3vw, 40px);
	border-radius: 16px;
	overflow: hidden;
	border: 1px solid rgba(92,200,255,.15);
	background: rgba(2,10,30,.7);
	box-shadow: 0 24px 60px rgba(2,10,30,.5);
}
.ev-about-geo__map-svg {
	width: 100%;
	height: auto;
	display: block;
}

/* Continent dots */
.ev-map-continent circle {
	transition: opacity 300ms ease;
}

/* Connection lines animate on load */
.ev-map-connections path {
	stroke-dasharray: 4 4;
	animation: ev-dash-flow 3s linear infinite;
}
@keyframes ev-dash-flow {
	from { stroke-dashoffset: 0; }
	to   { stroke-dashoffset: -24; }
}

/* Pin pulse ring */
.ev-map-pin__pulse {
	animation: ev-pin-pulse 2.4s ease-out infinite;
	transform-origin: center;
}
@keyframes ev-pin-pulse {
	0%   { r: 6;  opacity: .5; }
	70%  { r: 18; opacity: 0;  }
	100% { r: 6;  opacity: 0;  }
}

/* Stagger each pin's pulse */
.ev-map-pin:nth-child(1) .ev-map-pin__pulse { animation-delay: 0s; }
.ev-map-pin:nth-child(2) .ev-map-pin__pulse { animation-delay: .6s; }
.ev-map-pin:nth-child(3) .ev-map-pin__pulse { animation-delay: 1.2s; }
.ev-map-pin:nth-child(4) .ev-map-pin__pulse { animation-delay: 1.8s; }

/* Pin hover */
.ev-map-pin { cursor: pointer; }
.ev-map-pin .ev-map-pin__dot { transition: r 200ms ease; }
.ev-map-pin:hover .ev-map-pin__dot { r: 6; }
.ev-map-pin:hover .ev-map-pin__ring { stroke-opacity: 1; }

/* Tooltip */
.ev-map-tooltip {
	position: absolute;
	pointer-events: none;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity 180ms ease, transform 180ms ease;
	background: rgba(3,16,43,.92);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(92,200,255,.25);
	border-radius: 10px;
	padding: 10px 14px;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 160px;
	z-index: 10;
}
.ev-map-tooltip.is-visible {
	opacity: 1;
	transform: translateY(0);
}
.ev-map-tooltip__code {
	font-family: var(--f-mono);
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #5cc8ff;
	padding: 2px 8px;
	background: rgba(27,160,230,.15);
	border-radius: 999px;
	width: fit-content;
}
.ev-map-tooltip__name {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: #fff;
	letter-spacing: -0.01em;
}
.ev-map-tooltip__cities {
	font-size: 11.5px;
	color: rgba(255,255,255,.6);
	line-height: 1.4;
}

/* Interactive Region Cards (Horizontal Grid) */
.ev-about-geo__locations {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.ev-geo-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(92,200,255,.12);
	border-radius: 12px;
	text-align: left;
	cursor: pointer;
	transition: all 280ms ease;
	position: relative;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,.06);
}
.ev-geo-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 10% 50%, rgba(27,160,230,.1) 0%, transparent 60%);
	opacity: 0;
	transition: opacity 300ms ease;
}
.ev-geo-card:hover {
	background: rgba(255,255,255,.06);
	border-color: rgba(92,200,255,.3);
	transform: translateY(-4px);
}
.ev-geo-card:hover::before { opacity: 1; }
.ev-geo-card__code {
	font-family: var(--f-mono);
	font-size: 10px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #5cc8ff;
	padding: 4px 10px;
	border: 1px solid rgba(92,200,255,.3);
	border-radius: 999px;
	background: rgba(27,160,230,.08);
	flex-shrink: 0;
}
.ev-geo-card__details {
	display: flex;
	flex-direction: column;
	gap: 2px;
	flex-grow: 1;
}
.ev-geo-card__name {
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	letter-spacing: -0.01em;
}
.ev-geo-card__cities {
	font-size: 12px;
	color: rgba(255,255,255,.5);
}
.ev-geo-card__icon {
	width: 18px;
	height: 18px;
	color: rgba(255,255,255,.2);
	transition: color 200ms ease, transform 200ms ease;
}
.ev-geo-card:hover .ev-geo-card__icon {
	color: #5cc8ff;
	transform: translateX(2px);
}

@media (max-width: 1024px) {
	.ev-about-geo__locations { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.ev-about-geo__locations { grid-template-columns: 1fr; }
}

/* --- About page: kill margins below close so footer butts up clean --- */
.ev-about-mission + .ev-about-purpose,
.ev-about-purpose + .ev-about-diff,
.ev-about-diff + .ev-about-team,
.ev-about-team + .ev-about-foundation,
.ev-about-foundation + .ev-about-geo {
	border-top: 0;
}

/* =========================================================
   CLOSE — LIGHT variant (used on About page)
   Scoped via .ev-close--light so the home page close stays dark.
   ========================================================= */
.ev-close--light {
	color: var(--ink);
	background:
		radial-gradient(ellipse 60% 50% at 90% 20%, rgba(27,160,230,.12) 0%, transparent 55%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(27,160,230,.06) 0%, transparent 60%),
		linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}
.ev-close--light .ev-close__bg-mark {
	color: rgba(27,160,230,.05);
}
.ev-close--light .ev-close__bg-lines { opacity: .35; }
.ev-close--light .ev-close__title { color: var(--ink); }
.ev-close--light .ev-close__title-accent {
	background: none;
	-webkit-background-clip: initial;
	background-clip: initial;
	color: var(--brand);
	-webkit-text-fill-color: var(--brand);
}
.ev-close--light .ev-close__lede { color: var(--ink-soft); }
.ev-close--light .ev-close__cta-primary {
	background: linear-gradient(135deg, var(--brand) 0%, #5cc8ff 100%);
	color: #ffffff;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.45), inset 0 1px 0 rgba(255,255,255,.3);
}
.ev-close--light .ev-close__cta-primary:hover {
	box-shadow: 0 22px 60px -18px rgba(27,160,230,.6), inset 0 1px 0 rgba(255,255,255,.45);
}
.ev-close--light .ev-close__cta-ghost {
	color: var(--ink);
	border-bottom-color: var(--ink);
}
.ev-close--light .ev-close__cta-ghost:hover {
	color: var(--brand);
	border-bottom-color: var(--brand);
}
.ev-close--light .ev-close__meta {
	background: #ffffff;
	border: 1px solid var(--line);
	box-shadow: 0 18px 50px -28px rgba(12,19,32,.14);
}
.ev-close--light .ev-close__meta::before {
	background: linear-gradient(90deg, transparent, var(--brand), transparent);
	opacity: .6;
}
.ev-close--light .ev-close__meta-eyebrow { color: var(--mute); }
.ev-close--light .ev-close__meta-rule { background: var(--line); }
.ev-close--light .ev-close__meta-row { border-top-color: var(--line); }
.ev-close--light .ev-close__meta-label { color: var(--mute); }
.ev-close--light .ev-close__meta-value { color: var(--ink); }
.ev-close--light .ev-close__meta-value a {
	color: var(--brand);
	border-bottom-color: rgba(27,160,230,.3);
}
.ev-close--light .ev-close__meta-value a:hover { border-bottom-color: var(--brand); }
.ev-close--light .ev-close__meta-foot { border-top-color: var(--line); }
.ev-close--light .ev-close__meta-mark { color: var(--brand); }
.ev-close--light .ev-close__meta-sig { color: var(--ink); }

/* =========================================================
   SOLUTIONS PARENT — overview / index page
   ========================================================= */
.ev-sol-hero {
	position: relative;
	padding: clamp(96px, 12vw, 160px) 0 clamp(64px, 7vw, 100px);
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.10) 0%, transparent 60%),
		radial-gradient(ellipse 50% 50% at 5% 100%, rgba(27,160,230,.06) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.ev-sol-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-sol-hero__streams { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .5; }
.ev-sol-hero__stream {
	stroke-linecap: round;
	stroke-dasharray: 900 1800;
	animation: ev-stream-flow 14s linear infinite;
}
.ev-sol-hero__stream--1 { animation-duration: 13s; opacity: .9; }
.ev-sol-hero__stream--2 { animation-duration: 15s; animation-delay: -3s; opacity: .65; }
.ev-sol-hero__stream--3 { animation-duration: 17s; animation-delay: -6s; opacity: .45; }
.ev-sol-hero__inner { position: relative; z-index: 2; }
.ev-sol-hero__meta {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; flex-wrap: wrap;
	margin-bottom: 32px;
}
.ev-sol-hero__counter {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-sol-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5vw, 78px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 40px;
	max-width: 22ch;
}
.ev-sol-hero__title-accent { font-weight: 500; color: var(--brand); }
.ev-sol-hero__row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: end;
}
.ev-sol-hero__lede {
	font-size: clamp(17px, 1.3vw, 21px);
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 60ch;
	margin: 0;
}
.ev-sol-hero__actions .ev-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.ev-sol-hero .ev-btn--primary {
	background: linear-gradient(135deg, var(--brand) 0%, #5cc8ff 100%);
	color: #ffffff;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.5), inset 0 1px 0 rgba(255,255,255,.3);
}
.ev-sol-hero .ev-btn--ghost {
	background: #ffffff;
	color: var(--ink);
	border: 1px solid var(--line);
}
.ev-sol-hero .ev-btn--ghost:hover { border-color: var(--brand); color: var(--brand); }
@media (max-width: 760px) {
	.ev-sol-hero__row { grid-template-columns: 1fr; }
}

/* --- Capabilities index (cards grid) --- */
.ev-sol-index {
	padding: clamp(80px, 9vw, 140px) 0;
	background: #ffffff;
}
.ev-sol-index__head { margin-bottom: clamp(48px, 6vw, 80px); max-width: 880px; }
.ev-sol-index__head-tag { display: inline-flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.ev-sol-index__head-line { width: 40px; height: 1px; background: var(--brand); }
.ev-sol-index__head-text {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
}
.ev-sol-index__head-title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 0;
	max-width: 26ch;
}
.ev-sol-index__head-title span { font-weight: 500; color: var(--brand); }

.ev-sol-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}
.ev-sol-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	color: var(--ink);
	transition: transform 360ms var(--ease-out), border-color 360ms var(--ease-out), box-shadow 360ms var(--ease-out);
	box-shadow: 0 16px 40px -28px rgba(12,19,32,.10);
}
@media (hover: hover) and (pointer: fine) {
	.ev-sol-card:hover {
		transform: translateY(-4px);
		border-color: rgba(27,160,230,.35);
		box-shadow: 0 30px 80px -32px rgba(12,19,32,.18);
	}
	.ev-sol-card:hover .ev-sol-card__media img { transform: scale(1.05); }
	.ev-sol-card:hover .ev-sol-card__cta { gap: 14px; color: var(--brand); }
	.ev-sol-card:hover .ev-sol-card__dot { background: var(--brand); box-shadow: 0 0 0 6px rgba(27,160,230,.15); }
}
.ev-sol-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	position: relative;
}
.ev-sol-card__media img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	filter: saturate(1.02);
	transition: transform 680ms var(--ease-out);
}
.ev-sol-card__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(2,10,29,.18) 100%);
	pointer-events: none;
}
.ev-sol-card__body {
	padding: clamp(24px, 2.5vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}
.ev-sol-card__head { display: flex; align-items: center; justify-content: space-between; }
.ev-sol-card__num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	color: var(--brand);
	font-weight: 500;
}
.ev-sol-card__dot {
	width: 10px; height: 10px; border-radius: 50%;
	background: rgba(27,160,230,.35);
	transition: background 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.ev-sol-card__title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(20px, 1.9vw, 26px);
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0;
	line-height: 1.2;
}
.ev-sol-card__tagline {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0;
}
.ev-sol-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
	letter-spacing: -0.01em;
	transition: gap 200ms var(--ease-out), color 200ms var(--ease-out);
}

@media (max-width: 900px) { .ev-sol-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .ev-sol-cards { grid-template-columns: 1fr; } }

/* --- Approach summary — DARK navy (home-Philosophy style) --- */
.ev-sol-approach {
	position: relative;
	padding: clamp(80px, 9vw, 140px) 0;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 90% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
}
.ev-sol-approach::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-sol-approach__inner { position: relative; z-index: 1; }
.ev-sol-approach .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-sol-approach .ev-eyebrow::before { background: var(--brand); opacity: .8; }
.ev-sol-approach__title { color: #fff; }
.ev-sol-approach__title span {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-sol-approach__title sup { color: #5cc8ff; }
.ev-sol-approach__lede { color: rgba(255,255,255,.7); }
.ev-sol-approach__step {
	background: rgba(255,255,255,.04);
	border-left-color: rgba(255,255,255,.1);
}
.ev-sol-approach__step:first-child { border-left-color: transparent; }
.ev-sol-approach__step-num { color: #5cc8ff; }
.ev-sol-approach__step-title { color: #fff; }
.ev-sol-approach__step-desc { color: rgba(255,255,255,.7); }
@media (max-width: 900px) {
	.ev-sol-approach__step { border-left-color: rgba(255,255,255,.1) !important; border-top-color: rgba(255,255,255,.1) !important; }
}
.ev-sol-approach__head { max-width: 880px; margin-bottom: clamp(48px, 6vw, 80px); }
.ev-sol-approach__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 22px 0 24px;
	max-width: 26ch;
}
.ev-sol-approach__title span { font-weight: 500; color: var(--brand); }
.ev-sol-approach__title sup { font-size: .4em; vertical-align: super; color: var(--brand); }
.ev-sol-approach__lede {
	font-size: clamp(16px, 1.2vw, 19px);
	line-height: 1.65;
	color: var(--ink-soft);
	margin: 0;
	max-width: 60ch;
}
.ev-sol-approach__steps {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: ev-step;
}
.ev-sol-approach__step {
	padding: clamp(24px, 2.5vw, 32px);
	border-left: 1px solid var(--line);
	background: #ffffff;
}
.ev-sol-approach__step:first-child { border-left: 0; }
.ev-sol-approach__step-num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	color: var(--brand);
	font-weight: 500;
	display: block;
	margin-bottom: 16px;
}
.ev-sol-approach__step-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(18px, 1.6vw, 22px);
	color: var(--ink);
	letter-spacing: -0.02em;
	margin: 0 0 8px;
}
.ev-sol-approach__step-desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ink-soft);
	margin: 0;
}
@media (max-width: 900px) {
	.ev-sol-approach__steps { grid-template-columns: 1fr 1fr; }
	.ev-sol-approach__step { border-left: 0; border-top: 1px solid var(--line); }
	.ev-sol-approach__step:nth-child(odd) { border-left: 0; }
	.ev-sol-approach__step:nth-child(even) { border-left: 1px solid var(--line); }
	.ev-sol-approach__step:first-child,
	.ev-sol-approach__step:nth-child(2) { border-top: 0; }
}
@media (max-width: 540px) {
	.ev-sol-approach__steps { grid-template-columns: 1fr; }
	.ev-sol-approach__step { border-left: 0 !important; border-top: 1px solid var(--line); }
	.ev-sol-approach__step:first-child { border-top: 0; }
}

/* =========================================================
   SOLUTION SUB-PAGE (/solutions/{slug}/)
   ========================================================= */

/* --- Sub-service hero --- */
.ev-solx-hero {
	position: relative;
	padding: clamp(80px, 10vw, 140px) 0 0;
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.08) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.ev-solx-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-solx-hero__streams { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .4; }
.ev-solx-hero__stream {
	stroke-linecap: round;
	stroke-dasharray: 900 1800;
	animation: ev-stream-flow 14s linear infinite;
}
.ev-solx-hero__inner { position: relative; z-index: 2; padding-bottom: clamp(40px, 5vw, 64px); }

.ev-solx-breadcrumbs {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 24px;
	display: flex; align-items: center; gap: 10px;
}
.ev-solx-breadcrumbs a { color: var(--brand); border-bottom: 1px solid transparent; transition: border-color 200ms var(--ease-out); }
.ev-solx-breadcrumbs a:hover { border-bottom-color: var(--brand); }
.ev-solx-breadcrumbs__sep { color: var(--line); }
.ev-solx-breadcrumbs__current { color: var(--ink); }

.ev-solx-hero__meta { margin-bottom: 16px; }
.ev-solx-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5.4vw, 84px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 40px;
	max-width: 22ch;
}
.ev-solx-hero__row {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, 1fr);
	gap: clamp(28px, 4vw, 56px);
	align-items: end;
}
.ev-solx-hero__lede {
	font-size: clamp(17px, 1.3vw, 21px);
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 60ch;
	margin: 0;
}
.ev-solx-hero__lede strong { color: var(--ink); font-weight: 500; }
.ev-solx-hero__actions .ev-ctas { display: flex; gap: 14px; flex-wrap: wrap; }
.ev-solx-hero .ev-btn--primary {
	background: linear-gradient(135deg, var(--brand) 0%, #5cc8ff 100%);
	color: #ffffff;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.5), inset 0 1px 0 rgba(255,255,255,.3);
}
.ev-solx-hero .ev-btn--ghost {
	background: #ffffff;
	color: var(--ink);
	border: 1px solid var(--line);
}
.ev-solx-hero .ev-btn--ghost:hover { border-color: var(--brand); color: var(--brand); }
.ev-solx-hero__media {
	position: relative;
	margin: 0;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	max-height: 70vh;
}
.ev-solx-hero__media img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	filter: saturate(1.02);
}
@media (max-width: 900px) {
	.ev-solx-hero__row { grid-template-columns: 1fr; }
	.ev-solx-hero__media { aspect-ratio: 16 / 10; }
}

/* --- Intro --- */
.ev-solx-intro {
	padding: clamp(80px, 9vw, 140px) 0;
	background: #ffffff;
}
.ev-solx-intro__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(40px, 6vw, 96px);
	align-items: start;
}
.ev-solx-intro__head {
	display: flex; align-items: center; gap: 16px;
	padding-top: 10px;
}
.ev-solx-intro__rule { flex: 1; height: 1px; background: var(--line); }
.ev-solx-intro__lede {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(22px, 2.4vw, 34px);
	line-height: 1.3;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 0 0 20px;
}
.ev-solx-intro__lede strong { color: var(--brand); font-weight: 500; }
.ev-solx-intro__para {
	font-size: clamp(16px, 1.2vw, 19px);
	line-height: 1.65;
	color: var(--ink-soft);
	margin: 0;
	max-width: 64ch;
}
@media (max-width: 760px) {
	.ev-solx-intro__inner { grid-template-columns: 1fr; gap: 24px; }
}

/* --- The Problem --- */
.ev-solx-problem {
	padding: clamp(80px, 9vw, 140px) 0;
	background: var(--bg-paper);
}
.ev-solx-problem__inner { max-width: 900px; }
.ev-solx-problem__head { margin-bottom: clamp(32px, 4vw, 56px); }
.ev-solx-problem__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(24px, 2.6vw, 36px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 18px 0 0;
}
.ev-solx-problem__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}
.ev-solx-problem__item {
	display: grid;
	grid-template-columns: 40px 1fr;
	gap: 18px;
	align-items: center;
	padding: 18px 0;
	border-top: 1px solid var(--line);
}
.ev-solx-problem__item:last-child { border-bottom: 1px solid var(--line); }
.ev-solx-problem__item-mark {
	display: grid;
	place-items: center;
	width: 32px; height: 32px;
	border-radius: 50%;
	background: rgba(220,38,38,.06);
	color: #dc2626;
}
.ev-solx-problem__item-text {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(17px, 1.3vw, 20px);
	color: var(--ink);
	letter-spacing: -0.015em;
}
.ev-solx-problem__close {
	margin-top: clamp(32px, 4vw, 48px);
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(18px, 1.4vw, 22px);
	color: var(--brand);
	letter-spacing: -0.015em;
}

/* --- What we do (sub-service grid) — DARK navy (home-Philosophy style) --- */
.ev-solx-services {
	position: relative;
	padding: clamp(80px, 9vw, 140px) 0;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 10% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 100% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
}
.ev-solx-services::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-solx-services__inner { position: relative; z-index: 1; }
.ev-solx-services .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-solx-services .ev-eyebrow::before { background: var(--brand); opacity: .8; }
.ev-solx-services__title { color: #fff; }
.ev-solx-services__title span {
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	font-weight: 500;
}
.ev-solx-service {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.1);
	box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
	.ev-solx-service:hover {
		background: rgba(255,255,255,.07);
		border-color: rgba(92,200,255,.35);
		box-shadow: none;
	}
}
.ev-solx-service__num { color: #5cc8ff; }
.ev-solx-service__title { color: #fff; }
.ev-solx-service__desc { color: rgba(255,255,255,.7); }
.ev-solx-services__head { margin-bottom: clamp(48px, 6vw, 80px); max-width: 820px; }
.ev-solx-services__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 22px 0 0;
	max-width: 26ch;
}
.ev-solx-services__title span { font-weight: 500; color: var(--brand); }
.ev-solx-services__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}
.ev-solx-service {
	padding: clamp(28px, 3vw, 36px);
	border: 1px solid var(--line);
	border-radius: 16px;
	background: #ffffff;
	position: relative;
	transition: transform 320ms var(--ease-out), border-color 320ms var(--ease-out), box-shadow 320ms var(--ease-out);
	box-shadow: 0 12px 36px -24px rgba(12,19,32,.08);
}
@media (hover: hover) and (pointer: fine) {
	.ev-solx-service:hover {
		transform: translateY(-3px);
		border-color: rgba(27,160,230,.35);
		box-shadow: 0 24px 60px -28px rgba(12,19,32,.16);
	}
}
.ev-solx-service__num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	color: var(--brand);
	font-weight: 500;
	display: block;
	margin-bottom: 18px;
}
.ev-solx-service__title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(18px, 1.6vw, 22px);
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0 0 10px;
	line-height: 1.25;
}
.ev-solx-service__desc {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0;
}
@media (max-width: 900px) { .ev-solx-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .ev-solx-services__grid { grid-template-columns: 1fr; } }

/* --- Our approach (vertical timeline) --- */
.ev-solx-approach {
	padding: clamp(80px, 9vw, 140px) 0;
	background: var(--bg-paper);
}
.ev-solx-approach__head { max-width: 820px; margin-bottom: clamp(48px, 6vw, 80px); }
.ev-solx-approach__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 22px 0 0;
	max-width: 26ch;
}
.ev-solx-approach__title span { font-weight: 500; color: var(--brand); }
.ev-solx-approach__steps {
	position: relative;
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}
/* Continuous vertical track that connects all numbered nodes */
.ev-solx-approach__steps::before {
	content: "";
	position: absolute;
	left: 28px; /* center of the 56px circle */
	top: 28px;
	bottom: 28px;
	width: 2px;
	background: linear-gradient(180deg,
		rgba(27,160,230,0) 0%,
		rgba(27,160,230,.35) 6%,
		rgba(27,160,230,.35) 94%,
		rgba(27,160,230,0) 100%);
	z-index: 0;
}
.ev-solx-approach__step {
	position: relative;
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: clamp(20px, 3vw, 36px);
	padding: clamp(18px, 2.2vw, 28px) 0;
	border-top: 0;
	border-bottom: 0;
	transition: transform 280ms var(--ease-out);
}
.ev-solx-approach__step:last-child {
	border-bottom: 0;
}
@media (hover: hover) and (pointer: fine) {
	.ev-solx-approach__step:hover .ev-solx-approach__step-num {
		background: var(--brand);
		color: #ffffff;
		transform: scale(1.06);
		box-shadow: 0 0 0 6px var(--bg-paper), 0 16px 36px -10px rgba(27,160,230,.5);
	}
	.ev-solx-approach__step:hover .ev-solx-approach__step-title {
		color: var(--brand);
	}
	.ev-solx-approach__step:hover .ev-solx-approach__step-chevron {
		color: var(--brand);
		transform: translateX(4px);
	}
}
.ev-solx-approach__step-num {
	position: relative;
	z-index: 1;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid var(--brand);
	color: var(--brand);
	font-family: var(--f-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	box-shadow: 0 0 0 4px var(--bg-paper);
	transition: background 280ms var(--ease-out), color 280ms var(--ease-out), transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
/* Active "current" step indicator — first step gets a subtle pulse to suggest flow */
.ev-solx-approach__step:first-child .ev-solx-approach__step-num {
	background: var(--brand);
	color: #ffffff;
}
.ev-solx-approach__step-body {
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.ev-solx-approach__step-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(22px, 2.2vw, 30px);
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: color 280ms var(--ease-out);
}
.ev-solx-approach__step-title::after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 1px;
	background: linear-gradient(90deg, var(--brand), transparent);
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 280ms var(--ease-out), transform 280ms var(--ease-out);
}
.ev-solx-approach__step:hover .ev-solx-approach__step-title::after {
	opacity: 1;
	transform: translateX(0);
}
.ev-solx-approach__step-desc {
	font-size: clamp(15px, 1.1vw, 17px);
	line-height: 1.6;
	color: var(--ink-soft);
	margin: 0;
	max-width: 60ch;
}
/* Bottom of the track ends with a small arrowhead pointing to whatever comes next */
.ev-solx-approach__steps::after {
	content: "";
	position: absolute;
	left: 22px;
	bottom: -6px;
	width: 16px;
	height: 16px;
	border-right: 2px solid rgba(27,160,230,.35);
	border-bottom: 2px solid rgba(27,160,230,.35);
	transform: rotate(45deg);
	z-index: 0;
}

/* --- Impact — DARK navy (home-Philosophy style) --- */
.ev-solx-impact {
	position: relative;
	padding: clamp(80px, 9vw, 140px) 0;
	color: #fff;
	overflow: hidden;
	background:
		radial-gradient(ellipse 50% 60% at 90% 10%, rgba(27,160,230,.18) 0%, transparent 60%),
		radial-gradient(ellipse 60% 70% at 0% 100%, rgba(8,40,90,.5) 0%, transparent 60%),
		linear-gradient(180deg, #03102b 0%, #061a40 60%, #03102b 100%);
}
.ev-solx-impact::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 30%, transparent 80%);
	pointer-events: none;
}
.ev-solx-impact__inner { position: relative; z-index: 1; }
.ev-solx-impact .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-solx-impact .ev-eyebrow::before { background: var(--brand); opacity: .8; }
.ev-solx-impact__title { color: #fff; }
.ev-solx-impact__card {
	background: linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(27,160,230,.08) 100%);
	border-color: rgba(255,255,255,.12);
	box-shadow: 0 30px 80px -32px rgba(0,0,0,.5);
}
.ev-solx-impact__client-label,
.ev-solx-impact__system-label,
.ev-solx-impact__results-label {
	color: rgba(255,255,255,.55);
}
.ev-solx-impact__client-name,
.ev-solx-impact__system-name { color: #fff; }
.ev-solx-impact__result { color: #fff; }
.ev-solx-impact__result-mark {
	background: rgba(92,200,255,.15);
	color: #5cc8ff;
}
.ev-solx-impact__head { margin-bottom: clamp(40px, 5vw, 64px); }
.ev-solx-impact__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 22px 0 0;
}
.ev-solx-impact__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(32px, 5vw, 80px);
	padding: clamp(36px, 4vw, 56px);
	border-radius: 22px;
	background: linear-gradient(135deg, #ffffff 0%, #f1f7fd 100%);
	border: 1px solid var(--line);
	box-shadow: 0 30px 80px -32px rgba(12,19,32,.15);
}
.ev-solx-impact__card-left { display: flex; flex-direction: column; gap: 24px; }
.ev-solx-impact__client,
.ev-solx-impact__system { display: flex; flex-direction: column; gap: 8px; }
.ev-solx-impact__client-label,
.ev-solx-impact__system-label,
.ev-solx-impact__results-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-solx-impact__client-name,
.ev-solx-impact__system-name {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(20px, 1.8vw, 26px);
	letter-spacing: -0.02em;
	color: var(--ink);
	line-height: 1.25;
}
.ev-solx-impact__card-right { display: flex; flex-direction: column; gap: 14px; }
.ev-solx-impact__results { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 14px; }
.ev-solx-impact__result {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 14px;
	align-items: center;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(17px, 1.3vw, 20px);
	letter-spacing: -0.015em;
	color: var(--ink);
}
.ev-solx-impact__result-mark {
	display: grid;
	place-items: center;
	width: 28px; height: 28px;
	border-radius: 50%;
	background: rgba(27,160,230,.10);
	color: var(--brand);
}
@media (max-width: 760px) { .ev-solx-impact__card { grid-template-columns: 1fr; } }

/* --- Related capabilities --- */
.ev-solx-related {
	padding: clamp(80px, 9vw, 140px) 0;
	background: var(--bg-paper);
}
.ev-solx-related__head { margin-bottom: clamp(40px, 5vw, 64px); }
.ev-solx-related__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(24px, 2.6vw, 36px);
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 18px 0 0;
}
.ev-solx-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2vw, 28px);
}
.ev-solx-related__card {
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 2.5vw, 32px);
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 16px;
	color: var(--ink);
	transition: transform 320ms var(--ease-out), border-color 320ms var(--ease-out), box-shadow 320ms var(--ease-out);
	box-shadow: 0 12px 36px -24px rgba(12,19,32,.08);
}
@media (hover: hover) and (pointer: fine) {
	.ev-solx-related__card:hover {
		transform: translateY(-3px);
		border-color: rgba(27,160,230,.35);
		box-shadow: 0 24px 60px -28px rgba(12,19,32,.16);
	}
	.ev-solx-related__card:hover .ev-solx-related__card-cta { gap: 14px; color: var(--brand); }
}
.ev-solx-related__card-num {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .18em;
	color: var(--brand);
	font-weight: 500;
	margin-bottom: 18px;
}
.ev-solx-related__card-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(18px, 1.6vw, 22px);
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0 0 10px;
}
.ev-solx-related__card-desc {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0 0 18px;
	flex: 1;
}
.ev-solx-related__card-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
	transition: gap 200ms var(--ease-out), color 200ms var(--ease-out);
}
@media (max-width: 900px) { .ev-solx-related__grid { grid-template-columns: 1fr; } }

/* =========================================================
   NAV DROPDOWN — Solutions sub-menu
   ========================================================= */
.ev-menu__item--has-children { position: relative; }
.ev-menu__link { display: inline-flex; align-items: center; gap: 6px; }
.ev-menu__chev {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 220ms var(--ease-out);
	color: var(--mute);
}
.ev-menu__item--has-children:hover .ev-menu__chev,
.ev-menu__item--has-children.is-open .ev-menu__chev,
.ev-menu__item--has-children:focus-within .ev-menu__chev {
	transform: rotate(180deg);
	color: var(--brand);
}

.ev-submenu {
	/* Transparent wrapper — provides a continuous hover bridge from the
	   "Solutions" link down to the visible card. The visible card lives on
	   .ev-submenu__inner so the gap above it stays hoverable. */
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%) translateY(-8px);
	width: clamp(560px, 56vw, 720px);
	padding-top: 14px;
	background: transparent;
	border: 0;
	box-shadow: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 240ms var(--ease-out), transform 240ms var(--ease-out), visibility 0s linear 240ms;
	z-index: 100;
}
.ev-menu__item--has-children:hover > .ev-submenu,
.ev-menu__item--has-children:focus-within > .ev-submenu,
.ev-menu__item--has-children.is-open > .ev-submenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
	transition-delay: 0s;
}

/* The visible card — lives inside the transparent .ev-submenu wrapper */
.ev-submenu__inner {
	position: relative;
	display: grid;
	grid-template-columns: minmax(180px, 220px) 1fr;
	gap: 24px;
	padding: 24px;
	align-items: stretch;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 18px;
	box-shadow: 0 30px 80px -28px rgba(12,19,32,.22), 0 0 0 1px rgba(255,255,255,.6) inset;
}
.ev-submenu__inner::before {
	content: "";
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%) rotate(45deg);
	width: 14px;
	height: 14px;
	background: #ffffff;
	border-top: 1px solid var(--line);
	border-left: 1px solid var(--line);
}
.ev-submenu__intro {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px;
	border-radius: 12px;
	background: linear-gradient(180deg, #f4f8fd 0%, #ebf3fb 100%);
	border: 1px solid rgba(27,160,230,.15);
}
.ev-submenu__intro-tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
}
.ev-submenu__intro-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 17px;
	line-height: 1.3;
	letter-spacing: -0.015em;
	color: var(--ink);
	flex: 1;
}
.ev-submenu__intro-link {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 13px;
	color: var(--brand);
	letter-spacing: -0.01em;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: gap 200ms var(--ease-out);
}
.ev-submenu__intro-link:hover { gap: 10px; }

.ev-submenu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}
.ev-submenu__link {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 12px;
	align-items: start;
	padding: 12px 14px;
	border-radius: 10px;
	color: var(--ink);
	transition: background 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.ev-submenu__link::after { display: none; }
.ev-submenu__link:hover {
	background: rgba(27,160,230,.06);
	transform: translateX(2px);
}
.ev-submenu__link:hover .ev-submenu__num { color: var(--brand); }
.ev-submenu__num {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .14em;
	color: var(--mute);
	padding-top: 4px;
	transition: color 200ms var(--ease-out);
}
.ev-submenu__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ev-submenu__name {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14.5px;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--ink);
}
.ev-submenu__tag {
	font-size: 12px;
	line-height: 1.4;
	color: var(--mute);
}

/* On mobile, dropdown is hidden in the (collapsed) top nav, but expanded inline inside the mobile menu */
@media (max-width: 960px) {
	.ev-nav .ev-submenu { display: none; }

	.ev-mobile-menu .ev-menu__chev { display: none; }
	.ev-mobile-menu .ev-menu__item--has-children:hover > .ev-submenu,
	.ev-mobile-menu .ev-menu__item--has-children:focus-within > .ev-submenu,
	.ev-mobile-menu .ev-menu__item--has-children.is-open > .ev-submenu,
	.ev-mobile-menu .ev-submenu {
		position: static !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		width: 100%;
		padding: 0;
		margin: 0;
	}
	.ev-mobile-menu .ev-submenu::before,
	.ev-mobile-menu .ev-submenu__inner::before { display: none; }
	.ev-mobile-menu .ev-submenu__inner {
		display: block;
		padding: 0 0 16px;
		background: transparent;
		border: 0;
		box-shadow: none;
	}
	.ev-mobile-menu .ev-submenu__intro { display: none; }
	.ev-mobile-menu .ev-submenu__list {
		display: block;
		padding: 0;
		margin: 0;
		border-left: 1px solid rgba(255,255,255,.12);
		padding-left: 14px;
	}
	.ev-mobile-menu .ev-submenu__list li { border-bottom: 0; }
	.ev-mobile-menu .ev-submenu__link {
		display: grid;
		grid-template-columns: 32px 1fr;
		gap: 12px;
		padding: 12px 0;
		font-size: 16px;
		color: rgba(255,255,255,.72);
		background: transparent;
		border-radius: 0;
	}
	.ev-mobile-menu .ev-submenu__link::after { display: none; }
	.ev-mobile-menu .ev-submenu__link:hover { background: transparent; transform: none; }
	.ev-mobile-menu .ev-submenu__num {
		color: rgba(92,200,255,.7);
		padding-top: 2px;
		font-size: 11px;
	}
	.ev-mobile-menu .ev-submenu__name {
		color: rgba(255,255,255,.92);
		font-size: 17px;
		font-family: var(--f-display);
		font-weight: 500;
	}
	.ev-mobile-menu .ev-submenu__tag {
		color: rgba(255,255,255,.5);
		font-size: 12.5px;
	}
}

/* =========================================================
   FLOATING NAV PANEL — Solutions sub-list (collapsible dropdown)
   ========================================================= */

/* has-submenu li: flex row so link + toggle button sit side by side,
   sublist wraps to full-width row below */
.ev-floatnav-panel li.has-submenu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.ev-floatnav-panel li.has-submenu > a {
	flex: 1;
	min-width: 0;
}
.ev-floatnav-panel li.has-submenu > a .arrow {
	display: none;
}

/* Chevron toggle button */
.ev-floatnav-panel__toggle {
	flex-shrink: 0;
	background: none;
	border: 0;
	color: rgba(255,255,255,.45);
	cursor: pointer;
	padding: 10px 6px;
	display: grid;
	place-items: center;
	align-self: center;
	transition: color 200ms var(--ease-out);
}
.ev-floatnav-panel__toggle:hover { color: var(--accent); }
.ev-floatnav-panel__toggle svg {
	display: block;
	transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
}
.ev-floatnav-panel__toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

.ev-floatnav-panel__sublist {
	list-style: none;
	flex-basis: 100%;
	padding: 0 0 0 18px;
	border-left: 1px solid rgba(255,255,255,.12);
	counter-reset: none;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: max-height 380ms cubic-bezier(0.4, 0, 0.2, 1), opacity 240ms ease;
}
.ev-floatnav-panel__sublist.is-open {
	max-height: 600px;
	opacity: 1;
	padding: 4px 0 12px 18px;
}
.ev-floatnav-panel__sublist li {
	border-bottom: 0;
	counter-increment: none; /* suppress the auto-number on sub-items */
}
/* Stronger specificity than .ev-floatnav-panel li a to override defaults */
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a {
	display: grid;
	grid-template-columns: 28px 1fr 16px;
	gap: 12px;
	align-items: center;
	padding: 10px 0;
	color: rgba(255,255,255,.7);
	transition: color 200ms var(--ease-out), padding-left 200ms var(--ease-out);
}
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a::before {
	content: none; /* suppress the auto-counter on sub-items */
}
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a:hover {
	color: #fff;
	padding-left: 6px;
}
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a .num {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .12em;
	color: rgba(92,200,255,.7);
}
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a .label {
	font-family: var(--f-sans);
	font-weight: 400;
	font-size: 14px;
	line-height: 1.35;
}
.ev-floatnav-panel ol .ev-floatnav-panel__sublist li a .arrow {
	text-align: right;
	opacity: .5;
	font-size: 12px;
}

/* =========================================================
   INSIGHTS — listing page (WP-backed)
   ========================================================= */
.ev-insights-hero {
	position: relative;
	padding: clamp(96px, 12vw, 160px) 0 clamp(64px, 7vw, 100px);
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.10) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.ev-insights-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-insights-hero__inner { position: relative; z-index: 1; }
.ev-insights-hero__meta {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; flex-wrap: wrap;
	margin-bottom: 32px;
}
.ev-insights-hero__counter {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-insights-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5.2vw, 78px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 28px;
	max-width: 22ch;
}
.ev-insights-hero__title-accent { font-weight: 500; color: var(--brand); }
.ev-insights-hero__lede {
	font-size: clamp(17px, 1.3vw, 21px);
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 64ch;
	margin: 0;
}

/* ---- Category filter tabs ---- */
.ev-insights-filters-wrap {
	background: var(--bg-paper);
	border-bottom: 1px solid var(--line);
}
.ev-insights-filters {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	padding: 20px 0;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.ev-insights-filters::-webkit-scrollbar { display: none; }
.ev-insights-filter {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #ffffff;
	font-family: var(--f-display);
	font-size: 14px;
	font-weight: 400;
	color: var(--ink-soft);
	cursor: pointer;
	transition: background 200ms var(--ease-out), border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
.ev-insights-filter span {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--mute);
	transition: color 200ms var(--ease-out);
}
.ev-insights-filter:hover {
	border-color: var(--brand);
	color: var(--brand);
}
.ev-insights-filter.is-active {
	background: var(--ink);
	color: #ffffff;
	border-color: var(--ink);
}
.ev-insights-filter.is-active span { color: rgba(255,255,255,.55); }

/* ---- Card grid ---- */
.ev-insights-grid-section { padding: clamp(56px, 7vw, 100px) 0 clamp(80px, 9vw, 120px); background: #ffffff; }
.ev-insights-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(16px, 2vw, 28px);
}

/* ---- Light card ---- */
.ev-insights-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	color: var(--ink);
	text-decoration: none;
	transition: transform 360ms var(--ease-out), border-color 360ms var(--ease-out), box-shadow 360ms var(--ease-out);
	box-shadow: 0 16px 40px -28px rgba(12,19,32,.1);
}
@media (hover: hover) and (pointer: fine) {
	.ev-insights-card:hover {
		transform: translateY(-4px);
		border-color: rgba(27,160,230,.35);
		box-shadow: 0 30px 80px -32px rgba(12,19,32,.18);
	}
	.ev-insights-card:hover .ev-insights-card__media img { transform: scale(1.04); }
	.ev-insights-card:hover .ev-insights-card__link { gap: 12px; color: var(--brand); }
}

/* Cover image */
.ev-insights-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, #eaf3fb 0%, #d6ebfa 100%);
	position: relative;
	flex-shrink: 0;
}
.ev-insights-card__media img {
	width: 100%; height: 100%;
	object-fit: cover; display: block;
	transition: transform 680ms var(--ease-out);
}

/* Category chip — overlaid bottom-left of the image */
.ev-insights-card__tag {
	position: absolute;
	bottom: 14px; left: 16px;
	display: inline-block;
	padding: 5px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	border: 1px solid rgba(27,160,230,.22);
	font-family: var(--f-mono);
	font-size: 10.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	font-weight: 500;
	color: var(--brand);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

/* Card body */
.ev-insights-card__body {
	padding: clamp(20px, 2.2vw, 28px);
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}
.ev-insights-card__date {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-insights-card__title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(19px, 1.7vw, 24px);
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0;
}

/* KPI / metric chips */
.ev-insights-card__metrics {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.ev-insights-card__metric {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--brand-soft);
	border: 1px solid rgba(27,160,230,.2);
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .06em;
	color: var(--brand-deep);
}

/* CTA */
.ev-insights-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--line);
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 13px;
	color: var(--ink-soft);
	letter-spacing: -0.01em;
	transition: gap 200ms var(--ease-out), color 200ms var(--ease-out);
}

/* ---- Load more button ---- */
.ev-insights-loadmore-wrap {
	display: flex;
	justify-content: center;
	margin-top: clamp(40px, 5vw, 64px);
}
.ev-insights-loadmore {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 17px 44px;
	border: 1.5px solid var(--line);
	border-radius: 999px;
	background: #ffffff;
	font-family: var(--f-display);
	font-size: 15px;
	font-weight: 500;
	color: var(--ink);
	cursor: pointer;
	transition: border-color 220ms var(--ease-out), color 220ms var(--ease-out), box-shadow 220ms var(--ease-out);
	box-shadow: 0 4px 16px -6px rgba(12,19,32,.1);
}
.ev-insights-loadmore:hover {
	border-color: var(--brand);
	color: var(--brand);
	box-shadow: 0 8px 28px -8px rgba(27,160,230,.25);
}

/* ---- Responsive ---- */
@media (max-width: 1080px) {
	.ev-insights-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
	.ev-insights-grid { grid-template-columns: 1fr; }
}

/* Empty state */
.ev-insights-empty {
	text-align: center;
	max-width: 560px;
	margin: clamp(32px, 4vw, 56px) auto;
	padding: clamp(40px, 5vw, 64px);
	border: 1px solid var(--line);
	border-radius: 22px;
	background: linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
	box-shadow: 0 20px 60px -28px rgba(12,19,32,.1);
}
.ev-insights-empty__mark {
	display: grid; place-items: center;
	width: 64px; height: 64px;
	margin: 0 auto 24px;
	border-radius: 50%;
	background: rgba(27,160,230,.08);
	color: var(--brand);
}
.ev-insights-empty__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(22px, 2.4vw, 32px);
	color: var(--ink);
	letter-spacing: -0.02em;
	margin: 0 0 14px;
}
.ev-insights-empty__lede {
	font-size: 16px;
	line-height: 1.6;
	color: var(--ink-soft);
	margin: 0 0 28px;
}
.ev-insights-empty__form { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.ev-insights-empty__form input[type="email"] {
	flex: 1;
	min-width: 220px;
	padding: 14px 18px;
	border: 1px solid var(--line);
	border-radius: 999px;
	font: inherit;
	color: var(--ink);
	background: #ffffff;
	outline: none;
	transition: border-color 200ms var(--ease-out);
}
.ev-insights-empty__form input[type="email"]:focus { border-color: var(--brand); }

/* Subscribe band (bottom of /insights/) */
.ev-insights-subscribe {
	padding: clamp(80px, 9vw, 140px) 0;
	background: var(--bg-paper);
}
.ev-insights-subscribe__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 1fr);
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}
.ev-insights-subscribe__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(28px, 3.4vw, 48px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 18px 0 16px;
	max-width: 22ch;
}
.ev-insights-subscribe__title span { font-weight: 500; color: var(--brand); }
.ev-insights-subscribe__lede {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink-soft);
	margin: 0;
	max-width: 50ch;
}
.ev-insights-subscribe__form { display: flex; gap: 10px; flex-wrap: wrap; }
.ev-insights-subscribe__form input[type="email"] {
	flex: 1;
	min-width: 220px;
	padding: 16px 22px;
	border: 1px solid var(--line);
	border-radius: 999px;
	font: inherit;
	color: var(--ink);
	background: #ffffff;
	outline: none;
	transition: border-color 200ms var(--ease-out);
}
.ev-insights-subscribe__form input[type="email"]:focus { border-color: var(--brand); }
.ev-insights-subscribe__form .ev-btn--primary {
	background: linear-gradient(135deg, var(--brand) 0%, #5cc8ff 100%);
	color: #ffffff;
	border: 0;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.5);
}
@media (max-width: 760px) {
	.ev-insights-subscribe__inner { grid-template-columns: 1fr; }
}

/* =========================================================
   SINGLE POST — reading layout
   ========================================================= */
.ev-post { color: var(--ink); }

.ev-post__head {
	position: relative;
	padding: clamp(80px, 10vw, 140px) 0 clamp(40px, 5vw, 64px);
	overflow: hidden;
}
.ev-post__head-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.10) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
	pointer-events: none;
}
.ev-post__head-inner { position: relative; z-index: 1; max-width: 820px; }
.ev-post__crumbs {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 32px;
	display: flex; align-items: center; gap: 10px;
}
.ev-post__crumbs a {
	color: var(--brand);
	border-bottom: 1px solid transparent;
	transition: border-color 200ms var(--ease-out);
}
.ev-post__crumbs a:hover { border-bottom-color: var(--brand); }
.ev-post__crumbs-sep { color: var(--line); }
.ev-post__meta {
	display: flex; align-items: center; flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 24px;
}
.ev-post__tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(27,160,230,.06);
	border: 1px solid rgba(27,160,230,.2);
}
.ev-post__date, .ev-post__read {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--mute);
}
.ev-post__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(36px, 4.8vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.03em;
	color: var(--ink);
	margin: 0 0 24px;
}
.ev-post__lede {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(19px, 1.6vw, 24px);
	line-height: 1.5;
	letter-spacing: -0.015em;
	color: var(--ink-soft);
	margin: 0 0 32px;
}
.ev-post__byline {
	display: inline-flex; align-items: center; gap: 12px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
}
.ev-post__byline-mark { width: 24px; height: 1px; background: var(--brand); }
.ev-post__byline-author {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
}
.ev-post__byline-sep { color: var(--mute); }
.ev-post__byline-team {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
}

/* Cover image */
.ev-post__cover {
	margin: 0;
	width: 100%;
	overflow: hidden;
	aspect-ratio: 21 / 9;
	max-height: 70vh;
}
.ev-post__cover-img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Body */
.ev-post__body {
	padding: clamp(64px, 8vw, 120px) 0;
	background: #ffffff;
}
.ev-post__body-inner {
	display: grid;
	grid-template-columns: minmax(140px, 180px) minmax(0, 1fr);
	gap: clamp(48px, 6vw, 96px);
	align-items: start;
}
.ev-post__rail {
	position: sticky;
	top: clamp(96px, 12vh, 140px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ev-post__rail-rule { width: 32px; height: 1px; background: var(--brand); }
.ev-post__rail-num {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .2em;
	color: var(--mute);
}

/* Post content — typographic stack */
.ev-post__content {
	max-width: 68ch;
	font-size: clamp(17px, 1.2vw, 19px);
	line-height: 1.75;
	color: var(--ink-soft);
}
.ev-post__content > * + * { margin-top: 1.4em; }
.ev-post__content h2 {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(26px, 2.6vw, 36px);
	line-height: 1.2;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin-top: 2.4em;
	margin-bottom: .6em;
}
.ev-post__content h3 {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin-top: 2em;
	margin-bottom: .5em;
}
.ev-post__content p { margin-top: 0; margin-bottom: 1.4em; }
.ev-post__content a {
	color: var(--brand);
	border-bottom: 1px solid rgba(27,160,230,.3);
	transition: border-color 200ms var(--ease-out);
}
.ev-post__content a:hover { border-bottom-color: var(--brand); }
.ev-post__content strong { color: var(--ink); font-weight: 500; }
.ev-post__content blockquote {
	margin: 2em 0;
	padding: 0 0 0 28px;
	border-left: 3px solid var(--brand);
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.45;
	letter-spacing: -0.015em;
	color: var(--ink);
}
.ev-post__content ul, .ev-post__content ol { padding-left: 24px; }
.ev-post__content li { margin-bottom: .6em; }
.ev-post__content li::marker { color: var(--brand); }
.ev-post__content img,
.ev-post__content figure {
	margin: 2em 0;
	border-radius: 14px;
	overflow: hidden;
	max-width: 100%;
}
.ev-post__content code {
	font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
	font-size: .9em;
	background: var(--bg-paper);
	padding: 2px 6px;
	border-radius: 4px;
	color: var(--ink);
}
.ev-post__content pre {
	font-family: ui-monospace, "SFMono-Regular", Menlo, monospace;
	font-size: 14px;
	background: var(--bg-deep);
	color: #e8eef5;
	padding: 22px;
	border-radius: 12px;
	overflow-x: auto;
	line-height: 1.5;
}

/* Tags + share */
.ev-post__tags {
	display: flex; align-items: center; flex-wrap: wrap;
	gap: 10px;
	margin-top: 64px;
	padding-top: 32px;
	border-top: 1px solid var(--line);
}
.ev-post__tags-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
	margin-right: 4px;
}
.ev-post__tag-chip {
	font-family: var(--f-mono);
	font-size: 12px;
	letter-spacing: .08em;
	color: var(--ink-soft);
	padding: 6px 12px;
	border-radius: 999px;
	border: 1px solid var(--line);
	background: #ffffff;
	transition: border-color 200ms var(--ease-out), color 200ms var(--ease-out);
}
.ev-post__tag-chip:hover { border-color: var(--brand); color: var(--brand); }

.ev-post__share {
	display: flex; align-items: center; flex-wrap: wrap;
	gap: 14px;
	margin-top: 24px;
}
.ev-post__share-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-post__share a {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
	border-bottom: 1px solid var(--ink);
	padding-bottom: 2px;
	transition: color 200ms var(--ease-out), border-color 200ms var(--ease-out);
}
.ev-post__share a:hover { color: var(--brand); border-bottom-color: var(--brand); }

@media (max-width: 900px) {
	.ev-post__body-inner { grid-template-columns: 1fr; gap: 24px; }
	.ev-post__rail { position: static; flex-direction: row; align-items: center; }
}

/* Prev / Next */
.ev-post__nav {
	padding: clamp(48px, 6vw, 80px) 0;
	background: var(--bg-paper);
	border-top: 1px solid var(--line);
}
.ev-post__nav-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(24px, 4vw, 64px);
}
.ev-post__nav-link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	border: 1px solid var(--line);
	border-radius: 14px;
	background: #ffffff;
	color: var(--ink);
	transition: border-color 200ms var(--ease-out), transform 200ms var(--ease-out);
}
.ev-post__nav-link--next { text-align: right; align-items: flex-end; }
.ev-post__nav-link:hover { border-color: var(--brand); transform: translateY(-2px); }
.ev-post__nav-label {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
}
.ev-post__nav-title {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.3;
	color: var(--ink);
}
@media (max-width: 700px) {
	.ev-post__nav-inner { grid-template-columns: 1fr; }
	.ev-post__nav-link--next { text-align: left; align-items: flex-start; }
}

/* =========================================================
   RELATED POSTS (at the end of single)
   ========================================================= */
.ev-post-related {
	padding: clamp(80px, 9vw, 140px) 0;
	background: #ffffff;
}
.ev-post-related__head { margin-bottom: clamp(40px, 5vw, 64px); }
.ev-post-related__title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(26px, 2.8vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.025em;
	color: var(--ink);
	margin: 18px 0 0;
}
.ev-post-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 32px);
}
.ev-post-related__card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	color: var(--ink);
	transition: transform 320ms var(--ease-out), border-color 320ms var(--ease-out), box-shadow 320ms var(--ease-out);
	box-shadow: 0 12px 36px -24px rgba(12,19,32,.08);
}
.ev-post-related__card:hover {
	transform: translateY(-3px);
	border-color: rgba(27,160,230,.35);
	box-shadow: 0 24px 60px -28px rgba(12,19,32,.16);
}
.ev-post-related__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
}
.ev-post-related__media img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	transition: transform 680ms var(--ease-out);
}
.ev-post-related__card:hover .ev-post-related__media img { transform: scale(1.04); }
.ev-post-related__body {
	padding: clamp(20px, 2.2vw, 28px);
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}
.ev-post-related__tag {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--brand);
	font-weight: 500;
}
.ev-post-related__title-card {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ink);
	margin: 0;
}
.ev-post-related__cta {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
	margin-top: auto;
}
@media (max-width: 900px) { .ev-post-related__grid { grid-template-columns: 1fr; } }

/* =========================================================
   CONTACT PAGE — editorial hero + 2-column layout
   ========================================================= */
.ev-contact-hero {
	position: relative;
	padding: clamp(96px, 12vw, 160px) 0 clamp(56px, 7vw, 96px);
	color: var(--ink);
	overflow: hidden;
	background:
		radial-gradient(ellipse 60% 50% at 95% 15%, rgba(27,160,230,.10) 0%, transparent 60%),
		radial-gradient(ellipse 50% 50% at 5% 100%, rgba(27,160,230,.06) 0%, transparent 60%),
		linear-gradient(180deg, #ffffff 0%, #f4f8fd 100%);
}
.ev-contact-hero__bg { position: absolute; inset: 0; pointer-events: none; }
.ev-contact-hero__inner { position: relative; z-index: 1; }
.ev-contact-hero__meta {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; flex-wrap: wrap;
	margin-bottom: 32px;
}
.ev-contact-hero__response {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-contact-hero__title {
	font-family: var(--f-display);
	font-weight: 300;
	font-size: clamp(40px, 5.2vw, 78px);
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--ink);
	margin: 0 0 28px;
	max-width: 22ch;
}
.ev-contact-hero__title-accent { font-weight: 500; color: var(--brand); }
.ev-contact-hero__lede {
	font-size: clamp(17px, 1.3vw, 21px);
	line-height: 1.6;
	color: var(--ink-soft);
	max-width: 60ch;
	margin: 0;
}

/* Body grid: form + aside */
.ev-contact-body { padding: clamp(64px, 8vw, 120px) 0 clamp(96px, 11vw, 160px); background: #ffffff; }
.ev-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr);
	gap: clamp(40px, 5vw, 80px);
	align-items: start;
}
.ev-contact-form__head {
	display: flex; align-items: center; gap: 14px;
	margin-bottom: 28px;
}
.ev-contact-form__head-rule { flex: 1; height: 1px; background: var(--line); }

/* Aside panel — matches ev-close__meta style */
.ev-contact-aside__panel {
	padding: clamp(28px, 3vw, 40px);
	border: 1px solid var(--line);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 50px -28px rgba(12,19,32,.14);
	position: relative;
}
.ev-contact-aside__panel::before {
	content: "";
	position: absolute;
	top: 0;
	left: clamp(28px, 3vw, 40px);
	right: clamp(28px, 3vw, 40px);
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--brand), transparent);
	opacity: .6;
}
.ev-contact-aside__head {
	display: flex; align-items: center; gap: 12px;
	margin-bottom: 16px;
}
.ev-contact-aside__eyebrow {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mute);
}
.ev-contact-aside__rule { flex: 1; height: 1px; background: var(--line); }
.ev-contact-aside__intro {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ink-soft);
	margin: 0 0 20px;
}
.ev-contact-aside__list { margin: 0; padding: 0; display: flex; flex-direction: column; }
.ev-contact-aside__row {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 14px;
	padding: 14px 0;
	border-top: 1px solid var(--line);
	align-items: baseline;
}
.ev-contact-aside__row:first-child { border-top: 0; padding-top: 0; }
.ev-contact-aside__row dt {
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	margin: 0;
}
.ev-contact-aside__row dd {
	margin: 0;
	font-family: var(--f-display);
	font-weight: 400;
	font-size: 14.5px;
	line-height: 1.4;
}
.ev-contact-aside__row dd a {
	color: var(--brand);
	border-bottom: 1px solid rgba(27,160,230,.3);
	word-break: break-word;
	transition: border-color 200ms var(--ease-out);
}
.ev-contact-aside__row dd a:hover { border-bottom-color: var(--brand); }

.ev-contact-aside__divider {
	height: 1px;
	background: var(--line);
	margin: 28px 0;
}

.ev-contact-aside__offices { display: flex; flex-direction: column; gap: 14px; }
.ev-contact-aside__office {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: 14px;
	align-items: center;
}
.ev-contact-aside__office-code {
	display: grid;
	place-items: center;
	height: 28px;
	padding: 0 10px;
	border: 1px solid rgba(27,160,230,.3);
	border-radius: 999px;
	font-family: var(--f-mono);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .14em;
	color: var(--brand);
	background: rgba(27,160,230,.06);
}
.ev-contact-aside__office strong {
	display: block;
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 15px;
	color: var(--ink);
	letter-spacing: -0.01em;
}
.ev-contact-aside__office span {
	display: block;
	font-size: 13px;
	color: var(--ink-soft);
	margin-top: 2px;
}

.ev-contact-aside__foot {
	display: flex; align-items: center; gap: 10px;
	margin-top: 28px;
	padding-top: 18px;
	border-top: 1px solid var(--line);
}
.ev-contact-aside__mark { color: var(--brand); font-weight: 200; font-size: 18px; }
.ev-contact-aside__sig {
	font-family: var(--f-display);
	font-weight: 500;
	font-size: 14px;
	color: var(--ink);
	letter-spacing: -0.01em;
}

@media (max-width: 900px) {
	.ev-contact-layout { grid-template-columns: 1fr; }
}

/* =========================================================
   CONTACT FORM 7 — styled to match site
   ========================================================= */
.ev-form .wpcf7-form { display: flex; flex-direction: column; gap: 18px; }
.ev-form .wpcf7-form p { margin: 0; }
.ev-form .wpcf7-form label {
	display: block;
	font-family: var(--f-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mute);
	margin-bottom: 8px;
}
.ev-form .wpcf7-form input[type="text"],
.ev-form .wpcf7-form input[type="email"],
.ev-form .wpcf7-form input[type="tel"],
.ev-form .wpcf7-form input[type="url"],
.ev-form .wpcf7-form select,
.ev-form .wpcf7-form textarea {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: #ffffff;
	font: inherit;
	font-size: 15px;
	color: var(--ink);
	outline: none;
	transition: border-color 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
}
.ev-form .wpcf7-form input:focus,
.ev-form .wpcf7-form select:focus,
.ev-form .wpcf7-form textarea:focus {
	border-color: var(--brand);
	box-shadow: 0 0 0 3px rgba(27,160,230,.12);
}
.ev-form .wpcf7-form textarea { min-height: 140px; resize: vertical; }
/* The CF7 submit button — natural width, left-aligned (not full-width) */
.ev-form .wpcf7-form input[type="submit"] {
	display: inline-block;
	width: auto;
	padding: 14px 32px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--brand) 0%, #5cc8ff 100%);
	color: #ffffff;
	font: inherit;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: .01em;
	cursor: pointer;
	box-shadow: 0 18px 50px -16px rgba(27,160,230,.5);
	transition: transform 200ms var(--ease-out), box-shadow 200ms var(--ease-out);
	-webkit-appearance: none;
	appearance: none;
}
/* CF7 wraps submit in a <p> — keep that paragraph from stretching the button */
.ev-form .wpcf7-form p:has(> input[type="submit"]) { display: inline-block; }
.ev-form .wpcf7-form p:has(> .wpcf7-submit) { display: inline-block; }
.ev-form .wpcf7-form input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 24px 60px -18px rgba(27,160,230,.65);
}
.ev-form .wpcf7-spinner { background-color: var(--brand); }
.ev-form .wpcf7-response-output {
	margin: 16px 0 0;
	padding: 14px 18px;
	border-radius: 12px;
	font-size: 14px;
	border: 1px solid var(--line);
	background: var(--bg-paper);
	color: var(--ink);
}
.ev-form .wpcf7 form.sent .wpcf7-response-output {
	background: rgba(34,197,94,.08);
	border-color: rgba(34,197,94,.3);
	color: #166534;
}
.ev-form .wpcf7 form.invalid .wpcf7-response-output,
.ev-form .wpcf7 form.failed .wpcf7-response-output {
	background: rgba(220,38,38,.08);
	border-color: rgba(220,38,38,.3);
	color: #991b1b;
}
.ev-form .wpcf7-not-valid-tip {
	color: #dc2626;
	font-size: 12px;
	font-family: var(--f-mono);
	letter-spacing: .04em;
	margin-top: 6px;
}

/* Two-column rows when CF7 markup uses .row */
.ev-form .wpcf7-form .row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}
@media (max-width: 600px) {
	.ev-form .wpcf7-form .row { grid-template-columns: 1fr; }
}

/* Home page Insights placeholder (used when no posts exist yet) */
.ev-card--placeholder { cursor: default; pointer-events: none; opacity: .85; }
.ev-card__placeholder {
	width: 100%; height: 100%;
	background:
		linear-gradient(135deg, #eaf3fb 0%, #d6ebfa 100%),
		repeating-linear-gradient(45deg, rgba(27,160,230,.04) 0 10px, transparent 10px 20px);
}

/* =========================================================
   DARK NAVY SECTION OVERRIDES — placed at end of file so they
   win the cascade over the original light-theme rules above.
   Applied to: About Purpose, About Geo, Solutions Approach,
   Sub-service Services, Sub-service Impact.
   ========================================================= */

/* --- Eyebrows on dark --- */
.ev-about-purpose .ev-eyebrow,
.ev-about-geo .ev-eyebrow,
.ev-sol-approach .ev-eyebrow,
.ev-solx-services .ev-eyebrow,
.ev-solx-impact .ev-eyebrow { color: rgba(255,255,255,.6); }
.ev-about-purpose .ev-eyebrow::before,
.ev-about-geo .ev-eyebrow::before,
.ev-sol-approach .ev-eyebrow::before,
.ev-solx-services .ev-eyebrow::before,
.ev-solx-impact .ev-eyebrow::before { background: var(--brand); opacity: .8; }

/* --- Titles white, accents gradient cyan --- */
.ev-about-purpose__title,
.ev-about-geo__title,
.ev-sol-approach__title,
.ev-solx-services__title,
.ev-solx-impact__title { color: #fff; }
.ev-about-purpose__title-accent,
.ev-about-geo__title-accent,
.ev-sol-approach__title span,
.ev-solx-services__title span {
	font-weight: 500;
	background: linear-gradient(135deg, #ffffff 0%, #5cc8ff 75%, #1ba0e6 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.ev-sol-approach__title sup { color: #5cc8ff; }
.ev-sol-approach__lede,
.ev-about-geo__lede { color: rgba(255,255,255,.7); }

/* ===================== ABOUT — PURPOSE ===================== */
.ev-about-purpose__row { border-top-color: rgba(255,255,255,.1); }
.ev-about-purpose__row:last-of-type { border-bottom-color: rgba(255,255,255,.1); }
.ev-about-purpose__row-num { color: rgba(255,255,255,.45); }
.ev-about-purpose__row-lead { color: #fff; }
.ev-about-purpose__row-rule { background: linear-gradient(90deg, rgba(92,200,255,.5), rgba(92,200,255,.1)); }
.ev-about-purpose__row-verb { color: #fff; }
@media (hover: hover) and (pointer: fine) {
	.ev-about-purpose__row:hover .ev-about-purpose__row-verb { color: #5cc8ff; }
}
.ev-about-purpose__resolve {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.12);
	color: #fff;
	box-shadow: 0 30px 80px -32px rgba(0,0,0,.5);
}
.ev-about-purpose__resolve::after {
	background: radial-gradient(circle, rgba(92,200,255,.18) 0%, transparent 70%);
}
.ev-about-purpose__resolve-text { color: #fff; }

/* ===================== ABOUT — GEO ===================== */
.ev-about-geo__region {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.1);
	box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
	.ev-about-geo__region:hover {
		background: rgba(255,255,255,.07);
		border-color: rgba(92,200,255,.35);
		box-shadow: none;
	}
	.ev-about-geo__region:hover .ev-about-geo__region-code {
		color: #fff;
		background: var(--brand);
		border-color: var(--brand);
	}
}
.ev-about-geo__region-code {
	background: rgba(27,160,230,.12);
	border-color: rgba(92,200,255,.3);
	color: #5cc8ff;
}
.ev-about-geo__region-name { color: #fff; }
.ev-about-geo__region-cities { color: rgba(255,255,255,.6); }

/* ===================== SOLUTIONS — APPROACH ===================== */
.ev-sol-approach__step {
	background: rgba(255,255,255,.04);
	border-left-color: rgba(255,255,255,.1);
}
.ev-sol-approach__step:first-child { border-left-color: transparent; }
.ev-sol-approach__step-num { color: #5cc8ff; }
.ev-sol-approach__step-title { color: #fff; }
.ev-sol-approach__step-desc { color: rgba(255,255,255,.7); }
@media (max-width: 900px) {
	.ev-sol-approach__step { border-top-color: rgba(255,255,255,.1) !important; }
	.ev-sol-approach__step:nth-child(even) { border-left-color: rgba(255,255,255,.1) !important; }
}
@media (max-width: 540px) {
	.ev-sol-approach__step { border-left-color: transparent !important; border-top-color: rgba(255,255,255,.1) !important; }
}

/* ===================== SUB-SERVICE — SERVICES ===================== */
.ev-solx-service {
	background: rgba(255,255,255,.04);
	border-color: rgba(255,255,255,.1);
	box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
	.ev-solx-service:hover {
		background: rgba(255,255,255,.07);
		border-color: rgba(92,200,255,.35);
		box-shadow: none;
	}
}
.ev-solx-service__num { color: #5cc8ff; }
.ev-solx-service__title { color: #fff; }
.ev-solx-service__desc { color: rgba(255,255,255,.7); }

/* ===================== SUB-SERVICE — IMPACT ===================== */
.ev-solx-impact__card {
	background: linear-gradient(135deg, rgba(255,255,255,.06) 0%, rgba(27,160,230,.08) 100%);
	border-color: rgba(255,255,255,.12);
	box-shadow: 0 30px 80px -32px rgba(0,0,0,.5);
}
.ev-solx-impact__client-label,
.ev-solx-impact__system-label,
.ev-solx-impact__results-label { color: rgba(255,255,255,.55); }
.ev-solx-impact__client-name,
.ev-solx-impact__system-name { color: #fff; }
.ev-solx-impact__result { color: #fff; }
.ev-solx-impact__result-mark {
	background: rgba(92,200,255,.15);
	color: #5cc8ff;
}
