/* Integratec V2 product layer */

@font-face { font-display: swap; font-family: Montserrat; font-style: normal; font-weight: 400; src: local(''), url('/style-sheets/font/montserrat-v25-latin-regular.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: Montserrat; font-style: normal; font-weight: 500; src: local(''), url('/style-sheets/font/montserrat-v25-latin-500.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: Montserrat; font-style: normal; font-weight: 600; src: local(''), url('/style-sheets/font/montserrat-v25-latin-600.woff2') format('woff2'); }
@font-face { font-display: swap; font-family: Montserrat; font-style: normal; font-weight: 700; src: local(''), url('/style-sheets/font/montserrat-v25-latin-700.woff2') format('woff2'); }

:root {
	--blanco: #fff;
	--naranja: #f0a66c;
	--negro: #0c1220;
	--rojo: #e1857f;
	--verde: #25745f;
	--morado: #9782e6;
	--lima: #5ba4c9;
}

html { overflow-x: hidden; }

:root {
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	width: 100%;
	min-height: 100%;
	font-family: Montserrat, sans-serif;
	font-weight: 500;
	line-height: 1.2;
	overflow-x: hidden;
}

* { box-sizing: border-box; }

header {
	align-items: flex-start;
	background-color: var(--negro);
	display: flex;
	height: 77px;
	justify-content: center;
	left: 0;
	position: fixed;
	top: 0;
	transition: all .2s ease;
	width: 100%;
	z-index: 1000;
}

header.menu { box-shadow: 0 8px 15px rgba(0,0,0,.15); }

header > #escritorio {
	display: block;
	max-width: 1300px;
	position: relative;
	width: 90%;
}

header > #escritorio > #logo-escritorio {
	float: left;
	margin-right: 50px;
	margin-top: 20px;
	text-decoration: none;
	z-index: 1100;
}

header > #escritorio > #logo-escritorio > img,
header > #logo-movil > img {
	aspect-ratio: 15 / 3;
	cursor: pointer;
}

header > #escritorio > #logo-escritorio > img {
	position: relative;
	z-index: 1100;
	width: 180px;
}

header > #logo-movil,
header > #icono-movil,
header > #movil { display: none; }

@media screen and (max-width: 1000px) {
	header {
		align-items: center;
		justify-content: center;
		min-height: 77px;
	}

	header > #escritorio { display: none; }

	header > #logo-movil {
		display: flex;
		left: 50%;
		position: absolute;
		top: 18px;
		transform: translateX(-50%);
		z-index: 1100;
	}

	header > #logo-movil > img { width: 180px; }

	header > #movil {
		align-items: center;
		background: linear-gradient(180deg, #1a2e3b 0%, #0f1c24 100%);
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		height: calc(100dvh - 77px);
		opacity: 0;
		overflow-y: auto;
		padding-bottom: 40px;
		padding-top: 20px;
		position: fixed;
		right: 100%;
		top: 77px;
		transition: .3s ease;
		width: 100vw;
		z-index: 1050;
	}

	header > #movil > ul {
		align-items: center;
		display: flex;
		flex-direction: column;
		gap: 5px;
		list-style: none;
		max-width: 300px;
		padding: 0 20px;
		width: 100%;
	}

	header > #movil > ul > li {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	header > #movil > ul > li > a {
		border-radius: 8px;
		color: rgba(255,255,255,.85);
		font-size: 1.1em;
		font-weight: 500;
		padding: 12px 20px;
		text-align: center;
		text-decoration: none;
		transition: all .2s ease;
		width: 100%;
	}

	header > #movil > ul > li > a:hover {
		background: rgba(255,255,255,.1);
		color: #fff;
	}

	header > #movil > .mobile-cta {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin-top: 30px;
		max-width: 260px;
		padding: 0 20px;
		width: 100%;
	}

	header > #movil > .mobile-cta > a {
		border-radius: 10px;
		display: block;
		font-size: 1em;
		font-weight: 600;
		padding: 14px 30px;
		text-align: center;
		text-decoration: none;
		transition: all .2s ease;
	}

	header > #movil > .mobile-cta > a.cta-primary {
		background: var(--naranja);
		color: #fff;
	}

	header > #movil > .mobile-cta > a.cta-primary:hover {
		background: #e09550;
	}

	header > #movil > .mobile-cta > a.cta-secondary {
		background: transparent;
		border: 1px solid rgba(255,255,255,.3);
		color: rgba(255,255,255,.85);
	}

	header > #movil > .mobile-cta > a.cta-secondary:hover {
		border-color: #fff;
		color: #fff;
	}

	header > #icono-movil {
		align-items: center;
		background: transparent;
		border: 0;
		cursor: pointer;
		display: flex;
		flex-direction: column;
		height: 1.35em;
		justify-content: space-between;
		position: absolute;
		right: 25px;
		text-decoration: none;
		top: 25px;
		width: 2em;
		z-index: 1100;
	}

	header > #icono-movil > span {
		background: #fff;
		border-radius: 10px;
		height: 3px;
		transform-origin: left;
		transition: .3s ease;
		width: 100%;
	}

	header > #icono-movil > .abierto:first-of-type { transform: rotate(42deg) translateY(-1px); }
	header > #icono-movil > .abierto:nth-of-type(2) { opacity: 0; }
	header > #icono-movil > .abierto:last-of-type { transform: rotate(-42deg) translateY(2px); }
}

/* ===== V2 LANDING STYLES ===== */
:root {
	--accent: #f0a66c;
	--bg: #0c1220;
	--bg-card: rgba(255,255,255,.04);
	--bg-glass: rgba(255,255,255,.06);
	--text: #f1f5f9;
	--muted: #94a3b8;
	--border: rgba(255,255,255,.08);
	--shadow: 0 18px 42px rgba(0,0,0,.25);
	--plat: #6cc98e;
	--human: #f0a66c;
	--ai: #a78bfa;
}
:root { align-items: stretch; background: var(--bg); color: var(--text); }
html, body { background: var(--bg) !important; }

/* Header */
header { align-items: center; background: rgba(12,18,32,.8); backdrop-filter: blur(20px); border-bottom: none; box-shadow: none; }
header.menu { background: rgba(12,18,32,.92); }
header>#escritorio {
	align-items: center;
	display: flex;
	gap: 0;
	height: 77px;
	justify-content: space-between;
}
header>#escritorio>#logo-escritorio {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	float: none;
	margin: 0 8px 0 0;
}
header>#escritorio>.botones-esc {
	background: #fff;
	border: 0 solid #fff;
	border-radius: 999px;
	color: #0c1220;
	font-size: .95rem;
	flex: 0 0 auto;
	margin: 0;
	max-width: 0;
	overflow: hidden;
	opacity: 0;
	padding: 0;
	pointer-events: none;
	position: static;
	transform: none;
	transition: opacity .3s ease, background .2s ease, border-color .2s ease, max-width .3s ease, padding .3s ease, margin-left .3s ease, border-width .3s ease;
}
header.menu>#escritorio>.botones-esc {
	border-width: 1px;
	margin-left: 20px;
	max-width: 260px;
	opacity: 1;
	padding: 5px 22px;
	pointer-events: auto;
}
header>#escritorio>.botones-esc:hover { background: #f1f5f9; border-color: #f1f5f9; }
header>#icono-movil>span { background: #fff; }
header>#movil { background: rgba(12,18,32,.98); }
header>#movil>ul>li>a { color: var(--muted); }
header>#movil>.mobile-cta>.cta-secondary { border-color: var(--border); color: var(--muted); }

/* Layout */
#page-product { width: 100%; align-self: stretch; overflow: hidden; }
.shell { width: min(1220px, calc(100% - 48px)); margin: 0 auto; }
.section-block { padding: 100px 0; position: relative; }
.section-block + .section-block { border-top: 1px solid var(--border); }
.section-block { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

/* Typography */
.eyebrow { color: var(--accent); font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 24px; }
.title { color: #fff; font-size: clamp(2rem, 4vw, 4.2rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 700; }
.title span { background: linear-gradient(90deg, var(--accent), #ffcf8f, var(--accent), #ffcf8f, var(--accent)); background-size: 300% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: shimmerText 6s ease-in-out infinite; }
@keyframes shimmerText { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }
.subtitle { color: var(--muted); font-size: 1.1rem; line-height: 1.75; max-width: 700px; margin-top: 20px; }
.subtitle strong { color: var(--accent); }

/* Buttons */
.actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; padding-left: 6px; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 64px; padding: 0 40px; border-radius: 999px; text-decoration: none; font-weight: 700; font-size: 1.15rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn--primary { background: #fff; color: #0c1220; border: none; box-shadow: 0 16px 40px rgba(255,255,255,.12); position: relative; z-index: 1; }
.btn--primary::before { content: ''; position: absolute; inset: -6px; border-radius: 999px; background: linear-gradient(90deg, var(--accent), #ffcf8f, var(--accent), #ffcf8f, var(--accent)); background-size: 300% 100%; animation: shimmerText 6s ease-in-out infinite; z-index: -1; }
.btn--primary::after { content: ''; position: absolute; inset: 0; border-radius: 999px; background: #fff; z-index: -1; }
.btn--primary:hover { background: #f1f5f9; box-shadow: 0 20px 50px rgba(255,255,255,.18); }

/* Hero */
.hero { padding: 140px 0 0; text-align: left; overflow: hidden; }
.hero-copy { max-width: 600px; }
.hero-copy .subtitle { margin: 18px 0 0; text-align: left; }
.hero-copy .actions { justify-content: flex-start; }
.hero-lead-form { margin-top: 28px; max-width: 620px; display: flex; flex-direction: column; }
.hero-lead-form__shell {
	display: flex;
	align-items: center;
	padding: 7px;
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 20px 42px rgba(9,14,28,.16);
}
.hero-lead-form input {
	flex: 1;
	min-width: 0;
	height: 58px;
	padding: 0 22px;
	border: none;
	border-radius: 999px;
	background: transparent;
	color: #0c1220;
	font: inherit;
	font-size: 1rem;
}
.hero-lead-form input::placeholder { color: #7b8aa3; }
.hero-lead-form input:focus { outline: none; }
.hero-lead-form input:-webkit-autofill,
.hero-lead-form input:-webkit-autofill:hover,
.hero-lead-form input:-webkit-autofill:focus,
.hero-lead-form input:-webkit-autofill:active {
	-webkit-text-fill-color: #0c1220;
	caret-color: #0c1220;
	box-shadow: 0 0 0 1000px #ffffff inset;
	-webkit-box-shadow: 0 0 0 1000px #ffffff inset;
	transition: background-color 9999s ease-out 0s;
}
.hero-lead-form__submit {
	height: 58px;
	min-width: 280px;
	padding: 0 24px;
	border: none;
	border-radius: 999px;
	background: linear-gradient(180deg, #ffbf86, #f0a66c);
	color: #0c1220;
	font: inherit;
	font-size: 1rem;
	font-weight: 800;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 14px 30px rgba(240,166,108,.22);
	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
	will-change: min-width, transform;
	transition: min-width .34s cubic-bezier(.22,1,.36,1) .12s, padding .34s cubic-bezier(.22,1,.36,1) .12s, box-shadow .28s ease, transform .2s ease;
}
.hero-lead-form__submit:hover { transform: translateY(-1px); }
.hero-lead-form__label {
	position: absolute;
	left: 50%;
	top: 50%;
	width: max-content;
	display: block;
	pointer-events: none;
	transition: opacity .18s ease, transform .24s ease;
}
.hero-lead-form__label--default {
	opacity: 1;
	transform: translate(-50%, -50%);
}
.hero-lead-form__label--active {
	opacity: 0;
	transform: translate(-50%, -50%);
}
.hero-lead-form__error {
	order: -1;
	margin: 0 0 10px 4px;
	font-size: .95rem;
	line-height: 1.4;
	color: #ff8d8d;
	font-weight: 600;
	min-height: 1.4em;
}
.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;
}
/* Hero Mockup */
.hero-mockup { position: relative; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; width: 100%; min-height: clamp(360px, 38vw, 520px); }
.hero-mockup * { box-sizing: border-box; }
/* Results Card */
.mockup-results { background: #f6f6f6; border-radius: 14px; padding: 16px 18px; box-shadow: 0 12px 48px rgba(0,0,0,.18); position: relative; z-index: 2; width: 100%; max-width: 620px; margin-right: -60px; display: flex; flex-direction: column; overflow: hidden; aspect-ratio: 5 / 4; }
.mockup-title { font-size: .95rem; font-weight: 700; color: #222; margin-bottom: 8px; }
.mockup-actions { display: flex; gap: 5px; margin-bottom: 8px; }
.mockup-btn { background: #3d7c6b; color: #fff; border: none; border-radius: 4px; padding: 7px 10px; font-size: .6rem; font-weight: 600; transition: filter .15s; }
.mockup-btn-download { position: relative; }
.mockup-dropdown { position: absolute; top: 100%; left: 0; margin-top: 4px; background: #fff; border-radius: 6px; box-shadow: 0 4px 16px rgba(0,0,0,.18); overflow: hidden; opacity: 0; transform: translateY(-4px); pointer-events: none; transition: opacity .2s, transform .2s; z-index: 10; min-width: 100px; }
.mockup-dropdown-item { padding: 8px 12px; font-size: .6rem; font-weight: 600; color: #333; display: flex; align-items: center; gap: 6px; white-space: nowrap; transition: background .15s; }
/* 9-Box inline view */
.mockup-9box { padding: 4px 0 0; flex: 1; display: flex; flex-direction: column; overflow: hidden; min-height: 0; opacity: 0; transform: translateY(8px); transition: opacity .24s ease, transform .32s cubic-bezier(.22,1,.36,1); pointer-events: none; }
.mockup-9box-wrap { flex: 1; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 1fr auto; min-height: 0; }
.mockup-9box-grid { flex: 1; }
.mockup-9box-ylabels { display: flex; flex-direction: column; justify-content: space-around; padding-right: 6px; }
.mockup-9box-ylabels span { font-size: .65rem; font-weight: 700; color: #555; text-align: right; line-height: 1.2; }
.mockup-9box-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 2px; }
.mockup-9cell { border-radius: 4px; padding: 6px 7px; text-align: left; display: flex; flex-direction: column; justify-content: space-between; position: relative; opacity: 0; transform: translateY(10px) scale(.97); transition: opacity .22s ease, transform .34s cubic-bezier(.22,1,.36,1); }
.mockup-results.mockup-9box-active .mockup-9box { opacity: 1; transform: translateY(0); pointer-events: auto; }
.mockup-results.mockup-9box-active .mockup-9cell { opacity: 1; transform: translateY(0) scale(1); }
.mockup-9cell-num { position: absolute; top: 3px; right: 6px; font-size: 1.4rem; font-weight: 900; color: rgba(255,255,255,.3); line-height: 1; }
.mockup-9cell-label { font-size: .55rem; font-weight: 700; color: #fff; line-height: 1.15; margin-top: 1px; }
.mockup-9cell-pct { font-size: .7rem; font-weight: 800; color: #fff; text-align: center; position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); }
.mockup-9cell--green { background: #54947b; }
.mockup-9cell--blue { background: #7abf9f; }
.mockup-9cell--yellow { background: #f1be6f; }
.mockup-9cell--red { background: #d16a66; }
.mockup-9box-xlabels { grid-column: 2; display: flex; justify-content: space-around; padding-top: 4px; }
.mockup-9box-xlabels span { font-size: .65rem; font-weight: 700; color: #555; text-align: center; line-height: 1.2; }
.mockup-filters { display: flex; gap: 8px; margin-bottom: 10px; }
.mockup-filter { flex: 1; }
.mockup-filter-label { font-size: .6rem; color: #888; margin-bottom: 3px; }
.mockup-select { background: #fff; border: 1px solid #ddd; border-radius: 4px; padding: 5px 10px; font-size: .6rem; color: #888; display: flex; align-items: center; justify-content: space-between; }
.mockup-select-bar { background: #ccc; height: 2px; width: 50px; border-radius: 1px; }
.mockup-table { width: 100%; border-collapse: collapse; }
.mockup-table th { font-size: .55rem; font-weight: 700; color: #333; padding: 0 3px 6px; text-align: center; }
.mockup-table th:first-child { text-align: right; }
.mockup-table td { padding: 2px 3px; vertical-align: middle; }
.mockup-table td:first-child { text-align: right; font-size: .48rem; font-weight: 600; color: #444; white-space: nowrap; padding-right: 6px; width: 1%; }
.mockup-bar { display: flex; align-items: center; height: 18px; border-radius: 3px; overflow: hidden; background: #e8e8e8; position: relative; }
.mockup-segment { height: 100%; display: flex; align-items: center; justify-content: flex-end; padding-right: 4px; transform-origin: left; transform: scaleX(0); width: var(--w); }
@keyframes hmBarGrow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.mockup-animated .mockup-segment,
.mockup-animated .mockup-diff-bar { animation: hmBarGrow .5s ease forwards; }
.mockup-btn.mockup-tapped { transform: scale(.94); opacity: .7; }
.mockup-dd-open .mockup-dropdown { display: flex; flex-direction: column; }
.mockup-dropdown-item.mockup-dd-hover { background: rgba(0,0,0,.06); }
.mockup-segment--green { background: #54947b; }
.mockup-segment--teal { background: #7abf9f; }
.mockup-segment--yellow { background: #f1be6f; }
.mockup-segment--red { background: #d16a66; }
.mockup-pct { font-size: .5rem; color: #fff; font-weight: 800; line-height: 1; }
.mockup-bar-cell { min-width: 0; }
/* Diferencia column */
.mockup-diff { display: flex; align-items: center; height: 18px; position: relative; }
.mockup-diff-center { position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: #ccc; }
.mockup-diff-bar { height: 14px; border-radius: 2px; position: absolute; top: 2px; transform-origin: left; transform: scaleX(0); width: var(--w); }
.mockup-diff-bar--neg { transform-origin: right; }
.mockup-diff-bar--neg { background: #54947b; right: 50%; }
.mockup-diff-bar--y { background: #d16a66; right: 50%; }
.mockup-diff-pct { display: none; }
.mockup-diff-pct--neg { right: calc(50% + 2px); text-align: right; }
.hero-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(8px, 2vw, 24px); margin-top: 48px; text-align: center; }
.hero-proof .mini-metric { align-items: center; }
.mini-metric { display: flex; flex-direction: column; gap: 0; }
.mini-metric__number { font-size: clamp(1.4rem, 4vw, 2.2rem); font-weight: 700; color: var(--accent); line-height: 1.1; margin: 0 0 2px; padding-top: 5px; }
.mini-metric__label { font-size: clamp(.75rem, 2vw, 1.15rem); color: var(--muted); line-height: 1.3; margin: 0; }
.logo-marquee { width: 100%; max-width: min(1220px, calc(100% - 48px)); margin: 48px auto 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0%, #000 10%, #000 90%, transparent 100%); }
.logo-marquee__track { display: flex; gap: 60px; align-items: center; width: max-content; animation: marqueeScroll 30s linear infinite; }
.logo-marquee__track img { height: 48px; width: auto; filter: brightness(0) invert(1); opacity: .45; transition: opacity .3s ease; flex-shrink: 0; object-fit: contain; }
.logo-marquee__track img:hover { opacity: .75; }
.logo-marquee__track img:hover { opacity: .8; }
.logo-marquee__track img[src*="5.webp"] { height: 60px; }
.logo-marquee__track img[src*="8.png"] { height: 60px; }
@keyframes marqueeScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.hero-product-img { display: none; }
.hero-bottom { padding: 60px 0 80px; }
#journey-map > .shell > .reveal { text-align: center; }
#journey-map > .shell > .reveal .subtitle { margin-left: auto; margin-right: auto; }


/* Journey / Momentos */
.journey-nav { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 42px 0 52px; }
.journey-nav a { background: var(--bg-glass); border: 1px solid var(--border); border-radius: 14px; padding: 18px 20px; text-decoration: none; color: var(--muted); font-weight: 600; font-size: 1rem; display: flex; flex-direction: column; gap: 4px; transition: all .25s ease; }
.journey-nav a small { color: var(--accent); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.journey-nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.journey-nav a.is-active { background: rgba(240,166,108,.08); border-color: rgba(240,166,108,.3); color: #fff; box-shadow: 0 8px 30px rgba(240,166,108,.1); }
.journey-step { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: start; padding: 36px; background: var(--bg-card); border: 1px solid var(--border); border-radius: 24px; margin-bottom: 28px; }
.journey-visual img { width: 100%; height: auto; border-radius: 16px; box-shadow: 0 12px 40px rgba(0,0,0,.3); }
.journey-meta { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.journey-index { color: var(--accent); font-size: 1.4rem; font-weight: 700; }
.journey-name { font-size: 1.5rem; font-weight: 700; color: #fff; }
.journey-desc { font-size: 1rem; color: var(--muted); line-height: 1.7; }

.journey-cta { display: inline-block; margin-top: 24px; padding: 12px 28px; font-size: .95rem; font-weight: 700; color: #fff; border: 2px solid var(--accent); border-radius: 999px; text-decoration: none; transition: background .2s, transform .2s; }
.journey-cta:hover { background: rgba(240,166,108,.12); transform: translateY(-1px); }

/* Timeline Calendar */
.timeline-calendar { margin-top: 24px; max-width: 1100px; margin-left: auto; margin-right: auto; position: relative; z-index: 1; }
.timeline-calendar svg { width: 100%; height: auto; display: block; }
.cal-deco { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.cal-deco svg { width: 100%; height: 100%; display: block; }

/* Stat Cards (legacy — kept for other pages) */
.stat-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.stat-card {
	background: var(--bg-glass);
	border: 1px solid var(--border);
	border-radius: 20px;
	padding: 28px 24px 24px;
	text-align: center;
	position: relative;
	overflow: hidden;
	transition: border-color .3s, transform .3s;
}
.stat-card:hover { border-color: rgba(255,255,255,.18); transform: translateY(-3px); }
.stat-card__icon { color: #fff; margin-bottom: 14px; opacity: .7; }
.stat-card__number {
	display: block;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	color: #fff;
	line-height: 1.2;
}
.stat-card__label { font-size: .88rem; color: var(--muted); margin-top: 6px; line-height: 1.4; }
.stat-card__bar {
	margin-top: 18px;
	height: 4px;
	background: rgba(255,255,255,.06);
	border-radius: 4px;
	overflow: hidden;
}
.stat-card__fill {
	height: 100%;
	width: 0;
	border-radius: 4px;
	background: linear-gradient(90deg, rgba(255,255,255,.5), rgba(255,255,255,.25));
	transition: width 1.2s cubic-bezier(.22,1,.36,1);
}
.stat-card.revealed .stat-card__fill { width: var(--fill); }

@media screen and (max-width: 600px) {
	.stat-cards { grid-template-columns: 1fr; max-width: 320px; margin-left: auto; margin-right: auto; }
}

/* Why Grid */
.why-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 20px; margin-top: 42px; }
.info-card { background: var(--bg-glass); border: 1px solid var(--border); border-radius: 20px; padding: 28px; backdrop-filter: blur(8px); transition: border-color .25s ease; overflow: hidden; }
.info-card:hover { border-color: rgba(255,255,255,.15); }
.info-card h3 { font-size: 1.1rem; font-weight: 700; line-height: 1.3; color: #fff; }
.info-card p { font-size: .92rem; color: var(--muted); line-height: 1.65; margin-top: 8px; }

/* Combo Grid */
.combo-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; margin-top: 48px; }
.combo-section { padding-top: 76px; }
.combo-section .title { margin: 0 0 6px; }
.combo-section .subtitle--spaced { margin-top: 2px; }
.combo-grid > .info-card:nth-child(1) { border-color: rgba(108,201,142,.2); background: rgba(108,201,142,.04); }
.combo-grid > .info-card:nth-child(1) h3 { color: var(--plat); }
.combo-grid > .info-card:nth-child(2) { border-color: rgba(240,166,108,.2); background: rgba(240,166,108,.04); }
.combo-grid > .info-card:nth-child(2) h3 { color: var(--human); }
.combo-grid > .info-card:nth-child(3) { border-color: rgba(167,139,250,.2); background: rgba(167,139,250,.04); }
.combo-grid > .info-card:nth-child(3) h3 { color: var(--ai); }
.combo-grid > .info-card { padding: 28px 20px 24px; }
.combo-grid > .info-card h3 { margin-bottom: 18px; }
.list-clean { list-style: none; padding: 0; margin-top: 0; display: grid; gap: 12px; }
.list-clean li {
	font-size: .97rem;
	font-weight: 600;
	color: #dce4f4;
	line-height: 1.5;
	padding: 12px 14px 12px 42px;
	position: relative;
	background: rgba(255,255,255,.035);
	border: 1px solid rgba(255,255,255,.06);
	border-radius: 14px;
}
.list-clean li::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 50%;
	position: absolute;
	left: 16px;
	top: 18px;
	box-shadow: 0 0 0 4px rgba(255,255,255,.03);
}
.combo-grid > .info-card:nth-child(1) .list-clean li::before { background: var(--plat); }
.combo-grid > .info-card:nth-child(2) .list-clean li::before { background: var(--human); }
.combo-grid > .info-card:nth-child(3) .list-clean li::before { background: var(--ai); }

/* Home journey road — horizontal pin row */
.home-journey-intro { text-align: center; }
.home-journey-intro .subtitle { margin-left: auto; margin-right: auto; max-width: 720px; }
.journey-road {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 56px auto 32px;
	height: 140px;
}
.journey-road__bar {
	position: absolute;
	left: 24px;
	right: 24px;
	top: 12px;
	height: 40px;
	background: linear-gradient(180deg, #20293a 0%, #131a26 100%);
	border-radius: 6px;
	box-shadow: 0 12px 28px rgba(15,23,42,.18), inset 0 1px 0 rgba(255,255,255,.04);
	pointer-events: none;
}
.journey-road__bar::before {
	/* shoulder edges (subtle lighter strip top and bottom) */
	content: '';
	position: absolute;
	inset: 0;
	border-top: 1px solid rgba(255,255,255,.06);
	border-bottom: 1px solid rgba(0,0,0,.25);
	border-radius: inherit;
	pointer-events: none;
}
.journey-road__bar::after {
	/* dashed white center line */
	content: '';
	position: absolute;
	left: 12px;
	right: 12px;
	top: 50%;
	height: 3px;
	transform: translateY(-50%);
	background-image: linear-gradient(to right, rgba(255,255,255,.92) 50%, transparent 50%);
	background-size: 36px 100%;
	background-repeat: repeat-x;
}
.journey-stop {
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: inherit;
	z-index: 2;
	transition: transform .25s ease;
	width: 160px;
}
.journey-stop:hover { transform: translateX(-50%) translateY(-3px); }
.journey-stop--1 { left: 12.5%; }
.journey-stop--2 { left: 37.5%; }
.journey-stop--3 { left: 62.5%; }
.journey-stop--4 { left: 87.5%; }
.journey-pin {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	box-shadow: 0 10px 20px rgba(15,23,42,.18);
	color: #fff;
	flex-shrink: 0;
}
.journey-pin svg { width: 28px; height: 28px; }
.journey-pin--reclutamiento { background: linear-gradient(135deg, #e89086, #d36a64); }
.journey-pin--desempeno { background: linear-gradient(135deg, #2f8a73, #1f5f4d); }
.journey-pin--satisfaccion { background: linear-gradient(135deg, #a78cf0, #7e64d8); }
.journey-pin--capacitacion { background: linear-gradient(135deg, #6fb6d6, #4d92b6); }
.journey-stop__label {
	margin-top: 14px;
	font-weight: 600;
	font-size: .98rem;
	color: #fff;
	text-align: center;
}
@media screen and (max-width: 900px) {
	.journey-road {
		max-width: 560px;
		margin: 32px auto 8px;
		height: auto;
		padding: 16px 0;
	}
	.journey-road__bar { display: none; }
	.journey-stop {
		position: static;
		transform: none !important;
		width: 100%;
		flex-direction: row;
		align-items: center;
		gap: 18px;
		padding: 14px 0;
		border-bottom: 1px solid var(--border);
	}
	.journey-stop:last-child { border-bottom: none; }
	.journey-stop:hover { transform: none; }
	.journey-stop__label { margin: 0; text-align: left; }
}

/* Module modal */
.home-module { cursor: pointer; }
.module-modal[hidden] { display: none; }
.module-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
body.module-modal-open { overflow: hidden; }
.module-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(7,12,22,.62);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	cursor: pointer;
	animation: modalFadeIn .2s ease;
}
.module-modal__dialog {
	position: relative;
	width: 100%;
	max-width: 980px;
	max-height: calc(100vh - 48px);
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 30px 80px rgba(0,0,0,.45);
	animation: modalPopIn .25s cubic-bezier(.2,.8,.3,1);
}
@keyframes modalFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes modalPopIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.module-modal__close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(15,23,42,.08);
	color: #1c2638;
	border: 0;
	cursor: pointer;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s ease;
}
.module-modal__close:hover { background: rgba(15,23,42,.16); }
.module-modal__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(255,255,255,.96);
	color: #1c2638;
	border: 0;
	cursor: pointer;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 22px rgba(0,0,0,.32);
	transition: transform .15s ease, background .15s ease;
}
.module-modal__nav:hover { background: #fff; transform: translateY(-50%) scale(1.06); }
.module-modal__nav:active { transform: translateY(-50%) scale(.96); }
.module-modal__nav--prev { left: max(12px, calc(50% - 580px)); }
.module-modal__nav--next { right: max(12px, calc(50% - 580px)); }
@media (max-width: 1160px) {
	.module-modal__nav--prev { left: 12px; }
	.module-modal__nav--next { right: 12px; }
	.module-modal__nav {
		background: rgba(255,255,255,.85);
		width: 42px;
		height: 42px;
	}
}
.module-modal__body { overflow-y: auto; }
.module-panel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 480px;
}
.module-panel[hidden] { display: none; }
.module-panel__media {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	min-height: 280px;
	overflow: hidden;
}
.module-panel--reclutamiento .module-panel__media { background: linear-gradient(150deg, #e1857f 0%, #c66a64 100%); }
.module-panel--desempeno     .module-panel__media { background: linear-gradient(150deg, #2f8a73 0%, #1d5c4b 100%); }
.module-panel--satisfaccion  .module-panel__media { background: linear-gradient(150deg, #9782e6 0%, #7a64d4 100%); }
.module-panel--capacitacion  .module-panel__media { background: linear-gradient(150deg, #5ba4c9 0%, #3d7a9e 100%); }
.module-panel__media img {
	max-width: 100%;
	max-height: 420px;
	width: auto;
	height: auto;
	display: block;
	object-fit: contain;
	border-radius: 0;
	box-shadow: none;
}
.module-panel--satisfaccion .module-panel__media img { transform: scale(1.18); }
.module-panel--capacitacion  .module-panel__media img { transform: scale(1.22); }
.module-panel__copy {
	padding: 40px 40px 36px;
	color: #1c2638;
	display: flex;
	flex-direction: column;
}
.module-panel__kicker {
	display: inline-block;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #6b7a92;
	margin-bottom: 8px;
}
.module-panel__title {
	font-size: 1.85rem;
	font-weight: 700;
	margin: 0 0 14px;
	line-height: 1.15;
	color: #0c1220;
}
.module-panel__lead {
	font-size: 1rem;
	line-height: 1.55;
	color: #3a4a64;
	margin: 0 0 22px;
}
.module-panel__list {
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
	display: grid;
	gap: 12px;
}
.module-panel__list li {
	font-size: .92rem;
	line-height: 1.5;
	color: #3a4a64;
	padding-left: 26px;
	position: relative;
}
.module-panel__list li strong { color: #0c1220; font-weight: 700; }
.module-panel__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
}
.module-panel--reclutamiento .module-panel__list li::before { background: rgba(225,133,127,.22); }
.module-panel--desempeno     .module-panel__list li::before { background: rgba(47,138,115,.22); }
.module-panel--satisfaccion  .module-panel__list li::before { background: rgba(151,130,230,.22); }
.module-panel--capacitacion  .module-panel__list li::before { background: rgba(91,164,201,.22); }
.module-panel__list li::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 7px;
	width: 8px;
	height: 5px;
	border-left: 2px solid;
	border-bottom: 2px solid;
	transform: rotate(-45deg);
}
.module-panel--reclutamiento .module-panel__list li::after { color: #c66a64; }
.module-panel--desempeno     .module-panel__list li::after { color: #1d5c4b; }
.module-panel--satisfaccion  .module-panel__list li::after { color: #7a64d4; }
.module-panel--capacitacion  .module-panel__list li::after { color: #3d7a9e; }
.module-panel__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: auto;
	padding-top: 8px;
}
.module-panel__cta .btn { min-height: 44px; padding: 0 22px; font-size: .95rem; }
.module-panel__cta .btn--ghost {
	background: transparent;
	border: 1px solid rgba(15,23,42,.14);
	color: #1c2638;
}
.module-panel__cta .btn--ghost:hover { background: rgba(15,23,42,.04); }
@media (max-width: 800px) {
	.module-panel { grid-template-columns: 1fr; min-height: 0; }
	.module-panel__media { padding: 24px; min-height: 200px; }
	.module-panel__copy { padding: 28px; }
	.module-panel__title { font-size: 1.5rem; }
	.module-modal { padding: 12px; }
	.module-modal__dialog { max-height: calc(100vh - 24px); border-radius: 18px; }
}

/* Separator between modules grid and combo-grid intro */
.combo-grid__intro {
	margin-top: 56px;
	padding-top: 56px;
	border-top: 1px solid var(--border);
}

/* Home modules grid (4 colored cards) */
.home-modules-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 1fr;
	gap: 18px;
	margin-top: 48px;
	margin-bottom: 32px;
	align-items: stretch;
}
.home-module {
	border-radius: 22px;
	padding: 32px 28px;
	text-decoration: none;
	color: #fff;
	display: flex;
	flex-direction: column;
	transition: transform .3s ease, box-shadow .3s ease;
}
.home-module:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 40px rgba(0,0,0,.25);
}
.home-module--reclutamiento { background: linear-gradient(150deg, #e1857f 0%, #c66a64 100%); }
.home-module--desempeno { background: linear-gradient(150deg, #2f8a73 0%, #1d5c4b 100%); }
.home-module--satisfaccion { background: linear-gradient(150deg, #9782e6 0%, #7a64d4 100%); }
.home-module--capacitacion { background: linear-gradient(150deg, #5ba4c9 0%, #3d7a9e 100%); }
.home-module--administracion { background: linear-gradient(150deg, #c8a363 0%, #9d7d40 100%); }
.home-module--nomina { background: linear-gradient(150deg, #6f93a0 0%, #4f7280 100%); }

/* "Próximamente" modules row */
.home-modules-soon {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px;
	margin-top: 18px;
	margin-bottom: 32px;
}
.home-module--soon {
	position: relative;
	cursor: default;
	opacity: .92;
}
.home-module--soon:hover {
	transform: none;
	box-shadow: none;
}
.home-module__badge {
	position: absolute;
	top: 16px;
	right: 16px;
	background: rgba(255,255,255,.18);
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 999px;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
.home-module__date {
	display: inline-block;
	margin-top: 14px;
	font-size: .82rem;
	font-weight: 600;
	color: rgba(255,255,255,.85);
	background: rgba(0,0,0,.18);
	padding: 6px 12px;
	border-radius: 8px;
}
@media (max-width: 700px) {
	.home-modules-soon { grid-template-columns: 1fr; }
}
.home-module__title {
	color: #fff;
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 14px;
	text-align: left;
}
.home-module__desc {
	color: rgba(255,255,255,.88);
	font-size: .95rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 0 0 22px;
	text-align: left;
}
.home-module__list {
	list-style: none;
	padding: 0;
	margin: 0 0 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: stretch;
}
.home-module__list li {
	color: #fff;
	font-size: .92rem;
	font-weight: 500;
	line-height: 1.35;
	padding-left: 30px;
	position: relative;
	text-align: left;
}
.home-module__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: rgba(255,255,255,.18);
}
.home-module__list li::after {
	content: '';
	position: absolute;
	left: 4px;
	top: 5px;
	width: 10px;
	height: 6px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}
.home-module__cta {
	color: #fff;
	font-size: .98rem;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	justify-content: flex-start;
	width: 100%;
	padding-top: 8px;
	border-top: 1px solid rgba(255,255,255,.18);
}
.home-module__cta svg { transition: transform .3s ease; }
.home-module:hover .home-module__cta svg { transform: translateX(4px); }
.home-module__img {
	display: none;
}
.home-module__copy { display: flex; flex-direction: column; flex: 1; align-items: stretch; }

/* Combo grid two-column variant */
.combo-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 48px;
}
.combo-grid--two > .info-card:nth-child(1) { border-color: rgba(240,166,108,.2); background: rgba(240,166,108,.04); }
.combo-grid--two > .info-card:nth-child(1) h3 { color: var(--human); }
.combo-grid--two > .info-card:nth-child(2) { border-color: rgba(167,139,250,.2); background: rgba(167,139,250,.04); }
.combo-grid--two > .info-card:nth-child(2) h3 { color: var(--ai); }
.combo-grid--two > .info-card:nth-child(1) .list-clean li::before { background: var(--human); }
.combo-grid--two > .info-card:nth-child(2) .list-clean li::before { background: var(--ai); }

/* Team marquee */
.team-marquee { overflow: hidden; margin-top: 20px; margin-bottom: 18px; mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); -webkit-mask-image: linear-gradient(90deg, transparent, #000 15%, #000 85%, transparent); min-height: 104px; display: flex; align-items: center; }
.team-marquee__track { display: flex; align-items: center; gap: 18px; animation: teamScroll 20s linear infinite; width: max-content; }
.team-marquee__track img { width: 78px; height: 78px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(240,166,108,.3); flex-shrink: 0; }
.teki-marquee .team-marquee__track .teki-face {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--tc);
	border: 2px solid rgba(167,139,250,.32);
	flex-shrink: 0;
	overflow: hidden;
	padding: 4px;
	box-sizing: border-box;
}
.teki-hero {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-top: 20px;
	margin-bottom: 18px;
	min-height: 104px;
}
.teki-hero__svg {
	width: 90px;
	height: 90px;
	overflow: visible;
}
@keyframes teamScroll { 0% { transform: translateX(0); } 100% { transform: translateX(-33.333%); } }

/* Security */
.security-strip { background: transparent; padding: 64px 0; }
.security-strip .title { font-size: clamp(1.6rem, 2.6vw, 2.4rem); }
.security-strip .subtitle { margin-top: 14px; }
.security-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 40px; align-items: start; }
.security-card { padding: 22px 22px; }
.security-card .list-clean { margin-top: 0; gap: 8px; }
.security-card .list-clean li { padding: 9px 12px 9px 36px; font-size: .9rem; }
.security-card .list-clean li::before { left: 14px; top: 14px; width: 8px; height: 8px; }
.list-clean li.li-with-icon { position: relative; }
.list-clean li.li-with-icon::before { display: none; }
.list-clean li.li-with-icon .li-icon {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}
.security-kicker {
	display: inline-flex;
	align-items: center;
	padding: 5px 11px;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 12px;
}
.security-card h3 {
	font-size: 1.1rem;
	line-height: 1.2;
	margin: 0 0 14px;
}
.security-card--cyber .security-kicker {
	background: rgba(91,164,201,.12);
	color: #8bd3ff;
}
.security-card--backup .security-kicker {
	background: rgba(167,139,250,.12);
	color: #cdbbff;
}
.security-card--cyber .list-clean li::before { background: #8bd3ff; }
.security-card--backup .list-clean li::before { background: #cdbbff; }

/* FAQ */
.faq-grid-v2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 36px; }
.faq-item-v2 { background: var(--bg-glass); border: 1px solid var(--border); border-radius: 16px; padding: 22px 26px; transition: border-color .25s ease; }
.faq-item-v2:hover { border-color: rgba(255,255,255,.12); }
.faq-item-v2 summary { font-weight: 700; font-size: .98rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; color: #fff; }
.faq-item-v2 summary::after { content: "+"; font-size: 1.4rem; color: var(--accent); font-weight: 300; }
.faq-item-v2[open] summary::after { content: "\2212"; }
.faq-item-v2[open] { border-color: rgba(240,166,108,.2); }
.faq-item-v2 p { font-size: .92rem; color: var(--muted); line-height: 1.65; margin-top: 12px; }

/* CTA Band */
.cta-band { background: linear-gradient(135deg, rgba(240,166,108,.1) 0%, rgba(167,139,250,.08) 100%); border: 1px solid rgba(240,166,108,.15); border-radius: 32px; padding: 68px 52px; }
.cta-band .eyebrow { color: var(--accent); }
.cta-band .title { color: #fff; font-size: clamp(1.8rem, 3vw, 3rem); }
.cta-band .subtitle { color: var(--muted); }

/* Reveal — visible by default (SEO safe). JS adds .has-reveal to <html> to enable animations */
.has-reveal .reveal:not(.is-visible) { opacity: 0; transform: translateY(24px); }
@media (prefers-reduced-motion: reduce) { .has-reveal .reveal:not(.is-visible) { opacity: 1; transform: none; } }
.reveal.is-visible { opacity: 1; transform: translateY(0); transition: opacity .7s ease, transform .7s ease; }

/* Responsive */
@media screen and (max-width: 1100px) {
	.journey-step { grid-template-columns: 1fr; }
	.journey-step .journey-copy { order: 1; }
	.journey-step .journey-visual { order: 2; display: flex; justify-content: center; }
	.journey-step .mockup-frame { width: 100%; max-width: 420px; margin: 0 auto; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 26px; }
	.journey-step .mockup-frame .mockup-config { min-height: 0; }
	.journey-visual--results .mockup-frame--results { max-width: 420px; }
	.why-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
	.combo-grid { grid-template-columns: 1fr; }
	.combo-grid--two { grid-template-columns: 1fr; }
	.home-modules-grid { grid-template-columns: repeat(2, 1fr); }
	.home-module { padding: 26px 22px; }
}
@media screen and (max-width: 700px) {
	.home-modules-grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 900px) {
	.hero { text-align: center; }
	.hero-copy .subtitle { text-align: center; }
	.hero-copy .actions { justify-content: center; }
	.faq-grid-v2 { grid-template-columns: 1fr; }
	.journey-nav,
	.security-grid { grid-template-columns: 1fr; }
}
@media screen and (max-width: 750px) {
	.section-block { padding: 68px 0; }
	.hero { padding: 130px 0 60px; }
	.title { font-size: 2.2rem; line-height: 1.05; }
	.actions { flex-direction: column; }
	.btn { width: 100%; }
	.hero-lead-form { margin-left: auto; margin-right: auto; }
	.hero-lead-form__shell { flex-direction: column; align-items: stretch; border-radius: 24px; padding: 14px; gap: 8px; }
	.hero-lead-form input,
	.hero-copy--center .hero-lead-form input { min-height: 45px; height: auto; text-align: center; font-size: 1.05rem; }
	.hero-lead-form input::placeholder { text-align: center; }
	.hero-lead-form__submit { min-width: 0; width: 100%; border-radius: 16px; }
	.why-grid { grid-template-columns: 1fr; }
	.journey-step { padding: 22px; }
	.cta-band { padding: 36px 24px; border-radius: 24px; }
}

/* V2 Footer */
.footer { background: #0a1628; border-top: 1px solid rgba(255,255,255,.12); padding: 0; width: 100%; display: flex; flex-direction: column; align-items: center; }
.footer-top { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; gap: 40px; max-width: 1220px; width: 100%; box-sizing: border-box; padding: 80px 40px 60px; }
.footer-brand { display: flex; flex-direction: column; gap: 20px; }
.footer-brand img { height: 36px; width: auto; }
.footer-brand p { color: var(--muted); font-size: .9rem; line-height: 1.65; max-width: 280px; }
.footer-social { display: flex; gap: 10px; }
.footer-social a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: rgba(255,255,255,.06); color: var(--muted); transition: all .25s ease; }
.footer-social a:hover { background: var(--accent); color: #fff; transform: translateY(-2px); }
.footer-col { display: flex; flex-direction: column; gap: 14px; }
.footer-col h4 { color: #fff; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 4px; }
.footer-col a { color: var(--muted); font-size: .88rem; text-decoration: none; transition: color .2s, padding-left .2s; line-height: 1.4; }
.footer-col a:hover { color: #fff; padding-left: 4px; }
.footer-col.footer-contact a { display: flex; align-items: center; gap: 8px; }
.footer-col.footer-contact a img { border-radius: 2px; }
.footer-cta { display: flex; align-items: center; gap: 40px; max-width: 1220px; width: 100%; box-sizing: border-box; padding: 40px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.footer-cta p { color: var(--muted); font-size: 1rem; flex: 1; }
.footer-cta p strong { color: #fff; }
.footer-cta a { background: #fff; color: #0c1220; border-radius: 999px; padding: 12px 32px; font-weight: 700; font-size: .95rem; text-decoration: none; white-space: nowrap; transition: background .2s, transform .2s; }
.footer-cta a:hover { background: #f1f5f9; transform: translateY(-2px); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; max-width: 1220px; width: 100%; box-sizing: border-box; padding: 28px 40px; }
.footer-bottom p { color: rgba(255,255,255,.35); font-size: .82rem; }
.footer-legal { display: flex; align-items: center; gap: 16px; }
.footer-legal a { color: rgba(255,255,255,.35); font-size: .82rem; text-decoration: none; transition: color .2s; }
.footer-legal a:hover { color: var(--accent); }
.footer-legal span { color: rgba(255,255,255,.2); font-size: .82rem; }
@media screen and (max-width: 1000px) {
	.footer-top { grid-template-columns: 1fr 1fr; gap: 40px 30px; padding: 50px 30px 40px; }
	.footer-brand { grid-column: 1 / -1; align-items: center; text-align: center; }
	.footer-brand p { max-width: 100%; }
	.footer-social { justify-content: center; }
	.footer-cta { flex-direction: column; text-align: center; gap: 20px; padding: 30px; }
}
@media screen and (max-width: 750px) {
	.footer-top { grid-template-columns: 1fr; text-align: center; padding: 40px 20px; }
	.footer-col { align-items: center; }
	.footer-bottom { flex-direction: column; gap: 12px; text-align: center; padding: 20px; }
}

/* Eyebrow colored spans */
.eyebrow .eyebrow-platform { color: var(--plat); }
.eyebrow .eyebrow-divider { color: #fff; }
.eyebrow .eyebrow-human { color: var(--human); }
.eyebrow .eyebrow-ai { color: var(--ai); }
.title .title-plat,
.title .title-human,
.title .title-ai {
	background: none;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	animation: none;
}
.title .title-plat { color: var(--plat); -webkit-text-fill-color: var(--plat); }
.title .title-human { color: var(--human); -webkit-text-fill-color: var(--human); }
.title .title-ai { color: var(--ai); -webkit-text-fill-color: var(--ai); }

.title .title-cyber,
.title .title-backup,
.title .title-integrations {
	background: none;
	background-clip: border-box;
	-webkit-background-clip: border-box;
	animation: none;
}
.title .title-cyber { color: #4b92bc; -webkit-text-fill-color: #4b92bc; }
.title .title-backup { color: #7f62d8; -webkit-text-fill-color: #7f62d8; }
.title .title-integrations { color: #459a63; -webkit-text-fill-color: #459a63; }

/* Title size variants */
.title--md { font-size: clamp(1.8rem, 3vw, 3.1rem); }
.title--lg { font-size: clamp(1.9rem, 3.2vw, 3.4rem); }
.title--sm { font-size: clamp(1.8rem, 3vw, 3rem); }

/* Subtitle spacing */
.subtitle--spaced { margin-top: 4px; }

/* CTA actions spacing */
.actions--spaced { margin-top: 28px; }

/* V3 flow journey */
:root {
	--human: #f0a66c;
	--text-secondary: #93a4bc;
}

header {
	background: transparent;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	border-bottom: none;
	box-shadow: none;
	height: 98px;
	pointer-events: none;
}
header.menu { background: transparent; box-shadow: none; }
header>#escritorio {
	align-items: center;
	display: flex;
	gap: 0;
	height: 64px;
	justify-content: space-between;
	width: min(1220px, calc(100% - 48px));
	margin: 14px auto 0;
	padding: 0 22px;
	border-radius: 999px;
	background: linear-gradient(180deg, rgba(20,32,49,.42), rgba(11,20,33,.32));
	border: 1px solid rgba(255,255,255,.09);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.12),
		inset 0 -1px 0 rgba(255,255,255,.04),
		0 18px 48px rgba(0,0,0,.18),
		0 2px 10px rgba(0,0,0,.12);
	backdrop-filter: blur(24px) saturate(165%);
	-webkit-backdrop-filter: blur(24px) saturate(165%);
	isolation: isolate;
	overflow: visible;
	position: relative;
	pointer-events: auto;
	transition: margin-top .24s ease, width .24s ease, background .24s ease, box-shadow .24s ease, border-color .24s ease, height .24s ease;
}
header>#escritorio::before {
	content: "";
	position: absolute;
	inset: 1px 1px auto 1px;
	height: 52%;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0));
	opacity: .9;
	pointer-events: none;
	z-index: 0;
}
header>#escritorio::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		radial-gradient(circle at 14% 18%, rgba(255,255,255,.12), transparent 22%),
		radial-gradient(circle at 78% 0%, rgba(130,183,255,.1), transparent 26%);
	pointer-events: none;
	z-index: 0;
}
header>#escritorio>* {
	position: relative;
	z-index: 1;
}
header.menu>#escritorio {
	height: 60px;
	margin-top: 8px;
	background: linear-gradient(180deg, rgba(24,37,58,.5), rgba(14,24,40,.38));
	border-color: rgba(255,255,255,.12);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.14),
		inset 0 -1px 0 rgba(255,255,255,.05),
		0 20px 52px rgba(0,0,0,.22),
		0 2px 12px rgba(0,0,0,.12);
}
header>#escritorio>#logo-escritorio {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	float: none;
	margin: 0 10px 0 0;
}
header>#escritorio>#logo-escritorio>img { width: 168px; }
.nav-center {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	left: 0;
	right: 0;
	min-width: 0;
	pointer-events: none;
	position: absolute;
	top: 0;
	transform: none;
}
.nav-item {
	display: flex;
	align-items: center;
	height: 100%;
	pointer-events: auto;
	position: static;
}
.nav-item--platform {
	bottom: 0;
	justify-content: center;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
}
.nav-item--platform>p,
.nav-item--platform>.submenu {
	pointer-events: auto;
}
.nav-item>p,
#contacto-tel {
	align-items: center;
	color: #edf3fb;
	display: flex;
	gap: 6px;
	height: 100%;
	justify-content: center;
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}
.nav-item>p {
	cursor: pointer;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	padding: 0;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	text-align: center;
	position: relative;
}
.nav-item--platform>p::after {
	content: "";
	position: absolute;
	left: -40px;
	right: -40px;
	top: 100%;
	height: 40px;
}
.nav-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 auto;
	height: 100%;
	margin-left: 20px;
}
#contacto-tel {
	justify-content: center;
	text-decoration: none;
	white-space: nowrap;
}
#contacto-tel:hover {
	text-decoration: none;
}
.nav-right>.botones-esc {
	background: #fff;
	border: 1px solid #fff;
	border-radius: 999px;
	color: #0c1220;
	font-size: .95rem;
	flex: 0 0 auto;
	margin: 0 0 0 0;
	max-width: none;
	opacity: 0;
	padding: 8px 0;
	pointer-events: none;
	position: static;
	text-decoration: none;
	transform: none;
	overflow: hidden;
	min-width: 0;
	width: 0;
	white-space: nowrap;
	transform-origin: right center;
	transition:
		opacity .22s ease,
		width .28s ease,
		margin-right .28s ease,
		margin-left .28s ease,
		padding .28s ease,
		transform .28s ease,
		background .2s ease,
		border-color .2s ease;
}
header.menu>#escritorio .botones-esc {
	margin-left: 16px;
	margin-right: -10px;
	opacity: 1;
	padding: 8px 22px;
	pointer-events: auto;
	width: auto;
}
.nav-right>.botones-esc:hover { background: #f3f7fb; border-color: #f3f7fb; }
.nav-item--platform>.submenu {
	align-items: flex-start;
	box-sizing: border-box;
	display: flex;
	gap: 18px;
	justify-content: center;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	opacity: 0;
	padding: 24px 40px;
	position: fixed;
	top: 84px;
	transform: scaleY(0);
	transform-origin: top center;
	visibility: hidden;
	width: min(1220px, calc(100% - 48px));
	max-width: none;
	background: linear-gradient(180deg, rgba(16,26,42,.98), rgba(10,18,30,.97));
	border: 1px solid rgba(255,255,255,.09);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.12),
		inset 0 -1px 0 rgba(255,255,255,.04),
		0 18px 48px rgba(0,0,0,.22),
		0 2px 10px rgba(0,0,0,.14);
	backdrop-filter: blur(24px) saturate(165%);
	-webkit-backdrop-filter: blur(24px) saturate(165%);
	border-radius: 22px;
	transition: transform .25s ease, opacity .25s ease, visibility .25s ease;
	z-index: 40;
}
.nav-item--platform>.submenu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 30px;
	pointer-events: auto;
}
.nav-item--platform>.submenu::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background:
		linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0) 52%),
		radial-gradient(circle at 14% 18%, rgba(255,255,255,.12), transparent 22%),
		radial-gradient(circle at 78% 0%, rgba(130,183,255,.1), transparent 26%);
	opacity: .9;
	pointer-events: none;
	z-index: 0;
}
.nav-item--platform>.submenu>ul { position: relative; z-index: 1; }
header.menu .nav-item--platform>.submenu { top: 74px; }
.nav-item--platform>.submenu:hover,
.nav-item--platform:hover>.submenu {
	opacity: 1;
	transform: scaleY(1);
	visibility: visible;
}
.nav-item--platform>.submenu>ul {
	background: rgba(255,255,255,.03);
	border: none;
	border-radius: 14px;
	box-shadow: none;
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 8px;
	list-style: none;
	margin: 0;
	max-width: 220px;
	min-width: 0;
	padding: 16px;
}
.nav-item--platform>.submenu>ul>h4 {
	border-bottom: none;
	color: #f4f8ff;
	display: block;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.2;
	margin: 0 0 8px;
	padding: 0;
	text-transform: none;
}
.nav-item--platform>.submenu>ul:first-of-type>h4 { color: #ff8c78; }
.nav-item--platform>.submenu>ul:nth-of-type(2)>h4 { color: #7be19f; }
.nav-item--platform>.submenu>ul:nth-of-type(3)>h4 { color: #a78bfa; }
.nav-item--platform>.submenu>ul:nth-of-type(4)>h4 { color: #7fc2ff; }
.nav-item--platform>.submenu>ul>li {
	align-items: flex-start;
	display: flex;
	justify-content: flex-start;
	line-height: 1.35rem;
	margin: 0;
	width: 100%;
}
.nav-item--platform>.submenu>ul>li>a {
	color: #dbe4f3;
	font-size: .92rem;
	font-weight: 500;
	line-height: 1.35rem;
	text-align: left;
	text-decoration: none;
	width: 100%;
}
.nav-item--platform>.submenu>ul>li>a:hover {
	color: #fff;
	text-decoration: none;
}
header>#icono-movil>span { background: #fff; }
header>#movil { background: rgba(12,18,32,.98); }

@media screen and (max-width: 1000px) {
	header { pointer-events: auto; }
	header>#escritorio { display: none !important; }
	header>#logo-movil { display: flex; }
	header>#icono-movil { display: flex; }
}

.nav-item>p:hover { color: #fff; }
#contacto-tel:hover { color: var(--text-secondary); }

.eyebrow { color: var(--text-secondary); }
.hero .title > span {
	background: linear-gradient(90deg, #6cc98e, #8fb1d4, #6cc98e, #8fb1d4, #6cc98e);
	background-size: 300% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: shimmerText 6s ease-in-out infinite;
}
.mini-metric__number { color: var(--text-secondary); }
.journey-nav a small { color: var(--text-secondary); }
.hero { padding: 116px 0 0; }
.hero-stack { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero-copy .eyebrow { margin-bottom: 18px; }
.hero-copy .title { margin: 0 0 18px; }
.hero .title {
	font-size: clamp(1.9rem, 3.35vw, 3.5rem);
	line-height: 1.04;
}
.hero-copy .subtitle { margin: 0; }
.hero-copy .actions { margin-top: 28px; }
.hero-copy--center { max-width: 820px; margin: 0 auto; }
.hero-copy--center .subtitle { max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }
.hero-copy--center .hero-lead-form { margin-top: 20px; margin-left: auto; margin-right: auto; }
.hero-copy--center .hero-lead-form__shell { padding: 6px; }
.hero-copy--center .hero-lead-form input { height: 54px; }
.hero-copy--center .hero-lead-form__submit {
	height: 54px;
	min-width: 268px;
}
@media screen and (max-width: 750px) {
	.hero-copy--center .hero-lead-form__shell { flex-direction: column; align-items: stretch; border-radius: 24px; padding: 14px; gap: 8px; }
	.hero-copy--center .hero-lead-form input { min-height: 45px; height: auto; text-align: center; font-size: 1.05rem; }
	.hero-copy--center .hero-lead-form__submit { min-width: 0; width: 100%; border-radius: 16px; }
}
.hero-band {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	padding: 0;
	display: block;
}
.hero-band__visual {
	width: min(1420px, calc(100% - 32px));
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	border-radius: 34px;
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02)),
		rgba(8, 15, 28, .72);
	box-shadow: 0 34px 84px rgba(0,0,0,.24);
}
.hero-band__panel { position: relative; min-height: 340px; }
.hero-band__panel--data {
	background:
		radial-gradient(circle at top left, rgba(108,201,142,.14), transparent 36%),
		radial-gradient(circle at bottom left, rgba(91,164,201,.14), transparent 32%),
		#071320;
}
.hero-band__panel--placeholder {
	background:
		radial-gradient(circle at top right, rgba(240,166,108,.18), transparent 24%),
		radial-gradient(circle at 28% 58%, rgba(91,164,201,.16), transparent 22%),
		linear-gradient(135deg, rgba(10,20,36,.96), rgba(12,20,36,.84));
}
.hero-band__placeholder-glow {
	position: absolute;
	inset: 10% 16% auto auto;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(240,166,108,.28), transparent 65%);
	filter: blur(10px);
}
.hero-band__placeholder-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 28px 28px;
	opacity: .55;
	mask-image: linear-gradient(180deg, rgba(0,0,0,.82), transparent 96%);
}
.hero-band .hero-mockup {
	width: 100%;
	max-width: none;
	min-height: 340px;
}
.hero-band .hero-mockup .mockup-results {
	height: 100%;
	border-radius: 0;
	clip-path: none;
	box-shadow: none;
	border: none;
}
.hero-band .hero-mockup .mockup-segment,
.hero-band .hero-mockup .mockup-diff-bar { transform: scaleX(1); }
.btn { min-height: 58px; font-size: 1.05rem; padding: 0 34px; }
.btn--primary,
.journey-cta {
	background: linear-gradient(180deg, #ffbf86, #f0a66c);
	color: #0c1220;
	border: none;
	box-shadow: 0 18px 38px rgba(240,166,108,.18);
}
.btn--primary::before,
.btn--primary::after { display: none; }
.btn--primary:hover,
.journey-cta:hover {
	background: linear-gradient(180deg, #ffc792, #f4ad74);
	box-shadow: 0 22px 44px rgba(240,166,108,.24);
	color: #0c1220;
	border: none;
}

.logo-marquee { margin-top: 0; }
.hero-proof { margin-top: 30px; }
.hero-bottom { padding: 42px 0 64px; }
.hero-bottom__feature-image {
	display: flex;
	justify-content: center;
	margin: 0 auto 28px;
}
.hero-bottom__feature-image img {
	display: block;
	width: min(1000px, calc(100% - 40px));
	height: auto;
	opacity: .9;
	border-radius: 28px;
	box-shadow: 0 26px 64px rgba(0,0,0,.22);
}
.feature-cascade-strip { overflow: hidden; }
.feature-cascade-intro {
	max-width: 760px;
	text-align: center;
	margin: 0 auto 34px;
}
.feature-cascade-intro .subtitle {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
.feature-cascade {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	padding: 34px;
	border-radius: 30px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		radial-gradient(circle at top left, rgba(108,201,142,.08), transparent 32%),
		radial-gradient(circle at top right, rgba(167,139,250,.1), transparent 28%),
		radial-gradient(circle at 50% 100%, rgba(91,164,201,.1), transparent 26%),
		linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015)),
		rgba(10, 18, 33, .78);
	box-shadow: 0 28px 72px rgba(0,0,0,.2);
}
.feature-cascade::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 24px 24px;
	opacity: .26;
	mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 96%);
	pointer-events: none;
}
.feature-column {
	position: relative;
	z-index: 1;
	overflow: hidden;
	height: 432px;
	mask-image: linear-gradient(180deg, transparent 0, rgba(0,0,0,.96) 8%, rgba(0,0,0,.96) 92%, transparent 100%);
}
.feature-column--a { padding-top: 0; }
.feature-column--b { padding-top: 26px; }
.feature-column--c { padding-top: 52px; }
.feature-column--d { padding-top: 78px; }
.feature-track {
	display: flex;
	flex-direction: column;
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
	will-change: transform;
	animation: cascadeRain 16s linear infinite;
}
.feature-column--a .feature-track { animation-duration: 15s; animation-delay: -1s; }
.feature-column--b .feature-track { animation-duration: 17s; animation-delay: -6s; }
.feature-column--c .feature-track { animation-duration: 14.5s; animation-delay: -3.5s; }
.feature-column--d .feature-track { animation-duration: 18s; animation-delay: -8s; }
.feature-chip {
	display: inline-flex;
	align-items: center;
	min-height: 62px;
	padding: 10px 18px;
	border-radius: 18px;
	border: 1px solid rgba(255,255,255,.08);
	background:
		linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.02)),
		rgba(13, 22, 39, .72);
	color: #f2f5fb;
	font-size: .92rem;
	font-weight: 650;
	letter-spacing: -.01em;
	line-height: 1.3;
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.04),
		0 14px 30px rgba(0,0,0,.18);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.feature-column:nth-child(1) .feature-chip:nth-child(6n+1),
.feature-column:nth-child(2) .feature-chip:nth-child(6n+2),
.feature-column:nth-child(3) .feature-chip:nth-child(6n+3),
.feature-column:nth-child(4) .feature-chip:nth-child(6n+4) {
	border-color: rgba(240,166,108,.22);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.05),
		0 14px 30px rgba(0,0,0,.18),
		0 0 0 1px rgba(240,166,108,.06);
}
@keyframes cascadeRain {
	0% { transform: translateY(-50%); }
	100% { transform: translateY(0); }
}
.security-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 28px;
	align-items: start;
}
.security-card { padding: 22px 22px; }
.security-card--integrations .security-kicker {
	background: rgba(108,201,142,.12);
	color: var(--plat);
}
.security-card--integrations .list-clean li::before { background: #7be19f; }
#journey-map > .shell > .flow-intro { text-align: center; }
#journey-map > .shell > .flow-intro .subtitle { margin-left: auto; margin-right: auto; max-width: 860px; }
.journey-layout--flow { display: flex; flex-direction: column; gap: 34px; position: relative; }
.journey-layout--flow::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 12px;
	bottom: 12px;
	width: 1px;
	background: linear-gradient(180deg, rgba(108,201,142,.18), rgba(91,164,201,.18), rgba(167,139,250,.18), rgba(225,133,127,.18));
	opacity: .7;
	pointer-events: none;
}
.journey-nav { margin-bottom: 58px; }
.journey-nav a { backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.journey-nav a:nth-child(1) {
	background: linear-gradient(180deg, rgba(108,201,142,.22), rgba(108,201,142,.12));
	border-color: rgba(108,201,142,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(108,201,142,.12);
}
.journey-nav a:nth-child(2) {
	background: linear-gradient(180deg, rgba(91,164,201,.22), rgba(91,164,201,.12));
	border-color: rgba(91,164,201,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(91,164,201,.12);
}
.journey-nav a:nth-child(3) {
	background: linear-gradient(180deg, rgba(167,139,250,.24), rgba(167,139,250,.12));
	border-color: rgba(167,139,250,.36);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(167,139,250,.12);
}
.journey-nav a:nth-child(4) {
	background: linear-gradient(180deg, rgba(225,133,127,.24), rgba(225,133,127,.12));
	border-color: rgba(225,133,127,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(225,133,127,.12);
}
.journey-nav a small { color: var(--muted); }
.journey-nav a.is-active { color: inherit; }
.journey-nav a:nth-child(1).is-active {
	background: linear-gradient(180deg, rgba(108,201,142,.22), rgba(108,201,142,.12));
	border-color: rgba(108,201,142,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(108,201,142,.12);
}
.journey-nav a:nth-child(2).is-active {
	background: linear-gradient(180deg, rgba(91,164,201,.22), rgba(91,164,201,.12));
	border-color: rgba(91,164,201,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(91,164,201,.12);
}
.journey-nav a:nth-child(3).is-active {
	background: linear-gradient(180deg, rgba(167,139,250,.24), rgba(167,139,250,.12));
	border-color: rgba(167,139,250,.36);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(167,139,250,.12);
}
.journey-nav a:nth-child(4).is-active {
	background: linear-gradient(180deg, rgba(225,133,127,.24), rgba(225,133,127,.12));
	border-color: rgba(225,133,127,.34);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.08),
		0 12px 26px rgba(225,133,127,.12);
}
.journey-step {
	grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
	align-items: center;
	padding: 34px;
	border-radius: 30px;
	overflow: hidden;
	position: relative;
	background: linear-gradient(180deg, rgba(20,27,46,.86), rgba(14,20,35,.94));
	box-shadow: 0 26px 60px rgba(2,6,23,.24);
}
.journey-step::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at top left, rgba(255,255,255,.06), transparent 34%),
		linear-gradient(135deg, rgba(255,255,255,.02), transparent 44%);
	pointer-events: none;
}
.journey-step--setup { border-color: rgba(108,201,142,.18); }
.journey-step--respond { border-color: rgba(91,164,201,.18); }
.journey-step--setup {
	background:
		radial-gradient(circle at top left, rgba(108,201,142,.16) 0%, rgba(108,201,142,.06) 22%, transparent 46%),
		linear-gradient(180deg, rgba(20,27,46,.9), rgba(14,20,35,.96));
}
.journey-step--respond {
	background:
		radial-gradient(circle at top right, rgba(91,164,201,.18) 0%, rgba(91,164,201,.08) 18%, transparent 42%),
		linear-gradient(180deg, rgba(20,27,46,.9), rgba(14,20,35,.96));
}
.journey-step--respond::before {
	background:
		radial-gradient(circle at top right, rgba(255,255,255,.04), transparent 32%),
		linear-gradient(135deg, rgba(255,255,255,.015), transparent 46%);
}
.journey-step--results {
	border-color: rgba(167,139,250,.24);
	background:
		radial-gradient(circle at top right, rgba(167,139,250,.18) 0%, rgba(167,139,250,.06) 18%, transparent 42%),
		linear-gradient(180deg, rgba(21,18,38,.92), rgba(14,18,32,.96));
}
.journey-step--development {
	border-color: rgba(225,133,127,.22);
	background:
		radial-gradient(circle at top left, rgba(225,133,127,.16), transparent 24%),
		linear-gradient(180deg, rgba(35,20,24,.92), rgba(22,16,21,.96));
}
.journey-copy { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 20px; }
.journey-copy .journey-desc { max-width: 560px; margin: 0; }
.journey-meta { margin-bottom: 0; }
.journey-index { color: var(--plat); }
.journey-step--respond .journey-index { color: #8bd3ff; }
.journey-step--results .journey-index { color: var(--ai); }
.journey-step--development .journey-index { color: var(--rojo); }
.journey-visual { position: relative; z-index: 2; }
.mockup-frame {
	position: relative;
	padding: 16px;
	border-radius: 26px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	box-shadow: 0 24px 60px rgba(0,0,0,.22);
}
.mockup-frame::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(145deg, rgba(255,255,255,.18), transparent 35%, rgba(255,255,255,.08));
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
}
.mockup-frame .mockup-config {
	min-height: 200px;
	border-radius: 18px;
	box-shadow: 0 14px 40px rgba(0,0,0,.22);
}
.flow-rail {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 18px;
}
.flow-rail span,
.flow-pills span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.08);
	color: #eef2ff;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .02em;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	animation: v3FlowFloat 6s ease-in-out infinite;
}
.flow-rail span:nth-child(2),
.flow-pills span:nth-child(2) { animation-delay: .8s; }
.flow-rail span:nth-child(3),
.flow-pills span:nth-child(3) { animation-delay: 1.6s; }
.flow-rail span:nth-child(4),
.flow-pills span:nth-child(4) { animation-delay: 2.4s; }
.flow-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.flow-rail--builder span { color: var(--plat); }
.flow-rail--respond span { color: #8bd3ff; }
.feature-stack,
.insight-stack { display: grid; gap: 14px; }
.feature-block,
.insight-card,
.signal-card,
.action-card {
	padding: 16px 18px;
	border-radius: 18px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.06);
	display: flex;
	flex-direction: column;
}
.feature-label,
.insight-card .feature-label,
.signal-card .feature-label,
.action-card .feature-label {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 12px;
}
.feature-block--plat .feature-label,
.insight-card--plat .feature-label,
.signal-card--plat .feature-label,
.action-card--plat .feature-label { background: rgba(108,201,142,.12); color: var(--plat); }
.feature-block--human .feature-label,
.insight-card--human .feature-label,
.signal-card--human .feature-label,
.action-card--human .feature-label { background: rgba(143,177,212,.14); color: var(--human); }
.feature-block--ai .feature-label,
.insight-card--ai .feature-label,
.signal-card--ai .feature-label,
.action-card--ai .feature-label { background: rgba(167,139,250,.12); color: var(--ai); }
.flow-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}
.flow-list li {
	color: #d7dfef;
	font-size: .95rem;
	line-height: 1.55;
	padding-left: 18px;
	position: relative;
}
.flow-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .62em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: currentColor;
}
.feature-block--plat .flow-list li { color: #c7f2d6; }
.feature-block--human .flow-list li { color: #d3e4f7; }
.feature-block--ai .flow-list li { color: #dccbff; }
.insight-card--plat .flow-list li,
.signal-card--plat .flow-list li,
.action-card--plat .flow-list li { color: #c7f2d6; }
.insight-card--human .flow-list li,
.signal-card--human .flow-list li,
.action-card--human .flow-list li { color: #d3e4f7; }
.insight-card--ai .flow-list li,
.signal-card--ai .flow-list li,
.action-card--ai .flow-list li { color: #dccbff; }
.signal-grid,
.action-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.signal-card,
.action-card { min-height: 168px; }
.journey-visual--results {
	min-height: 100%;
	display: flex;
	align-items: center;
	width: 100%;
}
.journey-visual--results .mockup-frame--results {
	width: 100%;
	max-width: 580px;
	margin-left: auto;
}
.journey-visual--results .mockup-frame--results .mockup-config {
	min-height: 500px;
}
.analytics-glow {
	position: absolute;
	inset: 14% 10% auto auto;
	width: 210px;
	height: 210px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(147,164,188,.32) 0%, rgba(147,164,188,.08) 45%, transparent 70%);
	filter: blur(14px);
	animation: v3FlowPulse 7s ease-in-out infinite;
}
.development-path {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 18px;
}
.development-node {
	padding: 14px 14px 16px;
	border-radius: 18px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	position: relative;
}
.development-node strong {
	display: block;
	color: #fff;
	font-size: .88rem;
	font-weight: 800;
	margin-bottom: 4px;
}
.development-node span { color: #d5d9f8; font-size: .8rem; line-height: 1.45; }
.development-node.is-active {
	background: rgba(167,139,250,.12);
	border-color: rgba(167,139,250,.28);
	box-shadow: 0 0 0 1px rgba(167,139,250,.14) inset;
}
.journey-step--reverse { grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr); }
.journey-step--reverse .journey-copy { order: 2; }
.journey-step--reverse .journey-visual { order: 1; }

.combo-grid > .info-card:nth-child(2) {
	border-color: rgba(143,177,212,.22);
	background: rgba(143,177,212,.05);
}

.team-marquee__track img { border-color: rgba(143,177,212,.32); }

@media (prefers-reduced-motion: reduce) {
	.title span,
	.btn--primary::before,
	.logo-marquee__track,
	.team-marquee__track,
	.mockup-segment,
	.mockup-diff-bar,
	.mockup-9box,
	.mockup-9cell,
	.reveal {
		animation: none !important;
		transition: none !important;
	}
}
.faq-item-v2 summary::after { color: var(--text-secondary); }
.faq-item-v2[open] { border-color: rgba(147,164,188,.22); }
.cta-band {
	background: linear-gradient(135deg, rgba(108,201,142,.08) 0%, rgba(147,164,188,.1) 52%, rgba(167,139,250,.08) 100%);
	border-color: rgba(147,164,188,.18);
}
.cta-band .eyebrow { color: var(--text-secondary); }
.footer-social a:hover { background: var(--text-secondary); color: #fff; }
.footer-legal a:hover { color: var(--text-secondary); }

@keyframes v3FlowFloat {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-5px); }
}

@keyframes v3FlowPulse {
	0%, 100% { transform: translateY(0) scale(1); opacity: .9; }
	50% { transform: translateY(-4px) scale(1.02); opacity: 1; }
}

@media screen and (max-width: 1000px) {
	.hero { padding: 108px 0 50px; }
	.hero-copy .actions { margin-top: 20px; }
	.hero-band { padding-top: 24px; }
	.hero-band__visual {
		width: min(100%, calc(100% - 24px));
		grid-template-columns: 1fr;
	}
	.hero-band__panel { min-height: 260px; }
	.hero-band__panel--placeholder { min-height: 180px; }
	.hero-bottom__feature-image { margin-bottom: 22px; }
	.hero-bottom__feature-image img {
		width: min(100%, calc(100% - 24px));
		border-radius: 22px;
	}
	.logo-marquee,
	.hero-proof { margin-top: 24px; }
	.hero-bottom { padding: 28px 0 52px; }
	.feature-cascade {
		grid-template-columns: 1fr 1fr;
		padding: 22px;
		gap: 14px 6px;
	}
	.feature-column--a,
	.feature-column--b,
	.feature-column--c,
	.feature-column--d { padding-top: 0; }
	.feature-column { height: 332px; }
	.feature-chip {
		min-height: 58px;
		padding: 0 15px;
		padding-top: 8px;
		padding-bottom: 8px;
		font-size: .88rem;
	}
	.journey-layout--flow::before { display: none; }
	.journey-step,
	.journey-step--reverse { grid-template-columns: 1fr; padding: 24px; }
	.journey-step .journey-copy { order: 1; }
	.journey-step .journey-visual { order: 2; display: flex; justify-content: center; }
	.journey-step .mockup-frame { width: 100%; max-width: 420px; margin: 0 auto; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 26px; }
	.journey-step .mockup-frame .mockup-config { min-height: 0; }
	.journey-visual--results .mockup-frame--results { max-width: 420px; }
	.security-grid { grid-template-columns: 1fr; }
	.signal-grid,
	.action-grid,
	.development-path { grid-template-columns: 1fr; }
	.journey-nav { grid-template-columns: 1fr 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.feature-track { animation: none !important; }
}

/* Filter dropdown arrow */
.mockup-select-arrow { font-size: .55rem; }

/* ========================================================================
   HOME PAGE SECTIONS (dark-theme default, adapted from adsv2.css)
   ======================================================================== */

/* --- Section base --- */
.section {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 5% 5%;
	width: 100%;
}
.section--bg-light { background: rgba(255,255,255,.03); }

/* Section typography */
.section-label {
	color: var(--accent);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .5px;
	line-height: 1rem;
	margin-bottom: 15px;
	max-width: 1300px;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}
.section-title {
	color: var(--text);
	font-size: 2.3em;
	font-weight: 600;
	line-height: 1.3;
	max-width: 800px;
	text-align: center;
	width: 100%;
}
.section-title span { color: var(--accent); }
.section-desc {
	color: var(--muted);
	font-size: 1.1em;
	font-weight: 500;
	line-height: 1.5;
	margin: 10px 0 15px;
	max-width: 800px;
	text-align: center;
	width: 100%;
}

/* --- Buttons (home compat) --- */
.btn-primary {
	background: var(--accent);
	border-radius: 10px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 20px;
	max-width: 300px;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	transition: opacity .3s ease;
}
.btn-primary:hover { opacity: .9; }
.btn-primary--large { font-size: 1.2em; max-width: 433px; padding: 25px 40px; }

/* --- Grids (home) --- */
.card-grid { display: grid; grid-gap: 25px; margin-top: 50px; max-width: 1300px; width: 100%; }
.card-grid--3 { grid-template-columns: repeat(3, 1fr); }

/* --- Feature cards (home) --- */
.feature-card {
	align-items: flex-start;
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 12px;
	display: flex;
	gap: 15px;
	padding: 20px;
	transition: border-color .2s ease;
}
.feature-card:hover { border-color: var(--accent); }
.feature-card__icon { margin-top: 2px; min-width: 24px; width: 24px; }
.feature-card__content { display: flex; flex-direction: column; }
.feature-card__title { color: var(--text); font-size: 1em; font-weight: 600; line-height: 1.4; margin: 0 0 6px 0; text-align: left; }
.feature-card__text { color: var(--muted); font-size: .9em; font-weight: 400; line-height: 1.5; text-align: left; }

/* --- Team photos --- */
.team-photos { display: flex; flex-wrap: wrap; gap: 30px 40px; justify-content: center; margin: 25px auto; max-width: 900px; width: 100%; }
.team-photos__item { align-items: center; display: flex; flex-direction: column; }
.team-photos__img { border: 3px solid var(--accent); border-radius: 100%; height: 100px; object-fit: cover; width: 100px; }
.team-photos__name { color: var(--text); font-size: 1em; font-weight: 600; margin-top: 12px; text-align: center; }
.team-photos__more {
	align-items: center;
	background: var(--accent);
	border-radius: 100%;
	color: #fff;
	display: flex;
	font-size: .85em;
	font-weight: 600;
	height: 100px;
	justify-content: center;
	line-height: 1.3;
	padding: 10px;
	text-align: center;
	width: 100px;
}

/* --- Hero geo-line animation (home) --- */
.hero .animation-wrapper {
	display: none;
	height: 100%;
	left: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}
.hero .geo-line {
	animation: waveMove 30s infinite linear;
	background: transparent;
	border: 2px solid rgba(255,255,255,.15);
	border-radius: 40%;
	height: 200%;
	left: -50%;
	position: absolute;
	width: 200%;
}
.hero .line-1 { animation-duration: 40s; border-radius: 45%; bottom: -160%; opacity: .6; }
.hero .line-2 { animation-direction: reverse; animation-duration: 35s; border-radius: 43%; border-width: 1px; bottom: -165%; opacity: .5; }
.hero .line-3 { animation-duration: 25s; border-radius: 40%; border-width: 3px; bottom: -170%; opacity: .3; }
.hero .line-4 { animation-direction: reverse; animation-duration: 45s; border-radius: 48%; bottom: -155%; opacity: .4; }
@keyframes waveMove { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

/* --- Consulting steps --- */
.consulting-steps {
	display: flex;
	gap: 40px;
	justify-content: center;
	margin-top: 50px;
	max-width: 1000px;
	width: 100%;
}
.consulting-step {
	align-items: center;
	display: flex;
	flex: 1;
	flex-direction: column;
	max-width: 280px;
	text-align: center;
}
.consulting-step__number {
	align-items: center;
	background: var(--accent);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 1.5em;
	font-weight: 700;
	height: 60px;
	justify-content: center;
	margin-bottom: 20px;
	width: 60px;
}
.consulting-step__title {
	color: var(--text);
	font-size: 1.3em;
	font-weight: 600;
	margin-bottom: 10px;
}
.consulting-step__text {
	color: var(--muted);
	font-size: .95em;
	line-height: 1.5;
}
.consulting-step--platform { opacity: .5; }
.consulting-step--platform .consulting-step__number { background: #555; }

/* --- World map --- */
.world-map-container {
	margin-top: 40px;
	max-width: 1000px;
	width: 100%;
}
#world-map-wrapper { position: relative; width: 100%; }
.map-tooltip {
	background: #1a2740;
	border-radius: 6px;
	color: #fff;
	font-size: .85em;
	font-weight: 500;
	opacity: 0;
	padding: 6px 12px;
	pointer-events: none;
	position: absolute;
	transition: opacity .2s ease;
	white-space: nowrap;
	z-index: 10;
}
.map-tooltip.visible { opacity: 1; }
#world-map { width: 100%; height: auto; }
#world-map path {
	fill: #3a4a5c;
	stroke: rgba(255,255,255,.15);
	stroke-width: .3;
	transition: fill .3s ease;
}
#world-map path.active {
	fill: #f0a66c;
	cursor: pointer;
	animation: shimmerMap 8s ease-in-out infinite;
}
#world-map path.active:hover {
	fill: #ffcf8f;
	filter: drop-shadow(0 2px 6px rgba(240,166,108,.4));
	animation: none;
}
@keyframes shimmerMap {
	0%   { fill: #f0a66c; }
	50%  { fill: #e8945a; }
	100% { fill: #f0a66c; }
}
#world-map path.active:nth-child(odd)  { animation-delay: 0s; }
#world-map path.active:nth-child(even) { animation-delay: -4s; }
.map-legend { display: flex; justify-content: center; gap: 30px; margin-top: 25px; flex-wrap: wrap; }
.map-legend__item { align-items: center; display: flex; font-size: .9em; gap: 8px; color: var(--muted); }
.map-legend__dot { border-radius: 50%; display: inline-block; height: 12px; width: 12px; }
.map-legend__dot--active { background: #f0a66c; }
.map-legend__dot--inactive { background: #3a4a5c; }

/* Languages */
.languages-available { margin-top: 40px; text-align: center; }
.languages-title { color: var(--text); font-size: 1em; font-weight: 600; margin-bottom: 15px; }
.languages-list { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.language-tag {
	background: rgba(255,255,255,.08);
	border-radius: 20px;
	color: var(--text);
	font-size: .9em;
	font-weight: 500;
	padding: 8px 16px;
	transition: all .2s ease;
}
.language-tag:hover { background: var(--accent); color: #fff; }

/* --- CTA section --- */
#CTA {
	align-items: center;
	background-color: rgba(240,166,108,.08);
	border-radius: 35px;
	display: flex;
	flex-direction: column;
	margin: 35px auto;
	padding: 65px 20px;
	width: 90%;
}

/* --- FAQ (old style) --- */
.faq-grid {
	align-items: start;
	display: grid;
	gap: 15px;
	grid-template-columns: repeat(2, 1fr);
	max-width: 1100px;
	width: 100%;
	margin-top: 40px;
}
.faq-item {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .2s ease;
	height: fit-content;
}
.faq-item:hover { border-color: var(--accent); }
.faq-item[open] { border-color: var(--accent); }
.faq-question {
	align-items: center;
	color: var(--text);
	cursor: pointer;
	display: flex;
	font-size: 1em;
	font-weight: 600;
	gap: 12px;
	justify-content: space-between;
	list-style: none;
	padding: 20px 25px;
	transition: background .2s ease;
}
.faq-question::-webkit-details-marker { display: none; }
.faq-question::after { content: '+'; color: var(--accent); font-size: 1.4em; font-weight: 400; transition: transform .2s ease; }
.faq-item[open] .faq-question::after { content: '\2212'; }
.faq-question:hover { background: rgba(240,166,108,.04); }
.faq-answer { color: var(--muted); font-size: .95em; line-height: 1.6; padding: 0 25px 20px; }

/* ========================================================================
   HOME PAGE RESPONSIVE
   ======================================================================== */

/* Laptop */
@media screen and (max-width: 1200px) {
	.section { padding: 5% 30px; }
	.card-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.team-photos { flex-wrap: wrap; gap: 30px; }
}

/* Tablet */
@media screen and (max-width: 900px) {
	.faq-grid { grid-template-columns: 1fr; }
}

/* Mobile */
@media screen and (max-width: 750px) {
	.section { padding: 40px 20px; }
	.section-title { font-size: 1.8em; }
	.section .btn-primary { display: block; margin-left: auto; margin-right: auto; }
	.card-grid--3 { grid-template-columns: repeat(2, 1fr); }
	.team-photos { gap: 25px; padding: 30px 20px; }
	.team-photos__img, .team-photos__more { height: 80px; width: 80px; }
	.team-photos__more { font-size: .7em; padding: 8px; }
	#CTA { border-radius: 20px; padding: 40px 20px; }
	.faq-question { font-size: .95em; padding: 15px 20px; }
	.faq-answer { padding: 0 20px 15px; font-size: .9em; }
	.consulting-steps { flex-direction: column; gap: 30px; }
	.consulting-step { max-width: 100%; }
	.consulting-step__number { height: 50px; width: 50px; font-size: 1.3em; }
	.world-map-container { margin-top: 30px; }
	.map-legend { gap: 15px; }
	.map-legend__item { font-size: .8em; }
	.languages-available { margin-top: 30px; }
	.languages-title { font-size: .9em; }
	.language-tag { font-size: .8em; padding: 6px 12px; }
}

/* Small mobile */
@media screen and (max-width: 500px) {
	.card-grid--3 { grid-template-columns: 1fr; }
}

/* ========================================================================
   NOSOTROS PAGE
   ======================================================================== */
.about-section {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	padding: 80px 5%;
	width: 100%;
}
.about-section--alt { background: rgba(255,255,255,.03); }
.about-section__header { max-width: 800px; text-align: center; margin-bottom: 50px; }
.about-section__label { color: var(--accent); font-size: .85em; font-weight: 700; letter-spacing: 1px; margin-bottom: 12px; text-transform: uppercase; }
.about-section__title { color: var(--text); font-size: 2.2em; font-weight: 700; line-height: 1.3; margin-bottom: 15px; }
.about-section__title span { color: var(--accent); }
.about-section__desc { color: var(--muted); font-size: 1.1em; font-weight: 400; line-height: 1.6; }
.values-grid { display: grid; gap: 40px; grid-template-columns: repeat(2, 1fr); max-width: 1100px; width: 100%; }
.value-card { background: var(--bg-card); border: 1px solid var(--border); border-radius: 20px; padding: 40px; transition: transform .3s ease, box-shadow .3s ease; }
.value-card:hover { box-shadow: 0 15px 50px rgba(0,0,0,.2); transform: translateY(-5px); }
.value-card__icon { background: rgba(240,166,108,.1); border-radius: 12px; height: 60px; width: 60px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; }
.value-card__icon img { height: 30px; width: 30px; }
.value-card__title { color: var(--text); font-size: 1.4em; font-weight: 700; margin-bottom: 15px; }
.value-card__text { color: var(--muted); font-size: 1em; font-weight: 400; line-height: 1.7; margin-bottom: 12px; }
.value-card__highlight { color: var(--text); font-size: .95em; font-weight: 600; line-height: 1.5; border-left: 3px solid var(--accent); padding-left: 15px; margin-top: 20px; }
@media screen and (max-width: 900px) { .values-grid { grid-template-columns: 1fr; gap: 25px; } }
@media screen and (max-width: 600px) { .about-section { padding: 50px 20px; } .about-section__title { font-size: 1.7em; } .value-card { padding: 30px 25px; } }

/* ========================================================================
   CONTACTO PAGE
   ======================================================================== */
.offices-grid {
	display: grid;
	gap: 25px;
	grid-template-columns: repeat(5, 1fr);
	max-width: 1200px;
	width: 100%;
}
.office-card {
	background: var(--bg-card);
	border: 1px solid var(--border);
	border-radius: 16px;
	padding: 28px 20px;
	text-align: center;
	transition: transform .3s ease, box-shadow .3s ease;
}
.office-card:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.2); }
.office-card__flag { margin-bottom: 12px; }
.office-card__flag img { width: 36px; height: 24px; border-radius: 3px; }
.office-card__country { color: var(--text); font-size: 1.15em; font-weight: 700; margin-bottom: 16px; }
.office-card__locations { display: flex; flex-direction: column; gap: 14px; }
.office-card__location { display: flex; flex-direction: column; gap: 2px; }
.office-card__city { color: var(--muted); font-size: .85em; font-weight: 600; }
.office-card__phone { color: var(--accent); font-size: .9em; font-weight: 500; text-decoration: none; transition: opacity .2s; }
.office-card__phone:hover { opacity: .8; }
.contact-email { color: var(--muted); font-size: 1em; margin-top: 40px; text-align: center; }
.contact-email a { color: var(--accent); text-decoration: none; font-weight: 600; }
.contact-email a:hover { text-decoration: underline; }
@media screen and (max-width: 1100px) { .offices-grid { grid-template-columns: repeat(3, 1fr); } }
@media screen and (max-width: 750px) { .offices-grid { grid-template-columns: repeat(2, 1fr); } .office-card { padding: 20px 15px; } }
@media screen and (max-width: 500px) { .offices-grid { grid-template-columns: 1fr; } }

/* ========================================================================
   PRIVACIDAD PAGE (legal content)
   ======================================================================== */
.legal-content {
	max-width: 900px;
	width: 100%;
	padding: 60px 5%;
	margin: 0 auto;
}
.legal-content h2 {
	color: var(--text);
	font-size: 1.4em;
	font-weight: 700;
	margin: 40px 0 15px;
	padding-top: 20px;
	border-top: 1px solid var(--border);
}
.legal-content h2:first-of-type { border-top: none; margin-top: 0; padding-top: 0; }
.legal-content h3 { color: var(--text); font-size: 1.15em; font-weight: 600; margin: 25px 0 10px; }
.legal-content p { color: var(--muted); font-size: .95em; line-height: 1.7; margin-bottom: 12px; }
.legal-content a { color: var(--accent); text-decoration: none; }
.legal-content a:hover { text-decoration: underline; }
.legal-content ul, .legal-content ol { color: var(--muted); font-size: .95em; line-height: 1.7; margin: 10px 0 15px 20px; }
.legal-content li { margin-bottom: 6px; }
.legal-content strong { color: var(--text); }

/* ========================================================================
   UNSUSCRIBE PAGE
   ======================================================================== */
.unsuscribe-content {
	max-width: 600px;
	margin: 0 auto;
	padding: 80px 20px;
	text-align: center;
}
.unsuscribe-content__icon {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(16,185,129,.15);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 30px;
}
.unsuscribe-content__icon svg { width: 40px; height: 40px; color: #10b981; }
.unsuscribe-content h2 { color: var(--text); font-size: 1.8rem; margin-bottom: 15px; }
.unsuscribe-content p { color: var(--muted); font-size: 1rem; line-height: 1.6; margin-bottom: 30px; }
.unsuscribe-content__link { display: inline-block; color: var(--accent); text-decoration: none; font-weight: 500; }
.unsuscribe-content__link:hover { text-decoration: underline; }
