/* =========================================================================
   Academia Mística · capa de pulido: cabecera, lema, tarjetas de escuelas
   y cursos, curso de regalo, blog de portada, boletín y chakras.
   ========================================================================= */

/* ---------- Cabecera ---------- */
.am-nav__list { gap: clamp(16px, 1.7vw, 28px); }
.am-nav__list > li > a { display: inline-flex; align-items: center; white-space: nowrap; }
.am-nav__list .menu-item-has-children > a::after { flex: none; }
.am-nav__actions { gap: 10px; }
.am-nav__actions .am-btn { white-space: nowrap; }
.am-btn--login { min-height: 42px; padding: 0 16px; font-weight: 700; letter-spacing: 0.01em; }

.am-btn--signup {
	position: relative; min-height: 42px; padding: 0 18px 0 6px; gap: 10px;
	font-weight: 700; font-size: 14.5px; letter-spacing: 0.01em;
	background: linear-gradient(135deg, #A65CB5 0%, #8A3FA0 100%);
	box-shadow: 0 6px 18px -6px rgba(155, 78, 170, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.18);
	transition: transform var(--am-dur) var(--am-ease), box-shadow var(--am-dur) var(--am-ease), filter var(--am-dur) var(--am-ease);
}
.am-btn--signup:hover { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 10px 24px -8px rgba(155, 78, 170, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.2); }
.am-btn--signup__icon {
	position: relative; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%;
	background: rgba(255, 255, 255, 0.18); color: #FFFFFF;
}
.am-nav__actions .am-btn--signup__icon svg { width: 16px; height: 16px; animation: am-signup-icon 4s ease-in-out infinite; }
.am-btn--signup__icon::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, 0.55);
	animation: am-signup-ring 4s ease-out infinite;
}
@keyframes am-signup-icon { 0%, 70%, 100% { transform: none; } 76% { transform: translateY(-2px) rotate(-8deg); } 82% { transform: translateY(0) rotate(6deg); } 88% { transform: rotate(0); } }
@keyframes am-signup-ring { 0%, 70% { transform: scale(1); opacity: 0; } 74% { opacity: 0.9; } 100% { transform: scale(1.7); opacity: 0; } }
@media (max-width: 1320px) and (min-width: 961px) { .am-btn--signup__extra { display: none; } }
@media (max-width: 1180px) and (min-width: 961px) {
	.am-nav__list { gap: 14px; }
	.am-nav__list a { font-size: 14px; }
	.am-btn--login span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.am-btn--login { padding: 0 12px; }
}

/* ---------- Hero: lema y regalo ---------- */
.am-slogan {
	display: inline-flex; align-items: center; gap: 12px; margin: 0 0 var(--am-space-4);
	padding: 8px 18px; border-radius: 999px;
	background: linear-gradient(90deg, rgba(217, 180, 90, 0.14), rgba(155, 78, 170, 0.14));
	box-shadow: inset 0 0 0 1px rgba(233, 201, 120, 0.35), 0 0 32px -8px rgba(233, 201, 120, 0.45);
}
.am-slogan__text {
	font-family: var(--am-font-head); font-size: clamp(14px, 1.35vw, 17px); font-weight: 800;
	letter-spacing: 0.22em; text-transform: uppercase;
	background: linear-gradient(100deg, #F6E3A8 0%, #E9C978 30%, #FFF7DA 50%, #E9C978 70%, #D9B45A 100%);
	background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
	animation: am-slogan-shine 5.5s ease-in-out infinite;
}
.am-slogan__star { color: #E9C978; font-size: 12px; text-shadow: 0 0 10px rgba(233, 201, 120, 0.9); animation: am-twinkle 2.6s ease-in-out infinite; }
.am-slogan__star:last-child { animation-delay: 1.3s; }
@keyframes am-slogan-shine { 0%, 100% { background-position: 100% 0; } 50% { background-position: 0 0; } }
@keyframes am-twinkle { 0%, 100% { opacity: 0.45; transform: scale(0.85); } 50% { opacity: 1; transform: scale(1.15); } }
.am-hero .am-hero__kicker { margin-bottom: var(--am-space-3); }

.am-hero__gift {
	display: inline-flex; align-items: center; gap: 12px; max-width: 560px; margin-top: var(--am-space-5);
	padding: 10px 18px 10px 10px; border-radius: 18px;
	background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
	backdrop-filter: blur(6px); color: rgba(255, 255, 255, 0.82); font-size: var(--am-fs-sm); line-height: 1.45;
}
.am-hero__gift-icon {
	position: relative; flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
	background: radial-gradient(circle at 50% 40%, #F6E3A8, #D9B45A 70%); color: #1A1430;
	box-shadow: 0 0 0 4px rgba(233, 201, 120, 0.15), 0 0 22px rgba(233, 201, 120, 0.45);
}
.am-hero__gift-icon::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(233, 201, 120, 0.6); animation: am-gift-pulse 3s ease-out infinite; }
@keyframes am-gift-pulse { 0% { transform: scale(0.9); opacity: 0.9; } 100% { transform: scale(1.5); opacity: 0; } }
.am-hero__gift a, .am-hero__gift strong { color: #F1D68E; font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(241, 214, 142, 0.4); }
.am-hero__gift a:hover { color: #FFF3CC; border-bottom-color: currentColor; }

/* ---------- Tarjetas de escuela ---------- */
.am-scard { border-radius: 22px; padding: 26px 22px 20px; background: linear-gradient(180deg, color-mix(in srgb, var(--school) 6%, #FFFFFF) 0%, #FFFFFF 46%); box-shadow: 0 1px 2px rgba(14, 21, 48, 0.04), 0 10px 30px -18px rgba(14, 21, 48, 0.25); }
.am-scard::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--school), color-mix(in srgb, var(--school) 30%, #FFFFFF)); opacity: 0.9; }
.am-scard:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -24px color-mix(in srgb, var(--school) 55%, rgba(14, 21, 48, 0.5)); }
.am-scard__chip { background: linear-gradient(135deg, color-mix(in srgb, var(--school) 18%, #FFFFFF), color-mix(in srgb, var(--school) 8%, #FFFFFF)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--school) 25%, transparent), 0 8px 18px -10px var(--school); }
.am-scard:hover .am-scard__chip { background: linear-gradient(135deg, var(--school), color-mix(in srgb, var(--school) 70%, #0E1530)); }
.am-scard__count { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: color-mix(in srgb, var(--school) 10%, #FFFFFF); font-size: 11px; }
.am-scard__name { font-size: 1.28rem; }
.am-scard__foot { border-top-style: dashed; }

/* ---------- Tarjetas de curso ---------- */
.am-card { border: 1px solid var(--am-line); border-radius: 22px; background: #FFFFFF; box-shadow: 0 1px 2px rgba(14, 21, 48, 0.04), 0 12px 32px -20px rgba(14, 21, 48, 0.3); display: flex; flex-direction: column; overflow: visible; }
.am-card:hover { transform: translateY(-6px); box-shadow: 0 26px 50px -26px rgba(14, 21, 48, 0.45); border-color: color-mix(in srgb, var(--school) 30%, var(--am-line)); }
.am-card__media { margin: 8px 8px 0; border-radius: 16px; aspect-ratio: 16 / 10; }
.am-card__media::after { height: 55%; background: linear-gradient(transparent, rgba(14, 21, 48, 0.42)); }
.am-card .am-badge { top: 12px; left: 12px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.02em; text-transform: none; background: rgba(255, 255, 255, 0.92); color: #0E1530; box-shadow: 0 4px 14px rgba(14, 21, 48, 0.18); }
.am-card .am-badge--free { background: #1F7A69; color: #FFFFFF; }
.am-card .am-badge--soon { background: linear-gradient(135deg, #F1D68E, #D9B45A 55%, #B8892F); color: #1A1430; }
.am-card .am-badge--key { background: #0E1530; color: #F1D68E; }
.am-card__dur {
	position: absolute; z-index: 1; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700;
	background: linear-gradient(135deg, #F6D77F, #E9B949); color: #2A1E05; box-shadow: 0 6px 16px -6px rgba(0, 0, 0, 0.45);
}
.am-card__dur svg { width: 14px; height: 14px; }
.am-card__body { gap: 8px; padding: 18px 22px 8px; flex: 1; }
.am-card__school { display: flex; align-items: center; gap: 8px; font-size: 11.5px; letter-spacing: 0.14em; }
.am-card__school::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--school); box-shadow: 0 0 0 3px color-mix(in srgb, var(--school) 20%, transparent); }
.am-card__title { font-size: 1.12rem; line-height: 1.28; }
.am-card__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 4px 0 0; color: var(--am-muted); font-size: 13.5px; }
.am-card__meta span { display: inline-flex; align-items: center; gap: 6px; }
.am-card__meta svg { width: 15px; height: 15px; color: color-mix(in srgb, var(--school) 70%, #0E1530); }
.am-card__bottom { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 8px 22px 0; padding: 14px 0 18px; border-top: 1px solid var(--am-line); }
.am-card__bottom .am-card__price { margin: 0; padding: 0; font-size: 1.2rem; line-height: 1.15; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.am-card__bottom .am-card__price del { order: 2; font-size: 13px; }
.am-card__bottom .am-card__foot { margin: 0; padding: 0; border: 0; gap: 6px; white-space: nowrap; font-size: 14px; }
.am-card__bottom .am-card__price:empty { display: none; }

/* ---------- Curso de regalo ---------- */
.am-gift-wrap { padding-top: var(--am-space-6); }
.am-gift {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: center;
	padding: clamp(18px, 2.4vw, 28px); border-radius: 30px;
	background: radial-gradient(120% 140% at 0% 0%, #2A1950 0%, #121A45 45%, #0B1029 100%);
	color: #FFFFFF; box-shadow: 0 40px 80px -40px rgba(14, 21, 48, 0.75);
}
.am-gift::before { content: ""; position: absolute; z-index: -1; inset: -40% -10% auto auto; width: 520px; height: 520px; border-radius: 50%; background: radial-gradient(circle, rgba(155, 78, 170, 0.45), transparent 65%); }
.am-gift::after { content: ""; position: absolute; z-index: -1; inset: auto auto -50% 30%; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(217, 180, 90, 0.22), transparent 65%); }
.am-gift__stars { position: absolute; z-index: -1; inset: 0; opacity: 0.6; background-image: radial-gradient(1.2px 1.2px at 12% 22%, #fff, transparent), radial-gradient(1px 1px at 72% 12%, #fff, transparent), radial-gradient(1.4px 1.4px at 88% 68%, #F1D68E, transparent), radial-gradient(1px 1px at 46% 84%, #fff, transparent), radial-gradient(1.2px 1.2px at 58% 40%, #fff, transparent), radial-gradient(1px 1px at 30% 60%, #fff, transparent); animation: am-twinkle 6s ease-in-out infinite; }
.am-gift__media { position: relative; aspect-ratio: 4 / 3.2; border-radius: 22px; overflow: hidden; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.1); }
.am-gift__img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--am-ease); }
.am-gift:hover .am-gift__img { transform: scale(1.04); }
.am-gift__ph { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(135deg, #2A1950, #9B4EAA); }
.am-gift__ribbon { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: linear-gradient(135deg, #F6D77F, #D9B45A); color: #2A1E05; font-weight: 800; font-size: 13px; box-shadow: 0 8px 20px -8px rgba(0, 0, 0, 0.6); }
.am-gift__body { padding: clamp(4px, 1vw, 12px) clamp(4px, 1.5vw, 20px) clamp(4px, 1vw, 12px) 0; }
.am-gift__kicker { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; color: #F1D68E; font-size: 12px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.am-gift__title { margin: 0; color: #FFFFFF; font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1.12; }
.am-gift__course { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 14px 0 0; }
.am-gift__course a { color: #E9C8F2; font-family: var(--am-font-head); font-size: 1.15rem; font-weight: 800; text-decoration: none; border-bottom: 1px solid rgba(233, 200, 242, 0.35); }
.am-gift__course a:hover { color: #FFFFFF; }
.am-gift__course span { padding: 3px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.1); color: rgba(255, 255, 255, 0.75); font-size: 12px; font-weight: 700; }
.am-gift__text { margin: 12px 0 0; color: rgba(255, 255, 255, 0.78); line-height: 1.6; max-width: 560px; }
.am-gift__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 18px; margin: 18px 0 0; padding: 0; list-style: none; }
.am-gift__list li { display: flex; gap: 8px; align-items: flex-start; color: rgba(255, 255, 255, 0.9); font-size: 14.5px; line-height: 1.4; }
.am-gift__list svg { flex: none; width: 18px; height: 18px; margin-top: 1px; padding: 2px; border-radius: 50%; background: rgba(63, 179, 127, 0.22); color: #6EE7B7; }
.am-gift__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.am-gift__facts li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12); color: rgba(255, 255, 255, 0.85); font-size: 13px; font-weight: 600; }
.am-gift__facts svg { width: 15px; height: 15px; color: #F1D68E; }
.am-gift__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.am-gift__cta { position: relative; overflow: hidden; }
.am-gift__cta::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.35) 50%, transparent 70%); transform: translateX(-120%); animation: am-sheen 4.5s ease-in-out infinite; }
@keyframes am-sheen { 0%, 60% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
@media (max-width: 900px) {
	.am-gift { grid-template-columns: 1fr; }
	.am-gift__body { padding: 0 6px 6px; }
	.am-gift__list { grid-template-columns: 1fr; }
}

/* ---------- Blog de portada ---------- */
.am-bhome { background: linear-gradient(180deg, #F7F5FB, #FFFFFF); }
.am-btn--quiet-pill { min-height: 46px; padding: 0 20px; gap: 8px; background: #FFFFFF; color: var(--am-ink); border-color: var(--am-line); font-weight: 700; box-shadow: 0 6px 18px -12px rgba(14, 21, 48, 0.35); }
.am-btn--quiet-pill:hover { border-color: var(--am-primary); color: var(--am-primary); }
.am-btn--quiet-pill svg { transition: transform var(--am-dur) var(--am-ease); }
.am-btn--quiet-pill:hover svg { transform: translateX(3px); }
.am-bhome__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; }
.am-bhome__grid.is-single { grid-template-columns: 1fr; }
.am-bfeat { min-height: 460px; }
.am-bfeat__link { position: relative; isolation: isolate; display: flex; height: 100%; min-height: inherit; border-radius: 26px; overflow: hidden; background: linear-gradient(135deg, #1B2550, #4A2A66); color: #FFFFFF; text-decoration: none; box-shadow: 0 30px 60px -36px rgba(14, 21, 48, 0.8); }
.am-bfeat__img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--am-ease); }
.am-bfeat__link:hover .am-bfeat__img { transform: scale(1.05); }
.am-bfeat__veil { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(14, 21, 48, 0.05) 20%, rgba(14, 21, 48, 0.55) 55%, rgba(11, 16, 41, 0.94) 100%); }
.am-bfeat__body { display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; width: 100%; padding: clamp(22px, 3vw, 36px); }
.am-bfeat__cat, .am-brow__cat { align-self: flex-start; display: inline-block; padding: 5px 12px; border-radius: 999px; background: var(--cat, var(--am-primary)); color: #FFFFFF; font-size: 11.5px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.am-bfeat__title { font-family: var(--am-font-head); font-size: clamp(1.5rem, 2.4vw, 2.15rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.01em; }
.am-bfeat__excerpt { color: rgba(255, 255, 255, 0.82); line-height: 1.55; max-width: 640px; }
.am-bfeat__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.am-bfeat__meta, .am-brow__meta { display: inline-flex; flex-wrap: wrap; gap: 6px; font-size: 13.5px; }
.am-bfeat__meta { color: rgba(255, 255, 255, 0.75); }
.am-bfeat__read { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border-radius: 999px; background: rgba(255, 255, 255, 0.14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25); font-weight: 800; font-size: 14px; backdrop-filter: blur(6px); transition: background var(--am-dur) var(--am-ease); }
.am-bfeat__link:hover .am-bfeat__read { background: #FFFFFF; color: #0E1530; }
.am-bhome__side { display: flex; flex-direction: column; gap: 16px; }
.am-brow { flex: 1; }
.am-brow__link { display: flex; align-items: center; gap: 18px; height: 100%; padding: 14px; border-radius: 20px; background: #FFFFFF; border: 1px solid var(--am-line); color: var(--am-ink); text-decoration: none; box-shadow: 0 10px 26px -20px rgba(14, 21, 48, 0.4); transition: transform var(--am-dur) var(--am-ease), box-shadow var(--am-dur) var(--am-ease), border-color var(--am-dur) var(--am-ease); }
.am-brow__link:hover { transform: translateX(4px); border-color: color-mix(in srgb, var(--am-primary) 30%, var(--am-line)); box-shadow: 0 18px 36px -24px rgba(14, 21, 48, 0.5); }
.am-brow__media { flex: none; display: grid; place-items: center; width: 150px; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: linear-gradient(135deg, #1B2550, #9B4EAA); }
.am-brow__img { width: 100%; height: 100%; object-fit: cover; transition: transform 800ms var(--am-ease); }
.am-brow__link:hover .am-brow__img { transform: scale(1.06); }
.am-brow__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.am-brow__cat { padding: 0; background: none; color: color-mix(in srgb, var(--cat, var(--am-primary)) 85%, #0E1530); }
.am-brow__title { font-family: var(--am-font-head); font-size: 1.05rem; font-weight: 800; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.am-brow__link:hover .am-brow__title { color: var(--am-primary); }
.am-brow__meta { color: var(--am-muted); font-size: 13px; }
@media (max-width: 960px) {
	.am-bhome__grid { grid-template-columns: 1fr; }
	.am-bfeat { min-height: 380px; }
}
@media (max-width: 520px) { .am-brow__media { width: 104px; } }

/* ---------- Boletín ---------- */
.am-news { padding-top: 0; }
.am-news__box {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(20px, 4vw, 48px); align-items: center;
	padding: clamp(26px, 4vw, 48px); border-radius: 30px;
	background: linear-gradient(120deg, #9B4EAA 0%, #6B3A9E 45%, #193164 100%); color: #FFFFFF;
	box-shadow: 0 40px 80px -44px rgba(107, 58, 158, 0.9);
}
.am-news__glow { position: absolute; z-index: -1; inset: -60% -20% auto auto; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(241, 214, 142, 0.35), transparent 62%); animation: am-news-breathe 8s ease-in-out infinite; }
@keyframes am-news-breathe { 0%, 100% { transform: scale(1); opacity: 0.8; } 50% { transform: scale(1.12); opacity: 1; } }
.am-news__icon { display: inline-grid; place-items: center; width: 54px; height: 54px; margin-bottom: 14px; border-radius: 16px; background: rgba(255, 255, 255, 0.16); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25); color: #F1D68E; }
.am-news__title { margin: 0; color: #FFFFFF; font-size: clamp(1.5rem, 2.4vw, 2.1rem); line-height: 1.15; }
.am-news__lead { margin: 10px 0 0; color: rgba(255, 255, 255, 0.85); line-height: 1.6; }
.am-news__form { display: grid; gap: 12px; }
.am-news__row { display: flex; gap: 8px; padding: 6px; border-radius: 999px; background: #FFFFFF; box-shadow: 0 16px 36px -18px rgba(14, 21, 48, 0.6); }
.am-news__field { flex: 1; display: flex; align-items: center; gap: 10px; padding-left: 16px; color: var(--am-muted); }
.am-news__field input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; font: inherit; font-size: 15.5px; color: #0E1530; padding: 10px 0; }
.am-news__btn { min-height: 48px; padding: 0 22px; gap: 8px; flex: none; }
.am-news__btn svg { width: 16px; height: 16px; transition: transform var(--am-dur) var(--am-ease); }
.am-news__btn:hover svg { transform: translate(3px, -3px); }
.am-news__consent { display: flex; gap: 10px; align-items: flex-start; color: rgba(255, 255, 255, 0.82); font-size: 13px; line-height: 1.45; cursor: pointer; }
.am-news__consent input { margin-top: 2px; accent-color: #F1D68E; width: 16px; height: 16px; flex: none; }
.am-news__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.am-news__msg { margin: 0; padding: 10px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; }
.am-news__msg--ok, .am-news__msg--dup { background: rgba(110, 231, 183, 0.18); color: #D1FAE5; }
.am-news__msg--err { background: rgba(255, 255, 255, 0.92); color: #B42318; }
@media (max-width: 860px) {
	.am-news__box { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
	.am-news__row { flex-direction: column; border-radius: 20px; }
	.am-news__field { padding: 4px 8px; }
	.am-news__btn { width: 100%; }
}

/* ---------- Chakras en la silueta ---------- */
.am-chakras { height: var(--h, 400px); max-width: 100%; }
.am-chakras svg { height: 100%; width: auto; max-width: 100%; }
.am-chakras__aura { opacity: 0.55; transform-origin: 200px 220px; transform-box: view-box; animation: am-aura calc(7s / var(--spd)) ease-in-out infinite; }
@keyframes am-aura { 0%, 100% { opacity: 0.45; transform: scale(0.97); } 50% { opacity: 0.7; transform: scale(1.03); } }
.am-chakras__halo { opacity: 0.6; transform-origin: 200px 40px; transform-box: view-box; animation: am-aura calc(5s / var(--spd)) ease-in-out infinite; }
.am-chakras__limb { fill: none; stroke: rgba(255, 255, 255, 0.1); stroke-width: 1.4; stroke-linecap: round; }
.am-chakras__mudra { fill: #F1D68E; opacity: 0.85; filter: drop-shadow(0 0 6px rgba(241, 214, 142, 0.9)); animation: am-twinkle calc(3.6s / var(--spd)) ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.am-chakras .am-chakras__axis { stroke-width: 2.2; opacity: 0.4; }
.am-chakras .am-chakras__flow { stroke-width: 3.2; }
.am-chakra__lead { stroke: var(--c); stroke-width: 1; stroke-dasharray: 2 5; opacity: 0.45; }
.am-chakra__dot { fill: var(--c); filter: drop-shadow(0 0 4px var(--c)); }
.am-chakras .am-chakra__name { font-size: 14px; }
.am-chakras .am-chakra__sub { font-size: 10.5px; }
@media (prefers-reduced-motion: reduce) {
	.am-nav__actions .am-btn--signup__icon svg, .am-btn--signup__icon::after, .am-slogan__text, .am-slogan__star, .am-hero__gift-icon::after,
	.am-gift__stars, .am-gift__cta::after, .am-news__glow, .am-chakras__aura, .am-chakras__halo, .am-chakras__mudra { animation: none; }
}

/* ---------- Buscador: la búsqueda avanzada se abre a pedido ---------- */
.am-sf__adv[hidden] { display: none; }

/* ---------- Pie: lema ---------- */
.am-footer__slogan { display: inline-flex; align-items: center; gap: 8px; margin: 12px 0 0; white-space: nowrap; font-family: var(--am-font-head); font-size: 12.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: #E9C978; }

/* ---------- Membresía en portada: cuatro opciones + herramientas ---------- */
.am-plancta { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "text btn" "steps steps" "tools tools"; row-gap: 28px; }
.am-plancta__text { grid-area: text; }
.am-plancta__btn { grid-area: btn; }
.am-plancta__steps { grid-area: steps; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.am-plancta__steps li { padding: 20px 14px; transition: transform var(--am-dur) var(--am-ease), box-shadow var(--am-dur) var(--am-ease); }
.am-plancta__steps li:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -20px rgba(14, 21, 48, 0.4); }
.am-plancta .am-tools-mini { grid-area: tools; }
@media (max-width: 1080px) { .am-plancta { grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "steps" "tools" "btn"; } }
@media (max-width: 760px) { .am-plancta__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.am-tools-mini { padding-top: 22px; border-top: 1px dashed var(--am-line); }
.am-tools-mini__lead { margin: 0 0 12px; font-size: var(--am-fs-sm); color: var(--am-muted); font-weight: 600; }
.am-tools-mini ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.am-tools-mini li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; padding: 12px 14px; border-radius: 16px; background: color-mix(in srgb, var(--c) 6%, #FFFFFF); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c) 18%, transparent); }
.am-tools-mini li span { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--c); color: #FFFFFF; }
.am-tools-mini li strong { font-family: var(--am-font-head); color: var(--am-ink); font-size: 15px; }
.am-tools-mini li small { color: var(--am-muted); font-size: 12.5px; }
@media (max-width: 760px) { .am-tools-mini ul { grid-template-columns: 1fr; } }

.am-tools { margin-top: clamp(48px, 7vw, 88px); }
.am-section__head--center { text-align: center; max-width: 680px; margin-left: auto; margin-right: auto; }
.am-tools__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
.am-tool { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 8px; padding: 28px 26px 24px; border-radius: 24px; background: radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 30%, transparent), transparent 60%), #0F1638; color: #FFFFFF; box-shadow: 0 30px 60px -36px rgba(14, 21, 48, 0.8); }
.am-tool::after { content: ""; position: absolute; z-index: -1; inset: auto -30% -50% auto; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--c) 35%, transparent), transparent 65%); }
.am-tool__icon { display: grid; place-items: center; width: 58px; height: 58px; margin-bottom: 8px; border-radius: 18px; background: linear-gradient(140deg, color-mix(in srgb, var(--c) 85%, #FFFFFF), var(--c)); box-shadow: 0 12px 26px -12px var(--c); }
.am-tool__kind { margin: 0; font-size: 11.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in srgb, var(--c) 55%, #FFFFFF); }
.am-tool__name { margin: 0; color: #FFFFFF; font-size: 1.6rem; }
.am-tool__text { margin: 0; color: rgba(255, 255, 255, 0.8); line-height: 1.6; flex: 1; }
.am-tool__badge { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 5px 12px; border-radius: 999px; background: linear-gradient(135deg, #F4DC97, #D9B45A); color: #2A1F0A; font-size: 12px; font-weight: 800; }
@media (max-width: 900px) { .am-tools__grid { grid-template-columns: 1fr; } }

/* Tabla de planes con cinco columnas */
.am-plan-cols { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }

/* ---------- Hero en carrusel ---------- */
.am-hslider__track { display: grid; }
.am-hslide { grid-area: 1 / 1; position: relative; min-width: 0; }
.am-hslider.is-slider .am-hslide { opacity: 0; visibility: hidden; transition: opacity 700ms var(--am-ease), visibility 0s linear 700ms; }
.am-hslider.is-slider .am-hslide.is-active { opacity: 1; visibility: visible; transition: opacity 700ms var(--am-ease), visibility 0s; z-index: 1; }
.am-hslider.is-slider .am-hslide.is-active .am-hero__copy > * { animation: am-hs-in 800ms var(--am-ease) both; }
.am-hslider.is-slider .am-hslide.is-active .am-hero__copy > *:nth-child(2) { animation-delay: 80ms; }
.am-hslider.is-slider .am-hslide.is-active .am-hero__copy > *:nth-child(3) { animation-delay: 160ms; }
.am-hslider.is-slider .am-hslide.is-active .am-hero__copy > *:nth-child(n+4) { animation-delay: 240ms; }
.am-hslider.is-slider .am-hslide.is-active .am-hslide__art { animation: am-hs-art 900ms var(--am-ease) both 120ms; }
@keyframes am-hs-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes am-hs-art { from { opacity: 0; transform: translateX(24px) scale(0.98); } to { opacity: 1; transform: none; } }
.am-hslide__bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0.38; }
.am-hslide__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 21, 48, 0.95) 0%, rgba(14, 21, 48, 0.55) 55%, rgba(14, 21, 48, 0.2) 100%); }
.am-hslide__inner { position: relative; }
.am-hslide--solo .am-hero__inner { grid-template-columns: minmax(0, 1fr); }
.am-hslide--center .am-hero__copy { text-align: center; margin: 0 auto; max-width: 760px; }
.am-hslide--center .am-hero__actions { justify-content: center; }
.am-hslide--center .am-hero__lead { margin-left: auto; margin-right: auto; }
.am-hslide__title { max-width: 18ch; }
.am-hslide__badge { display: inline-flex; margin: 0 0 14px; padding: 6px 14px; border-radius: 999px; background: var(--acc, #D9B45A); color: #1A1430; font-weight: 800; font-size: 13px; letter-spacing: 0.04em; }
.am-hslide__kicker { color: var(--acc, var(--am-accent)); letter-spacing: 0.14em; text-transform: uppercase; font-size: 12.5px; font-weight: 800; }
.am-hslide__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 18px 0 0; font-family: var(--am-font-head); font-size: 1.9rem; font-weight: 800; color: #FFFFFF; }
.am-hslide__price del { font-size: 1rem; color: rgba(255, 255, 255, 0.55); font-weight: 600; }
.am-hslide__price ins { text-decoration: none; }
.am-hslide__save { padding: 4px 10px; border-radius: 999px; background: rgba(110, 231, 183, 0.16); color: #6EE7B7; font-size: 13px; font-family: var(--am-font); }
.am-hslide__label { margin: 22px 0 8px; color: rgba(255, 255, 255, 0.65); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.am-hslide__count { display: flex; gap: 10px; }
.am-hslide__count .am-countdown__unit { display: grid; place-items: center; min-width: 70px; padding: 10px 8px; border-radius: 14px; background: rgba(255, 255, 255, 0.07); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14); }
.am-hslide__count strong { font-family: var(--am-font-head); font-size: 1.8rem; color: #FFFFFF; line-height: 1; }
.am-hslide__count small { margin-top: 4px; color: rgba(255, 255, 255, 0.6); font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; }
.am-hslide__coupon { display: inline-flex; align-items: center; gap: 10px; margin: 20px 0 0; padding: 6px 6px 6px 16px; border-radius: 14px; border: 1.5px dashed color-mix(in srgb, var(--acc, #D9B45A) 70%, transparent); background: rgba(255, 255, 255, 0.05); color: rgba(255, 255, 255, 0.75); font-size: 13px; }
.am-hslide__coupon code { font-family: ui-monospace, monospace; font-size: 1.15rem; font-weight: 800; color: var(--acc, #F1D68E); background: none; letter-spacing: 0.08em; }
.am-hslide__coupon button { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border: 0; border-radius: 10px; background: var(--acc, #D9B45A); color: #1A1430; font: inherit; font-weight: 800; cursor: pointer; }
.am-hslide__coupon button svg { display: none; }
.am-hslide__coupon button.is-done svg { display: inline; }

.am-hslide__art { display: grid; place-items: center; min-height: clamp(320px, 40vw, 520px); }
.am-hslide__card { position: relative; display: block; width: min(420px, 100%); border-radius: 26px; overflow: hidden; background: #121A45; color: #FFFFFF; text-decoration: none; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.7), 0 0 0 1px rgba(255, 255, 255, 0.12), 0 0 80px -20px color-mix(in srgb, var(--school) 70%, transparent); transform: rotate(-2deg); transition: transform 600ms var(--am-ease); }
.am-hslide__card:hover { transform: rotate(0) translateY(-4px); }
.am-hslide__card img, .am-hslide__ph { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: linear-gradient(135deg, #2A1950, #9B4EAA); }
.am-hslide__ribbon { position: absolute; top: 16px; left: 16px; display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 999px; background: linear-gradient(135deg, #F6D77F, #D9B45A); color: #2A1E05; font-weight: 800; font-size: 13px; }
.am-hslide__cardbody { display: flex; flex-direction: column; gap: 6px; padding: 18px 22px 22px; }
.am-hslide__school { color: color-mix(in srgb, var(--school) 60%, #FFFFFF); font-size: 11.5px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.am-hslide__cardbody strong { font-family: var(--am-font-head); font-size: 1.25rem; line-height: 1.25; }
.am-hslide__cardbody ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.am-hslide__cardbody li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; background: rgba(255, 255, 255, 0.08); font-size: 12.5px; color: rgba(255, 255, 255, 0.85); }
.am-hslide__cardbody li svg { color: #F1D68E; }

.am-hslide__medal { position: relative; display: grid; place-items: center; width: clamp(240px, 26vw, 340px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFF3CC, var(--acc, #D9B45A) 55%, #8A6418); box-shadow: 0 40px 90px -30px color-mix(in srgb, var(--acc, #D9B45A) 80%, transparent), inset 0 -10px 30px rgba(0, 0, 0, 0.25); }
.am-hslide__medal strong { position: relative; z-index: 1; max-width: 80%; font-family: var(--am-font-head); font-size: clamp(2.4rem, 4.4vw, 4rem); font-weight: 900; line-height: 0.95; text-align: center; color: #1A1430; }
.am-hslide__rays { position: absolute; inset: -18%; border-radius: 50%; background: repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--acc, #D9B45A) 40%, transparent) 0 6deg, transparent 6deg 18deg); -webkit-mask: radial-gradient(circle, transparent 54%, #000 56%, transparent 72%); mask: radial-gradient(circle, transparent 54%, #000 56%, transparent 72%); animation: am-rays 30s linear infinite; }
@keyframes am-rays { to { transform: rotate(360deg); } }

.am-hslide__plan { width: min(380px, 100%); padding: 30px 28px; border-radius: 28px; background: linear-gradient(160deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.03)); box-shadow: inset 0 0 0 1px rgba(233, 201, 120, 0.4), 0 40px 80px -40px rgba(0, 0, 0, 0.8); backdrop-filter: blur(8px); color: #FFFFFF; text-align: center; }
.am-hslide__crown { display: inline-grid; place-items: center; width: 70px; height: 70px; border-radius: 50%; background: linear-gradient(140deg, #F4DC97, #D9B45A 60%, #B5852B); color: #2A1F0A; box-shadow: 0 0 40px rgba(233, 201, 120, 0.55); }
.am-hslide__plan > strong { display: block; margin-top: 14px; font-family: var(--am-font-head); font-size: 2rem; }
.am-hslide__planprice { margin: 6px 0 0; font-family: var(--am-font-head); font-size: 1.6rem; font-weight: 800; color: #F1D68E; }
.am-hslide__planprice small { font-size: 0.9rem; color: rgba(255, 255, 255, 0.7); font-weight: 600; }
.am-hslide__plan ul { display: grid; gap: 8px; margin: 18px 0 0; padding: 18px 0 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.12); text-align: left; }
.am-hslide__plan li { display: flex; gap: 8px; font-size: 14px; color: rgba(255, 255, 255, 0.88); }
.am-hslide__plan li svg { flex: none; margin-top: 2px; color: #6EE7B7; }

.am-hslide__path { width: min(420px, 100%); padding: 26px; border-radius: 26px; background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14); color: #FFFFFF; }
.am-hslide__path p { display: flex; align-items: center; gap: 8px; margin: 0 0 14px; color: #F1D68E; font-weight: 800; font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.am-hslide__path ol { position: relative; display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.am-hslide__path ol::before { content: ""; position: absolute; left: 17px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(var(--acc, #D9B45A), rgba(155, 78, 170, 0.7)); }
.am-hslide__path li { position: relative; display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 0; font-weight: 600; line-height: 1.3; }
.am-hslide__path li span { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: #121A45; box-shadow: inset 0 0 0 2px var(--acc, #D9B45A); color: #F1D68E; font-weight: 800; }

.am-hslider__nav { position: relative; z-index: 2; display: flex; align-items: center; gap: 14px; padding-bottom: 28px; margin-top: -12px; }
.am-hslider__btn { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.06); color: #FFFFFF; cursor: pointer; transition: background var(--am-dur) var(--am-ease); }
.am-hslider__btn:hover { background: rgba(255, 255, 255, 0.16); }
.am-hslider__btn svg { transform: rotate(90deg); }
.am-hslider__btn--next svg { transform: rotate(-90deg); }
.am-hslider__dots { display: flex; gap: 8px; }
.am-hslider__dots button { position: relative; width: 34px; height: 6px; padding: 0; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.2); overflow: hidden; cursor: pointer; }
.am-hslider__dots button[aria-selected="true"] { width: 56px; background: rgba(255, 255, 255, 0.28); }
.am-hslider__dots i { position: absolute; inset: 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, #E9C978, #B26BE0); }
.am-hslider__dots button[aria-selected="true"] i { width: 100%; }
.am-hslider__dots button.is-running i { width: 0; animation: am-hs-progress var(--am-hs-ms, 8000ms) linear forwards; }
.am-hslider.is-paused .am-hslider__dots button.is-running i { animation-play-state: paused; }
@keyframes am-hs-progress { to { width: 100%; } }
@media (max-width: 960px) {
	.am-hslide__art { min-height: 0; order: -1; }
	.am-hslide__card { width: min(320px, 100%); }
	.am-hslide__medal { width: 200px; }
	.am-hslider__nav { justify-content: center; margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
	.am-hslider.is-slider .am-hslide, .am-hslider.is-slider .am-hslide.is-active .am-hero__copy > *, .am-hslider.is-slider .am-hslide.is-active .am-hslide__art, .am-hslide__rays { animation: none; transition: none; }
}
