/* ==========================================================================
   Sistema de diseño EIA (base) + secciones de la portada — minimalista, glass, color y movimiento
   Referencia de lenguaje visual: refreencias/ (Stodio), reinterpretado para EIA.

   Tokens (contraste AA verificado):
     tinta #0b1020 / papel #eef1f6 ........ 16.7:1
     tinta-2 #545c70 / papel ............... 5.9:1
     azul #0056ef / papel .................. 5.2:1   · blanco / azul 5.9:1
     noche-texto #eef2ff / noche #0a1230 ... 16.4:1
     noche-texto-2 #a3add0 / noche ......... 8.3:1
     azul-claro #6ea0ff / noche ............ 7.1:1   · cian #5ee0f2 / noche 11.8:1
   Mobile-first. Todo el movimiento respeta prefers-reduced-motion.
   ========================================================================== */

:root {
	--eia-font: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	--eia-mono: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

	/* Claros */
	--eia-paper: #eef1f6;
	--eia-card: #ffffff;
	--eia-ink: #0b1020;
	--eia-ink-2: #545c70;
	--eia-ink-faint: #a9b0bf;
	--eia-line: rgba(11, 16, 32, .12);

	/* Noche */
	--eia-night: #0a1230;
	--eia-night-2: #121c44;
	--eia-on-night: #eef2ff;
	--eia-on-night-2: #a3add0;
	--eia-line-night: rgba(255, 255, 255, .12);

	/* Color */
	--eia-blue: var(--ast-global-color-0, #0056ef);
	--eia-blue-hover: #0047c7;
	--eia-blue-soft: #6ea0ff;
	--eia-cyan: #5ee0f2;
	--eia-violet: #8b6cff;

	/* Vidrio */
	--eia-glass-dark: rgba(255, 255, 255, .08);
	--eia-glass-dark-line: rgba(255, 255, 255, .16);
	--eia-glass-light: rgba(255, 255, 255, .58);
	--eia-glass-light-line: rgba(255, 255, 255, .85);
	--eia-blur: blur(22px) saturate(160%);

	--eia-r-xl: clamp(24px, 3vw, 36px);
	--eia-r-lg: 24px;
	--eia-r-md: 18px;

	--eia-wrap: 1240px;
	--eia-gutter: 20px;
	--eia-section-y: clamp(88px, 11vw, 160px);

	--eia-ease-out: cubic-bezier(.16, 1, .3, 1);
	--eia-ease: cubic-bezier(.22, .61, .36, 1);
}

/* ---- Base ---- */
.eia-page,
.eia-page #page,
.eia-page .site-content { background: var(--eia-paper); }

.eia-page #content > .ast-container {
	display: block;
	max-width: none;
	padding: 0;
}

.eia {
	font-family: var(--eia-font);
	color: var(--eia-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: clip;
}
.eia :where(h1, h2, h3, p, ol, ul, dl, dd, figure, blockquote) { margin: 0; }
.eia :where(ol, ul) { padding: 0; list-style: none; }
/* Bloques nativos: sin el espacio automático entre bloques de WordPress (lo pone este diseño) */
.eia :where(.is-layout-flow, .is-layout-constrained, .wp-block-group, .wp-block-cover__inner-container) > * { margin-block: 0; }
.eia :where(.wp-block-group.alignfull, .alignfull) { margin-inline: 0; width: auto; max-width: none; }
.eia .eia-img { display: block; width: 100%; height: 100%; object-fit: cover; }

.eia-section { position: relative; padding-block: var(--eia-section-y); }
.eia-wrap {
	position: relative;
	width: 100%;
	max-width: calc(var(--eia-wrap) + var(--eia-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--eia-gutter);
}
.eia-dark { background: var(--eia-night); color: var(--eia-on-night); isolation: isolate; overflow: hidden; }

/* ---- Tipografía ---- */
.eia .eia-h2,
.eia .eia-hero__title,
.eia .eia-cta__title,
.eia .eia-statement__text,
.eia .eia-service__title,
.eia .eia-page-hero__title,
.eia .eia-srv__title,
.eia .eia-pillar__title,
.eia .eia-card__title {
	font-family: var(--eia-font);
	color: inherit;
	text-transform: none; /* Astra fuerza "capitalize" en los títulos */
	text-wrap: balance;
}
.eia :where(h1, h2, h3, h4, h5, h6, .eia-btn) { text-transform: none; }

.eia .eia-h2 {
	font-size: clamp(2.25rem, 3.6vw + 1rem, 4rem);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.04em;
}

.eia-lead {
	margin-top: 20px !important;
	max-width: 42ch;
	font-size: clamp(1.0625rem, .5vw + 1rem, 1.25rem);
	line-height: 1.5;
	color: var(--eia-ink-2);
	text-wrap: pretty;
}
.eia-caption { margin-top: 16px !important; font-size: .875rem; color: var(--eia-on-night-2); }

/* ---- Botones: texto que se desliza + flecha ---- */
.eia-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

.eia .eia-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	min-height: 52px;
	padding: 6px 6px 6px 22px;
	border-radius: 999px;
	background: var(--eia-blue);
	color: #fff;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	transition: background-color .3s ease, box-shadow .3s ease;
}
.eia .eia-btn:hover { background: var(--eia-blue-hover); color: #fff; box-shadow: 0 12px 30px -12px rgba(0, 86, 239, .65); }

.eia-btn__text { position: relative; display: block; height: 1.25em; line-height: 1.25; overflow: hidden; }
.eia-btn__text > span,
.eia-btn__text::after { display: block; transition: transform .5s var(--eia-ease-out); }
.eia-btn__text::after { content: attr(data-text); }
.eia-btn:hover .eia-btn__text > span,
.eia-btn:hover .eia-btn__text::after { transform: translateY(-100%); }

.eia-btn__icon {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	color: var(--eia-blue);
	transition: transform .5s var(--eia-ease-out);
}
.eia-btn:hover .eia-btn__icon { transform: rotate(45deg); }

.eia .eia-btn--light { background: #fff; color: var(--eia-ink); }
.eia .eia-btn--light:hover { background: #fff; color: var(--eia-ink); box-shadow: 0 14px 34px -14px rgba(0, 0, 0, .45); }
.eia-btn--light .eia-btn__icon { background: var(--eia-ink); color: #fff; }

.eia .eia-btn--glass {
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .22);
	-webkit-backdrop-filter: var(--eia-blur);
	backdrop-filter: var(--eia-blur);
}
.eia .eia-btn--glass:hover { background: rgba(255, 255, 255, .2); box-shadow: none; }
.eia-btn--glass .eia-btn__icon { background: rgba(255, 255, 255, .9); color: var(--eia-ink); }

/* ---- Enlace con flecha ---- */
.eia .eia-arrow-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	border-bottom: 1px dashed currentColor;
	color: var(--eia-ink);
	font-size: .9375rem;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.eia-arrow-link__icon { color: var(--eia-blue); transition: transform .4s var(--eia-ease-out); }
.eia-arrow-link:hover .eia-arrow-link__icon { transform: translateX(6px); }

.eia a:focus-visible,
.eia summary:focus-visible {
	outline: 3px solid var(--eia-blue);
	outline-offset: 3px;
	border-radius: 10px;
}
.eia-dark a:focus-visible,
.eia-hero a:focus-visible,
.eia-cta a:focus-visible { outline-color: var(--eia-cyan); }

/* ---- Brillos de color (blobs) ---- */
.eia-blob {
	position: absolute;
	z-index: -1;
	width: clamp(280px, 40vw, 560px);
	aspect-ratio: 1;
	border-radius: 50%;
	filter: blur(90px);
	opacity: .55;
	pointer-events: none;
	animation: eia-float 18s ease-in-out infinite alternate;
}
.eia-blob--blue { background: #0056ef; }
.eia-blob--violet { background: #7c5cff; animation-duration: 22s; animation-delay: -6s; }
.eia-blob--cyan { background: #22d3ee; opacity: .35; animation-duration: 26s; animation-delay: -11s; }

@keyframes eia-float {
	0% { transform: translate3d(0, 0, 0) scale(1); }
	50% { transform: translate3d(6%, -8%, 0) scale(1.08); }
	100% { transform: translate3d(-6%, 6%, 0) scale(.95); }
}

/* ---- Espacio para video ---- */
.eia-slot {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	aspect-ratio: var(--slot-ratio, 16 / 9);
	padding: 24px;
	border-radius: inherit;
	background:
		radial-gradient(80% 70% at 20% 10%, rgba(0, 86, 239, .55), transparent 60%),
		radial-gradient(70% 60% at 90% 90%, rgba(124, 92, 255, .45), transparent 60%),
		var(--eia-night);
	color: var(--eia-on-night);
	text-align: center;
	overflow: hidden;
}
.eia-slot--fill { position: absolute; inset: 0; aspect-ratio: auto; height: 100%; }
.eia-slot::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1.5px dashed rgba(255, 255, 255, .22);
	border-radius: max(8px, calc(var(--eia-r-lg) - 10px));
	pointer-events: none;
}
.eia-slot__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--eia-glass-dark);
	border: 1px solid var(--eia-glass-dark-line);
	-webkit-backdrop-filter: var(--eia-blur);
	backdrop-filter: var(--eia-blur);
}
.eia-slot__tag { font-family: var(--eia-mono); font-size: .75rem; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--eia-cyan); }
.eia-slot__label { font-size: .9375rem; font-weight: 600; max-width: 30ch; }
.eia-slot__note { font-size: .8125rem; color: var(--eia-on-night-2); max-width: 42ch; }

.eia-slot--image { background: #dde3ee; color: var(--eia-ink-2); }
.eia-slot--image::before { border-color: rgba(11, 16, 32, .18); }
.eia-slot--image .eia-slot__tag { color: var(--eia-ink-2); }

/* ---- Revelado general (lo activa home.js; sin JS todo se ve) ---- */
.eia-js [data-eia-reveal],
.eia-js .eia-reveal {
	opacity: 0;
	transform: translateY(32px);
	transition: opacity 1s var(--eia-ease-out), transform 1s var(--eia-ease-out);
	transition-delay: calc(var(--i, 0) * 90ms);
}
.eia-js [data-eia-reveal].is-in,
.eia-js .eia-reveal.is-in { opacity: 1; transform: none; }

/* ==========================================================================
   Hero
   ========================================================================== */
.eia-hero { padding: 10px 10px 0; }

.eia-hero__card {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: calc(100svh - 20px);
	border-radius: var(--eia-r-xl);
	background: var(--eia-night);
	color: #fff;
	overflow: hidden;
}

/* Video de fondo */
.eia-hero__bg { position: absolute; inset: 0; z-index: -3; border-radius: inherit; background: var(--eia-night); }
.eia-hero__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 1.2s ease;
}
/* eia.js lo marca "is-waiting" hasta que empieza a reproducirse (entra con fundido) */
.eia-hero__video.is-waiting { opacity: 0; }

/* Velo para leer el texto sobre cualquier cuadro del video */
.eia-hero__shade {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		linear-gradient(90deg, rgba(10, 18, 48, .72) 0%, rgba(10, 18, 48, .35) 55%, rgba(10, 18, 48, .1) 100%),
		linear-gradient(180deg, rgba(10, 18, 48, .45) 0%, rgba(10, 18, 48, 0) 30%, rgba(10, 18, 48, .75) 100%);
	pointer-events: none;
}

/* Botón pausar / reanudar (WCAG 2.2.2) */
.eia-video-toggle {
	position: absolute;
	bottom: 168px; /* móvil: sobre el subtítulo y la burbuja del chat (escritorio: arriba a la derecha) */
	right: 18px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--eia-glass-dark-line);
	border-radius: 50%;
	background: var(--eia-glass-dark);
	-webkit-backdrop-filter: var(--eia-blur);
	backdrop-filter: var(--eia-blur);
	color: #fff;
	cursor: pointer;
	transition: background-color .3s ease;
}
.eia-video-toggle:hover { background: rgba(255, 255, 255, .2); }
.eia-video-toggle:focus-visible { outline: 3px solid var(--eia-cyan); outline-offset: 3px; }
.eia-video-toggle__play { display: none; }
.eia-video-toggle[aria-pressed="true"] .eia-video-toggle__pause { display: none; }
.eia-video-toggle[aria-pressed="true"] .eia-video-toggle__play { display: block; }

/* Brillo que sigue al cursor (home.js pone --mx/--my) */
.eia-hero__glow,
.eia-cta__glow {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(600px circle at var(--mx, 70%) var(--my, 30%), rgba(94, 224, 242, .18), transparent 45%);
	transition: background .2s linear;
	pointer-events: none;
}

.eia-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	padding: 128px 22px 96px;
}

.eia .eia-hero__title {
	max-width: 15ch;
	font-size: clamp(2.5rem, 3.4vw + 1.1rem, 4.75rem);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -.045em;
}

/* Título palabra por palabra (eia.js lo parte; mientras tanto no se muestra para que no parpadee) */
.eia-js :is(h1, h2, h3).eia-split:not(.is-split) { visibility: hidden; }
.eia-word { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.eia-word > span {
	display: inline-block;
	animation: eia-rise 1s var(--eia-ease-out) both;
	animation-delay: calc(.05s + var(--w, 0) * 70ms);
}

.eia-hero__bottom {
	display: grid;
	gap: 28px;
	justify-items: start;
	margin-top: 28px;
	animation: eia-fade 1s var(--eia-ease-out) .9s both;
}
.eia-hero__sub {
	max-width: 34ch;
	font-size: clamp(1.125rem, .7vw + .95rem, 1.375rem);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: -.01em;
	color: rgba(255, 255, 255, .82);
}

@keyframes eia-rise { from { transform: translateY(105%); filter: blur(6px); } to { transform: none; filter: none; } }
@keyframes eia-fade { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   Cinta de capacidades
   ========================================================================== */
.eia-marquee {
	padding: 32px 0;
	border-bottom: 1px solid var(--eia-line);
}
.eia-marquee__mask {
	display: flex;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.eia-marquee__track {
	display: flex;
	flex-shrink: 0;
	gap: 48px;
	padding-right: 48px;
	animation: eia-marquee 38s linear infinite;
}
.eia-marquee__track li {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-size: clamp(1.25rem, 1.5vw + .8rem, 2rem);
	font-weight: 500;
	letter-spacing: -.02em;
	white-space: nowrap;
	color: var(--eia-ink);
}
.eia-marquee__star { color: var(--eia-blue); font-size: .7em; }
.eia-marquee:hover .eia-marquee__track { animation-play-state: paused; }

@keyframes eia-marquee { to { transform: translateX(-100%); } }

/* ==========================================================================
   Quiénes somos + galería
   ========================================================================== */
.eia-statement__row { display: grid; gap: 32px; }
.eia .eia-statement__text {
	max-width: 26ch;
	font-size: clamp(1.875rem, 3.4vw + 1rem, 3.75rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.035em;
}
.eia-js [data-eia-words] .eia-w,
.eia-js .eia-words .eia-w { color: var(--eia-ink-faint); transition: color .4s ease; }
.eia-js [data-eia-words] .eia-w.is-on,
.eia-js .eia-words .eia-w.is-on { color: var(--eia-ink); }

.eia-gallery { margin-top: clamp(56px, 7vw, 96px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.eia-gallery::-webkit-scrollbar { display: none; }
/* Con JS (eia.js) la galería se desliza con el scroll en todos los tamaños; sin JS queda el carrusel táctil */
.eia-js .eia-gallery { overflow: hidden; scroll-snap-type: none; }
.eia-gallery__track {
	display: flex;
	gap: 14px;
	width: max-content;
	padding-inline: var(--eia-gutter);
	transform: translate3d(var(--drift, 0px), 0, 0);
	will-change: transform;
}
.eia-gallery__item {
	position: relative;
	width: clamp(220px, 62vw, 400px);
	aspect-ratio: 4 / 5;
	border-radius: var(--eia-r-lg);
	overflow: hidden;
	scroll-snap-align: center;
	background: #dde3ee;
}
.eia-gallery__item .eia-img { transition: transform 1.2s var(--eia-ease-out); }
.eia-gallery__item:hover .eia-img { transform: scale(1.05); }
.eia-gallery__item:nth-child(even) { margin-top: 48px; }

/* ==========================================================================
   Servicios (noche)
   ========================================================================== */
.eia-services .eia-blob--blue { top: -12%; right: -10%; }
.eia-services .eia-blob--violet { bottom: -18%; left: -14%; opacity: .35; }

.eia-services__title { max-width: 16ch; margin-bottom: clamp(40px, 6vw, 80px) !important; }

.eia-inline-media {
	display: inline-block;
	width: 1.6em;
	height: .82em;
	margin-inline: .08em;
	border-radius: 999px;
	overflow: hidden;
	vertical-align: -.06em;
	transform: rotate(-4deg);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .15);
}

.eia-services__list { border-top: 1px solid var(--eia-line-night); }
.eia-service {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 10px 24px;
	padding: 26px 0;
	border-bottom: 1px solid var(--eia-line-night);
}
.eia .eia-service__title {
	grid-column: 1;
	font-size: clamp(1.5rem, 2.2vw + .8rem, 2.5rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.03em;
	color: var(--eia-on-night);
	transition: transform .6s var(--eia-ease-out), color .3s ease;
}
.eia-service__text { grid-column: 1; max-width: 46ch; font-size: 1rem; line-height: 1.5; color: var(--eia-on-night-2); }
.eia .eia-service__more {
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: 12px;
	min-height: 44px;
	color: var(--eia-on-night);
	font-size: .9375rem;
	font-weight: 500;
	text-decoration: none;
}
/* Toda la fila es clicable */
.eia .eia-service__more::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.eia-service__arrow {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--eia-line-night);
	color: var(--eia-on-night);
	transition: transform .6s var(--eia-ease-out), background-color .3s ease, color .3s ease, border-color .3s ease;
}
.eia-service__media {
	grid-column: 1 / -1;
	aspect-ratio: 16 / 9;
	margin-top: 8px;
	border-radius: var(--eia-r-md);
	overflow: hidden;
	position: relative;
}
.eia-service:hover .eia-service__arrow { transform: rotate(45deg); background: var(--eia-cyan); border-color: var(--eia-cyan); color: var(--eia-night); }

/* ==========================================================================
   Testimonio
   ========================================================================== */
.eia-testimonial { isolation: isolate; overflow: hidden; }
.eia-testimonial .eia-blob { opacity: .35; }
.eia-testimonial .eia-blob--blue { top: 10%; left: 5%; }
.eia-testimonial .eia-blob--cyan { bottom: 0; right: 8%; }

.eia-quote {
	max-width: 1000px;
	padding: clamp(32px, 5vw, 72px) !important;
	border-radius: var(--eia-r-xl);
	background: var(--eia-glass-light);
	border: 1px solid var(--eia-glass-light-line);
	-webkit-backdrop-filter: var(--eia-blur);
	backdrop-filter: var(--eia-blur);
	box-shadow: 0 30px 60px -40px rgba(11, 16, 32, .35);
}
.eia-quote__mark { display: block; height: .5em; font-size: 6rem; line-height: 1; color: var(--eia-blue); }
.eia-quote blockquote { margin: 0; padding: 0; border: 0; font-style: normal; }
.eia-quote blockquote p {
	font-size: clamp(1.375rem, 1.8vw + 1rem, 2.375rem);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.025em;
	text-wrap: pretty;
}
.eia-quote figcaption { display: flex; align-items: center; gap: 14px; margin-top: 32px; }
.eia-quote__avatar {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--eia-blue), var(--eia-violet));
	color: #fff;
	font-size: .875rem;
	font-weight: 600;
}
.eia-quote__name { display: block; font-weight: 600; }
.eia-quote__role { display: block; font-size: .9375rem; color: var(--eia-ink-2); }

/* ==========================================================================
   Blog
   ========================================================================== */
.eia-blog { padding-top: 0; }
.eia-blog__title { margin-bottom: clamp(32px, 5vw, 56px) !important; }

.eia-cards { display: grid; gap: 16px; }
.eia-card {
	padding: 8px;
	border-radius: var(--eia-r-lg);
	background: var(--eia-card);
	transition: transform .6s var(--eia-ease-out), box-shadow .6s var(--eia-ease-out);
}
.eia-card:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -30px rgba(11, 16, 32, .35); }
.eia .eia-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.eia-card__media { position: relative; aspect-ratio: 16 / 10; border-radius: 18px; overflow: hidden; }
.eia-card__media .eia-img { transition: transform 1.2s var(--eia-ease-out); }
.eia-card:hover .eia-img { transform: scale(1.06); }
.eia-card__cat {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--eia-glass-light);
	border: 1px solid var(--eia-glass-light-line);
	-webkit-backdrop-filter: var(--eia-blur);
	backdrop-filter: var(--eia-blur);
	font-size: .8125rem;
	font-weight: 500;
	color: var(--eia-ink);
}
.eia-card__text { padding: 18px 14px 16px; }
.eia .eia-card__title { font-size: 1.25rem; font-weight: 600; line-height: 1.3; letter-spacing: -.015em; }

/* ==========================================================================
   Preguntas frecuentes
   ========================================================================== */
.eia-faq-section { padding-top: 0; }
.eia-faq-grid { display: grid; gap: 40px; }

.eia-faq { display: grid; gap: 10px; }
.eia-faq__item { border-radius: 20px; background: var(--eia-card); transition: box-shadow .3s ease; }
.eia-faq__item[open] { box-shadow: 0 20px 40px -30px rgba(11, 16, 32, .35); }
.eia-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 22px 22px 26px;
	font-size: clamp(1.0625rem, .4vw + 1rem, 1.25rem);
	font-weight: 600;
	letter-spacing: -.01em;
	line-height: 1.35;
	cursor: pointer;
	list-style: none;
}
.eia-faq__q::-webkit-details-marker { display: none; }
.eia-faq__plus {
	position: relative;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--eia-paper);
	transition: background-color .3s ease, transform .5s var(--eia-ease-out);
}
.eia-faq__plus::before,
.eia-faq__plus::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 1.75px;
	border-radius: 2px;
	background: var(--eia-ink);
	transform: translate(-50%, -50%);
	transition: background-color .3s ease;
}
.eia-faq__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.eia-faq__item[open] .eia-faq__plus { background: var(--eia-blue); transform: rotate(135deg); }
.eia-faq__item[open] .eia-faq__plus::before,
.eia-faq__item[open] .eia-faq__plus::after { background: #fff; }
.eia-faq__a { padding: 0 26px 24px; }
.eia-faq__a p { max-width: 60ch; font-size: 1rem; line-height: 1.6; color: var(--eia-ink-2); }
.eia-faq__item[open] .eia-faq__a p { animation: eia-fade .6s var(--eia-ease-out) both; }

/* ==========================================================================
   Llamado intermedio
   ========================================================================== */
.eia-cta-mid__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	gap: 28px;
	padding: clamp(32px, 5vw, 64px);
	border-radius: var(--eia-r-xl);
	background: var(--eia-card);
}
.eia-cta-mid .eia-blob { width: clamp(220px, 28vw, 380px); opacity: .22; }
.eia-cta-mid .eia-blob--blue { top: -40%; right: -8%; }
.eia-cta-mid .eia-blob--cyan { bottom: -50%; right: 25%; }
.eia .eia-cta-mid__title {
	font-family: var(--eia-font);
	max-width: 16ch;
	font-size: clamp(2rem, 2.8vw + 1rem, 3.5rem);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -.04em;
	text-wrap: balance;
}
.eia-cta-mid__side { display: grid; gap: 24px; justify-items: start; align-content: end; }
.eia-cta-mid__text { max-width: 40ch; font-size: 1.0625rem; line-height: 1.55; color: var(--eia-ink-2); }

/* ==========================================================================
   Llamado final
   ========================================================================== */
.eia-cta { padding: 0 10px 10px; }
.eia-cta__card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(72px, 11vw, 160px) var(--eia-gutter);
	border-radius: var(--eia-r-xl);
	background: linear-gradient(135deg, #0038b0 0%, #0056ef 45%, #3a2fd6 100%);
	color: #fff;
	text-align: center;
}
.eia-cta .eia-blob--cyan { top: -30%; left: -10%; opacity: .5; }
.eia-cta .eia-blob--violet { bottom: -40%; right: -10%; opacity: .6; }
.eia-cta__content { max-width: 880px; margin-inline: auto; }
.eia .eia-cta__title {
	font-size: clamp(2.5rem, 5.5vw + 1rem, 6rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.045em;
}
.eia-cta .eia-lead { margin-inline: auto; color: #e3eaff; }
.eia-cta .eia-actions { justify-content: center; }

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (min-width: 768px) {
	:root { --eia-gutter: 36px; }

	.eia-hero,
	.eia-page-hero,
	.eia-photo-quote,
	.eia-cta { padding-inline: 14px; }
	.eia-hero { padding-top: 14px; }
	.eia-hero__card { min-height: calc(100svh - 28px); }
	.eia-hero__content { padding: 140px clamp(44px, 6vw, 96px) 88px; }
	.eia-video-toggle { top: 110px; bottom: auto; right: 28px; }




	.eia-cards { grid-template-columns: repeat(3, 1fr); gap: 20px; }

	.eia-cta-mid__card { grid-template-columns: 1.2fr 1fr; align-items: end; gap: 48px; }
}

/* ==========================================================================
   Escritorio
   ========================================================================== */
@media (min-width: 1024px) {
	.eia-statement__row { grid-template-columns: 1fr auto; align-items: end; }

	.eia-gallery { overflow: hidden; scroll-snap-type: none; }
	.eia-gallery__track { gap: 20px; padding-inline: max(var(--eia-gutter), calc((100vw - var(--eia-wrap)) / 2)); }
	.eia-gallery__item { width: clamp(300px, 26vw, 420px); }

	.eia-faq-grid { grid-template-columns: 5fr 7fr; gap: 80px; align-items: start; }
	.eia-faq-grid > :first-child { position: sticky; top: 140px; }
}

/* Escritorio con mouse: la imagen del servicio sigue al cursor */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
	.eia-service {
		grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) auto;
		align-items: center;
		padding: 34px 0;
	}
	.eia .eia-service__title { grid-column: 1; }
	.eia-service__text { grid-column: 2; grid-row: 1; }
	.eia .eia-service__more { grid-column: 3; grid-row: 1; }
	.eia-service:hover .eia-service__title { transform: translateX(12px); color: #fff; }

	.eia-service__media {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 3;
		width: 300px;
		margin: 0;
		aspect-ratio: 4 / 3;
		pointer-events: none;
		opacity: 0;
		transform: translate3d(calc(var(--x, 0px) - 50%), calc(var(--y, 0px) - 50%), 0) scale(.6) rotate(-6deg);
		transition: opacity .35s ease, transform .5s var(--eia-ease-out);
		box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6);
	}
	.eia-service:hover .eia-service__media {
		opacity: 1;
		transform: translate3d(calc(var(--x, 0px) - 50%), calc(var(--y, 0px) - 50%), 0) scale(1) rotate(-3deg);
	}
	.eia-service__media .eia-slot__label { font-size: .8125rem; }
}

/* ==========================================================================
   Accesibilidad
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.eia *,
	.eia *::before,
	.eia *::after {
		animation: none !important;
		transition-duration: .01ms !important;
		transition-delay: 0s !important;
	}
	.eia-marquee__mask { flex-wrap: wrap; -webkit-mask-image: none; mask-image: none; }
	.eia-marquee__track[aria-hidden="true"] { display: none; }
	.eia-marquee__track { flex-wrap: wrap; gap: 12px 32px; }
	.eia-gallery__track { transform: none; }
}

@media (prefers-reduced-transparency: reduce) {
	:root {
		--eia-glass-dark: rgba(18, 28, 68, .96);
		--eia-glass-light: rgba(255, 255, 255, .98);
	}
}

@media (prefers-contrast: more) {
	:root {
		--eia-ink-2: #2f3547;
		--eia-on-night-2: #d5dbf0;
		--eia-ink-faint: var(--eia-ink);
	}
}
