/* ==========================================================================
   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, #C30066);
}

/* --------------------------------------------------------------------------
   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, #C30066);
	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, #C30066);
	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, #1D1D1B);
}

.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: "Plus Jakarta Sans", 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, #1D1D1B);
}

.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, #1D1D1B);
	border-color: var(--e-global-color-secondary, #1D1D1B);
}

.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, #C30066);
}

@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: "Plus Jakarta Sans", sans-serif;
	font-size: 15px;
	font-weight: 600;
	color: var(--e-global-color-secondary, #1D1D1B);
}

.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: "DM Sans", sans-serif;
	font-size: 16px;
	color: var(--e-global-color-secondary, #1D1D1B);
	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, #1D1D1B);
	box-shadow: 0 0 0 3px rgba(195, 0, 102, 0.18);
	outline: none;
}

.gdw-form .gdw-form__privacy {
	font-size: 14px;
	color: var(--e-global-color-text, #494945);
}

.gdw-form .gdw-form__privacy .wpcf7-list-item {
	margin: 0;
}

.gdw-form .gdw-form__privacy a {
	color: #A30057;
}

.gdw-form .gdw-form__submit {
	background: #A30057;
	color: #FFFFFF;
	border: 0;
	border-radius: 999px;
	padding: 16px 34px;
	font-family: "Plus Jakarta Sans", 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, #1D1D1B);
}

.gdw-form .wpcf7-not-valid-tip {
	margin-top: 6px;
	font-size: 13px;
	color: #A30057;
}

.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: #A30057;
}

/* --------------------------------------------------------------------------
   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: #2A0A1F;
}

/* 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(42, 10, 31, 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: #3A0F2C !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: #C30066 !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: #3A0F2C !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: #2A0A1F;
	--h2-surface: #3A0F2C;
	--h2-line: rgba(255, 255, 255, 0.09);
	--h2-text: #F4F3EF;
	--h2-muted: #8A8A86;
	--h2-red: #C30066;
	--h2-coral: #EC008C;
	--gutter: 50px;
	position: relative;
	color: var(--h2-text);
	background-color: var(--h2-bg);
	font-family: "DM Sans", 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: "Plus Jakarta Sans", 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 "DM Sans", 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, #C30066 0%, #EC008C 55%, #F9DBE8 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 "Plus Jakarta Sans", sans-serif;
	text-decoration: none !important;
	color: #FFFFFF !important;
	background: linear-gradient(95deg, #A30057, #C30066 60%, #DA7CA0);
	box-shadow: 0 10px 40px rgba(195, 0, 102, 0.35);
	transition: transform 0.25s, box-shadow 0.25s;
}

.gdw-h2-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 50px rgba(195, 0, 102, 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: #C30066;
	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(195, 0, 102, 0.75), transparent 68%);
	--speed: 320px;
}

.gdw-h2-orb--2 {
	width: 460px;
	height: 460px;
	bottom: -160px;
	left: -120px;
	background: radial-gradient(circle, rgba(236, 0, 140, 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(163, 0, 87, 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, #C30066, #5C0033);
	border-color: rgba(255, 255, 255, 0.25);
	box-shadow: 0 40px 90px rgba(195, 0, 102, 0.45);
}

.gdw-h2-stack__layer span,
.gdw-h2-iso__layer span {
	position: absolute;
	left: 26px;
	bottom: 24px;
	font: 700 15px/1 "Plus Jakarta Sans", 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(195, 0, 102, 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: #2A0A1F;
	stroke: #EC008C;
	stroke-width: 1.8;
}

.gdw-h2-morph__nodes circle.is-inner {
	fill: #C30066;
	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 "Plus Jakarta Sans", 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 "Plus Jakarta Sans", sans-serif;
	color: var(--h2-muted);
}

.gdw-h2-pin__steps li strong {
	display: block;
	font: 600 21px/1.3 "Plus Jakarta Sans", 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, #C30066, #EC008C);
}

.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, #C30066, #5C0033);
	border-color: rgba(255, 255, 255, 0.3);
	box-shadow: 0 40px 100px rgba(195, 0, 102, 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: #3A0F2C;
	border: 1px solid rgba(255, 255, 255, 0.16);
	box-shadow: 0 50px 100px rgba(0, 0, 0, 0.6), 0 0 80px rgba(195, 0, 102, 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: #C30066;
}

.gdw-h2-browser__bar i:nth-child(2) {
	background: #EC008C;
}

.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 "DM Sans", 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, #C30066, #6B003B);
	border-color: rgba(255, 255, 255, 0.28);
	box-shadow: 0 10px 30px rgba(195, 0, 102, 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(195, 0, 102, 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 "Plus Jakarta Sans", 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, #C30066, #5C0033);
	box-shadow: 0 0 60px rgba(195, 0, 102, 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 "Plus Jakarta Sans", 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, #C30066, #EC008C);
	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 "Plus Jakarta Sans", 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(195, 0, 102, 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(195, 0, 102, 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(195, 0, 102, 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: "Plus Jakarta Sans", sans-serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--e-global-color-secondary, #1D1D1B);
}

.gdw-legal .gdw-legal__body h3 {
	margin: 1.6em 0 0.5em;
	font-family: "Plus Jakarta Sans", sans-serif;
	font-size: 19px;
	font-weight: 600;
	color: var(--e-global-color-secondary, #1D1D1B);
}

.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, #1D1D1B);
}

.gdw-legal .gdw-legal__body a {
	color: #A30057;
}

.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: "Plus Jakarta Sans", sans-serif;
	font-weight: 600;
	color: var(--e-global-color-secondary, #1D1D1B);
}

@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 "Plus Jakarta Sans", 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;
	}
}
/* ==========================================================================
   Asun Arias · home visual (gdw-aa 1.0, 06-10-2026, Mario con Claude)
   Contenido de la home antigua (grupodweswebdesign.com) con la línea de
   www.sweetbyasunarias.es: crema con manchas de tinta y moléculas, Helvetica
   Now Display, etiquetas en mono, tarjetas de color y escenas fijas que se
   mueven con el scroll. Cada sección de Elementor lleva .gdw-aa y su clase
   .gdw-aa-<sección>; dentro, un widget HTML con el marcado .aa-*.
   aa.js pone en cada [data-aa-escena] la variable --p (0 → 1). Sin JS o con
   «reducir movimiento», todo se ve completo y quieto.
   Reglas del proyecto: sin espaciado negativo entre letras; fuentes en local.
   ========================================================================== */

@font-face { font-family: "Helvetica Now Display"; src: url("../fonts/HelveticaNowDisplay-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Helvetica Now Display"; src: url("../fonts/HelveticaNowDisplay-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Helvetica Now Display"; src: url("../fonts/HelveticaNowDisplay-ExtraBold.woff") format("woff"); font-weight: 800; font-style: normal; font-display: swap; }

/* ---------- 1. Fichas de color y piezas comunes ---------- */
/* .gdw-aap: páginas interiores hechas con widgets nativos (bloque 25) */
.gdw-aa, .gdw-aap {
	--aa-ciruela: #2a0a1f;
	--aa-ciruela2: #4a0f35;
	--aa-magenta: #c30066;
	--aa-fucsia: #ec008c;
	--aa-rosa: #f9dbe8;
	--aa-rosa2: #edc2d2;
	--aa-malva: #da7ca0;
	--aa-chicle: #ff5fae;
	--aa-crema: #fff8f3;
	--aa-tinta: #141414;
	--aa-lila: #8e4fa0;
	--aa-naranja: #f06020;
	--aa-azul: #104098;
	--aa-letra: "Helvetica Now Display", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--aa-mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, "Liberation Mono", monospace;
	--aa-lado: clamp(18px, 4.4vw, 72px);
	--aa-cab: var(--gdw-header-h, 90px);
	font-family: var(--aa-letra);
	color: var(--aa-ciruela);
	-webkit-font-smoothing: antialiased;
}
.gdw-aa.e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px; padding: 0; }
.gdw-aa .elementor-widget-html, .gdw-aa .elementor-widget-html > .elementor-widget-container { width: 100%; margin: 0; padding: 0; }
.gdw-aa *, .gdw-aa *::before, .gdw-aa *::after { box-sizing: border-box; }
.gdw-aa :is(h1, h2, h3, h4, p, blockquote, figure, ul) { margin: 0; padding: 0; font-family: inherit; text-transform: none; }
.gdw-aa :is(h1, h2, h3, h4) { color: inherit; font-weight: 800; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.gdw-aa img { max-width: none; height: auto; display: block; }
.gdw-aa a { color: inherit; text-decoration: none !important; } /* Astra subraya .ast-single-post .entry-content a */
.gdw-aa em { font-style: normal; }
.gdw-aa ul { list-style: none; }
.gdw-aa :is(a, button, summary):focus-visible { outline: 2px solid var(--aa-fucsia) !important; outline-offset: 4px; }
.aa-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* etiqueta de sección: «S.01 | Texto», en mono */
.gdw-aa .aa-sec { display: inline-flex; align-items: stretch; font-family: var(--aa-mono); font-size: 11.5px; line-height: 1; letter-spacing: .1em; text-transform: uppercase; color: var(--aa-ciruela); }
.gdw-aa .aa-sec i { font-style: normal; padding: 6px 8px; border: 1px solid currentColor; border-radius: 5px 0 0 5px; }
.gdw-aa .aa-sec b { font-weight: 400; padding: 7px 10px 6px; background: currentColor; border-radius: 0 5px 5px 0; }
.gdw-aa .aa-sec b span { color: var(--aa-crema); }
.gdw-aa .aa-sec--claro { color: #fff; }
.gdw-aa .aa-sec--claro b span { color: var(--aa-ciruela); }

.gdw-aa .aa-h2 { font-size: clamp(42px, 6.2vw, 112px); font-weight: 800; line-height: .94; text-wrap: balance; }
.gdw-aa .aa-h2 em { color: var(--aa-magenta); }
.gdw-aa .aa-entradilla { font-size: clamp(16px, 1.3vw, 20px); line-height: 1.55; font-weight: 400; max-width: 46ch; }

.gdw-aa .aa-btn {
	display: inline-flex; align-items: center; gap: .7em; height: 56px; padding: 0 30px; border-radius: 999px; border: 0;
	background: var(--aa-ciruela); color: #fff !important; font: 700 15px/1 var(--aa-letra); letter-spacing: .01em;
	transition: background-color .25s, color .25s, transform .25s, box-shadow .25s; cursor: pointer; white-space: nowrap;
}
.gdw-aa .aa-btn span { transition: transform .25s; }
.gdw-aa .aa-btn:hover { background: var(--aa-magenta); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(195, 0, 102, .28); }
.gdw-aa .aa-btn:hover span { transform: translateX(4px); }
.gdw-aa .aa-btn--blanco { background: #fff; color: var(--aa-ciruela) !important; }
.gdw-aa .aa-btn--blanco:hover { background: var(--aa-rosa); color: var(--aa-ciruela) !important; }
.gdw-aa .aa-btn--linea { background: transparent; color: currentColor !important; box-shadow: inset 0 0 0 1.5px currentColor; }

/* prueba social: tres caras, estrellas y la nota */
.gdw-aa .aa-prueba { display: inline-flex; align-items: center; gap: 14px; font-size: 14px; line-height: 1.3; }
.gdw-aa .aa-prueba__caras { display: flex; }
.gdw-aa .aa-prueba__caras img { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; border: 3px solid var(--aa-crema); margin-left: -12px; }
.gdw-aa .aa-prueba__caras img:first-child { margin-left: 0; }
.gdw-aa .aa-prueba b { font-size: 17px; }
.gdw-aa .aa-estrellas { color: #f5a300; letter-spacing: .12em; font-size: 13px; margin-left: 6px; }
.gdw-aa .aa-prueba--claro { color: #fff; }
.gdw-aa .aa-prueba--claro .aa-prueba__caras img { border-color: rgba(255, 255, 255, .9); }

/* fondo «tintas»: manchas de color que se mueven despacio y un dibujo fino de moléculas */
.gdw-aa .aa-fondo { position: absolute; inset: 0; z-index: 0; overflow: clip; pointer-events: none; }
.gdw-aa .aa-tintas i {
	position: absolute; left: var(--x); top: var(--y); width: var(--s); aspect-ratio: 1; translate: -50% -50%; opacity: var(--o, .55);
	border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; will-change: transform;
	background: radial-gradient(closest-side, var(--c) 0%, color-mix(in srgb, var(--c) 60%, transparent) 48%, color-mix(in srgb, var(--c) 16%, transparent) 78%, transparent 100%);
}
.gdw-aa .aa-moleculas {
	position: absolute; inset: 0; opacity: .9;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='280' viewBox='0 0 320 280'%3E%3Cg fill='none' stroke='%232a0a1f' stroke-opacity='.07' stroke-width='1.5'%3E%3Cpath d='M70 40l32 18v37l-32 18-32-18V58z'/%3E%3Ccircle cx='70' cy='76' r='17'/%3E%3Cpath d='M102 58l36-21 36 21M174 58v40M70 113v40M70 153l-32 18'/%3E%3Cpath d='M232 170l32 18v37l-32 18-32-18v-37z'/%3E%3Cpath d='M200 188l-38-22M264 188l30-17'/%3E%3C/g%3E%3Cg fill='%232a0a1f' fill-opacity='.08'%3E%3Ccircle cx='174' cy='98' r='6'/%3E%3Ccircle cx='38' cy='171' r='6'/%3E%3Ccircle cx='162' cy='166' r='5'/%3E%3Ccircle cx='294' cy='171' r='4'/%3E%3C/g%3E%3C/svg%3E");
	background-size: 320px 280px;
}
@media (prefers-reduced-motion: no-preference) {
	.gdw-aa .aa-tintas i { animation: aaTinta var(--d, 22s) ease-in-out infinite alternate; }
}
@keyframes aaTinta { from { transform: rotate(0deg) scale(1); } to { transform: rotate(var(--r, 30deg)) scale(1.22) translate(5%, -4%); } }

/* aparición al entrar en pantalla (solo con JS: sin él, todo visible) */
.aa-js .gdw-aa .aa-rv { opacity: 0; translate: 0 34px; transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s); }
.aa-js .gdw-aa .aa-rv.is-in { opacity: 1; translate: 0 0; }

/* palabras que se encienden con el scroll ([data-aa-palabras]; aa.js mete cada palabra en .aa-w) */
.gdw-aa .aa-w { display: inline; }

/* ---------- 2. Cabecera ---------- */
/* en todas las páginas: el logo de Asun Arias es casi cuadrado (230 × 221) */
/* 112 px arriba y 80 px con la cabecera fija (Mario, 06-10-2026); en el móvil, 72 y 58 px */
#masthead .hfe-site-logo img, #masthead .hfe-site-logo-img { width: 112px !important; max-width: 112px !important; height: auto !important; transition: width .35s, max-width .35s; }
body.gdw-is-scrolled #masthead .hfe-site-logo img, body.gdw-is-scrolled #masthead .hfe-site-logo-img { width: 80px !important; max-width: 80px !important; }
@media (max-width: 767px) {
	#masthead .hfe-site-logo img, #masthead .hfe-site-logo-img { width: 72px !important; max-width: 72px !important; }
	body.gdw-is-scrolled #masthead .hfe-site-logo img, body.gdw-is-scrolled #masthead .hfe-site-logo-img { width: 58px !important; max-width: 58px !important; }
}
/* en la home: transparente encima de la portada; al bajar, el menú en una pastilla */
body.aa-home #masthead { position: fixed !important; left: 0; right: 0; top: 0; background: transparent !important; box-shadow: none !important; }
body.aa-home.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { body.aa-home.admin-bar #masthead { top: 46px; } }
@media (max-width: 600px) { body.aa-home.admin-bar #masthead { top: 0; } }
body.aa-home #masthead .gdw-header__bar, body.aa-home #masthead .gdw-header__bar::before { background: transparent !important; background-color: transparent !important; box-shadow: none !important; border: 0 !important; }
/* solo la lista (ul): el div que la envuelve también se llama .hfe-nav-menu y salían dos fondos blancos */
body.aa-home #masthead .gdw-header__nav--desktop ul.hfe-nav-menu { transition: background-color .35s, padding .35s, box-shadow .35s; border-radius: 999px; }
body.aa-home #masthead .hfe-nav-menu a.hfe-menu-item { color: var(--aa-ciruela, #2a0a1f) !important; transition: color .3s; font-weight: 700; }
body.aa-home #masthead .hfe-nav-menu a.hfe-menu-item:hover { color: #c30066 !important; }
body.aa-home.gdw-is-scrolled #masthead .gdw-header__nav--desktop ul.hfe-nav-menu { background: rgba(255, 255, 255, .75); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); padding: 2px 14px; }
body.aa-home.aa-cab-oscura:not(.gdw-is-scrolled) #masthead .hfe-nav-menu a.hfe-menu-item { color: #fff !important; }
body.aa-home.aa-cab-oscura #masthead .hfe-nav-menu__toggle, body.aa-home.aa-cab-oscura #masthead .hfe-nav-menu__toggle svg { color: #fff; fill: #fff; }
body.aa-home #masthead .hfe-nav-menu__toggle { border-radius: 50%; transition: background-color .35s; }
body.aa-home.gdw-is-scrolled #masthead .hfe-nav-menu__toggle { background: rgba(255, 255, 255, .75); -webkit-backdrop-filter: blur(15px); backdrop-filter: blur(15px); }
body.aa-home.gdw-is-scrolled #masthead .hfe-nav-menu__toggle, body.aa-home.gdw-is-scrolled #masthead .hfe-nav-menu__toggle svg { color: #2a0a1f; fill: #2a0a1f; }
body.aa-home #content, body.aa-home .site-content { padding-top: 0 !important; }

/* ---------- 3. Portada: «Bienvenidos» y el vídeo dentro de la mancha del logo ---------- */
/* fases: --a (0 → 1) la mancha crece hasta llenar la pantalla; --b (0 → 1) la cita se enciende palabra a palabra */
.gdw-aa .aa-hero { position: relative; height: 330vh; background: var(--aa-crema); }
.gdw-aa .aa-hero__fijo {
	--a: clamp(0, calc(var(--p, 0) / .34), 1);
	--b: clamp(0, calc((var(--p, 0) - .4) / .48), 1);
	--w0: min(37vw, 70svh); --h0: min(41vw, 77svh);
	--x0: 75vw; --y0: calc(50svh + var(--aa-cab) / 2);
	--w1: 230vmax; --h1: 230vmax;
	--bw: calc(var(--w0) + (var(--w1) - var(--w0)) * var(--a) * var(--a));
	--bh: calc(var(--h0) + (var(--h1) - var(--h0)) * var(--a) * var(--a));
	--cx: calc(var(--x0) + (50vw - var(--x0)) * var(--a));
	--cy: calc(var(--y0) + (50svh - var(--y0)) * var(--a));
	position: sticky; top: 0; height: 100svh; overflow: clip; isolation: isolate;
}
.gdw-aa .aa-hero__capas { position: absolute; inset: 0; z-index: 1; pointer-events: none; opacity: calc(1 - var(--a) * 1.6); }
.gdw-aa .aa-hero__capa { position: absolute; left: var(--x0); top: var(--y0); width: calc(var(--w0) * 1.12); height: calc(var(--h0) * 1.1); translate: calc(-50% + var(--mx, 0) * 18px) calc(-50% + var(--my, 0) * 14px); border-radius: 58% 42% 52% 48% / 46% 56% 44% 54%; }
.gdw-aa .aa-hero__capa--1 { background: var(--aa-rosa2); rotate: -16deg; }
.gdw-aa .aa-hero__capa--2 { background: var(--aa-malva); width: calc(var(--w0) * 1.04); height: calc(var(--h0) * 1.02); rotate: 12deg; translate: calc(-46% + var(--mx, 0) * -12px) calc(-52% + var(--my, 0) * -10px); opacity: .85; }
.gdw-aa .aa-hero__blob {
	position: absolute; z-index: 2; left: var(--cx); top: var(--cy); width: var(--bw); height: var(--bh); translate: -50% -50%;
	overflow: hidden; background: var(--aa-magenta); border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%;
	box-shadow: 0 30px 80px rgba(195, 0, 102, calc(.3 - var(--a) * .3));
}
/* el vídeo es una ventana fija a pantalla completa; al principio se corre (--vx, --vy) para que la cara de Asun quede dentro de la mancha */
.gdw-aa .aa-hero__video, .gdw-aa .aa-hero__poster {
	position: absolute; width: 100vw; height: 100svh; max-width: none; object-fit: cover; object-position: 55% 50%;
	left: calc(var(--bw) / 2 - var(--cx) + var(--vx, 16vw) * (1 - var(--a)));
	top: calc(var(--bh) / 2 - var(--cy) + var(--vy, 10svh) * (1 - var(--a)));
}
.gdw-aa .aa-hero__velo { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(42, 10, 31, .35), rgba(42, 10, 31, .72)); opacity: clamp(0, calc(var(--b) * 3), 1); }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aa .aa-hero__blob { animation: aaForma 14s ease-in-out infinite alternate; }
	.gdw-aa .aa-hero__capa--1 { animation: aaGiro 38s linear infinite; }
	.gdw-aa .aa-hero__capa--2 { animation: aaGiro 46s linear infinite reverse; }
}
@keyframes aaForma {
	0% { border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; }
	50% { border-radius: 56% 44% 58% 42% / 44% 56% 46% 54%; }
	100% { border-radius: 42% 58% 48% 52% / 58% 42% 52% 48%; }
}
@keyframes aaGiro { to { rotate: 360deg; } }
/* entrada (Mario, 07-10-2026): la mancha y sus dos capas rosas aparecen con un zoom, el vídeo se aleja dentro de la mancha
   y el sello salta girando. Va con scale, que no se pisa con lo que ya mueve la portada (el tamaño de la mancha con el
   scroll, el translate de las capas con el ratón y el rotate de su giro). Los textos suben letra a letra (aa-letras-entrada) */
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aa .aa-hero__blob { animation: aaZoomEntra 1.6s cubic-bezier(.16, 1, .3, 1) .1s both, aaForma 14s ease-in-out infinite alternate; }
	.aa-js .gdw-aa .aa-hero__capa--1 { animation: aaZoomEntra 1.6s cubic-bezier(.16, 1, .3, 1) .28s both, aaGiro 38s linear infinite; }
	.aa-js .gdw-aa .aa-hero__capa--2 { animation: aaZoomEntra 1.6s cubic-bezier(.16, 1, .3, 1) .4s both, aaGiro 46s linear infinite reverse; }
	.aa-js .gdw-aa .aa-hero__video { animation: aaZoomVideo 2.2s cubic-bezier(.16, 1, .3, 1) .1s both; }
	.aa-js .gdw-aa .aa-hero__sello { animation: aaSelloEntra 1.1s cubic-bezier(.2, 1.4, .4, 1) 1.1s both; }
	/* la cabecera (logo y menú) baja al cargar, como en la entrada de «Sobre mí» (Mario, 07-10-2026); aa.js pone
	   .aa-cab-entra en <html> solo si la home se abre arriba */
	html.aa-cab-entra #masthead { animation: aaIntroCab 1s cubic-bezier(.2, .8, .2, 1) 1.1s backwards; }
}
/* solo «from»: terminan en el valor de cada pieza (la capa 2 se queda en su opacidad de .85) */
@keyframes aaZoomEntra { from { scale: .2; opacity: 0; } }
@keyframes aaZoomVideo { from { scale: 1.5; } }
@keyframes aaSelloEntra { from { scale: 0; rotate: -140deg; } }

.gdw-aa .aa-hero__texto {
	position: absolute; z-index: 3; left: var(--aa-lado); top: calc(var(--aa-cab) + 5svh); width: min(52vw, 820px);
	opacity: clamp(0, calc(1 - var(--a) * 2.4), 1); translate: 0 calc(var(--a) * -16svh);
}
.gdw-aa .aa-hero__h1 { white-space: nowrap; font-size: clamp(60px, 8.2vw, 158px); line-height: .86; font-weight: 800; margin: 3svh 0 0; color: var(--aa-ciruela); }
.gdw-aa .aa-hero__h1 em { color: var(--aa-magenta); }
.gdw-aa .aa-hero__intro { font-size: clamp(17px, 1.42vw, 23px); line-height: 1.5; max-width: 40ch; margin: 3.4svh 0 4svh; font-weight: 400; }
.gdw-aa .aa-hero__intro b { font-weight: 700; }
.gdw-aa .aa-hero__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 30px; }

/* la tarjeta de Sweet, como una pegatina sobre el borde de la mancha */
.gdw-aa .aa-hero__sweet {
	position: absolute; z-index: 4; left: calc(var(--x0) - var(--w0) / 2 - 7vw); bottom: 7svh; width: 270px; padding: 22px 24px 20px; border-radius: 26px;
	background: #fff; color: var(--aa-ciruela); box-shadow: 0 24px 60px rgba(42, 10, 31, .18); rotate: -5deg;
	opacity: clamp(0, calc(1 - var(--a) * 3), 1); translate: calc(var(--a) * -12vw) calc(var(--a) * 10svh); transition: rotate .4s, box-shadow .4s;
}
.gdw-aa .aa-hero__sweet:hover { rotate: -2deg; box-shadow: 0 30px 70px rgba(195, 0, 102, .28); }
.gdw-aa .aa-hero__bote { position: absolute; width: 112px; right: -26px; top: -78px; rotate: 12deg; filter: drop-shadow(0 18px 22px rgba(42, 10, 31, .28)); transition: rotate .5s, translate .5s; }
.gdw-aa .aa-hero__sweet:hover .aa-hero__bote { rotate: 4deg; translate: 0 -8px; }
.gdw-aa .aa-hero__sweet-t { display: block; font-size: 30px; font-weight: 800; color: var(--aa-magenta); line-height: 1; }
.gdw-aa .aa-hero__sweet-s { display: block; font-size: 14.5px; line-height: 1.35; margin: 8px 0 14px; max-width: 16ch; }
.gdw-aa .aa-hero__sweet-b { display: inline-flex; gap: .5em; font-weight: 700; font-size: 14px; padding: 9px 16px; border-radius: 999px; background: var(--aa-rosa); }
.gdw-aa .aa-hero__sweet-g { display: block; font-family: var(--aa-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; margin-top: 12px; opacity: .7; }

.gdw-aa .aa-hero__baja { position: absolute; z-index: 3; left: 50%; bottom: 3.2svh; translate: -50% 0; display: flex; flex-direction: column; align-items: center; gap: 10px; font-family: var(--aa-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; opacity: clamp(0, calc(1 - var(--a) * 5), 1); }
.gdw-aa .aa-hero__baja span { width: 1.5px; height: 42px; background: linear-gradient(var(--aa-ciruela) 50%, transparent 0) 0 0 / 100% 200%; animation: aaBaja 1.8s ease-in-out infinite; }
@keyframes aaBaja { from { background-position: 0 100%; } to { background-position: 0 -100%; } }

/* la cita, sobre el vídeo a pantalla completa */
.gdw-aa .aa-cita { position: absolute; z-index: 5; inset: 0; display: grid; place-content: center; justify-items: center; gap: 4svh; padding: var(--aa-cab) 8vw 4svh; text-align: center; color: #fff; pointer-events: none; opacity: clamp(0, calc(var(--b) * 6), 1); }
.gdw-aa .aa-cita__texto { font-size: clamp(34px, 5.1vw, 94px); line-height: 1.04; font-weight: 800; max-width: 17ch; text-wrap: balance; }
.gdw-aa .aa-cita .aa-w { opacity: clamp(.16, calc(var(--b) * (var(--n, 12) + 3) - var(--i, 0)), 1); }
.gdw-aa .aa-cita mark { display: inline-block; background: var(--aa-magenta); color: #fff; padding: 0 .2em .06em; border-radius: .2em; rotate: -1.5deg; }
.gdw-aa .aa-cita__firma { font-family: var(--aa-mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; opacity: clamp(0, calc(var(--b) * 4 - 3), 1); }
.gdw-aa .aa-cita__firma::before { content: ""; display: inline-block; width: 34px; height: 1.5px; background: currentColor; vertical-align: middle; margin-right: 12px; }

/* ---------- 4. Tres proyectos: tarjetas que se apilan al bajar ---------- */
.gdw-aa .aa-mundos { position: relative; background: var(--aa-crema); padding: 14vh var(--aa-lado) 10vh; }
.gdw-aa .aa-mundos__cab { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 6vh; }
.gdw-aa .aa-mundos__cab p:last-child { font-family: var(--aa-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.gdw-aa .aa-mundo { position: sticky; top: calc(var(--aa-cab) + 2vh); height: calc(100svh - var(--aa-cab) - 6vh); min-height: 520px; margin-bottom: 7vh; }
.gdw-aa .aa-mundo:last-child { margin-bottom: 0; }
.gdw-aa .aa-mundo__in {
	position: relative; height: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-radius: 38px; overflow: clip; isolation: isolate;
	background: var(--fondo); color: var(--texto); transform-origin: 50% 0;
	transform: scale(calc(1 - var(--c, 0) * .07)); filter: brightness(calc(1 - var(--c, 0) * .28));
	box-shadow: 0 -18px 50px rgba(42, 10, 31, .12);
}
.gdw-aa .aa-mundo--1 { --fondo: var(--aa-magenta); --texto: #fff; --acento: var(--aa-rosa); }
.gdw-aa .aa-mundo--2 { --fondo: var(--aa-rosa); --texto: var(--aa-ciruela); --acento: var(--aa-magenta); }
.gdw-aa .aa-mundo--3 { --fondo: var(--aa-ciruela); --texto: #fff; --acento: var(--aa-chicle); }
.gdw-aa .aa-mundo__foto { position: relative; overflow: hidden; margin: 14px; border-radius: 28px; }
.gdw-aa .aa-mundo__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; scale: calc(1.12 - var(--c, 0) * .1); transition: scale .2s linear; }
.gdw-aa .aa-mundo__txt { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; gap: 2.6svh; padding: 5vh clamp(24px, 4.4vw, 80px) 5vh clamp(16px, 2vw, 40px); }
.gdw-aa .aa-mundo__n { font-family: var(--aa-mono); font-size: 13px; letter-spacing: .12em; color: var(--acento); }
.gdw-aa .aa-mundo__pre { display: block; font-family: var(--aa-mono); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 400; margin-bottom: 1.4svh; color: var(--acento); }
.gdw-aa .aa-mundo__h { font-size: clamp(44px, 5.4vw, 100px); line-height: .92; font-weight: 800; }
.gdw-aa .aa-mundo__txt p { font-size: clamp(15.5px, 1.18vw, 19px); line-height: 1.55; max-width: 48ch; }
.gdw-aa .aa-mundo__txt .aa-btn { align-self: flex-start; margin-top: 1svh; }
.gdw-aa .aa-mundo--1 .aa-btn, .gdw-aa .aa-mundo--3 .aa-btn { background: #fff; color: var(--aa-ciruela) !important; }
.gdw-aa .aa-mundo--1 .aa-btn:hover, .gdw-aa .aa-mundo--3 .aa-btn:hover { background: var(--aa-rosa); }
.gdw-aa .aa-mundo__tinta { position: absolute; z-index: -1; right: -14%; bottom: -26%; width: 56%; aspect-ratio: 1; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43%; background: var(--acento); opacity: .22; rotate: calc(var(--c, 0) * 40deg); }
.gdw-aa .aa-mundo__num { position: absolute; z-index: -1; right: 3vw; top: 1vh; font-size: clamp(120px, 16vw, 300px); line-height: 1; font-weight: 800; color: transparent; -webkit-text-stroke: 1.5px var(--acento); opacity: .45; }

/* ---------- 5. Training Group: «Aquí es donde surge la magia» ---------- */
.gdw-aa .aa-magia { position: relative; isolation: isolate; background: var(--aa-crema); padding: 16vh var(--aa-lado) 18vh; overflow: clip; }
.gdw-aa .aa-magia__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 6vw; align-items: center; max-width: 1640px; margin: 0 auto; }
.gdw-aa .aa-magia__txt { display: grid; gap: 3.4svh; justify-items: start; }
.gdw-aa .aa-magia .aa-h2 { font-size: clamp(46px, 6.6vw, 124px); }
.gdw-aa .aa-magia__ficha { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 22px; align-items: start; padding: 24px; border-radius: 28px; background: #fff; box-shadow: 0 20px 50px rgba(42, 10, 31, .08); max-width: 620px; }
.gdw-aa .aa-magia__ficha img { width: 120px; height: 120px; border-radius: 22px; object-fit: cover; }
.gdw-aa .aa-magia__ficha h3 { font-size: 24px; line-height: 1.1; margin-bottom: 8px; }
.gdw-aa .aa-magia__ficha p { font-size: 15.5px; line-height: 1.55; }
.gdw-aa .aa-magia__firma { margin-top: 12px !important; font-family: var(--aa-mono); font-size: 11.5px !important; letter-spacing: .08em; text-transform: uppercase; color: var(--aa-magenta); }
.gdw-aa .aa-magia__collage { position: relative; height: min(64vw, 860px); }
.gdw-aa .aa-magia__f1, .gdw-aa .aa-magia__f2 { position: absolute; overflow: hidden; border-radius: 34px; box-shadow: 0 30px 70px rgba(42, 10, 31, .16); }
.gdw-aa .aa-magia__f1 { right: 0; top: 0; width: 66%; aspect-ratio: 1; translate: 0 calc((var(--p, .5) - .5) * -10vh); }
.gdw-aa .aa-magia__f2 { left: 0; bottom: 4%; width: 46%; aspect-ratio: 1; border: 10px solid #fff; rotate: calc(-7deg + var(--p, .5) * 6deg); translate: 0 calc((var(--p, .5) - .5) * 16vh); }
.gdw-aa .aa-magia__f1 img, .gdw-aa .aa-magia__f2 img { width: 100%; height: 100%; object-fit: cover; }
.gdw-aa .aa-magia__dato {
	position: absolute; right: 4%; bottom: -2%; width: min(320px, 46%); padding: 26px 26px 24px; border-radius: 30px; background: var(--aa-magenta); color: #fff;
	rotate: calc(5deg - var(--p, .5) * 4deg); box-shadow: 0 24px 60px rgba(195, 0, 102, .35);
}
.gdw-aa .aa-magia__dato b { display: flex; align-items: baseline; gap: 10px; font-size: clamp(64px, 6.6vw, 120px); line-height: .9; font-weight: 800; }
.gdw-aa .aa-magia__dato b small { font-size: .3em; font-weight: 700; }
.gdw-aa .aa-magia__dato p { font-size: 14.5px; line-height: 1.45; margin-top: 12px; }
.gdw-aa .aa-magia__burbuja { position: absolute; left: 30%; top: 6%; width: 92px; aspect-ratio: 1; border-radius: 50%; background: var(--aa-rosa); display: grid; place-items: center; font-size: 34px; rotate: calc(var(--p, .5) * 120deg); }

/* ---------- 6. Formación de alto rendimiento: fotos que siguen al ratón ---------- */
.gdw-aa .aa-formacion {
	position: relative; isolation: isolate; overflow: clip; min-height: 100svh; display: grid; place-items: center; padding: 18vh var(--aa-lado) 22vh;
	background: radial-gradient(60vmax 60vmax at var(--gx, 50%) var(--gy, 40%), rgba(236, 0, 140, .32), transparent 60%), var(--aa-ciruela); color: #fff; text-align: center;
}
.gdw-aa .aa-formacion__escenario { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.gdw-aa .aa-estela { position: absolute; width: clamp(150px, 15vw, 260px); aspect-ratio: 1; object-fit: cover; border-radius: 22px; translate: -50% -50%; scale: .4; opacity: 0; rotate: var(--r, 0deg); box-shadow: 0 24px 50px rgba(0, 0, 0, .4); transition: scale .55s cubic-bezier(.2, .9, .3, 1.3), opacity .35s, translate 1.1s ease-out; }
.gdw-aa .aa-estela.is-on { scale: 1; opacity: 1; }
.gdw-aa .aa-estela.is-off { scale: .7; opacity: 0; translate: -50% -38%; transition: scale .8s, opacity .8s, translate .8s; }
.gdw-aa .aa-formacion__txt { position: relative; z-index: 2; display: grid; justify-items: center; gap: 4svh; }
.gdw-aa .aa-formacion__h { font-size: clamp(56px, 10vw, 190px); line-height: .88; font-weight: 800; text-shadow: 0 6px 40px rgba(42, 10, 31, .55); }
.gdw-aa .aa-formacion__h em { color: var(--aa-chicle); }
.gdw-aa .aa-formacion__pista { font-family: var(--aa-mono); font-size: 11.5px; letter-spacing: .14em; text-transform: uppercase; opacity: .6; }
@media (hover: none) { .gdw-aa .aa-formacion__pista { display: none; } }
.gdw-aa .aa-cinta { position: absolute; z-index: 3; left: -4vw; right: -4vw; bottom: 7vh; rotate: -2.5deg; background: var(--aa-rosa); color: var(--aa-ciruela); padding: 18px 0; overflow: hidden; }
.gdw-aa .aa-cinta__pista { display: flex; width: max-content; gap: 0; }
.gdw-aa .aa-cinta__pista span { font-size: clamp(20px, 2.2vw, 34px); font-weight: 800; white-space: nowrap; padding: 0 .7em; display: inline-flex; align-items: center; gap: 1.4em; }
.gdw-aa .aa-cinta__pista span::after { content: "✦"; color: var(--aa-magenta); font-size: .7em; }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aa .aa-cinta__pista { animation: aaCinta 38s linear infinite; }
}
@keyframes aaCinta { to { transform: translateX(-50%); } }

/* ---------- 7. Mi foco: la frase se enciende y las palabras clave saltan en pastillas ---------- */
.gdw-aa .aa-foco { position: relative; height: 240vh; background: var(--aa-rosa); }
.gdw-aa .aa-foco__fijo { --q: clamp(0, calc((var(--p, 0) - .08) / .7), 1); position: sticky; top: 0; height: 100svh; overflow: clip; isolation: isolate; display: grid; align-content: center; gap: 5svh; padding: calc(var(--aa-cab) + 2svh) var(--aa-lado) 6svh; }
.gdw-aa .aa-foco .aa-fondo { z-index: -1; }
.gdw-aa .aa-foco__texto { font-size: clamp(26px, 3.1vw, 56px); line-height: 1.18; font-weight: 800; max-width: 30ch; }
.gdw-aa .aa-foco .aa-w { opacity: clamp(.14, calc(var(--q) * (var(--n, 30) + 4) - var(--i, 0)), 1); }
.gdw-aa .aa-chip {
	--k: clamp(0, calc(var(--q) * (var(--n, 30) + 4) - var(--i, 0)), 1);
	display: inline-block; padding: 0 .32em .06em; border-radius: 999px; color: #fff; background: var(--cc); line-height: 1.12;
	scale: calc(.72 + var(--k) * .28); rotate: calc((1 - var(--k)) * -8deg + var(--rr, -2deg)); transform-origin: 50% 60%;
}
.gdw-aa .aa-chip--magenta { --cc: var(--aa-magenta); }
.gdw-aa .aa-chip--naranja { --cc: var(--aa-naranja); --rr: 2deg; }
.gdw-aa .aa-chip--azul { --cc: var(--aa-azul); --rr: -1deg; }
.gdw-aa .aa-chip--lila { --cc: var(--aa-lila); --rr: 1.5deg; }
.gdw-aa .aa-nube { position: absolute; z-index: -1; width: var(--w, 22vw); opacity: .95; translate: calc((var(--p, .5) - .5) * var(--vx, 0) * 1vw) calc((var(--p, .5) - .5) * var(--v, -40) * 1vh); }

/* ---------- 8. Sweet: SFC, ARG y AFM en horizontal ---------- */
.gdw-aa .aa-productos { position: relative; height: 400vh; background: var(--bg, var(--aa-ciruela)); transition: background-color .8s ease; color: #fff; }
.gdw-aa .aa-productos__fijo { position: sticky; top: 0; height: 100svh; overflow: clip; }
.gdw-aa .aa-productos__pista { display: flex; align-items: center; gap: 5vw; height: 100%; padding: calc(var(--aa-cab) + 2svh) var(--aa-lado) 4svh; width: max-content; transform: translate3d(calc(var(--dx, 0px) * var(--p, 0) * -1), 0, 0); will-change: transform; }
.gdw-aa .aa-productos__intro { width: min(34vw, 560px); display: grid; gap: 3.4svh; justify-items: start; }
.gdw-aa .aa-productos__intro .aa-h2 em { color: var(--aa-chicle); }
/* la columna mide como mucho 560 px: con el tamaño general de los H2 (hasta 112 px), «conocimiento» no cabía y se metía
   bajo la primera tarjeta (Mario, 06-10-2026) */
.gdw-aa .aa-productos__intro .aa-h2 { font-size: clamp(36px, 3.9vw, 74px); }
.gdw-aa .aa-productos__intro p:last-child { font-family: var(--aa-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.gdw-aa .aa-prod { --lp: 0; position: relative; width: min(74vw, 1180px); height: min(72svh, 720px); flex: 0 0 auto; }
.gdw-aa .aa-prod__foto { position: absolute; inset: 0; overflow: hidden; border-radius: 40px; background: var(--c); box-shadow: 0 40px 90px rgba(0, 0, 0, .35); }
.gdw-aa .aa-prod__foto img { width: 112%; height: 100%; max-width: none; object-fit: cover; translate: calc(var(--lp) * -5% - 6%) 0; }
.gdw-aa .aa-prod__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, .45), transparent 55%); }
.gdw-aa .aa-prod__n { position: absolute; z-index: 2; left: 4%; top: -.42em; font-size: clamp(110px, 15vw, 270px); line-height: 1; font-weight: 800; color: transparent; -webkit-text-stroke: 2px rgba(255, 255, 255, .85); translate: calc(var(--lp) * 14vw) 0; pointer-events: none; }
.gdw-aa .aa-prod__txt { position: absolute; z-index: 3; left: 5%; bottom: 8%; display: grid; gap: 2.2svh; justify-items: start; max-width: 52%; }
.gdw-aa .aa-prod__cod { font-family: var(--aa-mono); font-size: 13px; letter-spacing: .16em; text-transform: uppercase; }
.gdw-aa .aa-prod__h { font-size: clamp(40px, 4.6vw, 88px); line-height: .94; font-weight: 800; }
.gdw-aa .aa-prod--olyvia .aa-prod__h { font-size: clamp(30px, 3vw, 56px); line-height: 1.02; max-width: 15ch; }
.gdw-aa .aa-productos__fin { width: min(40vw, 520px); flex: 0 0 auto; display: grid; place-items: center; }
.gdw-aa .aa-gama { position: relative; width: min(34vw, 440px); aspect-ratio: 1; border-radius: 50%; background: var(--aa-rosa); color: var(--aa-ciruela); display: grid; place-items: center; text-align: center; padding: 14%; font-size: clamp(24px, 2.4vw, 38px); font-weight: 800; line-height: 1.02; transition: scale .4s, background-color .4s; }
.gdw-aa .aa-gama:hover { scale: 1.05; background: #fff; }
.gdw-aa .aa-gama small { display: block; font-family: var(--aa-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; font-weight: 400; margin-top: 14px; color: var(--aa-magenta); }
.gdw-aa .aa-gama__botes { position: absolute; inset: auto -6% -22% -6%; display: flex; justify-content: center; align-items: flex-end; }
.gdw-aa .aa-gama__botes img { width: 38%; margin: 0 -5%; filter: drop-shadow(0 16px 18px rgba(42, 10, 31, .3)); transition: rotate .4s, translate .4s; }
.gdw-aa .aa-gama__botes img:nth-child(2) { width: 42%; position: relative; z-index: 1; }
.gdw-aa .aa-gama:hover .aa-gama__botes img:nth-child(2) { translate: 0 -8%; }
.gdw-aa .aa-gama > span:first-child { translate: 0 -30%; }
.gdw-aa .aa-gama__botes img:nth-child(1) { rotate: -14deg; translate: 0 6%; }
.gdw-aa .aa-gama__botes img:nth-child(3) { rotate: 14deg; translate: 0 6%; }
.gdw-aa .aa-productos__barra { position: absolute; left: var(--aa-lado); right: var(--aa-lado); bottom: 3.4svh; height: 2px; background: rgba(255, 255, 255, .22); }
.gdw-aa .aa-productos__barra i { display: block; height: 100%; width: calc(var(--p, 0) * 100%); background: #fff; }

/* ---------- 9. Opiniones: dos cintas de tarjetas en sentidos contrarios ---------- */
.gdw-aa .aa-opiniones { position: relative; isolation: isolate; background: var(--aa-crema); padding: 16vh 0 14vh; overflow: clip; }
.gdw-aa .aa-opiniones__cab { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 24px 40px; padding: 0 var(--aa-lado); margin-bottom: 8vh; }
.gdw-aa .aa-opiniones__cab .aa-h2 { font-size: clamp(56px, 9vw, 170px); margin-top: 2.4svh; }
.gdw-aa .aa-nota { display: grid; gap: 6px; justify-items: end; text-align: right; }
.gdw-aa .aa-nota b { font-size: clamp(54px, 6vw, 104px); line-height: .9; font-weight: 800; color: var(--aa-magenta); }
.gdw-aa .aa-nota b small { font-size: .38em; color: var(--aa-ciruela); }
.gdw-aa .aa-nota span { font-size: 15px; }
.gdw-aa .aa-fila { position: relative; z-index: 1; overflow: hidden; padding: 14px 0; }
.gdw-aa .aa-fila + .aa-fila { margin-top: 10px; }
.gdw-aa .aa-fila__pista { display: flex; gap: 26px; width: max-content; padding-right: 26px; }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aa .aa-fila__pista { animation: aaCinta 70s linear infinite; }
	.gdw-aa .aa-fila--b .aa-fila__pista { animation-direction: reverse; animation-duration: 80s; }
	.gdw-aa .aa-fila:hover .aa-fila__pista { animation-play-state: paused; }
}
.gdw-aa .aa-op { position: relative; isolation: isolate; overflow: hidden; width: clamp(300px, 30vw, 460px); flex: 0 0 auto; display: flex; flex-direction: column; gap: 18px; padding: 34px 32px 30px; border-radius: 30px; background: var(--of); color: var(--ot, var(--aa-ciruela)); transition: rotate .4s, translate .4s; }
.gdw-aa .aa-op:hover { rotate: -1.5deg; translate: 0 -6px; }
.gdw-aa .aa-op .aa-op__t { font-size: clamp(22px, 1.8vw, 28px); line-height: 1.08; font-weight: 800; margin: 0; max-width: 16ch; }
.gdw-aa .aa-op blockquote p { font-size: 16px; line-height: 1.55; }
.gdw-aa .aa-op footer { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.gdw-aa .aa-op footer img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, .8); }
.gdw-aa .aa-op footer b { display: block; font-size: 16px; }
.gdw-aa .aa-op footer small { display: block; font-family: var(--aa-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; opacity: .7; margin-top: 3px; }
.gdw-aa .aa-op__tinta { position: absolute; z-index: -1; right: -18%; top: -24%; width: 62%; aspect-ratio: 1; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43%; background: var(--oc); opacity: .5; }
.gdw-aa .aa-op__comillas { position: absolute; right: 26px; top: 10px; font-size: 96px; line-height: 1; font-weight: 800; opacity: .18; }
.gdw-aa .aa-op--rosa { --of: var(--aa-rosa); --oc: var(--aa-malva); }
.gdw-aa .aa-op--magenta { --of: var(--aa-magenta); --ot: #fff; --oc: var(--aa-chicle); }
.gdw-aa .aa-op--blanca { --of: #fff; --oc: var(--aa-rosa2); }
.gdw-aa .aa-op--lila { --of: #ece0f4; --oc: #c7a6dc; }
.gdw-aa .aa-op--melocoton { --of: #ffe3d2; --oc: #ffb58a; }
.gdw-aa .aa-op--ciruela { --of: var(--aa-ciruela); --ot: #fff; --oc: var(--aa-magenta); }

/* ---------- 10. Sweet, de mujer a mujer ---------- */
.gdw-aa .aa-sweet { position: relative; isolation: isolate; background: var(--aa-rosa); padding: 30vh var(--aa-lado) 18vh; overflow: clip; }
.gdw-aa .aa-nubes { position: absolute; left: 50%; width: max(140vw, 1400px); translate: -50% 0; pointer-events: none; z-index: 0; }
.gdw-aa .aa-nubes img { width: 100%; }
.gdw-aa .aa-nubes--techo { top: 0; translate: -50% calc(-38% + var(--p, .5) * 10%); }
.gdw-aa .aa-nubes--techo img { transform: scaleY(-1); }
.gdw-aa .aa-sweet__grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 7vw; align-items: center; max-width: 1560px; margin: 0 auto; }
.gdw-aa .aa-sweet__txt { display: grid; gap: 3.6svh; justify-items: start; }
.gdw-aa .aa-sweet__txt .aa-entradilla b { color: var(--aa-magenta); }
.gdw-aa .aa-acordeon { width: 100%; max-width: 700px; border-top: 1.5px solid rgba(42, 10, 31, .16); }
.gdw-aa .aa-acordeon details { border-bottom: 1.5px solid rgba(42, 10, 31, .16); }
.gdw-aa .aa-acordeon summary { list-style: none; display: grid; grid-template-columns: 54px minmax(0, 1fr) 40px; align-items: center; gap: 10px; padding: 22px 0; cursor: pointer; font-size: clamp(18px, 1.5vw, 23px); font-weight: 700; line-height: 1.25; }
.gdw-aa .aa-acordeon summary::-webkit-details-marker { display: none; }
.gdw-aa .aa-acordeon__n { font-family: var(--aa-mono); font-size: 13px; font-weight: 400; letter-spacing: .1em; color: var(--aa-magenta); }
.gdw-aa .aa-acordeon summary i { position: relative; width: 40px; height: 40px; border-radius: 50%; background: #fff; transition: background-color .3s, rotate .4s; }
.gdw-aa .aa-acordeon summary i::before, .gdw-aa .aa-acordeon summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: var(--aa-ciruela); translate: -50% -50%; }
.gdw-aa .aa-acordeon summary i::after { rotate: 90deg; transition: rotate .4s; }
.gdw-aa .aa-acordeon details[open] summary i { background: var(--aa-magenta); rotate: 180deg; }
.gdw-aa .aa-acordeon details[open] summary i::before { background: #fff; }
.gdw-aa .aa-acordeon details[open] summary i::after { rotate: 0deg; background: #fff; }
.gdw-aa .aa-acordeon details p { padding: 0 50px 24px 64px; font-size: 16px; line-height: 1.6; max-width: 62ch; }
.gdw-aa .aa-sweet__media { position: relative; justify-self: center; width: min(36vw, 520px); }
.gdw-aa .aa-sweet__arco { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px 40px 40px; overflow: hidden; background: var(--aa-magenta); box-shadow: 0 40px 90px rgba(195, 0, 102, .3); }
.gdw-aa .aa-sweet__arco video, .gdw-aa .aa-sweet__arco img { width: 100%; height: 100%; object-fit: cover; }
.gdw-aa .aa-sweet__bote { position: absolute; width: 38%; filter: drop-shadow(0 26px 26px rgba(42, 10, 31, .3)); }
.gdw-aa .aa-sweet__bote--1 { left: -26%; bottom: 8%; rotate: calc(-14deg + var(--p, .5) * 10deg); translate: 0 calc((var(--p, .5) - .5) * -16vh); }
.gdw-aa .aa-sweet__bote--2 { right: -22%; top: 12%; width: 32%; rotate: calc(16deg - var(--p, .5) * 12deg); translate: 0 calc((var(--p, .5) - .5) * 14vh); }
.gdw-aa .aa-sello { position: absolute; left: -9%; top: -4%; width: 150px; aspect-ratio: 1; border-radius: 50%; background: var(--aa-magenta); color: #fff; display: grid; place-items: center; box-shadow: 0 16px 40px rgba(195, 0, 102, .35); }
.gdw-aa .aa-sello svg { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); }
.gdw-aa .aa-sello text { fill: #fff; font-family: var(--aa-mono); font-size: 13.4px; letter-spacing: .16em; text-transform: uppercase; }
.gdw-aa .aa-sello span { font-size: 30px; font-weight: 800; }
@media (prefers-reduced-motion: no-preference) { .gdw-aa .aa-sello svg { animation: aaGiro 22s linear infinite; } }

/* ---------- 11. Cierre: la ponencia, con zoom al bajar ---------- */
.gdw-aa .aa-cierre { position: relative; height: 230vh; background: var(--aa-ciruela); color: #fff; }
.gdw-aa .aa-cierre__fijo { position: sticky; top: 0; height: 100svh; overflow: clip; isolation: isolate; display: grid; align-items: end; padding: calc(var(--aa-cab) + 4svh) var(--aa-lado) 14svh; }
.gdw-aa .aa-cierre__foto { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; max-width: none; object-fit: cover; scale: calc(1.28 - var(--p, 0) * .28); }
.gdw-aa .aa-cierre__velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(42, 10, 31, .94) 8%, rgba(42, 10, 31, .55) 55%, rgba(42, 10, 31, .25)); }
.gdw-aa .aa-cierre__txt { display: grid; gap: 3svh; max-width: 1240px; }
.gdw-aa .aa-cierre__h { font-size: clamp(40px, 5.6vw, 104px); line-height: .98; font-weight: 800; text-wrap: balance; opacity: clamp(0, calc(var(--p, 0) * 5 - .2), 1); translate: 0 calc((1 - clamp(0, calc(var(--p, 0) * 4), 1)) * 6svh); }
.gdw-aa .aa-cierre__h em { color: var(--aa-chicle); }
.gdw-aa .aa-cierre__clave { font-size: clamp(18px, 1.6vw, 26px); line-height: 1.4; font-weight: 700; max-width: 40ch; opacity: clamp(0, calc(var(--p, 0) * 5 - 1), 1); }
.gdw-aa .aa-cierre__tres { display: flex; flex-wrap: wrap; gap: 12px; }
.gdw-aa .aa-cierre__tres li { padding: 12px 22px; border-radius: 999px; border: 1.5px solid rgba(255, 255, 255, .5); font-weight: 700; font-size: clamp(15px, 1.2vw, 18px); opacity: clamp(0, calc((var(--p, 0) - .3 - var(--i) * .1) * 10), 1); translate: 0 calc((1 - clamp(0, calc((var(--p, 0) - .3 - var(--i) * .1) * 10), 1)) * 20px); }
.gdw-aa .aa-cierre__tres li:nth-child(2) { background: rgba(255, 255, 255, .12); }
.gdw-aa .aa-cierre__tres li:nth-child(3) { background: var(--aa-magenta); border-color: var(--aa-magenta); }
.gdw-aa .aa-cierre__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 22px 34px; margin-top: 1svh; opacity: clamp(0, calc((var(--p, 0) - .6) * 6), 1); }
.gdw-aa .aa-nubes--pie { bottom: -2px; translate: -50% calc(55% - var(--p, 0) * 35%); z-index: 2; }

/* ---------- 12. Tableta y móvil ---------- */
@media (max-width: 1024px) {
	.gdw-aa .aa-hero__fijo { --w0: 46vw; --h0: 52vw; --x0: 70vw; }
	.gdw-aa .aa-hero__texto { width: 56vw; }
	.gdw-aa .aa-hero__sweet { left: 40vw; width: 230px; }
	.gdw-aa .aa-magia__grid, .gdw-aa .aa-sweet__grid { grid-template-columns: minmax(0, 1fr); }
	.gdw-aa .aa-magia__collage { height: 86vw; }
	.gdw-aa .aa-sweet__media { width: min(60vw, 460px); margin-top: 4vh; }
	.gdw-aa .aa-productos__intro { width: 60vw; }
}
@media (max-width: 767px) {
	.gdw-aa { --aa-lado: 18px; }
	.gdw-aa .aa-hero { height: 290vh; }
	.gdw-aa .aa-hero__fijo { --w0: 74vw; --h0: 82vw; --x0: 58vw; --y0: 74svh; --vx: 0px; --vy: 38svh; }
	.gdw-aa .aa-hero__texto { width: auto; right: var(--aa-lado); top: calc(var(--aa-cab) + 2svh); }
	.gdw-aa .aa-hero__h1 { font-size: clamp(44px, 14.4vw, 96px); margin-top: 2svh; }
	.gdw-aa .aa-hero__intro { font-size: 15.5px; margin: 2svh 0 2.6svh; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
	.gdw-aa .aa-hero .aa-prueba { display: none; }
	.gdw-aa .aa-hero__acciones { gap: 14px; }
	.gdw-aa .aa-hero__acciones .aa-btn { height: 48px; padding: 0 22px; }
	.gdw-aa .aa-prueba { font-size: 12.5px; }
	.gdw-aa .aa-hero__sweet { left: var(--aa-lado); bottom: 4svh; width: 176px; padding: 14px 16px; border-radius: 20px; }
	.gdw-aa .aa-hero__sweet-t { font-size: 22px; }
	.gdw-aa .aa-hero__sweet-s { font-size: 12.5px; margin: 5px 0 8px; }
	.gdw-aa .aa-hero__sweet-b { font-size: 12px; padding: 7px 12px; }
	.gdw-aa .aa-hero__sweet-g { display: none; }
	.gdw-aa .aa-hero__bote { width: 76px; right: -18px; top: -54px; }
	.gdw-aa .aa-hero__baja { display: none; }
	.gdw-aa .aa-mundos { padding: 10vh 12px 8vh; }
	.gdw-aa .aa-mundos__cab { padding: 0 6px; }
	.gdw-aa .aa-mundos__cab p:last-child { display: none; }
	.gdw-aa .aa-mundo { height: calc(100svh - var(--aa-cab) - 4vh); min-height: 560px; }
	.gdw-aa .aa-mundo__in { grid-template-columns: minmax(0, 1fr); grid-template-rows: 38% minmax(0, 1fr); border-radius: 28px; }
	.gdw-aa .aa-mundo__foto { margin: 10px 10px 0; border-radius: 20px; }
	.gdw-aa .aa-mundo__txt { padding: 22px 22px 26px; gap: 14px; justify-content: flex-start; }
	.gdw-aa .aa-mundo__h { font-size: clamp(36px, 10vw, 52px); }
	.gdw-aa .aa-mundo__txt p { font-size: 14.5px; line-height: 1.5; }
	.gdw-aa .aa-mundo__num { display: none; }
	.gdw-aa .aa-magia { padding: 11vh var(--aa-lado) 12vh; }
	.gdw-aa .aa-magia__ficha { grid-template-columns: 76px minmax(0, 1fr); padding: 18px; gap: 16px; }
	.gdw-aa .aa-magia__ficha img { width: 76px; height: 76px; border-radius: 16px; }
	.gdw-aa .aa-magia__collage { height: 112vw; margin-top: 4vh; }
	.gdw-aa .aa-magia__f1 { width: 76%; }
	.gdw-aa .aa-magia__f2 { width: 52%; border-width: 6px; bottom: 16%; }
	.gdw-aa .aa-magia__dato { width: 62%; padding: 18px; right: 0; bottom: -4%; }
	.gdw-aa .aa-magia__burbuja { width: 64px; font-size: 24px; left: 6%; top: 4%; }
	.gdw-aa .aa-formacion { padding: 14vh var(--aa-lado) 20vh; }
	.gdw-aa .aa-estela { width: 120px; border-radius: 16px; }
	.gdw-aa .aa-foco { height: 220vh; }
	.gdw-aa .aa-foco__texto { font-size: clamp(24px, 6.6vw, 34px); }
	.gdw-aa .aa-nube { --w: 46vw; }
	.gdw-aa .aa-productos__pista { gap: 7vw; }
	.gdw-aa .aa-productos__intro { width: 82vw; }
	.gdw-aa .aa-prod { width: 84vw; height: min(64svh, 600px); }
	.gdw-aa .aa-prod__foto { border-radius: 26px; }
	.gdw-aa .aa-prod__foto img { object-position: 60% 50%; }
	.gdw-aa .aa-prod__foto::after { background: linear-gradient(0deg, rgba(0, 0, 0, .6), transparent 60%); }
	.gdw-aa .aa-prod__txt { max-width: 86%; bottom: 6%; }
	.gdw-aa .aa-productos__fin { width: 84vw; }
	.gdw-aa .aa-gama { width: 74vw; }
	.gdw-aa .aa-opiniones { padding: 11vh 0 10vh; }
	.gdw-aa .aa-nota { justify-items: start; text-align: left; }
	.gdw-aa .aa-op { width: 82vw; padding: 26px 22px 22px; }
	.gdw-aa .aa-sweet { padding: 22vh var(--aa-lado) 12vh; }
	.gdw-aa .aa-sweet__media { width: 72vw; }
	.gdw-aa .aa-sello { width: 104px; left: -8%; }
	.gdw-aa .aa-sello span { font-size: 22px; }
	.gdw-aa .aa-acordeon summary { grid-template-columns: 38px minmax(0, 1fr) 34px; padding: 18px 0; }
	.gdw-aa .aa-acordeon summary i { width: 34px; height: 34px; }
	.gdw-aa .aa-acordeon details p { padding: 0 6px 20px 48px; font-size: 15px; }
	.gdw-aa .aa-cierre { height: 210vh; }
	.gdw-aa .aa-cierre__fijo { padding-bottom: 6svh; }
	.gdw-aa .aa-cierre__foto { object-position: 50% 50%; }
	.gdw-aa .aa-cierre__txt { gap: 2.2svh; }
	.gdw-aa .aa-cierre__h { font-size: clamp(30px, 8.8vw, 40px); }
	.gdw-aa .aa-cierre__clave { font-size: 16px; }
	.gdw-aa .aa-cierre__tres { gap: 8px; }
	.gdw-aa .aa-cierre__tres li { padding: 9px 15px; font-size: 13.5px; }
}
/* Pantallas bajas (portátil pequeño, móvil de 667 px): el cierre fijo no cabe entero; fuera las avales y titular menor */
@media (max-height: 720px) {
	.gdw-aa .aa-cierre__pie .aa-avales { display: none; }
	.gdw-aa .aa-cierre__txt { gap: 2.2svh; }
	.gdw-aa .aa-cierre__h { font-size: clamp(30px, 4.6vw, 72px); }
	.gdw-aa .aa-cierre__fijo { padding-bottom: 6svh; }
}

/* ---------- 13. Sin movimiento: todo completo y quieto ---------- */
@media (prefers-reduced-motion: reduce) {
	.gdw-aa .aa-hero, .gdw-aa .aa-foco, .gdw-aa .aa-cierre { height: auto; }
	.gdw-aa .aa-hero__fijo, .gdw-aa .aa-foco__fijo, .gdw-aa .aa-cierre__fijo { position: relative; --p: 0; }
	.gdw-aa .aa-hero__fijo { height: max(640px, 100svh); }
	.gdw-aa .aa-cita { position: relative; inset: auto; height: auto; padding: 14vh 8vw; background: var(--aa-ciruela); opacity: 1; }
	.gdw-aa .aa-hero .aa-cita { display: none; }
	.gdw-aa .aa-cita-quieta { display: grid !important; }
	.gdw-aa .aa-w, .gdw-aa .aa-chip { opacity: 1 !important; scale: 1 !important; rotate: 0deg !important; }
	.gdw-aa .aa-foco__fijo { height: auto; padding: 16vh var(--aa-lado); }
	.gdw-aa .aa-cierre__fijo { height: auto; min-height: 100svh; }
	.gdw-aa .aa-cierre__h, .gdw-aa .aa-cierre__clave, .gdw-aa .aa-cierre__tres li, .gdw-aa .aa-cierre__pie { opacity: 1 !important; translate: none !important; }
	.gdw-aa .aa-mundo { position: relative; top: auto; }
	.gdw-aa .aa-productos { height: auto !important; }
	.gdw-aa .aa-productos__fijo { position: relative; height: auto; overflow-x: auto; }
	.gdw-aa .aa-productos__pista { transform: none; padding-top: 14vh; padding-bottom: 14vh; }
}
.gdw-aa .aa-cita-quieta { display: none; }

/* ==========================================================================
   v2 · de marca (06-10-2026): la home deja de ser personal y pasa a ser de marca.
   Contenido de «Nueva web. Oct 26» y del storytelling de Asun Arias.
   ========================================================================== */

/* ---------- 15. Portada de marca: avales y sello ---------- */
.gdw-aa .aa-hero__pre { margin-top: 2.6svh; font-family: var(--aa-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--aa-magenta); }
.gdw-aa .aa-hero--marca .aa-hero__h1 { margin-top: 1.2svh; }
.gdw-aa .aa-hero__lema { margin-top: 1.6svh; font-size: clamp(20px, 1.9vw, 32px); line-height: 1.18; font-weight: 700; max-width: 26ch; }
.gdw-aa .aa-hero--marca .aa-hero__intro { margin: 2svh 0 3svh; font-size: clamp(16px, 1.2vw, 19px); }
.gdw-aa .aa-avales { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 3.2svh; }
.gdw-aa .aa-avales li { display: grid; gap: 3px; padding: 12px 16px 12px 46px; border-radius: 16px; background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 10px 30px rgba(42, 10, 31, .08); position: relative; max-width: 300px; }
.gdw-aa .aa-avales li::before { content: "★"; position: absolute; left: 14px; top: 50%; translate: 0 -50%; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; color: #fff; background: linear-gradient(135deg, #f5c443, #c99a1c); }
.gdw-aa .aa-avales b { font-family: var(--aa-mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 400; color: var(--aa-magenta); }
.gdw-aa .aa-avales span { font-size: 13.5px; line-height: 1.3; font-weight: 700; }
.gdw-aa .aa-avales--claro li { background: rgba(255, 255, 255, .12); color: #fff; box-shadow: none; border: 1px solid rgba(255, 255, 255, .25); }
.gdw-aa .aa-avales--claro b { color: var(--aa-chicle); }
.gdw-aa .aa-hero__sello { position: absolute; z-index: 4; left: calc(var(--x0) - var(--w0) / 2 - 64px); top: calc(var(--y0) - var(--h0) / 2 - 4px); width: 150px; opacity: clamp(0, calc(1 - var(--a) * 3), 1); translate: calc(var(--a) * -10vw) 0; }
.gdw-aa .aa-hero__sello span { font-size: 22px; line-height: .95; text-align: center; }

/* ---------- 16. Trayectoria en cifras: tabla periódica de Asun Arias ---------- */
.gdw-aa .aa-cifras { position: relative; isolation: isolate; overflow: clip; background: var(--aa-crema); padding: 16vh var(--aa-lado) 16vh; }
.gdw-aa .aa-cifras__cab { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3vh 5vw; align-items: end; max-width: 1640px; margin: 0 auto 7vh; }
.gdw-aa .aa-cifras__cab .aa-sec { grid-column: 1 / -1; }
.gdw-aa .aa-cifras__cab .aa-h2 { font-size: clamp(38px, 4.8vw, 88px); }
.gdw-aa .aa-tabla { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; max-width: 1640px; margin: 0 auto; list-style: none; padding: 0; }
.gdw-aa .aa-el { position: relative; overflow: hidden; display: grid; grid-template-rows: auto 1fr auto auto; min-height: clamp(190px, 16vw, 260px); padding: 18px 20px 20px; border-radius: 22px; background: var(--ec); color: #fff; transition: translate .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s, rotate .4s; }
.gdw-aa .aa-el:hover { translate: 0 -8px; rotate: -1.5deg; box-shadow: 0 26px 50px color-mix(in srgb, var(--ec) 45%, transparent); }
.gdw-aa .aa-el--oscuro { color: var(--aa-ciruela); }
.gdw-aa .aa-el__n { font-family: var(--aa-mono); font-size: 12px; opacity: .8; }
.gdw-aa .aa-el__s { position: absolute; right: 14px; top: 6px; font-size: clamp(54px, 5.4vw, 96px); font-weight: 800; line-height: 1; opacity: .2; }
.gdw-aa .aa-el__v { align-self: end; font-size: clamp(34px, 3.4vw, 60px); line-height: 1; font-weight: 800; }
.gdw-aa .aa-el__t { margin-top: 8px; font-size: 14px; line-height: 1.3; font-weight: 700; max-width: 18ch; }
/* el símbolo de cada elemento: aa.js mete cada letra en .aa-el__l, las baraja y las deja caer en su sitio al aparecer la tarjeta */
.gdw-aa .aa-el__s { display: flex; transition: opacity .4s, scale .4s; transform-origin: 100% 0; }
.gdw-aa .aa-el__l { display: inline-block; min-width: .5em; text-align: center; }
.gdw-aa .aa-el:hover .aa-el__s { opacity: .34; scale: 1.06; }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aa .aa-el .aa-el__l { opacity: 0; transform: translateY(70%) rotate(-14deg) scale(.6); }
	.aa-js .gdw-aa .aa-el.is-in .aa-el__l { animation: aaLetra .9s cubic-bezier(.2, 1.4, .4, 1) both; animation-delay: calc(var(--rd, 0s) + .25s + var(--li, 0) * 110ms); }
}
@keyframes aaLetra {
	0% { opacity: 0; transform: translateY(70%) rotate(-14deg) scale(.6); }
	55% { opacity: 1; }
	100% { opacity: 1; transform: none; }
}

/* ---------- 17. Pionera: las tarjetas apiladas, con cabecera grande ---------- */
.gdw-aa .aa-mundos__cab--grande { align-items: end; }
.gdw-aa .aa-pionera .aa-mundo__h { font-size: clamp(34px, 3.6vw, 68px); max-width: 14ch; }
.gdw-aa .aa-mundos__cab--grande .aa-h2 { font-size: clamp(38px, 4.8vw, 88px); margin-top: 2svh; max-width: 18ch; }
.gdw-aa .aa-mundos__cab--grande > p { font-size: 17px !important; font-family: var(--aa-letra) !important; letter-spacing: 0 !important; text-transform: none !important; font-weight: 700; max-width: 22ch; text-align: right; opacity: 1 !important; color: var(--aa-magenta); }

/* ---------- 18. Metodología: enfoque 360 en órbita ---------- */
/* mismo fondo que «El criterio», que va justo antes (tintas, moléculas y nubes con el scroll), para que se lean como uno:
   la nube de la unión sube sobre el final de «El criterio» (por eso no se recorta en vertical) y el dibujo de moléculas
   sigue donde lo deja la escena fija de 100svh */
.gdw-aa .aa-metodo { position: relative; isolation: isolate; background: var(--aa-rosa); padding: 16vh var(--aa-lado); overflow-x: clip; overflow-y: visible; }
.gdw-aa .aa-metodo .aa-fondo { z-index: -1; }
.gdw-aa .aa-metodo .aa-moleculas { background-position: 0 100svh; }
.gdw-aa .aa-metodo__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 6vw; align-items: center; max-width: 1640px; margin: 0 auto; }
.gdw-aa .aa-metodo__txt { display: grid; gap: 3.4svh; justify-items: start; }
.gdw-aa .aa-metodo__claves { display: grid; gap: 14px; width: 100%; max-width: 560px; }
.gdw-aa .aa-metodo__claves li { padding: 18px 22px; border-radius: 20px; background: rgba(255, 255, 255, .7); font-size: 15.5px; line-height: 1.5; }
.gdw-aa .aa-metodo__claves b { display: block; font-size: 18px; margin-bottom: 4px; color: var(--aa-magenta); }
.gdw-aa .aa-orbita { --giro: calc(var(--p, .5) * 140deg - 70deg); position: relative; width: min(44vw, 640px); aspect-ratio: 1; justify-self: center; }
.gdw-aa .aa-orbita__anillo { position: absolute; inset: 9%; border-radius: 50%; border: 1.5px dashed rgba(42, 10, 31, .28); }
.gdw-aa .aa-orbita__anillo::after { content: ""; position: absolute; inset: 14%; border-radius: 50%; border: 1px solid rgba(195, 0, 102, .18); }
.gdw-aa .aa-orbita__centro { position: absolute; inset: 31%; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; background: var(--aa-magenta); color: #fff; display: grid; place-content: center; text-align: center; padding: 8%; box-shadow: 0 30px 70px rgba(195, 0, 102, .35); }
.gdw-aa .aa-orbita__centro b { font-size: clamp(40px, 4.4vw, 76px); line-height: 1; font-weight: 800; }
.gdw-aa .aa-orbita__centro span { font-size: clamp(12px, 1vw, 15px); line-height: 1.3; margin-top: 6px; font-weight: 700; }
.gdw-aa .aa-orbita__giro { position: absolute; inset: 0; list-style: none; padding: 0; margin: 0; rotate: var(--giro); }
.gdw-aa .aa-orbita__giro li { --ang: calc(var(--k) * 45deg - 90deg); position: absolute; left: calc(50% + var(--rad, 41%) * cos(var(--ang))); top: calc(50% + var(--rad, 41%) * sin(var(--ang))); translate: -50% -50%; }
/* pastillas: cristal blanco con el icono del área en su color, sombra de ese color, flotan un poco y entran una a una
   (--e, con el --p de la órbita); al pasar el ratón se llenan de color. Unos radios finos las unen con el centro */
.gdw-aa .aa-orbita__giro::before {
	content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
	background: repeating-conic-gradient(from -.4deg, rgba(195, 0, 102, .4) 0 .8deg, transparent .8deg 45deg);
	-webkit-mask: radial-gradient(closest-side, transparent 40%, #000 46%, #000 70%, transparent 80%);
	mask: radial-gradient(closest-side, transparent 40%, #000 46%, #000 70%, transparent 80%);
}
.gdw-aa .aa-orbita__giro span {
	--e: clamp(0, calc((var(--p, 1) - .08 - var(--k, 0) * .025) * 9), 1);
	display: inline-flex; align-items: center; gap: 10px; white-space: nowrap; padding: 7px 18px 7px 7px; border-radius: 999px;
	background: rgba(255, 255, 255, .74); -webkit-backdrop-filter: blur(12px) saturate(1.4); backdrop-filter: blur(12px) saturate(1.4);
	border: 1px solid rgba(255, 255, 255, .95); color: var(--aa-ciruela); font-size: clamp(13px, 1.02vw, 16px); font-weight: 700; line-height: 1.2;
	box-shadow: 0 16px 34px -12px color-mix(in srgb, var(--oc) 60%, transparent), 0 2px 6px rgba(42, 10, 31, .06), inset 0 1px 0 #fff;
	rotate: calc(var(--giro) * -1); opacity: var(--e); scale: calc(.6 + var(--e) * .4);
	transition: background-color .3s, color .3s, box-shadow .3s;
}
.gdw-aa .aa-orbita__ico {
	flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; color: #fff;
	background: radial-gradient(circle at 32% 28%, color-mix(in srgb, var(--oc) 62%, #fff), var(--oc) 72%);
	box-shadow: 0 5px 12px color-mix(in srgb, var(--oc) 45%, transparent); transition: background .3s;
}
.gdw-aa .aa-orbita__ico svg { width: 18px; height: 18px; }
.gdw-aa .aa-orbita__giro li:nth-child(8n+1) span { --oc: var(--aa-magenta); }
.gdw-aa .aa-orbita__giro li:nth-child(8n+2) span { --oc: var(--aa-naranja); }
.gdw-aa .aa-orbita__giro li:nth-child(8n+3) span { --oc: #008840; }
.gdw-aa .aa-orbita__giro li:nth-child(8n+4) span { --oc: var(--aa-azul); }
.gdw-aa .aa-orbita__giro li:nth-child(8n+5) span { --oc: #e3a000; }
.gdw-aa .aa-orbita__giro li:nth-child(8n+6) span { --oc: var(--aa-lila); }
.gdw-aa .aa-orbita__giro li:nth-child(8n+7) span { --oc: #2f8fd8; }
.gdw-aa .aa-orbita__giro li:nth-child(8n+8) span { --oc: var(--aa-malva); }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aa .aa-orbita__giro span { animation: aaFlota 3.4s ease-in-out infinite alternate; animation-delay: calc(var(--k, 0) * -.85s); }
}
/* transform va después del giro contrario (rotate), así que flota en vertical en la pantalla */
@keyframes aaFlota { from { transform: translateY(-5px); } to { transform: translateY(5px); } }
@media (hover: hover) {
	.gdw-aa .aa-orbita__giro span:hover { background: var(--oc); color: #fff; box-shadow: 0 18px 38px -10px color-mix(in srgb, var(--oc) 75%, transparent); }
	.gdw-aa .aa-orbita__giro span:hover .aa-orbita__ico { background: rgba(255, 255, 255, .22); }
}

/* ---------- 19. Trayectoria docente: programas ---------- */
.gdw-aa .aa-docencia { position: relative; isolation: isolate; overflow: clip; background: var(--aa-crema); padding: 16vh var(--aa-lado); }
.gdw-aa .aa-docencia__cab { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3vh 5vw; align-items: end; max-width: 1640px; margin: 0 auto 7vh; }
.gdw-aa .aa-docencia__cab .aa-sec { grid-column: 1 / -1; }
.gdw-aa .aa-docencia__cab .aa-h2 { font-size: clamp(38px, 4.8vw, 88px); }
.gdw-aa .aa-docencia__firma { display: flex; align-items: center; gap: 16px; padding: 14px; border-radius: 22px; background: #fff; box-shadow: 0 18px 40px rgba(42, 10, 31, .08); }
.gdw-aa .aa-docencia__firma img { width: 84px; height: 84px; border-radius: 18px; object-fit: cover; }
.gdw-aa .aa-docencia__firma p { font-size: 14px; line-height: 1.4; }
.gdw-aa .aa-docencia__firma b { display: block; font-size: 18px; }
.gdw-aa .aa-programas { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1640px; margin: 0 auto; }
.gdw-aa .aa-programa { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 16px; padding: 30px 30px 32px; border-radius: 32px; background: var(--pf); color: var(--pt, #fff); min-height: 560px; transition: translate .4s cubic-bezier(.2, .8, .2, 1); }
.gdw-aa .aa-programa:hover { translate: 0 -8px; }
.gdw-aa .aa-programa::after { content: ""; position: absolute; z-index: -1; right: -22%; top: -18%; width: 70%; aspect-ratio: 1; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43%; background: var(--pc); opacity: .45; }
.gdw-aa .aa-programa--df { --pf: var(--aa-magenta); --pc: var(--aa-chicle); }
.gdw-aa .aa-programa--mn { --pf: #6e3a82; --pc: #c7a6dc; }
.gdw-aa .aa-programa--fc { --pf: #fff; --pt: var(--aa-ciruela); --pc: var(--aa-rosa); }
.gdw-aa .aa-programa__tag { font-family: var(--aa-mono); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.gdw-aa .aa-programa h3 { font-size: clamp(30px, 2.6vw, 46px); line-height: .98; max-width: 12ch; }
.gdw-aa .aa-programa > p:not(.aa-programa__tag) { font-size: 15.5px; line-height: 1.55; }
.gdw-aa .aa-programa__temas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto !important; }
.gdw-aa .aa-programa__temas li { padding: 7px 12px; border-radius: 999px; font-size: 12.5px; font-weight: 700; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .3); }
.gdw-aa .aa-programa--fc .aa-programa__temas li { background: var(--aa-rosa); border-color: transparent; }
.gdw-aa .aa-programa .aa-btn { align-self: flex-start; }
/* máscara circular que se abre desde el centro de la pantalla al bajar, como «Del Nº1 al Nº10» de Sweet (Mario, 06-10-2026).
   La sección se monta sobre la última pantalla de la anterior (margen de -100svh, transparente ahí) y se queda fija
   arriba mientras el círculo se abre (un hueco de 100svh detrás de ella da el recorrido). aa.js pone --m (0 → 1)
   y --cy (centro de la pantalla). Los clics fuera del círculo pasan a la sección de debajo. */
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aa-docencia.e-con { margin-top: -100svh; position: relative; z-index: 2; pointer-events: none; background: linear-gradient(to bottom, transparent 0, transparent 100svh, var(--aa-rosa) 100svh); }
	.aa-js .gdw-aa .aa-docencia[data-aa-mascara] { position: sticky; top: 0; pointer-events: auto; clip-path: circle(calc(var(--m, 0) * var(--m, 0) * 120vmax) at 50% var(--cy, 50vh)); }
	.aa-js :has(> .aa-docencia[data-aa-mascara])::after { content: ""; display: block; height: 100svh; pointer-events: none; }
}
.elementor-editor-active .gdw-aa-docencia.e-con { margin-top: 0 !important; background: none !important; pointer-events: auto !important; }
.elementor-editor-active .gdw-aa .aa-docencia[data-aa-mascara] { position: relative !important; clip-path: none !important; }
.elementor-editor-active :has(> .aa-docencia[data-aa-mascara])::after { display: none !important; }
.gdw-aa .aa-formacion__sub { font-family: var(--aa-mono); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--aa-rosa); margin-top: -1svh !important; }
/* Formación v2: la sección se queda fija (marco sticky de 100svh dentro de 260vh) mientras «Más de 3.000 farmacias
   formadas» entra letra a letra: cada palabra es una caja de la altura de su línea que hace de máscara y cada letra sube
   desde abajo dentro de ella, una tras otra, al ritmo del scroll (--q sale del --p de la escena: 0 al fijarse, 1 al 70 %
   del recorrido; luego queda quieta un poco). Después aparecen el subtítulo, el botón y la pista. La estela de fotos y el
   brillo del ratón van en el marco fijo. El titular se limita por el alto de la pantalla para que quepa entero */
/* place-items: normal: con el «center» de la versión anterior, Chrome centra también a los hijos de un bloque y el marco
   se encogía al ancho del texto (la cinta y el brillo dejaban de ir de borde a borde) */
.gdw-aa .aa-formacion.aa-formacion--fija { height: 260vh; min-height: 0; display: block; place-items: normal; padding: 0; background: var(--aa-ciruela); }
.gdw-aa .aa-formacion__fijo {
	position: sticky; top: 0; height: 100svh; overflow: clip; isolation: isolate; display: grid; place-items: center;
	padding: calc(var(--aa-cab) + 2svh) var(--aa-lado) calc(7vh + 90px);
	background: radial-gradient(60vmax 60vmax at var(--gx, 50%) var(--gy, 40%), rgba(236, 0, 140, .32), transparent 60%), var(--aa-ciruela);
}
.gdw-aa .aa-formacion--fija .aa-formacion__txt { gap: 2.6svh; }
.gdw-aa .aa-formacion--fija .aa-formacion__h { font-size: clamp(48px, min(10vw, 15.5svh), 190px); --q: clamp(0, calc((var(--p, 1) - .04) / .66), 1); }
.gdw-aa [data-aa-letras] .aa-ml { display: inline-block; overflow: clip; vertical-align: top; white-space: nowrap; padding: .14em .04em .16em; margin: -.14em -.04em -.16em; }
.gdw-aa [data-aa-letras] .aa-lt { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
	/* cada letra recorre .22 de --q; el arranque se reparte entre todas (--nlt), así la última acaba justo en 1 */
	.aa-js .gdw-aa [data-aa-letras] .aa-lt { --s: calc(.78 / max(var(--nlt, 20) - 1, 1)); --k: clamp(0, calc((var(--q, 1) - var(--li, 0) * var(--s)) / .22), 1); transform: translateY(calc((1 - var(--k)) * 135%)); will-change: transform; }
	.aa-js .gdw-aa .aa-formacion--fija :is(.aa-formacion__sub, .aa-btn, .aa-formacion__pista) { --e: clamp(0, calc((var(--p, 1) - .62) * 6), 1); opacity: var(--e); translate: 0 calc((1 - var(--e)) * 24px); }
	.aa-js .gdw-aa .aa-formacion--fija .aa-formacion__pista { opacity: calc(var(--e) * .6); }
}
@media (max-width: 767px) {
	.gdw-aa .aa-formacion.aa-formacion--fija { height: 230vh; }
	.gdw-aa .aa-formacion__fijo { padding-bottom: calc(7vh + 80px); }
}
@media (prefers-reduced-motion: reduce) {
	.gdw-aa .aa-formacion.aa-formacion--fija { height: auto; }
	.gdw-aa .aa-formacion__fijo { position: relative; height: auto; min-height: 100svh; }
}
.elementor-editor-active .gdw-aa .aa-formacion.aa-formacion--fija { height: auto !important; }
.elementor-editor-active .gdw-aa .aa-formacion__fijo { position: relative; height: auto; min-height: 100svh; }

/* ---------- 20. Reconocimientos y prensa (oscura) ---------- */
.gdw-aa .aa-prensa { position: relative; overflow: clip; background: var(--aa-ciruela); color: #fff; padding: 16vh var(--aa-lado) 0; }
.gdw-aa .aa-prensa .aa-h2 em { color: var(--aa-chicle); }
.gdw-aa .aa-prensa__premios { max-width: 1640px; margin: 0 auto; display: grid; gap: 3vh; }
.gdw-aa .aa-prensa__premios .aa-h2 { font-size: clamp(38px, 4.8vw, 88px); max-width: 18ch; }
.gdw-aa .aa-premios { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 3vh; }
.gdw-aa .aa-premio { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; min-height: 360px; padding: 30px; border-radius: 30px; background: linear-gradient(160deg, #4a0f35, #2a0a1f 70%); border: 1px solid rgba(255, 255, 255, .14); }
.gdw-aa .aa-premio h3 { font-size: clamp(24px, 2vw, 34px); line-height: 1.05; margin-top: auto; }
.gdw-aa .aa-premio p { font-size: 15px; opacity: .85; }
.gdw-aa .aa-premio__quien { font-family: var(--aa-mono); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--aa-chicle); opacity: 1 !important; }
.gdw-aa .aa-premio__medalla { width: 104px; aspect-ratio: 1; border-radius: 50%; display: grid; place-items: center; font-size: 30px; font-weight: 800; color: #fff; background: radial-gradient(circle at 35% 30%, #ff7ec0, var(--aa-magenta) 60%); box-shadow: 0 0 0 8px rgba(255, 255, 255, .06), 0 0 0 9px rgba(255, 255, 255, .2), 0 20px 40px rgba(0, 0, 0, .35); }
.gdw-aa .aa-premio--oro .aa-premio__medalla { background: radial-gradient(circle at 35% 30%, #ffe9a8, #e2b13c 55%, #a8791a); color: #4a2f00; font-size: 26px; }
.gdw-aa .aa-premio--foto { padding: 0; border: 0; }
.gdw-aa .aa-premio--foto img { width: 100%; height: 100%; object-fit: cover; }
.gdw-aa .aa-prensa__medios { max-width: 1640px; margin: 14vh auto 0; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 6vw; align-items: center; }
.gdw-aa .aa-prensa__txt { display: grid; gap: 3svh; justify-items: start; }
.gdw-aa .aa-prensa__temas { display: flex; flex-wrap: wrap; gap: 8px; }
.gdw-aa .aa-prensa__temas li { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .3); font-size: 13.5px; font-weight: 700; }
.gdw-aa .aa-prensa__foto { overflow: hidden; border-radius: 34px; aspect-ratio: 4 / 3; }
.gdw-aa .aa-prensa__foto img { width: 100%; height: 100%; object-fit: cover; }
.gdw-aa .aa-logos { margin: 12vh calc(var(--aa-lado) * -1) 0; padding: 4vh 0; border-top: 1px solid rgba(255, 255, 255, .12); overflow: hidden; }
.gdw-aa .aa-logos__pista { display: flex; width: max-content; }
.gdw-aa .aa-logos__pista span { font-size: clamp(40px, 5vw, 84px); font-weight: 800; white-space: nowrap; padding: 0 .5em; color: rgba(255, 255, 255, .85); display: inline-flex; align-items: center; gap: 1em; }
.gdw-aa .aa-logos__pista span::after { content: "✦"; font-size: .4em; color: var(--aa-chicle); }
@media (prefers-reduced-motion: no-preference) { .gdw-aa .aa-logos__pista { animation: aaCinta 30s linear infinite; } }

/* ---------- 21. Divulgación y universo: tarjetas con foto ---------- */
.gdw-aa .aa-divulga, .gdw-aa .aa-universo { position: relative; background: var(--aa-crema); padding: 16vh var(--aa-lado) 8vh; }
.gdw-aa .aa-universo { padding-top: 8vh; padding-bottom: 16vh; }
.gdw-aa .aa-divulga__cab { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 3vh 5vw; align-items: end; max-width: 1640px; margin: 0 auto 6vh; }
.gdw-aa .aa-divulga__cab .aa-sec { grid-column: 1 / -1; }
.gdw-aa .aa-divulga__cab .aa-h2 { font-size: clamp(38px, 4.8vw, 88px); }
.gdw-aa .aa-divulga__rejilla { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .8fr) minmax(0, 1fr); grid-template-rows: repeat(2, minmax(260px, 34vh)); gap: 18px; max-width: 1640px; margin: 0 auto; }
.gdw-aa .aa-tarjeta, .gdw-aa .aa-uni { position: relative; overflow: hidden; isolation: isolate; border-radius: 30px; color: #fff; display: flex; align-items: flex-end; background: var(--aa-ciruela); }
.gdw-aa .aa-tarjeta img, .gdw-aa .aa-uni img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: scale .8s cubic-bezier(.2, .8, .2, 1); }
.gdw-aa .aa-tarjeta:hover img, .gdw-aa .aa-uni:hover img { scale: 1.06; }
.gdw-aa .aa-tarjeta::before, .gdw-aa .aa-uni::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(42, 10, 31, .88) 8%, rgba(42, 10, 31, .25) 60%, transparent); }
.gdw-aa .aa-tarjeta > div, .gdw-aa .aa-uni__txt { padding: 28px; display: grid; gap: 10px; justify-items: start; }
.gdw-aa .aa-tarjeta h3 { font-size: clamp(22px, 1.9vw, 32px); line-height: 1.06; max-width: 22ch; }
.gdw-aa .aa-tarjeta__tag, .gdw-aa .aa-uni__pre { font-family: var(--aa-mono); font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--aa-rosa); }
.gdw-aa .aa-tarjeta__nota { font-size: 13px; opacity: .75; font-style: italic; }
.gdw-aa .aa-tarjeta--alta { grid-row: span 2; }
.gdw-aa .aa-divulga__rejilla > .aa-tarjeta:nth-child(2) { grid-row: span 2; }
.gdw-aa .aa-tarjeta--ig { background: linear-gradient(140deg, var(--aa-fucsia), var(--aa-magenta) 45%, #6e3a82); }
.gdw-aa .aa-tarjeta--ig::before { display: none; }
.gdw-aa .aa-tarjeta--ig .aa-btn { margin-top: 6px; }
.gdw-aa .aa-universo__rejilla { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; max-width: 1640px; margin: 0 auto; }
.gdw-aa .aa-uni { min-height: min(72vh, 680px); }
.gdw-aa .aa-uni img { object-position: 50% 20%; }
.gdw-aa .aa-uni h3 { font-size: clamp(30px, 2.8vw, 48px); line-height: .98; }
.gdw-aa .aa-uni__txt p:not(.aa-uni__pre) { font-size: 15px; line-height: 1.5; max-width: 40ch; }
/* títulos que suben de abajo arriba con la altura de línea como máscara ([data-aa-lineas]; aa.js mete cada palabra
   en .aa-ml > .aa-ml__i y pone --ln, el número de línea). El margen negativo deja sitio a los rasgos de la p y la g */
.gdw-aa .aa-ml { display: inline-block; overflow: clip; vertical-align: top; padding: 0 .04em .16em; margin: 0 -.04em -.16em; }
.gdw-aa .aa-ml__i { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aa [data-aa-lineas] .aa-ml__i { transform: translateY(118%); transition: transform 1.05s cubic-bezier(.2, .85, .25, 1); transition-delay: calc(var(--ln, 0) * .15s); }
	.aa-js .gdw-aa [data-aa-lineas].is-in .aa-ml__i { transform: none; }
	/* la variante ligada al scroll («Más de 3.000 farmacias formadas»): cada línea sube mientras --lp avanza, una tras otra;
	   cada una recorre la mitad de --lp y la separación se reparte entre las líneas que haya (--nl, de aa.js), así la última
	   acaba justo con el recorrido (en el móvil son 4). Al volver a subir la página, se esconden otra vez */
	.aa-js .gdw-aa [data-aa-lineas="scroll"] .aa-ml__i { --s: calc(.5 / max(var(--nl, 3) - 1, 1)); --k: clamp(0, calc((var(--lp, 1) - var(--ln, 0) * var(--s)) / .5), 1); transform: translateY(calc((1 - var(--k)) * 130%)); transition: none; will-change: transform; }
}
/* con interlineado muy justo (.88), los acentos y las astas de la f o la d asoman por arriba de la caja: un poco de aire
   arriba, compensado con margen negativo para no mover nada */
.gdw-aa [data-aa-lineas="scroll"] .aa-ml { padding-top: .14em; margin-top: -.14em; }
/* tarjetas que entran desde la derecha con el scroll ([data-aa-desliza]; aa.js pone --k de 0 a 1 en cada una) */
.gdw-aa .aa-universo { overflow-x: clip; }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aa [data-aa-desliza] > * { transform: translateX(calc((1 - var(--k, 1)) * 70vw)) rotate(calc((1 - var(--k, 1)) * 5deg)); opacity: calc(.2 + var(--k, 1) * .8); will-change: transform; }
}
.elementor-editor-active .gdw-aa [data-aa-desliza] > * { transform: none !important; opacity: 1 !important; }

/* ---------- 22. Empresa: Sweet y Olyvia ---------- */
.gdw-aa .aa-productos__lead { font-family: var(--aa-letra) !important; font-size: clamp(16px, 1.25vw, 19px) !important; letter-spacing: 0 !important; text-transform: none !important; line-height: 1.5; max-width: 38ch; opacity: .9 !important; }
.gdw-aa .aa-prod__foto--tipo { display: grid; place-items: center; background: radial-gradient(circle at 70% 30%, #c7a6dc, #8e4fa0 55%, #4a1f5c); }
.gdw-aa .aa-prod__foto--tipo::after { background: linear-gradient(90deg, rgba(0, 0, 0, .35), transparent 55%); }
.gdw-aa .aa-prod__foto--tipo span { font-size: clamp(90px, 13vw, 240px); font-weight: 800; color: rgba(255, 255, 255, .22); translate: 12% 0; }

/* ---------- 23. v2 en tableta y móvil ---------- */
@media (max-width: 1024px) {
	.gdw-aa .aa-tabla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gdw-aa .aa-cifras__cab, .gdw-aa .aa-docencia__cab, .gdw-aa .aa-divulga__cab, .gdw-aa .aa-metodo__grid, .gdw-aa .aa-prensa__medios { grid-template-columns: minmax(0, 1fr); }
	.gdw-aa .aa-orbita { width: min(80vw, 560px); }
	.gdw-aa .aa-programas, .gdw-aa .aa-premios, .gdw-aa .aa-universo__rejilla { grid-template-columns: minmax(0, 1fr); }
	.gdw-aa .aa-programa { min-height: 0; }
	.gdw-aa .aa-premio--foto { min-height: 300px; }
	.gdw-aa .aa-divulga__rejilla { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: none; grid-auto-rows: minmax(300px, auto); }
	.gdw-aa .aa-tarjeta--alta { grid-column: 1 / -1; grid-row: auto; }
	.gdw-aa .aa-divulga__rejilla > .aa-tarjeta:nth-child(2) { grid-row: auto; }
	.gdw-aa .aa-hero__sello { display: none; }
}
@media (max-width: 767px) {
	.gdw-aa .aa-hero--marca .aa-hero__intro, .gdw-aa .aa-hero__pre { display: none; }
	.gdw-aa .aa-hero__lema { font-size: 18px; }
	.gdw-aa .aa-hero--marca .aa-hero__acciones { margin-top: 2.4svh; }
	.gdw-aa .aa-hero--marca .aa-hero__acciones .aa-btn--linea { display: none; }
	.gdw-aa .aa-avales { gap: 8px; margin-top: 2svh; }
	.gdw-aa .aa-avales li { padding: 9px 12px 9px 40px; max-width: none; }
	.gdw-aa .aa-avales span { font-size: 12.5px; }
	.gdw-aa .aa-hero--marca .aa-hero__fijo { --y0: 80svh; --w0: 66vw; --h0: 72vw; --vy: 47svh; }
	.gdw-aa .aa-cifras, .gdw-aa .aa-docencia, .gdw-aa .aa-metodo, .gdw-aa .aa-divulga { padding: 11vh var(--aa-lado); }
	.gdw-aa .aa-tabla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.gdw-aa .aa-el { min-height: 168px; padding: 14px 16px 16px; border-radius: 18px; }
	.gdw-aa .aa-el__t { font-size: 12.5px; }
	.gdw-aa .aa-mundos__cab--grande { flex-direction: column; align-items: flex-start; }
	.gdw-aa .aa-mundos__cab--grande > p { display: block !important; text-align: left; }
	.gdw-aa .aa-orbita { width: 92vw; margin-top: 4vh; --rad: 34%; }
	.gdw-aa .aa-orbita__giro span { gap: 6px; padding: 4px 11px 4px 4px; font-size: 11.5px; }
	.gdw-aa .aa-orbita__ico { width: 24px; height: 24px; }
	.gdw-aa .aa-orbita__ico svg { width: 13px; height: 13px; }
	.gdw-aa .aa-programa { padding: 24px 22px 26px; border-radius: 26px; }
	.gdw-aa .aa-prensa { padding-top: 11vh; }
	.gdw-aa .aa-premio { min-height: 280px; padding: 24px; }
	.gdw-aa .aa-divulga__rejilla { grid-template-columns: minmax(0, 1fr); }
	.gdw-aa .aa-uni { min-height: 520px; }
}
@media (prefers-reduced-motion: reduce) {
	.gdw-aa .aa-orbita { --giro: 0deg; }
	.gdw-aa .aa-orbita__giro span { opacity: 1; scale: 1; }
}
.elementor-editor-active .gdw-aa .aa-orbita__giro span { opacity: 1; scale: 1; }

/* ---------- 24. Pie de todas las páginas, como el de Sweet (plantilla 37 de Ultimate Addons) ---------- */
/* Widgets nativos con clases gdw-aa-pie__*: se edita desde Elementor y Apariencia → Menús («by Asun», «Formación», «Universo» y «Legal») */
/* las nubes suben por encima del pie (y visible) pero no lo ensanchan (x recortado): la página no se mueve de lado */
footer#colophon, footer#colophon > div { overflow-x: clip !important; overflow-y: visible !important; }
.gdw-aa-pie {
	--pie-tinta: #2a0a1f; --pie-mag: #c30066;
	position: relative; overflow-x: clip !important; overflow-y: visible !important; background: #fff !important; color: var(--pie-tinta);
	font-family: "Helvetica Now Display", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
	padding: 0 clamp(18px, 4.4vw, 72px) 6px !important; --gap: 0px; --row-gap: 0px;
}
.gdw-aa-pie > .e-con, .gdw-aa-pie > .elementor-widget:not(.gdw-aa-pie__nubes-w) { position: relative; z-index: 3; }
.gdw-aa-pie__nubes-w { position: absolute !important; left: 0; right: 0; top: 0; height: 0; z-index: 2; margin: 0 !important; pointer-events: none; }
/* --aa-nw: ancho de las nubes; --aa-nubes-h: lo que suben por encima del pie (la imagen mide 2000 × 917 y su parte de
   arriba, un 29 %, es transparente). La última sección deja ese hueco para que las nubes no tapen su texto (como en Sweet) */
:root { --aa-nw: max(124vw, 1300px); --aa-nubes-h: calc(var(--aa-nw) * .4585 * .27); }
body.aa-home .gdw-aa-cierre.e-con { padding-bottom: var(--aa-nubes-h) !important; background: #2a0a1f; }
body:not(.aa-home) .site-content { padding-bottom: var(--aa-nubes-h); }
.gdw-aa-pie__nubes { position: absolute; left: 50%; top: 0; width: var(--aa-nw); translate: -50% -54%; }
.gdw-aa-pie__nubes img { display: block; width: 100%; height: auto; max-width: none; }
.gdw-aa-pie__nubes img + img { position: absolute; left: 10%; top: 8%; scale: -1 1; opacity: .9; }
.gdw-aa-pie__rejilla { display: grid !important; grid-template-columns: minmax(260px, 3fr) minmax(0, 9fr); gap: clamp(28px, 3vw, 56px) !important; align-items: start; width: 100%; max-width: 1640px; margin: 0 auto; padding: 17vh 0 6vh !important; }
.gdw-aa-pie .e-con { --width: 100%; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.gdw-aa-pie__marca { display: grid !important; gap: 16px !important; align-content: start; min-width: 0; }
.gdw-aa-pie__logo img, .gdw-aa-pie__logo .hfe-site-logo-img { width: 96px !important; max-width: 96px !important; height: auto !important; }
.gdw-aa-pie__texto, .gdw-aa-pie__texto p { margin: 0 !important; max-width: 34ch; font-size: 15px !important; line-height: 1.5 !important; color: var(--pie-tinta) !important; font-family: inherit !important; }
.gdw-aa-pie__btn .elementor-button { display: inline-flex; align-items: center; gap: .6em; padding: 15px 24px !important; border-radius: 999px !important; background: var(--pie-tinta) !important; color: #fff !important; font: 700 14px/1 "Helvetica Now Display", "Inter", Arial, sans-serif !important; letter-spacing: 0 !important; transition: background-color .25s, transform .25s; }
.gdw-aa-pie__btn .elementor-button:hover { background: var(--pie-mag) !important; transform: translateY(-2px); }
/* tres columnas: by Asun, Universo y Contacto (la de Formación se quitó el 07-10-2026; sus elementos van en by Asun) */
.gdw-aa-pie__cols { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 36px) !important; min-width: 0; }
.gdw-aa-pie__col { gap: 10px !important; min-width: 0; width: auto !important; }
.gdw-aa-pie__titulo .elementor-heading-title { margin: 0; font-family: ui-monospace, "SFMono-Regular", "Cascadia Mono", Consolas, monospace !important; font-size: 12px !important; font-weight: 400 !important; letter-spacing: .12em !important; text-transform: uppercase; color: var(--pie-mag) !important; }
.gdw-aa-pie__menu .hfe-nav-menu, .gdw-aa-pie__legal .hfe-nav-menu { background: none !important; }
.gdw-aa-pie__menu a.hfe-menu-item, .gdw-aa-pie__contacto .elementor-icon-list-text { padding: 4px 0 !important; font-family: inherit !important; font-size: 14.5px !important; font-weight: 600 !important; line-height: 1.35 !important; color: var(--pie-tinta) !important; transition: color .2s; }
.gdw-aa-pie__menu a.hfe-menu-item:hover, .gdw-aa-pie__contacto a:hover .elementor-icon-list-text, .gdw-aa-pie__legal a.hfe-menu-item:hover { color: var(--pie-mag) !important; }
.gdw-aa-pie__contacto .elementor-icon-list-icon { display: none !important; }
.gdw-aa-pie__contacto .elementor-icon-list-item { padding: 0 !important; }
.gdw-aa-pie__base { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px 24px !important; width: 100%; max-width: 1640px; margin: 0 auto; padding: 18px 0 10px !important; border-top: 1px solid rgba(42, 10, 31, .12); }
.gdw-aa-pie__legal ul.hfe-nav-menu { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 4px 22px; }
.gdw-aa-pie__legal a.hfe-menu-item { padding: 2px 0 !important; font-family: inherit !important; font-size: 13px !important; font-weight: 600 !important; color: var(--pie-tinta) !important; }
.gdw-aa-pie__copy, .gdw-aa-pie__copy * { margin: 0; font-family: inherit !important; font-size: 13px !important; line-height: 1.45 !important; text-align: center; color: rgba(42, 10, 31, .72) !important; }
.gdw-aa-pie__copy a { font-weight: 700; color: var(--pie-tinta) !important; }
.gdw-aa-pie__redes { justify-self: end; }
.gdw-aa-pie__redes .elementor-social-icons-wrapper { display: flex; gap: 8px; justify-content: flex-end; }
.gdw-aa-pie__redes .elementor-social-icon { width: 38px; height: 38px; display: inline-grid; place-items: center; padding: 0 !important; margin: 0 !important; border-radius: 50%; background: transparent !important; box-shadow: inset 0 0 0 1.5px rgba(42, 10, 31, .22); transition: background-color .25s, box-shadow .25s; }
.gdw-aa-pie__redes .elementor-social-icon svg { width: 16px; height: 16px; fill: var(--pie-tinta) !important; }
.gdw-aa-pie__redes .elementor-social-icon i { font-size: 16px; color: var(--pie-tinta) !important; }
.gdw-aa-pie__redes .elementor-social-icon:hover { background: var(--pie-mag) !important; box-shadow: none; }
.gdw-aa-pie__redes .elementor-social-icon:hover svg { fill: #fff !important; }
.gdw-aa-pie__redes .elementor-social-icon:hover i { color: #fff !important; }
@media (max-width: 1024px) {
	.gdw-aa-pie__rejilla { grid-template-columns: minmax(0, 1fr); }
	.gdw-aa-pie__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 20px !important; }
	.gdw-aa-pie__base { grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center; }
	.gdw-aa-pie__legal ul.hfe-nav-menu { justify-content: center; }
	.gdw-aa-pie__redes { justify-self: center; }
}
@media (max-width: 767px) {
	:root { --aa-nw: 240vw; --aa-nubes-h: calc(var(--aa-nw) * .4585 * .3); }
	.gdw-aa-pie__nubes { translate: -50% -58%; }
	.gdw-aa-pie__rejilla { padding-top: 12vh !important; }
	.gdw-aa-pie__cols > .gdw-aa-pie__col:last-child { grid-column: 1 / -1; }
}

/* ---------- 14. En el editor de Elementor: sin escenas fijas, para poder editar ---------- */
.elementor-editor-active .gdw-aa :is(.aa-hero, .aa-foco, .aa-cierre, .aa-productos) { height: auto !important; }
.elementor-editor-active .gdw-aa :is(.aa-hero__fijo, .aa-foco__fijo, .aa-cierre__fijo, .aa-productos__fijo) { position: relative; }
.elementor-editor-active .gdw-aa .aa-hero__fijo { --p: 0; }
.elementor-editor-active .gdw-aa .aa-mundo { position: relative; top: auto; }

/* ---------- 25. Páginas interiores con widgets nativos (.gdw-aap) · «Sobre mí» (gdw-sm-*, 07-10-2026) ---------- */
/* Cada contenedor de primer nivel lleva .gdw-aap y su clase gdw-sm-<sección>; textos, fotos, colores de fondo y de letra
   se editan en Elementor (son widgets nativos). Aquí van la letra de la marca, los tamaños fluidos, las formas y el
   movimiento, que activa aa.js con clases: aa-escena-fija / aa-escena-paso (--p), aa-palabras, aa-letras,
   aa-letras-entrada, aa-lineas, aa-apila, aa-desliza, aa-horizontal + aa-pista, aa-tono-oscuro y aa-rv */
.gdw-aap {
	--aa-mol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='280' viewBox='0 0 320 280'%3E%3Cg fill='none' stroke='%232a0a1f' stroke-opacity='.07' stroke-width='1.5'%3E%3Cpath d='M70 40l32 18v37l-32 18-32-18V58z'/%3E%3Ccircle cx='70' cy='76' r='17'/%3E%3Cpath d='M102 58l36-21 36 21M174 58v40M70 113v40M70 153l-32 18'/%3E%3Cpath d='M232 170l32 18v37l-32 18-32-18v-37z'/%3E%3Cpath d='M200 188l-38-22M264 188l30-17'/%3E%3C/g%3E%3Cg fill='%232a0a1f' fill-opacity='.08'%3E%3Ccircle cx='174' cy='98' r='6'/%3E%3Ccircle cx='38' cy='171' r='6'/%3E%3Ccircle cx='162' cy='166' r='5'/%3E%3Ccircle cx='294' cy='171' r='4'/%3E%3C/g%3E%3C/svg%3E");
	position: relative;
}
.gdw-aap .elementor-widget-heading .elementor-heading-title,
.gdw-aap .elementor-widget-text-editor,
.gdw-aap .elementor-widget-icon-list .elementor-icon-list-text,
.gdw-aap .elementor-widget-counter .elementor-counter,
.gdw-aap .elementor-widget-button .elementor-button { font-family: var(--aa-letra); }
.gdw-aap .elementor-widget-heading .elementor-heading-title { font-weight: 800; letter-spacing: 0; overflow-wrap: normal; word-break: normal; hyphens: manual; text-wrap: balance; }
.gdw-aap .elementor-heading-title em { font-style: normal; color: var(--aa-magenta); }
.gdw-aap.aa-tono-oscuro .elementor-heading-title em { color: var(--aa-chicle); }
.gdw-aap .elementor-widget-text-editor p { margin: 0 0 1em; }
.gdw-aap .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.gdw-aap a { text-decoration: none !important; }
/* etiqueta de sección «S.01 | Texto» en un widget Título: <i>S.01</i><b><span>Texto</span></b> */
.gdw-aap .gdw-sec .elementor-heading-title { display: inline-flex; align-items: stretch; font: 400 11.5px/1 var(--aa-mono); letter-spacing: .1em; text-transform: uppercase; text-wrap: nowrap; }
.gdw-aap .gdw-sec i { font-style: normal; padding: 6px 8px; border: 1px solid currentColor; border-radius: 5px 0 0 5px; }
.gdw-aap .gdw-sec b { font-weight: 400; padding: 7px 10px 6px; background: currentColor; border-radius: 0 5px 5px 0; }
.gdw-aap .gdw-sec b span { color: var(--aa-crema); }
.gdw-aap.aa-tono-oscuro .gdw-sec b span { color: var(--aa-ciruela); }
/* títulos de sección (gdw-tit: gdw-h2 ya es la Home 2 del tema base) */
.gdw-aap .gdw-tit .elementor-heading-title { font-size: clamp(38px, 4.8vw, 88px); line-height: .96; }
/* botones (widget Botón con gdw-btn; --blanco y --linea) */
.gdw-aap .gdw-btn .elementor-button { display: inline-flex; align-items: center; gap: .7em; height: 56px; padding: 0 30px; border: 0; border-radius: 999px; background: var(--aa-ciruela); color: #fff; font-size: 15px; font-weight: 700; line-height: 1; transition: background-color .25s, color .25s, transform .25s, box-shadow .25s; }
.gdw-aap .gdw-btn .elementor-button-content-wrapper { gap: .7em; }
.gdw-aap .gdw-btn .elementor-button-icon svg { width: .9em; height: .9em; fill: currentColor; }
.gdw-aap .gdw-btn .elementor-button:hover { background: var(--aa-magenta); color: #fff; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(195, 0, 102, .28); }
.gdw-aap .gdw-btn--blanco .elementor-button { background: #fff; color: var(--aa-ciruela); }
.gdw-aap .gdw-btn--blanco .elementor-button:hover { background: var(--aa-rosa); color: var(--aa-ciruela); }
.gdw-aap .gdw-btn--linea .elementor-button { background: transparent; color: #fff; box-shadow: inset 0 0 0 1.5px currentColor; }

/* aparición y máscaras de texto */
.aa-js .gdw-aap .aa-rv { opacity: 0; translate: 0 34px; transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s); }
.aa-js .gdw-aap .aa-rv.is-in { opacity: 1; translate: 0 0; }
/* aa-dN (retrasos) y aa-letras-entrada sirven también en la home (.gdw-aa: la portada, 07-10-2026) */
:is(.gdw-aa, .gdw-aap) .aa-d1 { --rd: .1s; } :is(.gdw-aa, .gdw-aap) .aa-d2 { --rd: .2s; } :is(.gdw-aa, .gdw-aap) .aa-d3 { --rd: .3s; } :is(.gdw-aa, .gdw-aap) .aa-d4 { --rd: .4s; }
:is(.gdw-aa, .gdw-aap) .aa-d6 { --rd: .6s; } :is(.gdw-aa, .gdw-aap) .aa-d8 { --rd: .8s; } :is(.gdw-aa, .gdw-aap) .aa-d10 { --rd: 1s; } :is(.gdw-aa, .gdw-aap) .aa-d12 { --rd: 1.2s; }
:is(.gdw-aa, .gdw-aap) .aa-d14 { --rd: 1.4s; } :is(.gdw-aa, .gdw-aap) .aa-d16 { --rd: 1.6s; }
.gdw-aap :is(.aa-lineas, .aa-letras, .aa-letras-entrada) .aa-ml, .gdw-aa .aa-letras-entrada .aa-ml { display: inline-block; overflow: clip; vertical-align: top; white-space: nowrap; padding: .14em .04em .16em; margin: -.14em -.04em -.16em; }
.gdw-aap .aa-lineas .aa-ml__i, .gdw-aap :is(.aa-letras, .aa-letras-entrada) .aa-lt, .gdw-aa .aa-letras-entrada .aa-lt { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aap .aa-lineas .aa-ml__i { transform: translateY(130%); transition: transform 1.05s cubic-bezier(.2, .85, .25, 1); transition-delay: calc(var(--ln, 0) * .15s); }
	.aa-js .gdw-aap .aa-lineas.is-in .aa-ml__i { transform: none; }
	/* .aa-letras: cada letra sube mientras el título entra en pantalla (--q de aa.js); .aa-letras-entrada: al cargar */
	.aa-js .gdw-aap .aa-letras .aa-lt { --s: calc(.78 / max(var(--nlt, 20) - 1, 1)); --k: clamp(0, calc((var(--q, 1) - var(--li, 0) * var(--s)) / .22), 1); transform: translateY(calc((1 - var(--k)) * 135%)); }
	/* el retraso de cada letra se reparte para que un texto largo entre en algo más de un segundo; --rd (aa-dN) lo escalona
	   y --ti lo retrasa todo en una portada con entrada (aa-intro) */
	/* (--lt-total: lo que tarda en salir la última letra respecto a la primera; 1,1 s si no se dice otra cosa) */
	.aa-js :is(.gdw-aa, .gdw-aap) .aa-letras-entrada .aa-lt { transform: translateY(135%); transition: transform .9s cubic-bezier(.2, .85, .25, 1); transition-delay: calc(var(--ti, 0s) + .15s + var(--rd, 0s) + var(--li, 0) * min(.06s, calc(var(--lt-total, 1.1s) / var(--nlt, 20)))); }
	.aa-js :is(.gdw-aa, .gdw-aap) .aa-letras-entrada.is-in .aa-lt { transform: none; }
	.aa-js .gdw-aap .aa-desliza > * { transform: translateX(calc((1 - var(--k, 1)) * 60vw)) rotate(calc((1 - var(--k, 1)) * 5deg)); opacity: calc(.2 + var(--k, 1) * .8); will-change: transform; }
}
/* palabras que se encienden (aa-palabras) y pastillas (<span class="aa-chip aa-chip--magenta">…</span> en el título) */
.gdw-aap .aa-w { display: inline; }
.gdw-aap .aa-chip {
	--k: clamp(0, calc(var(--q, 1) * (var(--n, 30) + 4) - var(--i, 0)), 1);
	display: inline-block; padding: 0 .32em .06em; border-radius: 999px; color: #fff; background: var(--cc); line-height: 1.12;
	scale: calc(.72 + var(--k) * .28); rotate: calc((1 - var(--k)) * -8deg + var(--rr, -2deg)); transform-origin: 50% 60%;
}
.gdw-aap .aa-chip--magenta { --cc: var(--aa-magenta); }
.gdw-aap .aa-chip--naranja { --cc: var(--aa-naranja); --rr: 2deg; }
.gdw-aap .aa-chip--azul { --cc: var(--aa-azul); --rr: -1deg; }
.gdw-aap .aa-chip--lila { --cc: var(--aa-lila); --rr: 1.5deg; }
/* Elementor da a sus contenedores una transición de .4 s en transform: lo que va con el scroll, sin ella (si no, va con retraso) */
.gdw-aap :is(.aa-pista, .aa-apila).e-con, .gdw-aap .aa-desliza > .e-con { transition: none; }
/* nubes: widgets Imagen con posición absoluta (Avanzado → Posición) y aa-nube aa-nube--1…4; se mueven con el --p de la sección */
.gdw-aap .aa-nube { z-index: -1 !important; pointer-events: none; opacity: .95; translate: calc((var(--p, .5) - .5) * var(--vx, 0) * 1vw) calc((var(--p, .5) - .5) * var(--v, -40) * 1vh); }
.gdw-aap .aa-nube img { width: 100%; height: auto; }
.gdw-aap .aa-nube--1 { --v: -60; --vx: 4; } .gdw-aap .aa-nube--2 { --v: 50; --vx: -5; } .gdw-aap .aa-nube--3 { --v: -80; --vx: -3; } .gdw-aap .aa-nube--4 { --v: 70; --vx: 5; }
/* fondo de tintas y moléculas (como la home) en las secciones con gdw-tintas */
.gdw-aap.gdw-tintas, .gdw-aap .gdw-tintas { isolation: isolate; }
.gdw-aap.gdw-tintas::after, .gdw-aap .gdw-tintas::after {
	content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
	background: radial-gradient(40vmax 40vmax at 86% 16%, rgba(255, 255, 255, .75), transparent 70%), radial-gradient(36vmax 36vmax at 8% 88%, rgba(247, 179, 210, .6), transparent 70%), var(--aa-mol) 0 0 / 320px 280px;
}

/* fondo de la portada de la home en una página interior (gdw-tintas-vivas, Mario, 07-10-2026): sus cuatro tintas (rosa,
   lila, melocotón y amarillo) en dos capas que giran despacio (los ::before y ::after de la sección) y las moléculas quietas */
/* overflow: clip, porque las capas son más grandes que la sección (sin él, la página se movía de lado en el blog) */
.gdw-aap.gdw-tintas-vivas { isolation: isolate; overflow: clip; background-image: var(--aa-mol); background-size: 320px 280px; }
.gdw-aap.gdw-tintas-vivas::before, .gdw-aap.gdw-tintas-vivas::after {
	content: "" !important; position: absolute !important; inset: -12% !important; width: auto !important; height: auto !important; z-index: -1;
	pointer-events: none; opacity: 1 !important; border: 0 !important; border-radius: 0 !important; mix-blend-mode: normal !important; transition: none !important;
}
.gdw-aap.gdw-tintas-vivas::before {
	background:
		radial-gradient(26vmax 26vmax at 17% 22%, rgba(247, 179, 210, .85), rgba(247, 179, 210, .5) 48%, rgba(247, 179, 210, .14) 78%, transparent),
		radial-gradient(17vmax 17vmax at 79% 19%, rgba(227, 198, 242, .6), rgba(227, 198, 242, .36) 48%, rgba(227, 198, 242, .1) 78%, transparent),
		radial-gradient(14vmax 14vmax at 92% 78%, rgba(255, 95, 174, .4), rgba(255, 95, 174, .22) 48%, rgba(255, 95, 174, .06) 78%, transparent);
}
.gdw-aap.gdw-tintas-vivas::after {
	background:
		radial-gradient(20vmax 20vmax at 40% 84%, rgba(255, 210, 184, .65), rgba(255, 210, 184, .39) 48%, rgba(255, 210, 184, .1) 78%, transparent),
		radial-gradient(15vmax 15vmax at 60% 58%, rgba(255, 227, 154, .38), rgba(255, 227, 154, .22) 48%, rgba(255, 227, 154, .06) 78%, transparent);
}
@media (prefers-reduced-motion: no-preference) {
	.gdw-aap.gdw-tintas-vivas::before { animation: aaTintaA 22s ease-in-out infinite alternate; }
	.gdw-aap.gdw-tintas-vivas::after { animation: aaTintaB 28s ease-in-out infinite alternate; }
}
@keyframes aaTintaA { to { transform: rotate(9deg) scale(1.14) translate(3%, -2%); } }
@keyframes aaTintaB { to { transform: rotate(-11deg) scale(1.18) translate(-4%, 3%); } }

/* entrada de portada como la de paulkalkbrenner.net (aa-intro, Mario, 07-10-2026). aa.js mide la foto (.aa-intro__foto):
   --fh su alto (la caja guarda el sitio), --ix e --iy la esquina de la pantalla vista desde ella, --iw e --ih la pantalla;
   pone .aa-intro-activa en <html> y, con la foto ya cargada, .aa-intro--va en la sección y .aa-intro-va en <html>. Entonces:
   la foto, a pantalla completa, se encoge hasta su mancha (0,35 → 1,75 s); la primera palabra del título llega desde la
   izquierda y el resto desde la derecha, se pasan un poco y se recolocan (0,85 → 2,85 s) mientras suben sus letras; los
   demás textos suben letra a letra 1 s más tarde que sin entrada (--ti); las capas rosas y las tarjetas saltan y la cabecera
   baja al final. Si la página no se abre arriba, en el editor o con «reducir movimiento»: .aa-intro--sin, todo en su sitio */
.gdw-aap.aa-intro { --ti: 1s; }
.gdw-aap.aa-intro.aa-intro--sin { --ti: 0s; }
.gdw-aap .aa-intro__foto { position: relative; }
@media (prefers-reduced-motion: no-preference) {
	.aa-intro-activa .gdw-aap.aa-intro:not(.aa-intro--sin) .aa-intro__foto { z-index: 5; height: var(--fh, auto); }
	/* el fondo magenta se ve solo si la foto aún no ha llegado (en el móvil se pide otra medida y tarda más) */
	.aa-intro-activa .gdw-aap.aa-intro:not(.aa-intro--sin) .aa-intro__foto img { position: absolute; max-width: none; left: var(--ix); top: var(--iy); width: var(--iw); height: var(--ih); aspect-ratio: auto; border-radius: 0; background: var(--aa-magenta); }
	.aa-intro-activa .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .aa-intro__foto img { animation: aaIntroFoto 1.4s cubic-bezier(.83, 0, .17, 1) .35s both; }
	/* las letras esperan a que empiece la entrada */
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--va) .aa-letras-entrada .aa-lt { transform: translateY(135%); }
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--sin) .aa-intro__h .elementor-heading-title > em { display: inline-block; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .aa-intro__h .elementor-heading-title > :first-child { animation: aaIntroIzq 2s .85s both; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .aa-intro__h .elementor-heading-title > :not(:first-child) { animation: aaIntroDer 2s .85s both; }
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--sin):not(.aa-intro--va) .aa-intro__media::before { scale: 0; }
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--sin):not(.aa-intro--va) .aa-intro__media::after { scale: 0; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .aa-intro__media::after { animation: aaIntroCapa 1.2s cubic-bezier(.2, 1.3, .4, 1) 1.45s both; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .aa-intro__media::before { animation: aaIntroCapa 1.2s cubic-bezier(.2, 1.3, .4, 1) 1.6s both; }
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--sin):not(.aa-intro--va) .gdw-sm-tarjeta { opacity: 0; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .gdw-sm-tarjeta { animation: aaIntroTarjeta .9s cubic-bezier(.2, 1.4, .4, 1) 1.55s both; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .gdw-sm-tarjeta--2 { animation-delay: 1.7s; }
	/* ritmo (Mario, 07-10-2026: las pastillas y las etiquetas salían vacías y se llenaban casi 2 s después): las letras de
	   la portada se reparten en .6 s; las de cada tarjeta empiezan en cuanto salta (su --ti) y en .35 s; las pastillas
	   saltan enteras, una tras otra, a la vez que sus letras */
	.gdw-aap.aa-intro:not(.aa-intro--sin) { --lt-total: .6s; }
	.gdw-aap.aa-intro:not(.aa-intro--sin) .gdw-sm-tarjeta--1 { --ti: 1.65s; --lt-total: .35s; }
	.gdw-aap.aa-intro:not(.aa-intro--sin) .gdw-sm-tarjeta--2 { --ti: 1.8s; --lt-total: .35s; }
	.aa-js .gdw-aap.aa-intro:not(.aa-intro--sin):not(.aa-intro--va) .gdw-chips .elementor-icon-list-item { opacity: 0; }
	.aa-js .gdw-aap.aa-intro.aa-intro--va:not(.aa-intro--sin) .gdw-chips .elementor-icon-list-item { animation: aaIntroTarjeta .7s cubic-bezier(.2, 1.4, .4, 1) calc(1.7s + var(--ci, 0) * .09s) both; }
	.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(2) { --ci: 1; }
	.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(3) { --ci: 2; }
	.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(4) { --ci: 3; }
	.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(5) { --ci: 4; }
	.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(6) { --ci: 5; }
	html.aa-intro-activa:not(.aa-intro-va) #masthead { opacity: 0; }
	html.aa-intro-va #masthead { animation: aaIntroCab 1s cubic-bezier(.2, .8, .2, 1) 1.9s backwards; }
}
@keyframes aaIntroFoto { to { left: 0; top: 0; width: 100%; height: 100%; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; } }
@keyframes aaIntroIzq { 0% { translate: -3.4em 0; animation-timing-function: cubic-bezier(.16, 1, .3, 1); } 55% { translate: .4em 0; animation-timing-function: cubic-bezier(.65, 0, .35, 1); } 100% { translate: 0 0; } }
@keyframes aaIntroDer { 0% { translate: 3.2em 0; animation-timing-function: cubic-bezier(.16, 1, .3, 1); } 55% { translate: .4em 0; animation-timing-function: cubic-bezier(.65, 0, .35, 1); } 100% { translate: 0 0; } }
@keyframes aaIntroCapa { from { scale: 0; } }
@keyframes aaIntroTarjeta { from { scale: .3; opacity: 0; } }
@keyframes aaIntroCab { from { translate: 0 -140%; opacity: 0; } }

/* 1 · Portada: «¿Quién soy?» letra a letra, la foto en una mancha con capas rosas, dos tarjetas que flotan */
.gdw-aap.gdw-sm-hero { overflow: clip; }
.gdw-aap .gdw-sm-hero__texto strong { color: var(--aa-lila); font-weight: 700; }
.gdw-aap .gdw-sm-hero__h .elementor-heading-title { font-size: clamp(64px, 10.4vw, 196px); line-height: .9; }
.gdw-aap .gdw-sm-hero__lead { font-size: clamp(20px, 1.9vw, 32px); line-height: 1.28; font-weight: 700; max-width: 24ch; }
.gdw-aap .gdw-sm-hero__lead strong { color: var(--aa-magenta); font-weight: 800; }
.gdw-aap .gdw-sm-hero__texto { font-size: clamp(16px, 1.25vw, 20px); line-height: 1.55; max-width: 44ch; }
.gdw-aap .gdw-chips .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 !important; }
.gdw-aap .gdw-chips .elementor-icon-list-item { margin: 0 !important; padding: 10px 18px !important; border-radius: 999px; background: #fff; box-shadow: 0 10px 24px rgba(42, 10, 31, .08); }
.gdw-aap .gdw-chips .elementor-icon-list-item::after { display: none !important; }
.gdw-aap .gdw-chips .elementor-icon-list-text { padding: 0 !important; font-size: 14.5px; font-weight: 700; color: var(--aa-ciruela); }
.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(4n+1) { background: var(--aa-magenta); }
.gdw-aap .gdw-chips .elementor-icon-list-item:nth-child(4n+1) .elementor-icon-list-text { color: #fff; }
/* la foto no pasa del 68 % del alto de la pantalla (en pantallas anchas y bajas era más alta que la pantalla y la
   etiqueta de arriba quedaba debajo del menú); la caja mide lo que la foto, para que las tarjetas sigan en su borde */
.gdw-aap .gdw-sm-hero__media.e-con { position: relative; isolation: isolate; max-width: calc(68svh * 4 / 5); }
.gdw-aap .gdw-sm-hero__media::after { content: ""; position: absolute; z-index: -1; inset: 8% -5% -3% 10%; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43%; background: var(--aa-rosa2); rotate: calc(-10deg + var(--p, .5) * 18deg); }
.gdw-aap .gdw-sm-hero__media::before { content: "" !important; position: absolute !important; z-index: -1; inset: -4% 12% 10% -6% !important; width: auto !important; height: auto !important; opacity: 1 !important; border: 0 !important; border-radius: 52% 48% 58% 42% / 45% 55% 45% 55%; background: var(--aa-rosa) !important; rotate: calc(12deg - var(--p, .5) * 14deg); }
.gdw-aap .gdw-sm-hero__foto { translate: 0 calc((var(--p, .5) - .5) * -9vh); }
.gdw-aap .gdw-sm-hero__foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 30% 35%; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; box-shadow: 0 40px 90px rgba(42, 10, 31, .18); }
/* la foto «Quién soy» de la web antigua (vertical, la cara arriba al centro): encuadre en la mancha y a pantalla completa */
.gdw-aap .gdw-sm-hero__foto img[src*="aa-asun-quien-soy"] { object-position: 47% 20%; }
/* z-index 6: por encima de la foto también durante la entrada (la foto tiene 5 mientras dura) */
.gdw-aap .gdw-sm-tarjeta.e-con { position: absolute; z-index: 6; width: auto; max-width: 240px; padding: 16px 20px; border-radius: 22px; background: #fff; box-shadow: 0 24px 50px rgba(42, 10, 31, .16); }
.gdw-aap .gdw-sm-tarjeta--1 { left: -6%; bottom: 14%; rotate: -4deg; translate: 0 calc((var(--p, .5) - .5) * 16vh); }
.gdw-aap .gdw-sm-tarjeta--2 { right: -4%; top: 10%; rotate: 5deg; background: var(--aa-magenta) !important; translate: 0 calc((var(--p, .5) - .5) * -14vh); }
.gdw-aap .gdw-sm-tarjeta__pre .elementor-heading-title { font: 400 11.5px/1.2 var(--aa-mono); letter-spacing: .1em; text-transform: uppercase; }
.gdw-aap .gdw-sm-tarjeta__t .elementor-heading-title { font-size: clamp(18px, 1.5vw, 24px); line-height: 1.05; }

/* 2 · ¿Quién es Asun Arias? (Mario, 07-10-2026). Escena fija (380svh) que se monta sobre la última pantalla de la portada
   (margin-top: -100svh; la sección no recibe el ratón, solo su parte fija) y se revela con un círculo que se abre desde el
   centro de la pantalla, con un aro de luz en el borde (--m: el primer tercio del --p de la escena). Después el título sube
   letra a letra (aa-letras-escena, con --q) y el vídeo crece desde una tarjeta hasta llenar la pantalla mientras se acerca
   (--z, suavizado en --ze); un velo oscuro deja leer el título encima. aa.js reproduce el vídeo (sin sonido) solo mientras
   se ve, y el botón .aa-sonido le pone o le quita el sonido */
.gdw-aap.gdw-sm-quien {
	--m: clamp(0, calc(var(--p, 1) * 2.8), 1);
	--q: clamp(0, calc((var(--p, 1) - .24) / .2), 1);
	--z: clamp(0, calc((var(--p, 1) - .42) / .46), 1);
	--ze: calc(var(--z) * var(--z) * (3 - 2 * var(--z)));
}
/* moléculas con trazo blanco, para los fondos oscuros («¿Quién es Asun Arias?» y «Reconocimientos») */
.gdw-aap {
	--aa-mol-claro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='280' viewBox='0 0 320 280'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1.5'%3E%3Cpath d='M70 40l32 18v37l-32 18-32-18V58z'/%3E%3Ccircle cx='70' cy='76' r='17'/%3E%3Cpath d='M102 58l36-21 36 21M174 58v40M70 113v40M70 153l-32 18'/%3E%3Cpath d='M232 170l32 18v37l-32 18-32-18v-37z'/%3E%3Cpath d='M200 188l-38-22M264 188l30-17'/%3E%3C/g%3E%3Cg fill='%23ffffff' fill-opacity='.08'%3E%3Ccircle cx='174' cy='98' r='6'/%3E%3Ccircle cx='38' cy='171' r='6'/%3E%3Ccircle cx='162' cy='166' r='5'/%3E%3Ccircle cx='294' cy='171' r='4'/%3E%3C/g%3E%3C/svg%3E");
}
.gdw-aap .gdw-sm-quien__fijo.e-con {
	position: relative; min-height: 100svh; overflow: clip; isolation: isolate;
	background-image: radial-gradient(42vmax 42vmax at 10% 14%, rgba(195, 0, 102, .6), transparent 70%), radial-gradient(34vmax 34vmax at 92% 88%, rgba(142, 79, 160, .55), transparent 70%), radial-gradient(26vmax 26vmax at 84% 8%, rgba(255, 95, 174, .32), transparent 70%), var(--aa-mol-claro);
	background-size: auto, auto, auto, 320px 280px;
}
.gdw-aap .gdw-sm-quien__fijo > :not(.gdw-sm-quien__video):not(.aa-nube) { position: relative; z-index: 2; }
.gdw-aap.gdw-sm-quien .gdw-sec b span { color: var(--aa-ciruela); }
.gdw-aap .gdw-sm-quien__video { position: absolute !important; inset: 0; z-index: 0; width: 100% !important; max-width: none !important; margin: 0 !important; }
.gdw-aap .gdw-sm-quien__video .elementor-wrapper { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; background: var(--aa-ciruela); }
.gdw-aap .gdw-sm-quien__video video { width: 100%; height: 100%; object-fit: cover; }
.gdw-aap .gdw-sm-quien__h .elementor-heading-title { font-size: clamp(44px, 6.6vw, 128px); line-height: .94; max-width: 13ch; }
.gdw-aap .gdw-sm-quien__h .elementor-heading-title em { color: var(--aa-chicle); }
.gdw-aap .gdw-sm-quien__t { font-size: clamp(17px, 1.4vw, 23px); line-height: 1.45; font-weight: 700; max-width: 26ch; }
.gdw-aap .gdw-sm-quien__dur .elementor-heading-title { font: 400 12px/1 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; }
.gdw-aap .gdw-sm-quien__sonido { align-self: flex-start; }
.gdw-aap .gdw-sm-quien__sonido .elementor-button::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--aa-magenta); box-shadow: 0 0 0 4px rgba(195, 0, 102, .25); }
.gdw-aap .gdw-sm-quien__sonido.is-sonando .elementor-button::before { animation: aaLatido 1s ease-in-out infinite; }
@keyframes aaLatido { 50% { box-shadow: 0 0 0 9px rgba(195, 0, 102, 0); } }
.gdw-aap .aa-letras-escena .aa-ml { display: inline-block; overflow: clip; vertical-align: top; white-space: nowrap; padding: .14em .04em .16em; margin: -.14em -.04em -.16em; }
.gdw-aap .aa-letras-escena .aa-lt { display: inline-block; }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aap.gdw-sm-quien.e-con { height: 380svh; margin-top: -100svh; z-index: 3; pointer-events: none; }
	.aa-js .gdw-aap .gdw-sm-quien__fijo.e-con { position: sticky; top: 0; height: 100svh; pointer-events: auto; clip-path: circle(calc(var(--m) * var(--m) * 78vmax) at 50% 50%); }
	/* el aro de luz del borde del círculo (fuera de la pantalla cuando el círculo ya la cubre) */
	.aa-js .gdw-aap .gdw-sm-quien__fijo.e-con::after {
		content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none;
		background: radial-gradient(circle at 50% 50%, transparent calc(var(--m) * var(--m) * 78vmax - 46px), rgba(255, 95, 174, .4) calc(var(--m) * var(--m) * 78vmax - 10px), rgba(255, 255, 255, .95) calc(var(--m) * var(--m) * 78vmax - 2px), transparent calc(var(--m) * var(--m) * 78vmax));
	}
	/* el velo, entre el vídeo y los textos (el ::before de Elementor) */
	.aa-js .gdw-aap .gdw-sm-quien__fijo.e-con::before {
		content: "" !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; z-index: 1; pointer-events: none; border: 0 !important;
		mix-blend-mode: normal !important; transition: none !important; opacity: var(--ze) !important;
		background: linear-gradient(180deg, rgba(42, 10, 31, .82) 0%, rgba(42, 10, 31, .25) 46%, rgba(42, 10, 31, .1) 62%, rgba(42, 10, 31, .7) 100%) !important;
	}
	.aa-js .gdw-aap .aa-letras-escena .aa-lt { --s: calc(.78 / max(var(--nlt, 20) - 1, 1)); --k: clamp(0, calc((var(--q, 1) - var(--li, 0) * var(--s)) / .22), 1); transform: translateY(calc((1 - var(--k)) * 135%)); }
	.aa-js .gdw-aap .gdw-sm-quien :is(.gdw-sm-quien__lado, .gdw-sm-quien__titular .gdw-sec) { opacity: clamp(0, calc((var(--q) - .4) * 2.5), 1); translate: 0 calc((1 - clamp(0, calc((var(--q) - .4) * 2.5), 1)) * 24px); }
	.aa-js .gdw-aap .gdw-sm-quien__video { clip-path: inset(calc((1 - var(--ze)) * 40svh) calc((1 - var(--ze)) * 22vw) calc((1 - var(--ze)) * 9svh) calc((1 - var(--ze)) * 22vw) round calc((1 - var(--ze)) * 36px)); }
	.aa-js .gdw-aap .gdw-sm-quien__video video { scale: calc(1 + var(--ze) * .1); }
	.aa-js .gdw-aap .gdw-sm-quien__sonido { opacity: clamp(0, calc((var(--q) - .6) * 3), 1); }
}

/* 3 · Mi foco, como la rueda de clientes de cominvi.com.mx (Mario, 07-10-2026): escena fija; la frase, línea a línea (los
   .aa-ri del título .aa-rueda; aa.js pone --i a cada una y --n al título), gira en un tambor con el scroll (--a: la línea que
   está delante, de 0 a --n − 1 con el --q de la escena). La de delante, entera; las demás se apagan, se tumban y se alejan.
   A los lados, la regla de marcas (gdw-regla) con las largas siguiendo el avance (--cy) */
.gdw-aap.gdw-sm-foco { height: 400vh; }
.gdw-aap .gdw-sm-foco__fijo.e-con { position: sticky; top: 0; height: 100svh; overflow: clip; --q: clamp(0, calc((var(--p, 1) - .06) / .76), 1); }
.gdw-aap .gdw-sm-foco__rueda.e-con { --lado: 34px; --cy: calc(var(--q, 0) * 100%); flex: 1 1 auto; min-height: 0; }
.gdw-aap .gdw-sm-foco__texto, .gdw-aap .gdw-sm-foco__texto .elementor-heading-title { height: 100%; }
.gdw-aap .aa-rueda .elementor-heading-title {
	--a: calc(var(--q, 0) * (var(--n, 1) - 1)); --R: min(30svh, 290px);
	position: relative; min-height: 52svh; perspective: 1400px; font-size: clamp(30px, 4.7vw, 90px); line-height: 1.04; text-align: center;
}
.gdw-aap .aa-rueda .aa-ri {
	--d: calc(var(--i, 0) - var(--a)); --ad: max(var(--d), -1 * var(--d));
	position: absolute; left: 0; right: 0; top: 50%; display: block; text-wrap: balance; backface-visibility: hidden; will-change: transform, opacity;
	transform: translateY(-50%) translateZ(calc(var(--R) * -1)) rotateX(calc(var(--d) * -22deg)) translateZ(var(--R));
	opacity: calc(clamp(0, 4 - var(--ad), 1) / (1 + var(--ad) * 3));
}
.gdw-aap .aa-rueda .aa-chip { --k: 1; }
/* el cierre de la frase (Mario, 07-10-2026: «ha quedado colgando»): centrado bajo la rueda, estrecho, con una raya magenta
   encima, y aparece cuando la última línea llega delante (--q de la escena). El ancho, con más peso que el max-width: 100 %
   que Elementor pone a los widgets de un contenedor */
.gdw-aap.gdw-sm-foco .gdw-sm-foco__fijo > .elementor-widget.gdw-sm-foco__sub { max-width: min(64ch, 100%); align-self: center; }
/* más atractivo (Mario, 07-10-2026): tarjeta de cristal con la raya magenta arriba; los tres pilares (<strong>) con un
   subrayado de rotulador rosa, naranja y lila que se pinta uno tras otro al bajar (--m, del --p de la escena) y lo
   holístico (<em>) en magenta */
.gdw-aap .gdw-sm-foco__sub {
	--e: clamp(0, calc((var(--q, 1) - .86) * 8), 1);
	position: relative; padding: 34px clamp(22px, 3vw, 48px) 36px; border-radius: 28px;
	background: rgba(255, 255, 255, .62); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	box-shadow: 0 30px 70px -30px rgba(195, 0, 102, .35), inset 0 0 0 1.5px rgba(255, 255, 255, .85);
	font-size: clamp(17px, 1.45vw, 24px); line-height: 1.55; font-weight: 500; text-align: center; text-wrap: balance;
	opacity: var(--e); translate: 0 calc((1 - var(--e)) * 24px);
}
.gdw-aap .gdw-sm-foco__sub::before { content: ""; position: absolute; top: -2px; left: 50%; width: 64px; height: 4px; border-radius: 0 0 4px 4px; background: var(--aa-magenta); translate: -50% 0; scale: var(--e) 1; }
.gdw-aap .gdw-sm-foco__sub strong { font-weight: 700; padding: 0 .1em; -webkit-box-decoration-break: clone; box-decoration-break: clone; background: linear-gradient(var(--hl), var(--hl)) 0 90% / calc(var(--m, 1) * 100%) 44% no-repeat; }
.gdw-aap .gdw-sm-foco__sub strong:nth-of-type(1) { --hl: rgba(255, 95, 174, .4); --m: clamp(0, calc((var(--p, 1) - .76) * 8), 1); }
.gdw-aap .gdw-sm-foco__sub strong:nth-of-type(2) { --hl: rgba(240, 96, 32, .32); --m: clamp(0, calc((var(--p, 1) - .8) * 8), 1); }
.gdw-aap .gdw-sm-foco__sub strong:nth-of-type(3) { --hl: rgba(142, 79, 160, .34); --m: clamp(0, calc((var(--p, 1) - .84) * 8), 1); }
.gdw-aap .gdw-sm-foco__sub em { font-style: normal; font-weight: 700; color: var(--aa-magenta); }
@media (prefers-reduced-motion: reduce) { .gdw-aap .gdw-sm-foco__sub strong { background-size: 100% 44%; } }
.elementor-editor-active .gdw-aap .gdw-sm-foco__sub strong { background-size: 100% 44% !important; }

/* 3 · Rasgos: tres pastillas enormes que caen y se colocan al bajar */
.gdw-aap.gdw-sm-rasgos { overflow: clip; }
.gdw-aap .gdw-sm-rasgo .elementor-heading-title { display: inline-block; padding: .16em .62em .24em; border-radius: 999px; background: var(--cc); font-size: clamp(30px, 5.6vw, 108px); line-height: 1; text-wrap: nowrap; box-shadow: 0 24px 60px rgba(42, 10, 31, .14); }
.gdw-aap .gdw-sm-rasgo { --e: clamp(0, calc((var(--p, 1) - .1 - var(--o, 0)) * 4), 1); translate: 0 calc((1 - var(--e)) * 38vh); rotate: calc((1 - var(--e)) * var(--rr, 14deg) + var(--r0, -2deg)); opacity: calc(.15 + var(--e) * .85); }
.gdw-aap .gdw-sm-rasgo--1 { --cc: var(--aa-magenta); --o: 0; --rr: -16deg; --r0: -3deg; }
.gdw-aap .gdw-sm-rasgo--2 { --cc: var(--aa-naranja); --o: .07; --rr: 18deg; --r0: 2deg; }
.gdw-aap .gdw-sm-rasgo--3 { --cc: var(--aa-lila); --o: .14; --rr: -12deg; --r0: -1.5deg; }

/* 4 · Cifras: contadores nativos en grande */
.gdw-aap .gdw-sm-cifra.e-con { border-top: 1.5px solid rgba(255, 255, 255, .45); }
.gdw-aap .gdw-sm-cifra .elementor-counter { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.gdw-aap .gdw-sm-cifra .elementor-counter-number-wrapper { justify-content: flex-start; font-size: clamp(48px, 5vw, 96px); font-weight: 800; line-height: .9; }
.gdw-aap .gdw-sm-cifra .elementor-counter-title { order: 2; text-align: left; font-size: 15px; line-height: 1.4; font-weight: 700; max-width: 22ch; }
.gdw-aap .gdw-sm-cifra .elementor-counter-number-wrapper { order: 1; }

/* tarjetas que se apilan (aa-apila, pieza disponible): la de debajo se encoge y se oscurece (--c) */
.gdw-aap .aa-apila.e-con { position: sticky; top: calc(var(--aa-cab) + 2vh + var(--n, 0) * 14px); min-height: min(62svh, 600px); transform-origin: 50% 0; transform: scale(calc(1 - var(--c, 0) * .06)); filter: brightness(calc(1 - var(--c, 0) * .22)); box-shadow: 0 -18px 50px rgba(42, 10, 31, .12); overflow: clip; isolation: isolate; }

/* 5b · Reconocimientos (Mario, 07-10-2026: «incluye y destaca mucho estos dos reconocimientos»): dos tarjetas grandes; al
   entrar (aa-rv), la medalla llega girando sobre sí misma y crece; detrás, rayos de su color que giran despacio (el ::before
   de la tarjeta, anulando el de Elementor); un brillo la recorre cada pocos segundos; un «2026» enorme de fondo con
   parallax (--p de la escena) y focos de luz; al pasar el cursor, resplandor de su color (aa-brillo). Colores: --mc y --mc2 */
.gdw-aap.gdw-sm-premios { overflow: clip; isolation: isolate; }
.gdw-aap.gdw-sm-premios.e-con::before {
	content: "" !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; z-index: -2; pointer-events: none;
	opacity: 1 !important; border: 0 !important; mix-blend-mode: normal !important; transition: none !important;
	background: radial-gradient(60vmax 46vmax at 22% -8%, rgba(255, 95, 174, .3), transparent 62%), radial-gradient(52vmax 42vmax at 84% 108%, rgba(245, 196, 67, .2), transparent 62%), var(--aa-mol-claro) 0 0 / 320px 280px !important;
}
.gdw-aap .gdw-sm-premios__ano { position: absolute !important; right: -2vw; bottom: -5vw; z-index: -1; width: auto !important; max-width: none !important; margin: 0 !important; pointer-events: none; translate: 0 calc((var(--p, .5) - .5) * -16vh); }
.gdw-aap .gdw-sm-premios__ano .elementor-heading-title { font-size: 34vw; line-height: .8; font-weight: 800; white-space: nowrap; -webkit-text-fill-color: transparent; -webkit-text-stroke: 2px rgba(255, 255, 255, .08); }
.gdw-aap .gdw-sm-premio.e-con {
	--mc: var(--aa-chicle); --mc2: var(--aa-magenta); --md: clamp(150px, 13vw, 220px); --pad: 48px;
	position: relative; min-height: min(64svh, 600px); overflow: clip; isolation: isolate;
	background: linear-gradient(160deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .02) 55%), color-mix(in srgb, var(--mc2) 16%, var(--aa-ciruela));
	box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--mc) 35%, transparent), 0 40px 90px -40px color-mix(in srgb, var(--mc2) 80%, #000);
	transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), translate .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), box-shadow .5s ease;
}
.gdw-aap .gdw-sm-premio--oro.e-con { --mc: #f5c443; --mc2: #c99a1c; }
.gdw-aap .gdw-sm-premio.e-con::before {
	content: "" !important; position: absolute !important; z-index: -1; width: 760px !important; height: 760px !important;
	left: calc(var(--pad) + var(--md) / 2 - 380px) !important; top: calc(var(--pad) + var(--md) / 2 - 380px) !important; right: auto !important; bottom: auto !important;
	opacity: .9 !important; border: 0 !important; border-radius: 50% !important; mix-blend-mode: normal !important; transition: none !important; pointer-events: none;
	background: repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--mc) 28%, transparent) 0 5deg, transparent 5deg 15deg) !important;
	-webkit-mask: radial-gradient(closest-side, #000 16%, transparent 100%); mask: radial-gradient(closest-side, #000 16%, transparent 100%);
}
.gdw-aap .gdw-sm-premio::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .45s ease; background: radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--mc) 30%, transparent), transparent 70%); }
@media (hover: hover) {
	.gdw-aap .gdw-sm-premio:hover::after { opacity: 1; }
	.gdw-aap .gdw-sm-premio.e-con:hover { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--mc) 70%, transparent), 0 40px 110px -30px var(--mc2); }
}
/* la medalla: un widget Título con su texto («Top<br>50», «Oro») en un círculo con relieve, una corona de puntos y el brillo */
.gdw-aap .gdw-sm-medalla { width: var(--md) !important; max-width: none !important; align-self: flex-start; }
.gdw-aap .gdw-sm-medalla .elementor-heading-title {
	position: relative; display: grid; place-items: center; width: var(--md); aspect-ratio: 1; border-radius: 50%; overflow: hidden; text-align: center;
	font-size: calc(var(--md) * .24); line-height: .9; font-weight: 800;
	background: radial-gradient(circle at 32% 28%, var(--mc), var(--mc2) 62%, color-mix(in srgb, var(--mc2) 70%, #000));
	box-shadow: 0 0 0 calc(var(--md) * .055) color-mix(in srgb, var(--mc) 22%, transparent), 0 24px 60px -18px color-mix(in srgb, var(--mc2) 90%, #000), inset 0 0 0 calc(var(--md) * .035) rgba(255, 255, 255, .25);
}
.gdw-aap .gdw-sm-medalla .elementor-heading-title::before { content: ""; position: absolute; inset: 9%; border-radius: 50%; border: 2px dotted color-mix(in srgb, currentColor 45%, transparent); }
.gdw-aap .gdw-sm-medalla .elementor-heading-title::after { content: ""; position: absolute; inset: -20%; background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .55) 50%, transparent 62%); translate: -120% 0; }
.gdw-aap .gdw-sm-premio__pre .elementor-heading-title { font: 400 13px/1.2 var(--aa-mono); letter-spacing: .14em; text-transform: uppercase; }
.gdw-aap .gdw-sm-premio__t .elementor-heading-title { font-size: clamp(28px, 2.7vw, 50px); line-height: 1.02; max-width: 17ch; }
.gdw-aap .gdw-sm-premio__p { font-size: clamp(15px, 1.15vw, 18px); line-height: 1.5; opacity: .8; }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aap .gdw-sm-premio.e-con::before { animation: aaGiro 50s linear infinite; }
	.gdw-aap .gdw-sm-premio--oro.e-con::before { animation-direction: reverse; }
	.gdw-aap .gdw-sm-medalla .elementor-heading-title::before { animation: aaGiro 30s linear infinite; }
	.gdw-aap .gdw-sm-medalla .elementor-heading-title::after { animation: aaBrilloMedalla 3.6s ease-in-out 1.8s infinite; }
	.aa-js .gdw-aap .gdw-sm-premio .gdw-sm-medalla { transform: perspective(800px) rotateY(-540deg) scale(.35); opacity: 0; transition: transform 1.5s cubic-bezier(.2, .9, .25, 1) calc(var(--rd, 0s) + .25s), opacity .6s ease calc(var(--rd, 0s) + .25s); }
	.aa-js .gdw-aap .gdw-sm-premio.is-in .gdw-sm-medalla { transform: none; opacity: 1; }
}
@keyframes aaBrilloMedalla { 0% { translate: -120% 0; } 45%, 100% { translate: 120% 0; } }

/* 5 · El camino, como los valores de cominvi.com.mx (Mario, 07-10-2026): lista .aa-valores sin escena fija; la fila que
   cruza la mitad de la pantalla se activa (aa.js pone .is-activo): su palabra a todo color (las demás, al 15 %) y su texto
   sube línea a línea (aa-lineas--activa) y se esconde al pasar. A los lados, una regla de marcas (.gdw-regla) con las
   largas, en magenta, siempre en la mitad de la pantalla (--cy de aa.js) */
.gdw-aap.gdw-sm-camino { overflow-x: clip; }
.gdw-aap .aa-valores > .e-con { min-height: 30vh; padding-top: 3vh; padding-bottom: 3vh; }
.gdw-aap .gdw-sm-paso__n .elementor-heading-title { font: 400 13px/1 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; }
.gdw-aap .gdw-sm-paso__h .elementor-heading-title { font-size: clamp(56px, 7.6vw, 150px); line-height: .9; }
.gdw-aap .gdw-sm-paso__t { font-size: clamp(16px, 1.3vw, 21px); line-height: 1.55; max-width: 52ch; }
/* más color (Mario, 07-10-2026): de fondo, un degradado suave de la paleta con las moléculas de las otras secciones; cada
   verbo en su color (el de Elementor, que es el primero del degradado) hacia un segundo color (--c2); detrás de la fila
   activa, una mancha de su color (--cc), y la regla lateral toma ese color */
.gdw-aap.gdw-sm-camino { isolation: isolate; }
.gdw-aap.gdw-sm-camino::after {
	content: ""; position: absolute; inset: 0; z-index: -2; pointer-events: none;
	background: var(--aa-mol) 0 0 / 320px 280px, linear-gradient(172deg, rgba(249, 219, 232, .95) 0%, rgba(255, 248, 243, 0) 26%, rgba(255, 227, 154, .3) 48%, rgba(227, 198, 242, .6) 72%, rgba(247, 179, 210, .85) 100%);
}
.gdw-aap .gdw-sm-paso--1 { --cc: var(--aa-magenta); --c2: var(--aa-naranja); }
.gdw-aap .gdw-sm-paso--2 { --cc: var(--aa-naranja); --c2: #e03050; }
.gdw-aap .gdw-sm-paso--3 { --cc: var(--aa-azul); --c2: var(--aa-lila); }
.gdw-aap .gdw-sm-paso--4 { --cc: var(--aa-lila); --c2: var(--aa-fucsia); }
.gdw-aap .gdw-sm-paso--5 { --cc: var(--aa-fucsia); --c2: var(--aa-chicle); }
/* el degradado va en la letra (background-clip: text); el relleno deja dentro los rasgos de la j y la g */
.gdw-aap .gdw-sm-paso__h .elementor-heading-title { display: inline-block; padding: .12em .04em .16em 0; margin: -.12em -.04em -.16em 0; background-image: linear-gradient(100deg, currentColor 22%, var(--c2, currentColor) 96%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.gdw-aap .gdw-sm-paso__t strong { color: var(--cc, inherit); }
.gdw-aap .gdw-sm-paso.e-con::after { content: ""; position: absolute; z-index: -1; left: -10vw; right: 18%; top: -14vh; bottom: -14vh; pointer-events: none; background: radial-gradient(closest-side, color-mix(in srgb, var(--cc) 24%, transparent), color-mix(in srgb, var(--c2) 8%, transparent) 60%, transparent); opacity: 0; transition: opacity .8s ease; }
.gdw-aap .gdw-sm-paso.e-con.is-activo::after { opacity: 1; }
.gdw-aap .aa-valores:has(> .gdw-sm-paso--2.is-activo) { --aa-act: var(--aa-naranja); }
.gdw-aap .aa-valores:has(> .gdw-sm-paso--3.is-activo) { --aa-act: var(--aa-azul); }
.gdw-aap .aa-valores:has(> .gdw-sm-paso--4.is-activo) { --aa-act: var(--aa-lila); }
.gdw-aap .aa-valores:has(> .gdw-sm-paso--5.is-activo) { --aa-act: var(--aa-fucsia); }
@media (prefers-reduced-motion: no-preference) {
	.aa-js .gdw-aap .aa-valores :is(.gdw-sm-paso__h, .gdw-sm-paso__n) .elementor-heading-title { opacity: .15; transition: opacity .6s ease; }
	.aa-js .gdw-aap .aa-valores .is-activo :is(.gdw-sm-paso__h, .gdw-sm-paso__n) .elementor-heading-title { opacity: 1; }
	.aa-js .gdw-aap .aa-valores .aa-lineas--activa .aa-ml__i { transform: translateY(130%); transition: transform .4s cubic-bezier(.4, 0, .2, 1); }
	.aa-js .gdw-aap .aa-valores .is-activo .aa-lineas--activa .aa-ml__i { transform: none; transition: transform .9s cubic-bezier(.2, .85, .25, 1) calc(.12s + var(--ln, 0) * .07s); }
}
.gdw-aap .gdw-regla { --lado: 52px; position: relative; }
.gdw-aap .gdw-regla::after {
	--t: rgba(42, 10, 31, .24); --m: var(--aa-act, var(--aa-magenta));
	content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--lado) * -1); right: calc(var(--lado) * -1); z-index: 0; pointer-events: none;
	background:
		linear-gradient(var(--m), var(--m)) left 0 top calc(var(--cy, 50%) - 21px) / 16px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) left 0 top calc(var(--cy, 50%) - 11px) / 22px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) left 0 top calc(var(--cy, 50%) - 1px) / 30px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) left 0 top calc(var(--cy, 50%) + 9px) / 22px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) left 0 top calc(var(--cy, 50%) + 19px) / 16px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) right 0 top calc(var(--cy, 50%) - 21px) / 16px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) right 0 top calc(var(--cy, 50%) - 11px) / 22px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) right 0 top calc(var(--cy, 50%) - 1px) / 30px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) right 0 top calc(var(--cy, 50%) + 9px) / 22px 1.5px no-repeat,
		linear-gradient(var(--m), var(--m)) right 0 top calc(var(--cy, 50%) + 19px) / 16px 1.5px no-repeat,
		repeating-linear-gradient(to bottom, var(--t) 0 1px, transparent 1px 10px) left top / 12px 100% no-repeat,
		repeating-linear-gradient(to bottom, var(--t) 0 1px, transparent 1px 10px) right top / 12px 100% no-repeat;
}

/* 6 · Lo aprendido: escena fija con las lecciones en horizontal (aa-horizontal: aa.js da la altura y --dx) */
.gdw-aap .aa-horizontal__fijo.e-con { position: sticky; top: 0; height: 100svh; overflow: clip; justify-content: center; }
.gdw-aap .aa-pista.e-con { --width: max-content; width: max-content; max-width: none; flex-wrap: nowrap; transform: translate3d(calc(var(--dx, 0px) * var(--p, 0) * -1), 0, 0); will-change: transform; }
.gdw-aap .gdw-sm-aprendido__intro.e-con { width: min(34vw, 560px); flex: 0 0 auto; }
/* como las fichas de «Preguntas que nos hacéis (mucho)» de sweetbyasunarias.es (Mario, 07-10-2026): el color de fondo es
   el de Elementor; encima, una mancha de un segundo color (--c2, gdw-sm-leccion--N) arriba a la derecha con dos gotas, una
   nube abajo (widget Imagen gdw-sm-leccion__nube) y el número grande y transparente. Lejos del centro de la pantalla se
   inclinan y encogen un poco, y la mancha y la nube se desplazan (--lp de aa.js: lo lejos que está del centro) */
.gdw-aap .gdw-sm-leccion--1 { --c2: var(--aa-naranja); }
.gdw-aap .gdw-sm-leccion--2 { --c2: var(--aa-fucsia); }
.gdw-aap .gdw-sm-leccion--3 { --c2: var(--aa-chicle); }
.gdw-aap .gdw-sm-leccion--4 { --c2: #ffe39a; }
.gdw-aap .gdw-sm-leccion--5 { --c2: #86c8e8; }
.gdw-aap .gdw-sm-leccion--6 { --c2: #ffe39a; }
.gdw-aap .gdw-sm-leccion.e-con {
	--g: 1;
	--cerca: calc(1 - min(1, max(var(--lp, 0), -1 * var(--lp, 0)) * 1.6));
	width: min(70vw, 560px); height: min(66svh, 560px); flex: 0 0 auto; overflow: clip; isolation: isolate;
	background-image: radial-gradient(circle at 39% 9%, var(--c2) 0 21px, transparent 22px), radial-gradient(circle at 49% 3%, var(--c2) 0 11px, transparent 12px);
	rotate: calc(var(--g) * (1 - var(--cerca)) * 3deg); scale: calc(.92 + var(--cerca) * .08);
	box-shadow: 0 46px 70px -38px color-mix(in srgb, var(--c2) 70%, #000), inset 0 0 0 1.5px rgba(255, 255, 255, .28);
}
.gdw-aap .gdw-sm-leccion:nth-child(odd) { --g: -1; }
.gdw-aap .gdw-sm-leccion.e-con::before {
	content: "" !important; position: absolute !important; z-index: -1; inset: -20% -16% auto auto !important; width: 72% !important; height: auto !important; aspect-ratio: 1;
	opacity: 1 !important; border: 0 !important; mix-blend-mode: normal !important; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43% !important;
	background: radial-gradient(closest-side, var(--c2) 0%, color-mix(in srgb, var(--c2) 70%, transparent) 52%, transparent 100%) !important;
	translate: calc(var(--lp, 0) * 14%) calc(var(--lp, 0) * -6%); transition: scale .6s cubic-bezier(.2, .8, .2, 1) !important;
}
.gdw-aap .gdw-sm-leccion__nube { z-index: -1 !important; pointer-events: none; opacity: .5; translate: calc(var(--lp, 0) * -10%) 0; }
.gdw-aap .gdw-sm-leccion .elementor-heading-title em { color: var(--c2); }
.gdw-aap .gdw-sm-leccion__nube img { width: 100%; height: auto; }
/* al pasar el cursor (Mario, 07-10-2026): un resplandor blanco con un aro del segundo color que sigue al ratón (--mx, --my
   de aa.js en .aa-brillo), un halo de ese color alrededor, la mancha crece y la tarjeta se endereza y sube */
.gdw-aap .gdw-sm-leccion.e-con { transition: rotate .5s cubic-bezier(.2, .8, .2, 1), scale .5s cubic-bezier(.2, .8, .2, 1), translate .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease; }
.gdw-aap .gdw-sm-leccion::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .45s ease; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .62), color-mix(in srgb, var(--c2) 55%, transparent) 34%, transparent 70%); }
@media (hover: hover) {
	.gdw-aap .gdw-sm-leccion.e-con:hover { rotate: 0deg; scale: 1.03; translate: 0 -10px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .6), 0 0 90px -4px var(--c2), 0 46px 70px -38px color-mix(in srgb, var(--c2) 70%, #000); }
	.gdw-aap .gdw-sm-leccion:hover::after { opacity: 1; }
	.gdw-aap .gdw-sm-leccion.e-con:hover::before { scale: 1.25; }
}
.gdw-aap .gdw-sm-leccion__n .elementor-heading-title { font-size: clamp(64px, 6.4vw, 112px); font-weight: 800; line-height: .8; opacity: .3; }
.gdw-aap .gdw-sm-leccion__t .elementor-heading-title { font-size: clamp(28px, 2.9vw, 52px); line-height: 1.08; }
.gdw-aap .gdw-sm-leccion--larga .gdw-sm-leccion__t .elementor-heading-title { font-size: clamp(22px, 2vw, 36px); line-height: 1.16; }
.gdw-aap .gdw-sm-aprendido__pista-txt .elementor-heading-title { font: 400 12px/1.3 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; opacity: .7; }

/* 7 · ¿Qué no haría de nuevo? / ¿Qué haría antes?: dos «Nada.» enormes que suben letra a letra */
.gdw-aap .gdw-sm-nada__q .elementor-heading-title { font-size: clamp(22px, 2vw, 34px); line-height: 1.15; }
.gdw-aap .gdw-sm-nada__nada .elementor-heading-title { font-size: clamp(104px, 14vw, 270px); line-height: .84; }
.gdw-aap .gdw-sm-nada__t { font-size: clamp(16px, 1.2vw, 19px); line-height: 1.6; max-width: 56ch; }
.gdw-aap .gdw-sm-nada__col + .gdw-sm-nada__col { border-left: 1.5px solid rgba(42, 10, 31, .14); }

/* 8 · Nuevas generaciones: foto con parallax y cuatro tarjetas que entran desde la derecha */
.gdw-aap.gdw-sm-recomiendo { overflow-x: clip; }
.gdw-aap .gdw-sm-recomiendo__foto { translate: 0 calc((var(--p, .5) - .5) * -10vh); }
.gdw-aap .gdw-sm-recomiendo__foto img { width: 100%; aspect-ratio: 1; object-fit: cover; object-position: 50% 30%; border-radius: 40px; box-shadow: 0 30px 70px rgba(42, 10, 31, .16); }
.gdw-aap .gdw-sm-reco__n .elementor-heading-title { font: 400 13px/1 var(--aa-mono); letter-spacing: .12em; }
.gdw-aap .gdw-sm-reco__t .elementor-heading-title { font-size: clamp(20px, 1.75vw, 30px); line-height: 1.15; }

/* 9 · Cierre: la ponencia de fondo con zoom al bajar; deja abajo el hueco de las nubes del pie */
.gdw-aap.gdw-sm-cierre { overflow: clip; isolation: isolate; }
.gdw-aap.gdw-sm-cierre::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(0deg, rgba(42, 10, 31, .96) calc(var(--aa-nubes-h) + 4%), rgba(42, 10, 31, .6) 60%, rgba(42, 10, 31, .32)); }
.gdw-aap .gdw-sm-cierre__foto { position: absolute !important; inset: 0; z-index: -2; width: 100% !important; max-width: none !important; height: 100%; margin: 0 !important; }
.gdw-aap .gdw-sm-cierre__foto img { width: 100%; height: 100%; max-width: none; object-fit: cover; scale: calc(1.25 - var(--p, .5) * .25); }
.gdw-aap .gdw-sm-cierre__h .elementor-heading-title { font-size: clamp(46px, 6.4vw, 120px); line-height: .94; }
.e-con.gdw-aap--ultima { padding-bottom: calc(110px + var(--aa-nubes-h)) !important; }

@media (max-width: 1024px) {
	.gdw-aap .gdw-sm-tarjeta--1 { left: 0; }
	.gdw-aap .gdw-sm-tarjeta--2 { right: 0; }
	.gdw-aap .gdw-sm-nada__col + .gdw-sm-nada__col { border-left: 0; border-top: 1.5px solid rgba(42, 10, 31, .14); }
	.gdw-aap .gdw-regla { --lado: 32px; }
}
@media (max-width: 1024px) and (prefers-reduced-motion: no-preference) {
	/* el vídeo, en una tarjeta ancha abajo (en vertical no cabe a los lados del título) */
	.aa-js .gdw-aap .gdw-sm-quien__video { clip-path: inset(calc((1 - var(--ze)) * 48svh) calc((1 - var(--ze)) * 6vw) calc((1 - var(--ze)) * 13svh) calc((1 - var(--ze)) * 6vw) round calc((1 - var(--ze)) * 26px)); }
}
@media (max-width: 767px) {
	.gdw-aap.gdw-sm-foco { height: 340vh; }
	.gdw-aap .gdw-sm-premio.e-con { --pad: 24px; min-height: 0; }
	.gdw-aap .gdw-sm-premios__ano .elementor-heading-title { font-size: 46vw; }
	.gdw-aap .aa-rueda .elementor-heading-title { font-size: clamp(26px, 7.6vw, 34px); line-height: 1.08; }
	.gdw-aap .aa-rueda .aa-ri { padding: 0 2vw; }
	.gdw-aap .gdw-sm-hero__foto img { aspect-ratio: 1; }
	.gdw-aap .gdw-sm-tarjeta.e-con { max-width: 190px; padding: 12px 14px; }
	.gdw-aap .gdw-sm-rasgo .elementor-heading-title { font-size: clamp(24px, 7.4vw, 36px); }
	/* en el móvil, las tarjetas largas no caben en la pantalla: una debajo de otra, sin apilarse */
	.gdw-aap .aa-apila.e-con { position: relative; top: auto; min-height: 0; transform: none; filter: none; }
	.gdw-aap .gdw-regla::after { display: none; }
	.gdw-aap .aa-valores > .e-con { min-height: 0; padding-top: 5vh; padding-bottom: 5vh; }
	.gdw-aap .gdw-sm-aprendido__intro.e-con { width: 82vw; }
	.gdw-aap .gdw-sm-leccion.e-con { width: 82vw; height: min(62svh, 500px); }
	.e-con.gdw-aap--ultima { padding-bottom: calc(70px + var(--aa-nubes-h)) !important; }
}
@media (prefers-reduced-motion: reduce) {
	.gdw-aap.gdw-sm-foco { height: auto; }
	.gdw-aap .gdw-sm-foco__fijo.e-con { position: relative; height: auto; min-height: 100svh; }
	.gdw-aap :is(.aa-w, .aa-chip) { opacity: 1 !important; scale: 1 !important; rotate: 0deg !important; }
	.gdw-aap :is(.gdw-sm-foco__sub, .gdw-sm-rasgo) { opacity: 1 !important; translate: none !important; }
	.gdw-aap .aa-apila.e-con { position: relative; top: auto; transform: none; filter: none; }
	.gdw-aap.aa-horizontal { height: auto !important; }
	.gdw-aap .aa-horizontal__fijo.e-con { position: relative; height: auto; overflow-x: auto; }
	.gdw-aap .aa-pista.e-con { transform: none; }
	/* la rueda, como una lista; el vídeo, de fondo con un velo para leer el título encima */
	.gdw-aap .aa-rueda .elementor-heading-title { min-height: 0; height: auto; }
	.gdw-aap .aa-rueda .aa-ri { position: static; transform: none; opacity: 1; }
	.gdw-aap .gdw-sm-quien__fijo.e-con::before { content: "" !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; z-index: 1; opacity: 1 !important; background: rgba(42, 10, 31, .72) !important; }
}
/* en el editor: nada fijo ni escondido, para poder editar */
.elementor-editor-active .gdw-aap.gdw-sm-foco, .elementor-editor-active .gdw-aap.aa-horizontal { height: auto !important; }
.elementor-editor-active .gdw-aap.gdw-sm-quien.e-con { height: auto !important; margin-top: 0 !important; pointer-events: auto !important; }
.elementor-editor-active .gdw-aap .gdw-sm-quien__fijo.e-con { position: relative !important; height: auto !important; clip-path: none !important; }
.elementor-editor-active .gdw-aap .gdw-sm-quien__video { clip-path: inset(40% 20% 6% 20% round 30px) !important; }
.elementor-editor-active .gdw-aap :is(.gdw-sm-quien__lado, .gdw-sm-quien__sonido, .gdw-sm-quien__titular .gdw-sec) { opacity: 1 !important; translate: none !important; }
.elementor-editor-active .gdw-aap .aa-rueda .elementor-heading-title { min-height: 0 !important; height: auto !important; }
.elementor-editor-active .gdw-aap .aa-rueda .aa-ri { position: static !important; transform: none !important; opacity: 1 !important; }
.elementor-editor-active .gdw-aap .gdw-sm-premio .gdw-sm-medalla { transform: none !important; opacity: 1 !important; }
.elementor-editor-active .gdw-aap :is(.gdw-sm-foco__fijo, .aa-horizontal__fijo, .aa-apila) { position: relative !important; top: auto !important; height: auto !important; transform: none !important; filter: none !important; }
.elementor-editor-active .gdw-aap .aa-pista.e-con { transform: none !important; flex-wrap: wrap; width: 100%; }
.elementor-editor-active .gdw-aap :is(.aa-rv, .aa-lt, .aa-ml__i, .aa-w, .aa-chip, .gdw-sm-rasgo, .gdw-sm-foco__sub) { opacity: 1 !important; transform: none !important; translate: none !important; }
.elementor-editor-active .gdw-aap .aa-valores .elementor-heading-title { opacity: 1 !important; }

/* ---------- 26. Blog: «Consejos & Tips» (listado, página 32) y las entradas (Mario, 07-10-2026) ---------- */
/* Listado: contenedor de Elementor .gdw-aap.gdw-blog.gdw-tintas-vivas (cabecera transparente, letras y fondo como en el
   resto de páginas) con la rejilla de Essential Addons (estilo dos) en tarjetas de la web: blancas, esquinas de 30 px, foto
   que se acerca, categoría en pastilla de color, título en negrita y, al pasar el cursor, la tarjeta sube, se inclina y brilla */
.gdw-aap.gdw-blog .gdw-blog__title .elementor-heading-title { font-size: clamp(56px, 8.6vw, 164px); line-height: .9; }
.gdw-aap.gdw-blog .eael-grid-post { --cc: var(--aa-magenta); --g: -1; }
.gdw-aap.gdw-blog .eael-grid-post:nth-child(4n+2) { --cc: var(--aa-naranja); --g: 1; }
.gdw-aap.gdw-blog .eael-grid-post:nth-child(4n+3) { --cc: var(--aa-lila); }
.gdw-aap.gdw-blog .eael-grid-post:nth-child(4n+4) { --cc: var(--aa-azul); --g: 1; }
.gdw-aap.gdw-blog .eael-grid-post-holder { overflow: hidden; border-radius: 30px !important; background: #fff !important; box-shadow: 0 24px 60px -30px rgba(42, 10, 31, .28); transition: translate .5s cubic-bezier(.2, .8, .2, 1), rotate .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease; }
.gdw-aap.gdw-blog .eael-entry-thumbnail img { transition: scale .8s cubic-bezier(.2, .8, .2, 1); }
.gdw-aap.gdw-blog .eael-entry-overlay { background: linear-gradient(160deg, color-mix(in srgb, var(--cc) 55%, transparent), rgba(42, 10, 31, .5)) !important; }
.gdw-aap.gdw-blog .post-carousel-categories { z-index: 3; }
.gdw-aap.gdw-blog .post-carousel-categories li a { display: inline-block; padding: 8px 13px !important; border-radius: 999px !important; background: var(--cc) !important; color: #fff !important; font: 400 11px/1 var(--aa-mono) !important; letter-spacing: .12em; text-transform: uppercase; }
.gdw-aap.gdw-blog .eael-entry-wrapper { padding: 26px 28px 26px !important; }
.gdw-aap.gdw-blog .eael-entry-title { margin: 0 0 12px !important; }
.gdw-aap.gdw-blog .eael-entry-title a { font: 800 clamp(20px, 1.6vw, 26px)/1.12 var(--aa-letra) !important; letter-spacing: 0 !important; color: var(--aa-ciruela) !important; transition: color .25s; }
.gdw-aap.gdw-blog .eael-grid-post-excerpt p { margin: 0 0 14px !important; font: 400 15px/1.6 var(--aa-letra) !important; color: rgba(42, 10, 31, .72) !important; }
.gdw-aap.gdw-blog .eael-post-elements-readmore-btn { display: inline-flex !important; align-items: center; gap: .5em; font: 700 14px/1 var(--aa-letra) !important; color: var(--cc) !important; }
.gdw-aap.gdw-blog .eael-post-elements-readmore-btn::after { content: "→"; transition: translate .25s; }
.gdw-aap.gdw-blog .eael-entry-header-after { margin-top: 8px; padding-top: 14px; border-top: 1px solid rgba(42, 10, 31, .08); }
.gdw-aap.gdw-blog .eael-entry-meta, .gdw-aap.gdw-blog .eael-entry-meta time { font: 400 11.5px/1.3 var(--aa-mono) !important; letter-spacing: .1em; text-transform: uppercase; color: rgba(42, 10, 31, .55) !important; }
.gdw-aap.gdw-blog .eael-entry-meta i, .gdw-aap.gdw-blog .post-meta-categories { display: none !important; }
@media (hover: hover) {
	.gdw-aap.gdw-blog .eael-grid-post:hover .eael-grid-post-holder { translate: 0 -10px; rotate: calc(var(--g) * 1deg); box-shadow: 0 34px 80px -26px color-mix(in srgb, var(--cc) 60%, transparent), 0 0 0 1.5px color-mix(in srgb, var(--cc) 18%, transparent); }
	.gdw-aap.gdw-blog .eael-grid-post:hover .eael-entry-thumbnail img { scale: 1.07; }
	.gdw-aap.gdw-blog .eael-grid-post:hover .eael-entry-title a { color: var(--cc) !important; }
	.gdw-aap.gdw-blog .eael-grid-post:hover .eael-post-elements-readmore-btn::after { translate: 4px 0; }
}

/* Entradas (plantilla de Astra): aa.js pone .gdw-aap.gdw-entrada en el banner y en el contenido. El banner, en crema con las
   tintas que se mueven (gdw-tintas-vivas), el título enorme letra a letra y la foto destacada en una mancha con capas rosas
   que entra con un zoom; el texto a 70 caracteres con la letra y los colores de la web; la navegación en tarjetas y una barra
   de lectura arriba. Lo básico va sin .gdw-entrada (colores escritos) para que no se vea el banner oscuro antes del JS */
body.single-post .ast-single-entry-banner { display: flex !important; align-items: center; min-height: min(84svh, 820px); padding: calc(var(--gdw-header-h, 90px) + 7vh) clamp(18px, 4.4vw, 72px) 8vh !important; overflow: clip; background-color: #fff8f3 !important; background-image: none !important; }
body.single-post .ast-single-entry-banner.gdw-entrada { background-image: var(--aa-mol) !important; background-size: 320px 280px !important; background-position: 0 0 !important; background-repeat: repeat !important; }
body.single-post .ast-single-entry-banner > .ast-container { display: grid !important; grid-template-columns: minmax(0, 1fr); align-items: center; column-gap: 6vw; width: 100%; max-width: 1640px; margin: 0 auto; padding: 0 !important; text-align: left !important; }
body.single-post .ast-single-entry-banner.gdw-entrada--foto > .ast-container { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
body.single-post .ast-single-entry-banner .entry-title { grid-column: 1; margin: 0 !important; font: 800 clamp(40px, 5vw, 92px)/.98 "Helvetica Now Display", "Inter", Arial, sans-serif !important; letter-spacing: 0 !important; color: #2a0a1f !important; text-wrap: balance; }
body.single-post .ast-single-entry-banner .entry-meta { grid-column: 1; margin-top: 3.4vh !important; font: 400 12px/1 ui-monospace, "SFMono-Regular", Consolas, monospace !important; letter-spacing: .14em; text-transform: uppercase; color: #c30066 !important; }
/* Astra pinta de claro todo lo del banner (.ast-container *): también las letras sueltas del título */
body.single-post .ast-single-entry-banner :is(.entry-title, .entry-meta) * { color: inherit !important; }
body.single-post .ast-single-entry-banner .entry-meta::before { content: ""; display: inline-block; width: 28px; height: 2px; margin-right: 12px; vertical-align: middle; background: currentColor; }
body.single-post .gdw-entrada__foto { grid-column: 2; grid-row: 1 / span 2; position: relative; margin: 0; isolation: isolate; }
body.single-post .gdw-entrada__foto::before { content: ""; position: absolute; z-index: -1; inset: -4% 12% 10% -6%; border-radius: 52% 48% 58% 42% / 45% 55% 45% 55%; background: var(--aa-rosa); rotate: 12deg; }
body.single-post .gdw-entrada__foto::after { content: ""; position: absolute; z-index: -1; inset: 8% -5% -3% 10%; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43%; background: var(--aa-rosa2); rotate: -10deg; }
body.single-post .gdw-entrada__foto img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; box-shadow: 0 40px 90px rgba(42, 10, 31, .18); }
@media (prefers-reduced-motion: no-preference) {
	.aa-js body.single-post .gdw-entrada__foto { animation: aaZoomEntra 1.6s cubic-bezier(.16, 1, .3, 1) .2s both; }
	body.single-post .gdw-entrada__foto img { animation: aaForma 14s ease-in-out infinite alternate; }
	body.single-post .gdw-entrada__foto::before { animation: aaGiro 38s linear infinite; }
	body.single-post .gdw-entrada__foto::after { animation: aaGiro 46s linear infinite reverse; }
}
/* el texto */
body.single-post #content.gdw-entrada { background: #fff8f3; }
body.single-post.aa-home #content.gdw-entrada { padding-bottom: calc(60px + var(--aa-nubes-h)) !important; }
body.single-post .gdw-entrada .entry-content { max-width: 72ch; margin: 0 auto; padding: 9vh 0 3vh; font: 400 clamp(17px, 1.25vw, 20px)/1.75 var(--aa-letra); color: var(--aa-ciruela); }
body.single-post .gdw-entrada .entry-content > p:first-child { font-size: clamp(20px, 1.6vw, 26px); line-height: 1.5; font-weight: 500; }
body.single-post .gdw-entrada .entry-content :is(h2, h3, h4) { font-family: var(--aa-letra); font-weight: 800; letter-spacing: 0; color: var(--aa-ciruela); text-wrap: balance; }
body.single-post .gdw-entrada .entry-content h2 { margin: 2em 0 .6em; font-size: clamp(28px, 2.6vw, 44px); line-height: 1.05; }
body.single-post .gdw-entrada .entry-content h2::before { content: ""; display: block; width: 44px; height: 4px; margin-bottom: 18px; border-radius: 2px; background: var(--aa-magenta); }
body.single-post .gdw-entrada .entry-content h3 { margin: 1.6em 0 .5em; font-size: clamp(22px, 1.8vw, 30px); line-height: 1.15; }
body.single-post .gdw-entrada .entry-content a { color: var(--aa-magenta); text-decoration: underline !important; text-decoration-color: color-mix(in srgb, var(--aa-chicle) 60%, transparent); text-decoration-thickness: 2px; text-underline-offset: 3px; }
body.single-post .gdw-entrada .entry-content strong { font-weight: 700; }
body.single-post .gdw-entrada .entry-content :is(ul, ol) { padding-left: 1.2em; }
body.single-post .gdw-entrada .entry-content li::marker { color: var(--aa-magenta); }
body.single-post .gdw-entrada .entry-content blockquote { position: relative; margin: 2em 0; padding: 30px 34px 30px 76px; border: 0; border-radius: 26px; background: rgba(255, 255, 255, .7); box-shadow: 0 24px 60px -30px rgba(195, 0, 102, .35); font-size: 1.12em; font-weight: 500; font-style: normal; }
body.single-post .gdw-entrada .entry-content blockquote::before { content: "«"; position: absolute; left: 26px; top: 14px; font: 800 64px/1 var(--aa-letra); color: var(--aa-magenta); }
body.single-post .gdw-entrada .entry-content img { border-radius: 24px; }
/* anterior y siguiente, en tarjetas */
body.single-post .gdw-entrada .post-navigation { max-width: 1100px; margin: 3vh auto 8vh; padding: 0 !important; border: 0 !important; }
body.single-post .gdw-entrada .post-navigation .nav-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 20px; }
/* Astra da a cada lado el 50 % de su columna, una raya entre los dos, el enlace al 80 % y el título en una línea con «…»
   (Mario, 07-10-2026: «no están alineados y en el hover el resplandor se corta»): todo eso, fuera */
body.single-post .gdw-entrada .post-navigation, body.single-post .gdw-entrada .post-navigation :is(.nav-links, .nav-previous, .nav-next) { overflow: visible !important; contain: none !important; }
body.single-post .gdw-entrada .post-navigation :is(.nav-previous, .nav-next) { display: flex; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.single-post .gdw-entrada .post-navigation :is(.nav-previous, .nav-next)::before, body.single-post .gdw-entrada .post-navigation :is(.nav-previous, .nav-next)::after { content: none !important; display: none !important; }
body.single-post .gdw-entrada .post-navigation .nav-next { grid-column: 2; text-align: right; }
body.single-post .gdw-entrada .post-navigation :is(.nav-previous, .nav-next) a p { overflow: visible !important; white-space: normal !important; text-overflow: clip !important; text-wrap: balance; }
body.single-post .gdw-entrada .post-navigation a { flex: 1 1 auto; width: 100%; max-width: none !important; display: block; height: 100%; padding: 24px 30px 26px !important; border-radius: 28px; background: #fff; box-shadow: 0 24px 60px -30px rgba(42, 10, 31, .25); text-decoration: none !important; transition: translate .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s; }
body.single-post .gdw-entrada .post-navigation .ast-post-nav { font: 400 12px/1 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--aa-magenta); }
body.single-post .gdw-entrada .post-navigation a p { margin: 10px 0 0; font: 800 clamp(18px, 1.4vw, 22px)/1.2 var(--aa-letra); color: var(--aa-ciruela); }
@media (hover: hover) { body.single-post .gdw-entrada .post-navigation a:hover { translate: 0 -6px; box-shadow: 0 30px 70px -26px rgba(195, 0, 102, .45); } }
/* barra de lectura (scroll-timeline; donde no exista, no sale) */
@supports (animation-timeline: scroll()) {
	@media (prefers-reduced-motion: no-preference) {
		body.single-post::after { content: ""; position: fixed; z-index: 10000; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); height: 4px; background: linear-gradient(90deg, #c30066, #ff5fae); transform-origin: 0 50%; animation: aaLectura linear both; animation-timeline: scroll(root); pointer-events: none; }
	}
}
@keyframes aaLectura { from { scale: 0 1; } to { scale: 1 1; } }
@media (max-width: 767px) {
	body.single-post .ast-single-entry-banner { min-height: 0; padding-top: calc(var(--gdw-header-h, 70px) + 5vh) !important; }
	body.single-post .ast-single-entry-banner.gdw-entrada--foto > .ast-container { grid-template-columns: minmax(0, 1fr); row-gap: 5vh; }
	body.single-post .gdw-entrada__foto { grid-column: 1; grid-row: auto; width: 82%; justify-self: center; }
	body.single-post .gdw-entrada .post-navigation .nav-links { grid-template-columns: minmax(0, 1fr); }
	body.single-post .gdw-entrada .post-navigation .nav-next { grid-column: 1; }
}

/* ---------- 27. Medios & Prensa: sala de prensa (página 468 · Mario, 07-10-2026) ---------- */
/* Tarjetas de las rejillas de entradas (Consejos & Tips y Medios & Prensa): cada una aparece sola al entrar en pantalla, con
   un fundido, un poco de subida y de zoom; aa.js les pone aa-rv aa-tarjeta-rv y escalona (--rd) las que entran a la vez */
.aa-js .gdw-aap .eael-grid-post.aa-tarjeta-rv { opacity: 0; translate: 0 60px; scale: .94; transition: opacity 1s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), translate 1.1s cubic-bezier(.16, 1, .3, 1) var(--rd, 0s), scale 1.1s cubic-bezier(.16, 1, .3, 1) var(--rd, 0s); }
.aa-js .gdw-aap .eael-grid-post.aa-tarjeta-rv.is-in { opacity: 1; translate: 0 0; scale: 1; }
@media (prefers-reduced-motion: reduce) { .aa-js .gdw-aap .eael-grid-post.aa-tarjeta-rv { translate: none; scale: none; } }

/* 1 · Portada: «Medios & Prensa» letra a letra y un bento con los datos (12 columnas; en tablet 6 y en el móvil 2) */
.gdw-aap.gdw-pr-hero { min-height: 100svh; justify-content: center; }
.gdw-aap .gdw-pr-hero__h .elementor-heading-title { font-size: clamp(60px, 10.4vw, 200px); line-height: .86; }
.gdw-aap .gdw-pr-hero__lead { max-width: 44ch; font-size: clamp(18px, 1.45vw, 24px); font-weight: 500; line-height: 1.45; }
.gdw-aap .gdw-pr-bento.e-con { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: minmax(160px, auto); grid-auto-flow: dense; gap: 18px; width: 100%; }
.gdw-aap .gdw-pr-bento > .gdw-pr-pieza.e-con { position: relative; isolation: isolate; overflow: hidden; width: auto !important; min-width: 0; --gl: rgba(255, 255, 255, .42); box-shadow: 0 26px 60px -32px rgba(42, 10, 31, .35); }
.aa-js .gdw-aap .gdw-pr-pieza.aa-rv { scale: .93; transition: opacity .9s cubic-bezier(.2, .7, .2, 1) var(--rd, 0s), translate 1s cubic-bezier(.16, 1, .3, 1) var(--rd, 0s), scale 1s cubic-bezier(.16, 1, .3, 1) var(--rd, 0s), transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease; }
.aa-js .gdw-aap .gdw-pr-pieza.aa-rv.is-in { scale: 1; }
.gdw-aap .gdw-pr-pieza--forbes { grid-column: span 5; grid-row: span 2; }
.gdw-aap .gdw-pr-pieza--oro { grid-column: span 3; grid-row: span 2; }
.gdw-aap .gdw-pr-pieza--medios { grid-column: span 4; --gl: rgba(255, 95, 174, .22); }
.gdw-aap .gdw-pr-pieza--seguidores, .gdw-aap .gdw-pr-pieza--visualizaciones { grid-column: span 2; }
.gdw-aap .gdw-pr-pieza--visualizaciones { --gl: rgba(255, 255, 255, .7); }
.gdw-aap .gdw-pr-pieza--directos { grid-column: span 3; }
.gdw-aap .gdw-pr-pieza--temas { grid-column: span 9; --gl: rgba(255, 95, 174, .3); }
/* resplandor que sigue al cursor (--mx/--my de aa.js) en el ::before del contenedor (Elementor lo usa para la capa de fondo) */
.gdw-aap .gdw-pr-pieza.e-con::before {
	content: "" !important; position: absolute !important; inset: 0 !important; width: auto !important; height: auto !important; z-index: -1; pointer-events: none;
	border: 0 !important; border-radius: inherit !important; mix-blend-mode: normal !important; opacity: 0 !important; transition: opacity .45s ease !important;
	background: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), var(--gl), transparent 62%) !important;
}
/* textos: etiqueta en mono, la cifra o la palabra en grande y una línea */
.gdw-aap .gdw-pr-pieza__pre .elementor-heading-title { font: 400 11.5px/1.3 var(--aa-mono) !important; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.gdw-aap .gdw-pr-pieza__grande .elementor-heading-title { font-size: clamp(40px, 4.2vw, 76px); line-height: .9; text-wrap: balance; }
.gdw-aap .gdw-pr-pieza__t .elementor-heading-title { font-size: clamp(15px, 1.1vw, 18px); font-weight: 500; line-height: 1.35; }
.gdw-aap :is(.gdw-pr-pieza--forbes, .gdw-pr-pieza--oro) .gdw-pr-pieza__grande .elementor-heading-title { font-size: clamp(72px, 8.6vw, 168px); line-height: .82; }
.gdw-aap .gdw-pr-pieza--forbes .gdw-pr-pieza__t .elementor-heading-title { max-width: 26ch; font-size: clamp(17px, 1.4vw, 23px); font-weight: 700; }
.gdw-aap .gdw-pr-pieza--medios .gdw-pr-pieza__grande .elementor-heading-title { font-size: clamp(26px, 2.3vw, 42px); line-height: 1.02; }
/* adornos: el sol de rayos de Forbes y el de la medalla de oro giran despacio; la estrella del oro; las ondas de los directos */
.gdw-aap :is(.gdw-pr-pieza--forbes, .gdw-pr-pieza--oro, .gdw-pr-pieza--directos)::after {
	content: "" !important; position: absolute !important; z-index: -1; pointer-events: none; width: auto !important; height: auto !important;
	border: 0 !important; mix-blend-mode: normal !important; opacity: 1 !important; transition: none !important;
}
.gdw-aap .gdw-pr-pieza--forbes::after { inset: auto -24% -38% auto !important; width: 78% !important; aspect-ratio: 1; border-radius: 50% !important; background: radial-gradient(circle, rgba(255, 255, 255, .26), transparent 64%), repeating-conic-gradient(rgba(255, 255, 255, .14) 0 5deg, transparent 5deg 15deg) !important; }
.gdw-aap .gdw-pr-pieza--oro::after { inset: -22% -30% auto auto !important; width: 92% !important; aspect-ratio: 1; border-radius: 50% !important; background: radial-gradient(circle, rgba(255, 255, 255, .55), transparent 60%), repeating-conic-gradient(rgba(255, 255, 255, .3) 0 4deg, transparent 4deg 12deg) !important; }
.gdw-aap .gdw-pr-pieza--directos::after { inset: auto -10% -46% auto !important; width: 70% !important; aspect-ratio: 1; border-radius: 50% !important; background: repeating-radial-gradient(circle, rgba(255, 255, 255, .22) 0 2px, transparent 2px 22px) !important; }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aap :is(.gdw-pr-pieza--forbes, .gdw-pr-pieza--oro)::after { animation: aaGiro 48s linear infinite !important; }
	.gdw-aap .gdw-pr-pieza--directos::after { animation: aaOndas 3.2s ease-out infinite !important; }
}
@keyframes aaOndas { from { scale: .8; opacity: 1; } to { scale: 1.15; opacity: .4; } }
.gdw-aap .gdw-pr-pieza--medios .gdw-pr-pieza__grande .elementor-heading-title { background: linear-gradient(100deg, var(--aa-ciruela) 10%, var(--aa-magenta) 55%, var(--aa-fucsia)); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
.gdw-aap .gdw-pr-temas .elementor-icon-list-item { padding: 9px 16px !important; }
.gdw-aap .gdw-pr-temas .elementor-icon-list-text { font-size: 14px; }
@media (hover: hover) {
	.gdw-aap .gdw-pr-pieza.e-con:hover { transform: translateY(-8px) rotate(-.6deg); box-shadow: 0 40px 80px -30px rgba(195, 0, 102, .45); }
	.gdw-aap .gdw-pr-pieza.e-con:hover::before { opacity: 1 !important; }
}

/* 2 · Últimas apariciones: la rejilla de Essential Addons (flotante) pasa a ser un bento de 6 columnas que se repite cada 7
   tarjetas (una grande, dos pequeñas, una alta, dos pequeñas y una ancha); cada tarjeta, del color de su tipo (categoría) */
.gdw-aap.gdw-pr-sala .gdw-pr-sala__t { max-width: 34ch; font-size: clamp(16px, 1.15vw, 19px); line-height: 1.5; }
.gdw-aap .gdw-pr-rejilla .eael-post-grid { display: grid !important; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(250px, auto); grid-auto-flow: dense; gap: 22px; margin: 0 !important; height: auto !important; }
.gdw-aap .gdw-pr-rejilla .eael-post-grid::before, .gdw-aap .gdw-pr-rejilla .eael-post-grid::after { content: none !important; display: none !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post { position: relative !important; inset: auto !important; float: none !important; display: flex; width: auto !important; min-width: 0; margin: 0 !important; padding: 0 !important;
	--cc: var(--aa-magenta); --cd: #a10055; --bg: #fff; --tx: var(--aa-ciruela); --ac: var(--cd); --ic: "●"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) { grid-column: span 4; grid-row: span 2; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+4) { grid-column: span 2; grid-row: span 2; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+2), :nth-child(7n+3), :nth-child(7n+5), :nth-child(7n+6)) { grid-column: span 2; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n) { grid-column: span 4; }
/* colores por tipo (--cc el vivo; --cd el oscuro, con contraste de 4,5:1 sobre blanco) y su signo */
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-eventos { --cc: var(--aa-naranja); --cd: #b8410f; --ic: "✦"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-formacion { --cc: var(--aa-lila); --cd: #6e3580; --ic: "◆"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-radio-y-television { --cc: var(--aa-magenta); --cd: #a10055; --ic: "◉"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-podcasts { --cc: #3a6fd8; --cd: #0c2f70; --ic: "◖◗"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-video { --cc: var(--aa-fucsia); --cd: #b0006a; --ic: "▶"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-prensa-escrita { --cc: #6b4a5e; --cd: var(--aa-ciruela); --ic: "«"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-entrevistas { --cc: var(--aa-chicle); --cd: #c2185b; --ic: "?"; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post.category-premios { --cc: #e0a800; --cd: #8a5a00; --ic: "★"; }
/* la grande y la ancha, rellenas del color oscuro de su tipo; la alta, en ciruela */
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+1), :nth-child(7n)) { --bg: var(--cd); --tx: #fff; --ac: #fff; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+4) { --bg: var(--aa-ciruela); --tx: #fff; --ac: var(--aa-chicle); }
.gdw-aap .gdw-pr-rejilla .eael-grid-post-holder { flex: 1 1 auto; display: flex; position: relative; isolation: isolate; overflow: hidden; min-width: 0; border: 0 !important; border-radius: 30px !important; background: var(--bg) !important; color: var(--tx);
	box-shadow: 0 26px 60px -32px rgba(42, 10, 31, .32); transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s ease; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post-holder-inner { display: flex; flex-direction: column; width: 100%; min-height: 100%; }
/* el signo del tipo, enorme y casi transparente, en la esquina; el resplandor que sigue al cursor */
.gdw-aap .gdw-pr-rejilla .eael-grid-post-holder::after { content: var(--ic); position: absolute; z-index: -1; right: -.04em; bottom: -.2em; font: 800 clamp(150px, 14vw, 260px)/1 var(--aa-letra); color: var(--cc); opacity: .14; pointer-events: none; transition: scale .8s cubic-bezier(.2, .8, .2, 1), rotate .8s cubic-bezier(.2, .8, .2, 1); }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+1), :nth-child(7n), :nth-child(7n+4)) .eael-grid-post-holder::after { color: #fff; opacity: .12; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post-holder::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; transition: opacity .45s ease;
	background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 50%), color-mix(in srgb, var(--cc) 32%, transparent), transparent 62%); }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+1), :nth-child(7n)) .eael-grid-post-holder::before { background: radial-gradient(460px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .26), transparent 62%); }
/* la grande lleva además las tintas de la web, que giran despacio */
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-grid-post-holder { background-image: radial-gradient(60% 60% at 85% 10%, color-mix(in srgb, var(--cc) 70%, transparent), transparent 70%), radial-gradient(50% 50% at 0% 100%, rgba(255, 95, 174, .35), transparent 70%) !important; }
/* foto destacada (si la entrada la tiene): solo en la grande, de fondo; en las demás no se usa */
.gdw-aap .gdw-pr-rejilla .eael-entry-media { position: static; }
.gdw-aap .gdw-pr-rejilla .eael-entry-overlay, .gdw-aap .gdw-pr-rejilla .eael-entry-thumbnail { display: none !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-entry-thumbnail { display: block !important; position: absolute; inset: 0; z-index: -2; padding: 0 !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-entry-thumbnail img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .3; mix-blend-mode: luminosity; }
/* textos de la tarjeta: arriba el tipo en pastilla y el medio en mono (los pone aa.js en .gdw-pr-cab), el título grande
   (hasta 4 líneas; 5 en la grande), el resumen (hasta 4 líneas) y abajo la fecha en mono. Las categorías de Essential
   Addons no se ven: el tipo ya está arriba */
.gdw-aap .gdw-pr-rejilla :is(.post-carousel-categories, .post-meta-categories) { display: none !important; }
.gdw-aap .gdw-pr-rejilla .gdw-pr-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 20px; }
.gdw-aap .gdw-pr-rejilla .gdw-pr-tipo { display: inline-block; padding: 8px 13px; border-radius: 999px; background: var(--cd); color: #fff; font: 400 11px/1 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+1), :nth-child(7n), :nth-child(7n+4)) .gdw-pr-tipo { background: #fff; color: var(--cd); }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+4) .gdw-pr-tipo { color: var(--aa-ciruela); }
.gdw-aap .gdw-pr-rejilla .gdw-pr-medio { font: 700 12px/1.3 var(--aa-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ac); }
.gdw-aap .gdw-pr-rejilla .eael-entry-wrapper { display: flex; flex-direction: column; flex: 1 1 auto; padding: 28px 30px 28px !important; }
.gdw-aap .gdw-pr-rejilla .eael-entry-content { margin-top: auto; }
.gdw-aap .gdw-pr-rejilla .eael-entry-title { margin: 0 0 14px !important; }
.gdw-aap .gdw-pr-rejilla .eael-entry-title a { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; font: 800 clamp(20px, 1.5vw, 26px)/1.12 var(--aa-letra) !important; letter-spacing: 0 !important; color: var(--tx) !important; text-wrap: balance; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-entry-title a { -webkit-line-clamp: 5; font-size: clamp(28px, 3vw, 54px) !important; line-height: 1.02 !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n), :nth-child(7n+4)) .eael-entry-title a { font-size: clamp(22px, 1.9vw, 32px) !important; line-height: 1.08 !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post-excerpt p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; margin: 0 0 16px !important; font: 400 15px/1.55 var(--aa-letra) !important; color: color-mix(in srgb, var(--tx) 78%, transparent) !important; }
.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-grid-post-excerpt p { max-width: 52ch; font-size: clamp(16px, 1.2vw, 19px) !important; }
.gdw-aap .gdw-pr-rejilla .eael-post-elements-readmore-btn { display: inline-flex !important; align-items: center; gap: .5em; font: 700 14px/1 var(--aa-letra) !important; color: var(--ac) !important; }
.gdw-aap .gdw-pr-rejilla .eael-post-elements-readmore-btn::after { content: "→"; transition: translate .25s; }
.gdw-aap .gdw-pr-rejilla .eael-entry-header-after { margin-top: 10px; padding-top: 14px; border-top: 1px solid color-mix(in srgb, var(--tx) 14%, transparent); }
.gdw-aap .gdw-pr-rejilla .eael-entry-meta, .gdw-aap .gdw-pr-rejilla .eael-entry-meta time { font: 400 11.5px/1.3 var(--aa-mono) !important; letter-spacing: .1em; text-transform: uppercase; color: color-mix(in srgb, var(--tx) 62%, transparent) !important; }
.gdw-aap .gdw-pr-rejilla .eael-entry-meta i { display: none !important; }
@media (hover: hover) {
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:hover .eael-grid-post-holder { transform: translateY(-10px) rotate(-.5deg); box-shadow: 0 40px 80px -28px color-mix(in srgb, var(--cc) 62%, transparent), 0 0 0 1.5px color-mix(in srgb, var(--cc) 22%, transparent); }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(even):hover .eael-grid-post-holder { transform: translateY(-10px) rotate(.5deg); }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:hover .eael-grid-post-holder::before { opacity: 1; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:hover .eael-grid-post-holder::after { scale: 1.12; rotate: -8deg; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:hover .eael-post-elements-readmore-btn::after { translate: 4px 0; }
}
/* «Ver más apariciones» */
.gdw-aap .gdw-pr-rejilla .eael-load-more-button-wrap { justify-content: center; margin-top: 46px; }
.gdw-aap :is(.gdw-pr-rejilla, .gdw-blog__grid) .eael-load-more-button { display: inline-flex; align-items: center; gap: .6em; height: 56px; padding: 0 30px !important; border: 0 !important; border-radius: 999px !important; background: var(--aa-ciruela) !important; color: #fff !important; font: 700 15px/1 var(--aa-letra) !important; transition: background-color .25s, transform .25s, box-shadow .25s; }
.gdw-aap :is(.gdw-pr-rejilla, .gdw-blog__grid) .eael-load-more-button:hover { background: var(--aa-magenta) !important; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(195, 0, 102, .28); }

/* 3 · Para periodistas: ciruela con dos luces y las moléculas claras; la foto en una mancha que cambia de forma */
.gdw-aap.gdw-pr-kit { isolation: isolate; overflow: clip; background-image: radial-gradient(46vmax 40vmax at 88% 12%, rgba(195, 0, 102, .5), transparent 70%), radial-gradient(40vmax 36vmax at 0% 100%, rgba(142, 79, 160, .45), transparent 70%), var(--aa-mol-claro); background-size: auto, auto, 320px 280px; }
.gdw-aap .gdw-pr-kit__t { max-width: 44ch; font-size: clamp(17px, 1.35vw, 22px); line-height: 1.5; }
.gdw-aap .gdw-pr-kit__media { position: relative; isolation: isolate; }
.gdw-aap .gdw-pr-kit__media::after { content: "" !important; position: absolute !important; z-index: -1; inset: 8% -6% -4% 12% !important; width: auto !important; height: auto !important; border: 0 !important; border-radius: 41% 59% 46% 54% / 57% 43% 57% 43% !important; background: var(--aa-magenta) !important; opacity: .9 !important; rotate: -8deg; mix-blend-mode: normal !important; transition: none !important; }
.gdw-aap .gdw-pr-kit__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 46% 54% 42% 58% / 52% 44% 56% 48%; box-shadow: 0 40px 90px rgba(0, 0, 0, .35); }
@media (prefers-reduced-motion: no-preference) {
	.gdw-aap .gdw-pr-kit__foto img { animation: aaForma 14s ease-in-out infinite alternate; }
	.gdw-aap .gdw-pr-kit__media::after { animation: aaGiro 46s linear infinite reverse; }
}

/* 4 · Cada aparición (una entrada): la ficha (medio, fecha y formato) en una tarjeta, el botón que lleva al medio y la vuelta
   a la sala de prensa. Los botones valen para cualquier entrada (sin esto, el texto salía del color del fondo) */
body.single-post .gdw-entrada .entry-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.8em 0; }
body.single-post .gdw-entrada .entry-content .wp-block-button__link { display: inline-flex; align-items: center; gap: .6em; padding: 18px 30px; border: 0; border-radius: 999px; background: var(--aa-ciruela); color: #fff !important; font: 700 16px/1 var(--aa-letra); text-decoration: none !important; transition: background-color .25s, transform .25s, box-shadow .25s; }
body.single-post .gdw-entrada .entry-content .wp-block-button__link[target="_blank"]::after { content: "↗"; }
body.single-post .gdw-entrada .entry-content .wp-block-button__link:hover { background: var(--aa-magenta); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(195, 0, 102, .28); }
body.single-post .gdw-entrada .entry-content .gdw-pr-ficha { display: flex; flex-wrap: wrap; gap: 14px 36px; margin: 1.6em 0; padding: 22px 28px; list-style: none; border-radius: 22px; background: rgba(255, 255, 255, .78); box-shadow: 0 20px 50px -30px rgba(42, 10, 31, .3); font-size: 16px; line-height: 1.4; }
body.single-post .gdw-entrada .entry-content .gdw-pr-ficha li { margin: 0; }
body.single-post .gdw-entrada .entry-content .gdw-pr-ficha li::marker { content: none; }
body.single-post .gdw-entrada .entry-content .gdw-pr-ficha strong { display: block; margin-bottom: 4px; font: 400 11px/1.3 var(--aa-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--aa-magenta); }
body.single-post .gdw-entrada .entry-content .gdw-pr-volver a { font: 700 15px/1 var(--aa-letra); text-decoration: none !important; }

@media (max-width: 1024px) {
	.gdw-aap .gdw-pr-bento.e-con { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: minmax(150px, auto); }
	.gdw-aap .gdw-pr-pieza--forbes { grid-column: span 6; grid-row: span 1; }
	.gdw-aap .gdw-pr-pieza--oro, .gdw-aap .gdw-pr-pieza--medios { grid-column: span 3; grid-row: span 1; }
	.gdw-aap :is(.gdw-pr-pieza--seguidores, .gdw-pr-pieza--visualizaciones, .gdw-pr-pieza--directos) { grid-column: span 2; }
	.gdw-aap .gdw-pr-pieza--temas { grid-column: span 6; }
	.gdw-aap .gdw-pr-rejilla .eael-post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(220px, auto); }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+1), :nth-child(7n)) { grid-column: span 2; grid-row: span 1; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+4) { grid-column: span 1; grid-row: span 2; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:is(:nth-child(7n+2), :nth-child(7n+3), :nth-child(7n+5), :nth-child(7n+6)) { grid-column: span 1; }
}
@media (max-width: 767px) {
	.gdw-aap.gdw-pr-hero { min-height: 0; }
	.gdw-aap .gdw-pr-bento.e-con { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(140px, auto); gap: 12px; }
	.gdw-aap :is(.gdw-pr-pieza--forbes, .gdw-pr-pieza--medios, .gdw-pr-pieza--temas) { grid-column: span 2; }
	.gdw-aap :is(.gdw-pr-pieza--oro, .gdw-pr-pieza--seguidores, .gdw-pr-pieza--visualizaciones, .gdw-pr-pieza--directos) { grid-column: span 1; }
	.gdw-aap :is(.gdw-pr-pieza--forbes, .gdw-pr-pieza--oro) .gdw-pr-pieza__grande .elementor-heading-title { font-size: clamp(56px, 17vw, 84px); }
	/* las cifras, a media columna: «+30.000» tiene que caber en unos 120 px */
	.gdw-aap .gdw-pr-pieza__grande .elementor-heading-title { font-size: clamp(26px, 7.4vw, 36px); }
	.gdw-aap .gdw-pr-rejilla .eael-post-grid { grid-template-columns: minmax(0, 1fr); grid-auto-rows: auto; gap: 16px; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(n) { grid-column: auto; grid-row: auto; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post-holder { min-height: 230px; }
	.gdw-aap .gdw-pr-rejilla .eael-grid-post:nth-child(7n+1) .eael-grid-post-holder { min-height: 360px; }
	.gdw-aap .gdw-pr-rejilla .eael-entry-wrapper { padding: 22px 22px 24px !important; }
}
