/*
 * CSS compartido de /consultor-seo/ (page-id-35) y /agencia-de-
 * posicionamiento-web/ (page-id-37) — rediseño visual 2026-10-26, pedido
 * explícito: "homologa... donde corresponda, sin duplicar". Ambas páginas
 * comparten exactamente los mismos componentes de "Diseño ilustrado"
 * (ilustrado-proceso.php, ilustrado-tarjetas.php, ilustrado-prosa.php), así
 * que las reglas de acá van sin prefijo de página cuando aplican a ambas
 * por igual, y con `.page-id-35`/`.page-id-37` solo cuando una sola página
 * necesita un ajuste que la otra no — mismo criterio que
 * agencia-seo-mexico.css (ver su docblock).
 *
 * Esta hoja NO toca ilustrado.css (compartido con /agencia-seo-mexico/,
 * que ya tiene su propia hoja de ajustes) ni agencia-seo-mexico.css.
 */

/* === "QUÉ HACE UN CONSULTOR SEO" (/consultor-seo/) =====================
 * Pedido explícito: quitar SOLO los hexágonos de color sueltos alrededor
 * de la foto (adorno sin función) — la foto de la abeja (recorte real del
 * archivo, nunca tocado por CSS) se queda exactamente igual. Mismo
 * criterio que .page-id-33 .ilustrado-prosa-con-imagen__celdas en
 * agencia-seo-mexico.css: se ocultan por CSS en vez de quitarse del PHP,
 * porque ilustrado-prosa.php es un componente compartido (también lo usa
 * /agencia-de-posicionamiento-web/, que conserva sus celdas tal cual al no
 * llevar el selector .page-id-35 aquí). */
/* Equivalente directo en /agencia-de-posicionamiento-web/ ("Qué es el
 * posicionamiento web" usa el mismo componente ilustrado-prosa-con-
 * imagen con las mismas celdas sueltas) — ronda de homologación
 * (sección 6 del pedido): mismo arreglo ya aplicado dos veces (page-id-33
 * en agencia-seo-mexico.css, page-id-35 abajo), no una invención nueva. */
.page-id-35 .ilustrado-prosa-con-imagen__celdas,
.page-id-37 .ilustrado-prosa-con-imagen__celdas {
	display: none;
}

/* === "PROCESO DE UN CONSULTOR SEO" (/consultor-seo/) Y "PROCESO DE
 * POSICIONAMIENTO" (/agencia-de-posicionamiento-web/) ====================
 * Las dos páginas renderizan el MISMO componente compartido
 * (.ilustrado-proceso__caja, ver ilustrado-proceso.php rama no-acordeón),
 * así que esta regla va sin prefijo de página — homologa ambas a la vez
 * en vez de duplicar la misma regla dos veces (pedido explícito de la
 * ronda: "homologa... sin duplicar"). Reutiliza el lenguaje visual ya
 * aprobado de "Cómo empezamos" (Home): borde sutil + sombra suave en
 * reposo, borde con tinte ámbar + sombra más marcada + ligera elevación
 * al hover/focus — pero en superficie clara (la caja ya es crema sobre
 * la franja blanca de la sección), nunca el fondo carbón oscuro de
 * Home (ese fondo solo tiene sentido ahí por el degradado oscuro de esa
 * sección, no aplica aquí). Transición corta, sin scroll-jump: solo
 * border-color/box-shadow/transform, nunca alto ni posición del layout. */
.ilustrado-proceso__caja {
	border: 1px solid rgba(20, 20, 20, 0.06);
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03), 0 8px 20px rgba(20, 20, 20, 0.05);
	transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
	.ilustrado-proceso__paso:hover .ilustrado-proceso__caja {
		border-color: rgba(242, 169, 0, 0.3);
		box-shadow: 0 16px 32px rgba(20, 20, 20, 0.09);
		transform: translateY(-3px);
	}
}

.ilustrado-proceso__paso:focus-within .ilustrado-proceso__caja {
	border-color: rgba(242, 169, 0, 0.3);
	box-shadow: 0 16px 32px rgba(20, 20, 20, 0.09);
}

/* === "FORMATOS DE TRABAJO" (/consultor-seo/) Y SU EQUIVALENTE DE
 * PAQUETES (/agencia-de-posicionamiento-web/) ===========================
 * Mismo componente compartido (.ilustrado-tarjeta, también usado por
 * "Paquetes de SEO México" en agencia-seo-mexico.css) — incluso el mismo
 * tratamiento de borde/sombra/hover que ya se usó ahí, para no inventar
 * un lenguaje visual nuevo. Sin prefijo de página: homologa las dos
 * páginas de esta hoja a la vez. La negrita selectiva de "Útil si..." en
 * cada tarjeta se agregó al post_content (mismo texto, sin palabra
 * nueva), este bloque solo le da contraste de color, igual que el resto
 * de negritas aprobadas del sitio. */
.ilustrado-tarjeta {
	border: 1px solid rgba(20, 20, 20, 0.06);
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03), 0 10px 24px rgba(20, 20, 20, 0.06);
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
	.ilustrado-tarjeta:hover {
		border-color: rgba(242, 169, 0, 0.3);
		box-shadow: 0 20px 40px rgba(20, 20, 20, 0.1);
		transform: translateY(-4px);
	}
}

.ilustrado-tarjeta:focus-within {
	border-color: rgba(242, 169, 0, 0.3);
	box-shadow: 0 20px 40px rgba(20, 20, 20, 0.1);
}

.ilustrado-tarjeta strong {
	color: var(--color-miel-oscura);
}


/* =========================================================================
 * RONDA 2026-12-01 — "Finalización premium de /consultor-seo/", pedido
 * explícito: adoptar el lenguaje visual de /agencia-seo-mexico/ (tarjetas,
 * tipografía, espaciado, ámbar de marca) en las 4 secciones de abajo.
 * Acotado EXCLUSIVAMENTE a .page-id-35 — /agencia-de-posicionamiento-web/
 * (.page-id-37) no se toca en ninguna regla de este bloque, aunque
 * comparta los mismos componentes PHP.
 * ========================================================================= */

/* === 1. "QUÉ HACE UN CONSULTOR SEO" — composición editorial 55/45 =======
 * Antes: grid-template-columns 1fr 1.05fr (≈49/51) con align-items:center
 * — medido con getBoundingClientRect, el centro de la imagen SÍ coincidía
 * con el centro del bloque de texto completo, pero la caja cuadrada de
 * 460px (reservada para la imagen hexagonal 1:1) es mucho más baja que la
 * columna de 3 párrafos: el resultado es una imagen que parece "flotar"
 * junto al encabezado (su borde superior quedaba incluso antes de que
 * terminara el <h2>) y deja un tramo final de texto sin nada al lado —
 * de ahí la sensación de desalineación pese a que el centro matemático
 * era correcto. Se cambia a 55/45 real (1.2fr/1fr) y align-items:stretch:
 * la columna de imagen ahora mide el mismo alto que la de texto, así que
 * la fotografía puede acompañar al bloque completo de párrafos, no solo
 * al encabezado. */
/* BUG REAL encontrado en esta ronda, confirmado con getBoundingClientRect
 * en 375px: estas reglas no tenían media query, así que pisaban el
 * colapso a 1 columna (grid-template-columns:1fr) que ya pone
 * ilustrado.css a ≤782px — el resultado era una columna de imagen de
 * 134px de ancho por 1620px de alto (estirada al alto de TODO el bloque
 * de texto en una sola columna angosta). Se acota a escritorio/tablet
 * ancho (≥783px, mismo breakpoint que ilustrado.css) para no tocar el
 * comportamiento de 1 columna en móvil. */
/* RONDA 2026-12-02, pedido explícito: "reduce el tamaño de la imagen... no
 * debe competir tanto con el texto... proporciones más elegantes". La
 * vuelta anterior estiraba la foto a los 638px completos de la columna de
 * texto (align-items:stretch + height:100%) — eso la convertía en un
 * bloque tan grande como el texto mismo, compitiendo con él en vez de
 * acompañarlo. Ahora: columna de texto más ancha (62/38 en vez de 55/45),
 * la foto deja de estirarse y pasa a ser un recuadro contenido
 * (max-width:340px) alineado arriba con el bloque de texto completo
 * (align-self/align-items:start, no "flotando" centrada ni ocupando todo
 * el alto) — composición editorial de "columna de texto + retrato
 * pequeño", no "dos bloques del mismo tamaño". */
/* RONDA 2026-12-02 (4ª vuelta), pedido explícito: "se ve un poco más
 * pequeña... no debe dominar ni quedar flotando". 1.8fr/1fr (≈64/36, antes
 * 62/38) y el retrato baja de 340px a 280px de ancho real — sigue siendo
 * la misma fotografía, mismo recorte 4/5 casi sin crop, solo más discreta
 * frente al texto. */
@media (min-width: 783px) {
	.page-id-35 .ilustrado-prosa-con-imagen {
		grid-template-columns: 1.8fr 1fr;
		align-items: start;
		gap: var(--espacio-4);
	}
}

/* Ancho de lectura cómodo: a 62% de un contenedor de 1200px la columna de
 * texto mide ~670px — por encima del ancho de lectura ya aprobado en el
 * resto de la página (--ilustrado-ancho-lectura: 960px no aplica aquí
 * porque esta columna es más angosta que eso, así que en la práctica no
 * hacía falta toparla; se deja constancia de que se revisó). */
.page-id-35 .ilustrado-prosa-con-imagen__texto .ilustrado-prosa p {
	line-height: 1.65;
	margin-bottom: var(--espacio-3);
}

.page-id-35 .ilustrado-prosa-con-imagen__texto .ilustrado-prosa p:last-child {
	margin-bottom: 0;
}

/* La caja de la foto (ilustrado-imagen-hexagono.php, compartida con
 * "Precios" vía .ilustrado-hexagono-imagen__caja) se libera de su
 * aspect-ratio:1/1 + max-width:460px fijos SOLO dentro del wrapper
 * exclusivo de esta sección (.ilustrado-prosa-con-imagen__imagen, nunca
 * usado por Precios — ver ilustrado-precios.php, que usa
 * .ilustrado-precios__imagen). aspect-ratio:4/5 (0.8) es casi idéntico a
 * la relación real del archivo (459×574 = 0.7997, confirmado con
 * naturalWidth/naturalHeight en vivo) — el recorte de object-fit:cover es
 * prácticamente nulo, la fotografía aprobada se ve completa, nunca se
 * reemplaza ni se recorta el archivo. Sombra sutil + borde fino, mismo
 * lenguaje de tarjeta que el resto de la página (nunca a sangre, como
 * foto suelta). */
/* RONDA 2026-10-26 (ajustes finales), pedido explícito: "la imagen está
 * demasiado arriba respecto al contenido... aumenta moderadamente su
 * tamaño... alineación equilibrada considerando la altura total del
 * contenido, no solo el título". Confirmado con getBoundingClientRect en
 * vivo: con align-self:start puro el borde superior de la foto queda a la
 * misma altura que el <h2>, pero la caja (280px de ancho → 350px de alto)
 * termina muy por encima de donde acaba el bloque de texto (que mide
 * ~505px con los 3 párrafos) — de ahí la sensación de "imagen pegada
 * arriba". Sube a 330px de ancho (siguen siendo los mismos 4/5 del
 * archivo real, cero recorte nuevo) y baja con un margin-top que la centra
 * frente al alto TOTAL del texto en vez de solo frente al título. */
@media (min-width: 783px) {
	.page-id-35 .ilustrado-prosa-con-imagen__imagen {
		align-self: start;
		margin-top: var(--espacio-4);
	}

	.page-id-35 .ilustrado-prosa-con-imagen__imagen .ilustrado-hexagono-imagen {
		max-width: 330px;
		width: 100%;
		margin-inline: auto 0;
		height: auto;
	}

	.page-id-35 .ilustrado-prosa-con-imagen__imagen .ilustrado-hexagono-imagen__caja {
		aspect-ratio: 4 / 5;
		height: auto;
		border-radius: var(--radio-tarjeta);
		overflow: hidden;
		border: 1px solid rgba(20, 20, 20, 0.06);
		box-shadow: 0 10px 24px rgba(20, 20, 20, 0.08);
	}

	.page-id-35 .ilustrado-prosa-con-imagen__imagen .ilustrado-hexagono-imagen__foto {
		object-fit: cover;
		object-position: center;
	}
}

/* Móvil: "coloca primero el texto y después la fotografía" (pedido
 * explícito) — BUG REAL encontrado en esta ronda: ilustrado.css pone
 * `order:-1` en .ilustrado-prosa-con-imagen__imagen a ≤782px para TODAS
 * las páginas que usan este wrapper (pensado para Precios, donde la
 * imagen sí debe ir primero) — en /consultor-seo/ eso hacía que la
 * fotografía apareciera ANTES que el <h2>/los párrafos en móvil, al
 * revés de lo pedido. Se anula solo aquí, sin tocar ilustrado.css (que
 * sigue sirviendo a Precios en esta misma página, fuera de alcance). */
@media (max-width: 782px) {
	.page-id-35 .ilustrado-prosa-con-imagen__imagen {
		order: 0;
	}

	.page-id-35 .ilustrado-prosa-con-imagen__imagen .ilustrado-hexagono-imagen {
		height: auto;
	}

	.page-id-35 .ilustrado-prosa-con-imagen__imagen .ilustrado-hexagono-imagen__caja {
		aspect-ratio: 4 / 3;
		height: auto;
	}
}


/* === 2. "PROCESO DE UN CONSULTOR SEO" — tarjetas flip ===================
 * Reemplaza por completo el hexágono+número+ícono+vuelo punteado (ver
 * ilustrado-proceso.php, rama $es_flip) por tarjetas blancas que voltean,
 * mismo lenguaje que "Qué incluye una agencia de servicios SEO" en
 * /agencia-seo-mexico/ pero con su propio frente/reverso (sin
 * fotografía: "sin números, hexágonos ni iconos" en el frente, pedido
 * explícito). Reutiliza el mecanismo de interacción real (clase
 * ".mosaico-flip__tarjeta", ver assets/js/main.js — querySelectorAll
 * genérico, cero líneas de JS nuevas) con sus propias clases visuales. */

/* RONDA 2026-12-02, pedido explícito: "tarjetas más chicas y más
 * refinadas... evita fondos negros al voltearse... el reverso debe verse
 * mucho más editorial". Gap más cerrado (--espacio-2 en vez de
 * --espacio-3) para una retícula más ordenada, y frente/reverso pasan a
 * compartir una sola regla base (mismo fondo blanco, mismo borde fino,
 * misma sombra sutil y misma barra ámbar superior en los dos — antes el
 * reverso era carbón sólido, "pesado" y fuera del lenguaje de tarjeta
 * blanca del resto de la página). Solo cambia lo que de verdad distingue
 * cara de cruz: justify-content y el rotateY del reverso. */
.page-id-35 .ilustrado-proceso__flip-fila {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--espacio-2);
}

.page-id-35 .ilustrado-proceso__flip-tarjeta {
	position: relative;
	/* RONDA 2026-12-02 (5ª vuelta), pedido explícito: "reduce el exceso de
	 * espacio blanco... menos sensación de caja vacía". 240px (antes
	 * 270px) — mide lo que de verdad ocupa el reverso más largo ("Plan de
	 * trabajo", 192 caracteres) a 4 columnas en escritorio; confirmado en
	 * vivo que sigue sin cortar texto en las 4 tarjetas. */
	min-height: 250px;
	border-radius: var(--radio-tarjeta);
	perspective: 1200px;
	cursor: pointer;
}

.page-id-35 .ilustrado-proceso__flip-tarjeta:focus-visible {
	outline: 2px solid var(--color-ambar);
	outline-offset: 3px;
	border-radius: var(--radio-tarjeta);
}

.page-id-35 .ilustrado-proceso__flip-interior {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
	border-radius: inherit;
	transform-style: preserve-3d;
	/* 200-350ms pedido explícito — 280ms, suave pero perceptiblemente más
	 * rápido que el giro fotográfico de 800ms de agencia-seo-mexico (ese
	 * ritmo lento tiene sentido para una fotografía grande; acá son
	 * tarjetas de texto más pequeñas, un giro largo se sentiría lento). */
	transition: transform 0.28s ease-in-out;
}

.page-id-35 .ilustrado-proceso__flip-tarjeta.is-flipped .ilustrado-proceso__flip-interior {
	transform: rotateY(180deg);
}

.sin-animacion .page-id-35 .ilustrado-proceso__flip-interior {
	transition: none;
}

.page-id-35 .ilustrado-proceso__flip-cara {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--espacio-2);
	padding: var(--espacio-3);
	background-color: var(--color-blanco);
	border: 1px solid rgba(20, 20, 20, 0.06);
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03), 0 8px 20px rgba(20, 20, 20, 0.06);
	border-radius: inherit;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.page-id-35 .ilustrado-proceso__flip-cara::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background-color: var(--color-ambar);
	border-radius: var(--radio-tarjeta) var(--radio-tarjeta) 0 0;
}

.page-id-35 .ilustrado-proceso__flip-cara--frente {
	justify-content: space-between;
}

/* RONDA 2026-10-26 (ajustes finales), pedido explícito: "mejora la
 * jerarquía tipográfica dentro de las tarjetas, los textos se perciben
 * demasiado planos". Antes el título del frente (1.125rem) y el título del
 * reverso (0.9375rem) medían casi lo mismo que su propio párrafo —
 * confirmado en vivo, nada distinguía visualmente "título" de "cuerpo" más
 * allá del color. El frente sube a 1.25rem + letter-spacing negativo (más
 * "titular"); el reverso (abajo) pasa a funcionar como etiqueta/eyebrow
 * (mayúsculas, tracking abierto, más chico que su párrafo) para que el
 * contraste de tamaño quede entre el rótulo y el texto, no entre dos
 * líneas casi iguales. */
.page-id-35 .ilustrado-proceso__flip-cara--frente h3 {
	display: inline-block;
	margin: 0;
	padding-bottom: var(--espacio-1);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--color-carbon);
	border-bottom: 2px solid rgba(242, 169, 0, 0.3);
}

/* Indicador minimalista de que la tarjeta voltea — texto, no ícono
 * nuevo (pedido explícito, ronda anterior: "sin números, hexágonos ni
 * iconos"). Mismo glyph "\2192" que ya usa el enlace de cierre de "Qué
 * incluye" en /agencia-seo-mexico/ (ver mosaico-flip + .ilustrado-destacado
 * + .ilustrado-prosa a::after). */
.page-id-35 .ilustrado-proceso__flip-indicador {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--color-miel-oscura);
}

.page-id-35 .ilustrado-proceso__flip-indicador::after {
	content: " \2192";
}

.page-id-35 .ilustrado-proceso__flip-cara--reverso {
	justify-content: flex-start;
	transform: rotateY(180deg);
}

.page-id-35 .ilustrado-proceso__flip-cara--reverso h3 {
	margin: 0;
	padding-bottom: var(--espacio-1);
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-ambar);
	border-bottom: 1px solid rgba(242, 169, 0, 0.25);
}

.page-id-35 .ilustrado-proceso__flip-cara--reverso p {
	margin: 0;
	max-width: none;
	font-size: 0.9375rem;
	line-height: 1.65;
	text-align: left;
	color: var(--color-carbon);
}

/* "Negritas en amarillo corporativo APIS para destacar conceptos... solo
 * cuando aporten valor" (pedido explícito) — mismo tono miel oscura que ya
 * usa el resto del sitio para negritas sobre fondo blanco/claro
 * (.ilustrado-tarjeta strong, variables.css): el ámbar puro (#F2A900) no
 * pasa contraste de texto en blanco, miel oscura (#8A5F00) es la misma
 * familia de color ya aprobada para este uso exacto. Frase añadida al
 * post_content de cada paso (sin palabra nueva en el contenido SEO), una
 * sola por tarjeta para no saturar. */
.page-id-35 .ilustrado-proceso__flip-cara--reverso strong {
	font-weight: 700;
	color: var(--color-miel-oscura);
}

@media (max-width: 900px) {
	.page-id-35 .ilustrado-proceso__flip-fila {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 560px) {
	.page-id-35 .ilustrado-proceso__flip-fila {
		grid-template-columns: 1fr;
	}
}


/* === 3. "FORMATOS DE TRABAJO CON UN CONSULTOR SEO" — tarjetas blancas ===
 * Quita el hexágono carbón + ícono interior y las rayas decorativas,
 * mismo criterio ya usado para ocultar estos dos elementos en "Paquetes
 * de SEO México" (ver agencia-seo-mexico.css) — componente compartido
 * (ilustrado-tarjeta.php), se oculta por CSS en vez de tocar el PHP para
 * no afectar a /agencia-de-posicionamiento-web/, que conserva su hexágono
 * tal cual al no llevar el selector .page-id-35. El borde/sombra/hover ya
 * los da la regla sin prefijo de arriba (homologada con Agencia SEO
 * México desde la ronda 2026-10-26); aquí solo se ajustan el padding (ya
 * no hay hexágono que reservar arriba), el color del título y el ritmo
 * título→descripción. */
.page-id-35 .ilustrado-tarjeta__hex,
.page-id-35 .ilustrado-tarjeta__rayas {
	display: none;
}

.page-id-35 .ilustrado-tarjeta {
	position: relative;
	padding: var(--espacio-4) var(--espacio-3) var(--espacio-3);
	overflow: hidden;
}

.page-id-35 .ilustrado-tarjeta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background-color: var(--color-ambar);
}

.page-id-35 .ilustrado-tarjeta h3 {
	min-height: 0;
	font-size: 1.375rem;
	font-weight: 700;
	margin-bottom: var(--espacio-2);
	color: var(--color-ambar);
}

.page-id-35 .ilustrado-tarjeta p {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--color-carbon);
}


/* === 4. "CUÁNDO CONVIENE UN CONSULTOR Y CUÁNDO UNA AGENCIA" =============
 * RONDA 2026-10-26 (rediseño premium de la comparativa), pedido explícito:
 * "la implementación actual... parece formada por dos bloques de texto
 * independientes... construye una única tabla comparativa integrada, no
 * dos tarjetas separadas... 3 columnas: criterio / Consultor SEO / Agencia
 * SEO... los criterios deben compararse fila por fila". Reemplaza por
 * completo el diseño de 2 columnas sueltas de la ronda anterior (esa
 * versión usaba `.ilustrado-tabla`, ver historial de este archivo) — ahora
 * /consultor-seo/ renderiza el "modo filas" nuevo de
 * ilustrado-comparativo.php (`.ilustrado-comparativa`, un <table> real:
 * ver docblock de ese archivo para por qué se usa <table> en vez de un
 * <div> disfrazado — accesibilidad de datos tabulares reales). El CSS de
 * `.ilustrado-tabla` (modo "tarjetas", legado) se deja tal cual donde
 * vivía antes de este bloque — sigue siendo el fallback del detector
 * genérico de otras páginas, aunque ninguna lo use hoy; no se duplica
 * aquí porque esta página ya no lo usa. */
.page-id-35 .ilustrado-comparativa {
	--ilustrado-comparativa-borde: rgba(20, 20, 20, 0.08);
	background-color: var(--color-blanco);
	border: 1px solid var(--ilustrado-comparativa-borde);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.03), 0 10px 24px rgba(20, 20, 20, 0.05);
	overflow: hidden;
}

.page-id-35 .ilustrado-comparativa__tabla {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.page-id-35 .ilustrado-comparativa__tabla col,
.page-id-35 .ilustrado-comparativa__th-criterio {
	width: 24%;
}

/* "Línea superior amarilla muy fina en el encabezado, sin convertirla en
 * un elemento dominante" (pedido explícito) — 2px, no 3-4px como el resto
 * de las tarjetas de la página (ahí la caja es más grande, aquí el
 * encabezado es una franja más chica y pide un trazo más discreto). */
.page-id-35 .ilustrado-comparativa__tabla thead tr {
	box-shadow: inset 0 2px 0 0 var(--color-ambar);
}

.page-id-35 .ilustrado-comparativa__tabla th,
.page-id-35 .ilustrado-comparativa__tabla td {
	width: 38%;
	padding: var(--espacio-3) var(--espacio-4);
	text-align: left;
	vertical-align: top;
}

.page-id-35 .ilustrado-comparativa__th-criterio {
	width: 24%;
}

/* "Diferencia ligeramente los fondos de los encabezados respecto a las
 * filas" — tinte crema cálido extremadamente sutil, nunca ámbar fuerte ni
 * carbón. */
.page-id-35 .ilustrado-comparativa__tabla thead th {
	background-color: color-mix(in srgb, var(--color-ambar) 5%, var(--color-blanco));
	padding-top: var(--espacio-3);
	padding-bottom: var(--espacio-3);
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--color-carbon);
	border-bottom: 1px solid var(--ilustrado-comparativa-borde);
}

.page-id-35 .ilustrado-comparativa__tabla thead th.ilustrado-comparativa__th-criterio {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-miel-oscura);
}

.page-id-35 .ilustrado-comparativa__oculto-visual {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Criterio (primera columna): semibold, discreto, no compite con los 2
 * encabezados principales — es una etiqueta de fila, no un tercer título. */
.page-id-35 .ilustrado-comparativa__tabla tbody th {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-carbon);
	background-color: var(--color-blanco);
}

/* RONDA 2026-10-26 (jerarquía tipográfica de la tabla), pedido explícito:
 * "evita que todas las celdas tengan el mismo peso visual... cada celda
 * debe comunicar una idea principal destacada y una explicación
 * secundaria". El contenido de cada celda ahora trae 2 niveles (ver el
 * post_content de esta ronda): un <strong> de "concepto" corto al
 * principio (p. ej. "Dirección Experta.") y el resto de la frase como
 * descripción. La descripción pasa a ser más ligera (400, un poco más
 * chica y un tono menos saturado que el concepto) para que el contraste
 * de peso quede claro — antes ambos niveles compartían el mismo
 * font-size/weight, "texto uniforme" (pedido explícito a evitar). */
.page-id-35 .ilustrado-comparativa__tabla tbody td {
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.55;
	color: rgba(20, 20, 20, 0.78);
}

/* "Separadores horizontales finos en gris cálido... divisiones verticales
 * mínimas o inexistentes" (pedido explícito) — sin línea vertical entre
 * columnas, cada fila se separa de la siguiente con un filete horizontal
 * apenas visible. */
.page-id-35 .ilustrado-comparativa__tabla tbody tr + tr th,
.page-id-35 .ilustrado-comparativa__tabla tbody tr + tr td {
	border-top: 1px solid rgba(20, 20, 20, 0.06);
}

/* Concepto destacado de cada celda — "títulos breves en semibold o bold...
 * espacio consistente entre el concepto destacado y su explicación"
 * (pedido explícito). display:block lo separa en su propia línea (el
 * "arriba" del concepto / "abajo" de la descripción, sin inventar un <h4>
 * nuevo que alteraría la jerarquía de encabezados de la página).
 *
 * RONDA 2026-10-26 (corrección de énfasis), pedido explícito: la ronda
 * anterior resolvía el contraste con un resaltado ámbar detrás del texto
 * (`background-image` + texto carbón) — el dueño del proyecto lo vio como
 * "subrayado decorativo", no como el concepto en amarillo que pidió.
 * Se quita ese fondo/línea por completo y el color pasa directo al texto:
 * `var(--color-miel-oscura)` (#8A5F00) es el MISMO tono "amarillo/dorado
 * corporativo" que ya usa el resto del sitio para texto en negrita sobre
 * blanco (.ilustrado-tarjeta strong, .ilustrado-proceso__flip-cara
 * strong, variables.css) — el ámbar puro de marca (#F2A900, var(
 * --color-ambar)) no pasa contraste de texto sobre blanco (~2:1, bajo el
 * mínimo WCAG de 4.5:1 para texto de este tamaño), así que esta es la
 * variante "con suficiente contraste" del mismo amarillo corporativo, no
 * un color distinto ni un amarillo pálido. */
.page-id-35 .ilustrado-comparativa__tabla tbody td strong {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-bottom: var(--espacio-1);
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--color-miel-oscura);
	text-decoration: none;
	background: none;
	border-bottom: none;
}

.page-id-35 .ilustrado-comparativa__tabla tbody td a {
	font-weight: 600;
	color: var(--color-miel-oscura);
}

/* === Cierre editorial integrado ==========================================
 * "Debe parecer una conclusión editorial de la comparativa, no una tercera
 * tarjeta" (pedido explícito) — fondo crema muy tenue, línea ámbar
 * vertical discreta, texto alineado a la izquierda (no centrado como la
 * ronda anterior), altura reducida. */
.page-id-35 .ilustrado-comparativa__cierre {
	padding: var(--espacio-3) var(--espacio-4);
	border-left: 3px solid var(--color-ambar);
	background-color: color-mix(in srgb, var(--color-ambar) 4%, var(--color-blanco));
	border-top: 1px solid var(--ilustrado-comparativa-borde);
}

.page-id-35 .ilustrado-comparativa__cierre .ilustrado-prosa p {
	margin: 0;
	max-width: none;
	font-size: 0.9375rem;
	text-align: left;
	line-height: 1.6;
	color: var(--color-carbon);
}

.page-id-35 .ilustrado-comparativa__cierre .ilustrado-prosa strong {
	color: var(--color-miel-oscura);
}

/* Tablet: mismas 3 columnas, solo se reduce el padding para no desperdiciar
 * ancho (pedido explícito "en tablet, reducir espaciados sin perder
 * legibilidad"). Quiebre propio de esta tabla (601-900px), distinto del
 * 782px que usa el resto de la página: una tabla de 3 columnas reales
 * necesita más ancho para seguir siendo legible en 2 columnas que una
 * imagen+texto de 2 columnas — a 768px (tablet real) todavía entra bien. */
@media (max-width: 900px) and (min-width: 601px) {
	.page-id-35 .ilustrado-comparativa__tabla th,
	.page-id-35 .ilustrado-comparativa__tabla td {
		padding: var(--espacio-2) var(--espacio-3);
	}

	.page-id-35 .ilustrado-comparativa__tabla thead th {
		font-size: 1.25rem;
	}
}

/* Móvil: "convertir cada criterio en un bloque comparativo compacto que
 * muestre primero el criterio y después ambas alternativas claramente
 * identificadas. No utilizar una tabla desbordada horizontalmente ni
 * perder la correspondencia entre las opciones" (pedido explícito). Se
 * conserva el <table> en el DOM (accesibilidad: un lector de pantalla
 * sigue anunciando fila/columna) pero se fuerza a comportarse como bloques
 * apilados — técnica estándar de "tabla responsive", no JS ni markup
 * nuevo. El <thead> se oculta visualmente porque cada celda ya repite su
 * propia columna vía `data-columna` (ver ilustrado-comparativo.php).
 * Quiebre a 600px (no 782px como el resto de la página): por debajo de
 * eso, 2 columnas de texto reales ya no caben sin apretar demasiado el
 * contenido — confirmado en vivo a 768px, donde las 3 columnas con
 * padding reducido siguen leyéndose bien. */
@media (max-width: 600px) {
	.page-id-35 .ilustrado-comparativa__tabla,
	.page-id-35 .ilustrado-comparativa__tabla tbody,
	.page-id-35 .ilustrado-comparativa__tabla tr,
	.page-id-35 .ilustrado-comparativa__tabla th,
	.page-id-35 .ilustrado-comparativa__tabla td {
		display: block;
		width: auto;
	}

	.page-id-35 .ilustrado-comparativa__tabla thead {
		display: none;
	}

	.page-id-35 .ilustrado-comparativa__tabla tbody tr {
		padding: var(--espacio-3) var(--espacio-4);
	}

	.page-id-35 .ilustrado-comparativa__tabla tbody tr + tr {
		border-top: 1px solid rgba(20, 20, 20, 0.06);
	}

	.page-id-35 .ilustrado-comparativa__tabla tbody th {
		padding: 0 0 var(--espacio-2);
		font-size: 1.0625rem;
		border-top: none !important;
	}

	.page-id-35 .ilustrado-comparativa__tabla tbody td {
		padding: var(--espacio-2) 0 0;
		border-top: none !important;
	}

	/* Etiqueta de columna repetida por celda ("Consultor SEO" / "Agencia
	 * SEO"), pequeña y en ámbar — así cada alternativa queda identificada
	 * sin el encabezado de la tabla. */
	.page-id-35 .ilustrado-comparativa__tabla tbody td::before {
		content: attr(data-columna);
		display: block;
		margin-bottom: var(--espacio-1);
		font-size: 0.75rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: var(--color-ambar);
	}

	.page-id-35 .ilustrado-comparativa__cierre {
		padding: var(--espacio-3);
	}
}


/* === 5. "PRECIOS DE UN CONSULTOR SEO" — retrato estilizado =============
 * RONDA 2026-12-02, pedido explícito: "estiliza mejor la imagen... más
 * cuidada y alineada con el resto de la página". Mismo tratamiento que la
 * fotografía de "Qué hace" (sección 1 de esta hoja): recuadro contenido
 * con borde fino + sombra sutil + esquinas redondeadas, en vez de la caja
 * cuadrada a sangre sin ningún marco que usaba antes (ver
 * ilustrado-hexagono-imagen__caja en ilustrado.css, pensada solo para
 * contener la imagen, nunca para presentarla como pieza editorial). La
 * fotografía (balanza) es vertical (460×690 = 2/3 real, confirmado con
 * naturalWidth/naturalHeight en vivo) — aspect-ratio:2/3 + object-fit:cover
 * no recorta nada, solo encuadra la proporción exacta del archivo. El
 * orden en móvil (imagen antes del texto) no se toca: es el
 * comportamiento ya aprobado de ilustrado.css para esta sección
 * (.ilustrado-precios__imagen, distinto de .ilustrado-prosa-con-imagen__imagen
 * de "Qué hace", donde sí se invirtió el orden).
 *
 * RONDA 2026-10-26 (ajustes finales), pedido explícito: "ajusta tamaño,
 * posición y alineación de la última imagen... equilibrio natural entre
 * imagen, título, párrafos y espacios en blanco". Medido en vivo: con la
 * regla base (.ilustrado-precios, align-items:center en ilustrado.css,
 * sin override de página) la foto de 320px quedaba centrada frente a los
 * ~692px del bloque de texto de 3 párrafos — matemáticamente centrada,
 * pero visualmente "flotando" en medio de un texto mucho más alto. Mismo
 * criterio que la sección 1 de esta hoja: se alinea arriba
 * (align-self:start) con un margen que la acerca al primer párrafo (no al
 * encabezado) y sube de 320px a 360px de ancho para más presencia. */
@media (min-width: 783px) {
	.page-id-35 .ilustrado-precios__imagen {
		align-self: start;
		margin-top: var(--espacio-4);
	}

	.page-id-35 .ilustrado-precios__imagen .ilustrado-hexagono-imagen {
		max-width: 360px;
		width: 100%;
		margin-inline: auto 0;
		height: auto;
	}
}

.page-id-35 .ilustrado-precios__imagen .ilustrado-hexagono-imagen__caja {
	aspect-ratio: 2 / 3;
	height: auto;
	border-radius: var(--radio-tarjeta);
	overflow: hidden;
	border: 1px solid rgba(20, 20, 20, 0.06);
	box-shadow: 0 10px 24px rgba(20, 20, 20, 0.08);
}

.page-id-35 .ilustrado-precios__imagen .ilustrado-hexagono-imagen__foto {
	object-fit: cover;
	object-position: center;
}

@media (max-width: 782px) {
	.page-id-35 .ilustrado-precios__imagen .ilustrado-hexagono-imagen {
		max-width: 280px;
		margin-inline: auto;
	}
}

/* === "PROCESO DE POSICIONAMIENTO" fondo oscuro premium
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "usa las tarjetas oscuras que ya hicimos en 'Cómo
 * empezamos' del inicio... quiero que toda esa sección se vea más
 * premium". Clase .ilustrado-seccion--oscura la pone ilustrado-proceso.php
 * solo en esta página (ver $es_oscuro ahí) — mismo HTML de siempre
 * (hexágono + insignia + tarjeta), solo la variante de color. Gradiente
 * carbón idéntico a .home-proceso (Inicio), tarjeta antracita con sombra
 * marcada en vez de la caja crema — mismo lenguaje "premium" ya aprobado
 * en Home, no una paleta oscura nueva. */
.ilustrado-seccion--oscura {
	background: linear-gradient(180deg, #141414 0%, #1a1a1a 100%);
}

.ilustrado-seccion--oscura .ilustrado-patron {
	display: none;
}

.ilustrado-seccion--oscura .ilustrado-encabezado__etiqueta {
	color: var(--color-ambar);
}

.ilustrado-seccion--oscura .ilustrado-encabezado h2,
.ilustrado-seccion--oscura .ilustrado-encabezado__acento {
	color: var(--color-blanco);
}

.ilustrado-seccion--oscura .ilustrado-prosa--intro {
	color: rgba(255, 255, 255, 0.65);
}

.ilustrado-seccion--oscura .ilustrado-proceso__linea path {
	stroke: rgba(255, 255, 255, 0.25) !important;
}

.ilustrado-seccion--oscura .ilustrado-proceso__caja {
	background-color: #1f1f1f;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.ilustrado-seccion--oscura .ilustrado-proceso__caja h3,
.ilustrado-seccion--oscura .ilustrado-proceso__caja p {
	color: var(--color-blanco);
}

.ilustrado-seccion--oscura .ilustrado-proceso__caja p {
	color: rgba(255, 255, 255, 0.62);
}

.ilustrado-seccion--oscura .ilustrado-proceso__tiempo {
	color: var(--color-ambar);
}

@media (hover: hover) {
	.ilustrado-seccion--oscura .ilustrado-proceso__paso:hover .ilustrado-proceso__caja {
		background-color: #242424;
		border-color: rgba(242, 169, 0, 0.3);
		box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
		transform: translateY(-3px);
	}
}

.ilustrado-seccion--oscura .ilustrado-proceso__paso:focus-within .ilustrado-proceso__caja {
	background-color: #242424;
	border-color: rgba(242, 169, 0, 0.3);
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.28);
}

/* === "QUÉ SE ENTREGA CADA MES" — tarjetas numeradas
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "usa el diseño ya definido de las tarjetas de 'De las
 * ideas a las decisiones que hacen avanzar' de Nosotros" — ver
 * tarjetas-nosotros-proceso.php. Mismos valores que
 * .nosotros-proceso__etapa/__numero/__titulo/__descripcion en
 * nosotros.css, copiados tal cual (sin inventar valores nuevos) porque
 * esta hoja no se carga en /nosotros/ y viceversa. */
.page-id-37 .tarjetas-nosotros-proceso {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: 1fr;
	gap: var(--espacio-4);
	/* BUG REAL (ver docblock de agencia-seo-mexico.css): var(--espacio-5)
	 * nunca se definió en variables.css — ese var() inválido no aplicaba
	 * NINGÚN margen, así que el párrafo de cierre quedaba pegado a las
	 * tarjetas (pedido explícito: "el texto de abajo... estorba con el
	 * texto de arriba, se ve muy amontonado"). 64px literal, mismo
	 * criterio de corrección local que --aseo-espacio-xl. */
	margin: 64px 0;
}

.page-id-37 .tarjetas-nosotros-proceso__tarjeta {
	position: relative;
	height: 100%;
	padding: var(--espacio-4) var(--espacio-4) var(--espacio-3);
	border-radius: var(--radio-tarjeta);
	background-color: var(--color-blanco);
	border: 1px solid rgba(20, 20, 20, 0.07);
	box-shadow: 0 16px 34px rgba(20, 20, 20, 0.1);
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

@media (hover: hover) {
	.page-id-37 .tarjetas-nosotros-proceso__tarjeta:hover {
		box-shadow: 0 22px 44px rgba(20, 20, 20, 0.14);
		border-color: rgba(242, 169, 0, 0.3);
		transform: translateY(-3px);
	}

	.page-id-37 .tarjetas-nosotros-proceso__tarjeta:hover .tarjetas-nosotros-proceso__numero {
		box-shadow: 0 12px 24px rgba(242, 169, 0, 0.4);
	}
}

/* HEXAGONAL, no círculo — pedido explícito 2026-10-27: "las tarjetas
 * tienen que cambiar el círculo amarillo por el hexágono, como
 * referencia la sección de 'Cómo empezamos', en todas las páginas haz el
 * cambio". Mismo clip-path que .home-proceso__nodo/.nosotros-proceso__
 * numero (ver nosotros.css) — esta tarjeta ya copiaba esa familia visual
 * completa (ver tarjetas-nosotros-proceso.php), así que el cambio se
 * replica aquí igual. */
.page-id-37 .tarjetas-nosotros-proceso__numero {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	clip-path: polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0% 50%);
	background-color: var(--color-ambar);
	color: var(--color-carbon);
	font-family: var(--font-titulos);
	font-weight: 700;
	font-size: 1.0625rem;
	margin-bottom: var(--espacio-3);
	border: 2px solid rgba(255, 255, 255, 0.18);
	box-shadow: 0 8px 18px rgba(242, 169, 0, 0.3);
	transition: box-shadow 0.2s ease;
}

.page-id-37 .tarjetas-nosotros-proceso__titulo {
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-carbon);
	margin: 0 0 8px;
	max-width: none;
}

.page-id-37 .tarjetas-nosotros-proceso__texto {
	color: var(--color-gris-calido);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
	max-width: none;
}

@media (max-width: 860px) {
	.page-id-37 .tarjetas-nosotros-proceso {
		grid-template-columns: 1fr;
		grid-auto-rows: auto;
		gap: var(--espacio-3);
	}

	.page-id-37 .tarjetas-nosotros-proceso__tarjeta {
		height: auto;
	}
}

/* === "QUÉ ES EL POSICIONAMIENTO WEB" — zigzag editorial con fotos
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "toma como referencia" el zigzag de "Por qué elegir
 * a Apis" en /agencia-seo-mexico/ (ver $es_zigzag_posicionamiento en
 * ilustrado-prosa.php). Esa página tiene su propio CSS en
 * agencia-seo-mexico.css bajo el prefijo .page-id-33 — esta hoja no se
 * carga ahí, así que se copian los mismos valores (sin inventar
 * ninguno) bajo .page-id-37, con un solo cambio real: 64px de espacio
 * entre filas en vez de la variable --aseo-espacio-xl (propia de esa
 * otra hoja, no disponible aquí). 2 filas (2 párrafos agrupados por
 * fila, pedido explícito) en vez de 3, pero la mecánica grid/invertida
 * es idéntica. */
.page-id-37 .ilustrado-prosa-zigzag {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.page-id-37 .ilustrado-prosa-zigzag__fila {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: var(--espacio-4);
}

.page-id-37 .ilustrado-prosa-zigzag__fila--invertida .ilustrado-prosa-zigzag__texto {
	grid-column: 2;
	grid-row: 1;
}

.page-id-37 .ilustrado-prosa-zigzag__fila--invertida .ilustrado-prosa-zigzag__visual {
	grid-column: 1;
	grid-row: 1;
}

.page-id-37 .ilustrado-prosa-zigzag__texto p {
	max-width: none;
	margin: 0 0 var(--espacio-2);
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--color-carbon);
}

.page-id-37 .ilustrado-prosa-zigzag__texto p:last-child {
	margin-bottom: 0;
}

.page-id-37 .ilustrado-prosa-zigzag__texto strong {
	color: var(--color-miel-oscura);
}

.page-id-37 .ilustrado-prosa-zigzag__texto::before {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	margin-bottom: var(--espacio-2);
	background-color: var(--color-ambar);
}

/* Pedido explícito (2da vuelta): "las imágenes un poco más grandes y
 * centradas al espacio en blanco, para que aproveche el espacio" — antes
 * topaban en 380px y quedaban pegadas al lado que da hacia el texto (ver
 * /agencia-seo-mexico/, de donde se copió la 1ra vuelta); acá se agrandan
 * a 460px y se centran en su propia columna en vez de pegarse a un lado,
 * en las 2 filas por igual (ya no hace falta una regla aparte para
 * --invertida). */
.page-id-37 .ilustrado-prosa-zigzag__visual--foto {
	aspect-ratio: 4 / 3;
	width: 100%;
	max-width: 460px;
	margin-left: auto;
	margin-right: auto;
	border-radius: var(--radio-tarjeta);
	overflow: hidden;
}

.page-id-37 .ilustrado-prosa-zigzag__foto {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 760px) {
	.page-id-37 .ilustrado-prosa-zigzag__fila,
	.page-id-37 .ilustrado-prosa-zigzag__fila--invertida {
		grid-template-columns: 1fr;
	}

	.page-id-37 .ilustrado-prosa-zigzag__fila--invertida .ilustrado-prosa-zigzag__texto,
	.page-id-37 .ilustrado-prosa-zigzag__fila--invertida .ilustrado-prosa-zigzag__visual {
		grid-column: 1;
		grid-row: auto;
	}
}

/* === "QUÉ SE ENTREGA CADA MES" — párrafo de cierre, menos amontonado
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "el texto de abajo 'Como agencia de posicionamiento
 * web' estorba con el texto de arriba, se ve muy amontonado, y este
 * texto debe verse trabajado con negritas amarillas si son necesarias
 * nada más". El margin-top ya viene de .tarjetas-nosotros-proceso (64px,
 * ver arriba) — acá solo el límite de ancho de lectura (el párrafo
 * hereda ancho completo por venir después de una rejilla, ver
 * .ilustrado-prosa--completo en ilustrado.css) y el color de las
 * negritas que ya se agregaron al post_content. */
.page-id-37 .tarjetas-nosotros-proceso + .ilustrado-prosa--cierre p {
	max-width: var(--ilustrado-ancho-lectura);
}

.page-id-37 .tarjetas-nosotros-proceso + .ilustrado-prosa--cierre strong {
	color: var(--color-miel-oscura);
}

/* === "PROCESO DE POSICIONAMIENTO" — solo tarjetas, sin hexágonos
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "las tarjetas están bien pero quita los hexágonos,
 * íconos y líneas, solo deja las tarjetas estilizadas". Se ocultan por
 * CSS en vez de tocar el PHP compartido (mismo criterio que el resto de
 * esta hoja — ilustrado-proceso.php sigue sirviendo a /consultor-seo/ y
 * /agencia-seo-mexico/ sin cambios). padding-top:0 porque ese espacio
 * (150px) solo existía para reservarle sitio al hexágono — sin él, deja
 * un hueco vacío arriba de las tarjetas si no se quita también. */
.ilustrado-seccion--oscura .ilustrado-proceso__hex-envoltorio,
.ilustrado-seccion--oscura .ilustrado-proceso__linea {
	display: none;
}

.ilustrado-seccion--oscura .ilustrado-proceso {
	padding-top: 0;
}

/* === "MEDICIÓN DEL POSICIONAMIENTO" — número fantasma + regla ámbar,
 * copiado literal de "Una manera de pensar. Muchas formas de aportar."
 * en /nosotros/ (/agencia-de-posicionamiento-web/, page-id-37) ============
 * SEGUNDA vuelta (pedido explícito: "se ve muy amontonada, tarjetas más
 * minimalistas, toma como referencia 'Una manera de pensar...', me
 * refiero a la numeración, quiero que copies todo hasta la animación y
 * todo"). Reemplaza la tarjeta blanca con vivo ámbar arriba (1ra vuelta)
 * por la MISMA receta que .nosotros-filosofia__item/__numero en
 * nosotros.css — sin tarjeta sólida, regla vertical ámbar + punto, número
 * grande "fantasma" de fondo, mismo hover (elevación + tinte ámbar de
 * fondo + el número se enciende en ámbar), copiado valor por valor
 * (nosotros.css no se carga en esta página) porque el dueño del
 * proyecto pidió copiarlo literal, no solo "inspirarse". */
.page-id-37 .ilustrado-indicador {
	position: relative;
	padding: var(--espacio-3) var(--espacio-3) var(--espacio-3) var(--espacio-4);
	background-color: transparent;
	border: none;
	border-left: 2px solid rgba(242, 169, 0, 0.4);
	border-radius: 2px;
	box-shadow: none;
	overflow: visible;
	transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, background-color 0.25s ease;
}

.page-id-37 .ilustrado-indicador::before {
	content: "";
	position: absolute;
	top: -7px;
	left: -4px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: var(--color-ambar);
}

@media (hover: hover) {
	.page-id-37 .ilustrado-indicador:hover {
		border-left-color: var(--color-ambar);
		background-color: rgba(242, 169, 0, 0.035);
		transform: translateY(-4px);
		box-shadow: 0 18px 32px rgba(20, 20, 20, 0.08);
	}

	.page-id-37 .ilustrado-indicador:hover .ilustrado-indicador__numero {
		color: rgba(242, 169, 0, 0.55);
	}
}

.page-id-37 .ilustrado-indicador:focus-within {
	border-left-color: var(--color-ambar);
	background-color: rgba(242, 169, 0, 0.035);
	box-shadow: 0 18px 32px rgba(20, 20, 20, 0.08);
}

.page-id-37 .ilustrado-indicador__numero {
	display: block;
	font-family: var(--font-titulos);
	font-weight: 700;
	font-size: 3.25rem;
	letter-spacing: -0.02em;
	line-height: 1;
	color: rgba(20, 20, 20, 0.22);
	margin-bottom: var(--espacio-2);
	transition: color 0.3s ease;
}

.page-id-37 .ilustrado-indicador__texto {
	color: var(--color-gris-calido);
	font-size: 1rem;
	line-height: 1.5;
	font-weight: 400;
}

/* Nota de cierre ("Si prefieres ver el servicio completo...") — fondo
 * blanco franco en vez del ámbar suave default de ilustrado-destacado.php
 * (compartido con otras páginas, por eso el cambio va scoped acá). SEGUNDA
 * vuelta (pedido explícito: "no me gusta, se ve poco elegante, quita el
 * hexágono de la izquierda y hazlo más minimalista y acorde a la
 * página"): se quita también el hexágono+ícono (igual criterio que ya se
 * usó para "no me gusta la estela/abeja" — un elemento decorativo de
 * menos, no un reemplazo) y la línea vertical se reemplaza por un borde
 * izquierdo ámbar delgado, mismo acento ya usado en las tarjetas de
 * Medición de esta misma sección (regla vertical + nada más) — "acorde a
 * la página" en vez de inventar un acento nuevo. */
.page-id-37 .ilustrado-destacado {
	background-color: var(--color-blanco);
	border: 1px solid rgba(20, 20, 20, 0.07);
	border-left: 3px solid var(--color-ambar);
	box-shadow: 0 1px 2px rgba(20, 20, 20, 0.02), 0 8px 20px rgba(20, 20, 20, 0.04);
}

.page-id-37 .ilustrado-destacado__hex,
.page-id-37 .ilustrado-destacado__linea {
	display: none;
}

/* === "PAQUETES DE POSICIONAMIENTO WEB" — mismo estilo que "Formatos de
 * trabajo con un consultor SEO" (/agencia-de-posicionamiento-web/,
 * page-id-37) ===============================================================
 * Pedido explícito: "quita los hexágonos y deja el mismo estilo que
 * Formatos de trabajo con un consultor SEO literal". Copia exacta del
 * bloque ".page-id-35 .ilustrado-tarjeta*" de arriba (sección 3 de esta
 * hoja) — mismo componente compartido (ilustrado-tarjeta.php), se oculta
 * por CSS en vez de tocar el PHP, igual criterio. Antes esta página
 * conservaba su hexágono a propósito (ver nota en el bloque de
 * /consultor-seo/); pedido explícito de esta ronda revierte eso. */
.page-id-37 .ilustrado-tarjeta__hex,
.page-id-37 .ilustrado-tarjeta__rayas {
	display: none;
}

.page-id-37 .ilustrado-tarjeta {
	position: relative;
	padding: var(--espacio-4) var(--espacio-3) var(--espacio-3);
	overflow: hidden;
}

.page-id-37 .ilustrado-tarjeta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background-color: var(--color-ambar);
}

.page-id-37 .ilustrado-tarjeta h3 {
	min-height: 0;
	font-size: 1.375rem;
	font-weight: 700;
	margin-bottom: var(--espacio-2);
	color: var(--color-ambar);
}

.page-id-37 .ilustrado-tarjeta p {
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--color-carbon);
}

/* === "PREGUNTAS FRECUENTES" — eyebrow ámbar, no violeta
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "Preguntas frecuentes cámbialo a amarillo como en las
 * demás páginas". Esta página usa la variante visual v-b (ver
 * variante_visual en Meta Box), que pinta TODO eyebrow de
 * .encabezado-seccion__etiqueta en violeta (ver .v-b .encabezado-seccion
 * __etiqueta en components.css) — correcto para el resto de la página,
 * pero el FAQ (fuera de "Diseño ilustrado", usa section-header.php
 * normal) se ve mejor con el ámbar default del resto de landings, como
 * pidió el dueño del proyecto. Scoped a .landing-faq nada más — no toca
 * el resto de eyebrows v-b de esta página ni la regla v-b en otras. */
.page-id-37 .landing-faq .encabezado-seccion__etiqueta {
	color: var(--color-miel-oscura);
}

/* === Negritas ámbar en todo el texto libre de la página
 * (/agencia-de-posicionamiento-web/, page-id-37) ===========================
 * Pedido explícito: "quiero que el texto de toda la página tenga
 * negritas si son necesarias para que el texto no se vea plano" — las
 * negritas se agregaron al post_content (ver resumen de entrega), este
 * bloque solo les da color, mismo criterio ya usado en toda la página
 * (zigzag, tarjetas, "Qué se entrega") — nunca el negro/carbón default
 * del navegador. Fuera de .ilustrado-seccion--oscura (Proceso, fondo
 * carbón) donde el ámbar sólido ya es el acento de marca sobre fondo
 * oscuro, igual que .ilustrado-proceso__tiempo ahí. */
.page-id-37 .ilustrado-prosa strong,
.page-id-37 .ilustrado-tarjeta strong {
	color: var(--color-miel-oscura);
}

.page-id-37 .ilustrado-seccion--oscura .ilustrado-proceso__caja strong {
	color: var(--color-ambar);
}

/* === "PAQUETES DE POSICIONAMIENTO WEB" — párrafos de cierre, menos
 * amontonados (/agencia-de-posicionamiento-web/, page-id-37) ==============
 * Pedido explícito: "este texto... está mal acomodado" (los 2 párrafos +
 * botón después de las 3 tarjetas). Mismo criterio que el cierre de "Qué
 * se entrega cada mes": más margen respecto a la rejilla de arriba — acá
 * la base ya usa var(--espacio-4)=48px (no es el bug de --espacio-5),
 * pero se sentía corto contra tarjetas con vivo ámbar arriba; se sube a
 * 64px para que respire igual que el resto de cierres de esta página. */
.page-id-37 .ilustrado-tarjetas + .ilustrado-prosa--cierre {
	margin-top: 64px;
}
