/*
Theme Name: María Marín
Description: Tema hijo de LGD2 Theme para la web de María Marín y su espectáculo Eternas. Contiene el diseño y las plantillas de la web.
Template: lgd2-theme
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: maria-marin
*/

/*
 * Índice
 * 1. Variables
 * 2. Base
 * 3. Piezas comunes (contenedor, títulos, botones, animaciones)
 * 4. Cabecera (la imprime el padre)
 * 5. Footer (lo imprime el padre)
 * 6. Telón de entrada
 * 7. Hero
 * 8. Marquesina
 * 9. Secciones de la portada
 * 10. Vídeos y galería
 * 11. Contacto y CTA móvil
 * 12. Ventanas (vídeo, galería completa y foto ampliada)
 * 13. Páginas interiores y 404
 * 14. Responsive
 * 15. Movimiento reducido
 *
 * El CSS del padre va dentro de @layer lgd2: todo lo de este archivo tiene prioridad sin !important.
 * El aspecto del formulario de Fluent Forms está en Personalizar → CSS adicional.
 */

/* ==========================================================================
   1. Variables
   ========================================================================== */
:root {
	/* La web ya es oscura: así los navegadores móviles con modo oscuro automático (Chrome, Samsung Internet)
	   no la oscurecen por su cuenta, que dejaba invisibles las barras doradas del botón del menú. */
	color-scheme: dark;

	--mm-bg: #070605;
	--mm-bg-2: #0c0907;
	--mm-bg-3: #130e09;
	--mm-ink: #f2e9d8;
	--mm-ink-2: #cbbfa8;
	--mm-ink-3: #958a75;
	--mm-gold-50: #fff4d6;
	--mm-gold-100: #f4e0a8;
	--mm-gold-300: #e2c07a;
	--mm-gold-500: #c9a050;
	--mm-gold-700: #8c6a2c;
	--mm-line: rgba(226, 192, 122, .24);
	--mm-line-soft: rgba(226, 192, 122, .12);
	--mm-f-display: "Cinzel", "Trajan Pro", Georgia, serif;
	--mm-f-serif: "Cormorant Garamond", Georgia, serif;
	--mm-f-sans: "Jost", "Segoe UI", system-ui, sans-serif;
	--mm-gold-grad: linear-gradient(100deg, #7d5a22 0%, #e9cf8f 16%, #fff4cf 28%, #c99a45 44%, #f6e2a8 60%, #a87a32 78%, #f3dc9e 92%, #7d5a22 100%);
	--mm-ease: cubic-bezier(.2, .7, .1, 1);
	--mm-ease-io: cubic-bezier(.7, 0, .2, 1);
	--mm-container: 1240px;
	--mm-gutter: clamp(16px, 4vw, 40px);
	--mm-nav-h: 76px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
	scroll-padding-top: var(--mm-nav-h);
}

body {
	margin: 0;
	background: var(--mm-bg);
	color: var(--mm-ink);
	font-family: var(--mm-f-sans);
	font-weight: 300;
	font-size: 1.05rem;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	cursor: pointer;
	padding: 0;
}

p {
	margin: 0 0 1.1em;
}

h1,
h2,
h3 {
	margin: 0;
	font-weight: 500;
}

::selection {
	background: var(--mm-gold-300);
	color: #120c05;
}

:focus-visible {
	outline: 1px solid var(--mm-gold-300);
	outline-offset: 4px;
}

.lgd2-main {
	display: block;
}

/* Grano de película */
body::after {
	content: "";
	position: fixed;
	inset: -50%;
	z-index: 300;
	pointer-events: none;
	opacity: .055;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .7 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	animation: mm-grano 1.2s steps(6) infinite;
}

@keyframes mm-grano {
	0% { transform: translate(0, 0); }
	20% { transform: translate(-3%, 2%); }
	40% { transform: translate(2%, -3%); }
	60% { transform: translate(-2%, -1%); }
	80% { transform: translate(3%, 3%); }
	100% { transform: translate(0, 0); }
}

/* ==========================================================================
   3. Piezas comunes
   ========================================================================== */
.mm-contenedor {
	width: 100%;
	max-width: var(--mm-container);
	margin-inline: auto;
	padding-inline: var(--mm-gutter);
}

.mm-contenedor--estrecho {
	max-width: 900px;
}

.mm-dorado {
	background: var(--mm-gold-grad);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
}

.mm-antetitulo {
	display: inline-flex;
	align-items: center;
	gap: .9em;
	margin: 0 0 1.6rem;
	font-family: var(--mm-f-sans);
	font-weight: 500;
	font-size: .74rem;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--mm-gold-300);
}

.mm-antetitulo__num {
	font-family: var(--mm-f-display);
	letter-spacing: .12em;
	color: var(--mm-gold-100);
}

.mm-antetitulo__linea {
	width: 38px;
	height: 1px;
	background: linear-gradient(90deg, var(--mm-gold-500), transparent);
}

.mm-titulo {
	margin-bottom: 1.6rem;
	font-family: var(--mm-f-serif);
	font-weight: 500;
	font-size: clamp(2.4rem, 4.8vw, 4.3rem);
	line-height: 1.02;
	letter-spacing: -.01em;
	color: var(--mm-ink);
	text-wrap: balance;
}

.mm-titulo em {
	font-style: italic;
	color: var(--mm-gold-300);
}

.mm-entradilla {
	max-width: 62ch;
	font-size: clamp(1.08rem, 1.4vw, 1.22rem);
	line-height: 1.75;
	color: var(--mm-ink-2);
}

.mm-suave {
	color: var(--mm-ink-3);
}

.mm-nota {
	font-size: .85rem;
	letter-spacing: .02em;
	color: var(--mm-ink-3);
}

/* Ornamento: línea, rombo, línea */
.mm-ornamento {
	display: flex;
	align-items: center;
	gap: 12px;
	width: min(280px, 70%);
	color: var(--mm-gold-500);
}

.mm-ornamento::before,
.mm-ornamento::after {
	content: "";
	flex: 1;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mm-gold-500));
}

.mm-ornamento::after {
	background: linear-gradient(90deg, var(--mm-gold-500), transparent);
}

.mm-ornamento i {
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
	border: 1px solid var(--mm-gold-300);
	box-shadow: 0 0 12px rgba(226, 192, 122, .6);
}

.mm-ornamento--corto {
	width: 80px;
}

/* Botones */
.mm-boton {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7em;
	padding: 1.05rem 1.7rem;
	border-radius: 2px;
	overflow: hidden;
	isolation: isolate;
	font-family: var(--mm-f-sans);
	font-weight: 500;
	font-size: .76rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
	transition: transform .4s var(--mm-ease), box-shadow .4s var(--mm-ease), border-color .4s, color .4s, background-color .4s;
}

.mm-boton .mm-icono {
	width: 16px;
	height: 16px;
	flex: none;
}

.mm-boton--oro {
	color: #1a1206;
	background: var(--mm-gold-grad);
	background-size: 200% 100%;
	background-position: 30% 0;
	box-shadow: 0 10px 40px -12px rgba(226, 192, 122, .55), inset 0 0 0 1px rgba(255, 244, 214, .35);
}

.mm-boton--oro::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .9s var(--mm-ease);
}

.mm-boton--oro:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 50px -14px rgba(226, 192, 122, .7), inset 0 0 0 1px rgba(255, 244, 214, .5);
}

.mm-boton--oro:hover::after {
	transform: translateX(120%);
}

.mm-boton--linea {
	color: var(--mm-ink);
	border: 1px solid var(--mm-line);
	background: rgba(10, 8, 6, .35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.mm-boton--linea:hover {
	border-color: var(--mm-gold-300);
	color: var(--mm-gold-100);
	transform: translateY(-2px);
}

/* Botón de cerrar (X) de las ventanas */
.mm-cerrar {
	position: relative;
	flex: none;
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid var(--mm-line);
	background: rgba(7, 6, 5, .6);
	transition: border-color .3s, background-color .3s, transform .5s var(--mm-ease);
}

.mm-cerrar::before,
.mm-cerrar::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 1px;
	background: var(--mm-gold-100);
	transform: rotate(45deg);
}

.mm-cerrar::after {
	transform: rotate(-45deg);
}

.mm-cerrar:hover {
	border-color: var(--mm-gold-300);
	background: rgba(226, 192, 122, .12);
	transform: rotate(90deg);
}

/* Aparición al hacer scroll */
.js [data-aparece] {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.1s var(--mm-ease), transform 1.2s var(--mm-ease);
	transition-delay: calc(var(--d, 0) * 110ms);
}

.js [data-aparece].is-in {
	opacity: 1;
	transform: none;
}

/* ==========================================================================
   4. Cabecera (la imprime el padre)
   ========================================================================== */
.lgd2-header {
	--lgd2-header-bg: #0b0806;
	--lgd2-submenu-offset: 1rem;

	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	background: transparent;
	color: var(--mm-ink);
	border-bottom: 1px solid transparent;
	transition: background-color .5s, border-color .5s, -webkit-backdrop-filter .5s, backdrop-filter .5s;
}

.lgd2-header.is-scrolled,
.lgd2-header.is-menu-open,
body:not(.home) .lgd2-header {
	background: rgba(7, 6, 5, .84);
	-webkit-backdrop-filter: blur(14px) saturate(1.2);
	backdrop-filter: blur(14px) saturate(1.2);
	border-bottom-color: var(--mm-line-soft);
}

.admin-bar .lgd2-header {
	top: var(--wp-admin--admin-bar--height, 32px);
}

.lgd2-header__inner {
	max-width: var(--mm-container);
	min-height: var(--mm-nav-h);
	padding: .5rem var(--mm-gutter);
	gap: 2rem;
}

.lgd2-header__site-title {
	display: inline-flex;
	flex-direction: column;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: 1.06rem;
	line-height: 1;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mm-ink);
}

.lgd2-header__site-title::after {
	content: "Eternas";
	margin-top: 6px;
	font-family: var(--mm-f-sans);
	font-weight: 400;
	font-size: .6rem;
	letter-spacing: .42em;
	color: var(--mm-gold-300);
}

.lgd2-header__menu {
	gap: 2rem;
}

.lgd2-nav__list {
	gap: .25rem 1.7rem;
}

.lgd2-nav__list a {
	position: relative;
	padding: .4rem 0;
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--mm-ink-2);
	transition: color .3s;
}

.lgd2-nav__list a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: var(--mm-gold-300);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .5s var(--mm-ease);
}

.lgd2-nav__list a:hover,
.lgd2-nav__list a.is-activo {
	opacity: 1;
	color: var(--mm-gold-100);
}

.lgd2-nav__list a:hover::after,
.lgd2-nav__list a.is-activo::after {
	transform: scaleX(1);
	transform-origin: left;
}

.lgd2-nav__list [aria-current="page"] {
	font-weight: 400;
}

.lgd2-header .lgd2-header__cta {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .8rem 1.2rem;
	border-radius: 2px;
	overflow: hidden;
	isolation: isolate;
	background: var(--mm-gold-grad);
	background-size: 200% 100%;
	background-position: 30% 0;
	color: #1a1206;
	font-family: var(--mm-f-sans);
	font-weight: 500;
	font-size: .68rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
	box-shadow: 0 10px 40px -12px rgba(226, 192, 122, .55), inset 0 0 0 1px rgba(255, 244, 214, .35);
	transition: transform .4s var(--mm-ease), box-shadow .4s var(--mm-ease);
}

.lgd2-header .lgd2-header__cta::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%);
	transform: translateX(-120%);
	transition: transform .9s var(--mm-ease);
}

.lgd2-header .lgd2-header__cta:hover {
	opacity: 1;
	transform: translateY(-2px);
}

.lgd2-header .lgd2-header__cta:hover::after {
	transform: translateX(120%);
}

.lgd2-header__toggle {
	color: var(--mm-gold-100);
}

/* ==========================================================================
   5. Footer (lo imprime el padre)
   ========================================================================== */
.lgd2-footer {
	position: relative;
	overflow: hidden;
	background: var(--mm-bg);
	color: var(--mm-ink-3);
	border-top: 1px solid var(--mm-line-soft);
	font-size: .84rem;
}

.lgd2-footer .lgd2-footer__inner {
	max-width: var(--mm-container);
	padding: clamp(60px, 8vw, 100px) var(--mm-gutter) 40px;
}

/* La palabra ETERNAS, grande y desvanecida, encima de la franja del copyright */
.lgd2-footer__inner::before {
	content: "ETERNAS";
	content: "ETERNAS" / "";
	display: block;
	margin-bottom: clamp(30px, 5vw, 60px);
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: clamp(3.4rem, 15.5vw, 14rem);
	line-height: .9;
	letter-spacing: .08em;
	text-align: center;
	white-space: nowrap;
	opacity: .13;
	background: var(--mm-gold-grad);
	background-size: 220% 100%;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	-webkit-mask-image: linear-gradient(180deg, #000 20%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 20%, transparent 100%);
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
}

.lgd2-footer .lgd2-footer__legal {
	gap: 1.2rem 2rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--mm-line-soft);
	font-size: .84rem;
}

.lgd2-footer__copyright {
	opacity: 1;
	color: var(--mm-ink-3);
}

.lgd2-footer a {
	transition: color .3s;
}

.lgd2-footer a:hover {
	text-decoration: none;
	color: var(--mm-gold-100);
}

.lgd2-footer .lgd2-redes__link {
	width: 2.5rem;
	height: 2.5rem;
	border: 1px solid var(--mm-line);
	color: var(--mm-gold-300);
	transition: background-color .3s, color .3s, border-color .3s;
}

.lgd2-footer .lgd2-redes__link:hover {
	background: var(--mm-gold-300);
	border-color: var(--mm-gold-300);
	color: #1a1206;
}

/* ==========================================================================
   6. Telón de entrada
   ========================================================================== */
.mm-telon {
	display: none;
}

.js .mm-telon {
	position: fixed;
	inset: 0;
	z-index: 250;
	display: flex;
	cursor: pointer;
}

.mm-telon__panel {
	position: relative;
	flex: 1;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 100%),
		repeating-linear-gradient(90deg, #14060489 0, #4b1a12 2.2vw, #2a0d09 3.6vw, #14060489 5.2vw),
		#250b08;
	transition: transform 1.7s var(--mm-ease-io);
}

.mm-telon__panel::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--mm-gold-700), var(--mm-gold-300), var(--mm-gold-700));
	box-shadow: 0 0 22px rgba(226, 192, 122, .5);
}

.mm-telon__panel--izq::after {
	right: 0;
}

.mm-telon__panel--der::after {
	left: 0;
}

.mm-telon__bambalina {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	z-index: 2;
	height: 12vh;
	min-height: 70px;
	background: radial-gradient(60% 120% at 50% 0%, #4b1a12 0%, #250b08 70%);
	-webkit-mask: radial-gradient(40px 26px at 40px 100%, transparent 98%, #000) 0 0 / 80px 100% repeat-x;
	mask: radial-gradient(40px 26px at 40px 100%, transparent 98%, #000) 0 0 / 80px 100% repeat-x;
	transition: transform 1.4s var(--mm-ease-io) .25s;
}

.mm-telon__bambalina::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 24px;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mm-gold-500), transparent);
}

.mm-telon__marca {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	transition: opacity .6s ease, transform 1s var(--mm-ease);
}

.mm-telon__marca span {
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-size: clamp(1.3rem, 2.4vw, 1.8rem);
	color: var(--mm-gold-100);
}

.mm-telon__marca b {
	padding-left: .24em;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: clamp(2.6rem, 6vw, 4.6rem);
	letter-spacing: .24em;
}

.mm-telon__marca small {
	margin-top: 8px;
	font-family: var(--mm-f-sans);
	font-size: .68rem;
	letter-spacing: .34em;
	text-transform: uppercase;
	color: var(--mm-ink-3);
}

.mm-telon-abierto .mm-telon {
	pointer-events: none;
}

.mm-telon-abierto .mm-telon__marca {
	opacity: 0;
	transform: scale(1.04);
}

.mm-telon-abierto .mm-telon__panel--izq {
	transform: translateX(-101%);
}

.mm-telon-abierto .mm-telon__panel--der {
	transform: translateX(101%);
}

.mm-telon-abierto .mm-telon__bambalina {
	transform: translateY(-110%);
}

.mm-telon-fin .mm-telon {
	display: none;
}

/* ==========================================================================
   7. Hero
   ========================================================================== */
.mm-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100svh;
	padding-top: calc(var(--mm-nav-h) + 3vh);
	overflow: hidden;
	isolation: isolate;
	background: radial-gradient(70% 70% at 72% 40%, #2a1c0d 0%, #120c07 45%, var(--mm-bg) 80%);
}

.mm-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(7, 6, 5, .94) 0%, rgba(7, 6, 5, .78) 28%, rgba(7, 6, 5, .25) 50%, transparent 62%);
}

.mm-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 4;
	pointer-events: none;
	background: radial-gradient(520px circle at var(--mx, 70%) var(--my, 40%), rgba(255, 214, 150, .07), transparent 65%);
}

.mm-hero__polvo {
	position: absolute;
	inset: 0;
	z-index: 3;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.mm-hero__haces {
	position: absolute;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	pointer-events: none;
}

.mm-hero__haces i {
	position: absolute;
	top: -12%;
	left: var(--l);
	width: var(--w, 30vw);
	height: 125%;
	transform-origin: 50% 0;
	transform: rotate(var(--r));
	background: linear-gradient(180deg, rgba(255, 228, 170, .26) 0%, rgba(255, 210, 140, .08) 40%, transparent 78%);
	clip-path: polygon(47% 0, 53% 0, 100% 100%, 0 100%);
	filter: blur(12px);
	mix-blend-mode: screen;
	opacity: 0;
	animation: mm-entrar-haz 2.4s var(--mm-ease) forwards, mm-oscilar var(--t, 11s) ease-in-out infinite alternate;
	animation-delay: var(--dl, 0s), var(--dl, 0s);
}

@keyframes mm-entrar-haz {
	to { opacity: var(--o, .8); }
}

@keyframes mm-oscilar {
	from { transform: rotate(var(--r)); }
	to { transform: rotate(calc(var(--r) * -1 + var(--s, 0deg))); }
}

.mm-hero__visual {
	position: absolute;
	top: var(--mm-nav-h);
	right: -3vw;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	width: min(64vw, 1080px);
	pointer-events: none;
}

.mm-hero__paralaje {
	position: relative;
	width: 100%;
	transition: transform 1.2s var(--mm-ease);
}

.mm-hero__marco {
	position: relative;
	width: 100%;
	aspect-ratio: 1024 / 708;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24%, #000 84%, transparent 100%), linear-gradient(180deg, transparent 0, #000 11%, #000 56%, transparent 96%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(90deg, transparent 0, #000 24%, #000 84%, transparent 100%), linear-gradient(180deg, transparent 0, #000 11%, #000 56%, transparent 96%);
	mask-composite: intersect;
}

.mm-hero__marco img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.08);
	filter: saturate(1.05) contrast(1.04);
}

.js .mm-hero__marco img {
	opacity: 0;
	transition: opacity 2.2s ease .2s, transform 9s cubic-bezier(.2, .6, .2, 1);
}

.mm-listo .mm-hero__marco img {
	opacity: 1;
	transform: scale(1);
}

.mm-hero__nombres {
	position: absolute;
	inset: 0;
	z-index: 2;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-hero__nombres li {
	position: absolute;
	top: 1.5%;
	left: var(--x);
	transform: translateX(-50%);
	text-align: center;
	font-family: var(--mm-f-display);
	font-size: clamp(.62rem, .85vw, .8rem);
	line-height: 1.35;
	letter-spacing: .2em;
	color: var(--mm-gold-100);
	text-shadow: 0 2px 14px rgba(0, 0, 0, .9);
}

.mm-hero__nombres li::after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	margin: .5em auto 0;
	transform: rotate(45deg);
	border: 1px solid var(--mm-gold-300);
}

.js .mm-hero__nombres li {
	opacity: 0;
	translate: 0 -10px;
	transition: opacity 1.2s var(--mm-ease), translate 1.2s var(--mm-ease);
	transition-delay: calc(1.3s + var(--i) * .16s);
}

.mm-listo .mm-hero__nombres li {
	opacity: 1;
	translate: 0 0;
}

.mm-hero__contenido {
	position: relative;
	z-index: 5;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-block: 2vh 4vh;
}

.mm-hero__insignia {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .7rem;
	margin-bottom: 1.6rem;
}

.mm-hero__internacional {
	gap: .9em;
	margin: 0;
	padding: .7rem 1.35rem .7rem 1.05rem;
	font-size: .8rem;
	color: var(--mm-gold-100);
	border: 1px solid rgba(226, 192, 122, .5);
	border-radius: 999px;
	background: linear-gradient(100deg, rgba(226, 192, 122, .16), rgba(10, 8, 6, .6) 70%);
	box-shadow: 0 0 34px -10px rgba(226, 192, 122, .55), inset 0 0 0 1px rgba(255, 244, 214, .06);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

.mm-pulso {
	position: relative;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--mm-gold-300);
	box-shadow: 0 0 0 0 rgba(226, 192, 122, .6);
	animation: mm-pulso 2.4s infinite;
}

@keyframes mm-pulso {
	0% { box-shadow: 0 0 0 0 rgba(226, 192, 122, .55); }
	70% { box-shadow: 0 0 0 12px rgba(226, 192, 122, 0); }
	100% { box-shadow: 0 0 0 0 rgba(226, 192, 122, 0); }
}

.mm-hero__donde {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4em .9em;
	margin: 0 0 0 .2rem;
	font-size: .7rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--mm-ink-2);
}

.mm-sep {
	width: 4px;
	height: 4px;
	transform: rotate(45deg);
	background: var(--mm-gold-500);
}

.mm-hero__nombre {
	margin: 0 0 .1em .08em;
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.7rem, 2.9vw, 2.6rem);
	line-height: 1;
	color: var(--mm-ink);
}

.mm-hero__titulo {
	margin: 0 0 .25em -.04em;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: clamp(3.6rem, 9.4vw, 9.6rem);
	line-height: .95;
	letter-spacing: .06em;
	white-space: nowrap;
	filter: drop-shadow(0 6px 30px rgba(0, 0, 0, .65)) drop-shadow(0 0 40px rgba(226, 170, 80, .18));
}

.mm-hero__titulo .mm-dorado {
	display: inline-block;
	animation: mm-brillo 8s linear infinite;
}

@keyframes mm-brillo {
	from { background-position: 0% 0; }
	to { background-position: -220% 0; }
}

.js .mm-hero__titulo .mm-dorado {
	opacity: 0;
}

.mm-listo .mm-hero__titulo .mm-dorado {
	animation: mm-titulo 2.4s var(--mm-ease) .15s both, mm-brillo 8s linear 2.6s infinite;
}

@keyframes mm-titulo {
	from {
		opacity: 0;
		letter-spacing: .42em;
		filter: blur(16px);
	}

	to {
		opacity: 1;
		letter-spacing: .06em;
		filter: blur(0);
	}
}

.mm-hero__subtitulo {
	margin: 1.2rem 0 1rem;
	font-family: var(--mm-f-display);
	font-size: clamp(.8rem, 1.15vw, 1rem);
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--mm-gold-100);
}

.mm-hero__etiquetas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	max-width: 40rem;
	margin: 0 0 1.2rem;
	padding: 0;
	list-style: none;
}

.mm-etiqueta {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .42rem .95rem .42rem .75rem;
	border: 1px solid var(--mm-line-soft);
	border-radius: 999px;
	background: rgba(10, 8, 6, .5);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	font-size: .82rem;
	line-height: 1.25;
	color: var(--mm-ink-2);
}

.mm-etiqueta .mm-icono {
	width: 15px;
	height: 15px;
	flex: none;
	color: var(--mm-gold-500);
}

.mm-hero__entradilla {
	max-width: 34rem;
	margin-bottom: 1.9rem;
	font-size: clamp(1.02rem, 1.25vw, 1.15rem);
	color: var(--mm-ink-2);
}

.mm-hero__entradilla strong {
	font-weight: 400;
	color: var(--mm-ink);
}

.mm-hero__botones {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.js [data-entrada] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 1.2s var(--mm-ease), transform 1.3s var(--mm-ease);
	transition-delay: calc(.5s + var(--d, 0) * .14s);
}

.mm-listo [data-entrada] {
	opacity: 1;
	transform: none;
}

.mm-hero__datos {
	position: relative;
	z-index: 5;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--mm-line);
}

.mm-hero__datos::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 30%;
	height: 1px;
	background: linear-gradient(90deg, var(--mm-gold-300), transparent);
	animation: mm-barrido 6s var(--mm-ease-io) infinite;
}

@keyframes mm-barrido {
	0% { transform: translateX(-30%); opacity: 0; }
	15% { opacity: 1; }
	85% { opacity: 1; }
	100% { transform: translateX(330%); opacity: 0; }
}

.mm-dato {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 1.5rem 1.6rem 1.7rem 0;
}

.mm-dato + .mm-dato {
	padding-left: 1.6rem;
	border-left: 1px solid var(--mm-line-soft);
}

.mm-dato__icono {
	flex: none;
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	color: var(--mm-gold-300);
}

.mm-dato__icono .mm-icono {
	width: 18px;
	height: 18px;
}

.mm-dato__clave {
	display: block;
	margin-bottom: .25rem;
	font-family: var(--mm-f-display);
	font-size: .84rem;
	letter-spacing: .12em;
	color: var(--mm-gold-100);
}

.mm-dato__valor {
	display: block;
	font-size: .9rem;
	line-height: 1.5;
	color: var(--mm-ink-3);
}

.mm-hero__bajar {
	position: absolute;
	right: var(--mm-gutter);
	bottom: 2.2rem;
	z-index: 6;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	font-size: .6rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mm-ink-3);
	writing-mode: vertical-rl;
}

.mm-hero__bajar::after {
	content: "";
	width: 1px;
	height: 54px;
	background: linear-gradient(var(--mm-gold-300), transparent);
	animation: mm-caer 2.2s var(--mm-ease) infinite;
}

@keyframes mm-caer {
	0% { transform: scaleY(0); transform-origin: top; }
	50% { transform: scaleY(1); transform-origin: top; }
	51% { transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ==========================================================================
   8. Marquesina
   ========================================================================== */
.mm-marquesina {
	position: relative;
	overflow: hidden;
	padding: 1.3rem 0;
	border-block: 1px solid var(--mm-line-soft);
	background: linear-gradient(180deg, var(--mm-bg), #0e0a06, var(--mm-bg));
}

.mm-marquesina__pista {
	display: flex;
	width: max-content;
	animation: mm-marquesina 55s linear infinite;
}

.mm-marquesina__grupo {
	display: flex;
	align-items: center;
	gap: 2.4rem;
	padding-right: 2.4rem;
}

.mm-marquesina span {
	font-family: var(--mm-f-display);
	font-size: clamp(1.15rem, 2.2vw, 1.7rem);
	letter-spacing: .16em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--mm-ink-2);
}

.mm-marquesina .mm-marquesina__oro {
	color: var(--mm-gold-500);
}

.mm-marquesina i {
	flex: none;
	width: 8px;
	height: 8px;
	transform: rotate(45deg);
	background: var(--mm-gold-500);
}

@keyframes mm-marquesina {
	to { transform: translateX(-50%); }
}

/* ==========================================================================
   9. Secciones de la portada
   ========================================================================== */
.mm-seccion {
	position: relative;
	padding-block: clamp(80px, 9vw, 130px);
}

.mm-seccion__cabecera {
	max-width: 820px;
	margin-bottom: clamp(44px, 6vw, 80px);
}

.mm-seccion__cabecera--centro {
	margin-inline: auto;
	text-align: center;
}

.mm-seccion__cabecera--centro .mm-entradilla {
	margin-inline: auto;
}

.mm-separador {
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mm-line), transparent);
}

/* I · La artista */
.mm-artista {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(40px, 7vw, 110px);
	align-items: center;
}

.mm-retrato {
	position: relative;
	justify-self: center;
	width: 100%;
	max-width: 460px;
	margin: 0;
}

.mm-retrato__arco {
	position: relative;
	aspect-ratio: 420 / 610;
	overflow: hidden;
	border-radius: 999px 999px 6px 6px;
	background: var(--mm-bg-3);
	box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .9);
}

.mm-retrato__arco img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.6s var(--mm-ease);
}

.mm-retrato:hover .mm-retrato__arco img {
	transform: scale(1.04);
}

.mm-retrato__arco::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 60%, rgba(7, 6, 5, .75));
}

.mm-retrato__anillo {
	position: absolute;
	inset: -16px;
	border: 1px solid var(--mm-line);
	border-radius: 999px 999px 10px 10px;
	pointer-events: none;
}

.mm-retrato__anillo::before {
	content: "";
	position: absolute;
	inset: 7px;
	border: 1px solid var(--mm-line-soft);
	border-radius: inherit;
}

.mm-retrato__anillo::after {
	content: "";
	position: absolute;
	top: -5px;
	left: 50%;
	width: 9px;
	height: 9px;
	transform: translateX(-50%) rotate(45deg);
	background: var(--mm-bg);
	border: 1px solid var(--mm-gold-300);
}

.mm-retrato__nombre {
	position: absolute;
	bottom: -22px;
	left: 50%;
	transform: translateX(-50%);
	padding: .7rem 1.3rem;
	white-space: nowrap;
	background: var(--mm-bg);
	border: 1px solid var(--mm-line);
	font-family: var(--mm-f-display);
	font-size: .72rem;
	letter-spacing: .24em;
	color: var(--mm-gold-100);
}

.mm-bio p {
	margin-bottom: 1em;
	color: var(--mm-ink-2);
}

.mm-bio .mm-entradilla {
	margin-bottom: 1.1em;
	color: var(--mm-ink);
}

.mm-bio p:not(.mm-entradilla) {
	font-size: 1rem;
	color: var(--mm-ink-2);
	opacity: .88;
}

.mm-bio em {
	font-style: italic;
	color: var(--mm-ink);
}

.mm-cifras {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 2.2rem;
	border-top: 1px solid var(--mm-line-soft);
	border-bottom: 1px solid var(--mm-line-soft);
}

.mm-cifra {
	padding: 1.5rem 1rem 1.4rem 0;
}

.mm-cifra + .mm-cifra {
	padding-left: 1.2rem;
	border-left: 1px solid var(--mm-line-soft);
}

.mm-cifra b {
	display: block;
	margin-bottom: .55rem;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: clamp(1.7rem, 2.8vw, 2.5rem);
	line-height: 1;
	white-space: nowrap;
}

.mm-cifra b.mm-cifra--texto {
	font-size: clamp(1.25rem, 1.9vw, 1.7rem);
	line-height: 1.45;
}

.mm-cifra span {
	display: block;
	font-size: .78rem;
	line-height: 1.45;
	letter-spacing: .06em;
	color: var(--mm-ink-3);
}

/* II · Trayectoria */
.mm-ruta {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--mm-line-soft);
	border-radius: 4px;
	background: radial-gradient(90% 120% at 50% 0%, #17110a 0%, var(--mm-bg-2) 60%);
}

.mm-ruta__svg {
	display: block;
	width: 100%;
	height: auto;
}

.mm-ruta__rotulo {
	font-family: var(--mm-f-display);
	font-size: 15px;
	letter-spacing: .22em;
	fill: var(--mm-gold-100);
}

.mm-ruta__num {
	font-family: var(--mm-f-sans);
	font-size: 10.5px;
	letter-spacing: .18em;
	fill: #958a75;
}

.mm-ruta__oceano {
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-size: 17px;
	letter-spacing: .06em;
	fill: #958a75;
}

.mm-ruta__arco {
	stroke-dasharray: 3 8;
	animation: mm-fluir 2.2s linear infinite;
}

@keyframes mm-fluir {
	to { stroke-dashoffset: -44; }
}

.mm-ruta__onda {
	transform-box: fill-box;
	transform-origin: center;
	animation: mm-onda 2.8s var(--mm-ease) infinite;
}

.mm-ruta__onda--2 {
	animation-delay: 1.4s;
}

@keyframes mm-onda {
	from { transform: scale(.4); opacity: .9; }
	to { transform: scale(3.2); opacity: 0; }
}

.mm-meritos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	margin-top: 28px;
	background: var(--mm-line-soft);
	border: 1px solid var(--mm-line-soft);
}

.mm-merito {
	position: relative;
	padding: 2.2rem 2rem 2.3rem;
	overflow: hidden;
	background: var(--mm-bg);
	transition: background-color .5s;
}

.mm-merito::before {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 2px;
	background: var(--mm-gold-grad);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .8s var(--mm-ease);
}

.mm-merito:hover {
	background: #0f0b07;
}

.mm-merito:hover::before {
	transform: scaleX(1);
}

.mm-merito__icono {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	margin-bottom: 1.4rem;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	color: var(--mm-gold-300);
}

.mm-merito__icono .mm-icono {
	width: 21px;
	height: 21px;
}

.mm-merito h3 {
	margin-bottom: .7rem;
	font-family: var(--mm-f-display);
	font-size: 1.12rem;
	letter-spacing: .1em;
	color: var(--mm-ink);
}

.mm-merito p {
	margin: 0;
	font-size: .96rem;
	color: var(--mm-ink-3);
}

.mm-ruta-nota {
	margin-top: 22px;
	text-align: center;
}

/* III · El espectáculo */
.mm-seccion--espectaculo {
	background: linear-gradient(180deg, var(--mm-bg), #0b0806 50%, var(--mm-bg));
}

.mm-espectaculo {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(40px, 6vw, 90px);
	align-items: center;
}

/* Frase destacada (con un rombo dorado al principio de la línea) */
.mm-destacado {
	position: relative;
	margin: .4rem 0 1.5rem;
	padding: .15rem 0 .15rem 1.5rem;
	border-left: 1px solid var(--mm-gold-500);
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.45rem, 2.1vw, 1.8rem);
	line-height: 1.3;
	color: var(--mm-gold-100);
	text-wrap: balance;
}

.mm-destacado::before {
	content: "";
	position: absolute;
	top: .5em;
	left: -4px;
	width: 7px;
	height: 7px;
	transform: rotate(45deg);
	background: var(--mm-gold-300);
	box-shadow: 0 0 12px rgba(226, 192, 122, .6);
}

.mm-comparativa {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 2.2rem;
}

.mm-comparativa__item {
	padding: 1.2rem 1.2rem 1.1rem;
	border: 1px solid var(--mm-line-soft);
	border-radius: 3px;
}

.mm-comparativa__item--oro {
	border-color: var(--mm-line);
	background: linear-gradient(160deg, rgba(226, 192, 122, .08), transparent 60%);
}

.mm-comparativa__item svg {
	display: block;
	width: 100%;
	height: 46px;
	margin-bottom: .8rem;
}

.mm-comparativa__item b {
	display: block;
	margin-bottom: .3rem;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: .86rem;
	letter-spacing: .14em;
}

.mm-comparativa__item span {
	display: block;
	font-size: .86rem;
	line-height: 1.5;
	color: var(--mm-ink-3);
}

.mm-diagrama {
	position: relative;
	padding: clamp(20px, 3vw, 36px);
	border: 1px solid var(--mm-line-soft);
	border-radius: 4px;
	background: radial-gradient(70% 90% at 20% 50%, rgba(226, 192, 122, .09), transparent 70%), var(--mm-bg-2);
}

.mm-diagrama svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.mm-d-enlace {
	fill: none;
	stroke: url(#mm-enlace-oro);
	stroke-width: 1.3;
	stroke-dasharray: var(--len, 600);
	stroke-dashoffset: var(--len, 600);
	transition: stroke-dashoffset 1.8s var(--mm-ease);
	transition-delay: calc(.35s + var(--i) * .2s);
}

.mm-diagrama.is-in .mm-d-enlace {
	stroke-dashoffset: 0;
}

.mm-d-nodo {
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity 1s var(--mm-ease), transform 1s var(--mm-ease);
	transition-delay: calc(1.1s + var(--i) * .2s);
}

.mm-diagrama.is-in .mm-d-nodo {
	opacity: 1;
	transform: none;
}

.mm-d-nombre {
	font-family: var(--mm-f-display);
	font-size: 17px;
	letter-spacing: .08em;
	fill: #f2e9d8;
}

.mm-d-estilo {
	font-family: var(--mm-f-sans);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	fill: #c9a050;
}

.mm-d-origen {
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-size: 21px;
	fill: #f4e0a8;
}

.mm-d-iniciales {
	font-family: var(--mm-f-display);
	font-size: 18px;
	letter-spacing: 2px;
	fill: #f4e0a8;
}

.mm-d-rotulo {
	font-family: var(--mm-f-sans);
	font-size: 10px;
	letter-spacing: .3em;
	fill: #958a75;
}

.mm-d-orbe {
	transform-box: fill-box;
	transform-origin: center;
	animation: mm-orbe 4s ease-in-out infinite;
}

@keyframes mm-orbe {
	50% { transform: scale(1.08); }
}

/* IV · Las voces */
.mm-voces {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.mm-voz {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: linear-gradient(180deg, #110d08, #0a0806);
	border: 1px solid var(--mm-line-soft);
	border-radius: 200px 200px 4px 4px;
	transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));
	transition: transform .6s var(--mm-ease), border-color .6s, box-shadow .6s;
	will-change: transform;
}

.mm-voz:hover {
	border-color: var(--mm-line);
	box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .95), 0 0 0 1px rgba(226, 192, 122, .08), 0 0 60px -20px rgba(226, 192, 122, .25);
}

.mm-voz__img {
	position: relative;
	aspect-ratio: 5 / 5.6;
	margin: 10px 10px 0;
	overflow: hidden;
	border-radius: 200px 200px 0 0;
}

.mm-voz__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
	transform: scale(1.02);
	filter: contrast(1.05) brightness(.95);
	transition: transform 1.4s var(--mm-ease), filter 1s;
}

.mm-voz:hover .mm-voz__img img {
	transform: scale(1.09);
	filter: contrast(1.1) brightness(1.05);
}

.mm-voz__img::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 45%, rgba(10, 8, 6, .55) 72%, #0f0b07 100%);
}

.mm-voz__img::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 35%, rgba(255, 236, 190, .22) 50%, transparent 65%);
	transform: translateX(-120%);
	transition: transform 1.2s var(--mm-ease);
}

.mm-voz:hover .mm-voz__img::before {
	transform: translateX(120%);
}

.mm-voz__num {
	position: absolute;
	bottom: 10px;
	left: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 10px;
	transform: translateX(-50%);
	font-family: var(--mm-f-display);
	font-size: .8rem;
	letter-spacing: .2em;
	color: var(--mm-gold-300);
}

.mm-voz__num::before,
.mm-voz__num::after {
	content: "";
	width: 22px;
	height: 1px;
	background: var(--mm-gold-500);
}

.mm-voz__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 1.1rem 1.5rem 1.7rem;
	text-align: center;
}

.mm-voz__epiteto {
	margin: 0 0 .25rem;
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-size: 1.06rem;
	color: var(--mm-gold-300);
}

.mm-voz__nombre {
	margin-bottom: .45rem;
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: clamp(1.08rem, 1.35vw, 1.24rem);
	line-height: 1.2;
	letter-spacing: .05em;
	white-space: nowrap;
	color: var(--mm-ink);
}

.mm-voz__meta {
	margin: 0 0 1.2rem;
	font-size: .74rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mm-ink-3);
}

.mm-voz__temas {
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid var(--mm-line-soft);
}

.mm-voz__temas span {
	display: block;
	margin-bottom: .55rem;
	font-size: .62rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mm-gold-500);
}

.mm-voz__temas ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-voz__temas li {
	font-family: var(--mm-f-serif);
	font-size: 1.04rem;
	line-height: 1.55;
	color: var(--mm-ink-2);
}

.mm-voces-nota {
	margin-top: 26px;
	text-align: center;
}

/* VI · Carácter */
.mm-caracter {
	overflow: hidden;
	padding-bottom: 0;
	background: radial-gradient(70% 40% at 50% 80%, #2a1b0b 0%, transparent 75%), var(--mm-bg);
}

.mm-caracter::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 140px;
	pointer-events: none;
	background: linear-gradient(transparent, var(--mm-bg));
}

.mm-caracter__cabecera {
	max-width: none;
	margin-bottom: 0;
}

.mm-caracter__escenario {
	position: relative;
	height: clamp(220px, 32vw, 420px);
	margin-top: clamp(40px, 6vw, 80px);
}

.mm-caracter__escenario img {
	position: absolute;
	bottom: 0;
	left: 50%;
	width: max(100%, 900px);
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: 50% 70%;
	transform: translateX(-50%);
	opacity: .85;
	-webkit-mask-image: linear-gradient(180deg, transparent 0, #000 40%, #000 75%, transparent 100%);
	mask-image: linear-gradient(180deg, transparent 0, #000 40%, #000 75%, transparent 100%);
}

.mm-frase {
	max-width: 16em;
	margin: 0 auto 1.6rem;
	font-family: var(--mm-f-serif);
	font-weight: 400;
	font-style: italic;
	font-size: clamp(2.2rem, 5vw, 4.4rem);
	line-height: 1.08;
	text-align: center;
	color: var(--mm-ink);
	text-wrap: balance;
}

.mm-pilares {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: clamp(44px, 6vw, 80px);
	border-top: 1px solid var(--mm-line-soft);
}

.mm-pilar {
	padding: 2rem 1.6rem 1rem;
	text-align: center;
}

.mm-pilar + .mm-pilar {
	border-left: 1px solid var(--mm-line-soft);
}

.mm-pilar__icono {
	position: relative;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 1.2rem;
	color: var(--mm-gold-300);
}

.mm-pilar__icono::before {
	content: "";
	position: absolute;
	inset: 6px;
	border: 1px solid var(--mm-line);
	transform: rotate(45deg);
}

.mm-pilar__icono .mm-icono {
	position: relative;
	width: 22px;
	height: 22px;
}

.mm-pilar h3 {
	margin-bottom: .7rem;
	font-family: var(--mm-f-display);
	font-size: 1rem;
	letter-spacing: .12em;
	color: var(--mm-ink);
}

.mm-pilar p {
	margin: 0;
	font-size: .94rem;
	color: var(--mm-ink-3);
}

/* VII · Programación */
.mm-contextos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px solid var(--mm-line-soft);
	border-left: 1px solid var(--mm-line-soft);
}

.mm-contexto {
	position: relative;
	padding: 2.2rem 2rem 2.3rem;
	overflow: hidden;
	border-right: 1px solid var(--mm-line-soft);
	border-bottom: 1px solid var(--mm-line-soft);
	transition: background-color .5s;
}

.mm-contexto::after {
	content: "";
	position: absolute;
	top: -130px;
	right: -130px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(226, 192, 122, .14), transparent 70%);
	opacity: 0;
	transition: opacity .6s;
}

.mm-contexto:hover {
	background: #0d0a07;
}

.mm-contexto:hover::after {
	opacity: 1;
}

.mm-contexto__num {
	display: block;
	margin-bottom: 1.3rem;
	font-family: var(--mm-f-display);
	font-size: .8rem;
	letter-spacing: .2em;
	color: var(--mm-gold-500);
}

.mm-contexto h3 {
	margin-bottom: .6rem;
	font-family: var(--mm-f-serif);
	font-weight: 500;
	font-size: 1.65rem;
	line-height: 1.15;
	color: var(--mm-ink);
}

.mm-contexto p {
	margin: 0;
	font-size: .94rem;
	color: var(--mm-ink-3);
}

.mm-ambito {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin-top: 34px;
	text-align: center;
}

.mm-ambito b {
	font-family: var(--mm-f-display);
	font-weight: 500;
	font-size: .82rem;
	letter-spacing: .2em;
	color: var(--mm-gold-100);
}

/* VIII · Ficha técnica */
.mm-ficha {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(30px, 5vw, 70px);
	align-items: start;
}

.mm-ficha__lista {
	margin: 0;
	border-top: 1px solid var(--mm-line);
}

.mm-ficha__fila {
	display: grid;
	grid-template-columns: minmax(150px, 34%) 1fr;
	gap: 1.5rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--mm-line-soft);
}

.mm-ficha__fila dt {
	padding-top: .35em;
	font-size: .7rem;
	letter-spacing: .24em;
	text-transform: uppercase;
	color: var(--mm-gold-300);
}

.mm-ficha__fila dd {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.6;
	color: var(--mm-ink);
}

.mm-ficha__fila dd small {
	display: block;
	font-size: .84rem;
	color: var(--mm-ink-3);
}

.mm-documentos {
	position: sticky;
	top: calc(var(--mm-nav-h) + 24px);
	padding: 2.4rem 2.2rem;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: linear-gradient(160deg, rgba(26, 85, 68, .22), transparent 55%), var(--mm-bg-2);
}

.mm-documentos::before {
	content: "";
	position: absolute;
	inset: 10px;
	pointer-events: none;
	border: 1px solid var(--mm-line-soft);
	border-radius: 2px;
}

.mm-documentos h3 {
	margin-bottom: .6rem;
	font-family: var(--mm-f-serif);
	font-size: 1.9rem;
	line-height: 1.1;
}

.mm-documentos > p {
	font-size: .95rem;
	color: var(--mm-ink-3);
}

.mm-documentos ul {
	margin: 1.4rem 0 2rem;
	padding: 0;
	list-style: none;
}

.mm-documentos li {
	display: flex;
	align-items: center;
	gap: .9rem;
	padding: .8rem 0;
	border-bottom: 1px solid var(--mm-line-soft);
	font-size: .98rem;
	color: var(--mm-ink-2);
}

.mm-documentos li .mm-icono {
	flex: none;
	width: 18px;
	height: 18px;
	color: var(--mm-gold-300);
}

.mm-documentos .mm-boton {
	position: relative;
	width: 100%;
}

/* Contratación: las dos empresas (texto libre del personalizador) */
.mm-contratacion {
	display: grid;
	gap: 1rem;
}

.mm-contratacion p {
	margin: 0;
}

.mm-contratacion__item {
	padding-left: 1rem;
	border-left: 1px solid var(--mm-line);
}

.mm-contratacion__zona {
	font-size: .62rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--mm-gold-500);
}

.mm-contratacion .mm-contratacion__empresa {
	margin: .2rem 0 .3rem;
	font-family: var(--mm-f-display);
	font-size: .98rem;
	letter-spacing: .06em;
	line-height: 1.35;
	color: var(--mm-ink);
}

.mm-contratacion__datos {
	display: flex;
	flex-wrap: wrap;
	gap: .1rem 1.1rem;
	font-size: .92rem;
	line-height: 1.6;
}

.mm-contratacion__datos a {
	color: var(--mm-ink-2);
	text-decoration: underline;
	text-decoration-color: var(--mm-line);
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
	transition: color .3s, text-decoration-color .3s;
}

.mm-contratacion__datos a:hover {
	color: var(--mm-gold-100);
	text-decoration-color: var(--mm-gold-300);
}

.mm-contratacion--ficha {
	gap: 1.2rem;
}

/* ==========================================================================
   10. Vídeos y galería
   ========================================================================== */
.mm-seccion--directo {
	background: radial-gradient(60% 50% at 50% 40%, #1a1209 0%, var(--mm-bg) 70%);
}

/* Vídeo principal: miniatura con vista previa; el vídeo solo se carga al pulsar */
.mm-video {
	position: relative;
	max-width: 1080px;
	margin: 0 auto;
}

.mm-video__boton {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: var(--mm-bg-3);
	text-align: left;
	box-shadow: 0 50px 120px -40px rgba(0, 0, 0, .95), 0 0 90px -40px rgba(226, 192, 122, .3);
}

.mm-video__fotogramas img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.1s ease, transform 6s linear;
}

.mm-video__fotogramas img.is-activo {
	opacity: 1;
	transform: scale(1);
}

.mm-video__sombra {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7, 6, 5, .15) 0%, transparent 35%, rgba(7, 6, 5, .85) 100%), radial-gradient(60% 60% at 50% 50%, transparent 40%, rgba(7, 6, 5, .4) 100%);
}

.mm-video__play,
.mm-clip__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	border: 1px solid rgba(244, 224, 168, .7);
	background: rgba(10, 8, 6, .35);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: transform .6s var(--mm-ease), background-color .5s;
}

.mm-video__play {
	width: clamp(74px, 9vw, 104px);
}

.mm-video__play::before,
.mm-video__play::after {
	content: "";
	position: absolute;
	inset: -1px;
	border-radius: 50%;
	border: 1px solid rgba(244, 224, 168, .55);
	animation: mm-ondas 2.6s var(--mm-ease) infinite;
}

.mm-video__play::after {
	animation-delay: 1.3s;
}

@keyframes mm-ondas {
	from { transform: scale(1); opacity: .9; }
	to { transform: scale(1.7); opacity: 0; }
}

.mm-video__play .mm-icono,
.mm-clip__play .mm-icono {
	width: 30%;
	height: 30%;
	margin-left: 8%;
	color: var(--mm-gold-50);
}

.mm-video__boton:hover .mm-video__play,
.mm-video__boton:focus-visible .mm-video__play {
	transform: translate(-50%, -50%) scale(1.08);
	background: rgba(201, 160, 80, .35);
}

.mm-video__info {
	position: absolute;
	right: 120px;
	bottom: clamp(22px, 3.2vw, 36px);
	left: clamp(18px, 3vw, 34px);
	display: flex;
	flex-direction: column;
	gap: .35rem;
}

.mm-video__etiqueta,
.mm-clip__etiqueta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .66rem;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--mm-gold-300);
}

.mm-video__etiqueta::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #e2c07a;
	box-shadow: 0 0 10px #e2c07a;
}

.mm-video__titulo {
	font-family: var(--mm-f-serif);
	font-size: clamp(1.3rem, 2.4vw, 2rem);
	line-height: 1.1;
	color: var(--mm-ink);
}

.mm-video__duracion {
	position: absolute;
	right: clamp(18px, 3vw, 34px);
	bottom: clamp(22px, 3.2vw, 36px);
	padding: .35rem .6rem;
	border: 1px solid var(--mm-line);
	background: rgba(7, 6, 5, .5);
	font-size: .78rem;
	letter-spacing: .14em;
}

.mm-video__barra {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: rgba(255, 255, 255, .08);
}

.mm-video__barra i {
	display: block;
	width: 0;
	height: 100%;
	background: var(--mm-gold-grad);
}

.mm-video__reproductor {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: #000;
	box-shadow: 0 50px 120px -40px rgba(0, 0, 0, .95), 0 0 90px -40px rgba(226, 192, 122, .3);
}

/* Vídeos pequeños */
.mm-clips {
	--mm-hueco: clamp(12px, 1.6vw, 20px);

	max-width: 1080px;
	margin: clamp(44px, 5vw, 64px) auto 0;
}

.mm-clips__titulo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 0 0 1.5rem;
	font-size: .72rem;
	font-weight: 500;
	letter-spacing: .32em;
	text-transform: uppercase;
	color: var(--mm-gold-300);
}

.mm-clips__titulo::before,
.mm-clips__titulo::after {
	content: "";
	width: 46px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mm-gold-500));
}

.mm-clips__titulo::after {
	background: linear-gradient(90deg, var(--mm-gold-500), transparent);
}

.mm-clips__lista {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--mm-hueco);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mm-clips__item {
	flex: 0 0 calc((100% - 2 * var(--mm-hueco)) / 3);
}

.mm-clip {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border: 1px solid var(--mm-line-soft);
	border-radius: 3px;
	background: var(--mm-bg-3);
	text-align: left;
	box-shadow: 0 30px 60px -32px rgba(0, 0, 0, .9);
	transition: border-color .5s, transform .6s var(--mm-ease), box-shadow .6s;
}

.mm-clip:hover,
.mm-clip:focus-visible {
	border-color: var(--mm-line);
	transform: translateY(-4px);
	box-shadow: 0 40px 70px -32px rgba(0, 0, 0, .95), 0 0 50px -24px rgba(226, 192, 122, .35);
}

.mm-clip__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(.75) brightness(.85);
	transition: filter .8s var(--mm-ease), transform 1.4s var(--mm-ease);
}

.mm-clip:hover .mm-clip__img,
.mm-clip:focus-visible .mm-clip__img {
	filter: none;
	transform: scale(1.05);
}

.mm-clip__sombra {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7, 6, 5, .1) 0%, transparent 38%, rgba(7, 6, 5, .9) 100%);
}

.mm-clip__play {
	top: 42%;
	width: 52px;
}

.mm-clip:hover .mm-clip__play,
.mm-clip:focus-visible .mm-clip__play {
	transform: translate(-50%, -50%) scale(1.1);
	background: rgba(201, 160, 80, .35);
}

.mm-clip__duracion {
	position: absolute;
	top: 10px;
	right: 10px;
	padding: .15rem .45rem;
	border: 1px solid var(--mm-line);
	background: rgba(7, 6, 5, .55);
	font-size: .66rem;
	letter-spacing: .12em;
}

.mm-clip__info {
	position: absolute;
	right: 14px;
	bottom: 12px;
	left: 14px;
	display: flex;
	flex-direction: column;
	gap: .1rem;
}

.mm-clip__etiqueta {
	font-size: .58rem;
}

.mm-clip__titulo {
	font-family: var(--mm-f-serif);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.15;
	color: var(--mm-ink);
}

/* Rasgos del directo */
.mm-directo-datos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 34px;
}

.mm-chip {
	display: inline-flex;
	align-items: center;
	gap: .6em;
	padding: .55rem 1rem;
	border: 1px solid var(--mm-line-soft);
	border-radius: 999px;
	background: rgba(255, 255, 255, .015);
	font-size: .78rem;
	letter-spacing: .08em;
	color: var(--mm-ink-2);
}

.mm-chip::before {
	content: "";
	width: 5px;
	height: 5px;
	transform: rotate(45deg);
	background: var(--mm-gold-500);
}

/* Galería: carrusel a sangre, con las fotos en su proporción y a distintas alturas */
.mm-galeria {
	margin-top: clamp(64px, 8vw, 110px);
}

.mm-galeria__cabecera {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .6rem;
}

.mm-galeria__titulo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .4rem 1rem;
	margin: 0;
}

.mm-galeria__rotulo {
	font-family: var(--mm-f-serif);
	font-style: italic;
	font-size: clamp(2rem, 3.4vw, 2.9rem);
	line-height: 1;
	color: var(--mm-ink);
}

.mm-galeria__cuenta {
	font-size: .7rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--mm-gold-500);
}

.mm-galeria__controles {
	display: flex;
	gap: 10px;
}

.mm-galeria__flecha {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	color: var(--mm-gold-100);
	transition: border-color .3s, background-color .3s, opacity .3s;
}

.mm-galeria__flecha .mm-icono {
	width: 20px;
	height: 20px;
}

.mm-galeria__flecha:hover:not(:disabled) {
	border-color: var(--mm-gold-300);
	background: rgba(226, 192, 122, .1);
}

.mm-galeria__flecha:disabled {
	opacity: .3;
	cursor: default;
}

.mm-galeria__pista {
	--mm-lado: max(var(--mm-gutter), calc((100vw - var(--mm-container)) / 2 + var(--mm-gutter)));

	display: flex;
	align-items: flex-start;
	gap: clamp(12px, 1.6vw, 22px);
	margin: 0;
	padding: 26px var(--mm-lado) 46px;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-padding-inline: var(--mm-lado);
	scrollbar-width: none;
	cursor: grab;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--mm-gutter), #000 calc(100% - var(--mm-gutter)), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 var(--mm-gutter), #000 calc(100% - var(--mm-gutter)), transparent 100%);
}

.mm-galeria__pista::-webkit-scrollbar {
	display: none;
}

.mm-galeria__pista:focus-visible {
	outline-offset: -2px;
}

/* Sin encaje (scroll-snap): el carrusel se queda donde lo deja el usuario. Mientras se arrastra con
   el ratón, sin selección de texto ni efectos o clics en las fotos. */
.mm-galeria__pista.is-arrastrando {
	cursor: grabbing;
	-webkit-user-select: none;
	user-select: none;
}

.mm-galeria__pista.is-arrastrando .mm-galeria__foto {
	pointer-events: none;
}

.mm-galeria__item {
	flex: none;
}

.mm-galeria__item:nth-child(even) {
	margin-top: 22px;
}

.mm-galeria__foto {
	position: relative;
	display: block;
	height: clamp(250px, 30vw, 410px);
	overflow: hidden;
	border: 1px solid var(--mm-line-soft);
	border-radius: 3px;
	background: var(--mm-bg-3);
	box-shadow: 0 34px 70px -34px rgba(0, 0, 0, .95);
	transition: border-color .5s, box-shadow .6s;
}

.mm-galeria__foto img {
	width: auto;
	max-width: none;
	height: 100%;
	object-fit: cover;
	filter: saturate(.55) sepia(.3) brightness(.92);
	transition: filter .9s var(--mm-ease), transform 1.4s var(--mm-ease);
	-webkit-user-drag: none;
	user-select: none;
}

.mm-galeria__foto::after,
.mm-modal-galeria__foto::after {
	content: "";
	position: absolute;
	inset: 10px;
	pointer-events: none;
	border: 1px solid rgba(244, 224, 168, .5);
	opacity: 0;
	transition: opacity .6s, inset .6s var(--mm-ease);
}

.mm-galeria__foto:hover,
.mm-galeria__foto:focus-visible {
	border-color: var(--mm-line);
	box-shadow: 0 40px 80px -34px rgba(0, 0, 0, .95), 0 0 60px -26px rgba(226, 192, 122, .35);
}

.mm-galeria__foto:hover img,
.mm-galeria__foto:focus-visible img {
	filter: none;
	transform: scale(1.04);
}

.mm-galeria__foto:hover::after,
.mm-galeria__foto:focus-visible::after,
.mm-modal-galeria__foto:hover::after,
.mm-modal-galeria__foto:focus-visible::after {
	opacity: 1;
	inset: 14px;
}

.mm-galeria__pie {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
}

.mm-galeria__progreso {
	display: block;
	width: min(320px, 60%);
	height: 1px;
	overflow: hidden;
	background: var(--mm-line-soft);
}

.mm-galeria__progreso i {
	display: block;
	width: 20%;
	height: 100%;
	background: var(--mm-gold-grad);
	transition: width .3s;
}

/* ==========================================================================
   11. Contacto y CTA móvil
   ========================================================================== */
.mm-contacto {
	overflow: hidden;
	background: radial-gradient(80% 50% at 50% 0%, #1d140a 0%, var(--mm-bg) 70%);
}

.mm-contacto__grid {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: clamp(30px, 5vw, 80px);
	align-items: start;
}

.mm-contacto__lateral .mm-titulo {
	font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.mm-contacto__tarjeta {
	margin-top: 2rem;
	border-top: 1px solid var(--mm-line);
}

.mm-contacto__fila {
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--mm-line-soft);
}

.mm-contacto__rotulo {
	display: block;
	margin-bottom: .45rem;
	font-size: .66rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--mm-gold-500);
}

.mm-contacto__fila b {
	font-weight: 400;
	color: var(--mm-ink);
}

.mm-redes {
	gap: .6rem;
}

.mm-redes .lgd2-redes__link {
	width: 2.6rem;
	height: 2.6rem;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	color: var(--mm-gold-300);
	transition: background-color .3s, color .3s, border-color .3s;
}

.mm-redes .lgd2-redes__link:hover {
	background: var(--mm-gold-300);
	border-color: var(--mm-gold-300);
	color: #1a1206;
}

.mm-formulario {
	position: relative;
	padding: clamp(24px, 4vw, 48px);
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: linear-gradient(180deg, rgba(18, 13, 8, .92), rgba(10, 8, 6, .92));
}

.mm-cta-movil {
	display: none;
}

/* ==========================================================================
   12. Ventanas (vídeo, galería completa y foto ampliada)
   ========================================================================== */
@keyframes mm-dialogo {
	from { opacity: 0; transform: translateY(20px) scale(.98); }
	to { opacity: 1; transform: none; }
}

@keyframes mm-fundido {
	from { opacity: 0; }
	to { opacity: 1; }
}

@keyframes mm-aparecer {
	from { opacity: 0; transform: translateY(24px); }
	to { opacity: 1; transform: none; }
}

body.mm-ventana-abierta {
	overflow: hidden;
}

/* Reproductor de los vídeos pequeños */
.mm-reproductor {
	width: min(1100px, calc(100vw - 32px), calc((100dvh - 150px) * 16 / 9));
	max-width: none;
	max-height: none;
	padding: 0;
	overflow: visible;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: #000;
	color: var(--mm-ink);
}

.mm-reproductor[open] {
	animation: mm-dialogo .5s var(--mm-ease);
}

.mm-reproductor::backdrop {
	background: rgba(4, 3, 2, .9);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.mm-reproductor__marco {
	aspect-ratio: 16 / 9;
	background: #000;
}

.mm-reproductor__marco video {
	display: block;
	width: 100%;
	height: 100%;
	background: #000;
}

.mm-reproductor__titulo {
	margin: 0;
	padding: .9rem 1.2rem;
	border-top: 1px solid var(--mm-line-soft);
	background: var(--mm-bg-2);
	font-family: var(--mm-f-serif);
	font-size: 1.35rem;
	line-height: 1.2;
}

.mm-reproductor__cerrar {
	position: absolute;
	top: -58px;
	right: 0;
}

/* Galería completa */
.mm-modal-galeria {
	width: min(1240px, calc(100vw - 24px));
	height: calc(100vh - 24px);
	height: calc(100dvh - 24px);
	max-width: none;
	max-height: none;
	margin: auto;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--mm-line);
	border-radius: 4px;
	background: radial-gradient(80% 40% at 50% 0%, #1d140a 0%, var(--mm-bg-2) 70%);
	color: var(--mm-ink);
}

.mm-modal-galeria[open] {
	display: flex;
	flex-direction: column;
	animation: mm-dialogo .6s var(--mm-ease);
}

.mm-modal-galeria::backdrop {
	background: rgba(4, 3, 2, .88);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.mm-modal-galeria__cabecera {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: clamp(18px, 3vw, 30px) clamp(18px, 3.5vw, 44px);
	border-bottom: 1px solid var(--mm-line-soft);
}

.mm-modal-galeria__cabecera .mm-antetitulo {
	margin: 0 0 .4rem;
	font-size: .66rem;
}

.mm-modal-galeria__titulo {
	font-family: var(--mm-f-serif);
	font-weight: 500;
	font-size: clamp(1.9rem, 3.4vw, 2.8rem);
	line-height: 1;
}

.mm-modal-galeria__titulo span {
	margin-left: .7rem;
	font-family: var(--mm-f-sans);
	font-size: .7rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	vertical-align: middle;
	color: var(--mm-gold-500);
}

.mm-modal-galeria__cuerpo {
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(18px, 3vw, 36px) clamp(18px, 3.5vw, 44px) clamp(30px, 4vw, 56px);
	scrollbar-color: var(--mm-gold-700) transparent;
}

.mm-modal-galeria__rejilla {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 3 280px;
	column-gap: clamp(12px, 1.6vw, 22px);
}

.mm-modal-galeria__item {
	margin-bottom: clamp(12px, 1.6vw, 22px);
	break-inside: avoid;
	opacity: 0;
	animation: mm-aparecer .9s var(--mm-ease) forwards;
	animation-delay: calc(var(--i) * 70ms + .15s);
}

.mm-modal-galeria__foto {
	position: relative;
	display: block;
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--mm-line-soft);
	border-radius: 3px;
	background: var(--mm-bg-3);
	transition: border-color .5s;
}

.mm-modal-galeria__foto img {
	width: 100%;
	height: auto;
	transition: transform 1.2s var(--mm-ease);
}

.mm-modal-galeria__foto:hover,
.mm-modal-galeria__foto:focus-visible {
	border-color: var(--mm-line);
}

.mm-modal-galeria__foto:hover img,
.mm-modal-galeria__foto:focus-visible img {
	transform: scale(1.04);
}

.mm-modal-galeria__pie {
	margin: .6rem 0 0;
	font-size: .82rem;
	line-height: 1.5;
	color: var(--mm-ink-3);
}

/* Foto ampliada a pantalla completa */
.mm-visor {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
	background: rgba(4, 3, 2, .96);
	color: var(--mm-ink);
}

.mm-visor[open] {
	display: grid;
	place-items: center;
	animation: mm-fundido .35s ease;
}

.mm-visor::backdrop {
	background: transparent;
}

.mm-visor__figura {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	max-width: calc(100vw - 150px);
	margin: 0;
}

.mm-visor__img {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(100vw - 150px);
	max-height: calc(100vh - 130px);
	max-height: calc(100dvh - 130px);
	object-fit: contain;
	border-radius: 2px;
	box-shadow: 0 40px 100px -30px rgba(0, 0, 0, .9);
	opacity: 0;
	transform: scale(.985);
	transition: opacity .45s ease, transform .6s var(--mm-ease);
}

.mm-visor__img.is-cargada {
	opacity: 1;
	transform: none;
}

.mm-visor__pie {
	max-width: 60ch;
	font-size: .9rem;
	text-align: center;
	color: var(--mm-ink-2);
}

.mm-visor__pie:empty {
	display: none;
}

.mm-visor__cerrar {
	position: absolute;
	top: clamp(12px, 2.5vw, 26px);
	right: clamp(12px, 2.5vw, 26px);
	z-index: 2;
}

.mm-visor__flecha {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-top: -27px;
	border: 1px solid var(--mm-line);
	border-radius: 50%;
	background: rgba(7, 6, 5, .5);
	color: var(--mm-gold-100);
	transition: border-color .3s, background-color .3s;
}

.mm-visor__flecha:hover {
	border-color: var(--mm-gold-300);
	background: rgba(226, 192, 122, .12);
}

.mm-visor__flecha .mm-icono {
	width: 22px;
	height: 22px;
}

.mm-visor__flecha--ant {
	left: clamp(10px, 2.5vw, 30px);
}

.mm-visor__flecha--sig {
	right: clamp(10px, 2.5vw, 30px);
}

.mm-visor__flecha[hidden] {
	display: none;
}

.mm-visor__contador {
	position: absolute;
	bottom: clamp(12px, 2.5vw, 24px);
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
	font-size: .72rem;
	letter-spacing: .26em;
	color: var(--mm-ink-3);
}

/* ==========================================================================
   13. Páginas interiores y 404
   ========================================================================== */
body:not(.home) .lgd2-main {
	padding-top: var(--mm-nav-h);
}

.mm-pagina__cabecera {
	padding: clamp(60px, 9vw, 120px) 0 clamp(30px, 4vw, 50px);
	background: radial-gradient(70% 100% at 50% 0%, #1d140a 0%, var(--mm-bg) 70%);
}

.mm-pagina__titulo {
	margin-bottom: 0;
}

.mm-pagina__contenido {
	padding-bottom: clamp(70px, 9vw, 120px);
	color: var(--mm-ink-2);
}

.mm-pagina__contenido h2 {
	margin: 2.2rem 0 1rem;
	font-family: var(--mm-f-serif);
	font-size: 2rem;
	line-height: 1.15;
	color: var(--mm-ink);
}

.mm-pagina__contenido h3 {
	margin: 1.8rem 0 .8rem;
	font-family: var(--mm-f-display);
	font-size: 1.05rem;
	letter-spacing: .08em;
	color: var(--mm-gold-100);
}

.mm-pagina__contenido a {
	color: var(--mm-gold-100);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.mm-pagina__contenido ul,
.mm-pagina__contenido ol {
	margin: 0 0 1.1em;
	padding-left: 1.4rem;
}

/* Contenido de las páginas legales (editor de bloques) */
.mm-pagina__contenido > :first-child {
	margin-top: 0;
}

.mm-pagina__contenido strong {
	font-weight: 500;
	color: var(--mm-ink);
}

/* Párrafos que solo llevan un texto en negrita: funcionan como títulos de apartado */
.mm-pagina__contenido p > strong:only-child {
	display: inline-block;
	margin-top: .3rem;
	font-family: var(--mm-f-display);
	font-size: .95rem;
	letter-spacing: .1em;
	color: var(--mm-gold-100);
}

.mm-pagina__contenido h4 {
	margin: 1.6rem 0 .6rem;
	font-family: var(--mm-f-serif);
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.2;
	color: var(--mm-ink);
}

.mm-pagina__contenido .wp-block-separator,
.mm-pagina__contenido hr {
	height: 1px;
	margin: 2.2rem 0;
	border: 0;
	background: linear-gradient(90deg, var(--mm-line), transparent);
	opacity: 1;
}

.mm-pagina__contenido li {
	margin-bottom: .4rem;
}

.mm-pagina__contenido li::marker {
	color: var(--mm-gold-500);
}

.mm-pagina__contenido li > ul {
	margin: .5rem 0 .2rem;
}

.mm-pagina__contenido .wp-block-table {
	margin: 1.6rem 0;
	overflow-x: auto;
}

.mm-pagina__contenido table {
	width: 100%;
	border-collapse: collapse;
	font-size: .9rem;
	line-height: 1.55;
}

.mm-pagina__contenido .wp-block-table thead {
	border-bottom: 0;
}

.mm-pagina__contenido .wp-block-table th,
.mm-pagina__contenido .wp-block-table td {
	padding: .85rem .9rem;
	border: 0;
	border-bottom: 1px solid var(--mm-line-soft);
	text-align: left;
	vertical-align: top;
}

.mm-pagina__contenido .wp-block-table thead th {
	border-bottom-color: var(--mm-line);
	font-size: .66rem;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--mm-gold-300);
}

.mm-pagina__contenido code {
	padding: .1em .4em;
	border-radius: 2px;
	background: rgba(226, 192, 122, .08);
	font-size: .85em;
	color: var(--mm-gold-100);
}

.mm-pagina__contenido .mm-contratacion--legal {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem 2rem;
	margin: .4rem 0 1.4rem;
}

.mm-pagina__contenido .mm-contratacion a {
	color: var(--mm-ink-2);
	text-decoration-color: var(--mm-line);
	text-underline-offset: 4px;
}

.mm-pagina__contenido .mm-contratacion a:hover {
	color: var(--mm-gold-100);
	text-decoration-color: var(--mm-gold-300);
}

.mm-pagina--404 .mm-pagina__cabecera {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 70vh;
}

.mm-pagina--404 .mm-pagina__titulo {
	margin-bottom: 1.4rem;
}

/* ==========================================================================
   14. Responsive
   ========================================================================== */
@media (max-width: 1320px) {
	.mm-hero__bajar {
		display: none;
	}
}

/* Cabecera en escritorio estrecho: menú más compacto y, por debajo de 1180 px, sin el CTA (el hero ya lo tiene) */
@media (min-width: 60em) and (max-width: 1320px) {
	.lgd2-header__inner {
		gap: 1.4rem;
	}

	.lgd2-header__menu {
		gap: 1.4rem;
	}

	.lgd2-nav__list {
		gap: .25rem 1.1rem;
	}

	.lgd2-nav__list a {
		font-size: .68rem;
		letter-spacing: .12em;
	}

	.lgd2-header .lgd2-header__cta {
		padding: .75rem 1rem;
		letter-spacing: .14em;
	}
}

@media (min-width: 60em) and (max-width: 1179px) {
	.lgd2-header__ctas {
		display: none;
	}
}

@media (min-width: 981px) and (max-width: 1280px) {
	.mm-hero__visual {
		right: -7vw;
		width: 62vw;
	}

	.mm-hero__entradilla {
		max-width: 28rem;
	}
}

@media (max-width: 1180px) {
	.mm-voces {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.mm-voz {
		border-radius: 220px 220px 4px 4px;
	}
}

/* Menú móvil del padre (por debajo de 60em) */
@media (max-width: 59.99em) {
	:root {
		--mm-nav-h: 68px;
	}

	.lgd2-header .lgd2-header__menu {
		gap: 1.6rem;
		padding: .5rem var(--mm-gutter) calc(2rem + env(safe-area-inset-bottom, 0px));
		background: radial-gradient(120% 80% at 50% 0%, #1a120a 0%, #0b0806 70%);
		border-bottom-color: var(--mm-line-soft);
	}

	.lgd2-nav__list > li {
		border-bottom-color: var(--mm-line-soft);
	}

	.lgd2-nav__list > li > a {
		padding-block: .7rem;
		font-family: var(--mm-f-serif);
		font-size: 1.7rem;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
		color: var(--mm-ink);
	}

	.lgd2-nav__list a::after {
		display: none;
	}

	.lgd2-header__ctas {
		align-self: stretch;
	}

	.lgd2-header .lgd2-header__cta {
		width: 100%;
		padding: 1rem 1.2rem;
		font-size: .74rem;
	}
}

/* En pantallas estrechas la barra de administración no queda fija (igual que en el padre). */
@media (max-width: 600px) {
	.admin-bar .lgd2-header {
		top: 0;
	}
}

@media (max-width: 980px) {
	.mm-hero {
		padding-top: var(--mm-nav-h);
	}

	.mm-hero::before {
		display: none;
	}

	.mm-hero__visual {
		position: relative;
		top: auto;
		right: auto;
		display: block;
		width: 100%;
		height: auto;
		margin-top: 2vh;
	}

	.mm-hero__paralaje {
		width: 150%;
		margin-left: -25%;
	}

	.mm-hero__marco {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0, #000 12%, #000 58%, transparent 98%);
		mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 78%, transparent 100%), linear-gradient(180deg, transparent 0, #000 12%, #000 58%, transparent 98%);
	}

	.mm-hero__nombres {
		display: none;
	}

	.mm-hero__contenido {
		align-items: center;
		margin-top: -30vw;
		padding-bottom: 2.4rem;
		text-align: center;
	}

	.mm-hero__insignia {
		align-items: center;
	}

	.mm-hero__donde {
		justify-content: center;
		margin-left: 0;
	}

	.mm-hero__nombre {
		margin-left: 0;
	}

	.mm-hero__titulo {
		margin-left: 0;
		font-size: clamp(3rem, 17vw, 7rem);
	}

	.mm-hero__entradilla,
	.mm-hero__etiquetas {
		margin-inline: auto;
	}

	.mm-hero__etiquetas,
	.mm-hero__botones {
		justify-content: center;
	}

	.mm-hero__datos {
		grid-template-columns: 1fr;
		border-top: 0;
	}

	.mm-hero__datos::before {
		display: none;
	}

	.mm-dato {
		padding: 1.1rem 0;
		border-top: 1px solid var(--mm-line-soft);
	}

	.mm-dato + .mm-dato {
		padding-left: 0;
		border-left: 0;
	}

	.mm-artista,
	.mm-espectaculo,
	.mm-ficha,
	.mm-contacto__grid {
		grid-template-columns: 1fr;
	}

	.mm-retrato {
		max-width: 380px;
		margin-bottom: 24px;
	}

	.mm-cifras {
		grid-template-columns: repeat(2, 1fr);
	}

	.mm-cifra:nth-child(3) {
		padding-left: 0;
		border-left: 0;
	}

	.mm-cifra:nth-child(n+3) {
		border-top: 1px solid var(--mm-line-soft);
	}

	.mm-meritos {
		grid-template-columns: 1fr;
	}

	.mm-pilares {
		grid-template-columns: repeat(2, 1fr);
		border-top: 0;
	}

	.mm-pilar {
		border-top: 1px solid var(--mm-line-soft);
	}

	.mm-pilar:nth-child(3) {
		border-left: 0;
	}

	.mm-contextos {
		grid-template-columns: repeat(2, 1fr);
	}

	.mm-documentos {
		position: relative;
		top: auto;
	}

	.mm-clips__item {
		flex-basis: calc((100% - var(--mm-hueco)) / 2);
	}

	.mm-cta-movil {
		position: fixed;
		right: 12px;
		bottom: 12px;
		left: 12px;
		z-index: 80;
		display: flex;
		transform: translateY(140%);
		transition: transform .6s var(--mm-ease);
	}

	.mm-cta-movil .mm-boton {
		width: 100%;
		padding-block: 1.05rem;
	}

	.mm-cta-movil.is-visible {
		transform: none;
	}

	.mm-reproductor__cerrar {
		top: -56px;
	}
}

@media (max-width: 640px) {
	body {
		font-size: 1rem;
	}

	.mm-hero__internacional {
		font-size: .68rem;
		letter-spacing: .26em;
	}

	.mm-etiqueta {
		font-size: .78rem;
	}

	.mm-hero__donde {
		flex-wrap: nowrap;
		gap: .4em .8em;
		font-size: .62rem;
		letter-spacing: .22em;
		white-space: nowrap;
	}

	.mm-hero__botones {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
	}

	.mm-hero__botones .mm-boton {
		white-space: normal;
	}

	.mm-voces {
		display: flex;
		gap: 14px;
		margin-inline: calc(var(--mm-gutter) * -1);
		padding: 4px var(--mm-gutter) 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.mm-voces::-webkit-scrollbar {
		display: none;
	}

	.mm-voz {
		flex: 0 0 78%;
		scroll-snap-align: center;
	}

	.mm-comparativa {
		grid-template-columns: 1fr;
	}

	.mm-pilares,
	.mm-contextos {
		grid-template-columns: 1fr;
	}

	.mm-pilar + .mm-pilar {
		border-left: 0;
	}

	.mm-ficha__fila {
		grid-template-columns: 1fr;
		gap: .3rem;
	}

	.mm-contratacion--ficha,
	.mm-pagina__contenido .mm-contratacion--legal {
		grid-template-columns: 1fr;
	}

	.mm-pagina__contenido table {
		min-width: 560px;
	}

	.mm-video__boton {
		aspect-ratio: 4 / 3;
	}

	.mm-video__fotogramas img {
		object-position: 42% 50%;
	}

	.mm-video__play {
		width: 62px;
	}

	.mm-video__info {
		right: 16px;
		bottom: 16px;
		left: 16px;
	}

	.mm-video__titulo {
		font-size: 1.12rem;
	}

	.mm-video__duracion {
		top: 12px;
		right: 12px;
		bottom: auto;
		font-size: .7rem;
	}

	.mm-clips__lista {
		flex-wrap: nowrap;
		justify-content: flex-start;
		margin-inline: calc(var(--mm-gutter) * -1);
		padding: 4px var(--mm-gutter) 14px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.mm-clips__lista::-webkit-scrollbar {
		display: none;
	}

	.mm-clips__item {
		flex: 0 0 80%;
		scroll-snap-align: center;
	}

	.mm-clips__titulo {
		gap: .7rem;
		letter-spacing: .22em;
	}

	.mm-clips__titulo::before,
	.mm-clips__titulo::after {
		width: 26px;
	}

	.mm-galeria__flecha {
		width: 44px;
		height: 44px;
	}

	.mm-galeria__item:nth-child(even) {
		margin-top: 14px;
	}

	.mm-frase {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	.mm-modal-galeria {
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		border: 0;
		border-radius: 0;
	}

	.mm-modal-galeria__rejilla {
		columns: 2 140px;
	}

	.mm-visor__figura,
	.mm-visor__img {
		max-width: 100vw;
	}

	.mm-visor__img {
		max-height: calc(100vh - 170px);
		max-height: calc(100dvh - 170px);
		border-radius: 0;
	}

	.mm-visor__flecha {
		top: auto;
		bottom: 18px;
		width: 46px;
		height: 46px;
		margin-top: 0;
	}

	.mm-visor__contador {
		bottom: 32px;
	}

	.mm-reproductor__cerrar {
		top: -54px;
		right: 4px;
	}
}

/* ==========================================================================
   15. Movimiento reducido
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}

	.js .mm-telon {
		display: none;
	}

	.mm-hero__haces i {
		opacity: .6;
	}
}
