/*
 * Versión B: cabecera minimal con menú lateral, hero cinematográfico y tipografía más ligera.
 * Se carga después del resto de hojas y solo sobrescribe.
 */

/* Favorit variable. La versión de prueba no trae acentos ni ñ: esos caracteres caen en Inter. */
@font-face {
	font-family: 'Favorit';
	src: url('../fonts/ABCFavoritVariable-Trial.woff2') format('woff2-variations'),
		url('../fonts/ABCFavoritVariable-Trial.woff2') format('woff2');
	font-weight: 200 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
	--ease-inout: cubic-bezier(0.76, 0, 0.24, 1);
	--color-sand: 235, 232, 227;
	--header-pad: 1.75rem;
	--font-b: 'Favorit', 'Inter', sans-serif;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/*************Tipografía***************/

/* Light en tamaños grandes, regular en textos y bold solo en tamaños pequeños */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-family: var(--font-b);
	font-weight: 400;
	letter-spacing: -0.005em;
}

body button,
body input,
body select,
body textarea {
	font-family: inherit;
}

.title--xl,
.title--l,
.title--m,
.title--s {
	font-weight: 300;
	letter-spacing: -0.03em;
}

.title--xs {
	font-weight: 400;
	letter-spacing: -0.015em;
}

body .text--l,
body .text--m,
body .text--s,
body .w--500 {
	font-weight: 400;
}

body .w--600 {
	font-weight: 700;
}

.label--s,
.label--m,
.pretitle {
	font-weight: 700;
	letter-spacing: 0.08em;
}

/*************Sin diagonales***************/

body .cut--inf,
body .cut--top,
body .cut--both,
body footer {
	clip-path: none;
}

body .cut--inf {
	padding-bottom: 0;
}

body .cut--top,
body .cut--both {
	margin-top: 0;
	padding-top: 0;
}

body .cut--both {
	padding-bottom: 0;
}

body .cut--top .parallax__container {
	height: 100%;
	top: 0;
}

/*************Cabecera***************/

body header.site-header.site-header {
	color: rgb(var(--color-white));
	mix-blend-mode: difference;
	pointer-events: none;
	transition: transform 0.6s var(--ease-out);
}

header.site-header::before {
	display: none;
}

.scroll--down:not(.open--menu) header.site-header:not(.top) {
	transform: translate3d(0, -100%, 0);
}

.site-header__bar {
	align-items: center;
	display: grid;
	gap: 1.75rem;
	grid-template-columns: auto auto 1fr;
	padding: var(--header-pad) var(--grid-margin);
}

.site-header__bar > * {
	pointer-events: auto;
}

body header.site-header .logo.site-header__logo {
	width: auto;
	fill: currentcolor;
	height: 2rem;
	grid-column: 2;
	justify-self: start;
}

.site-header__logo svg {
	height: 100%;
	width: auto;
}

/* Al bajar, solo el símbolo */
.site-header__logo .carpathia__brochure--wordmark {
	transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out);
}

header.site-header:not(.top) .carpathia__brochure--wordmark {
	opacity: 0;
	transform: translate3d(-0.5rem, 0, 0);
}

.site-header__aside {
	justify-self: end;
	font-size: 0.875rem;
	letter-spacing: 0.02em;
	position: relative;
}

.site-header__aside::after,
.site-menu__private::after {
	background: currentcolor;
	bottom: -0.125rem;
	content: '';
	height: 1px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.5s var(--ease-out);
	width: 100%;
}

.site-header__aside:hover::after,
.site-menu__private:hover::after {
	transform: scaleX(1);
	transform-origin: left;
}

.open--menu .site-header__aside {
	opacity: 0;
	pointer-events: none;
}

.site-header__aside {
	transition: opacity 0.4s;
}

/* Botón de menú: dos líneas que se cruzan; la etiqueta rueda de "Menú" a "Cerrar" */

.menu-toggle {
	align-items: center;
	background: none;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: flex;
	font: inherit;
	font-size: 0.875rem;
	gap: 0.875rem;
	justify-self: start;
	letter-spacing: 0.02em;
	margin: -1rem;
	padding: 1rem;
}

/* Solo el icono: la etiqueta queda para lectores de pantalla */
.menu-toggle__label {
	display: none !important;
}

.menu-toggle__icon {
	display: block;
	height: 0.625rem;
	position: relative;
	width: 1.75rem;
}

.menu-toggle__icon i {
	background: currentcolor;
	height: 1px;
	left: 0;
	position: absolute;
	transition: transform 0.7s var(--ease-inout), width 0.5s var(--ease-out);
	width: 100%;
}

.menu-toggle__icon i:first-child {
	top: 0;
}

.menu-toggle__icon i:last-child {
	bottom: 0;
	width: 64%;
}

.menu-toggle:hover .menu-toggle__icon i:last-child {
	width: 100%;
}

.open--menu .menu-toggle__icon i:first-child {
	transform: translate3d(0, calc(0.3125rem - 0.5px), 0) rotate(45deg);
}

.open--menu .menu-toggle__icon i:last-child {
	transform: translate3d(0, calc(-0.3125rem + 0.5px), 0) rotate(-45deg);
	width: 100%;
}

.menu-toggle__label {
	display: grid;
	height: 1.25rem;
	line-height: 1.25rem;
	overflow: hidden;
}

.menu-toggle__label span {
	grid-area: 1 / 1;
	transition: transform 0.7s var(--ease-inout);
}

.menu-toggle__label span:last-child {
	transform: translate3d(0, 110%, 0);
}

.open--menu .menu-toggle__label span:first-child {
	transform: translate3d(0, -110%, 0);
}

.open--menu .menu-toggle__label span:last-child {
	transform: translate3d(0, 0, 0);
}

/*************Menú lateral***************/

.site-menu {
	inset: 0;
	pointer-events: none;
	position: fixed;
	z-index: 9;
}

.site-menu__panel {
	--w: min(40rem, 100vw);
	line-height: 1.5;
	background: rgb(var(--color-windsor));
	color: rgb(var(--color-sand));
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: space-between;
	overflow: hidden auto;
	padding: 8.5rem var(--grid-margin) 2.5rem;
	position: relative;
	width: var(--w);
	/* Cerrado: recogido contra el borde izquierdo. Abierto: el panel completo. */
	clip-path: inset(0 100% 0 0);
	transition: clip-path 0.9s var(--ease-inout);
}

.open--menu .site-menu,
.open--menu .site-menu__panel {
	pointer-events: auto;
}

.open--menu .site-menu__panel {
	clip-path: inset(0 0 0 0);
}

.close--menu .site-menu__panel {
	transition-duration: 0.7s;
	transition-delay: 0.15s;
}

.site-menu__nav ul,
.site-menu__langs {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-menu__nav ul {
	counter-reset: menu;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.site-menu .menu-item {
	counter-increment: menu;
}

.site-menu .menu-item a {
	align-items: baseline;
	display: inline-flex;
	font-size: clamp(2.5rem, 5.2vw, 4.25rem);
	font-weight: 300;
	gap: 1.25rem;
	letter-spacing: -0.04em;
	line-height: 1.12;
	transition: opacity 0.5s var(--ease-out), transform 0.6s var(--ease-out);
}

.site-menu .menu-item a::before {
	content: counter(menu, decimal-leading-zero);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	opacity: 0;
	transform: translate3d(-0.5rem, 0, 0);
	transition: opacity 0.5s var(--ease-out), transform 0.6s var(--ease-out);
	min-width: 1.25rem;
	/* Anula el subrayado heredado de .menu-item a:before */
	background: none;
	position: static;
	height: auto;
	width: auto;
}

/* Al pasar por encima: el resto se apaga y el activo avanza mostrando su número */
.site-menu__nav ul:hover .menu-item a {
	opacity: 0.32;
}

.site-menu__nav ul .menu-item a:hover,
.site-menu__nav ul .menu-item a:focus-visible {
	opacity: 1;
	transform: translate3d(0.75rem, 0, 0);
}

.site-menu .menu-item a:hover::before,
.site-menu .menu-item a:focus-visible::before,
.site-menu .current_page_item a::before {
	opacity: 0.6;
	transform: translate3d(0, 0, 0);
}

.site-menu .current_page_item a {
	pointer-events: none;
}

/* Cada enlace sube desde debajo de su propia máscara */
.site-menu__mask {
	display: block;
	overflow: hidden;
	padding-bottom: 0.08em;
}

.site-menu__mask > span {
	display: block;
	transform: translate3d(0, 105%, 0);
	transition: transform 0.5s var(--ease-inout);
}

.open--menu .site-menu__mask > span {
	transform: translate3d(0, 0, 0);
	transition: transform 1.1s var(--ease-out);
}

.open--menu .menu-item:nth-child(1) .site-menu__mask > span { transition-delay: 0.32s; }
.open--menu .menu-item:nth-child(2) .site-menu__mask > span { transition-delay: 0.38s; }
.open--menu .menu-item:nth-child(3) .site-menu__mask > span { transition-delay: 0.44s; }
.open--menu .menu-item:nth-child(4) .site-menu__mask > span { transition-delay: 0.5s; }
.open--menu .menu-item:nth-child(5) .site-menu__mask > span { transition-delay: 0.56s; }
.open--menu .menu-item:nth-child(6) .site-menu__mask > span { transition-delay: 0.62s; }
.open--menu .menu-item:nth-child(7) .site-menu__mask > span { transition-delay: 0.68s; }

.site-menu__foot {
	display: grid;
	font-size: 0.875rem;
	gap: 1.5rem 2.5rem;
	grid-template-columns: auto auto;
	justify-content: start;
	margin-top: 4rem;
	opacity: 0;
	transform: translate3d(0, 1rem, 0);
	transition: opacity 0.3s, transform 0.3s;
}

.open--menu .site-menu__foot {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 0.8s 0.7s, transform 1s 0.7s var(--ease-out);
}

.site-menu__private {
	position: relative;
	justify-self: start;
}

.site-menu__langs {
	display: flex;
	gap: 0.75rem;
	list-style: none;
}

.site-menu__langs a {
	opacity: 0.45;
	transition: opacity 0.3s;
}

.site-menu__langs a:hover {
	opacity: 1;
}

.site-menu__offices {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	grid-column: 1 / -1;
	opacity: 0.55;
}

/* El isotipo se dibuja en línea al abrir */
.site-menu__iso {
	bottom: -12%;
	fill: none;
	height: auto;
	opacity: 0.18;
	pointer-events: none;
	position: absolute;
	right: -18%;
	stroke: rgb(var(--color-wedgewod));
	stroke-width: 0.6;
	width: 70%;
}

.site-menu__iso path {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 0.6s var(--ease-inout);
}

.open--menu .site-menu__iso path {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 2.4s 0.4s var(--ease-out);
}

/* Fondo: la página se oscurece y se desplaza un poco hacia la derecha */
.menu--back {
	background: rgba(var(--color-windsor), 0.45);
	-webkit-backdrop-filter: blur(0.375rem);
	backdrop-filter: blur(0.375rem);
	display: block !important;
	height: 100%;
	left: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transition: opacity 0.8s var(--ease-out);
	width: 100%;
	z-index: 8;
}

.open--menu .menu--back {
	opacity: 1;
	pointer-events: auto;
}

body > main,
body > footer {
	transition: transform 1s var(--ease-inout);
}

.open--menu > main,
.open--menu > footer {
	transform: translate3d(4vw, 0, 0);
}

.open--menu {
	overflow: hidden;
}

@media (max-width: 680px) {

	:root {
		--header-pad: 1.25rem;
	}

	.site-header__aside,
	.menu-toggle__label {
		display: none;
	}

	body header.site-header .logo.site-header__logo {
		height: 1.75rem;
	}

	.site-menu__panel {
		padding-top: 7rem;
	}

	.site-menu__foot {
		grid-template-columns: auto;
	}

	.open--menu > main,
	.open--menu > footer {
		transform: none;
	}

}

/*************Hero cinematográfico***************/

#hero.cine {
	height: 240vh;
	overflow: visible;
	transform: none;
}

#hero.cine::before {
	display: none;
}

.cine__stage {
	--s: 30vmin;
	--x: 35vw;
	--y: 35vh;
	--e: 0;
	background: rgb(var(--color-windsor));
	height: 100vh;
	height: 100svh;
	overflow: hidden;
	position: sticky;
	top: 0;
}

.cine__media {
	clip-path: var(--clip, inset(35% 35% 35% 35%));
	inset: 0;
	opacity: 0;
	position: absolute;
	transition: opacity 1.2s var(--ease-out);
}

.is-ready .cine__media,
.is-static .cine__media {
	opacity: 1;
}

/* Con el hueco ya abierto, sin recorte */
.is-open .cine__media,
.is-static .cine__media {
	clip-path: none;
}

.cine__media::after {
	background: linear-gradient(0deg, rgba(var(--color-windsor), 0.85) 0%, rgba(var(--color-windsor), 0.35) 40%, rgba(var(--color-windsor), 0) 70%);
	content: '';
	inset: 0;
	opacity: var(--e);
	position: absolute;
}

.is-static .cine__media::after {
	opacity: 1;
}

.cine__media img,
.cine__media video {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
	/* Ligero acercamiento que se relaja al abrir: da profundidad */
	transform: scale(calc(1.18 - 0.18 * var(--e)));
	transform-origin: 60% 50%;
}

.cine__slider,
.cine__picture {
	inset: 0;
	position: absolute;
}

.cine__slide {
	inset: 0;
	opacity: 0;
	overflow: hidden;
	position: absolute;
	transition: opacity 1.6s var(--ease-inout);
}

.cine__slide.is-active {
	opacity: 1;
	z-index: 1;
}

.cine__slide.is-leaving {
	opacity: 0;
	z-index: 0;
}

/* Ken Burns lento sobre la diapositiva activa */
.cine__slide img {
	transition: transform 1.6s var(--ease-inout);
}

.cine__slide.is-active img {
	animation: cine-drift 9s linear both;
}

@keyframes cine-drift {
	from { translate: 0 0; scale: 1; }
	to { translate: -1.5% -1%; scale: 1.08; }
}

.cine__iso {
	height: calc(var(--s) * 191 / 185);
	left: var(--x);
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: var(--y);
	transition: opacity 1.2s var(--ease-out);
	width: var(--s);
}

.is-ready .cine__iso {
	opacity: 1;
}

.is-open .cine__iso,
.is-static .cine__iso {
	display: none;
}

.cine__iso svg {
	display: block;
	fill: rgb(var(--color-sand));
	height: 100%;
	width: 100%;
}

.cine__content {
	bottom: 0;
	color: rgb(var(--color-white));
	left: 0;
	padding-bottom: 4.5rem;
	position: absolute;
	right: 0;
	z-index: 2;
}

.cine__heading {
	grid-column: 1 / 9;
}

.cine__title {
	font-size: clamp(2.75rem, 6.4vw, 6.5rem);
	font-weight: 300;
	letter-spacing: -0.045em;
	line-height: 0.98;
}

.cine__text {
	font-size: 1.125rem;
	line-height: 1.6;
	margin-top: 2rem;
	max-width: 34rem;
	opacity: 0.82;
}

/* El texto entra cuando el hueco ya domina la pantalla */
.cine__title,
.cine__text,
.cine__counter {
	opacity: 0;
	transform: translate3d(0, 2rem, 0);
	transition: opacity 0.6s, transform 0.8s var(--ease-out);
}

.is-in .cine__title,
.is-in .cine__text,
.is-in .cine__counter {
	opacity: 1;
	transform: translate3d(0, 0, 0);
	transition: opacity 1.2s, transform 1.4s var(--ease-out);
}

.is-in .cine__text {
	opacity: 0.82;
	transition-delay: 0.12s;
}

.is-in .cine__counter {
	transition-delay: 0.24s;
}

.cine__counter {
	align-items: center;
	align-self: end;
	display: flex;
	font-size: 0.75rem;
	font-variant-numeric: tabular-nums;
	gap: 1rem;
	grid-column: 10 / -1;
	justify-self: end;
	letter-spacing: 0.08em;
}

.cine__progress {
	background: rgba(var(--color-white), 0.25);
	display: block;
	height: 1px;
	overflow: hidden;
	width: 5rem;
}

.cine__progress i {
	animation: cine-progress 6s linear both;
	background: rgb(var(--color-white));
	display: block;
	height: 100%;
	transform-origin: left;
}

@keyframes cine-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

/* Indicador de scroll: solo mientras el isotipo está cerrado */
.cine__hint {
	align-items: center;
	bottom: 2rem;
	color: rgb(var(--color-sand));
	display: flex;
	flex-direction: column;
	font-size: 0.6875rem;
	gap: 0.75rem;
	left: 50%;
	letter-spacing: 0.16em;
	opacity: calc(1 - var(--e) * 4);
	position: absolute;
	text-transform: uppercase;
	transform: translateX(-50%);
}

.cine__hint i {
	background: linear-gradient(rgb(var(--color-sand)) 0 0) no-repeat;
	background-size: 100% 40%;
	display: block;
	height: 2.5rem;
	overflow: hidden;
	position: relative;
	width: 1px;
	animation: cine-hint 2.2s var(--ease-inout) infinite;
	background-color: rgba(var(--color-sand), 0.25);
}

@keyframes cine-hint {
	from { background-position: 0 -100%; }
	to { background-position: 0 250%; }
}

.is-static.cine {
	height: 100vh !important;
}

.is-static .cine__hint {
	display: none;
}

@media (max-width: 680px) {

	.cine__heading,
	.cine__counter {
		grid-column: 1 / -1;
	}

	.cine__counter {
		justify-self: start;
		margin-top: 2rem;
	}

	.cine__text {
		font-size: 1rem;
	}

	#hero.cine {
		height: 200vh;
	}

}

@media (prefers-reduced-motion: reduce) {

	.site-menu__panel,
	.site-menu__mask > span,
	.menu-toggle__label span,
	body > main,
	body > footer {
		transition-duration: 0.01s !important;
		transition-delay: 0s !important;
	}

	.open--menu > main,
	.open--menu > footer {
		transform: none;
	}

}

/*************Misión***************/

.mis {
	background: rgb(var(--color-white));
	padding: 9rem 0 8rem;
}

/* Entrada genérica: sube y aparece al entrar en pantalla */
.mis [data-reveal] {
	opacity: 0;
	transform: translate3d(0, 2.5rem, 0);
	transition: opacity 1s var(--ease-out), transform 1.2s var(--ease-out);
}

.mis [data-reveal].is-inview {
	opacity: 1;
	transform: none;
}

.mis__label {
	align-items: center;
	color: rgb(var(--color-wedgewod));
	display: flex;
	font-size: 0.75rem;
	font-weight: 700;
	gap: 1rem;
	grid-column: 1 / -1;
	letter-spacing: 0.14em;
	margin-bottom: 2.5rem;
	text-transform: uppercase;
}

.mis__label::before {
	background: currentcolor;
	content: '';
	height: 1px;
	width: 2.5rem;
}

/* H2: grande, light, a la izquierda. Cada línea sube desde su máscara */
.mis__title {
	font-size: clamp(2.25rem, 4.6vw, 4.75rem);
	font-weight: 300;
	grid-column: 1 / 11;
	letter-spacing: -0.035em;
	line-height: 1.04;
	margin: 0;
}

.mis__line {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
}

.mis__line > span {
	display: block;
	transform: translate3d(0, 105%, 0);
	transition: transform 1.3s var(--ease-out);
	transition-delay: calc(var(--i) * 0.09s);
}

.mis__title.is-inview .mis__line > span {
	transform: none;
}

/* Imagen a la izquierda que se descubre; texto desplazado a la derecha */
.mis__body {
	align-items: start;
	margin-top: 7rem;
}

.mis__media {
	aspect-ratio: 4 / 5;
	grid-column: 1 / 6;
	margin: 0;
	overflow: hidden;
	position: relative;
}

.mis .mis__media {
	clip-path: inset(100% 0 0 0);
	opacity: 1;
	transform: none;
	transition: clip-path 1.6s var(--ease-inout);
}

.mis .mis__media.is-inview {
	clip-path: inset(0 0 0 0);
}

.mis__media img,
.mis__media video {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	transform: scale(1.2);
	transition: transform 2.2s var(--ease-out);
	width: 100%;
}

.mis__media.is-inview img,
.mis__media.is-inview video {
	transform: scale(1);
}

.mis__copy {
	grid-column: 7 / -1;
	padding-top: 4rem;
}

.mis__subtitle {
	color: rgb(var(--color-windsor));
	font-size: clamp(1.5rem, 2.2vw, 2.125rem);
	font-weight: 400;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
	max-width: 30rem;
}

.mis__text {
	color: rgba(var(--color-windsor), 0.72);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	margin-top: 1.75rem;
	max-width: 30rem;
}

.mis .mis__text {
	transition-delay: 0.1s;
}

.mis__text p {
	margin: 0;
}

/* Enlaces: filas con número; al pasar, un fondo sube, la palabra rueda y la flecha avanza */
.mis__links {
	border-bottom: 1px solid rgba(var(--color-windsor), 0.16);
	display: flex;
	flex-direction: column;
	margin-top: 4.5rem;
}

.mis .mis__links {
	transition-delay: 0.2s;
}

.mis__link {
	align-items: center;
	border-top: 1px solid rgba(var(--color-windsor), 0.16);
	color: rgb(var(--color-windsor));
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 2.5rem 1fr auto;
	isolation: isolate;
	overflow: hidden;
	padding: 1.5rem 0;
	position: relative;
	text-decoration: none;
	transition: color 0.6s var(--ease-out), padding 0.7s var(--ease-out);
}

.mis__link::before {
	background: rgb(var(--color-windsor));
	content: '';
	inset: 0;
	position: absolute;
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.7s var(--ease-inout);
	z-index: -1;
}

.mis__link:hover,
.mis__link:focus-visible {
	color: rgb(var(--color-sand));
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.mis__link:hover::before,
.mis__link:focus-visible::before {
	transform: scaleY(1);
	transform-origin: top;
}

.mis__link-num {
	font-size: 0.6875rem;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	letter-spacing: 0.1em;
	opacity: 0.5;
}

.mis__link-label {
	display: grid;
	font-size: clamp(1.5rem, 2.3vw, 2.25rem);
	font-weight: 300;
	height: 1.2em;
	letter-spacing: -0.025em;
	line-height: 1.2;
	overflow: hidden;
}

.mis__link-label span {
	grid-area: 1 / 1;
	transition: transform 0.7s var(--ease-inout);
}

.mis__link-label span:last-child {
	transform: translate3d(0, 100%, 0);
}

.mis__link:hover .mis__link-label span:first-child,
.mis__link:focus-visible .mis__link-label span:first-child {
	transform: translate3d(0, -100%, 0);
}

.mis__link:hover .mis__link-label span:last-child,
.mis__link:focus-visible .mis__link-label span:last-child {
	transform: none;
}

.mis__link-arrow {
	display: block;
	overflow: hidden;
	width: 3rem;
}

.mis__link-arrow svg {
	display: block;
	fill: currentcolor;
	transform: translate3d(-35%, 0, 0);
	transition: transform 0.7s var(--ease-out);
	width: 3rem;
}

.mis__link:hover .mis__link-arrow svg,
.mis__link:focus-visible .mis__link-arrow svg {
	transform: none;
}

/* Infografía: tres columnas a todo el ancho; los iconos se dibujan y las cifras cuentan */
.mis__figures {
	border-top: 1px solid rgba(var(--color-windsor), 0.16);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 9rem 0 0;
	padding: 0;
}

.mis .mis__figures {
	opacity: 1;
	transform: none;
}

.mis__figure {
	border-left: 1px solid rgba(var(--color-windsor), 0.16);
	display: flex;
	flex-direction: column;
	padding: 3rem 2.5rem 0.5rem;
}

.mis__figure:first-child {
	border-left: 0;
	padding-left: 0;
}

.mis__icon {
	color: rgb(var(--color-wedgewod));
	height: 3.5rem;
	margin-bottom: 4.5rem;
	width: 3.5rem;
}

.mis__icon svg,
.mis__icon img {
	display: block;
	height: 100%;
	overflow: visible;
	width: 100%;
}

.mis__icon path {
	stroke: currentcolor;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 1.8s var(--ease-inout);
}

.mis__figures.is-inview .mis__icon path {
	stroke-dashoffset: 0;
}

.mis__icon path:nth-child(2) { transition-delay: 0.15s; }
.mis__icon path:nth-child(3) { transition-delay: 0.3s; }
.mis__icon path:nth-child(4) { transition-delay: 0.45s; }
.mis__icon path:nth-child(5) { transition-delay: 0.6s; }

/* Al pasar por encima, el icono gira despacio */
.mis__icon svg {
	transition: transform 1.2s var(--ease-inout);
}

.mis__figure:hover .mis__icon svg {
	transform: rotate(90deg);
}

.mis__value {
	font-size: clamp(3.5rem, 7.5vw, 7.5rem);
	font-variant-numeric: tabular-nums;
	font-weight: 200;
	letter-spacing: -0.05em;
	line-height: 0.9;
}

.mis__desc {
	color: rgba(var(--color-windsor), 0.72);
	font-size: 1rem;
	line-height: 1.5;
	margin: 1.25rem 0 0;
	max-width: 16rem;
}

.mis__value,
.mis__desc {
	opacity: 0;
	transform: translate3d(0, 1.5rem, 0);
	transition: opacity 1s var(--ease-out), transform 1.2s var(--ease-out);
}

.mis__figures.is-inview .mis__value,
.mis__figures.is-inview .mis__desc {
	opacity: 1;
	transform: none;
}

.mis__figure:nth-child(2) .mis__value,
.mis__figure:nth-child(2) .mis__desc { transition-delay: 0.15s; }
.mis__figure:nth-child(3) .mis__value,
.mis__figure:nth-child(3) .mis__desc { transition-delay: 0.3s; }

@media (max-width: 1180px) and (min-width: 681px) {

	.mis__title {
		grid-column: 1 / -1;
	}

	.mis__media {
		grid-column: 1 / 4;
	}

	.mis__copy {
		grid-column: 4 / -1;
		padding-top: 0;
	}

	.mis__figure {
		padding: 2.5rem 1.5rem 0.5rem;
	}

}

@media (max-width: 680px) {

	.mis {
		padding: 6rem 0 5rem;
	}

	.mis__title,
	.mis__media,
	.mis__copy {
		grid-column: 1 / -1;
	}

	.mis__body {
		margin-top: 4rem;
	}

	.mis__media {
		aspect-ratio: 4 / 3;
	}

	.mis__copy {
		padding-top: 3rem;
	}

	.mis__links {
		margin-top: 3rem;
	}

	.mis__figures {
		grid-template-columns: 1fr;
		margin-top: 5rem;
	}

	.mis__figure,
	.mis__figure:first-child {
		border-left: 0;
		border-top: 1px solid rgba(var(--color-windsor), 0.16);
		padding: 2rem 0;
	}

	.mis__figure:first-child {
		border-top: 0;
	}

	.mis__icon {
		margin-bottom: 2rem;
	}

}

@media (prefers-reduced-motion: reduce) {

	.mis [data-reveal],
	.mis__line > span,
	.mis__media img,
	.mis__value,
	.mis__desc,
	.mis__icon path {
		transition-duration: 0.01s !important;
		transition-delay: 0s !important;
	}

}
