/* ==========================================================================
   GrupoDW · custom.css (tema hijo astra-child)
   Clases propias con prefijo gdw-. Los textos, colores y tipografías se
   editan en Elementor; aquí solo va lo que Elementor gratis no permite.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tipografía global
   Plus Jakarta Sans con letter-spacing negativo deja el espacio entre
   palabras en ~4 px y parecen pegadas («Encifras»).
   -------------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	word-spacing: 0.08em;
}

/* Texto en el color de marca dentro de un título:
   <span class="gdw-text-accent">crecer online</span> */
.gdw-text-accent {
	color: var(--e-global-color-primary, #E8CE94);
}

/* --------------------------------------------------------------------------
   2. Home · hero
   Segunda línea grande del H1: Diseño que <span class="gdw-hero__big">conecta</span>
   -------------------------------------------------------------------------- */
.gdw-hero__title .gdw-hero__big {
	display: block;
	font-size: 2.05em;
	line-height: 0.88;
	letter-spacing: 0;
	margin-top: 0.04em;
}

/* --------------------------------------------------------------------------
   3. Marquee (.gdw-marquee)
   Estructura en Elementor:
     contenedor .gdw-marquee
       contenedor .gdw-marquee__track   (añadir --reverse para ir al revés)
         títulos .gdw-marquee__item     (una palabra cada uno)
   custom.js duplica las palabras y añade .is-animated. En el editor no se
   anima, para que se pueda editar.
   -------------------------------------------------------------------------- */
.gdw-marquee {
	overflow: hidden;
}

.gdw-marquee .gdw-marquee__track {
	flex-wrap: nowrap !important;
	width: max-content !important;
	max-width: none !important;
	align-self: flex-start;
}

.gdw-marquee .gdw-marquee__item {
	flex: none !important;
	width: auto !important;
}

.gdw-marquee .gdw-marquee__item .elementor-heading-title {
	white-space: nowrap;
}

.gdw-marquee .gdw-marquee__item .elementor-heading-title::after {
	content: "\2192"; /* → */
	color: var(--e-global-color-primary, #E8CE94);
	margin: 0 0.6em;
}

.gdw-marquee .gdw-marquee__track--reverse .gdw-marquee__item .elementor-heading-title::after {
	content: "\2190"; /* ← */
}

/* Variante de una sola frase: sin flechas, solo un hueco entre repeticiones */
.gdw-marquee .gdw-marquee__track--plain .gdw-marquee__item .elementor-heading-title::after {
	content: "";
	display: inline-block;
	width: 6vw;
	margin: 0;
}

/* Variante con estrella que gira entre palabras */
.gdw-marquee .gdw-marquee__track--star .gdw-marquee__item .elementor-heading-title::after {
	content: "\2733"; /* ✳ */
	display: inline-block;
	margin: 0 0.35em;
	font-size: 0.6em;
	vertical-align: middle;
	color: var(--e-global-color-primary, #E8CE94);
	animation: gdw-spin 8s linear infinite;
}

@keyframes gdw-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.gdw-marquee .gdw-marquee__track--star .gdw-marquee__item .elementor-heading-title::after {
		animation: none;
	}
}

/* Texto en gris dentro de un título: <span class="gdw-text-muted">…</span> */
.gdw-text-muted {
	color: #8A8A86;
}

.gdw-marquee.is-animated .gdw-marquee__track {
	animation: gdw-marquee var(--gdw-marquee-duration, 45s) linear infinite;
}

.gdw-marquee.is-animated .gdw-marquee__track--reverse {
	animation-direction: reverse;
}

@keyframes gdw-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
	.gdw-marquee.is-animated .gdw-marquee__track {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   3b. Título relleno con imagen (.gdw-text-fill en un widget Título)
   La imagen se pone en Elementor: widget → Avanzado → Fondo (clásico).
   Sin imagen de fondo el texto no se vería: poner siempre la imagen.
   -------------------------------------------------------------------------- */
.gdw-text-fill,
.gdw-text-fill > .elementor-widget-container {
	-webkit-background-clip: text;
	background-clip: text;
}

.gdw-text-fill .elementor-heading-title {
	color: transparent !important;
	-webkit-text-fill-color: transparent;
	/* Con interlineado < 1 las colas (g, p, y) salen de la caja y no se pintan */
	padding-bottom: 0.18em;
}

/* --------------------------------------------------------------------------
   4. FAQ (.gdw-faq sobre el widget Acordeón anidado de Elementor)
   Numeración 01, 02… automática e icono dentro de un círculo.
   -------------------------------------------------------------------------- */
.gdw-faq .e-n-accordion {
	counter-reset: gdw-faq;
	border-top: 1px solid var(--e-global-color-secondary, #F4F0E7);
}

.gdw-faq .e-n-accordion-item {
	counter-increment: gdw-faq;
}

.gdw-faq .e-n-accordion-item-title-header {
	display: flex;
	align-items: center;
	gap: 16px;
}

.gdw-faq .e-n-accordion-item-title-header::before {
	content: counter(gdw-faq, decimal-leading-zero);
	flex: 0 0 clamp(44px, 9vw, 140px);
	font-family: "Cinzel", sans-serif;
	font-size: clamp(18px, 1.6vw, 24px);
	font-weight: 300;
	color: #8A8A86;
}

.gdw-faq .e-n-accordion-item[open] .e-n-accordion-item-title-header::before {
	color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-faq .e-n-accordion-item-title-icon > span {
	width: 32px;
	height: 32px;
	border: 1px solid currentColor;
	border-radius: 50%;
	display: grid;
	place-items: center;
	transition: background-color 0.2s, color 0.2s;
}

.gdw-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon > span {
	background: var(--e-global-color-secondary, #F4F0E7);
	border-color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg,
.gdw-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon i {
	fill: #FFFFFF;
	color: #FFFFFF;
}

/* Respuesta alineada con la pregunta, no con el número */
.gdw-faq .e-n-accordion-item > .e-con {
	padding-left: calc(clamp(44px, 9vw, 140px) + 16px);
}

@media (max-width: 767px) {
	.gdw-faq .e-n-accordion-item > .e-con {
		padding-left: 0;
	}
}

/* --------------------------------------------------------------------------
   4b. Acordeón en tarjetas (.gdw-accordion--cards en el Acordeón anidado)
   Al abrirse, título y contenido forman una sola tarjeta: el título solo
   queda redondeado arriba y el contenido abajo (su borde y su radio se
   ponen en Elementor: Estilo → Contenido).
   -------------------------------------------------------------------------- */
.gdw-accordion--cards .e-n-accordion-item[open] > .e-n-accordion-item-title {
	border-bottom-left-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-bottom-color: transparent !important;
}

/* --------------------------------------------------------------------------
   4c. Carrusel (.gdw-carousel > .gdw-carousel__track > .gdw-carousel__slide)
   Lo mueve custom.js. En el editor las diapositivas se apilan para editarlas.
   -------------------------------------------------------------------------- */
.gdw-carousel {
	overflow: hidden;
}

.gdw-carousel .gdw-carousel__track {
	flex-wrap: nowrap !important;
}

.gdw-carousel.is-ready .gdw-carousel__track {
	transition: transform 0.6s ease;
	touch-action: pan-y;
}

.gdw-carousel .gdw-carousel__slide {
	flex: 0 0 100% !important;
	max-width: 100% !important;
}

.elementor-editor-active .gdw-carousel .gdw-carousel__track {
	flex-wrap: wrap !important;
	row-gap: 30px;
}

.gdw-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 30px;
}

.gdw-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: #E2E1DC;
	cursor: pointer;
	transition: width 0.3s, background-color 0.3s;
}

.gdw-carousel__dot.is-active {
	width: 28px;
	background: var(--e-global-color-primary, #E8CE94);
}

@media (prefers-reduced-motion: reduce) {
	.gdw-carousel.is-ready .gdw-carousel__track {
		transition: none;
	}
}

/* --------------------------------------------------------------------------
   5. Cabecera fija (Ultimate Addons: #masthead)
   Astra pone overflow-x:hidden en body, y eso impide position:sticky;
   overflow-x:clip también evita el scroll lateral, pero deja fija la cabecera.
   -------------------------------------------------------------------------- */
html body {
	overflow-x: clip;
}

#masthead {
	position: sticky !important; /* Ultimate Addons pone position:relative */
	top: 0;
	z-index: 999;
	transition: box-shadow 0.2s;
}

.admin-bar #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar #masthead {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.admin-bar #masthead {
		top: 0;
	}
}

body.gdw-is-scrolled #masthead {
	box-shadow: 0 6px 24px rgba(18, 18, 18, 0.08);
}

/* Los enlaces a secciones (#servicios) no quedan tapados por la cabecera */
.elementor-element[id] {
	scroll-margin-top: 110px;
}

/* --------------------------------------------------------------------------
   6. Formularios de Contact Form 7 (.gdw-form en el widget que lo contiene)
   Plantilla del formulario: filas .gdw-form__row (2 columnas), campos
   .gdw-form__field, casilla .gdw-form__privacy y botón .gdw-form__submit.
   -------------------------------------------------------------------------- */
.gdw-form .gdw-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20px;
}

@media (max-width: 767px) {
	.gdw-form .gdw-form__row {
		grid-template-columns: 1fr;
	}
}

.gdw-form .wpcf7-form p {
	margin: 0 0 18px;
}

.gdw-form .gdw-form__field label {
	display: block;
	font-family: "Cinzel", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-form input[type="text"],
.gdw-form input[type="email"],
.gdw-form input[type="tel"],
.gdw-form textarea {
	width: 100%;
	margin-top: 8px;
	padding: 14px 16px;
	border: 1px solid #E2E1DC;
	border-radius: 12px;
	background: #FFFFFF;
	font-family: "Lato", sans-serif;
	font-size: 16px;
	color: var(--e-global-color-secondary, #F4F0E7);
	box-shadow: none;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.gdw-form textarea {
	min-height: 150px;
	resize: vertical;
}

.gdw-form input:focus,
.gdw-form textarea:focus {
	border-color: var(--e-global-color-secondary, #F4F0E7);
	box-shadow: 0 0 0 3px rgba(232, 206, 148, 0.18);
	outline: none;
}

.gdw-form .gdw-form__privacy {
	font-size: 14px;
	color: var(--e-global-color-text, #B1AEB9);
}

.gdw-form .gdw-form__privacy .wpcf7-list-item {
	margin: 0;
}

.gdw-form .gdw-form__privacy a {
	color: #C9A45C;
}

.gdw-form .gdw-form__submit {
	background: #C9A45C;
	color: #FFFFFF;
	border: 0;
	border-radius: 999px;
	padding: 16px 34px;
	font-family: "Cinzel", sans-serif;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.gdw-form .gdw-form__submit:hover,
.gdw-form .gdw-form__submit:focus {
	background: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 13px;
	color: #C9A45C;
}

.gdw-form .wpcf7 form .wpcf7-response-output {
	margin: 10px 0 0;
	padding: 12px 16px;
	border-radius: 12px;
}

/* Sello de reCAPTCHA oculto (chocaba con el botón de WhatsApp). Google lo
   permite si junto al formulario está su aviso: widget .gdw-form__recaptcha */
.grecaptcha-badge {
	visibility: hidden !important;
}

.gdw-form__recaptcha,
.gdw-form__recaptcha p {
	margin: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #8A8A86;
}

.gdw-form__recaptcha a {
	color: inherit;
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   7. Enlaces sin subrayado (Astra los subraya dentro del contenido)
   -------------------------------------------------------------------------- */
.gdw-blog__grid a,
.gdw-contacto__datos a {
	text-decoration: none !important; /* Astra: .entry-content a { underline } */
}

.gdw-blog__grid .eael-entry-title a:hover,
.gdw-contacto__datos a:hover {
	color: #C9A45C;
}

/* --------------------------------------------------------------------------
   7b. Animaciones de entrada de Elementor (fadeInUp en los widgets)
   Si el sistema pide reducir movimiento, todo se muestra sin animar.
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.elementor-invisible {
		visibility: visible !important;
	}

	.elementor-element.animated {
		animation: none !important;
	}
}

/* --------------------------------------------------------------------------
   7c. Equipo (Conócenos): fotos en formato retrato 4:5 y columna de texto
   fija al hacer scroll (altura de la cabecera + 30 px). --gdw-header-h lo
   calcula custom.js. Solo en escritorio.
   -------------------------------------------------------------------------- */
.gdw-equipo__foto img {
	width: 100%;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

@media (min-width: 1025px) {
	.gdw-equipo__intro {
		position: sticky !important;
		top: calc(var(--gdw-header-h, 85px) + 30px + var(--wp-admin--admin-bar--height, 0px));
		align-self: flex-start;
	}
}

/* --------------------------------------------------------------------------
   8. Entradas del blog: ancho completo con el padding lateral de la home
   (50 px; 15 px en móvil). El banner con la imagen destacada sale de
   functions.php (gdw_child_single_post_banner).
   -------------------------------------------------------------------------- */
body.single-post .site-content > .ast-container {
	padding-left: 50px;
	padding-right: 50px;
}

body.single-post .site-content article.post,
body.single-post .site-content .ast-article-single {
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 767px) {
	body.single-post .site-content > .ast-container {
		padding-left: 15px;
		padding-right: 15px;
	}
}
/* ==========================================================================
   9. HOME 2 (.gdw-h2) · versión oscura con animaciones ligadas al scroll
   custom.js pone en cada [data-gdw-scroll] las variables:
     --p  avance de 0 a 1 mientras la sección pasa por la pantalla
     --ps seno de p (0 → 1 → 0): para desplegar y volver a contraer
   y añade .is-in a .gdw-h2-reveal y .gdw-split al entrar en pantalla.
   ========================================================================== */

/* --- Página oscura: fondo, cabecera y logo (body.gdw-theme-dark lo pone custom.js) --- */
body.gdw-theme-dark,
body.gdw-theme-dark #page,
body.gdw-theme-dark .site-content {
	background: #0C0B12;
}

/* El desenfoque va en una capa ::before y no en la barra: un backdrop-filter en
   la barra encerraría dentro de ella el panel fijo del menú móvil */
body.gdw-theme-dark .gdw-header__bar {
	position: relative;
	isolation: isolate;
	background-color: transparent !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
}

body.gdw-theme-dark .gdw-header__bar::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-color: rgba(12, 11, 18, 0.78);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	pointer-events: none;
}

/* Menú móvil (panel lateral) en la página oscura */
body.gdw-theme-dark #masthead .hfe-side,
body.gdw-theme-dark #masthead .hfe-flyout-content {
	background-color: #17151F !important;
}

body.gdw-theme-dark #masthead .hfe-flyout-close,
body.gdw-theme-dark #masthead .hfe-flyout-close svg {
	color: #F4F3EF !important;
	fill: #F4F3EF !important;
}

body.gdw-theme-dark #masthead .hfe-nav-menu a.hfe-menu-item,
body.gdw-theme-dark #masthead .hfe-nav-menu a.hfe-sub-menu-item,
body.gdw-theme-dark #masthead .hfe-nav-menu .sub-arrow {
	color: #F4F3EF !important;
}

body.gdw-theme-dark #masthead .hfe-nav-menu a.hfe-menu-item:hover,
body.gdw-theme-dark #masthead .hfe-nav-menu .current-menu-item > a.hfe-menu-item,
body.gdw-theme-dark #masthead .hfe-nav-menu .current-menu-ancestor > a.hfe-menu-item,
body.gdw-theme-dark #masthead .hfe-nav-menu a.hfe-sub-menu-item-active,
body.gdw-theme-dark #masthead .hfe-nav-menu a.hfe-sub-menu-item:hover {
	color: #E8CE94 !important;
}

body.gdw-theme-dark #masthead .sub-menu,
body.gdw-theme-dark #masthead .hfe-dropdown,
body.gdw-theme-dark #masthead .hfe-dropdown .menu-item a {
	background-color: #17151F !important;
	border-color: rgba(255, 255, 255, 0.08) !important;
}

body.gdw-theme-dark #masthead .hfe-nav-menu__toggle,
body.gdw-theme-dark #masthead .hfe-nav-menu-icon,
body.gdw-theme-dark #masthead .hfe-nav-menu-icon svg {
	color: #F4F3EF !important;
	fill: #F4F3EF !important;
}

body.gdw-theme-dark.gdw-is-scrolled #masthead {
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
}

/* --- Base --- */
.gdw-h2 {
	--h2-bg: #0C0B12;
	--h2-surface: #17151F;
	--h2-line: rgba(255, 255, 255, 0.09);
	--h2-text: #F4F3EF;
	--h2-muted: #8A8A86;
	--h2-red: #E8CE94;
	--h2-coral: #E8CE94;
	--gutter: 50px;
	position: relative;
	color: var(--h2-text);
	background-color: var(--h2-bg);
	font-family: "Lato", sans-serif;
}

@media (max-width: 767px) {
	.gdw-h2 {
		--gutter: 15px;
	}
}

.gdw-h2 h1,
.gdw-h2 h2,
.gdw-h2 h3,
.gdw-h2 .gdw-h2-title {
	font-family: "Cinzel", sans-serif;
	color: var(--h2-text);
}

.gdw-h2-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 18px;
	font: 600 13px/1.2 "Lato", sans-serif;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--h2-coral);
}

.gdw-h2-eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
}

.gdw-h2-grad,
.gdw-h2-grad span {
	background: linear-gradient(95deg, #E8CE94 0%, #E8CE94 55%, #F7E9C4 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.gdw-h2-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 17px 30px;
	border-radius: 999px;
	font: 600 16px/1 "Cinzel", sans-serif;
	text-decoration: none !important;
	color: #FFFFFF !important;
	background: linear-gradient(95deg, #C9A45C, #E8CE94 60%, #E8CE94);
	box-shadow: 0 10px 40px rgba(232, 206, 148, 0.35);
	transition: transform 0.25s, box-shadow 0.25s;
}

.gdw-h2-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 50px rgba(232, 206, 148, 0.5);
}

.gdw-h2-btn--ghost {
	background: transparent;
	box-shadow: none;
	border: 1px solid rgba(255, 255, 255, 0.22);
}

.gdw-h2-btn--ghost:hover {
	border-color: #E8CE94;
	box-shadow: none;
}

.gdw-h2-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 10px;
}

/* --- Aparición al entrar en pantalla --- */
.gdw-h2-reveal {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.9s ease, transform 0.9s cubic-bezier(0.2, 0.8, 0.2, 1);
	transition-delay: calc(var(--d, 0) * 90ms);
}

.gdw-h2-reveal.is-in {
	opacity: 1;
	transform: none;
}

/* Titular palabra a palabra (.gdw-split en un widget Título) */
.gdw-split .gdw-w {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding-bottom: 0.08em;
	margin-bottom: -0.08em;
}

.gdw-split .gdw-w > span {
	display: inline-block;
	transform: translateY(110%);
	transition: transform 1s cubic-bezier(0.2, 0.8, 0.2, 1);
	transition-delay: calc(var(--i, 0) * 70ms);
}

.gdw-split.is-in .gdw-w > span {
	transform: none;
}

/* --- 1. Hero --- */
.gdw-h2-hero {
	overflow: hidden;
}

.gdw-h2-hero > .elementor-element:not(.gdw-h2-bg) {
	position: relative;
	z-index: 1;
}

.elementor-widget-html.gdw-h2-bg {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	z-index: 0;
	pointer-events: none;
}

.gdw-h2-bg__inner {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.gdw-h2-grid {
	position: absolute;
	inset: -10% 0;
	background-image:
		linear-gradient(var(--h2-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--h2-line) 1px, transparent 1px);
	background-size: 72px 72px;
	-webkit-mask-image: radial-gradient(ellipse at 60% 40%, #000 20%, transparent 72%);
	mask-image: radial-gradient(ellipse at 60% 40%, #000 20%, transparent 72%);
	transform: translate3d(0, calc(var(--p, 0) * 120px), 0);
}

.gdw-h2-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(70px);
	transform: translate3d(0, calc(var(--p, 0) * var(--speed, 200px)), 0) scale(calc(1 + var(--p, 0) * 0.3));
	animation: gdw-h2-breathe 9s ease-in-out infinite alternate;
}

.gdw-h2-orb--1 {
	width: 620px;
	height: 620px;
	top: -180px;
	right: -140px;
	background: radial-gradient(circle, rgba(232, 206, 148, 0.75), transparent 68%);
	--speed: 320px;
}

.gdw-h2-orb--2 {
	width: 460px;
	height: 460px;
	bottom: -160px;
	left: -120px;
	background: radial-gradient(circle, rgba(232, 206, 148, 0.45), transparent 70%);
	--speed: -220px;
	animation-delay: -4s;
}

.gdw-h2-orb--3 {
	width: 260px;
	height: 260px;
	top: 38%;
	left: 42%;
	background: radial-gradient(circle, rgba(201, 164, 92, 0.55), transparent 70%);
	--speed: 480px;
	animation-delay: -2s;
}

@keyframes gdw-h2-breathe {
	to { opacity: 0.55; }
}

.gdw-h2-hero__title {
	transform: translate3d(0, calc(var(--p, 0) * -90px), 0);
	opacity: calc(1 - var(--p, 0) * 1.2);
}

/* Diagrama isométrico que se despliega al bajar */
.gdw-h2-stack {
	height: 560px;
	display: grid;
	place-items: center;
	perspective: 1600px;
}

.gdw-h2-stack__scene {
	position: relative;
	width: min(360px, 70vw);
	aspect-ratio: 1;
	transform-style: preserve-3d;
	transform: rotateX(58deg) rotateZ(-42deg) translate3d(0, 0, calc(var(--p, 0) * -60px));
	animation: gdw-h2-float 6s ease-in-out infinite;
}

@keyframes gdw-h2-float {
	50% { translate: 0 -14px; }
}

.gdw-h2-stack__layer,
.gdw-h2-iso__layer {
	position: absolute;
	inset: 0;
	border-radius: 30px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.02));
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: 0 40px 80px rgba(0, 0, 0, 0.5);
	transform: translateZ(calc(var(--i) * (26px + var(--p, 0) * 110px)));
}

.gdw-h2-stack__layer::before,
.gdw-h2-iso__layer::before {
	content: "";
	position: absolute;
	inset: 18px;
	border-radius: 18px;
	border: 1px dashed rgba(255, 255, 255, 0.12);
}

.gdw-h2-stack__layer:last-child {
	background: linear-gradient(135deg, #E8CE94, #7E1010);
	border-color: rgba(255, 255, 255, 0.25);
	box-shadow: 0 40px 90px rgba(232, 206, 148, 0.45);
}

.gdw-h2-stack__layer span,
.gdw-h2-iso__layer span {
	position: absolute;
	left: 26px;
	bottom: 24px;
	font: 700 15px/1 "Cinzel", sans-serif;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
}

/* Figuras vectoriales que cambian de forma sin parar (morph SVG, custom.js)
   .gdw-h2-morph > svg con dos trazados, enlaces entre nodos y nodos. */
.gdw-h2-morph {
	width: min(540px, 88vw);
	aspect-ratio: 1;
	margin: 0 auto;
	transform: translate3d(0, calc(var(--p, 0) * -70px), 0) rotate(calc(var(--p, 0) * 30deg)) scale(calc(1 + var(--p, 0) * 0.15));
}

.gdw-h2-morph svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.gdw-h2-morph__rot {
	transform-origin: 0 0;
	animation: gdw-spin 70s linear infinite;
}

.gdw-h2-morph__outer {
	fill: url(#gdw-morph-fill);
	stroke: url(#gdw-morph-stroke);
	stroke-width: 2.2;
	stroke-linejoin: round;
	filter: drop-shadow(0 0 22px rgba(232, 206, 148, 0.55));
}

.gdw-h2-morph__inner {
	fill: none;
	stroke: rgba(255, 255, 255, 0.35);
	stroke-width: 1.2;
	stroke-dasharray: 4 6;
}

.gdw-h2-morph__links line {
	stroke: rgba(255, 255, 255, 0.12);
	stroke-width: 1;
}

.gdw-h2-morph__nodes circle {
	fill: #0C0B12;
	stroke: #E8CE94;
	stroke-width: 1.8;
}

.gdw-h2-morph__nodes circle.is-inner {
	fill: #E8CE94;
	stroke: none;
}

@media (prefers-reduced-motion: reduce) {
	.gdw-h2-morph__rot {
		animation: none;
	}
}

/* --- 3. Líneas de texto gigantes que avanzan y retroceden con el scroll --- */
.gdw-h2-lines {
	padding: 120px 0;
	overflow: hidden;
}

.gdw-h2-lines__row {
	display: flex;
	align-items: center;
	white-space: nowrap;
	width: max-content;
	margin-left: -25vw;
	font: 700 clamp(56px, 9vw, 170px)/1 "Cinzel", sans-serif;
	letter-spacing: 0;
	transform: translate3d(calc((var(--p, 0) - 0.5) * var(--dir, 1) * 55vw), 0, 0);
	will-change: transform;
}

.gdw-h2-lines__row + .gdw-h2-lines__row {
	margin-top: 0.08em;
}

.gdw-h2-lines__row .is-outline {
	color: transparent;
	-webkit-text-stroke: 1.5px rgba(244, 243, 239, 0.45);
}

.gdw-h2-lines__row i {
	display: inline-block;
	margin: 0 0.35em;
	font-size: 0.45em;
	font-style: normal;
	color: var(--h2-red);
	transform: rotate(calc(var(--p, 0) * 540deg));
}

/* --- 4. Sección fija: cinco capas que se despliegan y se contraen --- */
.gdw-h2-pin {
	position: relative;
	height: 420vh;
}

.gdw-h2-pin__sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 60px;
	padding: 0 var(--gutter);
	overflow: hidden;
}

.gdw-h2-pin__title {
	margin: 0 0 34px;
	font-size: clamp(34px, 4vw, 64px);
	line-height: 1.05;
	letter-spacing: 0;
	font-weight: 700;
}

.gdw-h2-pin__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: gdw-step;
}

.gdw-h2-pin__steps li {
	counter-increment: gdw-step;
	position: relative;
	padding: 16px 0 16px 58px;
	border-top: 1px solid var(--h2-line);
	opacity: 0.35;
	transition: opacity 0.4s;
}

.gdw-h2-pin__steps li::before {
	content: counter(gdw-step, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 17px;
	font: 600 15px "Cinzel", sans-serif;
	color: var(--h2-muted);
}

.gdw-h2-pin__steps li strong {
	display: block;
	font: 600 21px/1.3 "Cinzel", sans-serif;
	color: var(--h2-text);
}

.gdw-h2-pin__steps li span {
	display: block;
	max-height: 0;
	overflow: hidden;
	color: var(--h2-muted);
	transition: max-height 0.5s ease, margin 0.5s ease;
}

.gdw-h2-pin__steps li.is-active {
	opacity: 1;
}

.gdw-h2-pin__steps li.is-active::before {
	color: var(--h2-red);
}

.gdw-h2-pin__steps li.is-active span {
	max-height: 120px;
	margin-top: 8px;
}

.gdw-h2-pin__bar {
	height: 2px;
	margin-top: 26px;
	background: var(--h2-line);
}

.gdw-h2-pin__bar span {
	display: block;
	height: 100%;
	width: calc(var(--p, 0) * 100%);
	background: linear-gradient(90deg, #E8CE94, #E8CE94);
}

.gdw-h2-iso {
	position: relative;
	width: min(380px, 70vw);
	aspect-ratio: 1;
	margin: 0 auto;
	transform-style: preserve-3d;
	transform: rotateX(58deg) rotateZ(-42deg);
}

.gdw-h2-pin__visual {
	perspective: 1600px;
	display: grid;
	place-items: center;
}

.gdw-h2-iso__layer {
	transform: translateZ(calc(var(--i) * (16px + var(--ps, 0) * var(--spread, 120px))));
	transition: background 0.4s, border-color 0.4s, box-shadow 0.4s;
}

.gdw-h2-iso__layer.is-active {
	background: linear-gradient(135deg, #E8CE94, #7E1010);
	border-color: rgba(255, 255, 255, 0.3);
	box-shadow: 0 40px 100px rgba(232, 206, 148, 0.5);
}

@media (max-width: 1024px) {
	.gdw-h2-pin__sticky {
		grid-template-columns: 1fr;
		gap: 10px;
		align-content: center;
		padding-top: calc(var(--gdw-header-h, 85px) + 20px);
		--spread: 55px;
		/* La columna no crece con el navegador isométrico (560 px sin escalar) */
		grid-template-columns: minmax(0, 1fr);
	}

	.gdw-h2-pin__visual {
		min-width: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.gdw-h2-pin__visual {
		order: -1;
	}

	.gdw-h2-iso {
		width: min(240px, 60vw);
	}

	.gdw-h2-pin__steps li {
		padding: 10px 0 10px 44px;
	}

	.gdw-h2-pin__steps li strong {
		font-size: 17px;
	}
}

@media (max-width: 767px) {
	.gdw-h2-pin__sticky {
		align-content: start;
		--spread: 24px;
	}

	.gdw-h2-pin__visual {
		height: 270px;
		padding-top: 84px;
	}

	.gdw-h2-pin__steps li {
		padding: 7px 0 7px 40px;
	}

	.gdw-h2-pin__steps li::before {
		top: 9px;
	}

	.gdw-h2-pin__steps li strong {
		font-size: 16px;
	}

	.gdw-h2-iso {
		width: 165px;
	}

	.gdw-h2-pin__title {
		font-size: 28px;
		margin-bottom: 16px;
	}

	.gdw-h2-pin__text .gdw-h2-eyebrow {
		margin-bottom: 10px;
	}
}

/* Navegador isométrico con el esquema de una web (sección «cinco capas»)
   La página de dentro sube con --p; los bloques del paso activo se iluminan
   ([data-step] con .is-active); las dos copias de debajo se separan con --ps. */
.gdw-h2-browser {
	--bw: 560px;
	--bh: 410px;
	--s: 1;
	position: relative;
	width: var(--bw);
	height: var(--bh);
	flex: none;
	transform-style: preserve-3d;
	transform: rotateX(55deg) rotateZ(-38deg) scale(var(--s));
	animation: gdw-h2-float 7s ease-in-out infinite;
}

.gdw-h2-browser__ghost,
.gdw-h2-browser__window {
	position: absolute;
	inset: 0;
	border-radius: 22px;
}

.gdw-h2-browser__ghost {
	border: 1px solid rgba(255, 255, 255, 0.12);
	background: rgba(255, 255, 255, 0.025);
	transform: translateZ(calc(var(--g) * (-22px - var(--ps, 0) * 80px)));
	opacity: calc(0.7 - var(--g) * 0.22);
}

.gdw-h2-browser__ghost::after {
	content: "";
	position: absolute;
	inset: 50px 22px 22px;
	border-radius: 14px;
	border: 1px dashed rgba(255, 255, 255, 0.12);
}

.gdw-h2-browser__window {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: #17151F;
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 50px 100px rgba(0, 0, 0, 0.6), 0 0 80px rgba(232, 206, 148, calc(0.08 + var(--ps, 0) * 0.2));
	transform: translateZ(calc(var(--ps, 0) * 30px));
}

.gdw-h2-browser__bar {
	flex: none;
	display: flex;
	align-items: center;
	gap: 7px;
	height: 38px;
	padding: 0 14px;
	background: #1C1C1B;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.gdw-h2-browser__bar i {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #3A3A38;
}

.gdw-h2-browser__bar i:first-child {
	background: #E8CE94;
}

.gdw-h2-browser__bar i:nth-child(2) {
	background: #E8CE94;
}

.gdw-h2-browser__url {
	flex: 1;
	height: 20px;
	margin-left: 10px;
	padding: 0 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.06);
	font: 500 11px/20px "Lato", sans-serif;
	color: #8A8A86;
}

.gdw-h2-browser__viewport {
	position: relative;
	flex: 1;
	overflow: hidden;
}

.gdw-h2-browser__page {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 14px;
	transform: translate3d(0, calc(var(--p, 0) * -63%), 0);
}

.gdw-h2-b-row {
	display: flex;
	gap: 12px;
}

.gdw-h2-b {
	flex: 1;
	position: relative;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: background 0.45s, border-color 0.45s, box-shadow 0.45s, transform 0.45s;
}

.gdw-h2-b.is-active {
	background: linear-gradient(135deg, #E8CE94, #8C1212);
	border-color: rgba(255, 255, 255, 0.28);
	box-shadow: 0 10px 30px rgba(232, 206, 148, 0.45);
	transform: translateY(-3px);
}

.gdw-h2-b i,
.gdw-h2-b b,
.gdw-h2-b span,
.gdw-h2-b s {
	display: block;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.16);
}

.gdw-h2-b--nav {
	flex: none;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	padding: 0 12px;
}

.gdw-h2-b--nav::before {
	content: "";
	width: 46px;
	height: 10px;
	margin-right: auto;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.3);
}

.gdw-h2-b--nav span {
	width: 26px;
	height: 6px;
}

.gdw-h2-b--hero {
	flex: none;
	height: 124px;
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.gdw-h2-b--hero b {
	height: 14px;
	width: 70%;
	background: rgba(255, 255, 255, 0.32);
}

.gdw-h2-b--hero b + b {
	width: 48%;
}

.gdw-h2-b--hero em {
	display: block;
	width: 74px;
	height: 22px;
	margin-top: auto;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.28);
}

.gdw-h2-b--card {
	height: 72px;
}

.gdw-h2-b--card::before {
	content: "";
	position: absolute;
	left: 12px;
	top: 12px;
	width: 20px;
	height: 20px;
	border-radius: 7px;
	background: rgba(255, 255, 255, 0.22);
}

.gdw-h2-b--card::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 18px;
	bottom: 14px;
	height: 6px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
}

.gdw-h2-b--text {
	flex: none;
	padding: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gdw-h2-b-row .gdw-h2-b--text {
	flex: 1;
}

.gdw-h2-b--text i {
	height: 6px;
}

.gdw-h2-b--text i:nth-child(2) {
	width: 86%;
}

.gdw-h2-b--text i:nth-child(3) {
	width: 62%;
}

.gdw-h2-b--img {
	height: 96px;
	background-image: radial-gradient(circle at 70% 35%, rgba(255, 255, 255, 0.18) 0 10px, transparent 11px), linear-gradient(160deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.12));
}

.gdw-h2-b--chart {
	flex: none;
	height: 96px;
	display: flex;
	align-items: flex-end;
	gap: 8px;
	padding: 14px 16px;
}

.gdw-h2-b--chart s {
	flex: 1;
	height: calc(var(--h) * 100%);
	border-radius: 6px 6px 3px 3px;
}

.gdw-h2-b--cta {
	flex: none;
	height: 54px;
}

.gdw-h2-b--cta::after {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	width: 70px;
	height: 20px;
	margin-top: -10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.28);
}

.gdw-h2-b--footer {
	flex: none;
	height: 44px;
}

/* Versión «diagrama que se abre»: la página de dentro no se mueve; la ventana
   es la capa base y los bloques con [data-layer] (--lz = altura final) se
   elevan con --ps (0 → 1 → 0) mientras la sección está fija. */
.gdw-h2-browser--layers .gdw-h2-browser__window,
.gdw-h2-browser--layers .gdw-h2-browser__viewport,
.gdw-h2-browser--layers .gdw-h2-browser__page,
.gdw-h2-browser--layers .gdw-h2-b-row {
	overflow: visible;
	transform-style: preserve-3d;
}

.gdw-h2-browser--layers .gdw-h2-browser__window {
	transform: none;
}

.gdw-h2-browser--layers .gdw-h2-browser__bar {
	border-radius: 21px 21px 0 0;
}

.gdw-h2-browser--layers .gdw-h2-browser__page {
	height: 100%;
	gap: 10px;
	transform: none;
}

/* --open: se abre en el primer 45 % de la sección y se queda abierto */
.gdw-h2-browser--layers {
	--open: min(1, calc(var(--p, 0) * 2.2));
}

.gdw-h2-browser--layers [data-layer] {
	transform: translateZ(calc(var(--open, 0) * var(--lz, 60px)));
	transition: background 0.45s, border-color 0.45s, box-shadow 0.45s;
}

.gdw-h2-browser--layers .gdw-h2-b[data-layer] {
	box-shadow: 0 calc(var(--open, 0) * 40px) calc(var(--open, 0) * 50px) rgba(0, 0, 0, 0.55);
}

.gdw-h2-browser--layers .gdw-h2-b.is-active {
	transform: translateZ(calc(var(--open, 0) * var(--lz, 60px) + 16px));
	box-shadow: 0 20px 50px rgba(232, 206, 148, 0.5);
}

.gdw-h2-browser--layers .gdw-h2-b-row[data-layer] .gdw-h2-b {
	box-shadow: 0 calc(var(--open, 0) * 40px) calc(var(--open, 0) * 50px) rgba(0, 0, 0, 0.55);
}

.gdw-h2-browser--layers .gdw-h2-b-row[data-layer] .gdw-h2-b.is-active {
	transform: translateZ(16px);
}

.gdw-h2-browser--layers .gdw-h2-b--hero {
	height: 96px;
	padding: 16px 18px;
}

.gdw-h2-browser--layers .gdw-h2-b--card {
	height: 64px;
}

.gdw-h2-browser--layers .gdw-h2-b--chart {
	height: 70px;
	padding: 12px 16px;
}

@media (max-width: 1024px) {
	.gdw-h2-browser {
		--s: 0.66;
	}
}

@media (max-width: 767px) {
	.gdw-h2-browser {
		--s: 0.46;
	}

	.gdw-h2-pin__visual {
		overflow: visible;
	}
}

/* --- 5. Cifras con texto circular que gira --- */
.gdw-h2-stats {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	gap: 70px;
	padding: 110px var(--gutter);
}

.gdw-h2-circle {
	position: relative;
	width: 220px;
	height: 220px;
}

.gdw-h2-circle svg {
	width: 100%;
	height: 100%;
	transform: rotate(calc(var(--p, 0) * 540deg));
}

.gdw-h2-circle text {
	font: 600 13.5px "Cinzel", sans-serif;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	fill: var(--h2-text);
}

.gdw-h2-circle__core {
	position: absolute;
	inset: 50%;
	width: 78px;
	height: 78px;
	margin: -39px 0 0 -39px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	font-size: 34px;
	color: #FFFFFF;
	background: linear-gradient(135deg, #E8CE94, #7E1010);
	box-shadow: 0 0 60px rgba(232, 206, 148, 0.55);
}

.gdw-h2-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.gdw-h2-stat {
	padding: 30px 0 0;
	border-top: 1px solid var(--h2-line);
}

.gdw-h2-stat strong {
	display: block;
	font: 600 clamp(48px, 5vw, 84px)/1 "Cinzel", sans-serif;
	letter-spacing: 0;
	color: var(--h2-text);
}

.gdw-h2-stat span {
	display: block;
	margin-top: 12px;
	color: var(--h2-muted);
}

@media (max-width: 1024px) {
	.gdw-h2-stats {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 50px;
	}

	.gdw-h2-stats__grid {
		grid-template-columns: repeat(2, 1fr);
		width: 100%;
	}
}

/* --- 6. Proceso con línea que se rellena --- */
.gdw-h2-process {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding: 20px var(--gutter) 110px;
}

.gdw-h2-process__line {
	position: absolute;
	top: 49px;
	left: var(--gutter);
	right: var(--gutter);
	height: 2px;
	background: var(--h2-line);
}

.gdw-h2-process__line span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, #E8CE94, #E8CE94);
	transform-origin: left;
	transform: scaleX(clamp(0, calc((var(--p, 0) - 0.2) * 2.4), 1));
}

.gdw-h2-process__step {
	position: relative;
	opacity: clamp(0.2, calc((var(--p, 0) - var(--t)) * 7 + 0.2), 1);
	transform: translate3d(0, calc(clamp(0, (var(--t) - var(--p, 0)) * 300, 40) * 1px), 0);
}

.gdw-h2-process__dot {
	width: 60px;
	height: 60px;
	display: grid;
	place-items: center;
	margin-bottom: 28px;
	border-radius: 50%;
	font: 700 18px "Cinzel", sans-serif;
	color: #FFFFFF;
	background: var(--h2-surface);
	border: 1px solid var(--h2-line);
	position: relative;
	z-index: 1;
}

.gdw-h2-process__step h3 {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 600;
}

.gdw-h2-process__step p {
	margin: 0;
	color: var(--h2-muted);
}

@media (max-width: 1024px) {
	.gdw-h2-process {
		grid-template-columns: 1fr 1fr;
		row-gap: 50px;
	}

	.gdw-h2-process__line {
		display: none;
	}
}

@media (max-width: 767px) {
	.gdw-h2-process {
		grid-template-columns: 1fr;
	}
}

/* --- 7. Proyectos en horizontal, guiados por el scroll vertical --- */
.gdw-h2-hscroll {
	position: relative;
	height: 320vh;
}

.gdw-h2-hscroll__sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 40px;
	overflow: hidden;
}

.gdw-h2-hscroll__head {
	padding: 0 var(--gutter);
	max-width: 900px;
}

.gdw-h2-hscroll__head h2,
.gdw-h2-section-title {
	margin: 0;
	font-size: clamp(34px, 4vw, 64px);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
}

.gdw-h2-hscroll__track {
	display: flex;
	gap: 30px;
	width: max-content;
	padding: 0 var(--gutter);
	transform: translate3d(calc(var(--p, 0) * var(--dist, 0) * -1px), 0, 0);
	will-change: transform;
}

.gdw-h2-card {
	position: relative;
	width: clamp(280px, 34vw, 520px);
	flex: none;
	margin: 0;
	border-radius: 26px;
	overflow: hidden;
	background: var(--h2-surface);
	border: 1px solid var(--h2-line);
}

.gdw-h2-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.gdw-h2-card:hover img {
	transform: scale(1.06);
}

.gdw-h2-card figcaption {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	padding: 22px 24px 24px;
}

.gdw-h2-card figcaption span {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--h2-coral);
}

.gdw-h2-card figcaption h3 {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
}

.gdw-h2-card figcaption b {
	flex: none;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid var(--h2-line);
	font-weight: 400;
	transition: background 0.3s, border-color 0.3s;
}

.gdw-h2-card:hover figcaption b {
	background: var(--h2-red);
	border-color: var(--h2-red);
}

/* --- 8. Sectores con brillo que sigue al ratón --- */
.gdw-h2-sectors {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.gdw-h2-sector {
	--mx: 50%;
	--my: 50%;
	position: relative;
	padding: 36px 30px;
	border-radius: 26px;
	background: var(--h2-surface);
	border: 1px solid var(--h2-line);
	overflow: hidden;
	isolation: isolate;
}

.gdw-h2-sector::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(360px circle at var(--mx) var(--my), rgba(232, 206, 148, 0.28), transparent 60%);
	opacity: 0;
	transition: opacity 0.4s;
}

.gdw-h2-sector:hover::before {
	opacity: 1;
}

.gdw-h2-sector i {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin-bottom: 26px;
	border-radius: 16px;
	font-style: normal;
	font-size: 24px;
	background: rgba(232, 206, 148, 0.12);
	color: var(--h2-red);
}

.gdw-h2-sector h3 {
	margin: 0 0 10px;
	font-size: 22px;
	font-weight: 600;
}

.gdw-h2-sector p {
	margin: 0;
	color: var(--h2-muted);
}

@media (max-width: 1024px) {
	.gdw-h2-sectors {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.gdw-h2-sectors {
		grid-template-columns: 1fr;
	}
}

/* --- 9. Opiniones en oscuro (carrusel .gdw-carousel) --- */
.gdw-h2 .gdw-carousel__dot {
	background: rgba(255, 255, 255, 0.18);
}

/* --- 10. CTA final que crece al acercarse --- */
.gdw-h2-cta {
	position: relative;
	padding: 170px var(--gutter);
	text-align: center;
	overflow: hidden;
}

.gdw-h2-cta__glow {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 900px;
	height: 900px;
	margin: -450px 0 0 -450px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(232, 206, 148, 0.45), transparent 62%);
	filter: blur(30px);
	transform: scale(calc(0.4 + var(--p, 0) * 0.9));
	pointer-events: none;
}

.gdw-h2-cta__title {
	position: relative;
	margin: 0 0 26px;
	font-size: clamp(48px, 9vw, 150px) !important;
	line-height: 0.95;
	font-weight: 700;
	letter-spacing: 0;
	transform: scale(clamp(0.7, calc(0.62 + var(--p, 0) * 0.8), 1.05));
}

.gdw-h2-cta__title span {
	display: block;
}

.gdw-h2-cta p {
	position: relative;
	max-width: 620px;
	margin: 0 auto 34px;
	font-size: 19px;
	color: #C9C8C3;
}

/* --- Sin movimiento si el sistema lo pide --- */
@media (prefers-reduced-motion: reduce) {
	.gdw-h2 *,
	.gdw-h2 *::before {
		animation: none !important;
		transition: none !important;
	}

	.gdw-h2-reveal,
	.gdw-split .gdw-w > span {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* ==========================================================================
   10. Páginas legales (.gdw-legal): aviso legal, privacidad y cookies
   Los datos de cada cliente van como <strong>[MARCADOR]</strong>.
   ========================================================================== */
.gdw-legal .gdw-legal__body h2 {
	margin: 2.2em 0 0.7em;
	font-family: "Cinzel", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-legal .gdw-legal__body h3 {
	margin: 1.6em 0 0.5em;
	font-family: "Cinzel", sans-serif;
	font-size: 19px;
	font-weight: 600;
	color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-legal .gdw-legal__body p,
.gdw-legal .gdw-legal__body li {
	line-height: 1.75;
}

.gdw-legal .gdw-legal__body ul {
	margin: 0 0 1.2em 1.2em;
}

.gdw-legal .gdw-legal__body strong {
	color: var(--e-global-color-secondary, #F4F0E7);
}

.gdw-legal .gdw-legal__body a {
	color: #C9A45C;
}

.gdw-legal .gdw-legal__body table {
	width: 100%;
	margin: 1em 0 1.6em;
	border-collapse: collapse;
	font-size: 15px;
}

.gdw-legal .gdw-legal__body th,
.gdw-legal .gdw-legal__body td {
	padding: 12px 14px;
	border: 1px solid #E2E1DC;
	text-align: left;
	vertical-align: top;
}

.gdw-legal .gdw-legal__body th {
	background: #F4F3EF;
	font-family: "Cinzel", sans-serif;
	font-weight: 600;
	color: var(--e-global-color-secondary, #F4F0E7);
}

@media (max-width: 767px) {
	.gdw-legal .gdw-legal__body table {
		display: block;
		overflow-x: auto;
	}
}

/* ==========================================================================
   11. Texto circular (.gdw-circle-text): imagen redonda con un anillo de
   texto que gira. El texto sale del widget Título .gdw-circle-text__label
   (custom.js lo convierte en SVG, con su color). El ancho lo marca el
   contenedor.
   ========================================================================== */
.gdw-circle-text {
	position: relative;
	aspect-ratio: 1;
	flex-shrink: 0;
}

.gdw-circle-text > .elementor-widget-image {
	position: absolute;
	inset: 16%;
	width: auto !important;
	margin: 0 !important;
}

.gdw-circle-text > .elementor-widget-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50% !important;
}

.gdw-circle-text__ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
	animation: gdw-circle-spin 22s linear infinite;
}

.gdw-circle-text__ring text {
	font: 600 13px "Cinzel", sans-serif;
	letter-spacing: .2em;
	text-transform: uppercase;
	fill: currentColor;
}

/* El título queda para lectores de pantalla cuando ya está el anillo */
.gdw-circle-text.is-built .gdw-circle-text__label {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* En el editor (sin anillo) el título se ve debajo del círculo */
.gdw-circle-text:not(.is-built) .gdw-circle-text__label {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	text-align: center;
}

@keyframes gdw-circle-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gdw-circle-text__ring {
		animation: none;
	}
}
/* ==========================================================================
   AETERNA · «Luz y Oscuridad» (03-11-2026, María)
   Web visual, no editable por el cliente (decisión de María): cada sección es
   un contenedor de Elementor con clase gdw-ae-… y un widget HTML con piezas ae-.
   El movimiento lo pone ae.js (al final de custom.js). Sin librerías externas,
   sin espaciado negativo entre letras y respetando «reducir movimiento».
   ========================================================================== */

:root {
	--ae-noche: #0C0B12;
	--ae-noche-2: #121019;
	--ae-sup: #17151F;
	--ae-sup-2: #1F1B2B;
	--ae-oro: #E8CE94;
	--ae-oro-2: #C9A45C;
	--ae-oro-claro: #F7E9C4;
	--ae-violeta: #7C4DDB;
	--ae-violeta-claro: #A783FF;
	--ae-magenta: #E0479E;
	--ae-luz: #F4F0E7;
	--ae-suave: #B1AEB9;
	--ae-linea: rgba(244, 240, 231, 0.12);
	--ae-t: "Cinzel", Georgia, "Times New Roman", serif;
	--ae-s: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ae-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--ae-pad: clamp(18px, 4.2vw, 64px);
	--ae-max: 1360px;
}

/* --------------------------------------------------------------------------
   1. Base oscura en toda la web (Astra y la base vienen en claro)
   -------------------------------------------------------------------------- */
html, body, body #page, body .site-content, body .ast-container, body .site-main,
body.single-post .site-content, body .ast-separate-container, body .ast-plain-container {
	background-color: var(--ae-noche) !important;
}
body, body button, body input, body select, body textarea {
	font-family: var(--ae-s);
}
body {
	color: var(--ae-luz);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
body ::selection { background: rgba(232, 206, 148, 0.85); color: var(--ae-noche); }
body h1, body h2, body h3, body h4, body h5, body h6,
body .entry-content :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--ae-t);
	color: var(--ae-luz);
	word-spacing: 0.04em;
}
body a { color: var(--ae-oro); }
body a:hover, body a:focus { color: var(--ae-oro-claro); }
:focus-visible { outline: 2px solid var(--ae-oro); outline-offset: 3px; }
html { scroll-padding-top: 96px; }

/* Contenedores de Elementor que llevan una pieza ae-: sin márgenes propios */
.e-con[class*="gdw-ae-"] {
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--margin-top: 0px; --margin-bottom: 0px;
	padding: 0 !important;
	gap: 0 !important;
}
.e-con[class*="gdw-ae-"] > .elementor-widget-html,
.e-con[class*="gdw-ae-"] > .elementor-widget-shortcode,
.e-con[class*="gdw-ae-"] > .elementor-widget { width: 100%; margin: 0 !important; }
.e-con[class*="gdw-ae-"] .elementor-widget-container { margin: 0; padding: 0; }
.ae, .ae * { box-sizing: border-box; }
.ae { position: relative; font-family: var(--ae-s); color: var(--ae-luz); }
.ae a { text-decoration: none !important; }
.ae p { margin: 0 0 1em; }
.ae p:last-child { margin-bottom: 0; }
.ae img { display: block; max-width: 100%; height: auto; }
.ae h1, .ae h2, .ae h3, .ae h4 { margin: 0; line-height: 1.08; font-weight: 600; }
.ae-wrap { width: 100%; max-width: var(--ae-max); margin: 0 auto; padding: 0 var(--ae-pad); }
.ae-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* --------------------------------------------------------------------------
   2. Tipografía de las piezas
   -------------------------------------------------------------------------- */
.ae-eyebrow {
	display: inline-flex; align-items: center; gap: 14px;
	margin: 0 0 22px;
	font-family: var(--ae-s); font-size: 12px; font-weight: 700; line-height: 1.4;
	letter-spacing: 0.28em; text-transform: uppercase; color: var(--ae-oro);
}
.ae-eyebrow::before { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, transparent, var(--ae-oro)); }
.ae-eyebrow--centro { justify-content: center; }
.ae-eyebrow--centro::after { content: ""; width: 34px; height: 1px; background: linear-gradient(90deg, var(--ae-oro), transparent); }
.ae-h1 { font-family: var(--ae-t); font-size: clamp(38px, 5.3vw, 84px); font-weight: 600; line-height: 1.02; letter-spacing: 0.01em; }
.ae-h2 { font-family: var(--ae-t); font-size: clamp(34px, 5.4vw, 80px); font-weight: 600; line-height: 1.04; letter-spacing: 0.01em; }
.ae-h3 { font-family: var(--ae-t); font-size: clamp(24px, 2.6vw, 36px); font-weight: 600; line-height: 1.12; }
.ae-h4 { font-family: var(--ae-t); font-size: clamp(19px, 1.6vw, 23px); font-weight: 600; line-height: 1.2; }
.ae-oro-txt {
	background: linear-gradient(100deg, #B8914A 0%, var(--ae-oro) 22%, #FFF6DC 40%, var(--ae-oro) 58%, #B8914A 80%, var(--ae-oro) 100%);
	background-size: 220% 100%;
	-webkit-background-clip: text; background-clip: text;
	-webkit-text-fill-color: transparent; color: var(--ae-oro);
	animation: ae-brillo 7s linear infinite;
	padding-bottom: 0.06em;
}
@keyframes ae-brillo { to { background-position: -220% 0; } }
.ae-lead { font-size: clamp(17px, 1.45vw, 21px); line-height: 1.65; color: rgba(244, 240, 231, 0.84); max-width: 640px; }
.ae-texto { font-size: 16.5px; line-height: 1.75; color: var(--ae-suave); }
.ae-texto strong { color: var(--ae-luz); }
.ae-num { font-family: var(--ae-t); font-variant-numeric: tabular-nums; }
.ae-centro { text-align: center; }
.ae-centro .ae-lead { margin-left: auto; margin-right: auto; }

/* --------------------------------------------------------------------------
   3. Botones
   -------------------------------------------------------------------------- */
.ae-botones { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.ae .ae-btn, .ae-btn {
	position: relative; isolation: isolate; overflow: hidden;
	display: inline-flex; align-items: center; justify-content: center; gap: 12px;
	min-height: 56px; padding: 0 30px;
	font-family: var(--ae-s); font-size: 13px; font-weight: 900; line-height: 1;
	letter-spacing: 0.18em; text-transform: uppercase; white-space: nowrap;
	color: #1A1408 !important;
	background: linear-gradient(135deg, #F6E3B4 0%, var(--ae-oro) 35%, var(--ae-oro-2) 100%);
	border: 0; border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255, 240, 200, 0.4) inset, 0 10px 40px -12px rgba(232, 206, 148, 0.65);
	transition: transform 0.45s var(--ae-ease), box-shadow 0.45s var(--ae-ease);
	cursor: pointer;
}
.ae-btn::after {
	content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.75), transparent);
	transform: skewX(-20deg); transition: left 0.8s var(--ae-ease);
}
.ae-btn:hover, .ae-btn:focus-visible { transform: translateY(-3px); box-shadow: 0 0 0 1px rgba(255, 240, 200, 0.6) inset, 0 18px 60px -12px rgba(232, 206, 148, 0.9); color: #1A1408 !important; }
.ae-btn:hover::after, .ae-btn:focus-visible::after { left: 130%; }
.ae .ae-btn--linea, .ae-btn--linea {
	color: var(--ae-luz) !important; background: rgba(12, 11, 18, 0.35);
	box-shadow: 0 0 0 1px rgba(244, 240, 231, 0.32) inset;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ae-btn--linea::after { background: linear-gradient(100deg, transparent, rgba(232, 206, 148, 0.35), transparent); }
.ae-btn--linea:hover, .ae-btn--linea:focus-visible { color: var(--ae-oro-claro) !important; box-shadow: 0 0 0 1px var(--ae-oro) inset, 0 14px 50px -16px rgba(232, 206, 148, 0.6); }
.ae-btn--peq { min-height: 44px; padding: 0 20px; font-size: 11.5px; letter-spacing: 0.16em; }
.ae-btn__ico { width: 18px; height: 18px; flex: none; }
.ae-flecha { display: inline-block; transition: transform 0.4s var(--ae-ease); }
a:hover .ae-flecha { transform: translate(3px, -3px); }
.ae-enlace {
	display: inline-flex; align-items: center; gap: 10px;
	font-size: 12.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase;
	color: var(--ae-oro) !important; padding-bottom: 6px;
	background: linear-gradient(var(--ae-oro), var(--ae-oro)) 0 100% / 30% 1px no-repeat;
	transition: background-size 0.5s var(--ae-ease), color 0.3s;
}
.ae-enlace:hover { background-size: 100% 1px; color: var(--ae-oro-claro) !important; }

/* Plataformas (tiendas) */
.ae-plataformas { display: flex; flex-wrap: wrap; gap: 8px; }
.ae-plat {
	display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px;
	font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--ae-luz) !important; border: 1px solid rgba(244, 240, 231, 0.18); border-radius: 2px;
	background: rgba(244, 240, 231, 0.03);
	transition: border-color 0.3s, background 0.3s, color 0.3s, transform 0.3s var(--ae-ease);
}
a.ae-plat:hover { border-color: var(--ae-oro); color: var(--ae-oro-claro) !important; background: rgba(232, 206, 148, 0.08); transform: translateY(-2px); }
.ae-plat--prox { color: var(--ae-suave) !important; border-style: dashed; }
.ae-plat small { font-size: 10px; font-weight: 400; letter-spacing: 0.1em; color: var(--ae-oro); text-transform: none; }

/* --------------------------------------------------------------------------
   4. Apariciones al hacer scroll (ae.js pone .ae-in) y titulares letra a letra
   -------------------------------------------------------------------------- */
/* Ocultas desde el principio (sin parpadeo); si el JS no llega, se ven a los 2,5 s */
[data-ae] { opacity: 0; transform: translate3d(0, 40px, 0); transition: opacity 1s var(--ae-ease), transform 1.2s var(--ae-ease), filter 1.2s var(--ae-ease); transition-delay: var(--ae-d, 0s); }
[data-ae="izq"] { transform: translate3d(-50px, 0, 0); }
[data-ae="der"] { transform: translate3d(50px, 0, 0); }
[data-ae="zoom"] { transform: scale(0.92); filter: blur(8px); }
[data-ae="niebla"] { transform: none; filter: blur(14px); }
[data-ae].ae-in { opacity: 1; transform: none; filter: none; }
[data-ae-letras]:not(.ae-partido) { opacity: 0; }
html:not(.ae-js) [data-ae], html:not(.ae-js) [data-ae-letras] { animation: ae-mostrar 0.8s 2.5s forwards; }
@keyframes ae-mostrar { to { opacity: 1; transform: none; filter: none; } }
.elementor-editor-active [data-ae], .elementor-editor-active [data-ae-letras] { opacity: 1 !important; transform: none !important; filter: none !important; }
.ae-h1 .ae-linea, .ae-h2 .ae-linea { display: block; }
.ae-l { display: inline-block; white-space: pre; }
[data-ae-letras] .ae-l, [data-ae-letras] .ae-bloque { opacity: 0; transform: translate3d(0, 0.55em, 0) rotate(4deg); filter: blur(6px); transition: opacity 0.9s var(--ae-ease), transform 1s var(--ae-ease), filter 0.9s var(--ae-ease); transition-delay: calc(var(--ae-d, 0s) + var(--i) * 0.035s); }
[data-ae-letras] .ae-bloque { transform: translate3d(0, 0.3em, 0); filter: blur(12px); transition-duration: 1.4s; }
[data-ae-letras].ae-in .ae-l, [data-ae-letras].ae-in .ae-bloque { opacity: 1; transform: none; filter: none; }
.ae-palabra { display: inline-block; white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* --------------------------------------------------------------------------
   5. Cabecera (Ultimate Addons, plantilla 21): fija y transparente arriba
   -------------------------------------------------------------------------- */
body #masthead { position: fixed !important; top: 0; left: 0; right: 0; z-index: 9990; background: transparent !important; box-shadow: none !important; }
body.admin-bar #masthead { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar #masthead { top: 0; } }
body #masthead .gdw-header__bar {
	position: relative; isolation: isolate;
	min-height: 84px; padding-top: 10px !important; padding-bottom: 10px !important;
	background: transparent !important; border: 0 !important;
	transition: min-height 0.5s var(--ae-ease);
}
body #masthead .gdw-header__bar::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(180deg, rgba(12, 11, 18, 0.75), rgba(12, 11, 18, 0));
	transition: background 0.5s, -webkit-backdrop-filter 0.5s, backdrop-filter 0.5s;
}
body.gdw-is-scrolled #masthead .gdw-header__bar { min-height: 70px; }
body.gdw-is-scrolled #masthead .gdw-header__bar::before {
	background: rgba(12, 11, 18, 0.82);
	-webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
	box-shadow: 0 1px 0 rgba(232, 206, 148, 0.14), 0 20px 50px -30px rgba(0, 0, 0, 0.9);
}
/* línea de lectura dorada bajo la cabecera */
body #masthead .gdw-header__bar::after {
	content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 100%;
	transform-origin: 0 50%; transform: scaleX(var(--ae-leido, 0));
	background: linear-gradient(90deg, var(--ae-violeta-claro), var(--ae-oro), #fff);
	opacity: 0; transition: opacity 0.4s;
}
body.gdw-is-scrolled #masthead .gdw-header__bar::after { opacity: 1; }
/* Logo: la palabra AETERNA (sin corona) y «Universe» debajo */
.ae-logo { display: inline-flex; flex-direction: column; align-items: center; gap: 5px; line-height: 1; }
.ae-logo img { width: auto; height: 26px; transition: height 0.5s var(--ae-ease), filter 0.4s; filter: drop-shadow(0 0 18px rgba(232, 206, 148, 0.25)); }
.ae-logo__sub { font-family: var(--ae-s); font-size: 9px; font-weight: 700; letter-spacing: 0.62em; margin-right: -0.62em; text-transform: uppercase; color: var(--ae-oro); transition: opacity 0.4s; }
body.gdw-is-scrolled .ae-logo__sub { opacity: 0.85; }
body.gdw-is-scrolled .ae-logo img { height: 22px; }
.ae-logo:hover img { filter: drop-shadow(0 0 22px rgba(232, 206, 148, 0.6)); }
/* menú de escritorio */
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > a.hfe-menu-item,
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > div > a.hfe-menu-item {
	position: relative;
	font-family: var(--ae-s) !important; font-size: 12px !important; font-weight: 700 !important;
	letter-spacing: 0.2em !important; text-transform: uppercase;
	color: var(--ae-luz) !important; padding: 12px 14px !important;
}
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > a.hfe-menu-item::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 1px;
	background: linear-gradient(90deg, transparent, var(--ae-oro), transparent);
	transform: scaleX(0); transition: transform 0.5s var(--ae-ease);
}
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > a.hfe-menu-item:hover::after,
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li.current-menu-item > a.hfe-menu-item::after,
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li.current-menu-ancestor > a.hfe-menu-item::after { transform: scaleX(1); }
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > a.hfe-menu-item:hover,
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li.current-menu-item > a.hfe-menu-item,
body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li.current-menu-ancestor > a.hfe-menu-item { color: var(--ae-oro-claro) !important; }
body #masthead .hfe-nav-menu .sub-arrow, body #masthead .hfe-nav-menu .sub-arrow i, body #masthead .hfe-nav-menu .sub-arrow svg { color: var(--ae-oro) !important; fill: var(--ae-oro) !important; }
body #masthead .gdw-header__nav--desktop .sub-menu {
	min-width: 250px !important; padding: 10px 0 !important;
	background: rgba(18, 16, 25, 0.96) !important;
	border: 1px solid rgba(232, 206, 148, 0.18) !important; border-radius: 2px !important;
	box-shadow: 0 30px 60px -20px rgba(0, 0, 0, 0.9) !important;
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
body #masthead .gdw-header__nav--desktop .sub-menu a.hfe-sub-menu-item {
	font-family: var(--ae-t) !important; font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.04em !important;
	color: var(--ae-luz) !important; background: transparent !important; padding: 12px 22px !important; border: 0 !important;
	transition: color 0.3s, padding 0.4s var(--ae-ease);
}
body #masthead .gdw-header__nav--desktop .sub-menu a.hfe-sub-menu-item:hover { color: var(--ae-oro) !important; padding-left: 28px !important; }
.ae-cab-cta { display: flex; justify-content: flex-end; }
.ae-cab-cta .ae-btn { min-height: 44px; padding: 0 20px; font-size: 11px; }
.ae-cab-cta .ae-btn svg { width: 15px; height: 15px; }
@media (max-width: 1240px) {
	body #masthead .gdw-header__nav--desktop .hfe-nav-menu > li > a.hfe-menu-item { padding: 12px 9px !important; letter-spacing: 0.14em !important; font-size: 11.5px !important; }
}
@media (max-width: 1024px) {
	.ae-cab-cta .ae-btn span { display: none; }
	.ae-cab-cta .ae-btn { padding: 0 14px; min-height: 42px; }
	.ae-logo img { height: 22px; }
	body #masthead .gdw-header__bar { min-height: 70px; }
}

/* --------------------------------------------------------------------------
   6. Menú del móvil a pantalla completa (regla 23, receta de La Finca con ae-)
   -------------------------------------------------------------------------- */
html.ae-menu-listo .gdw-header__nav--mobile .hfe-flyout-wrapper { display: none !important; }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle { position: relative; width: 44px; height: 44px; padding: 0 !important; border: 0 !important; background: none !important; cursor: pointer; }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle > * { opacity: 0 !important; }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle::before,
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle::after { content: ""; position: absolute; right: 8px; height: 1.5px; border-radius: 2px; background: var(--ae-oro); transition: width 0.4s var(--ae-ease); }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle::before { top: 17px; width: 28px; }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle::after { top: 26px; width: 18px; }
html.ae-menu-listo .gdw-header__nav--mobile .hfe-nav-menu__toggle:hover::after { width: 28px; }
html.ae-menu-abierto { overflow: hidden !important; }
html.ae-menu-abierto .ae-flotante, html.ae-menu-abierto .cky-btn-revisit-wrapper { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
.ae-menu {
	position: fixed; inset: 0; z-index: 2147483000;
	display: flex; flex-direction: column; height: 100vh; height: 100dvh;
	padding: env(safe-area-inset-top, 0) 0 env(safe-area-inset-bottom, 0);
	color: var(--ae-luz);
	background:
		radial-gradient(90% 50% at 100% 0%, rgba(124, 77, 219, 0.28), transparent 60%),
		radial-gradient(80% 50% at 0% 100%, rgba(232, 206, 148, 0.16), transparent 60%),
		var(--ae-noche);
	-webkit-clip-path: inset(0 0 100% 0); clip-path: inset(0 0 100% 0);
	transition: clip-path 0.6s var(--ae-ease), -webkit-clip-path 0.6s var(--ae-ease);
	overscroll-behavior: contain;
}
.ae-menu[hidden] { display: none; }
.ae-menu.ae-visible { -webkit-clip-path: inset(0 0 0 0); clip-path: inset(0 0 0 0); }
body.admin-bar .ae-menu { top: var(--wp-admin--admin-bar--height, 0px); height: auto; }
.ae-menu a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
.ae-menu__cab { display: flex; align-items: center; justify-content: space-between; flex: none; padding: 16px 20px 16px 22px; border-bottom: 1px solid rgba(232, 206, 148, 0.14); }
.ae-menu__logo { display: inline-flex; flex-direction: column; align-items: center; gap: 5px; }
.ae-menu__logo img { display: block; width: auto; height: 22px; }
.ae-menu__logo .ae-logo__sub { font-size: 8px; }
.ae-menu__cerrar { position: relative; flex: none; width: 46px; height: 46px; min-height: 0; padding: 0 !important; border: 1px solid rgba(232, 206, 148, 0.4) !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important; cursor: pointer; transition: border-color 0.3s, transform 0.5s var(--ae-ease); }
.ae-menu__cerrar::before, .ae-menu__cerrar::after { content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 1.5px; margin: -0.75px 0 0 -9px; background: var(--ae-oro); transform: rotate(45deg); }
.ae-menu__cerrar::after { transform: rotate(-45deg); }
.ae-menu__cerrar:hover, .ae-menu__cerrar:focus-visible { border-color: var(--ae-oro) !important; outline: 0; transform: rotate(90deg); }
.ae-menu__nav { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 8px 24px 24px; }
.ae-menu__lista, .ae-menu__sub ul { margin: 0; padding: 0; list-style: none; }
.ae-menu__item { border-bottom: 1px solid rgba(244, 240, 231, 0.08); opacity: 0; transform: translate3d(0, 18px, 0); transition: opacity 0.5s, transform 0.6s var(--ae-ease); }
.ae-menu.ae-visible .ae-menu__item { opacity: 1; transform: none; transition-delay: calc(0.18s + var(--i, 0) * 0.045s); }
.ae-menu__fila { display: flex; align-items: center; gap: 14px; min-height: 60px; }
.ae-menu__num { flex: none; width: 22px; font-size: 11px; font-weight: 700; letter-spacing: 0.14em; color: rgba(232, 206, 148, 0.7); font-variant-numeric: tabular-nums; }
.ae-menu__enlace { flex: 1 1 auto; padding: 12px 0; font-family: var(--ae-t); font-size: clamp(26px, 7.6vw, 34px); font-weight: 600; line-height: 1.1; transition: color 0.3s, transform 0.4s var(--ae-ease); }
.ae-menu__enlace:active { transform: translateX(4px); }
.ae-menu__item.ae-actual > .ae-menu__fila .ae-menu__enlace, .ae-menu__item.ae-actual > .ae-menu__fila .ae-menu__num { color: var(--ae-oro); }
.ae-menu__abre { position: relative; flex: none; width: 44px; height: 44px; min-height: 0; margin-right: -8px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer; }
.ae-menu__abre::before, .ae-menu__abre::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 1.5px; margin: -0.75px 0 0 -8px; background: var(--ae-oro); transition: transform 0.45s var(--ae-ease); }
.ae-menu__abre::after { transform: rotate(90deg); }
.ae-menu__item.ae-abierto .ae-menu__abre::after { transform: rotate(0deg); }
.ae-menu__sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.5s var(--ae-ease); }
.ae-menu__sub > ul { overflow: hidden; min-height: 0; }
.ae-menu__item.ae-abierto .ae-menu__sub { grid-template-rows: 1fr; }
.ae-menu__sub ul { padding-left: 36px; }
.ae-menu__item.ae-abierto .ae-menu__sub ul { padding-bottom: 14px; }
.ae-menu__subenlace { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; font-size: 16px; line-height: 1.35; color: rgba(244, 240, 231, 0.8); border-top: 1px solid rgba(244, 240, 231, 0.06); }
.ae-menu__sub li:first-child .ae-menu__subenlace { border-top: 0; }
.ae-menu__sub .ae-actual .ae-menu__subenlace { color: var(--ae-oro); }
.ae-menu__fuera::after { content: "↗"; flex: none; font-size: 0.8em; color: var(--ae-oro); margin-left: 8px; }
.ae-menu__pie { flex: none; padding: 18px 24px 22px; border-top: 1px solid rgba(232, 206, 148, 0.14); opacity: 0; transform: translate3d(0, 14px, 0); transition: opacity 0.5s 0.1s, transform 0.6s var(--ae-ease) 0.1s; }
.ae-menu.ae-visible .ae-menu__pie { opacity: 1; transform: none; transition-delay: 0.45s; }
.ae-menu__acciones { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ae-menu__btn { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 10px; font-size: 11.5px; font-weight: 900; line-height: 1; white-space: nowrap; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ae-luz) !important; border: 1px solid rgba(244, 240, 231, 0.3); }
.ae-menu__btn--oro { color: #1A1408 !important; background: linear-gradient(135deg, #F6E3B4, var(--ae-oro) 40%, var(--ae-oro-2)); border-color: var(--ae-oro); }
.ae-menu__datos { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; margin: 14px 0 0; font-size: 13px; line-height: 1.5; color: rgba(244, 240, 231, 0.6); }
.ae-menu__datos a { color: var(--ae-luz) !important; border-bottom: 1px solid rgba(232, 206, 148, 0.5); }
@media (min-width: 600px) {
	.ae-menu__cab, .ae-menu__nav, .ae-menu__pie { padding-left: 40px; padding-right: 40px; }
	.ae-menu__acciones { max-width: 520px; }
}
@media (max-height: 640px) {
	.ae-menu__fila { min-height: 50px; }
	.ae-menu__enlace { font-size: 24px; padding: 8px 0; }
}

/* --------------------------------------------------------------------------
   7. Portada (hero) de la home: vídeo de Lucis, partículas y cuenta atrás
   -------------------------------------------------------------------------- */
.ae-hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; overflow: hidden; background: var(--ae-noche); }
.ae-hero__media, .ae-hero__media img, .ae-hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 30%; }
.ae-hero__media { z-index: 0; transform: scale(calc(1.06 + var(--p, 0) * 0.12)); transform-origin: 70% 40%; will-change: transform; }
.ae-hero__media video { opacity: 0; transition: opacity 1.6s; }
.ae-hero__media video.ae-listo { opacity: 1; }
.ae-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background:
		linear-gradient(90deg, rgba(12, 11, 18, 0.95) 0%, rgba(12, 11, 18, 0.72) 34%, rgba(12, 11, 18, 0.1) 70%),
		linear-gradient(0deg, var(--ae-noche) 0%, rgba(12, 11, 18, 0) 32%),
		radial-gradient(60% 60% at 72% 40%, rgba(232, 206, 148, 0.10), transparent 70%);
}
.ae-particulas { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.ae-hero__contenido { position: relative; z-index: 3; padding-top: 128px; padding-bottom: 150px; opacity: calc(1 - var(--p, 0) * 1.6); transform: translate3d(0, calc(var(--p, 0) * -80px), 0); }
.ae-hero__logo { width: clamp(150px, 14vw, 220px); margin: 0 0 14px -6px; filter: drop-shadow(0 0 30px rgba(232, 206, 148, 0.35)); }
.ae-hero .ae-h1 { max-width: 1000px; text-shadow: 0 10px 60px rgba(0, 0, 0, 0.6); }
.ae-hero .ae-lead { margin-top: 26px; max-width: 560px; }
.ae-hero .ae-botones { margin-top: 34px; }
.ae-fecha { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px; font-size: 13px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ae-oro); }
.ae-fecha::before { content: "✧"; font-size: 15px; animation: ae-latido 2.6s ease-in-out infinite; }
@keyframes ae-latido { 50% { opacity: 0.35; transform: scale(0.8); } }
.ae-hero__pie { position: absolute; z-index: 4; left: 0; right: 0; bottom: 0; }
.ae-hero__barra { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-bottom: 18px; font-size: 11px; font-weight: 700; letter-spacing: 0.26em; text-transform: uppercase; color: rgba(244, 240, 231, 0.6); }
.ae-hero__barra a { color: rgba(244, 240, 231, 0.75) !important; }
.ae-raton { display: inline-flex; align-items: center; gap: 12px; }
.ae-raton i { position: relative; width: 22px; height: 34px; border: 1px solid rgba(232, 206, 148, 0.6); border-radius: 12px; }
.ae-raton i::after { content: ""; position: absolute; left: 50%; top: 7px; width: 2px; height: 7px; margin-left: -1px; border-radius: 2px; background: var(--ae-oro); animation: ae-rueda 1.8s var(--ae-ease) infinite; }
@keyframes ae-rueda { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(12px); opacity: 0; } 100% { opacity: 0; } }
.ae-pausa { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: 0.2em !important; text-transform: uppercase; color: rgba(244, 240, 231, 0.75) !important; background: transparent !important; border: 1px solid rgba(244, 240, 231, 0.2) !important; border-radius: 40px !important; cursor: pointer; }
.ae-pausa:hover { color: var(--ae-oro) !important; border-color: var(--ae-oro) !important; }
.ae-pausa[hidden] { display: none !important; }
@media (max-width: 767px) {
	.ae-hero__barra > span:first-child { display: none; }
	.ae-hero__barra { justify-content: center; }
	.ae .ae-btn, .ae-btn { white-space: normal; text-align: center; line-height: 1.35; padding: 14px 22px; min-height: 54px; }
	.ae-botones > .ae-halo, .ae-botones > .ae-btn, .ae-halo > .ae-btn { width: 100%; }
	.ae-hero__contenido { padding-top: 110px; padding-bottom: 130px; }
}

/* Cuenta atrás */
.ae-atras { display: flex; gap: clamp(8px, 1.2vw, 16px); margin-top: 26px; }
.ae-hero .ae-atras__u { min-width: 64px; padding: 10px 8px 9px; }
.ae-hero .ae-atras__u b { font-size: clamp(22px, 2.2vw, 32px); }
.ae-atras__u { position: relative; min-width: 76px; padding: 14px 10px 12px; text-align: center; border: 1px solid rgba(232, 206, 148, 0.25); background: linear-gradient(180deg, rgba(232, 206, 148, 0.08), rgba(232, 206, 148, 0)); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ae-atras__u b { display: block; font-family: var(--ae-t); font-size: clamp(26px, 3vw, 42px); font-weight: 600; line-height: 1; color: var(--ae-oro-claro); font-variant-numeric: tabular-nums; }
.ae-atras__u span { display: block; margin-top: 8px; font-size: 10px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ae-suave); }
.ae-atras__u::before, .ae-atras__u::after { content: ""; position: absolute; width: 7px; height: 7px; border: 1px solid var(--ae-oro); }
.ae-atras__u::before { top: -1px; left: -1px; border-right: 0; border-bottom: 0; }
.ae-atras__u::after { bottom: -1px; right: -1px; border-left: 0; border-top: 0; }
.ae-atras--ya { font-family: var(--ae-t); font-size: 24px; color: var(--ae-oro); }

/* Cinta infinita */
.ae-cinta { position: relative; overflow: hidden; padding: 18px 0; border-top: 1px solid rgba(232, 206, 148, 0.16); border-bottom: 1px solid rgba(232, 206, 148, 0.16); background: rgba(12, 11, 18, 0.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ae-cinta__pista { display: flex; width: max-content; animation: ae-cinta 40s linear infinite; }
.ae-cinta__pista span { padding: 0 26px; font-family: var(--ae-t); font-size: clamp(15px, 1.3vw, 19px); font-weight: 600; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(244, 240, 231, 0.7); white-space: nowrap; }
.ae-cinta__pista span:nth-child(even) { color: var(--ae-oro); letter-spacing: 0; }
@keyframes ae-cinta { to { transform: translateX(-50%); } }

/* --------------------------------------------------------------------------
   8. Secciones genéricas
   -------------------------------------------------------------------------- */
.ae-sec { position: relative; padding: clamp(64px, 8vw, 124px) 0; overflow: clip; }
.ae-sec--sup { background: linear-gradient(180deg, var(--ae-noche), var(--ae-noche-2) 30%, var(--ae-noche-2) 70%, var(--ae-noche)); }
.ae-cab { max-width: 880px; margin-bottom: clamp(32px, 4.2vw, 60px); }
.ae-cab.ae-centro { margin-left: auto; margin-right: auto; }
.ae-cab .ae-lead { margin-top: 24px; }
.ae-fila { display: grid; grid-template-columns: repeat(12, 1fr); gap: clamp(24px, 3vw, 48px); align-items: center; }
.ae-c5 { grid-column: span 5; } .ae-c6 { grid-column: span 6; } .ae-c7 { grid-column: span 7; } .ae-c4 { grid-column: span 4; } .ae-c8 { grid-column: span 8; } .ae-c12 { grid-column: 1 / -1; }
@media (max-width: 1024px) { .ae-fila > * { grid-column: 1 / -1 !important; } }
.ae-ornamento { display: block; width: 120px; height: 14px; margin: 0 auto 26px; background: radial-gradient(circle, var(--ae-oro) 2px, transparent 3px) center / 14px 14px no-repeat, linear-gradient(90deg, transparent, var(--ae-oro) 45%, transparent 45%, transparent 55%, var(--ae-oro) 55%, transparent) center / 100% 1px no-repeat; }
.ae-brillo-fondo { position: absolute; z-index: 0; width: 70vw; height: 70vw; max-width: 1100px; max-height: 1100px; border-radius: 50%; filter: blur(80px); opacity: 0.4; pointer-events: none; }
.ae-brillo-fondo--violeta { background: radial-gradient(circle, rgba(124, 77, 219, 0.55), transparent 65%); }
.ae-brillo-fondo--oro { background: radial-gradient(circle, rgba(232, 206, 148, 0.35), transparent 65%); }
.ae-brillo-fondo--magenta { background: radial-gradient(circle, rgba(224, 71, 158, 0.45), transparent 65%); }
.ae-sec > .ae-wrap { position: relative; z-index: 2; }

/* Tarjetas con inclinación 3D y brillo que sigue al ratón */
.ae-tilt { position: relative; transform-style: preserve-3d; transform: perspective(1100px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg)); transition: transform 0.6s var(--ae-ease); will-change: transform; }
.ae-tilt.ae-moviendo { transition: transform 0.12s linear; }
.ae-tilt::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; border-radius: inherit; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 240, 200, 0.18), transparent 45%); opacity: 0; transition: opacity 0.4s; }
.ae-tilt:hover::after { opacity: 1; }

/* Marco con filo dorado que gira (premios, wishlist) */
@property --ae-giro { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.ae-filo { position: relative; isolation: isolate; }
.ae-filo::before { content: ""; position: absolute; inset: -1px; z-index: -1; border-radius: inherit; padding: 1px; background: conic-gradient(from var(--ae-giro), rgba(232, 206, 148, 0.08) 0deg, var(--ae-oro) 60deg, rgba(232, 206, 148, 0.08) 120deg, rgba(167, 131, 255, 0.5) 240deg, rgba(232, 206, 148, 0.08) 300deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; animation: ae-giro 6s linear infinite; }
@keyframes ae-giro { to { --ae-giro: 360deg; } }

/* --------------------------------------------------------------------------
   9. Reseñas y premios
   -------------------------------------------------------------------------- */
.ae-notas { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--ae-linea); border-bottom: 1px solid var(--ae-linea); }
.ae-nota { position: relative; display: block; padding: 40px 28px 34px; color: var(--ae-luz) !important; border-left: 1px solid var(--ae-linea); transition: background 0.5s; }
.ae-nota:first-child { border-left: 0; }
.ae-nota:hover { background: radial-gradient(80% 100% at 50% 0%, rgba(232, 206, 148, 0.10), transparent 70%); }
.ae-nota__valor { display: flex; align-items: baseline; gap: 6px; font-family: var(--ae-t); font-size: clamp(54px, 6vw, 92px); font-weight: 600; line-height: 1; color: var(--ae-oro-claro); }
.ae-nota__valor small { font-family: var(--ae-s); font-size: 15px; color: var(--ae-suave); letter-spacing: 0.1em; }
.ae-nota__medio { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 18px; font-size: 12px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ae-suave); }
.ae-nota:hover .ae-nota__medio { color: var(--ae-oro); }
.ae-estrellas { color: var(--ae-oro); letter-spacing: 0.3em; font-size: 12px; }
.ae-premios { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: clamp(50px, 6vw, 90px); }
.ae-premio { display: flex; flex-direction: column; border-radius: 4px; background: linear-gradient(180deg, var(--ae-sup-2), var(--ae-sup)); overflow: hidden; }
.ae-premio__img { aspect-ratio: 5 / 4; overflow: hidden; background: #0d0c13; }
.ae-premio__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-premio:hover .ae-premio__img img { transform: scale(1.06); }
.ae-premio__txt { padding: 22px 22px 26px; }
.ae-premio__tipo { font-size: 10.5px; font-weight: 900; letter-spacing: 0.28em; text-transform: uppercase; color: var(--ae-oro); }
.ae-premio__txt h3 { margin: 10px 0 8px; font-family: var(--ae-t); font-size: 19px; }
.ae-premio__txt p { font-size: 14.5px; line-height: 1.55; color: var(--ae-suave); }
@media (max-width: 1024px) { .ae-notas, .ae-premios { grid-template-columns: repeat(2, 1fr); } .ae-nota:nth-child(3) { border-left: 0; } .ae-nota:nth-child(n+3) { border-top: 1px solid var(--ae-linea); } }
@media (max-width: 560px) { .ae-premios { grid-template-columns: 1fr; } .ae-nota { padding: 28px 16px; } .ae-nota__medio { flex-direction: column; align-items: flex-start; letter-spacing: 0.12em; } }

/* --------------------------------------------------------------------------
   10. Los tres capítulos en horizontal (sección fija; ae.js pone --ae-dist)
   -------------------------------------------------------------------------- */
.ae-saga { position: relative; height: calc(100vh + var(--ae-dist, 1800px)); background: var(--ae-noche); }
.ae-saga__fija { position: sticky; top: 0; height: 100vh; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.ae-saga__fondo { position: absolute; inset: 0; z-index: 0; background: radial-gradient(70% 70% at 30% 50%, rgba(124, 77, 219, calc(0.42 * (1 - var(--p, 0) * 2))), transparent 70%), radial-gradient(70% 70% at 60% 50%, rgba(224, 71, 158, calc(0.34 * (1 - (var(--p, 0) - 0.5) * (var(--p, 0) - 0.5) * 12))), transparent 70%), radial-gradient(70% 70% at 70% 50%, rgba(232, 206, 148, calc(0.30 * var(--p, 0))), transparent 70%); transition: background 0.2s linear; }
.ae-saga__cab { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: clamp(26px, 4vh, 48px); }
.ae-saga__cab .ae-h2 { font-size: clamp(32px, 4.4vw, 66px); }
.ae-saga__progreso { flex: none; width: 200px; height: 1px; background: var(--ae-linea); position: relative; }
.ae-saga__progreso::after { content: ""; position: absolute; inset: 0; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: linear-gradient(90deg, var(--ae-violeta-claro), var(--ae-magenta), var(--ae-oro)); }
.ae-saga__pista { position: relative; z-index: 2; display: flex; gap: clamp(20px, 2.5vw, 36px); width: max-content; padding-left: var(--ae-pad); padding-right: 10vw; transform: translate3d(calc(var(--p, 0) * var(--ae-dist, 0px) * -1), 0, 0); will-change: transform; }
.ae-capitulo { position: relative; flex: none; width: min(78vw, 980px); height: min(62vh, 600px); display: grid; grid-template-columns: 1.15fr 1fr; border-radius: 4px; overflow: hidden; background: var(--ae-sup); color: var(--ae-luz) !important; box-shadow: 0 40px 100px -40px rgba(0, 0, 0, 0.9); }
.ae-capitulo__img { position: relative; overflow: hidden; }
.ae-capitulo__img img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); transform: scale(1.08) translateX(calc(var(--p, 0) * -30px)); transition: transform 1.4s var(--ae-ease); }
.ae-capitulo:hover .ae-capitulo__img img { transform: scale(1.14); }
.ae-capitulo__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 60%, var(--ae-sup)); }
.ae-capitulo__txt { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 3.4vw, 56px); }
.ae-capitulo__num { position: absolute; top: 18px; right: 26px; font-family: var(--ae-t); font-size: clamp(70px, 9vw, 140px); line-height: 1; color: transparent; -webkit-text-stroke: 1px rgba(232, 206, 148, 0.28); }
.ae-capitulo__tag { font-size: 11px; font-weight: 900; letter-spacing: 0.3em; text-transform: uppercase; color: var(--c, var(--ae-oro)); }
.ae-capitulo h3 { margin: 14px 0 6px; font-family: var(--ae-t); font-size: clamp(30px, 3.2vw, 48px); }
.ae-capitulo__sub { font-family: var(--ae-t); font-size: 17px; color: var(--ae-oro); margin-bottom: 18px !important; }
.ae-capitulo__txt p { font-size: 16px; line-height: 1.7; color: var(--ae-suave); }
.ae-capitulo .ae-enlace { margin-top: 26px; align-self: flex-start; }
.ae-capitulo--noctis { --c: var(--ae-violeta-claro); }
.ae-capitulo--summum { --c: var(--ae-magenta); }
.ae-capitulo--lucis { --c: var(--ae-oro); }
.ae-capitulo::before { content: ""; position: absolute; inset: 0; z-index: 4; pointer-events: none; border: 1px solid rgba(232, 206, 148, 0.16); border-radius: inherit; }
@media (max-width: 900px) {
	.ae-saga { height: auto; }
	.ae-saga__fija { position: relative; height: auto; padding: 64px 0 56px; }
	/* en el móvil, los tres capítulos se pasan con el dedo (y se ve que hay más) */
	.ae-saga__pista { width: auto; transform: none !important; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-right: var(--ae-pad); padding-bottom: 6px; gap: 14px; }
	.ae-saga__pista::-webkit-scrollbar { display: none; }
	.ae-capitulo { width: 84vw; max-width: 420px; height: auto; grid-template-columns: 1fr; scroll-snap-align: start; }
	.ae-capitulo__num { font-size: 64px; top: 10px; right: 16px; }
	.ae-capitulo__txt { padding: 22px 22px 26px; }
	.ae-capitulo__img { aspect-ratio: 16 / 10; }
	.ae-capitulo__img::after { background: linear-gradient(180deg, transparent 55%, var(--ae-sup)); }
	.ae-saga__progreso { display: none; }
	.ae-saga__fondo { background: radial-gradient(70% 40% at 30% 20%, rgba(124, 77, 219, 0.35), transparent 70%), radial-gradient(70% 40% at 70% 80%, rgba(232, 206, 148, 0.25), transparent 70%); }
}

/* --------------------------------------------------------------------------
   11. Dos monarcas: noche y día separados por una línea de luz
   -------------------------------------------------------------------------- */
.ae-monarcas { position: relative; height: 260vh; background: var(--ae-noche); }
.ae-monarcas__fija { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.ae-monarcas__img, .ae-monarcas__capa { position: absolute; inset: 0; }
.ae-monarcas__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transform: scale(calc(1.18 - var(--p, 0) * 0.12)); }
.ae-monarcas__capa--noche { background: linear-gradient(90deg, rgba(20, 8, 46, 0.9), rgba(60, 28, 120, 0.55)); mix-blend-mode: multiply; -webkit-clip-path: inset(0 calc(100% - var(--corte, 50%)) 0 0); clip-path: inset(0 calc(100% - var(--corte, 50%)) 0 0); }
.ae-monarcas__capa--dia { background: linear-gradient(270deg, rgba(255, 226, 150, 0.55), rgba(255, 245, 220, 0.1)); mix-blend-mode: screen; -webkit-clip-path: inset(0 0 0 var(--corte, 50%)); clip-path: inset(0 0 0 var(--corte, 50%)); }
.ae-monarcas__linea { position: absolute; top: 0; bottom: 0; left: var(--corte, 50%); width: 2px; margin-left: -1px; background: linear-gradient(180deg, transparent, #fff 20%, var(--ae-oro) 50%, #fff 80%, transparent); box-shadow: 0 0 30px 6px rgba(255, 236, 190, 0.7), 0 0 120px 30px rgba(232, 206, 148, 0.35); }
.ae-monarcas__sombra { position: absolute; inset: 0; background: linear-gradient(0deg, var(--ae-noche) 0%, transparent 35%, transparent 70%, rgba(12, 11, 18, 0.7) 100%); }
.ae-monarcas__texto { position: absolute; z-index: 5; left: 0; right: 0; top: 50%; transform: translateY(-50%); text-align: center; opacity: calc(var(--p, 0) * 3 - 0.25); }
.ae-monarcas__texto .ae-h2 { text-shadow: 0 10px 60px rgba(0, 0, 0, 0.85); }
.ae-monarcas__texto .ae-lead { margin: 24px auto 0; text-shadow: 0 4px 30px rgba(0, 0, 0, 0.9); }
.ae-monarcas__lado { position: absolute; z-index: 5; bottom: 9vh; font-family: var(--ae-t); font-size: clamp(14px, 1.3vw, 18px); letter-spacing: 0.4em; text-transform: uppercase; }
.ae-monarcas__lado--noche { left: var(--ae-pad); color: var(--ae-violeta-claro); }
.ae-monarcas__lado--dia { right: var(--ae-pad); color: var(--ae-oro-claro); text-align: right; }
.ae-monarcas__lado small { display: block; margin-top: 8px; font-family: var(--ae-s); font-size: 11px; letter-spacing: 0.26em; color: rgba(244, 240, 231, 0.7); }
.ae-monarcas__caos { position: absolute; z-index: 4; left: 50%; bottom: 0; width: min(1100px, 120vw); transform: translate3d(-50%, calc((1 - var(--p, 0)) * 70% + 10%), 0); opacity: calc(var(--p, 0) * 1.4 - 0.35); pointer-events: none; filter: drop-shadow(0 0 40px rgba(224, 71, 158, 0.35)); }
@media (max-width: 767px) { .ae-monarcas { height: 220vh; } .ae-monarcas__lado { bottom: 6vh; letter-spacing: 0.24em; } }

/* --------------------------------------------------------------------------
   12. La vidriera a oscuras y la luz que la descubre
   -------------------------------------------------------------------------- */
.ae-linterna { position: relative; min-height: 100vh; overflow: hidden; display: flex; align-items: flex-end; background: #000; cursor: crosshair; }
.ae-linterna__img { position: absolute; inset: 0; }
.ae-linterna__img img { width: 100%; height: 100%; object-fit: cover; }
.ae-linterna__img--apagada img { filter: grayscale(0.85) brightness(0.16) contrast(1.2); }
.ae-linterna__img--luz { -webkit-mask: radial-gradient(circle var(--lr, 260px) at var(--lx, 50%) var(--ly, 45%), #000 0%, rgba(0, 0, 0, 0.85) 35%, transparent 100%); mask: radial-gradient(circle var(--lr, 260px) at var(--lx, 50%) var(--ly, 45%), #000 0%, rgba(0, 0, 0, 0.85) 35%, transparent 100%); }
.ae-linterna__img--luz img { filter: saturate(1.2) brightness(1.08); }
.ae-linterna__halo { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle calc(var(--lr, 260px) * 1.2) at var(--lx, 50%) var(--ly, 45%), rgba(255, 236, 190, 0.18), transparent 70%); mix-blend-mode: screen; }
.ae-linterna__texto { position: relative; z-index: 3; width: 100%; padding-bottom: clamp(60px, 9vw, 120px); padding-top: 160px; background: linear-gradient(0deg, rgba(0, 0, 0, 0.92), transparent); pointer-events: none; }
.ae-linterna__texto a { pointer-events: auto; }
.ae-linterna__pista { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; font-size: 11px; font-weight: 700; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(244, 240, 231, 0.6); }
.ae-linterna__pista::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--ae-oro); box-shadow: 0 0 14px 4px rgba(232, 206, 148, 0.7); animation: ae-latido 2s ease-in-out infinite; }

/* --------------------------------------------------------------------------
   13. Aeterna Noctis: cifras, modos y claves
   -------------------------------------------------------------------------- */
.ae-cifras { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(50px, 6vw, 90px); border: 1px solid var(--ae-linea); }
.ae-cifra { padding: 34px 26px; border-left: 1px solid var(--ae-linea); }
.ae-cifra:first-child { border-left: 0; }
.ae-cifra b { display: block; font-family: var(--ae-t); font-size: clamp(48px, 5.4vw, 84px); font-weight: 600; line-height: 1; color: var(--ae-luz); }
.ae-cifra b em { font-style: normal; color: var(--ae-oro); }
.ae-cifra > span { display: block; margin-top: 12px; font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ae-suave); }
@media (max-width: 767px) { .ae-cifras { grid-template-columns: repeat(2, 1fr); } .ae-cifra:nth-child(3) { border-left: 0; } .ae-cifra:nth-child(n+3) { border-top: 1px solid var(--ae-linea); } .ae-cifra { padding: 24px 16px; } }
.ae-ultimate { position: relative; border-radius: 4px; overflow: hidden; background: var(--ae-sup); }
.ae-ultimate img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.ae-ultimate__txt { padding: clamp(24px, 3vw, 40px); }
.ae-ultimate__txt h3 { margin: 12px 0 14px; }
.ae-modos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: clamp(50px, 6vw, 90px); }
.ae-modo { position: relative; display: grid; grid-template-columns: 0.9fr 1.1fr; align-items: center; border-radius: 4px; overflow: hidden; background: var(--ae-sup); }
.ae-modo__img { aspect-ratio: 1; overflow: hidden; }
.ae-modo__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-modo:hover .ae-modo__img img { transform: scale(1.08); }
.ae-modo__txt { padding: 26px 30px; }
.ae-modo__tag { font-size: 11px; font-weight: 900; letter-spacing: 0.28em; color: var(--ae-violeta-claro); }
.ae-modo h3 { margin: 10px 0 10px; font-family: var(--ae-t); font-size: 24px; }
.ae-modo p { font-size: 15px; line-height: 1.6; color: var(--ae-suave); }
.ae-claves { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 24px; }
.ae-clave { border-radius: 4px; overflow: hidden; background: var(--ae-sup); }
.ae-clave__img { aspect-ratio: 4 / 3; overflow: hidden; }
.ae-clave__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-clave:hover .ae-clave__img img { transform: scale(1.07); }
.ae-clave__txt { padding: 24px 26px 28px; }
.ae-clave h3 { font-family: var(--ae-t); font-size: 21px; margin-bottom: 10px; }
.ae-clave p { font-size: 15px; line-height: 1.6; color: var(--ae-suave); }
@media (max-width: 1024px) { .ae-modos, .ae-claves { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ae-modo { grid-template-columns: 1fr; } .ae-modo__img { aspect-ratio: 16 / 10; } }
.ae-rey-gif { position: absolute; z-index: 1; right: -2vw; top: 4%; width: min(440px, 34vw); opacity: 0.9; pointer-events: none; filter: drop-shadow(0 0 40px rgba(124, 77, 219, 0.45)); mix-blend-mode: lighten; }
@media (max-width: 1024px) { .ae-rey-gif { display: none; } }

/* --------------------------------------------------------------------------
   14. El mundo en capas (parallax con el arte original)
   -------------------------------------------------------------------------- */
.ae-capas { position: relative; height: 165vh; background: #06070b; }
.ae-capas__fija { position: sticky; top: 0; height: 100vh; overflow: hidden; }
.ae-capa { position: absolute; left: -5%; width: 110%; pointer-events: none; will-change: transform; transform: translate3d(0, calc(var(--p, 0) * var(--v, 0) * -1px), 0) scale(var(--s, 1)); }
.ae-capa img { width: 100%; height: 100%; object-fit: cover; }
.ae-capa--fondo { inset: -10% -5%; height: 120%; }
.ae-capa--luna { top: -8%; height: 100%; mix-blend-mode: screen; opacity: 0.95; }
.ae-capa--nubes { top: 22%; height: 80%; opacity: 0.55; mix-blend-mode: screen; }
.ae-capa--castillo { left: 50%; width: min(700px, 70vw); top: 18%; height: auto; margin-left: calc(min(700px, 70vw) / -2); transform: translate3d(0, calc(var(--p, 0) * var(--v, 0) * -1px), 0) scale(calc(0.85 + var(--p, 0) * 0.25)); filter: drop-shadow(0 0 60px rgba(255, 236, 190, 0.5)); }
.ae-capa--castillo img { height: auto; }
.ae-capa--escalera { left: 8%; width: min(260px, 26vw); top: 34%; height: auto; opacity: 0.8; }
.ae-capa--escalera img { height: auto; }
.ae-capa--dunas { bottom: -6%; height: 62%; filter: brightness(0.55); }
.ae-capa--ramas { inset: 0 -5%; height: 100%; transform: translate3d(0, calc(var(--p, 0) * var(--v, 0) * -1px), 0) scale(calc(1 + var(--p, 0) * 0.22)); }
.ae-capas__texto { position: absolute; z-index: 6; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 var(--ae-pad); opacity: calc(1.2 - var(--p, 0) * 1.6); transform: translate3d(0, calc(var(--p, 0) * 120px), 0); }
.ae-capas__texto .ae-h2 { font-size: clamp(38px, 6.4vw, 104px); text-shadow: 0 10px 60px rgba(0, 0, 0, 0.8); }
.ae-capas__texto .ae-lead { margin-top: 22px; text-shadow: 0 4px 24px rgba(0, 0, 0, 0.9); }
.ae-capas::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30vh; z-index: 7; background: linear-gradient(0deg, var(--ae-noche), transparent); pointer-events: none; }

/* --------------------------------------------------------------------------
   15. Summum Aeterna
   -------------------------------------------------------------------------- */
.ae-summum { position: relative; overflow: hidden; padding: clamp(110px, 13vw, 200px) 0; background: #12060f; }
.ae-summum__fondo { position: absolute; inset: 0; }
.ae-summum__fondo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; opacity: 0.32; transform: scale(1.1) translate3d(0, calc(var(--p, 0) * 60px - 30px), 0); }
.ae-summum__fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18, 6, 15, 0.97) 10%, rgba(18, 6, 15, 0.7) 50%, rgba(18, 6, 15, 0.25)), linear-gradient(0deg, var(--ae-noche), transparent 30%, transparent 75%, var(--ae-noche)); }
.ae-summum .ae-eyebrow { color: #FF8BC6; }
.ae-summum .ae-eyebrow::before { background: linear-gradient(90deg, transparent, #FF8BC6); }
.ae-summum .ae-oro-txt { background-image: linear-gradient(100deg, #E0479E 0%, #FFB3DA 30%, #fff 45%, #FFB3DA 60%, #E0479E 85%); background-size: 220% 100%; }
.ae-lista { margin: 28px 0 0; padding: 0; list-style: none; }
.ae-lista li { position: relative; padding: 14px 0 14px 34px; border-bottom: 1px solid rgba(244, 240, 231, 0.1); font-size: 16.5px; color: rgba(244, 240, 231, 0.88); }
.ae-lista li::before { content: "✧"; position: absolute; left: 4px; top: 13px; color: var(--ae-oro); }
.ae-summum .ae-lista li::before { color: #FF8BC6; }
.ae-summum__lema { margin-top: 40px; font-family: var(--ae-t); font-size: 15px; letter-spacing: 0.3em; text-transform: uppercase; color: rgba(255, 179, 218, 0.8); }
.ae-summum__portada { border-radius: 4px; overflow: hidden; box-shadow: 0 40px 120px -30px rgba(224, 71, 158, 0.55); }
.ae-summum__portada img { width: 100%; }

/* --------------------------------------------------------------------------
   16. Lista de deseos de Aeterna Lucis (el apartado estrella)
   -------------------------------------------------------------------------- */
.ae-wishlist { position: relative; overflow: hidden; min-height: 88vh; display: flex; align-items: center; padding: clamp(80px, 9vw, 130px) 0; background: radial-gradient(90% 80% at 75% 50%, #2a1748 0%, #140c24 45%, var(--ae-noche) 75%); }
.ae-wishlist__rayos { position: absolute; z-index: 0; left: 72%; top: 48%; width: 180vmax; height: 180vmax; margin: -90vmax 0 0 -90vmax; background: repeating-conic-gradient(from 0deg, rgba(255, 236, 190, 0.11) 0deg 4deg, transparent 4deg 16deg); -webkit-mask: radial-gradient(circle, #000 0%, transparent 55%); mask: radial-gradient(circle, #000 0%, transparent 55%); animation: ae-rayos 60s linear infinite; pointer-events: none; }
@keyframes ae-rayos { to { transform: rotate(360deg); } }
.ae-wishlist__reina { position: absolute; z-index: 1; right: 0; top: 0; bottom: 0; width: 62%; }
.ae-wishlist__reina img { width: 100%; height: 100%; object-fit: cover; object-position: 75% 30%; -webkit-mask: linear-gradient(90deg, transparent 0%, #000 40%); mask: linear-gradient(90deg, transparent 0%, #000 40%); transform: scale(calc(1.12 - var(--p, 0) * 0.1)); }
.ae-wishlist .ae-particulas { z-index: 2; }
.ae-wishlist__caja { position: relative; z-index: 3; max-width: 680px; }
.ae-wishlist__logo { width: clamp(200px, 22vw, 300px); margin: 0 0 20px -6px; filter: drop-shadow(0 0 40px rgba(255, 236, 190, 0.45)); }
.ae-wishlist .ae-h2 { font-size: clamp(40px, 5.6vw, 88px); }
.ae-wishlist .ae-lead { margin-top: 22px; }
.ae-wishlist__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 38px; }
.ae-btn--deseo { min-height: 74px; padding: 0 40px 0 30px; font-size: 14px; letter-spacing: 0.16em; border-radius: 3px; }
.ae-btn--deseo svg { width: 26px; height: 26px; }
.ae-halo { position: relative; display: inline-flex; }
.ae-halo::before, .ae-halo::after { content: ""; position: absolute; inset: -10px; border: 1px solid rgba(232, 206, 148, 0.6); border-radius: 6px; pointer-events: none; animation: ae-halo 2.8s var(--ae-ease) infinite; }
.ae-halo::after { animation-delay: 1.4s; }
@keyframes ae-halo { 0% { opacity: 0.9; transform: scale(0.92); } 100% { opacity: 0; transform: scale(1.18, 1.45); } }
.ae-wishlist__nota { margin-top: 18px !important; font-size: 13.5px; color: var(--ae-suave); }
.ae-wishlist__nota b { color: var(--ae-oro-claro); font-weight: 700; }
.ae-wishlist__plat { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(232, 206, 148, 0.18); }
.ae-wishlist__plat p { font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ae-suave); margin-bottom: 14px !important; }
.ae-wishlist__claves { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: clamp(60px, 7vw, 100px); background: rgba(232, 206, 148, 0.16); border: 1px solid rgba(232, 206, 148, 0.16); }
.ae-wishlist__clave { padding: 30px 28px; background: rgba(12, 11, 18, 0.78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.ae-wishlist__clave b { font-family: var(--ae-t); font-size: 14px; color: var(--ae-oro); letter-spacing: 0.2em; }
.ae-wishlist__clave h3 { margin: 10px 0 10px; font-family: var(--ae-t); font-size: 21px; }
.ae-wishlist__clave p { font-size: 15px; line-height: 1.6; color: var(--ae-suave); }
@media (max-width: 1024px) {
	.ae-wishlist { align-items: flex-end; padding-top: 52vh; }
	.ae-wishlist__reina { width: 100%; height: 66vh; bottom: auto; }
	.ae-wishlist__reina img { -webkit-mask: linear-gradient(180deg, #000 45%, transparent 100%); mask: linear-gradient(180deg, #000 45%, transparent 100%); object-position: 70% 20%; }
	.ae-wishlist__rayos { left: 60%; top: 25%; }
	.ae-wishlist__claves { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.ae-btn--deseo { width: 100%; min-height: 66px; padding: 0 18px; font-size: 12.5px; letter-spacing: 0.12em; }
	.ae-halo { width: 100%; }
	.ae-atras { gap: 8px; }
	.ae-atras__u { min-width: 0; flex: 1 1 0; padding: 12px 4px 10px; }
	.ae-atras__u span { letter-spacing: 0.12em; font-size: 9px; }
}

/* Botón flotante de la lista de deseos (todas las páginas) */
.ae-flotante { position: fixed; z-index: 9980; right: 18px; bottom: 18px; display: flex; align-items: center; gap: 2px; opacity: 0; visibility: hidden; transform: translate3d(0, 20px, 0); transition: opacity 0.5s, transform 0.6s var(--ae-ease), visibility 0.5s; }
.ae-flotante.ae-ver { opacity: 1; visibility: visible; transform: none; }
.ae-flotante__btn { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 20px 0 14px; font-size: 11.5px; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; color: #1A1408 !important; background: linear-gradient(135deg, #F6E3B4, var(--ae-oro) 40%, var(--ae-oro-2)); border-radius: 40px 0 0 40px; box-shadow: 0 14px 40px -12px rgba(232, 206, 148, 0.8); text-decoration: none !important; }
.ae-flotante__btn svg { width: 20px; height: 20px; animation: ae-latido 2.4s ease-in-out infinite; }
.ae-flotante__cerrar { width: 32px; min-height: 50px; padding: 0 !important; border: 0 !important; border-radius: 0 40px 40px 0 !important; background: #E3C47F !important; color: #1A1408 !important; font-size: 16px !important; line-height: 1; cursor: pointer; box-shadow: none !important; }
@media (max-width: 560px) { .ae-flotante { right: 12px; bottom: 12px; } .ae-flotante__btn { min-height: 46px; padding: 0 16px 0 12px; font-size: 10.5px; } .ae-flotante__cerrar { min-height: 46px; } }

/* --------------------------------------------------------------------------
   17. Galería, vídeos y visor
   -------------------------------------------------------------------------- */
.ae-mosaico { display: grid; grid-template-columns: repeat(12, 1fr); grid-auto-rows: clamp(120px, 13vw, 200px); gap: 14px; }
.ae-mosaico__item { position: relative; display: block; grid-column: span 4; grid-row: span 2; border-radius: 3px; overflow: hidden; background: var(--ae-sup); }
.ae-mosaico__item--ancho { grid-column: span 8; }
.ae-mosaico__item--alto { grid-row: span 3; }
.ae-mosaico__item img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ae-ease), filter 0.6s; filter: saturate(0.92); }
.ae-mosaico__item:hover img { transform: scale(1.07); filter: saturate(1.15); }
.ae-mosaico__item figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 18px 14px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; color: var(--ae-luz); background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), transparent); opacity: 0; transform: translateY(8px); transition: opacity 0.4s, transform 0.5s var(--ae-ease); }
.ae-mosaico__item:hover figcaption, .ae-mosaico__item:focus-visible figcaption { opacity: 1; transform: none; }
.ae-mosaico__item::after { content: "+"; position: absolute; top: 12px; right: 12px; width: 34px; height: 34px; display: grid; place-items: center; font-size: 20px; color: var(--ae-noche); background: var(--ae-oro); border-radius: 50%; transform: scale(0); transition: transform 0.4s var(--ae-ease); }
.ae-mosaico__item:hover::after { transform: scale(1); }
@media (max-width: 900px) { .ae-mosaico { grid-auto-rows: 110px; gap: 10px; } .ae-mosaico__item, .ae-mosaico__item--ancho { grid-column: span 6; grid-row: span 2; } .ae-mosaico__item:nth-child(3n) { grid-column: 1 / -1; } }
.ae-videos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 20px; }
.ae-videos--2 { grid-template-columns: repeat(2, 1fr); }
.ae-video { position: relative; aspect-ratio: 16 / 9; border-radius: 3px; overflow: hidden; background: #000; }
.ae-video button { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; cursor: pointer; }
.ae-video img { width: 100%; height: 100%; object-fit: cover; opacity: 0.75; transition: opacity 0.5s, transform 1.2s var(--ae-ease); }
.ae-video:hover img { opacity: 0.95; transform: scale(1.05); }
.ae-video__play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; border-radius: 50%; background: rgba(12, 11, 18, 0.55); border: 1px solid var(--ae-oro); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: transform 0.5s var(--ae-ease), background 0.4s; }
.ae-video__play::after { content: ""; position: absolute; left: 31px; top: 24px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent var(--ae-oro); }
.ae-video:hover .ae-video__play { transform: scale(1.12); background: rgba(232, 206, 148, 0.2); }
.ae-video__titulo { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 18px 14px; text-align: left; font-family: var(--ae-t); font-size: 17px; color: var(--ae-luz); background: linear-gradient(0deg, rgba(0, 0, 0, 0.85), transparent); }
.ae-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ae-video__aviso { font-size: 12.5px; color: var(--ae-suave); margin-top: 14px !important; }
@media (max-width: 900px) { .ae-videos, .ae-videos--2 { grid-template-columns: 1fr; } }
.ae-visor { position: fixed; inset: 0; z-index: 2147483100; display: flex; align-items: center; justify-content: center; padding: 60px 70px; background: rgba(6, 5, 10, 0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); opacity: 0; transition: opacity 0.4s; }
.ae-visor[hidden] { display: none; }
.ae-visor.ae-ver { opacity: 1; }
.ae-visor figure { margin: 0; max-width: 100%; max-height: 100%; display: flex; flex-direction: column; align-items: center; }
.ae-visor img { max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; box-shadow: 0 40px 120px rgba(0, 0, 0, 0.8); }
.ae-visor figcaption { margin-top: 16px; font-family: var(--ae-t); font-size: 17px; color: var(--ae-luz); text-align: center; }
.ae-visor button { position: absolute; width: 50px; height: 50px; min-height: 0; padding: 0 !important; border: 1px solid rgba(232, 206, 148, 0.5) !important; border-radius: 50% !important; background: rgba(12, 11, 18, 0.6) !important; color: var(--ae-oro) !important; font-size: 22px !important; line-height: 1; cursor: pointer; box-shadow: none !important; }
.ae-visor button:hover { border-color: var(--ae-oro) !important; background: rgba(232, 206, 148, 0.15) !important; }
.ae-visor__cerrar { top: 18px; right: 18px; }
.ae-visor__ant { left: 14px; top: 50%; margin-top: -25px; }
.ae-visor__sig { right: 14px; top: 50%; margin-top: -25px; }
@media (max-width: 600px) { .ae-visor { padding: 70px 10px; } .ae-visor__ant, .ae-visor__sig { top: auto; bottom: 14px; margin: 0; } }

/* --------------------------------------------------------------------------
   18. Tiendas, desafíos, noticias, prensa
   -------------------------------------------------------------------------- */
.ae-tiendas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ae-tienda { display: flex; flex-direction: column; border-radius: 4px; overflow: hidden; background: linear-gradient(180deg, var(--ae-sup-2), var(--ae-sup)); }
.ae-tienda__img { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.ae-tienda__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-tienda:hover .ae-tienda__img img { transform: scale(1.06); }
.ae-tienda__estado { position: absolute; left: 14px; top: 14px; padding: 7px 12px; font-size: 10.5px; font-weight: 900; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ae-noche); background: var(--ae-oro); }
.ae-tienda__estado--prox { background: var(--ae-violeta-claro); color: #0b0716; }
.ae-tienda__txt { flex: 1; display: flex; flex-direction: column; padding: 26px 26px 28px; }
.ae-tienda__txt h3 { font-family: var(--ae-t); font-size: 25px; }
.ae-tienda__txt > p { margin: 6px 0 20px !important; font-size: 12px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ae-oro); }
.ae-tienda .ae-plataformas { margin-top: auto; }
.ae-tienda__nota { margin-top: 14px !important; font-size: 13px; color: var(--ae-suave); }
@media (max-width: 1024px) { .ae-tiendas { grid-template-columns: 1fr; } }
.ae-campeones { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.ae-campeon { position: relative; display: flex; flex-direction: column; padding: 30px 20px 22px; text-align: center; border-radius: 4px; background: linear-gradient(180deg, var(--ae-sup-2), var(--ae-sup)); color: var(--ae-luz) !important; }
.ae-campeon__corona { width: 44px; height: 30px; margin: 0 auto 16px; color: var(--ae-oro); filter: drop-shadow(0 0 12px rgba(232, 206, 148, 0.6)); transition: transform 0.6s var(--ae-ease); }
.ae-campeon:hover .ae-campeon__corona { transform: translateY(-6px) scale(1.1); }
.ae-campeon__cat { font-size: 11px; font-weight: 900; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ae-oro); }
.ae-campeon__modo { margin-top: 4px; font-size: 12px; color: var(--ae-suave); }
.ae-campeon__nombre { margin: 18px 0 18px; font-family: var(--ae-t); font-size: clamp(18px, 1.6vw, 22px); font-weight: 700; letter-spacing: 0.08em; word-break: break-word; }
.ae-campeon .ae-enlace { margin-top: auto; align-self: center; font-size: 11px; }
@media (max-width: 1024px) { .ae-campeones { grid-template-columns: repeat(2, 1fr); } .ae-campeon:last-child { grid-column: 1 / -1; } }
.ae-corredor { position: relative; height: 120px; margin: 50px 0 10px; overflow: hidden; }
.ae-corredor img { position: absolute; bottom: 0; height: 110px; width: auto; left: calc(var(--p, 0) * 110% - 15%); filter: drop-shadow(0 0 20px rgba(124, 77, 219, 0.5)); }
.ae-corredor::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 1px; background: linear-gradient(90deg, transparent, rgba(232, 206, 148, 0.5), transparent); }
.ae-detalles { margin-top: 40px; border: 1px solid var(--ae-linea); border-radius: 3px; }
.ae-detalles summary { padding: 20px 24px; cursor: pointer; font-family: var(--ae-t); font-size: 18px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.ae-detalles summary::-webkit-details-marker { display: none; }
.ae-detalles summary::after { content: "+"; color: var(--ae-oro); font-size: 22px; line-height: 1; transition: transform 0.4s var(--ae-ease); }
.ae-detalles[open] summary::after { transform: rotate(45deg); }
.ae-detalles > div { padding: 0 24px 24px; }
.ae-noticias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ae-noticia { display: flex; flex-direction: column; border-radius: 4px; overflow: hidden; background: var(--ae-sup); color: var(--ae-luz) !important; transition: transform 0.6s var(--ae-ease); }
.ae-noticia:hover { transform: translateY(-6px); }
.ae-noticia__img { aspect-ratio: 16 / 10; overflow: hidden; }
.ae-noticia__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ae-ease); }
.ae-noticia:hover .ae-noticia__img img { transform: scale(1.06); }
.ae-noticia__txt { flex: 1; display: flex; flex-direction: column; padding: 24px 26px 28px; }
.ae-noticia__fecha { font-size: 11.5px; font-weight: 900; letter-spacing: 0.24em; color: var(--ae-oro); }
.ae-noticia h3 { margin: 12px 0 12px; font-family: var(--ae-t); font-size: 22px; line-height: 1.2; }
.ae-noticia p { font-size: 15px; line-height: 1.6; color: var(--ae-suave); }
.ae-noticia .ae-enlace { margin-top: auto; padding-top: 18px; align-self: flex-start; }
@media (max-width: 1024px) { .ae-noticias { grid-template-columns: 1fr; } }
.ae-descargas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 40px; }
.ae-descarga { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border: 1px solid rgba(232, 206, 148, 0.25); border-radius: 3px; color: var(--ae-luz) !important; background: rgba(232, 206, 148, 0.03); transition: background 0.4s, border-color 0.4s, transform 0.5s var(--ae-ease); }
.ae-descarga:hover { background: rgba(232, 206, 148, 0.08); border-color: var(--ae-oro); transform: translateY(-4px); }
.ae-descarga small { font-size: 11px; font-weight: 900; letter-spacing: 0.24em; color: var(--ae-oro); }
.ae-descarga b { font-family: var(--ae-t); font-size: 20px; font-weight: 600; }
.ae-descarga span { font-size: 13px; color: var(--ae-suave); }
@media (max-width: 900px) { .ae-descargas { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------------------
   19. Comunidad: boletín, redes y contacto, con el amanecer al final
   -------------------------------------------------------------------------- */
.ae-amanecer { position: relative; overflow: hidden; padding: clamp(100px, 12vw, 180px) 0; background: linear-gradient(180deg, var(--ae-noche) 0%, #1a1230 calc(30% + var(--p, 0) * 10%), #4a2b4a calc(60% + var(--p, 0) * 6%), #a9784a calc(88% + (1 - var(--p, 0)) * 12%), #f0c98a 104%); }
.ae-amanecer__sol { position: absolute; left: 50%; bottom: calc(-46vmax + var(--p, 0) * 22vmax); width: 80vmax; height: 80vmax; margin-left: -40vmax; border-radius: 50%; background: radial-gradient(circle, rgba(255, 244, 214, 0.9) 0%, rgba(255, 214, 140, 0.45) 22%, rgba(255, 190, 120, 0.12) 45%, transparent 65%); pointer-events: none; }
.ae-amanecer > .ae-wrap { position: relative; z-index: 2; }
.ae-amanecer::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 22%; z-index: 1; pointer-events: none; background: linear-gradient(0deg, #08070c, rgba(8, 7, 12, 0)); }
.ae-c5 .ae-h2, .ae-c6 .ae-h2, .ae-c7 .ae-h2 { font-size: clamp(32px, 4.2vw, 64px); }
.ae-boletin { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: clamp(30px, 4vw, 56px); border-radius: 4px; background: rgba(12, 11, 18, 0.72); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.ae-boletin h3 { margin-bottom: 12px; }
.ae-form { display: flex; flex-direction: column; gap: 14px; }
.ae-form__fila { display: flex; gap: 10px; }
.ae-form label { font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ae-suave); }
.ae .ae-form input[type="email"], .ae .ae-form input[type="text"] { flex: 1; min-width: 0; min-height: 56px; padding: 0 18px; font-size: 16px; color: var(--ae-luz); background: rgba(244, 240, 231, 0.05); border: 1px solid rgba(244, 240, 231, 0.2); border-radius: 2px; }
.ae .ae-form input:focus { outline: none; border-color: var(--ae-oro); box-shadow: 0 0 0 3px rgba(232, 206, 148, 0.18); }
.ae-form__casilla { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.5; color: var(--ae-suave); }
.ae-form__casilla input { margin-top: 3px; accent-color: var(--ae-oro); width: 16px; height: 16px; flex: none; }
.ae-form__trampa { position: absolute !important; left: -5000px !important; width: 1px; height: 1px; overflow: hidden; }
.ae-form iframe { width: 100%; height: 70px; border: 0; background: transparent; }
@media (max-width: 900px) { .ae-boletin { grid-template-columns: 1fr; } .ae-form__fila { flex-direction: column; } }
.ae-redes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 30px; background: rgba(244, 240, 231, 0.1); border: 1px solid rgba(244, 240, 231, 0.1); }
.ae-red { display: flex; align-items: center; gap: 16px; padding: 22px 22px; color: var(--ae-luz) !important; background: rgba(12, 11, 18, 0.72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background 0.4s; }
.ae-red:hover { background: rgba(232, 206, 148, 0.12); }
.ae-red svg { width: 26px; height: 26px; flex: none; fill: var(--ae-oro); transition: transform 0.5s var(--ae-ease); }
.ae-red:hover svg { transform: scale(1.15) rotate(-6deg); }
.ae-red b { display: block; font-family: var(--ae-t); font-size: 17px; font-weight: 600; }
.ae-red small { display: block; font-size: 12.5px; color: var(--ae-suave); }
@media (max-width: 1024px) { .ae-redes { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .ae-red { padding: 18px 14px; gap: 12px; } .ae-red b { font-size: 15px; } .ae-red small { display: none; } }
.ae-contactos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px; }
.ae-contacto { padding: 30px 28px; border-radius: 4px; background: rgba(12, 11, 18, 0.72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ae-contacto h3 { font-family: var(--ae-t); font-size: 21px; margin-bottom: 8px; }
.ae-contacto p { font-size: 15px; line-height: 1.6; color: var(--ae-suave); }
.ae-contacto a.ae-enlace { margin-top: 16px; text-transform: none; letter-spacing: 0.04em; font-size: 14.5px; word-break: break-all; }
@media (max-width: 1024px) { .ae-contactos { grid-template-columns: 1fr; } }

/* Formulario de contacto (Contact Form 7) en oscuro */
.ae-cf7 .wpcf7-form p { margin: 0 0 18px; }
.ae-cf7 .gdw-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
@media (max-width: 767px) { .ae-cf7 .gdw-form__row { grid-template-columns: 1fr; } }
.ae-cf7 label { display: block; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ae-suave) !important; font-family: var(--ae-s) !important; }
.ae-cf7 input[type="text"], .ae-cf7 input[type="email"], .ae-cf7 input[type="tel"], .ae-cf7 select, .ae-cf7 textarea {
	width: 100%; margin-top: 8px; padding: 15px 16px !important; font-family: var(--ae-s) !important; font-size: 16px !important;
	color: var(--ae-luz) !important; background: rgba(244, 240, 231, 0.05) !important; border: 1px solid rgba(244, 240, 231, 0.2) !important; border-radius: 2px !important; box-shadow: none !important;
}
.ae-cf7 select option { background: var(--ae-noche); color: var(--ae-luz); }
.ae-cf7 textarea { min-height: 160px; resize: vertical; }
.ae-cf7 input:focus, .ae-cf7 select:focus, .ae-cf7 textarea:focus { border-color: var(--ae-oro) !important; box-shadow: 0 0 0 3px rgba(232, 206, 148, 0.18) !important; outline: none; }
.ae-cf7 .gdw-form__privacy, .ae-cf7 .gdw-form__privacy label { font-size: 14px !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 400 !important; color: var(--ae-suave) !important; }
.ae-cf7 .gdw-form__privacy input { accent-color: var(--ae-oro); }
.ae-cf7 .gdw-form__privacy a { color: var(--ae-oro) !important; }
.ae-cf7 .gdw-form__submit, .ae-cf7 input[type="submit"] { min-height: 58px; padding: 0 36px !important; font-family: var(--ae-s) !important; font-size: 13px !important; font-weight: 900 !important; letter-spacing: 0.18em !important; text-transform: uppercase; color: #1A1408 !important; background: linear-gradient(135deg, #F6E3B4, var(--ae-oro) 40%, var(--ae-oro-2)) !important; border: 0 !important; border-radius: 2px !important; cursor: pointer; }
.ae-cf7 .gdw-form__submit:hover, .ae-cf7 input[type="submit"]:hover { filter: brightness(1.08); }
.ae-cf7 .wpcf7-not-valid-tip { color: #FF9FB5 !important; font-size: 13px; }
.ae-cf7 .wpcf7-response-output { color: var(--ae-luz); border-color: var(--ae-oro) !important; border-radius: 2px; }
.ae-cf7 .wpcf7-spinner { background-color: var(--ae-oro); }
.ae-recaptcha { margin-top: 10px !important; font-size: 12.5px; color: var(--ae-suave); }
/* Sección del formulario en Contacto: texto a la izquierda y Contact Form 7 a la derecha */
.e-con.gdw-form-ae { width: 100%; max-width: var(--ae-max); margin: 0 auto !important; padding: clamp(80px, 9vw, 140px) var(--ae-pad) 0 !important; gap: clamp(30px, 5vw, 80px) !important; align-items: flex-start !important; }
.gdw-form-ae > .gdw-form-ae__info { flex: 0 1 40% !important; width: auto !important; }
.e-con.gdw-form-ae__caja { flex: 1 1 60% !important; padding: clamp(24px, 3vw, 44px) !important; gap: 0 !important; background: var(--ae-sup); border: 1px solid rgba(232, 206, 148, 0.18); border-radius: 4px; }
.ae-form-info .ae-lista a { color: var(--ae-oro) !important; word-break: break-all; }
@media (max-width: 1024px) { .e-con.gdw-form-ae { flex-direction: column !important; } .gdw-form-ae > * { flex-basis: auto !important; width: 100% !important; } }
/* Mapa del sitio */
.e-con.gdw-mapa-ae { width: 100%; max-width: 980px; margin: 0 auto !important; padding: 40px var(--ae-pad) 130px !important; font-size: 17px; }
.gdw-mapa-ae .wsp-container ul { padding-left: 1.2em; }
.gdw-mapa-ae .wsp-container li { margin: 0 0 10px; }
.gdw-mapa-ae .wsp-container h2 { font-size: 26px; margin: 34px 0 16px; }
.ae-recaptcha a { color: var(--ae-suave) !important; text-decoration: underline !important; }

/* --------------------------------------------------------------------------
   20. Portadas de las páginas interiores
   -------------------------------------------------------------------------- */
.ae-portada { position: relative; min-height: 74vh; display: flex; align-items: flex-end; overflow: hidden; padding: 150px 0 clamp(48px, 6vw, 88px); background: var(--ae-noche); }
.ae-portada--media { min-height: 54vh; }
.ae-portada__img { position: absolute; inset: 0; }
.ae-portada__img img { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 35%); transform: scale(calc(1.08 + var(--p, 0) * 0.1)) translate3d(0, calc(var(--p, 0) * 40px), 0); }
.ae-portada::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, var(--ae-noche) 0%, rgba(12, 11, 18, 0.55) 45%, rgba(12, 11, 18, 0.35) 75%, rgba(12, 11, 18, 0.7) 100%), linear-gradient(90deg, rgba(12, 11, 18, 0.75), transparent 70%); }
.ae-portada .ae-particulas { z-index: 2; }
.ae-portada > .ae-wrap { position: relative; z-index: 3; }
.ae-portada__logo { width: clamp(200px, 24vw, 340px); margin: 0 0 22px -6px; filter: drop-shadow(0 0 30px rgba(232, 206, 148, 0.3)); }
.ae-portada .ae-lead { margin-top: 24px; }
.ae-portada .ae-botones { margin-top: 32px; }
.ae-migas { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 26px !important; font-size: 11.5px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ae-suave); }
.ae-migas a { color: var(--ae-suave) !important; }
.ae-migas a:hover { color: var(--ae-oro) !important; }
.ae-migas span::before { content: "/"; margin-right: 10px; color: rgba(232, 206, 148, 0.5); }

/* Bloque de historia (texto largo en dos columnas) */
.ae-cronica { columns: 2; column-gap: 56px; font-size: 17px; line-height: 1.8; color: rgba(244, 240, 231, 0.82); }
.ae-cronica p:first-child::first-letter { float: left; margin: 6px 12px 0 0; font-family: var(--ae-t); font-size: 74px; line-height: 0.8; color: var(--ae-oro); }
@media (max-width: 900px) { .ae-cronica { columns: 1; } }
.ae-pilares { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--ae-linea); border: 1px solid var(--ae-linea); }
.ae-pilar { padding: 34px 30px; background: var(--ae-noche); transition: background 0.5s; }
.ae-pilar:hover { background: var(--ae-sup); }
.ae-pilar b { font-family: var(--ae-t); font-size: 13px; letter-spacing: 0.3em; color: var(--ae-oro); }
.ae-pilar h3 { margin: 12px 0 12px; font-family: var(--ae-t); font-size: 21px; }
.ae-pilar p { font-size: 15px; line-height: 1.65; color: var(--ae-suave); }
@media (max-width: 1024px) { .ae-pilares { grid-template-columns: 1fr; } }
.ae-marco { border-radius: 4px; overflow: hidden; box-shadow: 0 40px 120px -40px rgba(0, 0, 0, 0.95); }
.ae-marco img { width: 100%; }

/* --------------------------------------------------------------------------
   21. Noticias (página con la cuadrícula de Essential Addons y entradas)
   -------------------------------------------------------------------------- */
.gdw-ae-noticias-lista .eael-post-grid-container { padding: 0 var(--ae-pad) clamp(90px, 10vw, 150px); max-width: var(--ae-max); margin: 0 auto; }
.gdw-ae-noticias-lista .eael-grid-post-holder { background: var(--ae-sup) !important; border: 0 !important; border-radius: 4px !important; overflow: hidden; transition: transform 0.6s var(--ae-ease); }
.gdw-ae-noticias-lista .eael-grid-post-holder:hover { transform: translateY(-6px); }
.gdw-ae-noticias-lista .eael-entry-title, .gdw-ae-noticias-lista .eael-entry-title a { font-family: var(--ae-t) !important; font-size: 21px !important; line-height: 1.25 !important; color: var(--ae-luz) !important; }
.gdw-ae-noticias-lista .eael-entry-title a:hover { color: var(--ae-oro) !important; }
.gdw-ae-noticias-lista .eael-grid-post-excerpt p, .gdw-ae-noticias-lista .eael-grid-post-excerpt { color: var(--ae-suave) !important; font-size: 15px !important; }
.gdw-ae-noticias-lista .eael-entry-meta, .gdw-ae-noticias-lista .eael-posted-on, .gdw-ae-noticias-lista .eael-entry-meta * { color: var(--ae-oro) !important; font-size: 11.5px !important; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.gdw-ae-noticias-lista .eael-post-elements-readmore-btn { color: var(--ae-oro) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0.2em !important; text-transform: uppercase; }
.gdw-ae-noticias-lista .eael-entry-overlay { background-color: rgba(12, 11, 18, 0.5) !important; }
.gdw-ae-noticias-lista .eael-load-more-button { color: #1A1408 !important; background: var(--ae-oro) !important; border-radius: 2px !important; font-weight: 900 !important; letter-spacing: 0.16em; text-transform: uppercase; }

/* Entrada (Astra, diseño 2): banner con la imagen destacada y texto en oscuro */
body.single-post .ast-single-entry-banner { min-height: 70vh !important; padding-top: 140px !important; }
body.single-post .ast-single-entry-banner .entry-title { font-family: var(--ae-t) !important; font-size: clamp(32px, 4.6vw, 64px) !important; line-height: 1.1 !important; color: var(--ae-luz) !important; max-width: 1000px; }
body.single-post .ast-single-entry-banner .entry-meta, body.single-post .ast-single-entry-banner .entry-meta * { color: var(--ae-oro) !important; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; }
body.single-post .ast-single-entry-banner .ast-container { position: relative; z-index: 2; background: transparent !important; }
body.single-post .ast-single-entry-banner::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(0deg, var(--ae-noche) 0%, rgba(12, 11, 18, 0.2) 55%, rgba(12, 11, 18, 0.5) 100%); }
body.single-post .ast-single-entry-banner { position: relative; }
body.single-post .site-content article.post { max-width: 820px; margin: 0 auto; padding: clamp(50px, 6vw, 90px) 0 !important; background: transparent !important; }
body.single-post .entry-content { font-size: 18px; line-height: 1.85; color: rgba(244, 240, 231, 0.84); }
body.single-post .entry-content p { margin-bottom: 1.3em; }
body.single-post .entry-content h2 { font-size: clamp(26px, 2.6vw, 34px); margin: 1.8em 0 0.7em; color: var(--ae-luz); }
body.single-post .entry-content h3 { font-size: 22px; margin: 1.6em 0 0.6em; }
body.single-post .entry-content ul { padding-left: 1.2em; }
body.single-post .entry-content li { margin-bottom: 0.6em; }
body.single-post .entry-content li::marker { color: var(--ae-oro); }
body.single-post .entry-content a { color: var(--ae-oro) !important; text-decoration: underline !important; text-underline-offset: 3px; }
body.single-post .entry-content .ae-aviso-archivo { padding: 18px 22px; border-left: 2px solid var(--ae-oro); background: rgba(232, 206, 148, 0.06); font-size: 15px; color: var(--ae-suave); }
body.single-post .entry-content .ae-video { margin: 2em 0; }
body.single-post .entry-content .ae-video a { text-decoration: none !important; }
body.single-post .post-navigation, body.single-post .ast-single-related-posts-container, body.single-post .comments-area { display: none !important; }
body.single-post .ast-single-post-order, body.single-post .entry-header { color: var(--ae-luz); }
.ae-volver { display: block; max-width: 820px; margin: 0 auto 90px; padding: 0 0 0; }

/* Legales y mapa del sitio en oscuro (gdw-legal de la base) */
.gdw-legal, .gdw-legal * { color: rgba(244, 240, 231, 0.82); }
.gdw-legal { padding-top: 150px !important; }
.gdw-legal h1, .gdw-legal h2, .gdw-legal h3, .gdw-legal .elementor-heading-title { color: var(--ae-luz) !important; font-family: var(--ae-t) !important; }
.gdw-legal a { color: var(--ae-oro) !important; }
.gdw-legal table, .gdw-legal th, .gdw-legal td { border-color: var(--ae-linea) !important; }
.gdw-legal th { background: var(--ae-sup) !important; color: var(--ae-luz) !important; }
.wsp-container, .wsp-container * { color: rgba(244, 240, 231, 0.82); }
.wsp-container a { color: var(--ae-oro) !important; }
.wsp-container h2 { font-family: var(--ae-t) !important; color: var(--ae-luz) !important; }

/* --------------------------------------------------------------------------
   22. Pie (plantilla 37)
   -------------------------------------------------------------------------- */
body .gdw-footer { background: #08070c !important; padding-top: 0 !important; }
.ae-pie { padding: clamp(80px, 9vw, 130px) 0 40px; border-top: 1px solid rgba(232, 206, 148, 0.14); background: radial-gradient(60% 50% at 50% 0%, rgba(124, 77, 219, 0.14), transparent 70%); }
.ae-pie__arriba { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.ae-pie__logo { display: inline-flex; flex-direction: column; align-items: center; gap: 8px; }
.ae-pie__logo img { height: 40px; width: auto; }
.ae-pie__logo .ae-logo__sub { font-size: 11px; }
.ae-pie__lema { margin-top: 22px !important; font-family: var(--ae-t); font-size: 15px; letter-spacing: 0.32em; text-transform: uppercase; color: var(--ae-oro); }
.ae-pie__estudio { display: inline-flex; align-items: center; gap: 12px; margin-top: 26px; font-size: 13px; color: var(--ae-suave) !important; }
.ae-pie__estudio img { height: 42px; width: auto; opacity: 0.85; }
.ae-pie__estudio:hover { color: var(--ae-oro) !important; }
.ae-pie h4 { margin-bottom: 18px; font-family: var(--ae-s); font-size: 11.5px; font-weight: 900; letter-spacing: 0.26em; text-transform: uppercase; color: var(--ae-oro); }
.ae-pie ul { margin: 0; padding: 0; list-style: none; }
.ae-pie li { margin: 0 0 11px; }
.ae-pie li a { font-size: 15px; color: rgba(244, 240, 231, 0.75) !important; transition: color 0.3s, padding 0.4s var(--ae-ease); }
.ae-pie li a:hover { color: var(--ae-oro-claro) !important; padding-left: 4px; }
.ae-pie__redes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ae-pie__redes a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid rgba(244, 240, 231, 0.15); border-radius: 50%; transition: border-color 0.3s, background 0.3s, transform 0.4s var(--ae-ease); }
.ae-pie__redes a:hover { border-color: var(--ae-oro); background: rgba(232, 206, 148, 0.1); transform: translateY(-3px); }
.ae-pie__redes svg { width: 17px; height: 17px; fill: var(--ae-luz); }
.ae-pie__abajo { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 70px; padding-top: 26px; border-top: 1px solid rgba(244, 240, 231, 0.08); font-size: 13px; color: rgba(244, 240, 231, 0.55); }
.gdw-footer .gdw-ae-pie-legal .hfe-nav-menu { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.gdw-footer .gdw-ae-pie-legal a.hfe-menu-item { padding: 0 !important; font-size: 13px !important; color: rgba(244, 240, 231, 0.6) !important; font-family: var(--ae-s) !important; }
.gdw-footer .gdw-ae-pie-legal a.hfe-menu-item:hover { color: var(--ae-oro) !important; }
.ae-pie__estudio img { mix-blend-mode: screen; }
.gdw-footer .gdw-pie-abajo { width: 100%; max-width: var(--ae-max); margin: 0 auto !important; padding: 26px var(--ae-pad) !important; gap: 14px 30px !important; border-top: 1px solid rgba(244, 240, 231, 0.08); }
.ae-pie__copy { margin: 0 !important; font-size: 13px; color: rgba(244, 240, 231, 0.55); }
.ae-ue-caja { border-top: 1px solid rgba(244, 240, 231, 0.05); }
.ae-ue { display: flex; align-items: center; gap: 16px; padding: 22px var(--ae-pad) 30px; font-size: 11.5px; line-height: 1.55; color: rgba(244, 240, 231, 0.42); }
.ae-ue p { margin: 0 !important; max-width: 980px; }
.ae-ue img { width: 46px; height: auto; flex: none; opacity: 0.75; }
@media (max-width: 1024px) { .ae-pie__arriba { grid-template-columns: 1fr 1fr; } .ae-pie__marca { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ae-pie__arriba { grid-template-columns: 1fr; } .ae-pie__abajo { flex-direction: column; align-items: flex-start; } .ae-ue { align-items: flex-start; } }

/* --------------------------------------------------------------------------
   23. Banner de cookies (CookieYes) con los colores de Aeterna
   -------------------------------------------------------------------------- */
.cky-consent-container .cky-consent-bar, .cky-modal, .cky-preference-center { background: var(--ae-sup) !important; border-color: rgba(232, 206, 148, 0.25) !important; color: var(--ae-luz) !important; }
.cky-consent-container .cky-title, .cky-consent-container .cky-notice-des, .cky-consent-container .cky-notice-des *, .cky-preference-center *, .cky-modal * { color: var(--ae-luz) !important; }
.cky-btn-accept { background: var(--ae-oro) !important; border-color: var(--ae-oro) !important; color: #1A1408 !important; }
.cky-btn-reject, .cky-btn-customize, .cky-btn-preferences { background: transparent !important; border-color: rgba(244, 240, 231, 0.55) !important; color: var(--ae-luz) !important; }
.cky-consent-container a, .cky-preference-center a { color: var(--ae-oro) !important; }
.cky-btn-revisit-wrapper { background: var(--ae-oro-2) !important; }
.cky-switch input[type="checkbox"]:checked { background: var(--ae-oro-2) !important; }

/* --------------------------------------------------------------------------
   24. Reducir movimiento: todo visible y quieto
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	[data-ae], [data-ae-letras], [data-ae-letras] .ae-l, [data-ae-letras] .ae-bloque { opacity: 1 !important; transform: none !important; filter: none !important; transition: none !important; animation: none !important; }
	.ae-oro-txt, .ae-cinta__pista, .ae-wishlist__rayos, .ae-filo::before, .ae-halo::before, .ae-halo::after, .ae-fecha::before, .ae-raton i::after, .ae-flotante__btn svg, .ae-linterna__pista::before { animation: none !important; }
	.ae-menu, .ae-menu__item, .ae-menu__pie, .ae-menu__sub { transition: none !important; }
	.ae-saga { height: auto; }
	.ae-saga__fija { position: relative; height: auto; padding: 100px 0; }
	.ae-saga__pista { flex-direction: column; width: auto; transform: none !important; padding-right: var(--ae-pad); }
	.ae-capitulo { width: 100%; }
	.ae-monarcas, .ae-capas { height: 100vh; }
	.ae-monarcas__texto { opacity: 1; }
	.ae-capas__texto { opacity: 1; transform: none; }
}
/* ==========================================================================
   AETERNA · segunda ronda (03-11-2026, María): plataformas, monarcas, banda de
   la lista de deseos, dos idiomas y móvil. Va detrás de ae.css.
   ========================================================================== */

/* --------------------------------------------------------------------------
   25. Dos idiomas: lo que solo es de un idioma (Polylang pone lang en <html>)
   -------------------------------------------------------------------------- */
html[lang^="en"] .ae-solo-es, html:not([lang^="en"]) .ae-solo-en { display: none !important; }
.ae-idiomas { display: inline-flex; align-items: center; gap: 2px; margin-right: 14px; font-family: var(--ae-s); font-size: 11px; font-weight: 900; letter-spacing: 0.18em; }
.ae-idiomas a { padding: 8px 7px; color: rgba(244, 240, 231, 0.55) !important; text-decoration: none !important; transition: color 0.3s; }
.ae-idiomas a:hover { color: var(--ae-oro-claro) !important; }
.ae-idiomas a[aria-current="true"] { color: var(--ae-oro) !important; }
.ae-idiomas span { color: rgba(244, 240, 231, 0.25); }
.ae-cab-cta { align-items: center; }
.ae-menu__idiomas { margin-top: 12px; }
.ae-menu__idiomas .ae-idiomas { margin: 0; font-size: 13px; }

/* --------------------------------------------------------------------------
   26. Plataformas: el juego en Steam Deck, Nintendo Switch, PS5 y Xbox
   ae.js pone --p (paso) y arranca los vídeos de las pantallas al verse.
   -------------------------------------------------------------------------- */
.ae-plat-show { position: relative; overflow: hidden; padding: clamp(64px, 8vw, 120px) 0 clamp(56px, 7vw, 100px); background: radial-gradient(60% 55% at 50% 58%, rgba(124, 77, 219, 0.26), transparent 70%), linear-gradient(180deg, var(--ae-noche), #0f0c1a 50%, var(--ae-noche)); }
.ae-escenario { position: relative; height: clamp(360px, 46vw, 660px); margin: clamp(10px, 2vw, 30px) auto 0; max-width: 1240px; }
.ae-escenario::after { content: ""; position: absolute; left: 6%; right: 6%; bottom: 2%; height: 30%; background: radial-gradient(50% 50% at 50% 50%, rgba(232, 206, 148, 0.14), transparent 70%); filter: blur(10px); pointer-events: none; }
.ae-pantalla { position: relative; overflow: hidden; background: #050508; }
.ae-pantalla img, .ae-pantalla video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ae-pantalla video { opacity: 0; transition: opacity 1s; }
.ae-pantalla video.ae-listo { opacity: 1; }
.ae-pantalla::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255, 255, 255, 0.12) 0%, rgba(255, 255, 255, 0) 32%); }
/* Pase de capturas en la tele: cada una 5 s, con fundido y un acercamiento lento */
.ae-pase img { opacity: 0; animation: ae-pase 15s infinite; }
.ae-pase img:nth-child(2) { animation-delay: 5s; }
.ae-pase img:nth-child(3) { animation-delay: 10s; }
@keyframes ae-pase { 0% { opacity: 0; transform: scale(1.1); } 7% { opacity: 1; } 33% { opacity: 1; } 40% { opacity: 0; transform: scale(1); } 100% { opacity: 0; } }
/* En el móvil las pantallas pequeñas no cargan vídeo: la imagen se acerca despacio */
@media (max-width: 899px) { .ae-deck .ae-pantalla img, .ae-switch .ae-pantalla img { animation: ae-acerca 14s ease-in-out infinite alternate; } }
@keyframes ae-acerca { from { transform: scale(1); } to { transform: scale(1.15); } }
.ae-dispositivo { position: absolute; z-index: 2; will-change: transform; transition: filter 0.6s; }
.ae-dispositivo:hover { filter: drop-shadow(0 0 30px rgba(232, 206, 148, 0.35)); }
.ae-dispositivo__nombre { position: absolute; left: 50%; bottom: -34px; transform: translateX(-50%); white-space: nowrap; font-size: 11px; font-weight: 900; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ae-suave); }
/* Televisor (PS5 y Xbox juegan en la tele) */
.ae-tele { left: 50%; top: 0; width: min(58%, 720px); transform: translate3d(-50%, calc((var(--p, 0.5) - 0.5) * -30px), 0); z-index: 1; }
.ae-tele .ae-pantalla { aspect-ratio: 16 / 9; border: clamp(6px, 0.8vw, 11px) solid #09090c; border-radius: 10px; box-shadow: 0 0 0 1px #24232b, 0 50px 120px -40px rgba(124, 77, 219, 0.7); }
.ae-tele__pie { width: 26%; height: clamp(10px, 1.4vw, 18px); margin: 0 auto; background: linear-gradient(#1c1b22, #0b0b0e); clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%); }
/* Consolas de sobremesa (siluetas) */
.ae-consola { bottom: 33%; width: clamp(46px, 5.4vw, 78px); z-index: 1; }
.ae-consola svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.6)); }
.ae-consola--ps5 { left: 12%; transform: translate3d(0, calc((var(--p, 0.5) - 0.5) * -70px), 0); }
.ae-consola--xbox { right: 12%; width: clamp(54px, 6.2vw, 90px); transform: translate3d(0, calc((var(--p, 0.5) - 0.5) * -70px), 0); }
/* Steam Deck */
.ae-deck { left: 3%; bottom: 0; width: clamp(250px, 34%, 440px); aspect-ratio: 2.55 / 1; z-index: 3; transform: translate3d(0, calc((var(--p, 0.5) - 0.5) * -140px), 0) rotate(-5deg); }
.ae-deck__cuerpo { position: absolute; inset: 0; border-radius: 22% / 52%; background: linear-gradient(180deg, #2c2d33, #17181c); box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.08), 0 40px 80px -30px rgba(0, 0, 0, 0.9); }
.ae-deck .ae-pantalla { position: absolute; left: 26%; right: 26%; top: 12%; bottom: 12%; border-radius: 3px; border: 2px solid #050507; }
.ae-deck__stick, .ae-deck__pad, .ae-deck__botones { position: absolute; }
.ae-deck__stick { width: 9%; aspect-ratio: 1; top: 14%; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #3b3c44, #101114 70%); box-shadow: 0 0 0 3px #0e0f12; }
.ae-deck__stick--i { left: 8%; } .ae-deck__stick--d { right: 8%; }
.ae-deck__pad { width: 11%; aspect-ratio: 1; bottom: 13%; border-radius: 14%; background: #1d1e23; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06); }
.ae-deck__pad--i { left: 7%; } .ae-deck__pad--d { right: 7%; }
.ae-deck__botones { right: 13%; top: 40%; width: 8%; aspect-ratio: 1; background: radial-gradient(circle at 50% 12%, #4a4b52 0 13%, transparent 14%), radial-gradient(circle at 50% 88%, #4a4b52 0 13%, transparent 14%), radial-gradient(circle at 12% 50%, #4a4b52 0 13%, transparent 14%), radial-gradient(circle at 88% 50%, #4a4b52 0 13%, transparent 14%); }
.ae-deck__cruceta { position: absolute; left: 13%; top: 40%; width: 8%; aspect-ratio: 1; background: linear-gradient(#4a4b52, #4a4b52) center / 32% 100% no-repeat, linear-gradient(#4a4b52, #4a4b52) center / 100% 32% no-repeat; opacity: 0.8; }
/* Nintendo Switch */
.ae-switch { right: 3%; bottom: 4%; width: clamp(230px, 30%, 400px); aspect-ratio: 2.3 / 1; z-index: 3; display: flex; transform: translate3d(0, calc((var(--p, 0.5) - 0.5) * -110px), 0) rotate(5deg); filter: drop-shadow(0 40px 60px rgba(0, 0, 0, 0.7)); }
.ae-switch__mando { position: relative; flex: 0 0 15%; }
.ae-switch__mando--i { background: linear-gradient(180deg, #19c3ec, #0aa4cf); border-radius: 60% 0 0 60% / 22% 0 0 22%; }
.ae-switch__mando--d { background: linear-gradient(180deg, #ff6a63, #e9443d); border-radius: 0 60% 60% 0 / 0 22% 22% 0; }
.ae-switch__mando::before { content: ""; position: absolute; left: 50%; width: 46%; aspect-ratio: 1; margin-left: -23%; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #3c3c42, #121215 70%); }
.ae-switch__mando--i::before { top: 18%; } .ae-switch__mando--d::before { bottom: 22%; }
.ae-switch__mando::after { content: ""; position: absolute; left: 50%; width: 40%; aspect-ratio: 1; margin-left: -20%; background: radial-gradient(circle at 50% 14%, rgba(0, 0, 0, 0.45) 0 14%, transparent 15%), radial-gradient(circle at 50% 86%, rgba(0, 0, 0, 0.45) 0 14%, transparent 15%), radial-gradient(circle at 14% 50%, rgba(0, 0, 0, 0.45) 0 14%, transparent 15%), radial-gradient(circle at 86% 50%, rgba(0, 0, 0, 0.45) 0 14%, transparent 15%); }
.ae-switch__mando--i::after { bottom: 20%; } .ae-switch__mando--d::after { top: 16%; }
.ae-switch__cuerpo { flex: 1; padding: 5% 4%; background: #1b1b1f; }
.ae-switch .ae-pantalla { width: 100%; height: 100%; border-radius: 2px; }
/* Texto y enlaces de las plataformas */
.ae-plat-lista { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: clamp(70px, 8vw, 110px); background: var(--ae-linea); border: 1px solid var(--ae-linea); }
.ae-plat-item { display: block; padding: 24px 22px; background: var(--ae-noche); color: var(--ae-luz) !important; transition: background 0.4s; }
.ae-plat-item:hover { background: var(--ae-sup); }
.ae-plat-item b { display: block; font-family: var(--ae-t); font-size: 19px; font-weight: 600; }
.ae-plat-item small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: var(--ae-suave); }
.ae-plat-item span { display: inline-block; margin-top: 12px; font-size: 11px; font-weight: 900; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ae-oro); }
@media (max-width: 900px) {
	.ae-escenario { height: 112vw; max-height: 560px; }
	.ae-tele { top: 0; width: 92%; }
	.ae-consola { display: none; }
	.ae-deck { left: -2%; bottom: 22%; width: 66%; }
	.ae-switch { right: -1%; bottom: 0; width: 60%; }
	.ae-dispositivo__nombre { display: none; }
	.ae-plat-lista { grid-template-columns: 1fr 1fr; margin-top: 30px; }
	.ae-plat-item { padding: 18px 16px; }
}

/* --------------------------------------------------------------------------
   27. Los dos monarcas: díptico sencillo (sustituye a la escena con Caos)
   -------------------------------------------------------------------------- */
.ae-diptico { display: flex; gap: 10px; height: min(76vh, 700px); }
.ae-monarca { position: relative; flex: 1 1 0; overflow: hidden; border-radius: 4px; color: var(--ae-luz) !important; transition: flex 0.9s var(--ae-ease); }
.ae-diptico:hover .ae-monarca { flex: 0.8 1 0; }
.ae-diptico .ae-monarca:hover { flex: 1.35 1 0; }
.ae-monarca img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 40%); transform: scale(1.12); transition: transform 1.4s var(--ae-ease); }
.ae-monarca:hover img { transform: scale(1.03); }
.ae-monarca::before { content: ""; position: absolute; inset: 0; z-index: 1; background: var(--tinte); transition: opacity 0.8s; }
.ae-monarca:hover::before { opacity: 0.4; }
.ae-monarca::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(12, 11, 18, 0.96) 0%, rgba(12, 11, 18, 0.55) 34%, rgba(12, 11, 18, 0) 62%); }
.ae-monarca--rey { --tinte: linear-gradient(180deg, rgba(60, 30, 120, 0.45), rgba(24, 12, 52, 0.6)); --c: var(--ae-violeta-claro); }
.ae-monarca--reina { --tinte: linear-gradient(180deg, rgba(255, 232, 180, 0.22), rgba(90, 64, 24, 0.45)); --c: var(--ae-oro); }
.ae-monarca__txt { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: clamp(22px, 3vw, 44px); }
.ae-monarca__txt small { display: block; font-size: 11px; font-weight: 900; letter-spacing: 0.3em; text-transform: uppercase; color: var(--c); }
.ae-monarca__txt h3 { margin: 10px 0 12px !important; font-family: var(--ae-t); font-size: clamp(26px, 2.8vw, 42px); }
.ae-monarca__txt p { max-width: 440px; font-size: 15.5px; line-height: 1.65; color: rgba(244, 240, 231, 0.85); }
.ae-monarca .ae-enlace { margin-top: 18px; color: var(--c) !important; }
.ae-diptico__luz { flex: 0 0 2px; align-self: stretch; background: linear-gradient(180deg, transparent, #fff 30%, var(--ae-oro) 50%, #fff 70%, transparent); box-shadow: 0 0 24px 4px rgba(255, 236, 190, 0.55); border-radius: 2px; }
@media (max-width: 767px) {
	.ae-diptico { flex-direction: column; height: auto; gap: 10px; }
	.ae-monarca, .ae-diptico:hover .ae-monarca, .ae-diptico .ae-monarca:hover { flex: none; height: 54vh; min-height: 380px; }
	.ae-diptico__luz { display: none; }
}

/* --------------------------------------------------------------------------
   28. Banda de la lista de deseos (páginas interiores; la grande va en Inicio)
   -------------------------------------------------------------------------- */
.ae-banda { position: relative; overflow: hidden; padding: clamp(44px, 5vw, 72px) 0; background: #140c24; border-top: 1px solid rgba(232, 206, 148, 0.16); border-bottom: 1px solid rgba(232, 206, 148, 0.16); }
.ae-banda__img { position: absolute; inset: 0 0 0 40%; }
.ae-banda__img img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 25%; -webkit-mask: linear-gradient(90deg, transparent, #000 45%); mask: linear-gradient(90deg, transparent, #000 45%); opacity: 0.85; }
.ae-banda__fila { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px 40px; }
.ae-banda__txt { max-width: 560px; }
.ae-banda__txt img { width: 170px; margin: 0 0 12px -4px; }
.ae-banda__txt h2 { font-family: var(--ae-t); font-size: clamp(24px, 2.6vw, 36px); line-height: 1.15; }
.ae-banda .ae-atras { margin-top: 18px; }
.ae-banda .ae-atras__u { min-width: 62px; padding: 9px 6px 8px; }
.ae-banda .ae-atras__u b { font-size: 24px; }
@media (max-width: 767px) { .ae-banda__img { inset: 0; } .ae-banda__img img { opacity: 0.3; -webkit-mask: none; mask: none; } .ae-banda__fila > * { width: 100%; } }

/* --------------------------------------------------------------------------
   29. Móvil: menos aire, títulos a su medida y nada que sobre
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.ae-sec { padding: 56px 0; }
	.ae-h2, .ae-c5 .ae-h2, .ae-c6 .ae-h2, .ae-c7 .ae-h2 { font-size: clamp(28px, 8.4vw, 36px); }
	.ae-h1 { font-size: clamp(32px, 9.6vw, 44px); }
	.ae-lead { font-size: 16.5px; }
	.ae-eyebrow { font-size: 11px; letter-spacing: 0.22em; margin-bottom: 16px; }
	.ae-eyebrow::before { width: 22px; }
	.ae-cab { margin-bottom: 28px; }
	.ae-portada { min-height: 0; padding: 120px 0 44px; }
	.ae-portada__logo { width: 170px; }
	.ae-wishlist { min-height: 0; }
	.ae-capas { height: 130vh; }
	.ae-linterna { min-height: 88vh; }
	.ae-linterna__texto { padding-bottom: 48px; }
	.ae-boletin { padding: 24px 18px; gap: 20px; }
	.ae-amanecer { padding: 64px 0; }
	.ae-pie { padding-top: 56px; }
	.ae-pie__arriba { gap: 30px; }
	.ae-premios, .ae-noticias, .ae-tiendas, .ae-claves { gap: 14px; }
	.ae-fila { gap: 22px; }
	.ae-mosaico { grid-auto-rows: 96px; }
	.ae-notas .ae-nota__valor { font-size: 48px; }
	.ae-cifra b { font-size: 42px; }
	.ae-btn { font-size: 12px; letter-spacing: 0.14em; }
}

/* --------------------------------------------------------------------------
   30. Reducir movimiento (piezas de esta ronda)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.ae-dispositivo, .ae-monarca, .ae-monarca img { transition: none !important; }
	.ae-pase img, .ae-pantalla img { animation: none !important; }
	.ae-pase img:first-child { opacity: 1; }
	.ae-tele { transform: translateX(-50%) !important; }
	.ae-consola, .ae-deck, .ae-switch { transform: none !important; }
}
