/*
 * Home AIM Rosario
 * Implementación de escritorio basada en Figma (frame 4920:7882).
 */

:root {
	--aim-background: var(--wp--preset--color--aim-ink, #131c33);
	--aim-panel: var(--wp--preset--color--aim-navy, #0c1220);
	--aim-deep-blue: var(--wp--preset--color--aim-navy-deep, #000756);
	--aim-blue: var(--wp--preset--color--aim-blue, #0d86e2);
	--aim-navy-light: var(--wp--preset--color--aim-navy-light, #182547);
	--aim-navy-link: var(--wp--preset--color--aim-navy-link, #074a7c);
	--aim-card: #2b354f;
	--aim-white: var(--wp--preset--color--aim-white, #fff);
	--aim-off-white: var(--wp--preset--color--aim-off-white, #fbfbfb);
	/* Blanco translúcido equivalente al gris claro anterior sobre fondos AIM. */
	--aim-light-gray: rgba(255, 255, 255, 0.8);
	--aim-gray: var(--wp--preset--color--aim-gray, #575757);
	--aim-dark: var(--wp--preset--color--aim-dark, #111);
	--aim-wide: var(--wp--style--global--wide-size, 1282px);
	--aim-content: var(--wp--style--global--content-size, 1060px);
	--aim-page-gutter: clamp(19px, 2.5vw, 32px);
	--aim-shell-outset: max(var(--aim-page-gutter), calc((100vw - var(--aim-wide)) / 2));
	--aim-intro-content: 1172px;
	--aim-actions-content: 1233px;
	--aim-benefits-content: 1278px;
	--aim-media-wide: 1380px;
	--aim-newsletter-content: 1088px;
	--aim-font-text: var(--wp--preset--font-family--haas-text, "neue-haas-grotesk-text", Arial, sans-serif);
	--aim-font-display: var(--wp--preset--font-family--haas-display, "neue-haas-grotesk-display-pro", "neue-haas-grotesk-display", Arial, sans-serif);
	--aim-benefits-section-height: 555px;
	--aim-programs-section-height: 522px;
	--aim-video-section-height: 692px;
	--aim-home-flow-gradient-height: calc(var(--aim-benefits-section-height) + var(--aim-programs-section-height) + var(--aim-video-section-height));
	--aim-home-flow-gradient: linear-gradient(
		180deg,
		var(--aim-background) 0%,
		#121b34 14%,
		#123f74 30%,
		var(--aim-blue) 48%,
		var(--aim-blue) 65%,
		#12619c 76%,
		var(--aim-background) 92%,
		var(--aim-background) 100%
	);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--aim-background);
	color: var(--aim-white);
	font-family: var(--aim-font-text);
	font-size: 16px;
	line-height: 1.35;
	font-synthesis: none;
}

body .wp-site-blocks {
	padding: 0;
}

body .wp-site-blocks > * {
	margin-block-start: 0;
}

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

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

button,
input {
	font: inherit;
}

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

.aim-container,
.aim-shell {
	--aim-shell-max: var(--aim-wide);
	--aim-shell-gutter: var(--aim-page-gutter);
	width: min(calc(100% - var(--aim-shell-gutter) - var(--aim-shell-gutter)), var(--aim-shell-max));
	margin-inline: auto;
}

.aim-eyebrow {
	margin: 0;
	color: rgba(255, 255, 255, 0.5);
	font-family: var(--aim-font-text);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aim-hover-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--aim-font-display);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-hover-link__arrow {
	display: inline-block;
	width: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateX(-5px);
	transition: width var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), opacity var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), transform var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-hover-link__arrow img {
	width: 15px;
	height: 13px;
	max-width: none;
}

.aim-hover-link:hover,
.aim-hover-link:focus-visible {
	color: var(--aim-blue);
}

.aim-hover-link:hover .aim-hover-link__arrow,
.aim-hover-link:focus-visible .aim-hover-link__arrow {
	width: 15px;
	opacity: 1;
	transform: translateX(0);
}

/* Header */
.aim-header {
	position: relative;
	z-index: 20;
	width: 100%;
	height: 98px;
	background: var(--aim-background);
}

.aim-header__inner {
	height: 98px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding-block: 17px;
}

.aim-brand {
	flex: 0 0 65.255px;
	width: 65.255px;
	height: 64.317px;
	display: grid;
	place-items: center;
	background: transparent;
	filter: none;
	opacity: 1;
	transform: none;
}

.aim-brand:hover,
.aim-brand:focus-visible {
	background: transparent;
	filter: none;
	opacity: 1;
	transform: none;
}

.aim-brand:focus-visible {
	outline: 2px solid var(--aim-blue);
	outline-offset: 4px;
}

.aim-brand > img {
	width: 65.255px;
	height: 64.317px;
	object-fit: contain;
	filter: none;
	opacity: 1;
	transform: none;
}

.aim-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 35px;
	margin-left: auto;
}

.aim-nav a {
	color: var(--aim-white);
	font-family: var(--aim-font-text);
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0;
	white-space: nowrap;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-nav a:hover,
.aim-nav a:focus-visible {
	color: var(--aim-blue);
}

.aim-nav__item--has-submenu {
	position: relative;
}

.aim-nav__submenu-trigger {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}

.aim-nav__chevron {
	flex: 0 0 auto;
	width: 7px;
	height: 4px;
	transition: transform 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.aim-nav__item--has-submenu:hover .aim-nav__chevron,
.aim-nav__item--has-submenu:focus-within .aim-nav__chevron {
	transform: rotate(180deg);
}

.aim-nav__submenu {
	position: absolute;
	z-index: 30;
	top: calc(100% + 14px);
	left: -23px;
	display: grid;
	width: 190px;
	gap: 2px;
	margin: 0;
	padding: 10px;
	visibility: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-top: 0;
	border-radius: 0 0 5px 5px;
	background: linear-gradient(to bottom, var(--aim-background), var(--aim-navy-light));
	box-shadow: 0 16px 38px rgba(3, 8, 19, 0.3);
	list-style: none;
	opacity: 0;
	transform: translate(0, -6px);
	pointer-events: none;
	transition:
		opacity var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing),
		transform var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing),
		visibility 0s linear var(--onlines-ui-hover-duration);
}

.aim-nav__submenu::before {
	position: absolute;
	right: 0;
	bottom: 100%;
	left: 0;
	height: 14px;
	content: "";
}

.aim-nav__submenu li {
	margin: 0;
}

.aim-nav__submenu-item {
	display: block;
	width: 100%;
	padding: 9px 13px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--aim-white);
	font-family: var(--aim-font-text);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0;
	text-align: left;
	white-space: normal;
	cursor: pointer;
	text-decoration: none;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-nav a.aim-nav__submenu-item {
	padding-inline: 13px;
	font-size: 13px;
	font-weight: 500;
	white-space: normal;
	text-wrap: balance;
}

.aim-navigation-anchor {
	scroll-margin-top: 20px;
}

.aim-nav a.aim-nav__submenu-item:hover,
.aim-nav a.aim-nav__submenu-item:focus-visible {
	background: var(--aim-blue);
	color: var(--aim-white);
}

.aim-nav a.aim-nav__submenu-item:focus-visible {
	outline: 2px solid var(--aim-blue);
	outline-offset: -2px;
}

.aim-nav__item--has-submenu:hover > .aim-nav__submenu,
.aim-nav__item--has-submenu:focus-within > .aim-nav__submenu {
	visibility: visible;
	opacity: 1;
	transform: translate(0, 0);
	pointer-events: auto;
	transition-delay: 0s;
}

.aim-language {
	position: relative;
	z-index: 30;
	flex: 0 0 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 40px;
	height: 28px;
	color: var(--aim-white);
	margin-left: 18px;
}

.aim-language__control {
	position: relative;
	width: 100%;
}

.aim-language__toggle {
	width: 100%;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 0 6px;
	border: 1px solid transparent;
	border-radius: 4px;
	appearance: none;
	background: rgba(255, 255, 255, 0.1);
	color: var(--aim-white);
	font-family: var(--aim-font-text);
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), border-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-language__toggle:hover,
.aim-language__toggle:focus-visible,
.aim-language.is-open .aim-language__toggle {
	border-color: rgba(255, 255, 255, 0.1);
	background: rgba(255, 255, 255, 0.15);
}

.aim-language__toggle:focus-visible {
	outline: 2px solid var(--aim-blue, #0d86e2);
	outline-offset: 3px;
}

.aim-language__current {
	display: block;
	min-width: 16px;
	text-align: center;
}

.aim-language__chevron {
	flex: 0 0 auto;
	width: 7px;
	height: 4px;
	transition: transform 220ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.aim-language.is-open .aim-language__chevron {
	transform: rotate(180deg);
}

.aim-language__menu {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	width: 52px;
	padding: 4px;
	visibility: hidden;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 4px;
	background: #1b2741;
	box-shadow: 0 16px 34px rgba(3, 8, 19, 0.32);
	opacity: 0;
	transform: translateY(-8px) scale(0.97);
	transform-origin: top right;
	pointer-events: none;
	transition: opacity 220ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 220ms cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear 220ms;
}

.aim-language.is-open .aim-language__menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0) scale(1);
	pointer-events: auto;
	transition-delay: 0s;
}

.aim-language__menu .gtranslate_wrapper {
	display: flex;
	flex-direction: column;
	gap: 1px;
	width: 100%;
}

.aim-language__menu a.glink {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 30px;
	padding: 1px 6px 0;
	border-radius: 3px;
	color: rgba(255, 255, 255, 0.68);
	font-family: var(--aim-font-text);
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-decoration: none;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-language__menu a.glink:hover,
.aim-language__menu a.glink:focus-visible {
	background: var(--aim-blue, #0d86e2);
	color: var(--aim-white);
}

.aim-language__menu a.glink.gt-current-lang {
	background: rgba(255, 255, 255, 0.1);
	color: var(--aim-white);
	font-weight: 500;
}

.aim-language__menu a.glink.gt-current-lang::after {
	position: absolute;
	right: 5px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--aim-blue, #0d86e2);
	content: "";
}

.aim-language__menu a.glink:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
	.aim-nav__submenu,
	.aim-nav__submenu-item,
	.aim-nav__chevron,
	.aim-language__chevron,
	.aim-language__menu {
		transition: none;
	}
}

.aim-menu-toggle,
.aim-mobile-nav {
	display: none;
}

/* Hero */
.aim-hero {
	position: relative;
	width: 100%;
	height: 700px;
	overflow: hidden;
	background: var(--aim-background);
}

/*
 * El asset del hero ya viene recortado con alfa en las esquinas inferiores.
 * Toda la pila visual (imagen, gradiente, retícula y luces) se enmascara con esa
 * misma alfa para que las puntas dejen ver `--aim-background` en vez de rellenarse.
 * Las capas siguen siendo independientes: la máscara no fusiona assets.
 */
.aim-hero__visual {
	position: absolute;
	inset: 0 13.5px;
	overflow: hidden;
	border-radius: 7px 7px 0 0;
	-webkit-mask-image: var(--aim-hero-background-image, url("../../images/home/hero-background-figma.webp"));
	mask-image: var(--aim-hero-background-image, url("../../images/home/hero-background-figma.webp"));
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: cover;
	mask-size: cover;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	pointer-events: none;
}

.aim-hero__background {
	position: absolute;
	inset: 0;
	background-image: var(--aim-hero-background-image, url("../../images/home/hero-background-figma.webp"));
	background-position: center;
	background-size: cover;
}

.aim-hero__gradient {
	position: absolute;
	z-index: 1;
	inset: 0;
	background: linear-gradient(180deg, rgba(0, 7, 86, 0.2) 0%, rgba(0, 7, 86, 0.28) 65%, rgba(0, 7, 86, 0.54) 100%);
	pointer-events: none;
}

.aim-hero__grid {
	position: absolute;
	z-index: 2;
	top: 129px;
	left: 50%;
	width: min(84.06vw, 1271px);
	height: 571px;
	max-width: none;
	transform: translateX(-50%);
	opacity: 0.7;
	pointer-events: none;
}

.aim-hero__light {
	position: absolute;
	z-index: 2;
	max-width: none;
	pointer-events: none;
	mix-blend-mode: screen;
}

.aim-hero__light--left {
	top: 109px;
	left: 45.4%;
	width: 650px;
	height: 298px;
}

.aim-hero__light--right {
	top: 306px;
	left: 90.9%;
	width: 547px;
	height: 245px;
}

.aim-live-banner {
	position: absolute;
	z-index: 5;
	top: 0;
	left: 13.5px;
	right: 13.5px;
	height: 51px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border-radius: 7px 7px 0 0;
	background: rgba(13, 134, 226, 0.3);
	color: var(--aim-white);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	text-decoration: none;
}

.aim-live-banner__icon {
	flex: 0 0 auto;
	width: 22px;
	height: 15px;
}

/* El ícono se ve completo siempre: las ondas solo se animan al pasar el mouse. */
.aim-live-banner__icon-waves {
	opacity: 1;
	transform-origin: 11px 7.5px;
	transform: scale(1);
}

/* Refresco en cascada: la onda se apaga en el primer cuarto, espera apagada
   mientras le toca el turno a la otra, y vuelve a encenderse. Con la externa
   retrasada un cuarto del ciclo, el orden resultante es: se apaga la interna,
   se apaga la externa, aparece la interna, aparece la externa. */
@keyframes aim-live-banner-wave-refresh {
	0%,
	100% {
		opacity: 1;
		transform: scale(1);
	}

	25%,
	50% {
		opacity: 0;
		transform: scale(0.6);
	}

	75% {
		opacity: 1;
		transform: scale(1);
	}
}

.aim-live-banner:hover .aim-live-banner__icon-waves,
.aim-live-banner:focus-visible .aim-live-banner__icon-waves {
	animation: aim-live-banner-wave-refresh 600ms var(--onlines-ui-hover-easing);
}

.aim-live-banner:hover .aim-live-banner__icon-waves--outer,
.aim-live-banner:focus-visible .aim-live-banner__icon-waves--outer {
	animation-delay: 150ms;
}

@media (prefers-reduced-motion: reduce) {
	.aim-live-banner:hover .aim-live-banner__icon-waves,
	.aim-live-banner:focus-visible .aim-live-banner__icon-waves {
		animation: none;
	}
}

.aim-live-banner__event {
	text-decoration: underline;
	text-decoration-color: transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: text-decoration-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-live-banner:hover .aim-live-banner__event,
.aim-live-banner:focus-visible .aim-live-banner__event {
	text-decoration-color: currentColor;
}

.aim-live-banner:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: -4px;
}

.aim-hero__content {
	position: relative;
	z-index: 3;
	--aim-shell-max: 960px;
	padding-top: 217px;
	text-align: center;
}

.aim-hero h1 {
	margin: 0;
	color: var(--aim-white);
	font-family: var(--aim-font-text);
	font-size: 92px;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.92px;
	text-wrap: balance;
}

.aim-hero__content p {
	width: min(100%, 678px);
	margin: 10px auto 0;
	color: rgba(255, 255, 255, 0.92);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: -0.4px;
	text-wrap: balance;
}

/* Alianzas */
.aim-partners {
	width: 100%;
	height: 239px;
	background: var(--aim-background);
}

.aim-partners__viewport {
	height: 100%;
	overflow: visible;
}

.aim-partners__track {
	--aim-shell-max: 1051px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.aim-partner-logo {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 145px;
	height: 80px;
	overflow: hidden;
	filter: grayscale(1);
	opacity: 0.72;
	backface-visibility: hidden;
	transform: translateZ(0) scale(1);
	transform-origin: center;
	will-change: filter, transform;
	transition: filter var(--onlines-ui-hover-duration, 180ms) var(--onlines-ui-hover-easing, ease), opacity var(--onlines-ui-hover-duration, 180ms) var(--onlines-ui-hover-easing, ease), transform var(--onlines-ui-hover-duration, 180ms) var(--onlines-ui-hover-easing, ease);
}

.aim-partner-logo[href] {
	color: inherit;
	text-decoration: none;
}

.aim-partner-logo[href]:hover,
.aim-partner-logo[href]:focus-visible {
	filter: grayscale(1) brightness(1.35);
	opacity: 1;
	transform: translateZ(0) scale(1.03);
}

.aim-partner-logo[href]:focus-visible {
	outline: 2px solid var(--aim-blue);
	outline-offset: 4px;
}

.aim-partner-logo img {
	position: absolute;
	width: 100%;
	height: 80px;
	max-width: 145px;
	max-height: 80px;
	object-fit: contain;
}

.aim-partner-logo img.is-visually-normalized {
	max-width: none;
	max-height: none;
	object-fit: fill;
}

@media (prefers-reduced-motion: reduce) {
	.aim-partner-logo {
		transition: none;
	}

	.aim-partner-logo[href]:hover,
	.aim-partner-logo[href]:focus-visible {
		transform: none;
	}
}

@media (min-width: 901px) {
	.aim-partners .aim-slider__track [data-aim-slider-clone] {
		display: none;
	}
}

/* Quiénes somos */
.aim-intro {
	width: 100%;
	height: 752px;
	background: var(--aim-background);
}

.aim-intro__panel {
	position: relative;
	height: 752px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--aim-panel);
}

.aim-intro__content {
	--aim-shell-max: var(--aim-intro-content);
	--aim-shell-gutter: clamp(24px, 4vw, 55px);
	position: absolute;
	z-index: 2;
	top: 85px;
	left: 0;
	right: 0;
	display: grid;
	grid-template-columns: minmax(0, 569px) minmax(0, 600px);
	gap: 3px;
	align-items: start;
}

.aim-intro__copy {
	position: relative;
	z-index: 2;
	width: min(100%, 569px);
	margin-top: 25px;
}

.aim-intro__copy h2 {
	margin: 0;
	color: var(--aim-off-white);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.76px;
}

.aim-intro__copy > .aim-eyebrow {
	color: var(--aim-gray);
	font-family: var(--aim-font-text);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 1px;
}

.aim-intro__copy > p:not(.aim-eyebrow) {
	width: 523px;
	margin: 9px 0 0;
	color: var(--aim-light-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-intro__copy .aim-hover-link {
	margin-top: 34px;
	color: var(--aim-white);
}

.aim-intro__copy .aim-hover-link:hover,
.aim-intro__copy .aim-hover-link:focus-visible {
	color: var(--aim-blue);
}

.aim-intro__media {
	position: relative;
	z-index: 1;
	width: min(100%, 600px);
	height: 375px;
	justify-self: end;
	overflow: hidden;
	border-radius: 4px;
}

.aim-intro__media > img:first-child {
	width: 600px;
	height: 375px;
	object-fit: cover;
}

.aim-intro__texture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.1;
	mix-blend-mode: screen;
	pointer-events: none;
}

.aim-stats {
	--aim-shell-max: var(--aim-intro-content);
	--aim-shell-gutter: clamp(24px, 4vw, 55px);
	position: absolute;
	z-index: 3;
	left: 0;
	right: 0;
	top: 520px;
	height: 162px;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	align-items: stretch;
	padding: 35px 70px 15px;
	background: linear-gradient(90deg, #182547 0%, #142449 52%, #182547 100%);
}

.aim-stat {
	min-height: 93px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
}

.aim-stat strong {
	color: var(--aim-white);
	font-size: 42px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
}

.aim-stat span {
	max-width: 235px;
	color: var(--aim-light-gray);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
}

/* Tarjetero */
.aim-actions {
	width: 100%;
	height: 531px;
	padding: 65px 0 106px;
	background: var(--aim-background);
}

.aim-actions__grid {
	--aim-shell-max: var(--aim-actions-content);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.aim-action-card {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	height: 359px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 50px;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--aim-white);
	text-decoration: none;
	opacity: 1;
	transform: none;
	transition: transform 220ms ease, opacity 450ms ease;
}

.aim-action-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg, #182547 0%, #0d86e2 100%);
	opacity: 0;
	transition: opacity 240ms ease;
	pointer-events: none;
}

.aim-action-card > * {
	position: relative;
	z-index: 1;
}

.js .aim-action-card:not(.is-visible) {
	opacity: 0;
	transform: translateY(24px);
}

.aim-action-card:hover,
.aim-action-card:focus-visible {
	outline: 0;
}

.aim-action-card:hover::before,
.aim-action-card:focus-visible::before {
	opacity: 1;
}

.aim-action-card:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.55);
}

.aim-action-card img {
	width: auto;
	height: auto;
	max-width: none;
	margin-bottom: 5px;
	object-fit: contain;
}

.aim-action-card:nth-child(1) > img {
	width: 31.421px;
	height: 45.979px;
}

.aim-action-card:nth-child(2) > img {
	width: 34.11px;
	height: 41.455px;
}

.aim-action-card:nth-child(3) > img {
	width: 33.867px;
	height: 43.828px;
}

.aim-action-card h2 {
	margin: 0;
	color: var(--aim-white);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
}

.aim-action-card p {
	width: 100%;
	margin: 0;
	color: var(--aim-light-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-action-card__button {
	width: 100%;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: auto;
	border-radius: 5px;
	background: var(--aim-white);
	color: var(--aim-panel);
	font-family: var(--aim-font-text);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-action-card__button-arrow {
	position: relative;
	top: 2px;
	width: 15px;
	height: 13px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity 220ms ease, transform 220ms ease;
}

.aim-action-card__button-arrow img {
	width: 15px;
	height: 13px;
	max-width: none;
}

.aim-action-card:hover .aim-action-card__button,
.aim-action-card:focus-visible .aim-action-card__button {
	background: var(--aim-white);
	color: var(--aim-panel);
}

.aim-action-card:hover .aim-action-card__button-arrow,
.aim-action-card:focus-visible .aim-action-card__button-arrow {
	opacity: 1;
	transform: translateX(4px);
}

/* Calendario */
.aim-calendar {
	position: relative;
	z-index: 1;
	width: 100%;
	min-height: 597px;
	overflow: hidden;
	background: var(--aim-background);
	scroll-margin-top: 32px;
}

/*
 * La sección recorta con `overflow: hidden`, así que la trama no puede empezar
 * por encima de su borde superior: el giro de -107.12deg agranda la caja de
 * 430px a 538px (54px de más por lado), y con `top: -122px` quedaban 176px
 * cortados contra el bloque de arriba. `top: 54px` apoya el borde de la caja
 * rotada justo en el inicio de la sección, así el círculo se ve entero.
 */
.aim-calendar__texture {
	position: absolute;
	z-index: 0;
	top: 54px;
	left: max(-58px, calc(50% - 814px));
	width: 430px;
	height: 430px;
	max-width: none;
	object-fit: cover;
	opacity: 0.08;
	transform: rotate(-107.12deg);
	transform-origin: center;
	pointer-events: none;
}

.aim-calendar__panel {
	position: relative;
	z-index: 1;
	min-height: 597px;
	padding-block: 85px;
	border-radius: 5px;
	background: linear-gradient(180deg, #131c33 0%, #182547 100%);
}

.aim-calendar__content {
	--aim-shell-max: var(--aim-content);
	--aim-shell-gutter: clamp(16px, 4.7vw, 110px);
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 452px) minmax(0, 548px);
	gap: 60px;
	align-items: start;
}

.aim-month {
	position: relative;
	z-index: 3;
	min-width: 0;
	width: min(100%, 452px);
	margin-top: 19px;
}

.aim-month__heading {
	margin-bottom: 29px;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	color: var(--aim-white);
}

.aim-month__heading h2,
.aim-month__year {
	margin: 5px 0 0;
	font-size: 31px;
	font-weight: 500;
	line-height: 1.2;
}

.aim-month__year {
	color: var(--aim-white);
	font-variant-numeric: tabular-nums;
}

.aim-month__heading > strong {
	margin-top: 19px;
	font-size: 38px;
	font-weight: 500;
	line-height: 1.2;
}

.aim-month__weekdays,
.aim-month__grid {
	display: grid;
	grid-template-columns: repeat(7, 30px);
	justify-content: space-between;
}

.aim-month__weekdays {
	height: 16px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: -0.24px;
}

.aim-month__grid {
	row-gap: 22px;
	margin-top: 18px;
}

.aim-month__grid span {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--aim-white);
	font-size: 16px;
	line-height: 1;
	letter-spacing: -0.4px;
}

.aim-month__grid .selected {
	border-radius: 5px;
	background: var(--aim-blue);
}

.aim-month__grid .muted {
	color: #b6b6b6;
}

.aim-month__grid .weekend,
.aim-month__grid .disabled-ring {
	color: var(--aim-gray);
}

.aim-month__grid .ring {
	border-color: var(--aim-white);
}

.aim-month__grid .disabled-ring {
	border-color: var(--aim-gray);
}

.aim-month__grid .next {
	color: #2c4482;
}

.aim-upcoming {
	position: relative;
	z-index: 3;
	min-width: 0;
	width: min(100%, 548px);
	margin-top: 38px;
}

.aim-upcoming > h2 {
	height: 22px;
	margin: 0 0 11px;
	color: var(--aim-white);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
}

.aim-event-group {
	width: 100%;
	margin-bottom: 11px;
	overflow: hidden;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.05);
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-event-group.is-open,
.aim-event-group:hover,
.aim-event-group:focus-within {
	background: rgba(255, 255, 255, 0.1);
}

.aim-event-group__toggle {
	width: 100%;
	min-height: 64px;
	display: grid;
	grid-template-columns: 25px minmax(0, 1fr) 13px;
	gap: 22px;
	align-items: center;
	padding: 10px 20px 15px;
	border: 0;
	background: transparent;
	color: var(--aim-white);
	text-align: left;
	cursor: pointer;
}

.aim-event-date {
	width: 25px;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: var(--aim-white);
	font-size: 12px;
	line-height: 1.35;
}

.aim-event-date strong {
	width: 100%;
	height: 20px;
	display: grid;
	place-items: center;
	border-radius: 5px;
	background: var(--aim-white);
	color: var(--aim-deep-blue);
	font-size: 12px;
	font-weight: 400;
}

.aim-event-summary,
.aim-event-group__details > div {
	min-width: 0;
	display: flex;
	flex-direction: column;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: -0.28px;
	overflow-wrap: anywhere;
}

.aim-event-summary em,
.aim-event-group__details em {
	color: var(--aim-blue);
	font-style: normal;
}

.aim-event-chevron {
	width: 13px;
	height: 8px;
}

.aim-event-group.is-open .aim-event-chevron--closed,
.aim-event-group:not(.is-open) .aim-event-chevron--open {
	display: none;
}

.aim-event-group__details {
	margin: -4px 67px 15px;
}

.aim-event-group__details > div {
	min-height: 49px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.aim-event-group__details[hidden] {
	display: none;
}

.aim-month__navigation {
	display: flex;
	gap: 8px;
	margin-top: 28px;
}

.aim-month__nav {
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	background-color: transparent;
	color: var(--aim-white);
	cursor: pointer;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), border-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-month__nav > span {
	width: 8px;
	height: 8px;
	display: block;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.aim-month__nav--previous > span {
	transform: translateX(1px) rotate(-135deg);
}

.aim-month__nav--next > span {
	transform: translateX(-1px) rotate(45deg);
}

.aim-month__nav:hover,
.aim-month__nav:focus-visible {
	border-color: var(--aim-blue);
	background-color: var(--aim-blue);
	color: var(--aim-white);
}

.aim-month__nav:focus-visible,
.aim-month__day:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: 3px;
}

.aim-month__grid .aim-month__day {
	position: relative;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--aim-white);
	font-family: inherit;
	font-size: 16px;
	line-height: 1;
	letter-spacing: -0.4px;
	font-variant-numeric: tabular-nums;
}

.aim-month__grid .aim-month__day > span {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	border: 0;
	border-radius: 0;
	line-height: 1;
}

.aim-month__day::before,
.aim-month__day::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 36px;
	height: 36px;
	transform: translate(-50%, -50%);
	border-radius: 5px;
	content: "";
	pointer-events: none;
}

.aim-month__day.has-event {
	cursor: pointer;
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-month__day.has-event::before {
	border: 1px solid currentColor;
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), border-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-month__day.is-today::after {
	top: auto;
	bottom: 2px;
	width: 14px;
	height: 2px;
	transform: translateX(-50%);
	border-radius: 999px;
	background-color: var(--aim-blue);
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-month__grid .aim-month__day.is-selected {
	background: transparent;
	color: var(--aim-white);
}

.aim-month__day.is-selected::before,
.aim-month__day.has-event:hover::before,
.aim-month__day.has-event:focus-visible::before {
	border-color: var(--aim-blue);
	background-color: var(--aim-blue);
}

.aim-month__day.is-today.is-selected::after,
.aim-month__day.is-today.has-event:hover::after,
.aim-month__day.is-today.has-event:focus-visible::after {
	background-color: var(--aim-white);
}

.aim-month__grid .aim-month__day.is-other-month {
	color: #2c4482;
}

.aim-month__grid .aim-month__day.is-other-month > span {
	color: rgba(182, 182, 182, 0.62);
}

.aim-month__grid .aim-month__day.is-other-month.is-selected,
.aim-month__grid .aim-month__day.is-other-month.has-event:hover,
.aim-month__grid .aim-month__day.is-other-month.has-event:focus-visible {
	color: var(--aim-white);
}

.aim-month__grid .aim-month__day.is-other-month.is-selected > span,
.aim-month__grid .aim-month__day.is-other-month.has-event:hover > span,
.aim-month__grid .aim-month__day.is-other-month.has-event:focus-visible > span {
	color: var(--aim-white);
}

.aim-calendar-panel__section {
	margin: 0 0 22px;
}

.aim-calendar-panel__section > h2 {
	margin: 0 0 11px;
	color: var(--aim-white);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.2;
}

.aim-calendar-panel__events {
	display: grid;
	gap: 1px;
	overflow: hidden;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.04);
}

.aim-calendar-event {
	width: 100%;
	min-height: 54px;
	background: rgba(255, 255, 255, 0.05);
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-calendar-event:hover {
	background: rgba(255, 255, 255, 0.1);
}

.aim-calendar-event__heading {
	width: 100%;
	display: grid;
	grid-template-columns: 86px minmax(0, 1fr) 12px;
	gap: 16px;
	align-items: center;
	padding: 13px 20px;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	text-align: left;
}

button.aim-calendar-event__heading {
	cursor: pointer;
}

button.aim-calendar-event__heading:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: -3px;
}

.aim-calendar-event time,
.aim-calendar-event h3,
.aim-calendar-event__description {
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: -0.28px;
	overflow-wrap: anywhere;
}

.aim-calendar-event time {
	color: var(--aim-blue);
}

.aim-calendar-event h3,
.aim-calendar-upcoming-date h3 {
	margin: 0;
	color: var(--aim-white);
	font-weight: 400;
}

.aim-calendar-event__chevron {
	width: 8px;
	height: 8px;
	align-self: center;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	color: var(--aim-white);
	transform: translateY(-2px) rotate(45deg);
	transition: transform 460ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.aim-calendar-event.is-open .aim-calendar-event__chevron {
	transform: translateY(2px) rotate(225deg);
}

.aim-calendar-event__body {
	height: 0;
	overflow: hidden;
	transition: height 460ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.aim-calendar-event__body[hidden] {
	display: none;
}

.aim-calendar-event__body-inner {
	margin: 0 20px 13px 122px;
	padding-top: 10px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.aim-calendar-event__description {
	margin: 0;
	color: var(--aim-light-gray);
	white-space: pre-line;
}

/* CTA "Agendar en Google Calendar" dentro del desplegable del evento. */
.aim-calendar-event__add {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	padding: 8px 14px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 5px;
	background: transparent;
	color: var(--aim-white);
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: -0.26px;
	text-decoration: none;
}

.aim-calendar-event__description + .aim-calendar-event__add {
	margin-top: 14px;
}

.aim-calendar-event__add:hover,
.aim-calendar-event__add:focus-visible {
	border-color: var(--aim-blue);
	background: var(--aim-blue);
	color: var(--aim-white);
}

/* Cuadrado con encabezado, a modo de hoja de calendario. */
.aim-calendar-event__add-icon {
	position: relative;
	width: 13px;
	height: 13px;
	flex: none;
	border: 1.5px solid currentColor;
	border-radius: 2px;
}

.aim-calendar-event__add-icon::before {
	content: "";
	position: absolute;
	top: 0;
	right: -1.5px;
	left: -1.5px;
	height: 3px;
	background: currentColor;
}

.aim-calendar-panel__empty {
	margin: 0;
	padding: 13px 20px;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.05);
	color: var(--aim-light-gray);
	font-size: 14px;
	line-height: 1.35;
}

.aim-calendar-upcoming-date {
	margin-top: 11px;
}

.aim-calendar-upcoming-date h3 {
	margin: 0 0 7px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
}

/* Beneficios */
.aim-benefits,
.aim-programs,
.aim-video {
	background-image: var(--aim-home-flow-gradient);
	background-repeat: no-repeat;
	background-size: 100% var(--aim-home-flow-gradient-height);
}

.aim-benefits {
	position: relative;
	width: 100%;
	height: var(--aim-benefits-section-height);
	padding-top: 100px;
	background-position: center 0;
}

.aim-benefits .aim-container {
	--aim-shell-max: var(--aim-benefits-content);
}

.aim-benefits__heading {
	width: min(100%, 630px);
}

.aim-benefits__heading h2 {
	margin: 0;
	color: var(--aim-white);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.76px;
}

.aim-benefits__heading p {
	margin: 10px 0 0;
	color: var(--aim-light-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-benefits__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin-top: 50px;
}

/* Misma tarjeta que `.aim-associate-benefit` de la página Asociate. */
.aim-benefit {
	min-height: 204px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 50px;
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 5px;
	background: linear-gradient(to bottom, var(--aim-background), var(--aim-navy-light));
	color: var(--aim-white);
	cursor: default;
	opacity: 1;
	transform: none;
	transition: opacity 420ms ease, transform 420ms ease;
}

.js .aim-benefit:not(.is-visible) {
	opacity: 0;
	transform: translateY(22px);
}

.aim-benefit__icon {
	flex: 0 0 auto;
	width: 25px;
	height: auto;
	margin: 0;
	object-fit: contain;
	opacity: 0.56;
}

.aim-benefit__copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.aim-benefit h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
}

.aim-benefit p {
	margin: 0;
	color: rgba(255, 255, 255, 0.7);
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0;
}

/* Programas */
.aim-programs {
	width: 100%;
	height: var(--aim-programs-section-height);
	overflow: hidden;
	background-position: center calc(0px - var(--aim-benefits-section-height));
}

.aim-programs__layout {
	height: 100%;
	display: grid;
	grid-template-columns: minmax(0, 363px) minmax(0, 1fr);
	gap: clamp(48px, 5.95vw, 90px);
	align-items: start;
	padding-top: 0;
}

.aim-programs__heading h2 {
	margin: 0;
	color: var(--aim-white);
	font-size: 42px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.84px;
}

.aim-programs__heading p {
	width: min(100%, 363px);
	margin: 11px 0 0;
	color: var(--aim-white);
	font-size: 18px;
	line-height: 1.35;
	letter-spacing: -0.36px;
}

.aim-programs__carousel {
	width: calc(100% + var(--aim-shell-outset));
	min-width: 0;
	overflow: hidden;
}

.aim-programs__viewport {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	width: 100%;
	height: 370px;
	overflow: visible;
	scroll-snap-type: none;
	scrollbar-width: none;
	will-change: transform;
}

.aim-programs__viewport::-webkit-scrollbar {
	display: none;
}

.aim-program-card {
	flex: 0 0 415px;
	height: 327px;
	display: block;
	overflow: hidden;
	border-radius: 5px;
	background: var(--aim-white);
	color: var(--aim-deep-blue);
	cursor: pointer;
	scroll-snap-align: start;
	transition: height 220ms ease, transform 220ms ease;
}

.aim-program-card.is-expanded {
	height: 370px;
}

.aim-program-card__media {
	display: block;
	width: 100%;
	height: 180px;
	overflow: hidden;
	transition: height 220ms ease;
}

.aim-program-card.is-expanded .aim-program-card__media {
	height: 125px;
}

.aim-program-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.aim-program-card__body {
	height: 147px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 25px 30px;
}

.aim-program-card.is-expanded .aim-program-card__body {
	height: 245px;
}

.aim-program-card h3 {
	margin: 0;
	color: #111;
	font-size: 26px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.aim-program-card p {
	display: none;
	margin: 5px 0 0;
	color: var(--aim-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-program-card.is-expanded p {
	display: block;
}

.aim-program-card .aim-hover-link {
	display: none;
	margin-top: auto;
	color: var(--aim-gray);
}

.aim-program-card.is-leading .aim-hover-link {
	display: inline-flex;
}

.aim-program-card:hover .aim-hover-link,
.aim-program-card:focus-visible .aim-hover-link {
	color: var(--aim-blue);
}

.aim-program-card:hover .aim-hover-link__arrow,
.aim-program-card:focus-visible .aim-hover-link__arrow {
	width: 15px;
	opacity: 1;
	transform: translateX(0);
}

.aim-program-card:hover .aim-program-card__media img,
.aim-program-card:focus-visible .aim-program-card__media img {
	transform: scale(1.03);
}

.aim-program-card:focus-visible {
	outline: 3px solid var(--aim-blue);
	outline-offset: -3px;
}

.aim-carousel-controls {
	position: relative;
	width: 80.568px;
	height: 36px;
	margin-left: min(767.432px, calc(100% - 80.568px));
	margin-top: 2px;
}

.aim-carousel-controls button {
	position: absolute;
	z-index: 1;
	top: 0;
	display: block;
	width: 35px;
	height: 35px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	appearance: none;
	background: transparent;
	color: var(--aim-white);
	cursor: pointer;
	line-height: 0;
	opacity: 0.4;
	transition: opacity var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-carousel-controls button:hover,
.aim-carousel-controls button:focus-visible {
	opacity: 1;
}

.aim-carousel-controls button svg {
	width: 35.284px;
	height: 35.284px;
	max-width: none;
}

.aim-carousel-controls button:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: 2px;
}

.aim-carousel-controls [data-program-prev] {
	left: 0;
}

.aim-carousel-controls [data-program-next] {
	left: 45.284px;
}

/* Video */
.aim-video {
	width: 100%;
	height: var(--aim-video-section-height);
	background-position: center calc(0px - var(--aim-benefits-section-height) - var(--aim-programs-section-height));
}

.aim-video__frame {
	position: relative;
	--aim-shell-max: var(--aim-media-wide);
	height: var(--aim-video-section-height);
	overflow: hidden;
	border-radius: 5px;
	cursor: pointer;
	opacity: 1;
	transform: none;
	transition: opacity 500ms ease, transform 500ms ease;
}

.js .aim-video__frame:not(.is-visible),
.js .aim-newsletter__panel:not(.is-visible) {
	opacity: 0;
	transform: translateY(24px);
}

.aim-video__frame > img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 360ms ease;
}

.aim-video__frame:hover > img,
.aim-video__frame:focus-visible > img {
	transform: scale(1.03);
}

.aim-video__frame:focus-visible {
	outline: 3px solid var(--aim-white);
	outline-offset: -6px;
}

.aim-video__shade {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
}

.aim-video__copy {
	position: absolute;
	z-index: 2;
	left: max(30px, calc((100% - var(--aim-content)) / 2));
	bottom: 70px;
	width: min(568px, calc(100% - 60px));
	opacity: 1;
	transition: opacity 500ms ease;
}

.aim-video.is-playing .aim-video__copy {
	opacity: 0;
}

.aim-video__copy p {
	margin: 0;
	color: var(--aim-white);
	font-size: 28px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.56px;
	text-wrap: balance;
}

.aim-video__play {
	position: absolute;
	z-index: 3;
	top: 300px;
	left: 50%;
	width: 95px;
	height: 92px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	transform: translateX(-50%);
	transition: transform 180ms ease, opacity 300ms ease;
}

.aim-video__play img {
	display: block;
	width: 95px;
	height: 92px;
	object-fit: contain;
}

.aim-video__frame:hover .aim-video__play,
.aim-video__frame:focus-visible .aim-video__play {
	transform: translateX(-50%) scale(1.05);
}

.aim-video.is-playing .aim-video__frame {
	cursor: default;
}

.aim-video.is-playing .aim-video__play {
	opacity: 0;
	pointer-events: none;
}

.aim-video__embed {
	position: absolute;
	z-index: 4;
	inset: 0;
	background: #000;
}

.aim-video__embed iframe,
.aim-video__embed video {
	width: 100%;
	height: 100%;
	border: 0;
}

.aim-video__embed[hidden] {
	display: none;
}

/* Precios */
.aim-prices {
	position: relative;
	width: 100%;
	height: 783px;
	padding-top: 120px;
	overflow: hidden;
	background: var(--aim-background);
}

.aim-prices__texture {
	position: absolute;
	z-index: 0;
	top: 19.867px;
	left: max(791.417px, calc(50% + 35.417px));
	width: 814.41px;
	height: 814.41px;
	max-width: none;
	object-fit: contain;
	opacity: 0.03;
	transform: rotate(30deg);
	transform-origin: center;
	pointer-events: none;
}

.aim-prices .aim-container {
	position: relative;
	z-index: 1;
	--aim-shell-max: var(--aim-content);
}

.aim-prices__intro {
	width: min(100%, 732px);
	min-height: 99px;
}

.aim-prices h2 {
	margin: 0;
	color: var(--aim-white);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.76px;
}

.aim-prices__intro p {
	margin: 9px 0 0;
	color: var(--aim-light-gray);
	font-size: 16px;
	line-height: 1.4;
	letter-spacing: 0;
}

.aim-price-table-wrap {
	width: 100%;
	margin-top: 30px;
	overflow: visible;
}

.aim-price-table {
	width: 100%;
	min-width: 0;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.aim-price-table th,
.aim-price-table td {
	text-align: left;
}

/* Con pocos eventos el panel aprovecha mejor el alto disponible; desde cinco
 * elementos conserva la densidad compacta para crecer sin desbordarse. */
.aim-calendar-panel__events[data-event-count="1"] .aim-calendar-event__heading {
	min-height: 92px;
	padding-block: 22px;
}

.aim-calendar-panel__events[data-event-count="2"] .aim-calendar-event__heading,
.aim-calendar-panel__events[data-event-count="3"] .aim-calendar-event__heading,
.aim-calendar-panel__events[data-event-count="4"] .aim-calendar-event__heading {
	min-height: 74px;
	padding-block: 17px;
}

.goog-te-banner-frame.skiptranslate,
.VIpgJd-ZVi9od-ORHb-OEVmcd {
	display: none !important;
}

body {
	top: 0 !important;
}

.aim-price-table thead {
	background: var(--aim-blue);
}

.aim-price-table thead th {
	min-height: 36px;
	padding: 10px 20px;
	color: var(--aim-white);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	text-transform: none;
}

.aim-price-table thead th:first-child {
	border-radius: 10px 0 0;
	text-align: left;
}

.aim-price-table thead th:last-child {
	border-radius: 0 10px 0 0;
	padding-right: 20px;
}

.aim-price-table thead th:first-child,
.aim-price-table tbody th {
	width: 41.23%;
	padding-left: 20px;
}

.aim-price-table thead th:nth-child(2) {
	width: 18.3%;
}

.aim-price-table thead th:nth-child(3) {
	width: 25.47%;
}

.aim-price-table thead th:nth-child(4) {
	width: 15%;
}

.aim-price-table tbody {
	background: #142147;
}

.aim-price-table tbody tr {
	height: 52px;
}

.aim-price-table tbody tr:not(:last-child) {
	background-image: linear-gradient(rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09));
	background-position: 20px bottom;
	background-repeat: no-repeat;
	background-size: calc(100% - 40px) 1px;
}

.aim-price-table tbody th,
.aim-price-table tbody td {
	padding: 12px 20px;
	color: var(--aim-white);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}

.aim-price-table tbody th {
	padding-left: 20px;
	letter-spacing: 0;
}

.aim-price-table tbody td {
	font-variant-numeric: tabular-nums;
	text-align: left;
}

.aim-price-table tbody td:last-child {
	padding-right: 20px;
}

.aim-price-table tbody tr:last-child th {
	border-radius: 0 0 0 10px;
}

.aim-price-table tbody tr:last-child td:last-child {
	border-radius: 0 0 10px;
}

.aim-price-currency {
	font-size: 10px;
	line-height: 1.35;
}

.aim-price-value {
	font-size: 18px;
	line-height: 1.35;
}

.aim-price-table tbody td:nth-child(3) {
	font-size: 16px;
	line-height: 1.35;
}

.aim-price-table tbody td:nth-child(4) {
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-price-note {
	margin: 15px 0 0;
	color: rgba(255, 255, 255, 0.56);
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: -0.24px;
}

/* Noticias */
.aim-news {
	width: 100%;
	min-height: 621px;
	display: flex;
	align-items: center;
	background: var(--aim-background);
}

.aim-news .aim-container {
	text-align: center;
}

.aim-news > .aim-container > h2 {
	margin: 0 0 38px;
	color: var(--aim-white);
	font-size: 38px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.76px;
}

.aim-news__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	text-align: left;
}

.aim-news-card {
	min-width: 0;
	min-height: 447px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border-radius: 10px;
	background: var(--aim-white);
	color: var(--aim-deep-blue);
	cursor: pointer;
}

.aim-news-card__image {
	flex: 0 0 175px;
	width: 100%;
	height: 175px;
	overflow: hidden;
	background: #e7e7e7;
}

.aim-news-card__image img {
	position: relative;
	top: -5.67%;
	width: 100%;
	height: 156.8%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.aim-news-card__image.is-placeholder img {
	top: 0;
	height: 100%;
	object-position: center;
}

.aim-news-card:hover .aim-news-card__image img,
.aim-news-card:focus-visible .aim-news-card__image img {
	transform: scale(1.03);
}

.aim-news-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 25px 40px 30px 30px;
}

.aim-news-card__eyebrow {
	display: block;
	color: var(--aim-gray);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: uppercase;
}

.aim-news-card h3 {
	margin: 10px 0 0;
	color: var(--aim-deep-blue);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
}

.aim-news-card p {
	margin: 9px 0 0;
	color: var(--aim-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: -0.32px;
}

.aim-news-card .aim-hover-link {
	margin-top: auto;
	padding-top: 12px;
	color: var(--aim-gray);
}

.aim-news-card:hover .aim-hover-link,
.aim-news-card:focus-visible .aim-hover-link {
	color: var(--aim-blue);
}

.aim-news-card:hover .aim-hover-link__arrow,
.aim-news-card:focus-visible .aim-hover-link__arrow {
	width: 15px;
	opacity: 1;
	transform: translateX(0);
}

.aim-news-card:focus-visible {
	outline: 3px solid var(--aim-blue);
	outline-offset: 3px;
}

.aim-news__all {
	display: inline-grid;
	place-items: center;
	min-width: 177px;
	height: 52px;
	margin-top: 38px;
	padding: 0 25px;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.1);
	color: var(--aim-white);
	font-family: var(--aim-font-display);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-news__all:hover,
.aim-news__all:focus-visible {
	background: var(--aim-blue);
}

/* Newsletter */
.aim-newsletter {
	width: 100%;
	height: 547px;
	padding-top: 110px;
	background: var(--aim-background);
}

.aim-newsletter__panel {
	position: relative;
	height: 327px;
	overflow: hidden;
	border-radius: 15px;
	background: linear-gradient(to top, #064f83 0%, #096cab 48%, #0b82dc 100%);
	opacity: 1;
	transform: none;
	transition: opacity 500ms ease, transform 500ms ease;
}

.aim-newsletter__content {
	--aim-shell-max: var(--aim-newsletter-content);
	--aim-shell-gutter: clamp(30px, 7vw, 100px);
	position: relative;
	z-index: 1;
	height: 100%;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 550px);
	gap: 70px;
	align-items: center;
}

.aim-newsletter__texture {
	position: absolute;
	z-index: 0;
	max-width: none;
	object-fit: contain;
	opacity: 0.065;
	pointer-events: none;
}

.aim-newsletter__texture--left {
	top: 50%;
	left: 35%;
	width: 760px;
	height: 760px;
	transform: translate(-50%, -50%);
}

.aim-newsletter__texture--right {
	right: -620px;
	bottom: -700px;
	width: 1097px;
	height: 1097px;
	opacity: 0.045;
}

.aim-newsletter__copy,
.aim-newsletter__form {
	position: relative;
	min-width: 0;
}

.aim-newsletter h2 {
	margin: 0;
	color: var(--aim-white);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.6px;
}

.aim-newsletter__copy p {
	margin: 10px 0 0;
	color: var(--aim-light-gray);
	font-size: 16px;
	line-height: 1.35;
	letter-spacing: 0;
}

.aim-newsletter__form {
	width: 100%;
	max-width: 550px;
	height: 69px;
	justify-self: end;
}

.aim-newsletter__form:has(.gform_validation_errors),
.aim-newsletter__form:has(.gform_confirmation_message) {
	height: auto;
}

.aim-newsletter .gform_wrapper {
	width: 100%;
}

.onlines-newsletter-form,
.aim-newsletter .gform_wrapper form {
	width: 100%;
	height: 69px;
	display: flex;
	align-items: center;
	padding: 15px 10px 15px 25px;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.1);
}

.onlines-newsletter-form__field,
.aim-newsletter .gform_wrapper .gform_body {
	flex: 1 1 auto;
	min-width: 0;
}

.aim-newsletter .gform_wrapper .gform_body {
	width: auto !important;
	flex: 1 1 0 !important;
}

.onlines-newsletter-form__field {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.onlines-newsletter-form__field label,
.aim-newsletter .gform_wrapper .gfield_label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.aim-newsletter .gform_wrapper .gform_fields,
.aim-newsletter .gform_wrapper .gfield,
.aim-newsletter .gform_wrapper .ginput_container {
	margin: 0;
	padding: 0;
}

.aim-newsletter .gform_wrapper .gform_fields,
.aim-newsletter .gform_wrapper .gfield,
.aim-newsletter .gform_wrapper .ginput_container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.aim-newsletter .gform_wrapper .gfield {
	display: block !important;
	list-style: none !important;
}

.aim-newsletter .gform_wrapper .gform_footer {
	flex: 0 0 auto;
	width: auto !important;
	margin: 0;
	padding: 0;
}

.aim-newsletter .gform_wrapper .gfield {
	position: relative;
}

.aim-newsletter .gform_wrapper form:has(.validation_message) {
	margin-bottom: 34px;
}

.aim-newsletter .gform_wrapper .gform_validation_errors {
	margin: 0 0 8px !important;
	padding: 10px 12px !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--custom-rojo, #ce2958) 72%, transparent) !important;
	border-left-width: 3px !important;
	border-radius: 6px !important;
	background: color-mix(in srgb, var(--wp--preset--color--custom-rojo, #ce2958) 9%, transparent) !important;
	box-shadow: none !important;
	color: var(--aim-white) !important;
}

.aim-newsletter .gform_wrapper .gform_submission_error {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	color: inherit !important;
	font-family: var(--aim-font-text) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
}

.aim-newsletter .gform_wrapper .gform_submission_error::before {
	width: 16px !important;
	height: 16px !important;
	flex: 0 0 16px !important;
	margin: 0 !important;
	background-size: 16px 16px !important;
}

.aim-newsletter .gform_wrapper .gfield_error {
	background: transparent !important;
}

html body .aim-newsletter .gform_wrapper .gfield.gfield_error input[type="email"],
html body .aim-newsletter .gform_wrapper .gfield.gfield_error input[type="email"]:focus,
html body .aim-newsletter .gform_wrapper input[type="email"][aria-invalid="true"] {
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--aim-white) !important;
}

html body .aim-newsletter .gform_wrapper .gfield.gfield_error .gfield_label {
	color: var(--aim-white) !important;
}

.aim-newsletter .gform_wrapper .validation_message {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	width: fit-content !important;
	max-width: 100% !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	margin: 0 !important;
	padding: 4px 8px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: color-mix(in srgb, var(--wp--preset--color--custom-rojo, #ce2958) 11%, transparent) !important;
	color: color-mix(in srgb, var(--wp--preset--color--custom-rojo, #ce2958) 42%, white) !important;
	font-family: var(--aim-font-text) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
}

.aim-newsletter .gform_wrapper .validation_message::before {
	width: 5px;
	height: 5px;
	flex: 0 0 5px;
	border-radius: 50%;
	background: currentColor;
	content: "";
}

.aim-newsletter .gform_confirmation_message {
	padding: 15px 18px !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--custom-verde, #40bc84) 72%, transparent) !important;
	border-left-width: 3px !important;
	border-radius: 6px !important;
	background: color-mix(in srgb, var(--wp--preset--color--custom-verde, #40bc84) 9%, transparent) !important;
	color: var(--aim-white) !important;
	font-family: var(--aim-font-text) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

.aim-newsletter .gform_ajax_spinner {
	width: 18px !important;
	height: 18px !important;
	margin: 0 0 0 8px !important;
	vertical-align: middle !important;
}

.aim-newsletter :is(input, button)[type="submit"]:disabled {
	cursor: wait !important;
	opacity: 0.65 !important;
}

.onlines-newsletter-form input,
.aim-newsletter .gform_wrapper input[type="email"] {
	width: 100% !important;
	flex: 1;
	min-width: 0;
	height: 39px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--aim-white);
	font-family: var(--aim-font-display);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	outline: 0;
	color-scheme: dark;
}

.onlines-newsletter-form input:-webkit-autofill,
.onlines-newsletter-form input:-webkit-autofill:hover,
.onlines-newsletter-form input:-webkit-autofill:focus,
.aim-newsletter .gform_wrapper input[type="email"]:-webkit-autofill,
.aim-newsletter .gform_wrapper input[type="email"]:-webkit-autofill:hover,
.aim-newsletter .gform_wrapper input[type="email"]:-webkit-autofill:focus {
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: var(--aim-white);
	caret-color: var(--aim-white);
	box-shadow: none;
	transition: background-color 9999s ease-out 0s;
}

.onlines-newsletter-form input::placeholder,
.aim-newsletter .gform_wrapper input[type="email"]::placeholder {
	color: rgba(255, 255, 255, 0.82);
}

.onlines-newsletter-form button,
.aim-newsletter .gform_wrapper input[type="submit"],
.aim-newsletter .gform_wrapper button[type="submit"] {
	flex: 0 0 auto;
	height: 50px;
	padding: 14px 30px;
	border: 0;
	border-radius: 8px;
	background: var(--aim-white);
	color: #173763;
	font-family: var(--aim-font-display);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	cursor: pointer;
	transition: background-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), border-color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.onlines-newsletter-form button:hover,
.onlines-newsletter-form button:focus-visible,
.aim-newsletter .gform_wrapper input[type="submit"]:hover,
.aim-newsletter .gform_wrapper input[type="submit"]:focus-visible,
.aim-newsletter .gform_wrapper button[type="submit"]:hover,
.aim-newsletter .gform_wrapper button[type="submit"]:focus-visible {
	background-color: var(--aim-blue);
	color: var(--aim-white);
}

.onlines-newsletter-form button span {
	display: none;
}

.onlines-form-diagnostic {
	display: none;
}

/* Footer */
.aim-footer {
	width: 100%;
	height: 182px;
	padding-bottom: 45px;
	background: var(--aim-background);
}

.aim-footer__grid {
	height: 137px;
	display: grid;
	grid-template-columns: 210px 205px 210px;
	justify-content: space-between;
	align-items: end;
}

.aim-footer__contact {
	width: 210px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	color: var(--aim-light-gray);
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
}

.aim-footer__contact a {
	transition: color var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-footer__contact a:hover,
.aim-footer__contact a:focus-visible {
	color: var(--aim-blue);
}

.aim-footer__brand {
	width: 205px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	text-align: center;
}

.aim-footer__logo {
	position: relative;
	width: 107px;
	height: 106px;
	overflow: hidden;
	text-align: center;
}

.aim-footer__logo:hover {
	background: transparent;
	filter: none;
	transform: none;
}

.aim-footer__logo img {
	position: absolute;
	left: -47.82%;
	top: -14.42%;
	width: 190.17%;
	height: 170.9%;
	max-width: none;
}

.aim-footer__brand p,
.aim-footer__social p {
	margin: 0;
	color: rgba(255, 255, 255, 0.4);
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: -0.24px;
}

.aim-footer__social {
	width: 210px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 31px;
}

.aim-footer__social-icons {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	width: auto;
	height: 22px;
}

.aim-footer__social-icons a {
	display: grid;
	place-items: center;
	flex: 0 0 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	color: var(--aim-white);
	transition: filter var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing), transform var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-footer__social-icons a:hover,
.aim-footer__social-icons a:focus-visible {
	background-color: transparent;
	filter: brightness(1.35);
	transform: translateY(-2px);
}

.aim-footer__social-icons a:focus-visible,
.aim-footer__onlines:focus-visible,
.aim-footer__logo:focus-visible {
	outline: 2px solid var(--aim-blue);
	outline-offset: 4px;
}

.aim-footer__social-icons svg {
	display: block;
	width: 20px;
	height: 20px;
	fill: currentColor;
	pointer-events: none;
}

.aim-footer__social p {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	line-height: 1.45;
}

.aim-footer__onlines {
	display: inline-flex;
	align-items: center;
	align-self: center;
	line-height: 0;
	margin-bottom: 3px;
	vertical-align: middle;
	transition: filter var(--onlines-ui-hover-duration) var(--onlines-ui-hover-easing);
}

.aim-footer__onlines:hover,
.aim-footer__onlines:focus-visible {
	filter: brightness(1.35);
}

.aim-footer__social p img {
	display: block;
	width: 49px;
	height: auto;
}

.aim-whatsapp-float {
	position: fixed;
	z-index: 80;
	right: max(22px, env(safe-area-inset-right));
	bottom: max(22px, env(safe-area-inset-bottom));
	display: block;
	width: 60px;
	height: 58px;
	border-radius: 50%;
	filter: drop-shadow(0 8px 18px rgba(0, 0, 0, 0.24));
	transition: transform var(--onlines-ui-hover-duration, 180ms) var(--onlines-ui-hover-easing, ease), filter var(--onlines-ui-hover-duration, 180ms) var(--onlines-ui-hover-easing, ease);
}

.aim-whatsapp-float img {
	display: block;
	width: 60px;
	height: 58px;
}

.aim-whatsapp-float:hover,
.aim-whatsapp-float:focus-visible {
	transform: translateY(-3px);
	filter: drop-shadow(0 11px 20px rgba(0, 0, 0, 0.28));
}

.aim-whatsapp-float:focus-visible {
	outline: 2px solid var(--aim-white);
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.aim-footer__social-icons a,
	.aim-whatsapp-float {
		transition: none;
	}

	.aim-footer__social-icons a:hover,
	.aim-footer__social-icons a:focus-visible,
	.aim-whatsapp-float:hover,
	.aim-whatsapp-float:focus-visible {
		transform: none;
	}
}

/* Responsive */
@media (max-width: 1280px) {
	.aim-nav {
		gap: clamp(12px, 1.7vw, 24px);
	}

	.aim-nav a {
		font-size: clamp(12px, 1.18vw, 14px);
	}

	.aim-nav__submenu-item {
		font-size: clamp(11px, 1.1vw, 13px);
	}

	.aim-language {
		flex-basis: clamp(36px, 3.125vw, 40px);
		width: clamp(36px, 3.125vw, 40px);
		min-width: clamp(36px, 3.125vw, 40px);
		height: clamp(26px, 2.1875vw, 28px);
		margin-left: clamp(6px, 0.85vw, 11px);
	}

	.aim-language__toggle {
		height: clamp(26px, 2.1875vw, 28px);
		font-size: clamp(11px, 0.9375vw, 12px);
	}

	.aim-language__menu {
		width: clamp(48px, 4.0625vw, 52px);
	}

	.aim-language__menu a.glink {
		height: clamp(28px, 2.34375vw, 30px);
		font-size: clamp(11px, 0.9375vw, 12px);
	}

	.aim-intro__content {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		column-gap: clamp(28px, 4vw, 55px);
	}

	.aim-intro__copy {
		width: 100%;
	}

	.aim-intro__media {
		width: 100%;
		max-width: 600px;
	}

	.aim-intro__copy > p:not(.aim-eyebrow) {
		width: 100%;
	}

	.aim-stats {
		padding-inline: clamp(20px, 4vw, 70px);
	}

	.aim-calendar__content {
		grid-template-columns: minmax(0, 452px) minmax(0, 548px);
		gap: clamp(28px, 4vw, 60px);
		justify-content: space-between;
	}

	.aim-benefits__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.aim-benefit {
		gap: 30px;
		padding: 30px;
	}

	.aim-action-card {
		padding-inline: clamp(30px, 3.6vw, 50px);
	}

	.aim-newsletter__content {
		grid-template-columns: minmax(240px, 1fr) minmax(360px, 550px);
		gap: clamp(32px, 5vw, 70px);
	}
}

@media (min-width: 901px) and (max-width: 960px) {
	.aim-carousel-controls {
		margin-top: 28px;
	}
}

@media (max-width: 900px) {
	:root {
		--aim-page-gutter: 19px;
		--aim-benefits-section-height: 777px;
	}

	.aim-header,
	.aim-header__inner {
		height: 76px;
	}

	.aim-nav,
	.aim-language {
		display: none;
	}

	.aim-brand {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
	}

	.aim-brand > img {
		width: 56px;
		height: 56px;
	}

	.aim-menu-toggle {
		width: 44px;
		height: 44px;
		display: flex;
		flex: 0 0 44px;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 5px;
		margin-left: auto;
		padding: 0;
		border: 0;
		background: transparent;
	}

	.aim-menu-toggle:hover,
	.aim-menu-toggle:focus-visible {
		background-color: rgba(255, 255, 255, 0.1);
	}

	.aim-menu-toggle > span:not(.screen-reader-text) {
		display: block;
		width: 24px;
		height: 2px;
		margin: 0;
		background: var(--aim-white);
	}

	.aim-mobile-nav {
		position: absolute;
		z-index: 20;
		top: 76px;
		left: 0;
		right: 0;
		display: grid;
		gap: 14px;
		max-height: calc(100vh - 76px);
		max-height: calc(100dvh - 76px);
		padding: 22px;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--aim-panel);
	}

	.aim-mobile-nav[hidden] {
		display: none;
	}

	.aim-mobile-nav > a {
		display: flex;
		min-height: 44px;
		align-items: center;
	}

	.aim-mobile-nav .aim-language--mobile {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		height: auto;
		min-height: 44px;
		margin: 6px 0 0;
		padding: 0;
	}

	.aim-mobile-nav .aim-language__mobile-label {
		flex: 0 0 auto;
		font-size: 14px;
	}

	.aim-mobile-nav .aim-language--mobile .aim-language__control {
		flex: 0 0 44px;
		width: 44px;
		margin-left: auto;
	}

	.aim-mobile-nav .aim-language--mobile .aim-language__toggle {
		height: 44px;
		font-size: 12px;
	}

	.aim-mobile-nav .aim-language--mobile .aim-language__menu {
		width: 52px;
	}

	.aim-mobile-nav .aim-language--mobile .aim-language__menu a.glink {
		height: 44px;
		font-size: 12px;
	}

	.aim-mobile-nav .aim-language--mobile .aim-language__menu {
		top: auto;
		bottom: calc(100% + 6px);
		transform-origin: bottom right;
		transform: translateY(8px) scale(0.97);
	}

	.aim-mobile-nav .aim-language--mobile.is-open .aim-language__menu {
		transform: translateY(0) scale(1);
	}

	.aim-hero {
		height: 630px;
	}

	.aim-hero__visual {
		inset-inline: 8px;
	}

	.aim-live-banner {
		left: 8px;
		right: 8px;
		padding: 0 16px;
		text-align: center;
	}

	/* Sin hover real en mobile: el ícono queda fijo, sin el refresco. */
	.aim-live-banner:hover .aim-live-banner__icon-waves,
	.aim-live-banner:focus-visible .aim-live-banner__icon-waves {
		animation: none;
	}

	.aim-live-banner__event,
	.aim-live-banner:hover .aim-live-banner__event,
	.aim-live-banner:focus-visible .aim-live-banner__event {
		text-decoration: none;
		transition: none;
	}

	.aim-hero__content {
		padding-top: 190px;
	}

	.aim-hero h1 {
		font-size: clamp(43px, 12vw, 67px);
		line-height: 1.03;
		letter-spacing: -1.7px;
	}

	.aim-hero__content p {
		font-size: 16px;
	}

	.aim-desktop-only {
		display: none;
	}

	.aim-partners {
		--aim-partners-logo-width: 145px;
		--aim-partners-min-slide-width: 170px;
		--aim-partners-gap: 0px;
		height: 205px;
		padding-block: 24px;
	}

	.aim-partners__viewport {
		overflow: hidden;
		clip-path: inset(0 var(--aim-page-gutter));
		cursor: grab;
	}

	.aim-partners.is-pointer-down .aim-partners__viewport,
	.aim-partners.is-dragging .aim-partners__viewport {
		cursor: grabbing;
	}

	.aim-partners__track {
		width: max-content;
		margin-inline-start: var(--aim-page-gutter);
		margin-inline-end: 0;
		justify-content: flex-start;
		gap: var(--aim-partners-gap);
		overflow: visible;
		user-select: none;
	}

	.aim-partners.is-aim-slider-loop .aim-partners__track {
		align-items: center;
	}

	.aim-partner-logo {
		flex: 0 0 var(--aim-partners-slide-width, var(--aim-partners-logo-width));
	}

	.aim-intro {
		height: auto;
	}

	.aim-intro__panel {
		display: block;
		height: auto;
		padding: 0 0 45px;
	}

	.aim-intro__content,
	.aim-stats {
		position: relative;
		inset: auto;
	}

	.aim-intro__content {
		display: block;
		padding-top: 45px;
	}

	.aim-intro__copy,
	.aim-intro__media {
		width: 100%;
	}

	.aim-intro__media {
		max-width: none;
	}

	.aim-intro__copy {
		margin-top: 0;
	}

	.aim-intro__copy h2 {
		font-size: 32px;
	}

	.aim-intro__media {
		height: 280px;
		margin-top: 40px;
	}

	.aim-intro__media > img:first-child {
		width: 100%;
		height: 280px;
	}

	.aim-stats {
		height: auto;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
		margin-top: 30px;
		padding: 40px 15px 20px;
	}

	.aim-actions {
		height: auto;
		padding: 40px 0 55px;
	}

	.aim-actions__grid {
		grid-template-columns: 1fr;
	}

	.aim-action-card {
		height: 330px;
	}

	.aim-calendar {
		height: auto;
		padding-bottom: 55px;
	}

	.aim-calendar__panel {
		padding-block: 50px;
	}

	.aim-calendar__content {
		--aim-shell-gutter: 24px;
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.aim-month,
	.aim-upcoming {
		width: 100%;
	}

	.aim-upcoming {
		margin-top: 0;
	}

	.aim-benefits {
		height: auto;
		padding: 65px 0;
	}

	.aim-benefits__heading {
		width: 100%;
	}

	.aim-benefits__grid {
		grid-template-columns: repeat(2, 1fr);
		grid-auto-rows: minmax(181px, auto);
	}

	.aim-programs {
		height: auto;
		padding: 55px 0;
	}

	.aim-programs__layout {
		grid-template-columns: 1fr;
		gap: 35px;
	}

	.aim-programs__carousel {
		width: 100%;
		overflow: hidden;
	}

	.aim-programs__viewport {
		display: flex;
		height: auto;
		transform: none;
		will-change: transform;
	}

	.aim-program-card,
	.aim-program-card.is-expanded {
		width: 100%;
		height: auto;
		flex: 0 0 100%;
	}

	.aim-program-card__media,
	.aim-program-card.is-expanded .aim-program-card__media {
		height: auto;
		min-height: 125px;
		aspect-ratio: 427 / 128;
	}

	.aim-program-card__body,
	.aim-program-card.is-expanded .aim-program-card__body {
		height: 245px;
	}

	.aim-program-card p,
	.aim-program-card.is-expanded p {
		display: block;
	}

	.aim-program-card .aim-hover-link--program {
		padding-top: 16px;
	}

	.aim-carousel-controls {
		display: block;
		margin-top: 28px;
		margin-left: 0;
	}

	.aim-video {
		height: auto;
		padding-top: 48px;
	}

	.aim-video__frame {
		height: 520px;
	}

	.aim-video__copy {
		left: 30px;
		right: 30px;
		bottom: 35px;
		width: auto;
	}

	.aim-video__copy p {
		font-size: 23px;
	}

	.aim-video__play {
		top: 210px;
		width: 70px;
		height: 68px;
	}

	.aim-video__play img {
		width: 70px;
		height: 68px;
	}

	.aim-prices {
		height: auto;
		padding: 75px 0 90px;
	}

	.aim-prices__intro,
	.aim-price-table-wrap {
		width: 100%;
	}

	/*
	 * Con `table-layout: fixed` los anchos se reparten sobre el borde de la tabla,
	 * no sobre el contenido: sumando 100% el padding lateral de Fecha empujaba el
	 * texto fuera del cuadro. Se achica Insumo para dejar ese margen disponible.
	 */
	.aim-price-table thead th:first-child,
	.aim-price-table tbody th {
		width: 34%;
		padding-left: clamp(14px, 2.2vw, 20px);
	}

	.aim-price-table thead th:nth-child(2) {
		width: 20%;
	}

	.aim-price-table thead th:nth-child(3) {
		width: 22%;
	}

	.aim-price-table thead th:nth-child(4) {
		width: 24%;
	}

	/*
	 * `US$` y el importe son spans separados: sin esto la columna los corta en
	 * dos lineas solo en las filas con numero largo, y el precio queda disparejo
	 * entre filas.
	 */
	.aim-price-table tbody td:nth-child(2) {
		white-space: nowrap;
	}

	/* La fecha es una sola pieza; nunca debe partirse. */
	.aim-price-table tbody td:nth-child(4) {
		white-space: nowrap;
	}

	.aim-price-table thead th,
	.aim-price-table tbody th,
	.aim-price-table tbody td {
		padding-right: clamp(8px, 2vw, 18px);
		padding-left: clamp(8px, 2vw, 18px);
	}

	.aim-price-table thead th:first-child,
	.aim-price-table tbody th {
		padding-left: clamp(14px, 2.2vw, 20px);
	}

	.aim-price-table thead th:last-child,
	.aim-price-table tbody td:last-child {
		padding-right: clamp(14px, 2.2vw, 20px);
	}

	/*
	 * Todas las filas al alto de la mas alta. `min-height` no aplica a filas ni a
	 * celdas de tabla, asi que cada fila crecia solo lo suyo y las de dos lineas
	 * (`ACERO (VARILLAS CORRUGADAS)`) sobresalian ~19px sobre el resto. Sobre un
	 * `tr`, `height` actua como minimo, no como tope: fijandolo al alto de dos
	 * lineas mas el padding, las filas de una linea igualan a las de dos y una
	 * eventual de tres seguiria creciendo sin recortarse.
	 */
	.aim-price-table tbody tr {
		height: calc(2 * 1.35 * 14px + 24px);
	}

	.aim-news {
		height: auto;
		padding: 70px 0;
	}

	.aim-news__grid {
		grid-template-columns: 1fr;
	}

	.aim-newsletter {
		height: auto;
		padding: 70px 0;
	}

	.aim-news + .aim-newsletter {
		padding-top: 0;
	}

	.aim-newsletter__panel {
		height: auto;
	}

	.aim-newsletter__texture--left {
		left: 28%;
		width: 520px;
		height: 520px;
	}

	.aim-newsletter__texture--right {
		right: -500px;
		bottom: -430px;
		width: 680px;
		height: 680px;
	}

	.aim-newsletter__content {
		--aim-shell-gutter: 30px;
		height: auto;
		grid-template-columns: 1fr;
		gap: 42px;
		padding-block: 55px;
	}

	.aim-newsletter__form {
		width: 100%;
		max-width: none;
		justify-self: stretch;
	}

	.aim-footer {
		height: auto;
		padding: 40px 0;
	}

	.aim-footer__grid {
		height: auto;
		grid-template-columns: 1fr;
		gap: 35px;
		text-align: center;
	}

	.aim-footer__contact,
	.aim-footer__social {
		align-items: center;
		justify-self: center;
		text-align: center;
		width: 100%;
	}

	.aim-footer__brand {
		justify-self: center;
	}

	.aim-footer__contact a,
	.aim-footer__contact span {
		text-align: center;
	}
}

@media (max-width: 560px) {
	.aim-whatsapp-float {
		right: max(16px, env(safe-area-inset-right));
		bottom: max(16px, env(safe-area-inset-bottom));
	}

	.aim-live-banner {
		font-size: 9px;
	}

	.aim-hero h1 {
		font-size: 43px;
	}

	.aim-hero__content p {
		font-size: 14px;
	}

	.aim-intro__copy > p:not(.aim-eyebrow) {
		font-size: 14px;
	}

	.aim-stats {
		grid-template-columns: 1fr;
	}

	.aim-calendar__content {
		--aim-shell-gutter: 16px;
	}

	.aim-month__weekdays,
	.aim-month__grid {
		grid-template-columns: repeat(7, minmax(25px, 30px));
	}

	.aim-upcoming {
		overflow: hidden;
	}

	.aim-calendar-event__heading {
		grid-template-columns: 70px minmax(0, 1fr) 12px;
		gap: 12px;
	}

	.aim-calendar-panel__events[data-event-count="1"] .aim-calendar-event__heading,
	.aim-calendar-panel__events[data-event-count="2"] .aim-calendar-event__heading,
	.aim-calendar-panel__events[data-event-count="3"] .aim-calendar-event__heading,
	.aim-calendar-panel__events[data-event-count="4"] .aim-calendar-event__heading {
		min-height: 68px;
		padding-block: 15px;
	}

	.aim-calendar-event__body-inner {
		margin: 0 20px 13px;
	}

	.aim-calendar-event__add {
		width: 100%;
		justify-content: center;
	}

	.aim-event-group__details {
		margin-inline: 67px 20px;
	}

	.aim-benefits__grid {
		grid-template-columns: 1fr;
	}

	.aim-price-table-wrap {
		overflow: hidden;
		border-radius: 10px;
		background: #142147;
	}

	.aim-prices h2 {
		font-size: 34px;
		line-height: 1.1;
	}

	.aim-prices__intro {
		min-height: 0;
	}

	.aim-prices__intro p {
		margin-top: 14px;
		line-height: 1.5;
	}

	.aim-price-table-wrap {
		margin-top: 28px;
	}

	.aim-price-table,
	.aim-price-table tbody,
	.aim-price-table tbody tr,
	.aim-price-table tbody th,
	.aim-price-table tbody td {
		display: block;
		width: 100%;
	}

	.aim-price-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
		border: 0;
	}

	.aim-price-table tbody tr,
	.aim-price-table tbody tr:not(:last-child) {
		height: auto;
		min-height: 0;
		padding: 18px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.12);
		background-image: none;
	}

	.aim-price-table tbody tr:last-child {
		border-bottom: 0;
	}

	.aim-price-table tbody th,
	.aim-price-table tbody td,
	.aim-price-table tbody td:last-child {
		padding: 0;
		border-left: 0;
		border-radius: 0;
		border-bottom: 0;
	}

	.aim-price-table tbody th {
		margin-bottom: 10px;
		font-weight: 500;
	}

	/*
	 * Incluye `td:last-child` porque el reset de arriba lo alcanza con mayor
	 * especificidad y le dejaba `padding-top: 0`: la fila Fecha quedaba pegada a
	 * Variacion mientras las otras separaban 8px.
	 */
	.aim-price-table tbody td,
	.aim-price-table tbody td:last-child {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 16px;
		align-items: baseline;
		padding-top: 8px;
		text-align: right;
	}

	.aim-price-table tbody td::before {
		content: attr(data-label);
		color: rgba(255, 255, 255, 0.72);
		font-size: 11px;
		font-weight: 500;
		line-height: 1.35;
		text-align: left;
		text-transform: uppercase;
	}

	/*
	 * La celda de precio tiene tres ítems de grilla —etiqueta, moneda y valor—
	 * porque `US$` y el importe son spans separados. Sin la tercera columna el
	 * importe cae a una segunda fila.
	 */
	.aim-price-table tbody td:nth-child(2) {
		grid-template-columns: minmax(0, 1fr) auto auto;
		column-gap: 4px;
	}

	/* Sin esto la fecha hereda el tracking de escritorio y no cierra igual. */
	.aim-price-table tbody td:nth-child(4) {
		letter-spacing: normal;
	}

	.aim-newsletter h2 {
		font-size: 27px;
	}

	.onlines-newsletter-form,
	.aim-newsletter .gform_wrapper form {
		height: auto;
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 18px;
	}

	.aim-newsletter__form {
		height: auto;
	}

	.onlines-newsletter-form input,
	.onlines-newsletter-form button,
	.aim-newsletter .gform_wrapper input[type="email"],
	.aim-newsletter .gform_wrapper input[type="submit"],
	.aim-newsletter .gform_wrapper button[type="submit"] {
		width: 100%;
	}

	.onlines-newsletter-form__field label,
	.aim-newsletter .gform_wrapper .gfield_label {
		margin-bottom: 6px;
		font-size: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aim-calendar-event__body,
	.aim-calendar-event__chevron {
		transition-duration: 0.01ms;
	}

	html {
		scroll-behavior: auto;
	}

	.aim-action-card,
	.aim-action-card::before,
	.aim-action-card__button,
	.aim-action-card__button-arrow,
	.aim-benefit,
	.aim-program-card,
	.aim-program-card__media,
	.aim-program-card__media img,
	.aim-news-card__image img,
	.aim-video__frame > img,
	.aim-video__play,
	.aim-video__copy {
		transition: none;
	}

	.aim-action-card:hover,
	.aim-action-card:focus-visible {
		transform: none;
	}

	.aim-program-card:hover .aim-program-card__media img,
	.aim-program-card:focus-visible .aim-program-card__media img,
	.aim-news-card:hover .aim-news-card__image img,
	.aim-news-card:focus-visible .aim-news-card__image img,
	.aim-video__frame:hover > img,
	.aim-video__frame:focus-visible > img,
	.aim-video__frame:hover .aim-video__play,
	.aim-video__frame:focus-visible .aim-video__play {
		transform: none;
	}
}
.aim-home-content.wp-block-post-content {
    margin: 0 !important;
    max-width: none !important;
    padding: 0 !important;
    width: 100%;
}

.aim-home-content.wp-block-post-content > * {
    margin-block: 0 !important;
    max-width: none;
}
