/**
 * Tokens compartidos con Gutenberg. No reemplazan variables de Blocksy.
 * Montserrat debe estar disponible por la configuración existente del sitio.
 */
:root,
.editor-styles-wrapper {
	--ms-blue: #0F5996;
	--ms-gray: #4D4D4D;
	--ms-cyan: #D4F9FF;
	--ms-white: #FFFFFF;
	--ms-text: #1F2933;
	--ms-text-secondary: #66717C;
	--ms-bg-light: #F4F7F9;
	--ms-font-family: var(--wp--custom--ms--font-family, Montserrat, Arial, sans-serif);
	--ms-font-weight-body: var(--wp--custom--ms--font-weight-body, 400);
	--ms-font-weight-heading: var(--wp--custom--ms--font-weight-heading, 700);
	--ms-font-weight-subheading: var(--wp--custom--ms--font-weight-subheading, 600);
	--ms-content-max: 75rem;
	--ms-space-sm: 0.5rem;
	--ms-space-md: 1rem;
	--ms-space-lg: 1.5rem;
	--ms-space-xl: 3rem;
	--ms-radius: 0.5rem;
	--ms-shadow-subtle: 0 0.25rem 1rem rgb(31 41 51 / 6%);
	--ms-transition-duration: 160ms;
	--ms-transition-easing: ease;
}

/* Base optativa para futuros grupos de bloques con la clase ms-content. */
:where(.ms-content) {
	color: var(--ms-text);
	font-family: var(--ms-font-family);
	font-weight: var(--ms-font-weight-body);
}

:where(.ms-content h1, .ms-content h2) {
	font-family: var(--ms-font-family);
	font-weight: var(--ms-font-weight-heading);
}

:where(.ms-content h3, .ms-content h4, .ms-content h5, .ms-content h6) {
	font-family: var(--ms-font-family);
	font-weight: var(--ms-font-weight-subheading);
}

@media (prefers-reduced-motion: reduce) {
	:root,
	.editor-styles-wrapper {
		--ms-transition-duration: 0ms;
	}
}

/* HOME V1 — reglas limitadas al patrón, sin intervenir header ni footer. */
.ms-home {
	--ms-section-space: clamp(3.25rem, 5.6vw, 5.35rem);
	--ms-gutter: clamp(1.25rem, 4vw, 3rem);
	--ms-rule: #DCE3E8;
	width: 100%;
	max-width: none;
	color: var(--ms-text);
	background: var(--ms-white);
	font-family: var(--ms-font-family);
	font-weight: var(--ms-font-weight-body);
	font-size: 1rem;
	line-height: 1.75;
}

.ms-home,
.ms-home * {
	box-sizing: border-box;
}

.ms-home .wp-block-group,
.ms-home p,
.ms-home .wp-block-heading,
.ms-home .wp-block-buttons {
	margin-block: 0;
}

.ms-home .wp-block-group {
	min-width: 0;
}

.ms-home .ms-section {
	padding: var(--ms-section-space) var(--ms-gutter);
}

.ms-home .ms-container {
	width: 100%;
	max-width: var(--ms-content-max);
	margin-inline: auto;
}

.ms-home h1,
.ms-home h2,
.ms-home h3 {
	color: var(--ms-text);
	font-family: var(--ms-font-family);
	text-wrap: balance;
	overflow-wrap: break-word;
}

.ms-home h1 {
	max-width: 14ch;
	font-size: clamp(2.5rem, 4.35vw, 4.1rem);
	font-weight: var(--ms-font-weight-heading);
	line-height: 1.1;
	letter-spacing: -0.045em;
}

.ms-home h2 {
	font-size: clamp(1.9rem, 3.1vw, 2.9rem);
	font-weight: var(--ms-font-weight-heading);
	line-height: 1.18;
	letter-spacing: -0.035em;
}

.ms-home h3 {
	font-size: clamp(1.15rem, 1.7vw, 1.5rem);
	font-weight: var(--ms-font-weight-subheading);
	line-height: 1.35;
	letter-spacing: -0.02em;
}

.ms-home .ms-eyebrow {
	margin-bottom: 1.4rem;
	color: var(--ms-blue);
	font-size: 0.7rem;
	font-weight: var(--ms-font-weight-subheading);
	letter-spacing: 0.14em;
	line-height: 1.7;
}

.ms-home .ms-lead {
	margin-top: 1.5rem;
	max-width: 58ch;
	color: var(--ms-text-secondary);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
}

.ms-home .ms-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-top: 2rem;
}

.ms-home .ms-button {
	max-width: 100%;
}

.ms-home .ms-button .wp-block-button__link {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	gap: 0.8rem;
	min-height: 3.1rem;
	padding: 0.8rem 1.15rem;
	border: 1px solid var(--ms-blue);
	border-radius: 0.2rem;
	color: var(--ms-white);
	background: var(--ms-blue);
	box-shadow: none;
	font-family: inherit;
	font-size: 0.85rem;
	font-weight: var(--ms-font-weight-subheading);
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	transition: background-color var(--ms-transition-duration) var(--ms-transition-easing), color var(--ms-transition-duration) var(--ms-transition-easing);
}

.ms-home .ms-button .wp-block-button__link::after {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	flex: 0 0 0.45rem;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}

.ms-home .ms-button-secondary .wp-block-button__link {
	padding-inline: 0;
	border-color: transparent;
	border-radius: 0;
	color: var(--ms-blue);
	background: transparent;
	text-decoration: underline;
	text-underline-offset: 0.35em;
	text-decoration-thickness: 1px;
}

@media (hover: hover) {
	.ms-home .ms-button .wp-block-button__link:hover {
		color: var(--ms-blue);
		background: var(--ms-cyan);
	}

	.ms-home .ms-button-secondary .wp-block-button__link:hover {
		color: var(--ms-text);
		background: transparent;
	}
}

.ms-home a:focus-visible {
	outline: 3px solid var(--ms-blue);
	outline-offset: 5px;
}

.ms-home .ms-hero {
	padding-top: clamp(2rem, 3.8vw, 3.75rem);
}

.ms-home .ms-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	align-items: center;
	gap: clamp(2rem, 4vw, 4.5rem);
}

.ms-home .ms-media-art {
	padding: 1.5rem;
	background: var(--ms-bg-light);
	border-top: 3px solid var(--ms-blue);
	color: var(--ms-blue);
}

.ms-home .ms-art-kicker,
.ms-home .ms-art-caption {
	font-size: 0.65rem;
	font-weight: var(--ms-font-weight-subheading);
	letter-spacing: 0.08em;
}

.ms-home .ms-art-caption {
	padding-top: 1rem;
	border-top: 1px solid var(--ms-rule);
	color: var(--ms-gray);
	letter-spacing: 0;
	font-size: 0.75rem;
}

.ms-home .ms-media-diagram {
	position: relative;
	aspect-ratio: 480 / 440;
	margin-block: 1rem;
}

.ms-home .ms-media-lines,
.ms-home .ms-region-lines {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.ms-home .ms-diagram-label {
	position: absolute;
	padding: 0.25rem 0.4rem;
	color: var(--ms-blue);
	background: var(--ms-bg-light);
	font-size: clamp(0.65rem, 1vw, 0.8rem);
	font-weight: var(--ms-font-weight-subheading);
	line-height: 1.5;
}

.ms-home .ms-diagram-brand { top: 12%; left: 4%; }
.ms-home .ms-diagram-media { top: 23%; right: 0; }
.ms-home .ms-diagram-audience { bottom: 10%; right: 8%; }

.ms-home .ms-diagram-strategy {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 43%;
	aspect-ratio: 1;
	border-radius: 50%;
	color: var(--ms-cyan);
	background: var(--ms-blue);
	font-size: 0.7rem;
	text-align: center;
	transform: translate(-50%, -50%);
}

.ms-home .ms-diagram-strategy span {
	color: var(--ms-white);
	font-size: clamp(1rem, 1.6vw, 1.4rem);
	font-weight: var(--ms-font-weight-subheading);
}

.ms-home .ms-position {
	padding-block: clamp(2.75rem, 4.2vw, 4.25rem);
	border-block: 1px solid var(--ms-rule);
}

.ms-home .ms-position-grid {
	display: grid;
	grid-template-columns: minmax(10rem, 0.7fr) minmax(0, 2.3fr);
	gap: clamp(2rem, 5vw, 4.5rem);
}

.ms-home .ms-position-copy h2 {
	max-width: 27ch;
	font-size: clamp(1.85rem, 2.7vw, 2.5rem);
}

.ms-home .ms-position-copy > p {
	margin-top: 1.35rem;
	max-width: 60ch;
	color: var(--ms-text-secondary);
}

.ms-home .ms-section-intro {
	max-width: 48rem;
	margin-bottom: 2.5rem;
}

.ms-home .ms-capability-row {
	display: grid;
	grid-template-columns: 3rem minmax(0, 0.85fr) minmax(0, 1.4fr);
	align-items: baseline;
	gap: 1.5rem;
	padding-block: 1.55rem;
	border-top: 1px solid var(--ms-rule);
}

.ms-home .ms-capability-row:last-child { border-bottom: 1px solid var(--ms-rule); }
.ms-home .ms-capability-row h3 { font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
.ms-home .ms-capability-row > p:last-child { max-width: 56ch; color: var(--ms-text-secondary); }
.ms-home .ms-index { color: var(--ms-blue); font-size: 0.95rem; font-weight: var(--ms-font-weight-heading); letter-spacing: -0.02em; }

.ms-home .ms-process { background: var(--ms-bg-light); }
.ms-home .ms-process-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 3rem; }
.ms-home .ms-process-step { padding-top: 1rem; border-top: 1px solid var(--ms-rule); }
.ms-home .ms-step-number { margin-bottom: 1.5rem; color: var(--ms-blue); font-size: 2.5rem; font-weight: var(--ms-font-weight-body); line-height: 1; letter-spacing: -0.06em; }
.ms-home .ms-process-step > p:last-child { margin-top: 0.8rem; color: var(--ms-text-secondary); font-size: 0.95rem; }

.ms-home .ms-region-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.ms-home .ms-region-art { position: relative; width: min(100%, 34rem); justify-self: end; aspect-ratio: 480 / 400; color: var(--ms-blue); transform: scale(1.04); transform-origin: center; }
.ms-home .ms-region-name { position: absolute; padding: 0.35rem 0.8rem; background: var(--ms-white); color: var(--ms-blue); font-size: clamp(1.3rem, 2.5vw, 2rem); font-weight: var(--ms-font-weight-subheading); letter-spacing: -0.04em; }
.ms-home .ms-region-guatemala { top: 14%; left: 1%; }
.ms-home .ms-region-central { top: 40%; right: 0; }
.ms-home .ms-region-caribbean { top: 67%; left: 14%; }
.ms-home .ms-region-caption { position: absolute; bottom: 0; width: 100%; color: var(--ms-text-secondary); font-size: 0.7rem; text-align: center; }

.ms-home .ms-experience { background: var(--ms-cyan); }
.ms-home .ms-experience-grid { display: grid; grid-template-columns: 0.9fr 1.35fr; gap: clamp(2.5rem, 6vw, 6rem); }
.ms-home .ms-statement { color: var(--ms-text); font-size: clamp(1.2rem, 1.8vw, 1.6rem); line-height: 1.65; }
.ms-home .ms-experience-concepts { display: flex; flex-wrap: wrap; gap: 0.65rem 1.5rem; margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid var(--ms-blue); }
.ms-home .ms-experience-concepts p { color: var(--ms-blue); font-size: 0.65rem; font-weight: var(--ms-font-weight-subheading); letter-spacing: 0.05em; }

.ms-home .ms-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
.ms-home .ms-pillar { padding-top: 1.25rem; border-top: 2px solid var(--ms-blue); }
.ms-home .ms-pillar h3 { max-width: 22ch; margin-top: 1rem; }

.ms-home .ms-final-cta { background: var(--ms-blue); color: var(--ms-white); }
.ms-home .ms-cta-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: center; }
.ms-home .ms-cta-copy { max-width: 46rem; }
.ms-home .ms-final-cta h2 { max-width: 22ch; color: var(--ms-white); font-size: clamp(2rem, 3.8vw, 3.5rem); }
.ms-home .ms-final-cta .ms-eyebrow { color: var(--ms-cyan); }
.ms-home .ms-cta-copy > p:last-child { max-width: 56ch; margin-top: 1.5rem; }
.ms-home .ms-final-cta .ms-actions { margin-top: 0; }
.ms-home .ms-final-cta .wp-block-button__link { min-width: 10rem; background: var(--ms-white); color: var(--ms-blue); border-color: var(--ms-white); }
.ms-home .ms-final-cta a:focus-visible { outline-color: var(--ms-cyan); }

/* HOME V1.1 — refinamiento editorial sobre la copia ya insertada. */
.ms-home .ms-position .ms-eyebrow {
	align-self: start;
	padding-top: 0.4rem;
}

.ms-home .ms-position-copy {
	padding-left: clamp(0rem, 1.5vw, 1.5rem);
	border-left: 2px solid var(--ms-blue);
}

.ms-home .ms-capability-row {
	transition: background-color var(--ms-transition-duration) var(--ms-transition-easing), padding-inline var(--ms-transition-duration) var(--ms-transition-easing);
}

@media (hover: hover) {
	.ms-home .ms-capability-row:hover {
		padding-inline: 0.75rem;
		background: rgb(244 247 249 / 72%);
	}
}

.ms-home .ms-process-step h3,
.ms-home .ms-pillar h3 {
	font-size: clamp(1.12rem, 1.35vw, 1.35rem);
}

.ms-home .ms-region-copy .ms-lead {
	max-width: 52ch;
}

.ms-home .ms-final-cta {
	padding-block: clamp(3.75rem, 5.5vw, 5.25rem);
}

/* Dos cortes coordinados con los límites del tema padre. */
@media (max-width: 999.98px) {
	.ms-home .ms-hero-grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 1.75rem; }
	.ms-home h1 { font-size: clamp(2.25rem, 4.6vw, 3rem); }
	.ms-home .ms-media-art { padding: 1rem; }
	.ms-home .ms-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ms-home .ms-position-grid { grid-template-columns: 1fr 2fr; gap: 1.5rem; }
	.ms-home .ms-cta-grid { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 689.98px) {
	.ms-home .ms-position-copy { padding-left: 1rem; }
	.ms-home .ms-region-art { transform: none; justify-self: center; }
	.ms-home .ms-hero-grid,
	.ms-home .ms-position-grid,
	.ms-home .ms-region-grid,
	.ms-home .ms-experience-grid,
	.ms-home .ms-pillars { grid-template-columns: 1fr; }
	.ms-home h1 { max-width: 16ch; font-size: clamp(2.1rem, 8.5vw, 3rem); }
	.ms-home h2 { font-size: clamp(1.8rem, 7vw, 2.4rem); }
	.ms-home .ms-hero-grid { gap: 2.5rem; }
	.ms-home .ms-media-art { width: 100%; max-width: 28rem; margin-inline: auto; }
	.ms-home .ms-diagram-label { font-size: 0.75rem; }
	.ms-home .ms-diagram-strategy span { font-size: clamp(1rem, 4.5vw, 1.4rem); }
	.ms-home .ms-position-grid { gap: 0; }
	.ms-home .ms-actions { align-items: stretch; flex-direction: column; }
	.ms-home .ms-button .wp-block-button__link { width: 100%; }
	.ms-home .ms-section-intro { margin-bottom: 2rem; }
	.ms-home .ms-capability-row { grid-template-columns: 2rem minmax(0, 1fr); gap: 0.75rem; padding-block: 1.5rem; }
	.ms-home .ms-capability-row > p:last-child { grid-column: 2; }
	.ms-home .ms-process-grid { grid-template-columns: 1fr; gap: 1.75rem; }
	.ms-home .ms-process-step { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: 1rem; }
	.ms-home .ms-step-number { grid-row: span 2; margin-bottom: 0; font-size: 2rem; }
	.ms-home .ms-process-step > p:last-child { grid-column: 2; }
	.ms-home .ms-region-art { width: 100%; max-width: 28rem; margin-inline: auto; }
	.ms-home .ms-region-name { font-size: clamp(1.25rem, 5.5vw, 1.8rem); }
	.ms-home .ms-experience-concepts { flex-direction: column; }
	.ms-home .ms-final-cta .ms-actions { width: 100%; }
}

/* HOME V1.2 — ritmo más compacto y mayor contraste editorial. */
body.home .site-main,
body.home #main {
	padding-top: 0 !important;
}

body.home .site-main > .ct-container,
body.home .site-main > .ct-container-full,
body.home #main > .ct-container,
body.home #main > .ct-container-full {
	padding-top: 0 !important;
}

.ms-home {
	--ms-section-space: clamp(2.75rem, 4.6vw, 4.5rem);
}

.ms-home .ms-hero {
	padding-top: clamp(1.25rem, 2vw, 2rem);
	padding-bottom: clamp(3rem, 4.5vw, 4.5rem);
}

.ms-home .ms-hero-grid {
	gap: clamp(1.75rem, 3.5vw, 3.75rem);
}

.ms-home .ms-position {
	padding-block: clamp(2.35rem, 3.5vw, 3.5rem);
}

.ms-home .ms-position-copy h2 {
	font-size: clamp(2rem, 3vw, 2.8rem);
}

.ms-home .ms-position-copy {
	padding-left: clamp(1rem, 2vw, 2rem);
	border-left-width: 3px;
}

.ms-home .ms-capability-row {
	padding-block: 1.35rem;
}

.ms-home .ms-capability-row .ms-index {
	font-size: 1.15rem;
}

.ms-home .ms-capability-row h3 {
	font-size: clamp(1.55rem, 2.55vw, 2.3rem);
}

.ms-home .ms-process-grid {
	gap: 2rem 2.5rem;
}

.ms-home .ms-step-number {
	font-size: 2.8rem;
	margin-bottom: 1.1rem;
}

.ms-home .ms-region-grid {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 4vw, 4rem);
}

.ms-home .ms-region-art {
	width: min(100%, 38rem);
	transform: scale(1.08);
}

.ms-home .ms-experience-grid {
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 5vw, 5rem);
}

.ms-home .ms-experience {
	padding-block: clamp(3rem, 4.5vw, 4.5rem);
}

.ms-home .ms-final-cta {
	padding-block: clamp(3.25rem, 4.75vw, 4.5rem);
}

/* Footer corporativo propio del child theme. */

.ms-site-footer {
	background: var(--ms-text);
	color: var(--ms-white);
	font-family: var(--ms-font-family);
}

.ms-site-footer__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: clamp(2rem, 6vw, 6rem);
	width: min(calc(100% - 2.5rem), var(--ms-content-max));
	margin-inline: auto;
	padding-block: clamp(3rem, 5vw, 4.75rem) 2rem;
}

.ms-site-footer__brand {
	max-width: 34rem;
}

.ms-site-footer__name {
	margin: 0 0 0.8rem;
	color: var(--ms-white);
	font-size: clamp(1.6rem, 2.5vw, 2.35rem);
	font-weight: var(--ms-font-weight-heading);
	letter-spacing: -0.035em;
}

.ms-site-footer__descriptor {
	margin: 0;
	color: #DCE3E8;
	font-size: 0.95rem;
	line-height: 1.7;
}

.ms-site-footer__nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.7rem 2rem;
	align-content: start;
}

.ms-site-footer__nav a {
	color: var(--ms-white);
	font-size: 0.88rem;
	font-weight: var(--ms-font-weight-subheading);
	text-decoration: none;
}

.ms-site-footer__nav a:hover {
	color: var(--ms-cyan);
}

.ms-site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	width: min(calc(100% - 2.5rem), var(--ms-content-max));
	margin-inline: auto;
	padding-block: 1.25rem 1.5rem;
	border-top: 1px solid rgb(255 255 255 / 18%);
	color: #B8C2CC;
	font-size: 0.75rem;
}

@media (max-width: 689.98px) {
	.ms-home .ms-region-art { transform: none; }
	.ms-site-footer__inner { grid-template-columns: 1fr; }
	.ms-site-footer__nav { grid-template-columns: 1fr; }
	.ms-site-footer__bottom { flex-direction: column; }
}

/* ==============================================================
   HOME V1.4 — Hero visual editorial de medios
   Mantiene el contenido Gutenberg ya publicado y reutiliza sus
   elementos del visual anterior como cuatro tarjetas fotográficas.
   ============================================================== */
.ms-home .ms-media-art {
	position: relative;
	padding: 0;
	background: transparent;
	border-top: 0;
	color: var(--ms-blue);
}

.ms-home .ms-media-art > .ms-art-kicker {
	display: none;
}

.ms-home .ms-media-diagram {
	position: relative;
	width: 100%;
	min-height: clamp(31rem, 42vw, 38rem);
	aspect-ratio: 1.08 / 1;
	margin: 0;
	isolation: isolate;
}

/* Paneles celestes suaves de apoyo, sin efecto dashboard. */
.ms-home .ms-media-diagram::before,
.ms-home .ms-media-diagram::after {
	content: "";
	position: absolute;
	z-index: 0;
	background: color-mix(in srgb, var(--ms-cyan) 58%, white);
	border-radius: 1rem;
	pointer-events: none;
}

.ms-home .ms-media-diagram::before {
	top: 3%;
	right: 5%;
	width: 25%;
	height: 31%;
	opacity: 0.48;
}

.ms-home .ms-media-diagram::after {
	left: 6%;
	bottom: 9%;
	width: 28%;
	height: 30%;
	opacity: 0.42;
}

.ms-home .ms-media-lines {
	display: none !important;
}

/* Las cuatro piezas usan los elementos ya guardados en la página. */
.ms-home .ms-diagram-brand,
.ms-home .ms-diagram-media,
.ms-home .ms-diagram-strategy,
.ms-home .ms-diagram-audience {
	position: absolute;
	z-index: 2;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0.95rem;
	background-color: #eef3f6;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	box-shadow: 0 18px 42px rgb(31 41 51 / 10%);
	color: transparent;
	font-size: 0;
	line-height: 0;
	transform: none;
}

.ms-home .ms-diagram-brand {
	top: 5%;
	left: 9%;
	width: 50%;
	height: 43%;
	background-image: url('../images/hero-ooh.jpg');
	background-position: center 48%;
}

.ms-home .ms-diagram-media {
	top: 12%;
	right: 2%;
	width: 43%;
	height: 38%;
	background-image: url('../images/hero-digital.jpg');
	background-position: center;
}

.ms-home .ms-diagram-strategy {
	top: 52%;
	left: 17%;
	width: 43%;
	height: 37%;
	aspect-ratio: auto;
	background-image: url('../images/hero-atl.jpg');
	background-position: center;
}

.ms-home .ms-diagram-audience {
	right: 3%;
	bottom: 4%;
	width: 45%;
	height: 40%;
	background-image: url('../images/hero-btl.jpg');
	background-position: center;
}

.ms-home .ms-diagram-strategy span {
	display: none;
}

/* Etiquetas blancas superpuestas, deliberadamente editoriales. */
.ms-home .ms-diagram-brand::after,
.ms-home .ms-diagram-media::after,
.ms-home .ms-diagram-strategy::after,
.ms-home .ms-diagram-audience::after {
	position: absolute;
	z-index: 4;
	box-sizing: border-box;
	min-width: 9.5rem;
	padding: 1rem 1.05rem 0.9rem;
	border: 1px solid #dce5eb;
	background: rgb(255 255 255 / 96%);
	box-shadow: 0 10px 30px rgb(31 41 51 / 7%);
	color: var(--ms-blue);
	font-family: var(--ms-font-family);
	font-size: 0.98rem;
	font-weight: var(--ms-font-weight-heading);
	line-height: 1.25;
	letter-spacing: -0.02em;
	white-space: pre-line;
}

.ms-home .ms-diagram-brand::after {
	content: "OOH / DOOH\A\A GRAN ALCANCE\A EN EL MUNDO REAL";
	top: 24%;
	left: -19%;
}

.ms-home .ms-diagram-media::after {
	content: "DIGITAL\A\A AUDIENCIAS\A EN MOVIMIENTO";
	top: 28%;
	right: -22%;
}

.ms-home .ms-diagram-strategy::after {
	content: "ATL\A\A MARCAS\A EN TODAS PARTES";
	top: 18%;
	left: -23%;
}

.ms-home .ms-diagram-audience::after {
	content: "BTL\A\A EXPERIENCIAS\A QUE GENERAN\A CONEXIÓN";
	top: 26%;
	right: -21%;
}

/* Diferencia visual entre el nombre del medio y su descriptor. */
.ms-home .ms-diagram-brand::before,
.ms-home .ms-diagram-media::before,
.ms-home .ms-diagram-strategy::before,
.ms-home .ms-diagram-audience::before {
	content: "";
	position: absolute;
	z-index: 5;
	width: 1.75rem;
	height: 2px;
	background: var(--ms-blue);
	pointer-events: none;
}

.ms-home .ms-diagram-brand::before { top: calc(24% + 0.75rem); left: calc(-19% + 1.05rem); }
.ms-home .ms-diagram-media::before { top: calc(28% + 0.75rem); right: calc(-22% + 6.65rem); }
.ms-home .ms-diagram-strategy::before { top: calc(18% + 0.75rem); left: calc(-23% + 1.05rem); }
.ms-home .ms-diagram-audience::before { top: calc(26% + 0.75rem); right: calc(-21% + 6.65rem); }

.ms-home .ms-art-caption {
	position: relative;
	margin-top: 0.65rem;
	padding-top: 1.1rem;
	border-top: 1px solid #aebfca;
	color: transparent;
	font-size: 0;
}

.ms-home .ms-art-caption::before {
	content: "ESTRATEGIA  ·  MEDIOS  ·  AUDIENCIAS  ·  RESULTADOS";
	display: block;
	color: #7b8996;
	font-size: 0.62rem;
	font-weight: var(--ms-font-weight-subheading);
	letter-spacing: 0.24em;
	text-align: right;
}

@media (max-width: 999.98px) {
	.ms-home .ms-media-diagram {
		min-height: clamp(27rem, 50vw, 32rem);
	}

	.ms-home .ms-diagram-brand::after,
	.ms-home .ms-diagram-media::after,
	.ms-home .ms-diagram-strategy::after,
	.ms-home .ms-diagram-audience::after {
		min-width: 7.4rem;
		padding: 0.75rem 0.8rem;
		font-size: 0.78rem;
	}

	.ms-home .ms-diagram-brand::after { left: -10%; }
	.ms-home .ms-diagram-media::after { right: -10%; }
	.ms-home .ms-diagram-strategy::after { left: -12%; }
	.ms-home .ms-diagram-audience::after { right: -10%; }

	.ms-home .ms-diagram-brand::before,
	.ms-home .ms-diagram-media::before,
	.ms-home .ms-diagram-strategy::before,
	.ms-home .ms-diagram-audience::before {
		display: none;
	}
}

@media (max-width: 689.98px) {
	.ms-home .ms-media-art {
		max-width: 34rem;
	}

	.ms-home .ms-media-diagram {
		min-height: 36rem;
		aspect-ratio: auto;
	}

	.ms-home .ms-diagram-brand {
		top: 0;
		left: 0;
		width: 58%;
		height: 38%;
	}

	.ms-home .ms-diagram-media {
		top: 7%;
		right: 0;
		width: 48%;
		height: 35%;
	}

	.ms-home .ms-diagram-strategy {
		top: 47%;
		left: 0;
		width: 49%;
		height: 36%;
	}

	.ms-home .ms-diagram-audience {
		right: 0;
		bottom: 2%;
		width: 55%;
		height: 40%;
	}

	.ms-home .ms-diagram-brand::after,
	.ms-home .ms-diagram-media::after,
	.ms-home .ms-diagram-strategy::after,
	.ms-home .ms-diagram-audience::after {
		min-width: 0;
		padding: 0.62rem 0.7rem;
		font-size: 0.67rem;
		line-height: 1.18;
	}

	.ms-home .ms-diagram-brand::after { top: 65%; left: -2%; }
	.ms-home .ms-diagram-media::after { top: 70%; right: -2%; }
	.ms-home .ms-diagram-strategy::after { top: 64%; left: -2%; }
	.ms-home .ms-diagram-audience::after { top: 62%; right: -2%; }

	.ms-home .ms-art-caption::before {
		font-size: 0.52rem;
		letter-spacing: 0.16em;
		text-align: center;
	}
}


/* ==============================================================
   HOME V1.4.1 — ajuste de fidelidad al mockup aprobado
   Más horizontal, menor separación texto/visual y etiquetas más ligeras.
   ============================================================== */
@media (min-width: 1000px) {
	.ms-home .ms-hero-grid {
		grid-template-columns: minmax(0, 1.03fr) minmax(0, 1.12fr);
		gap: clamp(0.75rem, 1.45vw, 1.5rem);
	}

	.ms-home .ms-media-art {
		width: 104%;
		margin-left: -2%;
	}

	.ms-home .ms-media-diagram {
		min-height: clamp(26rem, 32vw, 31rem);
		aspect-ratio: 1.34 / 1;
	}

	/* Composición 2x2 más horizontal para que el caption entre en primer pantallazo. */
	.ms-home .ms-diagram-brand {
		top: 4%;
		left: 8%;
		width: 50%;
		height: 40%;
	}

	.ms-home .ms-diagram-media {
		top: 10%;
		right: 1%;
		width: 43%;
		height: 36%;
	}

	.ms-home .ms-diagram-strategy {
		top: 49%;
		left: 15%;
		width: 43%;
		height: 34%;
	}

	.ms-home .ms-diagram-audience {
		right: 2%;
		bottom: 8%;
		width: 44%;
		height: 36%;
	}

	/* Tarjetas aprox. 12–15% más pequeñas y descriptor con menor peso. */
	.ms-home .ms-diagram-brand::after,
	.ms-home .ms-diagram-media::after,
	.ms-home .ms-diagram-strategy::after,
	.ms-home .ms-diagram-audience::after {
		min-width: 8.15rem;
		padding: 0.78rem 0.84rem 0.72rem;
		font-size: 0.82rem;
		font-weight: 600;
		line-height: 1.18;
	}

	.ms-home .ms-diagram-brand::after {
		top: 22%;
		left: -13%;
	}

	.ms-home .ms-diagram-media::after {
		top: 28%;
		right: -12%;
	}

	.ms-home .ms-diagram-strategy::after {
		top: 19%;
		left: -14%;
	}

	.ms-home .ms-diagram-audience::after {
		top: 26%;
		right: -12%;
	}

	.ms-home .ms-diagram-brand::before { top: calc(22% + 0.62rem); left: calc(-13% + 0.84rem); }
	.ms-home .ms-diagram-media::before { top: calc(28% + 0.62rem); right: calc(-12% + 5.65rem); }
	.ms-home .ms-diagram-strategy::before { top: calc(19% + 0.62rem); left: calc(-14% + 0.84rem); }
	.ms-home .ms-diagram-audience::before { top: calc(26% + 0.62rem); right: calc(-12% + 5.65rem); }

	.ms-home .ms-diagram-brand::before,
	.ms-home .ms-diagram-media::before,
	.ms-home .ms-diagram-strategy::before,
	.ms-home .ms-diagram-audience::before {
		width: 1.45rem;
	}

	.ms-home .ms-art-caption {
		margin-top: 0.15rem;
		padding-top: 0.75rem;
	}

	.ms-home .ms-art-caption::before {
		font-size: 0.57rem;
		letter-spacing: 0.2em;
	}
}

/* ==============================================================
   HOME V1.4.3 — implementación fiel al mockup aprobado
   El visual derecho usa el compuesto aprobado como referencia única,
   para mantener exactamente proporciones, tarjetas y jerarquía visual.
   ============================================================== */
@media (min-width: 1000px) {
	.ms-home .ms-hero-grid {
		grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
		gap: clamp(0.25rem, 0.7vw, 0.75rem);
		align-items: center;
	}

	.ms-home .ms-media-art {
		width: 106%;
		margin-left: -4%;
	}

	.ms-home .ms-media-diagram {
		width: 100%;
		min-height: 0;
		aspect-ratio: 935 / 695;
		margin: 0;
		background: url('../images/hero-approved-composite.webp') center / contain no-repeat;
	}

	/* El compuesto ya contiene fotos, tarjetas, acentos y cierre editorial. */
	.ms-home .ms-media-diagram::before,
	.ms-home .ms-media-diagram::after,
	.ms-home .ms-diagram-brand,
	.ms-home .ms-diagram-media,
	.ms-home .ms-diagram-strategy,
	.ms-home .ms-diagram-audience,
	.ms-home .ms-media-lines,
	.ms-home .ms-art-caption {
		display: none !important;
	}
}

@media (min-width: 690px) and (max-width: 999.98px) {
	.ms-home .ms-media-diagram {
		width: 100%;
		min-height: 0;
		aspect-ratio: 935 / 695;
		background: url('../images/hero-approved-composite.webp') center / contain no-repeat;
	}
	.ms-home .ms-media-diagram::before,
	.ms-home .ms-media-diagram::after,
	.ms-home .ms-diagram-brand,
	.ms-home .ms-diagram-media,
	.ms-home .ms-diagram-strategy,
	.ms-home .ms-diagram-audience,
	.ms-home .ms-media-lines,
	.ms-home .ms-art-caption {
		display: none !important;
	}
}

/* Home 0.3.1 — Experience positioning block */
.ms-home .ms-position {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.8rem, 4.5vw, 4.6rem);
  border-block: 1px solid var(--ms-rule);
  background: var(--ms-white);
}
.ms-home .ms-position::before {
  content: "";
  position: absolute;
  width: clamp(10rem, 18vw, 17rem);
  height: clamp(10rem, 18vw, 17rem);
  left: max(1rem, calc((100vw - 1280px) / 2));
  top: 50%;
  transform: translateY(-50%);
  border-radius: 50%;
  background: color-mix(in srgb, var(--ms-light-blue) 46%, transparent);
  pointer-events: none;
}
.ms-home .ms-position-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(13rem, .82fr) minmax(0, 1.55fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
}
.ms-home .ms-position-grid > .ms-eyebrow {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin: 0;
  color: var(--ms-blue);
  font-size: 0;
  line-height: 1;
}
.ms-home .ms-position-grid > .ms-eyebrow::before {
  content: "15+";
  font-size: clamp(5.5rem, 10vw, 9.5rem);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.075em;
}
.ms-home .ms-position-grid > .ms-eyebrow::after {
  content: "AÑOS DE EXPERIENCIA";
  margin-top: 1.2rem;
  padding-top: .8rem;
  border-top: 2px solid var(--ms-blue);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .16em;
}
.ms-home .ms-position-copy {
  position: relative;
  padding-left: clamp(1.5rem, 3vw, 3rem);
  border-left: 1px solid var(--ms-rule);
}
.ms-home .ms-position-copy::before {
  content: "EXPERIENCIA CON PROPÓSITO";
  display: block;
  margin-bottom: 1.15rem;
  color: var(--ms-blue);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .16em;
}
.ms-home .ms-position-copy h2 {
  max-width: 23ch;
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.05;
}
.ms-home .ms-position-copy > p {
  max-width: 58ch;
  margin-top: 1.35rem;
  color: var(--ms-text-secondary);
}
.ms-home .ms-position-copy::after {
  content: "ESTRATEGIA   ·   NEGOCIACIÓN   ·   EJECUCIÓN";
  display: block;
  width: fit-content;
  margin-top: 1.7rem;
  padding-top: .8rem;
  border-top: 1px solid var(--ms-blue);
  color: var(--ms-blue);
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .12em;
}
@media (max-width: 767px) {
  .ms-home .ms-position::before { left: -3rem; top: 4.5rem; transform: none; }
  .ms-home .ms-position-grid { grid-template-columns: 1fr; gap: 2.2rem; }
  .ms-home .ms-position-copy { padding-left: 0; padding-top: 2rem; border-left: 0; border-top: 1px solid var(--ms-rule); }
  .ms-home .ms-position-copy::after { line-height: 1.7; }
}

/* Home V1.4.8 — Capacidades: tratamiento editorial aprobado para evaluación */
.ms-home .ms-section:not(.ms-position) .ms-section-intro {
  max-width: 54rem;
}
.ms-home .ms-capability-list {
  position: relative;
  border-top: 1px solid var(--ms-rule);
}
.ms-home .ms-capability-row {
  position: relative;
  grid-template-columns: minmax(4.25rem, .18fr) minmax(11rem, .72fr) minmax(0, 1.35fr);
  gap: clamp(1.25rem, 3vw, 3.5rem);
  align-items: center;
  min-height: 7.4rem;
  padding: 1.55rem clamp(1rem, 2vw, 1.6rem);
  border-top: 0;
  border-bottom: 1px solid var(--ms-rule);
  overflow: hidden;
  transition: background-color .2s ease, padding-left .2s ease;
}
.ms-home .ms-capability-row::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--ms-blue);
  transform: scaleY(0);
  transform-origin: center;
  transition: transform .2s ease;
}
.ms-home .ms-capability-row:nth-child(even) {
  background: color-mix(in srgb, var(--ms-light-blue) 20%, white);
}
.ms-home .ms-capability-row .ms-index {
  margin: 0;
  color: var(--ms-blue);
  font-size: clamp(1.55rem, 2.3vw, 2.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.06em;
}
.ms-home .ms-capability-row h3 {
  margin: 0;
  color: var(--ms-text-primary);
  font-size: clamp(2rem, 3.35vw, 3.25rem);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.055em;
}
.ms-home .ms-capability-row > p:last-child {
  max-width: 50ch;
  margin: 0;
  color: var(--ms-text-secondary);
  font-size: clamp(.94rem, 1.15vw, 1.05rem);
  line-height: 1.55;
}
@media (hover: hover) {
  .ms-home .ms-capability-row:hover {
    background: color-mix(in srgb, var(--ms-light-blue) 34%, white);
    padding-left: clamp(1.2rem, 2.4vw, 2rem);
  }
  .ms-home .ms-capability-row:hover::after { transform: scaleY(1); }
  .ms-home .ms-capability-row:hover h3 { color: var(--ms-blue); }
}
@media (max-width: 767px) {
  .ms-home .ms-capability-row {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    gap: .7rem 1rem;
    min-height: 0;
    padding: 1.5rem .75rem;
  }
  .ms-home .ms-capability-row .ms-index { font-size: 1.35rem; }
  .ms-home .ms-capability-row h3 { font-size: clamp(1.8rem, 8vw, 2.5rem); }
  .ms-home .ms-capability-row > p:last-child {
    grid-column: 2;
    max-width: 42ch;
    padding-bottom: .15rem;
  }
}

/* Home V1.4.9 — Proceso: recorrido editorial 01–06 */
.ms-home .ms-process {
  position: relative;
  overflow: hidden;
  background: color-mix(in srgb, var(--ms-bg-light) 72%, white);
}
.ms-home .ms-process .ms-section-intro {
  max-width: 48rem;
  margin-bottom: clamp(2.4rem, 4vw, 4rem);
}
.ms-home .ms-process-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  border-top: 1px solid var(--ms-rule);
}
.ms-home .ms-process-grid::before {
  content: "";
  position: absolute;
  top: 3.2rem;
  left: 1.5rem;
  right: 1.5rem;
  height: 1px;
  background: var(--ms-rule);
  z-index: 0;
}
.ms-home .ms-process-step {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 2rem clamp(.85rem, 1.5vw, 1.4rem) 1.5rem;
  border-top: 0;
  border-right: 1px solid var(--ms-rule);
}
.ms-home .ms-process-step:last-child { border-right: 0; }
.ms-home .ms-process-step::before {
  content: "";
  width: .72rem;
  height: .72rem;
  margin: .82rem 0 1.65rem;
  border: 2px solid var(--ms-blue);
  border-radius: 50%;
  background: var(--ms-white);
  box-shadow: 0 0 0 .45rem color-mix(in srgb, var(--ms-bg-light) 80%, white);
}
.ms-home .ms-process-step .ms-step-number {
  order: -1;
  margin: 0;
  color: var(--ms-blue);
  font-size: clamp(2.4rem, 3.7vw, 3.65rem);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.075em;
}
.ms-home .ms-process-step h3 {
  margin: 0;
  min-height: 2.45em;
  color: var(--ms-text-primary);
  font-size: clamp(1.05rem, 1.45vw, 1.35rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.ms-home .ms-process-step > p:last-child {
  margin: .9rem 0 0;
  color: var(--ms-text-secondary);
  font-size: .9rem;
  line-height: 1.55;
}
.ms-home .ms-process-step:nth-child(4),
.ms-home .ms-process-step:nth-child(5),
.ms-home .ms-process-step:nth-child(6) {
  background: color-mix(in srgb, var(--ms-light-blue) 14%, transparent);
}
@media (hover: hover) {
  .ms-home .ms-process-step { transition: background-color .2s ease; }
  .ms-home .ms-process-step:hover { background: color-mix(in srgb, var(--ms-light-blue) 28%, white); }
  .ms-home .ms-process-step:hover::before { background: var(--ms-blue); }
}
@media (max-width: 1023px) {
  .ms-home .ms-process-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-bottom: 1px solid var(--ms-rule);
  }
  .ms-home .ms-process-grid::before { display: none; }
  .ms-home .ms-process-step {
    min-height: 15rem;
    border-bottom: 1px solid var(--ms-rule);
  }
  .ms-home .ms-process-step:nth-child(3n) { border-right: 0; }
  .ms-home .ms-process-step:nth-last-child(-n+3) { border-bottom: 0; }
  .ms-home .ms-process-step::before { margin-top: .6rem; }
}
@media (max-width: 689px) {
  .ms-home .ms-process-grid {
    grid-template-columns: 1fr;
    border-bottom: 0;
  }
  .ms-home .ms-process-step,
  .ms-home .ms-process-step:nth-child(3n) {
    display: grid;
    grid-template-columns: 3.25rem minmax(0, 1fr);
    column-gap: 1rem;
    min-height: 0;
    padding: 1.5rem .5rem;
    border-right: 0;
    border-bottom: 1px solid var(--ms-rule);
    background: transparent;
  }
  .ms-home .ms-process-step::before { display: none; }
  .ms-home .ms-process-step .ms-step-number {
    grid-column: 1;
    grid-row: 1 / span 2;
    font-size: 1.55rem;
    line-height: 1;
  }
  .ms-home .ms-process-step h3 {
    grid-column: 2;
    min-height: 0;
    font-size: 1.35rem;
  }
  .ms-home .ms-process-step > p:last-child {
    grid-column: 2;
    margin-top: .55rem;
  }
}

/* Home V1.5 — Proceso aprobado: opción 2, tarjetas visuales. Solo presentación; textos y paleta existentes se conservan. */
.ms-home .ms-process {
  background: var(--ms-white);
}
.ms-home .ms-process .ms-section-intro {
  max-width: 52rem;
  margin-bottom: clamp(2rem, 3.5vw, 3.25rem);
}
.ms-home .ms-process-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(.65rem, 1.15vw, 1rem);
  border: 0;
}
.ms-home .ms-process-grid::before { display: none; }
.ms-home .ms-process-step,
.ms-home .ms-process-step:nth-child(4),
.ms-home .ms-process-step:nth-child(5),
.ms-home .ms-process-step:nth-child(6) {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 25rem;
  padding: 0 1rem 1.35rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--ms-rule) 78%, white);
  border-radius: .38rem;
  background: var(--ms-white);
  box-shadow: 0 .6rem 1.6rem rgb(15 89 150 / 7%);
}
.ms-home .ms-process-step::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: calc(100% + 2rem);
  height: 9.25rem;
  margin: 0 -1rem 0;
  border: 0;
  border-radius: 0;
  background-position: center;
  background-size: cover;
  box-shadow: none;
}
.ms-home .ms-process-step:nth-child(1)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-estrategia.jpg'); }
.ms-home .ms-process-step:nth-child(2)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-planificacion.jpg'); }
.ms-home .ms-process-step:nth-child(3)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-negociacion.jpg'); }
.ms-home .ms-process-step:nth-child(4)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-compra.jpg'); }
.ms-home .ms-process-step:nth-child(5)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-implementacion.jpg'); }
.ms-home .ms-process-step:nth-child(6)::before { background-image: linear-gradient(to bottom, transparent 68%, var(--ms-white) 100%), url('../images/process-monitoreo.jpg'); }
.ms-home .ms-process-step .ms-step-number {
  order: 0;
  margin: -.2rem 0 .7rem;
  color: var(--ms-blue);
  font-size: clamp(2rem, 2.6vw, 2.7rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.06em;
}
.ms-home .ms-process-step h3 {
  min-height: 2.35em;
  margin: 0;
  color: var(--ms-text-primary);
  font-size: clamp(1.02rem, 1.22vw, 1.2rem);
  font-weight: 700;
  line-height: 1.12;
}
.ms-home .ms-process-step > p:last-child {
  margin: .8rem 0 0;
  color: var(--ms-text-secondary);
  font-size: .88rem;
  line-height: 1.5;
}
@media (hover: hover) {
  .ms-home .ms-process-step { transition: transform .2s ease, box-shadow .2s ease; }
  .ms-home .ms-process-step:hover {
    transform: translateY(-3px);
    background: var(--ms-white);
    box-shadow: 0 .9rem 2rem rgb(15 89 150 / 11%);
  }
}
@media (max-width: 1099px) {
  .ms-home .ms-process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ms-home .ms-process-step,
  .ms-home .ms-process-step:nth-child(3n),
  .ms-home .ms-process-step:nth-last-child(-n+3) {
    min-height: 23rem;
    border: 1px solid color-mix(in srgb, var(--ms-rule) 78%, white);
  }
}
@media (max-width: 689px) {
  .ms-home .ms-process-grid { grid-template-columns: 1fr; gap: 1rem; }
  .ms-home .ms-process-step,
  .ms-home .ms-process-step:nth-child(3n) {
    display: flex;
    min-height: 0;
    padding: 0 1rem 1.35rem;
    border: 1px solid color-mix(in srgb, var(--ms-rule) 78%, white);
    background: var(--ms-white);
  }
  .ms-home .ms-process-step::before { display: block; height: 11rem; }
  .ms-home .ms-process-step .ms-step-number { font-size: 2rem; }
  .ms-home .ms-process-step h3 { min-height: 0; font-size: 1.3rem; }
  .ms-home .ms-process-step > p:last-child { margin-top: .65rem; }
}

/* Cobertura Regional — composición editorial. Solo afecta esta sección. */
.ms-home .ms-region-grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
	grid-template-areas: "copy visual" "metrics visual";
	gap: 2rem clamp(1.5rem, 3vw, 3rem);
	align-items: center;
	padding-bottom: 0;
}
.ms-home .ms-region-copy { grid-area: copy; align-self: end; position: relative; z-index: 1; }
.ms-home .ms-region-visual {
	grid-area: visual;
	align-self: center;
	width: calc(100% + 1.5rem);
	max-width: none;
	margin-inline: -.25rem -1.25rem;
	min-width: 0;
	color: var(--ms-blue);
	pointer-events: none;
}
.ms-home .ms-coverage-composition {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 660 / 480;
	overflow: hidden;
}
.ms-home .ms-region-metrics {
	grid-area: metrics;
	display: grid;
	grid-template-columns: .72fr 1fr 1.25fr;
	align-items: start;
	align-self: start;
	gap: 0;
	min-width: 0;
}
.ms-home .ms-region-stat {
	margin: 0;
	padding: 0 .8rem;
	color: var(--ms-text);
	font-size: .64rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: .08em;
	overflow-wrap: normal;
}
.ms-home .ms-region-stat:first-child { padding-left: 0; }
.ms-home .ms-region-stat + .ms-region-stat { border-left: 1px solid rgb(15 89 150 / 28%); }
.ms-home .ms-region-stat strong {
	display: inline-block;
	margin-bottom: .55rem;
	color: var(--ms-blue);
	font-size: clamp(2rem, 2.6vw, 3rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.045em;
}
@media (max-width: 999.98px) {
	.ms-home .ms-region-grid { column-gap: 1.25rem; row-gap: 1.75rem; }
	.ms-home .ms-region-visual { width: 100%; margin-inline: 0; }
	.ms-home .ms-region-stat { padding-inline: .5rem; font-size: .6rem; letter-spacing: .035em; }
}
@media (max-width: 689.98px) {
	.ms-home .ms-region-grid {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "copy" "visual" "metrics";
		gap: 1.5rem;
	}
	.ms-home .ms-region-visual { width: 100%; margin: 0; }
	.ms-home .ms-region-metrics { width: 100%; }
	.ms-home .ms-region-stat { font-size: .6rem; }
	.ms-home .ms-region-stat strong { font-size: 2.15rem; }
}

/* Imagen decorativa externa: mismas dimensiones que el SVG inline aprobado. */
.ms-home .ms-region-visual .ms-coverage-figure { margin: 0; width: 100%; }
.ms-home .ms-region-visual .ms-coverage-figure img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 660 / 480;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

/* 0.5.1 — composición visual exclusiva de Experiencia y Más que comprar medios. */
.ms-home :is(.ms-expertise-v5,.ms-media-v5) { background:var(--ms-white); }
.ms-home :is(.ms-expertise-v5,.ms-media-v5) > .ms-container { max-width:88rem; }
.ms-home .ms-expertise-layout { display:grid; grid-template-columns:minmax(0,29fr) minmax(0,38fr) minmax(0,33fr); gap:0; align-items:center; min-height:34rem; }
.ms-home .ms-expertise-copy { padding:2rem 2rem 2rem 0; }
.ms-home :is(.ms-expertise-copy,.ms-media-copy) > p:not(.ms-eyebrow) { margin-top:1.5rem; }
.ms-home :is(.ms-expertise-copy,.ms-media-copy) .ms-actions { margin-top:2rem; }
.ms-home :is(.ms-expertise-v5,.ms-media-v5) h2 { font-size:clamp(2rem,2.8vw,2.75rem); max-width:19ch; }
.ms-home .ms-expertise-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; align-items:stretch; padding-block:2rem; }
.ms-home .ms-expertise-pillar { display:block; padding:0 clamp(.7rem,1.1vw,1.1rem); }
.ms-home .ms-expertise-pillar + .ms-expertise-pillar { border-left:1px solid var(--ms-rule); }
.ms-home .ms-v5-icon { margin:0; width:3rem; height:3rem; }
.ms-home .ms-v5-icon img { display:block; width:100%; height:100%; }
.ms-home .ms-expertise-pillar .ms-v5-icon { width:4rem; height:4rem; padding:.8rem; background:color-mix(in srgb,var(--ms-cyan) 55%,var(--ms-white)); border-radius:50%; margin-bottom:1.5rem; }
.ms-home :is(.ms-expertise-pillar,.ms-media-panel) h3 { font-size:1rem; line-height:1.4; letter-spacing:0; }
.ms-home .ms-expertise-pillar h3 { color:var(--ms-blue); font-weight:700; }
.ms-home .ms-expertise-pillar p { margin-top:1rem; font-size:.875rem; line-height:1.65; color:var(--ms-text-secondary); }
/* La clase original se conserva; ahora contiene una fotografía temporal existente. */
.ms-home .ms-expertise-photo-pending { position:relative; min-height:34rem; align-self:stretch; background:url('../images/hero-btl.jpg') center / cover no-repeat; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); display:flex; align-items:flex-end; justify-content:flex-end; padding:2rem 1.5rem 2rem 22%; }
.ms-home .ms-expertise-photo-pending .ms-expertise-photo-caption { color:var(--ms-white); font-size:clamp(1rem,1.5vw,1.35rem); font-weight:700; line-height:1.35; letter-spacing:.08em; text-align:right; background:rgb(15 89 150 / 90%); padding:1rem; }
.ms-home .ms-media-layout { display:grid; grid-template-columns:minmax(0,34fr) minmax(0,66fr); align-items:stretch; }
.ms-home .ms-media-copy { background:var(--ms-white); padding:2.5rem 2.5rem 2.5rem 0; align-content:center; }
.ms-home .ms-media-scene { position:relative; display:grid; align-items:end; min-height:36rem; isolation:isolate; }
.ms-home .ms-media-photo { position:absolute; inset:0; width:100%; height:100%; margin:0; z-index:-1; overflow:hidden; clip-path:polygon(10% 0,100% 0,100% 100%,0 100%); }
.ms-home .ms-media-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.ms-home .ms-media-panels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; padding:16rem 1.5rem 2rem 12%; align-items:stretch; }
.ms-home .ms-media-panel { padding:1.5rem 1.15rem; background:color-mix(in srgb,color-mix(in srgb,var(--ms-blue) 72%,var(--ms-text)) 92%,transparent); color:var(--ms-white); }
.ms-home .ms-media-panel .ms-v5-icon { margin-bottom:1.25rem; background:var(--ms-cyan); mask:url('../images/ms-strategy.svg') center / contain no-repeat; }
.ms-home .ms-media-panel:nth-child(2) .ms-v5-icon { mask-image:url('../images/ms-negotiation.svg'); }
.ms-home .ms-media-panel:nth-child(3) .ms-v5-icon { mask-image:url('../images/ms-execution.svg'); }
.ms-home .ms-media-panel .ms-v5-icon img { opacity:0; }
.ms-home .ms-media-panel h3 { color:var(--ms-white); font-weight:700; }
.ms-home .ms-media-panel p { margin-top:.85rem; font-size:.875rem; line-height:1.65; color:var(--ms-white); }
@media (max-width:1199.98px) {
 .ms-home .ms-expertise-layout { grid-template-columns:minmax(0,35fr) minmax(0,65fr); }
 .ms-home .ms-expertise-photo-pending { grid-column:1/-1; min-height:22rem; background-position:center 55%; margin-top:2rem; clip-path:polygon(8% 0,100% 0,100% 100%,0 100%); }
 .ms-home .ms-media-copy { padding-right:1.5rem; }
 .ms-home .ms-media-panels { gap:.5rem; padding:15rem 1rem 1.5rem 9%; }
 .ms-home .ms-media-panel { padding:1.1rem .75rem; }
 .ms-home .ms-media-panel h3 { font-size:.9375rem; }
 .ms-home .ms-media-panel p { font-size:.8125rem; }
}
@media (max-width:899.98px) {
 .ms-home .ms-expertise-layout,.ms-home .ms-media-layout { grid-template-columns:minmax(0,1fr); }
 .ms-home .ms-expertise-copy,.ms-home .ms-media-copy { padding:0 0 2rem; }
 .ms-home .ms-expertise-photo-pending { min-height:24rem; }
 .ms-home .ms-media-panels { padding-top:16rem; }
}
@media (max-width:599.98px) {
 .ms-home .ms-expertise-pillars { grid-template-columns:minmax(0,1fr); gap:1.5rem; padding:0; }
 .ms-home .ms-expertise-pillar { display:grid; grid-template-columns:4rem minmax(0,1fr); gap:1rem; padding:0; }
 .ms-home .ms-expertise-pillar + .ms-expertise-pillar { border-left:0; border-top:1px solid var(--ms-rule); padding-top:1.5rem; }
 .ms-home .ms-expertise-pillar .ms-v5-icon { margin:0; }
 .ms-home .ms-expertise-pillar p { margin-top:.65rem; }
 .ms-home .ms-expertise-photo-pending { min-height:23rem; padding:1.5rem; }
 .ms-home .ms-media-photo { clip-path:polygon(8% 0,100% 0,100% 100%,0 100%); }
 .ms-home .ms-media-panels { grid-template-columns:minmax(0,1fr); padding:14rem 1rem 1rem; gap:.65rem; }
 .ms-home .ms-media-panel { display:grid; grid-template-columns:2.5rem minmax(0,1fr); column-gap:1rem; padding:1.1rem; }
 .ms-home .ms-media-panel .ms-v5-icon { grid-row:1/3; width:2.5rem; height:2.5rem; margin:0; }
 .ms-home .ms-media-panel p { grid-column:2; margin-top:.5rem; }
 .ms-home .ms-media-v5 .ms-actions .wp-block-button { width:100%; }
 .ms-home .ms-media-v5 .wp-block-button__link { white-space:normal; }
}

/* 0.5.2 — Experiencia: trayectoria y criterio, sin alterar las otras secciones. */
.ms-home .ms-expertise-layout { grid-template-columns:minmax(0,38fr) minmax(0,27fr) minmax(0,35fr); }
.ms-home .ms-expertise-copy { padding-right:clamp(2rem,4vw,4rem); }
.ms-home .ms-expertise-tenure { padding:2rem clamp(1rem,2.2vw,2rem); }
.ms-home .ms-expertise-years { color:var(--ms-blue); font-size:clamp(6rem,9vw,9rem); font-weight:700; line-height:1; letter-spacing:-.065em; }
.ms-home .ms-expertise-declaration { margin-top:1.25rem; max-width:20ch; color:var(--ms-gray); font-size:clamp(1.15rem,1.5vw,1.4rem); font-weight:600; line-height:1.5; }
.ms-home .ms-expertise-territory { margin-top:1.5rem; color:var(--ms-text-secondary); font-size:.8125rem; line-height:1.7; }
@media (min-width:900px) and (max-width:1199.98px) {
 .ms-home .ms-expertise-photo-pending { grid-column:auto; min-height:34rem; margin-top:0; background-position:center; clip-path:polygon(18% 0,100% 0,100% 100%,0 100%); }
}
@media (max-width:899.98px) {
 .ms-home .ms-expertise-layout { grid-template-columns:minmax(0,55fr) minmax(0,45fr); }
 .ms-home .ms-expertise-copy { padding:0 1.5rem 0 0; }
 .ms-home .ms-expertise-tenure { padding:1.5rem; }
}
@media (max-width:599.98px) {
 .ms-home .ms-expertise-layout { grid-template-columns:minmax(0,1fr); }
 .ms-home .ms-expertise-copy { padding:0; }
 .ms-home .ms-expertise-tenure { padding:2.5rem 0 .5rem; }
 .ms-home .ms-expertise-years { font-size:6.5rem; }
}

/* 0.7.0 — footer global; no modifica ninguna sección de la Home. */
.ms-site-footer { background:var(--ms-white); color:var(--ms-gray); border-top:1px solid var(--ms-cyan); }
.ms-site-footer,.ms-site-footer * { box-sizing:border-box; }
.ms-site-footer__inner { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); padding-block:clamp(3rem,5vw,4.75rem) 2.5rem; }
.ms-site-footer__brand-link { display:inline-block; max-width:100%; text-decoration:none; margin-bottom:1.25rem; }
.ms-site-footer__name { display:block; margin:0; color:var(--ms-blue); }
.ms-site-footer__logo { display:block; width:auto; max-width:min(100%,18rem); max-height:6rem; object-fit:contain; }
.ms-site-footer__descriptor { color:var(--ms-gray); }
.ms-site-footer__nav { gap:.45rem 2rem; }
.ms-site-footer__nav a { color:var(--ms-gray); padding:.5rem 0; line-height:1.5; }
.ms-site-footer__nav a:hover,.ms-site-footer__legal a:hover { color:var(--ms-blue); text-decoration:underline; }
.ms-site-footer__bottom { border-top:1px solid var(--ms-cyan); color:var(--ms-gray); line-height:1.7; align-items:center; }
.ms-site-footer__legal { display:flex; gap:.5rem 1.5rem; flex-wrap:wrap; }
.ms-site-footer__legal a { color:var(--ms-gray); text-underline-offset:.2em; }
.ms-site-footer a:focus-visible { outline:2px solid var(--ms-blue); outline-offset:4px; }
@media(max-width:689.98px) {
 .ms-site-footer__inner { grid-template-columns:minmax(0,1fr); gap:2rem; }
 .ms-site-footer__nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem 1rem; }
 .ms-site-footer__bottom { align-items:flex-start; }
}

/* 0.8.0 — Lote 1: Servicios + Cobertura Regional. Home y footer sin cambios. */
.ms-inner{--ms-ip-pad:clamp(4.5rem,8vw,8rem);font-family:var(--ms-font-family);color:var(--ms-gray);overflow:hidden}.ms-inner *{box-sizing:border-box}.ms-ip-wrap{width:min(calc(100% - 3rem),var(--ms-content-max));margin-inline:auto}.ms-ip-eyebrow{margin:0 0 1rem;color:var(--ms-blue);font-size:.78rem;font-weight:700;letter-spacing:.16em}.ms-inner h1,.ms-inner h2,.ms-inner h3{margin:0;color:var(--ms-gray);font-weight:700;letter-spacing:-.035em}.ms-inner h1{font-size:clamp(3rem,6vw,6.2rem);line-height:.98}.ms-inner h2{font-size:clamp(2.1rem,4vw,4.25rem);line-height:1.05}.ms-inner h3{font-size:1.05rem;letter-spacing:-.01em}.ms-inner p{font-size:1rem;line-height:1.75}.ms-ip-lead{max-width:43rem;margin:2rem 0 0;font-size:clamp(1.05rem,1.4vw,1.25rem)!important}.ms-ip-hero{padding:clamp(4rem,7vw,7rem) 0;background:var(--ms-white)}.ms-ip-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr);gap:clamp(3rem,6vw,7rem);align-items:center}.ms-ip-channels{margin:2rem 0 0;color:var(--ms-blue);font-size:.78rem!important;font-weight:700;letter-spacing:.11em}.ms-ip-channels span{color:var(--ms-cyan);padding:0 .5rem}.ms-ip-hero__visual{position:relative;min-height:34rem;background:url('../images/hero-ooh.jpg') center/cover no-repeat;clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}.ms-ip-hero__visual div{position:absolute;inset:auto 0 0 18%;height:42%;background:linear-gradient(135deg,color-mix(in srgb,var(--ms-blue) 88%,transparent),color-mix(in srgb,var(--ms-text) 82%,transparent));clip-path:polygon(12% 0,100% 0,100% 100%,0 100%)}.ms-ip-section{padding:var(--ms-ip-pad) 0}.ms-ip-approach{background:#f6f8f9}.ms-ip-heading-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(20rem,.9fr);gap:clamp(2rem,7vw,7rem);align-items:start}.ms-ip-heading-grid p:first-child{margin-top:.25rem}.ms-ip-three,.ms-ip-four{display:grid;gap:0;margin-top:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--ms-cyan)}.ms-ip-three{grid-template-columns:repeat(3,1fr)}.ms-ip-four{grid-template-columns:repeat(4,1fr)}.ms-ip-three article,.ms-ip-four article{padding:2rem clamp(1rem,2.5vw,2.25rem) 0 0}.ms-ip-three article+article,.ms-ip-four article+article{border-left:1px solid var(--ms-cyan);padding-left:clamp(1rem,2.5vw,2.25rem)}.ms-ip-three span,.ms-cov-steps span{display:block;margin-bottom:1.2rem;color:var(--ms-blue);font-size:.75rem;font-weight:700;letter-spacing:.12em}.ms-ip-three p,.ms-ip-four p{margin:.75rem 0 0;font-size:.9rem}.ms-ip-service{padding:clamp(3.5rem,6vw,6rem) 0;background:var(--ms-white)}.ms-ip-service:nth-of-type(even){background:#fbfcfc}.ms-ip-service__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);gap:clamp(3rem,7vw,7rem);align-items:center}.ms-ip-service.is-reverse .ms-ip-service__copy{order:2}.ms-ip-service.is-reverse .ms-ip-service__image{order:1}.ms-ip-service__copy>p:not(.ms-ip-eyebrow){max-width:40rem}.ms-ip-service__channels{margin-top:1.8rem!important;color:var(--ms-blue);font-weight:700}.ms-ip-service__support{padding-top:1.25rem;border-top:1px solid var(--ms-cyan);font-size:.9rem!important}.ms-ip-service__image{margin:0;min-height:31rem;overflow:hidden}.ms-ip-service__image img{display:block;width:100%;height:31rem;object-fit:cover}.ms-ip-service:not(.is-reverse) .ms-ip-service__image{clip-path:polygon(10% 0,100% 0,100% 100%,0 100%)}.ms-ip-service.is-reverse .ms-ip-service__image{clip-path:polygon(0 0,100% 0,90% 100%,0 100%)}.ms-ip-integral,.ms-cov-management{background:var(--ms-blue);color:var(--ms-white)}.ms-ip-integral .ms-ip-eyebrow,.ms-cov-management .ms-ip-eyebrow{color:var(--ms-cyan)}.ms-ip-integral h2,.ms-ip-integral h3,.ms-cov-management h2{color:var(--ms-white)}.ms-ip-integral .ms-ip-four{border-color:rgb(255 255 255 / 30%)}.ms-ip-integral .ms-ip-four article+article{border-color:rgb(255 255 255 / 30%)}.ms-ip-region-teaser{padding:var(--ms-ip-pad) 0;background:#f5fbfc}.ms-ip-region-teaser__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(25rem,.9fr);gap:5rem;align-items:center}.ms-ip-region-teaser img{display:block;width:100%;max-height:31rem;object-fit:contain}.ms-ip-link{display:inline-block;margin-top:1.5rem;color:var(--ms-blue);font-weight:700;text-decoration:none;border-bottom:1px solid var(--ms-cyan);padding-bottom:.3rem}.ms-ip-cta{padding:clamp(4rem,7vw,6rem) 0;background:var(--ms-blue);color:var(--ms-white);text-align:center}.ms-ip-cta .ms-ip-eyebrow{color:var(--ms-cyan)}.ms-ip-cta h2{color:var(--ms-white)}.ms-ip-cta p{max-width:44rem;margin:1.25rem auto}.ms-ip-button{display:inline-block;margin-top:1rem;padding:.9rem 1.5rem;background:var(--ms-white);color:var(--ms-blue);font-weight:700;text-decoration:none}.ms-cov-hero{background:#f7fafb}.ms-cov-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(28rem,1.1fr);gap:clamp(3rem,6vw,6rem);align-items:center}.ms-cov-map{position:relative;padding:2rem}.ms-cov-map:before{content:"";position:absolute;inset:10% 0 0 12%;background:var(--ms-cyan);opacity:.22;clip-path:polygon(12% 0,100% 0,88% 100%,0 88%)}.ms-cov-map img{position:relative;display:block;width:100%;max-height:35rem;object-fit:contain}.ms-cov-presence{background:var(--ms-white)}.ms-cov-metrics{display:grid;grid-template-columns:repeat(3,1fr);margin-top:4rem;border-top:1px solid var(--ms-cyan);border-bottom:1px solid var(--ms-cyan)}.ms-cov-metrics div{padding:2rem 1.5rem}.ms-cov-metrics div+div{border-left:1px solid var(--ms-cyan)}.ms-cov-metrics strong{display:block;color:var(--ms-blue);font-size:clamp(3rem,5vw,5rem);line-height:1}.ms-cov-metrics span{display:block;margin-top:.75rem;font-size:.72rem;font-weight:700;letter-spacing:.12em}.ms-cov-markets{padding:var(--ms-ip-pad) 0;background:#f6f8f9}.ms-cov-markets__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(30rem,1.2fr);gap:clamp(3rem,7vw,7rem);align-items:center}.ms-cov-market-list{display:grid;gap:.7rem;margin-top:2rem}.ms-cov-market-list span{padding:.8rem 0;border-bottom:1px solid var(--ms-cyan);color:var(--ms-blue);font-size:.8rem;font-weight:700;letter-spacing:.12em}.ms-cov-photo img{display:block;width:100%;max-height:38rem;object-fit:cover;clip-path:polygon(10% 0,100% 0,100% 100%,0 92%)}.ms-cov-how{background:var(--ms-white)}.ms-cov-how>div>h2{max-width:20ch}.ms-cov-management{padding:var(--ms-ip-pad) 0}.ms-cov-management p{color:var(--ms-white)}.ms-cov-media{background:#f5fbfc}
@media(max-width:899.98px){.ms-ip-hero__grid,.ms-cov-hero__grid,.ms-ip-service__grid,.ms-ip-region-teaser__grid,.ms-cov-markets__grid,.ms-ip-heading-grid{grid-template-columns:1fr}.ms-ip-hero__visual{min-height:26rem}.ms-ip-service.is-reverse .ms-ip-service__copy,.ms-ip-service.is-reverse .ms-ip-service__image{order:initial}.ms-ip-three{grid-template-columns:1fr}.ms-ip-four{grid-template-columns:repeat(2,1fr)}.ms-ip-three article+article{border-left:0;border-top:1px solid var(--ms-cyan);padding-left:0}.ms-ip-service__image,.ms-ip-service__image img{min-height:24rem;height:24rem}.ms-cov-markets__grid{gap:3rem}.ms-cov-metrics{grid-template-columns:1fr 1fr}.ms-cov-metrics div:nth-child(3){grid-column:1/-1;border-left:0;border-top:1px solid var(--ms-cyan)}}
@media(max-width:599.98px){.ms-ip-wrap{width:min(calc(100% - 2rem),var(--ms-content-max))}.ms-inner h1{font-size:clamp(2.7rem,13vw,4rem)}.ms-inner h2{font-size:clamp(2rem,9vw,3rem)}.ms-ip-hero{padding:3.5rem 0}.ms-ip-hero__visual{min-height:20rem}.ms-ip-four{grid-template-columns:1fr}.ms-ip-four article+article{border-left:0;border-top:1px solid var(--ms-cyan);padding-left:0}.ms-ip-service{padding:3.5rem 0}.ms-ip-service__image,.ms-ip-service__image img{min-height:20rem;height:20rem}.ms-ip-service__image,.ms-ip-service.is-reverse .ms-ip-service__image{clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}.ms-ip-region-teaser__grid{gap:2rem}.ms-cov-map{padding:1rem 0}.ms-cov-metrics{grid-template-columns:1fr}.ms-cov-metrics div+div,.ms-cov-metrics div:nth-child(3){grid-column:auto;border-left:0;border-top:1px solid var(--ms-cyan)}.ms-cov-photo img{max-height:26rem}.ms-ip-cta{text-align:left}}
\n\n/* 0.8.1 — Lote 1 refinement: legibilidad Servicios + Cobertura más compacta. */
.ms-services-page .ms-ip-service__copy>p:not(.ms-ip-eyebrow){font-size:1.06rem;line-height:1.78}
.ms-services-page .ms-ip-service__support{font-size:.98rem!important;line-height:1.72}
.ms-services-page .ms-ip-integral .ms-ip-heading-grid>p{font-size:1.06rem;line-height:1.78}
.ms-services-page .ms-ip-integral .ms-ip-four p{font-size:.96rem;line-height:1.68}

.ms-coverage-page .ms-cov-presence{padding-bottom:clamp(4.5rem,8vw,7rem)}
.ms-coverage-page .ms-cov-how{position:relative;padding-top:clamp(5rem,9vw,8rem);padding-bottom:clamp(5rem,9vw,8rem)}
.ms-coverage-page .ms-cov-how:before{content:"";position:absolute;right:-4vw;top:8%;width:min(34vw,32rem);aspect-ratio:1;background:url('../images/coverage-regional-map.svg') center/contain no-repeat;opacity:.055;pointer-events:none}
.ms-coverage-page .ms-cov-how>div{position:relative}
.ms-coverage-page .ms-cov-how>div>h2{max-width:24ch}
.ms-coverage-page .ms-cov-steps{margin-top:clamp(3.5rem,7vw,6rem)}
.ms-coverage-page .ms-cov-steps article{min-height:10rem}
.ms-coverage-page .ms-cov-media{padding:clamp(3.5rem,6vw,5rem) 0;background:#f5fbfc;border-top:1px solid var(--ms-cyan)}
.ms-coverage-page .ms-cov-media .ms-ip-heading-grid{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:center}
.ms-coverage-page .ms-cov-media h2{font-size:clamp(2rem,3.5vw,3.5rem)}
.ms-coverage-page .ms-cov-media p{margin-top:0}
@media(max-width:899.98px){.ms-coverage-page .ms-cov-media .ms-ip-heading-grid{grid-template-columns:1fr}.ms-coverage-page .ms-cov-how:before{width:55vw;opacity:.04}}
@media(max-width:599.98px){.ms-services-page .ms-ip-service__copy>p:not(.ms-ip-eyebrow){font-size:1rem}.ms-services-page .ms-ip-service__support{font-size:.94rem!important}.ms-coverage-page .ms-cov-how:before{display:none}.ms-coverage-page .ms-cov-steps article{min-height:0}.ms-coverage-page .ms-cov-media{padding:3.25rem 0}}


/* 0.8.2 — Servicios: teaser editorial de Cobertura Regional, sin mapa repetido. */
.ms-services-page .ms-ip-region-teaser--editorial{position:relative;overflow:hidden;background:#f5fbfc;border-top:1px solid var(--ms-cyan)}
.ms-services-page .ms-ip-region-teaser--editorial:after{content:"";position:absolute;right:-8%;bottom:-42%;width:34%;aspect-ratio:1;background:var(--ms-cyan);opacity:.16;clip-path:polygon(28% 0,100% 0,72% 100%,0 100%);pointer-events:none}
.ms-services-page .ms-ip-region-teaser--editorial .ms-ip-region-teaser__grid{position:relative;z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);gap:clamp(3rem,8vw,8rem);align-items:end}
.ms-services-page .ms-ip-region-teaser--editorial h2{max-width:15ch}
.ms-services-page .ms-ip-region-teaser__content{max-width:35rem;padding-bottom:.35rem}
.ms-services-page .ms-ip-region-teaser__content p{margin:0;font-size:1.06rem;line-height:1.78}
@media(max-width:899.98px){.ms-services-page .ms-ip-region-teaser--editorial .ms-ip-region-teaser__grid{grid-template-columns:1fr;gap:2rem;align-items:start}.ms-services-page .ms-ip-region-teaser--editorial:after{width:50%;right:-18%;bottom:-20%}}
@media(max-width:599.98px){.ms-services-page .ms-ip-region-teaser--editorial:after{width:70%;opacity:.1}.ms-services-page .ms-ip-region-teaser__content p{font-size:1rem}}


/* 0.8.3 — Servicios: capacidad complementaria Tecnología & Desarrollo. */
.ms-services-page .ms-ip-tech{position:relative;overflow:hidden;background:#f7fafb;border-top:1px solid var(--ms-cyan);border-bottom:1px solid var(--ms-cyan)}
.ms-services-page .ms-ip-tech:after{content:"";position:absolute;right:-8rem;top:-9rem;width:28rem;aspect-ratio:1;border:1px solid rgb(15 89 150 / 12%);transform:rotate(45deg);pointer-events:none}
.ms-services-page .ms-ip-tech__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.95fr) minmax(28rem,1.05fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.ms-services-page .ms-ip-tech__intro h2{max-width:14ch}
.ms-services-page .ms-ip-tech__intro>p{max-width:38rem;font-size:1.06rem;line-height:1.78}
.ms-services-page .ms-ip-tech__closing{margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--ms-cyan);color:var(--ms-blue);font-weight:700}
.ms-services-page .ms-ip-tech__capabilities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ms-cyan)}
.ms-services-page .ms-ip-tech__capabilities article{padding:2rem clamp(1.25rem,2.5vw,2.5rem) 0 0}
.ms-services-page .ms-ip-tech__capabilities article+article{padding-left:clamp(1.25rem,2.5vw,2.5rem);border-left:1px solid var(--ms-cyan)}
.ms-services-page .ms-ip-tech__capabilities span{display:block;margin-bottom:1.25rem;color:var(--ms-blue);font-size:.75rem;font-weight:700;letter-spacing:.12em}
.ms-services-page .ms-ip-tech__capabilities h3{color:var(--ms-blue);font-size:1.15rem}
.ms-services-page .ms-ip-tech__capabilities p{margin:.9rem 0 0;font-size:.96rem;line-height:1.72}
@media(max-width:899.98px){.ms-services-page .ms-ip-tech__grid{grid-template-columns:1fr;gap:3rem}.ms-services-page .ms-ip-tech:after{width:22rem;opacity:.65}}
@media(max-width:599.98px){.ms-services-page .ms-ip-tech__intro>p{font-size:1rem}.ms-services-page .ms-ip-tech__capabilities{grid-template-columns:1fr}.ms-services-page .ms-ip-tech__capabilities article+article{margin-top:1.5rem;padding-left:0;border-left:0;border-top:1px solid var(--ms-cyan)}.ms-services-page .ms-ip-tech:after{display:none}}

/* 0.9.0 — Lote 2: Experiencia + Nosotros. */
.ms-l2-hero{padding:clamp(4.5rem,8vw,8rem) 0;background:#f7fafb;overflow:hidden}
.ms-l2-hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(30rem,1.05fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.ms-l2-hero__copy h1{max-width:15ch}
.ms-l2-hero__image{position:relative;margin:0;min-height:32rem;overflow:hidden;clip-path:polygon(9% 0,100% 0,100% 100%,0 92%)}
.ms-l2-hero__image:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 62%,rgb(15 89 150 / 18%))}
.ms-l2-hero__image img{display:block;width:100%;height:100%;min-height:32rem;object-fit:cover}
.ms-exp-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(3rem,6vw,5rem);border-top:1px solid var(--ms-cyan)}
.ms-exp-rail article{padding:2rem clamp(1rem,2vw,2rem) 0 0}
.ms-exp-rail article+article{padding-left:clamp(1rem,2vw,2rem);border-left:1px solid var(--ms-cyan)}
.ms-exp-rail span,.ms-about-method__flow span{display:block;margin-bottom:1.1rem;color:var(--ms-blue);font-size:.75rem;font-weight:700;letter-spacing:.12em}
.ms-exp-rail h3{color:var(--ms-blue);font-size:1.05rem}
.ms-exp-rail p{font-size:.94rem;line-height:1.68}
.ms-exp-criterion{padding:0;background:var(--ms-blue);color:var(--ms-white)}
.ms-exp-criterion__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);min-height:38rem;align-items:stretch}
.ms-exp-criterion__visual{margin-left:calc((100vw - min(calc(100% - 2.5rem),var(--ms-content-max)))/-2);min-width:0}
.ms-exp-criterion__visual img{display:block;width:100%;height:100%;min-height:38rem;object-fit:cover}
.ms-exp-criterion__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem) 0 clamp(3rem,7vw,7rem) clamp(3rem,7vw,7rem)}
.ms-exp-criterion__copy .ms-ip-eyebrow{color:var(--ms-cyan)}
.ms-exp-criterion__copy h2{color:var(--ms-white);max-width:12ch}
.ms-exp-criterion__copy p{max-width:34rem;font-size:1.06rem;line-height:1.78}
.ms-exp-criterion blockquote{margin:2.25rem 0 0;padding:1.5rem 0 0;border-top:1px solid rgb(255 255 255 / 28%);font-size:clamp(1.25rem,2.2vw,1.8rem);font-weight:700;line-height:1.35}
.ms-exp-multi{background:#fff}
.ms-exp-multi__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(26rem,1.05fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.ms-exp-multi__grid h2{max-width:13ch;margin:0}
.ms-exp-multi__grid p{margin-top:0;font-size:1.06rem;line-height:1.78}
.ms-exp-tags{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:2rem}
.ms-exp-tags span{padding:.72rem 1rem;border:1px solid var(--ms-cyan);color:var(--ms-blue);font-size:.78rem;font-weight:700;letter-spacing:.06em;background:#f8fcfd}
.ms-exp-regional,.ms-about-network{padding:clamp(4rem,7vw,6rem) 0;background:#f5fbfc;border-top:1px solid var(--ms-cyan)}
.ms-exp-regional__grid,.ms-about-network__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(22rem,.95fr);gap:clamp(3rem,8vw,8rem);align-items:end}
.ms-exp-regional h2,.ms-about-network h2{max-width:14ch;margin-bottom:0}
.ms-exp-regional__grid>div:last-child p,.ms-about-network__grid>div:last-child p{margin-top:0;font-size:1.03rem;line-height:1.76}

.ms-about-who{background:#fff}
.ms-about-who__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(26rem,.9fr);gap:clamp(3rem,9vw,9rem);align-items:start}
.ms-about-who h2{max-width:16ch;margin-bottom:0}
.ms-about-who__copy p{margin-top:0;font-size:1.06rem;line-height:1.82}
.ms-about-who__copy p+p{margin-top:1.2rem}
.ms-about-method{padding:var(--ms-ip-pad) 0;background:#f5fbfc}
.ms-about-method>div>h2{max-width:16ch}
.ms-about-method__flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3.5rem,7vw,6rem)}
.ms-about-method__flow article{padding:0 clamp(1.5rem,3vw,3rem) 0 0}
.ms-about-method__flow article+article{padding-left:clamp(1.5rem,3vw,3rem);border-left:1px solid var(--ms-cyan)}
.ms-about-method__flow h3{font-size:clamp(1.45rem,2.2vw,2rem);color:var(--ms-blue)}
.ms-about-method__flow p{font-size:.98rem;line-height:1.72}
.ms-about-values{background:#fff}
.ms-about-values__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:start}
.ms-about-values__grid>h2{max-width:14ch;margin:0}
.ms-about-values__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ms-cyan)}
.ms-about-values__list article{padding:1.8rem clamp(1.25rem,2.5vw,2.5rem) 1.8rem 0;border-bottom:1px solid var(--ms-cyan)}
.ms-about-values__list article:nth-child(even){padding-left:clamp(1.25rem,2.5vw,2.5rem);border-left:1px solid var(--ms-cyan)}
.ms-about-values__list h3{margin:0;color:var(--ms-blue);font-size:1.1rem}
.ms-about-values__list p{margin:.75rem 0 0;font-size:.94rem;line-height:1.68}
.ms-about-independent{padding:0;background:var(--ms-text);color:var(--ms-white)}
.ms-about-independent__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);min-height:36rem;align-items:stretch}
.ms-about-independent__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(3rem,7vw,7rem) clamp(3rem,7vw,7rem) clamp(3rem,7vw,7rem) 0}
.ms-about-independent__copy .ms-ip-eyebrow{color:var(--ms-cyan)}
.ms-about-independent__copy h2{max-width:14ch;color:var(--ms-white)}
.ms-about-independent__copy p{max-width:34rem;font-size:1.06rem;line-height:1.78;color:#dce3e8}
.ms-about-independent__visual{margin:0;margin-right:calc((100vw - min(calc(100% - 2.5rem),var(--ms-content-max)))/-2);min-width:0}
.ms-about-independent__visual img{display:block;width:100%;height:100%;min-height:36rem;object-fit:cover;filter:saturate(.82)}
@media(max-width:899.98px){.ms-l2-hero__grid,.ms-exp-criterion__grid,.ms-exp-multi__grid,.ms-exp-regional__grid,.ms-about-who__grid,.ms-about-values__grid,.ms-about-independent__grid,.ms-about-network__grid{grid-template-columns:1fr}.ms-l2-hero__image,.ms-l2-hero__image img{min-height:26rem}.ms-exp-rail{grid-template-columns:repeat(2,1fr)}.ms-exp-rail article:nth-child(3){border-left:0}.ms-exp-rail article:nth-child(n+3){border-top:1px solid var(--ms-cyan);padding-top:2rem}.ms-exp-criterion__visual,.ms-about-independent__visual{margin:0}.ms-exp-criterion__copy,.ms-about-independent__copy{padding:4rem 0}.ms-exp-criterion__visual img,.ms-about-independent__visual img{min-height:28rem;height:28rem}.ms-about-method__flow{grid-template-columns:1fr}.ms-about-method__flow article+article{margin-top:2rem;padding-top:2rem;padding-left:0;border-left:0;border-top:1px solid var(--ms-cyan)}.ms-exp-regional__grid,.ms-about-network__grid{align-items:start}}
@media(max-width:599.98px){.ms-l2-hero{padding:3.5rem 0}.ms-l2-hero__image,.ms-l2-hero__image img{min-height:20rem}.ms-exp-rail{grid-template-columns:1fr}.ms-exp-rail article+article,.ms-exp-rail article:nth-child(3){border-left:0;border-top:1px solid var(--ms-cyan);padding-left:0;padding-top:1.5rem}.ms-exp-criterion__visual img,.ms-about-independent__visual img{min-height:22rem;height:22rem}.ms-exp-criterion__copy p,.ms-about-independent__copy p,.ms-exp-multi__grid p,.ms-about-who__copy p{font-size:1rem}.ms-about-values__list{grid-template-columns:1fr}.ms-about-values__list article:nth-child(even){padding-left:0;border-left:0}.ms-exp-tags span{font-size:.72rem}.ms-exp-regional,.ms-about-network{padding:3.5rem 0}}

/* 0.9.1 — Experiencia: marcas que han confiado en nosotros */
.ms-exp-clients{background:#fff;border-top:1px solid rgba(77,77,77,.10);}
.ms-exp-clients__heading{margin-bottom:clamp(2.2rem,4vw,4rem);}
.ms-exp-clients__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(77,77,77,.12);border-left:1px solid rgba(77,77,77,.12);}
.ms-exp-client{margin:0;min-height:150px;padding:clamp(1.4rem,2.5vw,2.2rem);display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(77,77,77,.12);border-bottom:1px solid rgba(77,77,77,.12);background:#fff;overflow:hidden;}
.ms-exp-client img{display:block;width:auto;height:auto;max-width:82%;max-height:74px;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease,transform .2s ease;}
.ms-exp-client:hover img{filter:grayscale(0);opacity:1;transform:scale(1.035);}
@media(max-width:999.98px){.ms-exp-clients__grid{grid-template-columns:repeat(3,minmax(0,1fr));}.ms-exp-client{min-height:135px;}}
@media(max-width:689.98px){.ms-exp-clients__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ms-exp-client{min-height:115px;padding:1.15rem}.ms-exp-client img{max-width:88%;max-height:58px;}}

/* 0.9.2 — Experiencia depurada */
.ms-exp-clients__heading h2{max-width:17ch;}
.ms-exp-client{min-height:160px;padding:clamp(1.15rem,2vw,1.8rem);}
.ms-exp-client img{max-width:86%;max-height:82px;opacity:.78;}
.ms-exp-client:nth-child(3) img,.ms-exp-client:nth-child(6) img,.ms-exp-client:nth-child(7) img,.ms-exp-client:nth-child(11) img,.ms-exp-client:nth-child(13) img{max-height:92px;}
@media(max-width:689.98px){.ms-exp-client{min-height:120px}.ms-exp-client img{max-width:90%;max-height:64px}.ms-exp-client:nth-child(3) img,.ms-exp-client:nth-child(6) img,.ms-exp-client:nth-child(7) img,.ms-exp-client:nth-child(11) img,.ms-exp-client:nth-child(13) img{max-height:70px}}

/* 0.9.3 — Nosotros depurado */
.ms-about-independent__visual img{object-position:68% center;}
@media(max-width:899.98px){.ms-about-independent__visual img{object-position:center 42%;}}

/* 0.10.0 — Contacto / Hablemos */
.ms-contact-hero{padding:clamp(5rem,9vw,8rem) 0;background:#f7fafb;border-bottom:1px solid rgba(77,77,77,.08)}
.ms-contact-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.75fr);gap:clamp(3rem,9vw,9rem);align-items:end}
.ms-contact-hero h1{max-width:12ch;margin-bottom:0;font-size:clamp(3rem,5.6vw,5.6rem);line-height:.98;letter-spacing:-.055em;color:var(--ms-blue)}
.ms-contact-hero__lead{max-width:34rem;margin:0 0 .45rem;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.78;color:var(--ms-text-secondary)}
.ms-contact-main{padding:clamp(5rem,9vw,8rem) 0;background:#fff}
.ms-contact-main__grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(34rem,1.22fr);gap:clamp(4rem,10vw,10rem);align-items:start}
.ms-contact-info h2{max-width:13ch;margin-bottom:1.5rem}
.ms-contact-info__intro{max-width:31rem;font-size:1.04rem;line-height:1.75;color:var(--ms-text-secondary)}
.ms-contact-details{margin-top:clamp(2.5rem,5vw,4rem);border-top:1px solid var(--ms-cyan)}
.ms-contact-details>a,.ms-contact-details>div{display:block;padding:1.35rem 0;border-bottom:1px solid var(--ms-cyan);text-decoration:none}
.ms-contact-details span{display:block;margin-bottom:.35rem;color:var(--ms-gray);font-size:.72rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.ms-contact-details strong{color:var(--ms-blue);font-size:clamp(.96rem,1.2vw,1.08rem);font-weight:700;overflow-wrap:anywhere}
.ms-contact-details a:hover strong{color:var(--ms-gray)}
.ms-contact-form-wrap{padding:clamp(2rem,4vw,3.25rem);background:#f5fbfc;border-top:4px solid var(--ms-blue)}
.ms-contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1.25rem}
.ms-contact-form label{display:block;margin:0}
.ms-contact-form label>span{display:block;margin-bottom:.55rem;color:var(--ms-gray);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ms-contact-form input,.ms-contact-form select,.ms-contact-form textarea{width:100%;margin:0;border:1px solid #cddbe2;border-radius:0;background:#fff;color:var(--ms-text);font:inherit;font-size:.95rem;line-height:1.4;box-shadow:none;outline:none;transition:border-color .18s ease,box-shadow .18s ease}
.ms-contact-form input,.ms-contact-form select{min-height:3.25rem;padding:.72rem .85rem}
.ms-contact-form textarea{min-height:9rem;padding:.85rem;resize:vertical}
.ms-contact-form input:focus,.ms-contact-form select:focus,.ms-contact-form textarea:focus{border-color:var(--ms-blue);box-shadow:0 0 0 2px rgb(15 89 150 / 10%)}
.ms-contact-form__wide{grid-column:1/-1}
.ms-contact-submit{display:inline-flex;align-items:center;justify-content:center;min-height:3.25rem;padding:.85rem 1.55rem;border:0;border-radius:0;background:var(--ms-blue);color:#fff;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;transition:background .18s ease,transform .18s ease}
.ms-contact-submit:hover{background:var(--ms-gray);transform:translateY(-1px)}
.ms-contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ms-contact-notice{margin:0 0 1.5rem;padding:1rem 1.1rem;border-left:3px solid var(--ms-blue);background:#fff;color:var(--ms-gray);font-size:.92rem;line-height:1.55}
.ms-contact-notice--ok{border-left-color:var(--ms-blue)}
.ms-contact-close{padding:clamp(4.5rem,8vw,7rem) 0;background:var(--ms-blue);color:#fff;overflow:hidden;position:relative}
.ms-contact-close:after{content:"";position:absolute;right:-8vw;top:-9rem;width:32vw;height:30rem;background:rgb(212 249 255 / 10%);transform:skewX(-18deg);pointer-events:none}
.ms-contact-close .ms-ip-eyebrow{color:var(--ms-cyan)}
.ms-contact-close h2{position:relative;z-index:1;max-width:18ch;margin:0;color:#fff;font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:1.05;letter-spacing:-.045em}
@media(max-width:899.98px){.ms-contact-hero__grid,.ms-contact-main__grid{grid-template-columns:1fr}.ms-contact-hero__lead{max-width:40rem}.ms-contact-main__grid{gap:4rem}.ms-contact-form-wrap{padding:2rem}}
@media(max-width:599.98px){.ms-contact-hero{padding:3.75rem 0}.ms-contact-main{padding:4rem 0}.ms-contact-form{grid-template-columns:1fr;gap:1.2rem}.ms-contact-form__wide{grid-column:auto}.ms-contact-form-wrap{padding:1.4rem}.ms-contact-submit{width:100%}.ms-contact-close{padding:4rem 0}.ms-contact-close:after{width:55vw}}

/* 0.10.1 — Consistencia global: Home alineada al sistema visual de páginas internas.
   No altera estructura, contenido, fotografías ni composición aprobada. */
.ms-home{
  --ms-text-primary:var(--ms-gray);
  --ms-light-blue:var(--ms-cyan);
  --ms-section-space:clamp(4.5rem,7vw,7rem);
  color:var(--ms-gray);
}
.ms-home h1,.ms-home h2,.ms-home h3{color:var(--ms-gray);font-weight:700;}
.ms-home h1{font-size:clamp(3rem,5.35vw,5.5rem);line-height:.99;letter-spacing:-.052em;}
.ms-home h2{font-size:clamp(2.1rem,3.8vw,4rem);line-height:1.06;letter-spacing:-.04em;}
.ms-home h3{color:var(--ms-gray);}
.ms-home .ms-eyebrow{margin-bottom:1rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;line-height:1.5;}
.ms-home .ms-lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.75;color:var(--ms-text-secondary);}
.ms-home .ms-button .wp-block-button__link{min-height:3.2rem;padding:.9rem 1.5rem;border-radius:0;font-size:.88rem;font-weight:700;}
.ms-home .ms-button-secondary .wp-block-button__link{padding-inline:0;}
.ms-home .ms-section-intro{margin-bottom:clamp(2.5rem,4.5vw,4rem);}
/* Mantener jerarquías especiales aprobadas, pero dentro de la nueva familia cromática. */
.ms-home .ms-position-copy h2{font-size:clamp(2.1rem,3.6vw,3.65rem);line-height:1.05;color:var(--ms-gray);}
.ms-home .ms-capability-row h3{color:var(--ms-gray);}
.ms-home :is(.ms-expertise-v5,.ms-media-v5) h2{font-size:clamp(2.1rem,3.25vw,3.4rem);line-height:1.06;color:var(--ms-gray);}
.ms-home .ms-media-v5 h2,.ms-home .ms-media-panel h3{color:var(--ms-white);}
.ms-home .ms-final-cta h2{font-size:clamp(2.3rem,4.2vw,4.1rem);line-height:1.05;color:var(--ms-white);}
@media(max-width:599.98px){
  .ms-home{--ms-section-space:clamp(3.5rem,11vw,4.5rem);}
  .ms-home h1{font-size:clamp(2.7rem,12vw,4rem);line-height:1;}
  .ms-home h2{font-size:clamp(2rem,9vw,3rem);line-height:1.06;}
  .ms-home .ms-eyebrow{font-size:.74rem;}
  .ms-home .ms-position-copy h2,.ms-home :is(.ms-expertise-v5,.ms-media-v5) h2{font-size:clamp(2rem,9vw,3rem);}
  .ms-home .ms-final-cta h2{font-size:clamp(2.2rem,10vw,3.2rem);}
}

/* 0.10.2 — correcciones estéticas aprobadas: Home, Servicios y Nosotros. */
@media (min-width:1000px){
  .ms-home .ms-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2.5rem,4vw,4.5rem);}
  .ms-home .ms-hero-copy{min-width:0;position:relative;z-index:2;}
  .ms-home .ms-hero-copy h1{font-size:clamp(3rem,4.55vw,4.85rem);max-width:10.8ch;}
  .ms-home .ms-hero-copy .ms-lead{max-width:39rem;}
  .ms-home .ms-media-art{width:100%;margin-left:0;min-width:0;}
}
@media (min-width:690px) and (max-width:999.98px){
  .ms-home .ms-hero-grid{grid-template-columns:1fr;gap:2.5rem;}
  .ms-home .ms-media-art{width:100%;margin:0;}
}

/* Más que comprar medios: sin fotografía; tres pilares horizontales. */
.ms-home .ms-media-v5 .ms-media-layout{grid-template-columns:minmax(0,34fr) minmax(0,66fr);gap:clamp(2rem,4vw,4rem);align-items:center;}
.ms-home .ms-media-v5 .ms-media-scene{min-height:0;display:block;}
.ms-home .ms-media-v5 .ms-media-photo{display:none!important;}
.ms-home .ms-media-v5 .ms-media-panels{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding:0;align-items:stretch;}
.ms-home .ms-media-v5 .ms-media-panel{min-height:17rem;padding:2rem 1.5rem;background:var(--ms-blue);display:flex;flex-direction:column;justify-content:flex-start;}
.ms-home .ms-media-v5 .ms-media-panel .ms-v5-icon{width:3.1rem;height:3.1rem;margin-bottom:1.5rem;}
@media(max-width:899.98px){
  .ms-home .ms-media-v5 .ms-media-layout{grid-template-columns:1fr;gap:2rem;}
  .ms-home .ms-media-v5 .ms-media-panels{grid-template-columns:repeat(3,minmax(0,1fr));padding:0;}
  .ms-home .ms-media-v5 .ms-media-panel{min-height:15rem;}
}
@media(max-width:689.98px){
  .ms-home .ms-media-v5 .ms-media-panels{grid-template-columns:1fr;}
  .ms-home .ms-media-v5 .ms-media-panel{min-height:0;display:grid;grid-template-columns:2.7rem minmax(0,1fr);column-gap:1rem;padding:1.25rem;}
}

/* Servicios: hero multimedios aprobado; se conserva estructura y texto. */
.ms-services-page .ms-ip-hero__visual--services{background:url('../images/services-media-mix.webp') center/contain no-repeat;clip-path:none;min-height:36rem;}
.ms-services-page .ms-ip-hero__visual--services>div{display:none;}
@media(max-width:899.98px){.ms-services-page .ms-ip-hero__visual--services{min-height:30rem;}}
@media(max-width:599.98px){.ms-services-page .ms-ip-hero__visual--services{min-height:23rem;}}

/* Nosotros: hero propio orientado a colaboración, sin repetir collage de Home. */
.ms-about-page .ms-l2-hero__image{clip-path:polygon(9% 0,100% 0,100% 100%,0 92%);background:#eef7fb;}
.ms-about-page .ms-l2-hero__image:after{background:linear-gradient(135deg,transparent 58%,rgb(15 89 150 / 16%));}
.ms-about-page .ms-l2-hero__image img{object-fit:cover;object-position:center center;filter:saturate(.86);}

/* 0.10.4 — correcciones visuales controladas. Sin cambios de estructura, textos o paleta. */
/* Home: recuperar protagonismo visual sin invadir la columna de texto. */
@media (min-width:1000px){
  .ms-home .ms-hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(2rem,3vw,3.25rem);}
  .ms-home .ms-hero-copy h1{font-size:clamp(3.2rem,4.75vw,5.05rem);max-width:10.8ch;}
  .ms-home .ms-media-art{width:116%;max-width:none;margin-left:-4%;transform:none;position:relative;z-index:1;}
  .ms-home .ms-hero-copy{z-index:2;}
}

/* Experiencia: composición editorial 15+ en lugar de fotografía genérica. */
.ms-exp-hero-art{position:relative;min-height:32rem;background:linear-gradient(145deg,#f4fbfd 0 45%,#d4f9ff 45% 72%,#0f5996 72% 100%);clip-path:polygon(9% 0,100% 0,100% 100%,0 92%);overflow:hidden;}
.ms-exp-hero-art:before{content:"";position:absolute;width:19rem;height:19rem;border:1px solid rgb(15 89 150 / 22%);border-radius:50%;right:9%;top:8%;}
.ms-exp-hero-art:after{content:"";position:absolute;width:13rem;height:13rem;border:1px solid rgb(15 89 150 / 18%);border-radius:50%;right:16%;top:18%;background:transparent;}
.ms-exp-hero-art__years{position:absolute;left:14%;top:23%;z-index:2;color:var(--ms-blue);display:flex;align-items:flex-end;gap:1.2rem;}
.ms-exp-hero-art__years strong{font-size:clamp(6rem,10vw,10rem);line-height:.75;letter-spacing:-.08em;font-weight:700;}
.ms-exp-hero-art__years span{padding-bottom:.35rem;font-size:.85rem;line-height:1.25;font-weight:700;letter-spacing:.12em;}
.ms-exp-hero-art__line{position:absolute;left:14%;right:10%;top:60%;height:1px;background:var(--ms-blue);opacity:.55;}
.ms-exp-hero-art__words{position:absolute;left:14%;right:8%;top:65%;color:var(--ms-gray);font-size:.72rem;font-weight:700;letter-spacing:.11em;line-height:1.8;}
.ms-exp-hero-art__words i{color:var(--ms-blue);font-style:normal;margin:0 .45rem;}

/* Nosotros hero: conexión entre marca, estrategia y medios mediante formas/nodos. */
.ms-about-hero-art{position:relative;min-height:32rem;background:#f5fbfc;clip-path:polygon(9% 0,100% 0,100% 100%,0 92%);overflow:hidden;}
.ms-about-hero-art:after{display:none;}
.ms-about-hero-art__shape{position:absolute;transform:skewX(-12deg);border:1px solid rgb(15 89 150 / 10%);}
.ms-about-hero-art__shape--a{width:46%;height:68%;right:8%;top:8%;background:rgb(212 249 255 / 80%);}
.ms-about-hero-art__shape--b{width:42%;height:58%;left:18%;bottom:7%;background:rgb(15 89 150 / 9%);}
.ms-about-hero-art__shape--c{width:28%;height:42%;right:18%;bottom:10%;background:rgb(15 89 150 / 12%);}
.ms-about-hero-art__lines{position:absolute;inset:8% 5% 10% 8%;width:87%;height:82%;fill:none;stroke:var(--ms-blue);stroke-width:1.4;opacity:.55;}
.ms-about-hero-art__node{position:absolute;z-index:2;padding:.9rem 1.15rem;background:#fff;border-left:3px solid var(--ms-blue);box-shadow:0 8px 28px rgb(31 41 51 / 7%);color:var(--ms-blue);font-size:.76rem;font-weight:700;letter-spacing:.1em;}
.ms-about-hero-art__node--brand{left:15%;top:18%;}
.ms-about-hero-art__node--strategy{left:47%;top:45%;font-size:.88rem;padding:1.1rem 1.4rem;}
.ms-about-hero-art__node--media{right:10%;bottom:18%;}

/* Independencia: opciones de medios convergen en una decisión estratégica. */
.ms-independence-art{position:relative;margin-right:calc((100vw - min(calc(100% - 2.5rem),var(--ms-content-max)))/-2);min-width:0;min-height:36rem;background:linear-gradient(145deg,#f5fbfc,#d4f9ff);overflow:hidden;}
.ms-independence-art__orbit{position:absolute;inset:0;}
.ms-independence-art svg{position:absolute;inset:8% 7%;width:86%;height:84%;fill:none;stroke:rgb(15 89 150 / 34%);stroke-width:1.4;}
.ms-independence-art__center,.ms-independence-art__option{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;border-radius:50%;font-weight:700;letter-spacing:.08em;}
.ms-independence-art__center{left:50%;top:50%;width:9.5rem;height:9.5rem;transform:translate(-50%,-50%);background:var(--ms-blue);color:#fff;font-size:.9rem;box-shadow:0 18px 40px rgb(15 89 150 / 20%);}
.ms-independence-art__option{width:5.4rem;height:5.4rem;background:#fff;border:1px solid rgb(15 89 150 / 25%);color:var(--ms-blue);font-size:.72rem;}
.ms-independence-art__option--tv{left:12%;top:11%;}.ms-independence-art__option--digital{right:12%;top:12%;}.ms-independence-art__option--ooh{left:10%;bottom:12%;}.ms-independence-art__option--radio{right:10%;bottom:13%;}.ms-independence-art__option--btl{left:50%;bottom:5%;transform:translateX(-50%);}
@media(max-width:899.98px){
 .ms-exp-hero-art,.ms-about-hero-art{min-height:26rem;}
 .ms-independence-art{margin:0;min-height:28rem;}
 .ms-exp-hero-art__years strong{font-size:7rem;}
}
@media(max-width:599.98px){
 .ms-exp-hero-art,.ms-about-hero-art{min-height:20rem;}
 .ms-exp-hero-art__years{left:12%;top:25%;gap:.7rem}.ms-exp-hero-art__years strong{font-size:5rem}.ms-exp-hero-art__years span{font-size:.65rem}.ms-exp-hero-art__words{left:12%;font-size:.58rem;}
 .ms-about-hero-art__node{font-size:.62rem;padding:.7rem .8rem}.ms-about-hero-art__node--strategy{font-size:.7rem;padding:.8rem 1rem;}
 .ms-independence-art{min-height:24rem}.ms-independence-art__center{width:7rem;height:7rem;font-size:.7rem}.ms-independence-art__option{width:4rem;height:4rem;font-size:.58rem;}
}

/* 0.10.5 — cierre visual: encuadre completo y contraste. */
/* Nosotros / Independencia: mantener el diagrama completo dentro del panel visible. */
.ms-about-page .ms-independence-art{
  margin-right:0;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.ms-about-page .ms-independence-art__orbit{
  inset:4% 5%;
}
.ms-about-page .ms-independence-art svg{
  inset:7% 8%;
  width:84%;
  height:86%;
}
.ms-about-page .ms-independence-art__option--tv{left:8%;top:8%;}
.ms-about-page .ms-independence-art__option--digital{right:8%;top:8%;}
.ms-about-page .ms-independence-art__option--ooh{left:8%;bottom:9%;}
.ms-about-page .ms-independence-art__option--radio{right:8%;bottom:9%;}
.ms-about-page .ms-independence-art__option--btl{left:50%;bottom:2%;transform:translateX(-50%);}

/* Experiencia: la leyenda permanece legible sobre cualquier plano de la gráfica. */
.ms-experience-page .ms-exp-hero-art__words{
  right:6%;
  width:max-content;
  max-width:80%;
  padding:.45rem .7rem;
  background:rgb(255 255 255 / 88%);
  box-shadow:0 4px 18px rgb(15 89 150 / 5%);
  z-index:3;
}
@media(max-width:599.98px){
  .ms-experience-page .ms-exp-hero-art__words{
    width:auto;
    max-width:none;
    right:8%;
    padding:.35rem .5rem;
    letter-spacing:.07em;
  }
}

/* Accesibilidad móvil: amplía el área táctil del botón de menú sin cambiar el icono. */
@media (max-width: 689.98px) {
  .ct-header-trigger {
    min-width: 44px;
    min-height: 44px;
    padding: 10px;
  }
}



/* ==============================================================
   HOME — Tipografía alineada EXACTAMENTE al sistema de páginas internas
   Solo modifica la Home. No altera contenido, SEO ni páginas internas.
   ============================================================== */

/* Hero de Inicio: misma escala tipográfica que los heroes .ms-inner */
.ms-home .ms-hero-copy h1 {
  color: var(--ms-gray) !important;
  font-size: clamp(3rem, 6vw, 6.2rem) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
}

.ms-home .ms-eyebrow {
  color: var(--ms-blue) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  line-height: 1.5 !important;
}

.ms-home .ms-hero-copy .ms-lead,
.ms-home .ms-section-intro .ms-lead {
  color: var(--ms-text-secondary) !important;
  font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
  line-height: 1.75 !important;
}

/* H2 editoriales de la Home: misma escala que .ms-inner h2 */
.ms-home .ms-section-intro h2,
.ms-home .ms-position-copy h2 {
  color: var(--ms-gray) !important;
  font-size: clamp(2.1rem, 4vw, 4.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

/* Texto corrido principal: mismo sistema que páginas internas */
.ms-home .ms-position-copy > p,
.ms-home .ms-section-intro > p:not(.ms-eyebrow),
.ms-home .ms-hero-copy > p:not(.ms-eyebrow):not(.ms-lead),
.ms-home .ms-process-step > p:last-child,
.ms-home .ms-capability-row > p:last-child {
  color: var(--ms-gray) !important;
  font-size: 1rem !important;
  line-height: 1.75 !important;
}

/* Mantener colores especiales donde el fondo lo exige */
.ms-home .ms-final-cta h2,
.ms-home .ms-final-cta p,
.ms-home .ms-media-v5 h2,
.ms-home .ms-media-panel h3,
.ms-home .ms-media-panel p {
  color: var(--ms-white) !important;
}

.ms-home .ms-final-cta .ms-eyebrow {
  color: var(--ms-cyan) !important;
}

@media (max-width: 599.98px) {
  .ms-home .ms-hero-copy h1 {
    font-size: clamp(2.7rem, 13vw, 4rem) !important;
  }

  .ms-home .ms-section-intro h2,
  .ms-home .ms-position-copy h2 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
  }
}

/* ==============================================================
   HOME — Corrección móvil de etiquetas residuales del collage
   Oculta únicamente el texto original usado como ancla de las cuatro
   piezas visuales. Conserva imágenes y etiquetas editoriales ::after.
   ============================================================== */
@media (max-width: 689.98px) {
  .ms-home .ms-diagram-brand,
  .ms-home .ms-diagram-media,
  .ms-home .ms-diagram-strategy,
  .ms-home .ms-diagram-audience {
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .ms-home .ms-diagram-strategy > span {
    display: none !important;
  }
}
