/* ============================================================
   masterclass/neuroliderazgo-2026/styles.css — PLANTILLA CANÓNICA v2.0
   masterclass.rinsainc.com/neuroliderazgo-2026/

   Identidad: Crimson + Gold + Dark (variables de ../styles.css)
   Animaciones inspiradas en login del Rinsa Club (mesh, orbs, pulse)
   ============================================================ */

/* ── Helpers globales ───────────────────────────────────────── */
.mc-gate-panel--hidden { display: none !important; }
.mc-section--dark { background: var(--mc-dark); color: white; position: relative; overflow: hidden; }
.mc-section__title--white { color: white; }
.mc-section__eyebrow--gold { color: var(--mc-gold); }

/* ════════════════════════════════════════════════════════════
   HERO · 100vh · Animado
═══════════════════════════════════════════════════════════ */
.mce-hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  background: #0A0204;
  color: white;
  overflow: hidden;
  padding: 100px 0 60px;
}

.mce-hero__bg { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }

/* Mesh gradient animado */
.mce-hero__mesh {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 80% 60% at 15% 60%, rgba(139,26,42,0.55) 0%, transparent 55%),
    radial-gradient(ellipse 60% 50% at 85% 15%, rgba(201,162,39,0.18) 0%, transparent 50%),
    radial-gradient(ellipse 70% 80% at 50% 110%, rgba(92,16,25,0.85) 0%, transparent 60%);
  animation: mce-mesh 14s ease-in-out infinite alternate;
}
@keyframes mce-mesh {
  0%   { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-2%, 1%) scale(1.05); }
}

/* Dot pattern overlay */
.mce-hero__dots {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 35%, transparent 80%);
}

/* Orbes flotantes */
.mce-hero__orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(40px);
}
.mce-hero__orb--1 {
  width: 360px; height: 360px;
  top: 12%; left: 6%;
  background: radial-gradient(circle, rgba(139,26,42,0.6) 0%, transparent 70%);
  animation: mce-orb 20s ease-in-out infinite;
}
.mce-hero__orb--2 {
  width: 280px; height: 280px;
  bottom: 18%; right: 10%;
  background: radial-gradient(circle, rgba(201,162,39,0.25) 0%, transparent 70%);
  animation: mce-orb 16s ease-in-out infinite reverse;
}
.mce-hero__orb--3 {
  width: 220px; height: 220px;
  top: 50%; right: 25%;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  animation: mce-orb 24s ease-in-out infinite 4s;
}
@keyframes mce-orb {
  0%, 100% { transform: translate(0, 0); }
  33%      { transform: translate(28px, -22px); }
  66%      { transform: translate(-18px, 22px); }
}

/* Orbit + medallion (lado derecho del hero) */
.mce-hero__orbit-wrap {
  position: absolute;
  top: 50%; right: 7%;
  transform: translateY(-50%);
  width: 380px; height: 380px;
  display: flex; align-items: center; justify-content: center;
}
.mce-hero__orbit {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.07);
}
.mce-hero__orbit--1 {
  width: 360px; height: 360px;
  animation: mce-orbit 30s linear infinite;
}
.mce-hero__orbit--1::before {
  content: ''; position: absolute;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--mc-gold);
  box-shadow: 0 0 12px var(--mc-gold);
  top: -3px; left: 50%; transform: translateX(-50%);
}
.mce-hero__orbit--2 {
  width: 240px; height: 240px;
  animation: mce-orbit 22s linear infinite reverse;
}
.mce-hero__orbit--2::before {
  content: ''; position: absolute;
  width: 5px; height: 5px; border-radius: 50%;
  background: rgba(255,255,255,0.6);
  box-shadow: 0 0 10px rgba(255,255,255,0.4);
  top: -2.5px; left: 50%; transform: translateX(-50%);
}
@keyframes mce-orbit { from { transform: rotate(0); } to { transform: rotate(360deg); } }

.mce-hero__medallion {
  position: relative;
  width: 88px; height: 88px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--mc-gold) 0%, #9A7A1C 100%);
  display: flex; align-items: center; justify-content: center;
  color: var(--mc-dark);
  box-shadow: 0 8px 32px rgba(201,162,39,0.4), inset 0 -2px 8px rgba(0,0,0,0.2);
  animation: mce-pulse 4s ease-in-out infinite;
}
@keyframes mce-pulse {
  0%, 100% { transform: scale(1);    box-shadow: 0 8px 32px rgba(201,162,39,0.4), inset 0 -2px 8px rgba(0,0,0,0.2); }
  50%      { transform: scale(1.04); box-shadow: 0 12px 40px rgba(201,162,39,0.55), inset 0 -2px 8px rgba(0,0,0,0.2); }
}

.mce-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.mce-hero__content { max-width: 620px; flex: 1 1 560px; }
/* Si no hay figura (evento sin cutout), el contenido vuelve a centrarse cómodo */
.mce-hero:not(.mce-hero--figura) .mce-hero__content { max-width: 720px; }

/* Badge */
.mce-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 14px;
  background: rgba(201,162,39,0.12);
  border: 1px solid rgba(201,162,39,0.3);
  border-radius: var(--mc-radius-full);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--mc-gold);
  margin-bottom: 22px;
  animation: mce-fade-up 0.6s ease-out;
}
.mce-hero__badge-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--mc-gold);
  box-shadow: 0 0 8px var(--mc-gold);
  animation: mce-blink 2s ease-in-out infinite;
}
@keyframes mce-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }

.mce-hero__title {
  font-family: var(--mc-font-heading);
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight: 800;
  line-height: 1.05;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
  animation: mce-fade-up 0.7s 0.1s ease-out both;
}
.mce-hero__subtitle {
  font-size: clamp(1.1rem, 2.2vw, 1.4rem);
  color: rgba(255,255,255,0.78);
  margin-bottom: 14px;
  font-weight: 400;
  animation: mce-fade-up 0.7s 0.2s ease-out both;
}
.mce-hero__desc {
  font-size: 16px;
  color: rgba(255,255,255,0.6);
  line-height: 1.65;
  max-width: 580px;
  margin-bottom: 30px;
  animation: mce-fade-up 0.7s 0.3s ease-out both;
}

@keyframes mce-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Meta */
.mce-hero__meta {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  margin-bottom: 32px;
  padding: 16px 0;
  border-top: 1px solid rgba(255,255,255,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  animation: mce-fade-up 0.7s 0.4s ease-out both;
}
.mce-hero__meta-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: rgba(255,255,255,0.85);
  font-weight: 500;
}
.mce-hero__meta-item svg { width: 18px; height: 18px; color: var(--mc-gold); flex-shrink: 0; }

/* Countdown */
.mce-countdown {
  margin-bottom: 28px;
  animation: mce-fade-up 0.7s 0.5s ease-out both;
}
.mce-countdown__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: rgba(255,255,255,0.45);
  text-transform: uppercase;
  margin-bottom: 12px;
}
.mce-countdown__grid {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 22px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--mc-radius-lg);
  backdrop-filter: blur(8px);
}
.mce-countdown__unit {
  display: flex; flex-direction: column;
  align-items: center;
  min-width: 56px;
}
.mce-countdown__num {
  font-family: var(--mc-font-heading);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 800;
  color: white;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.mce-countdown__lbl {
  font-size: 10px;
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 6px;
}
.mce-countdown__sep {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 300;
  color: rgba(255,255,255,0.25);
  align-self: flex-start;
  margin-top: 4px;
}

/* Live badge (cuando evento ya inició) */
.mce-live {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 22px;
  background: linear-gradient(135deg, rgba(176,28,46,0.2) 0%, rgba(139,26,42,0.4) 100%);
  border: 1px solid rgba(201,162,39,0.3);
  border-radius: var(--mc-radius-lg);
  margin-bottom: 28px;
  max-width: 520px;
}
.mce-live__pulse {
  width: 12px; height: 12px; border-radius: 50%;
  background: var(--mc-red);
  box-shadow: 0 0 0 0 rgba(176,28,46,0.6);
  animation: mce-live-pulse 1.6s ease-out infinite;
  flex-shrink: 0;
}
@keyframes mce-live-pulse {
  0%   { box-shadow: 0 0 0 0    rgba(176,28,46,0.7); }
  100% { box-shadow: 0 0 0 14px rgba(176,28,46,0);  }
}
.mce-live__text { display: flex; flex-direction: column; gap: 2px; }
.mce-live__text strong { font-size: 15px; color: white; font-weight: 700; }
.mce-live__text span   { font-size: 13px; color: rgba(255,255,255,0.7); }

/* CTAs */
.mce-hero__ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  animation: mce-fade-up 0.7s 0.6s ease-out both;
}

/* Fade inferior del hero */
.mce-hero__bottom-fade {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 80px;
  background: linear-gradient(to bottom, transparent, var(--mc-white));
  z-index: 1;
}

/* ════════════════════════════════════════════════════════════
   SOBRE · Mosaico (grid 4×2)
═══════════════════════════════════════════════════════════ */
.mce-mosaico {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 16px;
}
.mce-mosaico__item {
  position: relative;
  padding: 28px;
  background: var(--mc-cream);
  border: 1px solid var(--mc-gray-100);
  border-radius: var(--mc-radius-lg);
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 200ms, box-shadow 200ms, border-color 200ms;
  overflow: hidden;
}
.mce-mosaico__item:hover {
  transform: translateY(-4px);
  box-shadow: var(--mc-shadow-md);
  border-color: var(--mc-crimson-light);
}
.mce-mosaico__item--principal {
  grid-column: span 2;
  grid-row: span 2;
  background: linear-gradient(135deg, var(--mc-crimson) 0%, var(--mc-crimson-dark) 100%);
  color: white;
  border-color: transparent;
}
.mce-mosaico__item--principal::before {
  content: '';
  position: absolute;
  width: 200px; height: 200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,39,0.2) 0%, transparent 70%);
  bottom: -60px; right: -60px;
  pointer-events: none;
}
.mce-mosaico__item--horizontal { grid-column: span 2; }
.mce-mosaico__item--vertical   { grid-row: span 2; }
.mce-mosaico__icon {
  width: 44px; height: 44px;
  border-radius: var(--mc-radius-md);
  background: var(--mc-crimson-light);
  color: var(--mc-crimson);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.mce-mosaico__icon svg { width: 22px; height: 22px; }
.mce-mosaico__item--principal .mce-mosaico__icon {
  background: rgba(201,162,39,0.18);
  color: var(--mc-gold);
}
.mce-mosaico__titulo {
  font-family: var(--mc-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
}
.mce-mosaico__item--principal .mce-mosaico__titulo { font-size: 24px; }
.mce-mosaico__desc {
  font-size: 14px;
  color: var(--mc-gray-500);
  line-height: 1.6;
}
.mce-mosaico__item--principal .mce-mosaico__desc {
  color: rgba(255,255,255,0.75);
  font-size: 15px;
}

/* ════════════════════════════════════════════════════════════
   PONENTE · Foto centrada + redes
═══════════════════════════════════════════════════════════ */
.mc-section--dark { padding: 80px 0; }

.mce-ponente__bg { position: absolute; inset: 0; pointer-events: none; }
.mce-ponente__dots {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 28px 28px;
}
.mce-ponente__glow {
  position: absolute;
  width: 600px; height: 600px;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(139,26,42,0.4) 0%, transparent 60%);
  pointer-events: none;
  filter: blur(60px);
}

.mce-ponente {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.mce-ponente__avatar-wrap {
  position: relative;
  width: 200px;
  height: 200px;
  margin: 0 auto 18px;
}
.mce-ponente__avatar {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: rgba(255,255,255,0.05);
  border: 3px solid var(--mc-gold);
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 40px rgba(0,0,0,0.4);
  z-index: 2;
}
.mce-ponente__avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; transform-origin: center center; }
.mce-ponente__ring {
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  border: 1px dashed rgba(201,162,39,0.3);
  animation: mce-orbit 40s linear infinite;
}

/* Redes sociales */
.mce-ponente__redes {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-bottom: 28px;
}
.mce-ponente__red {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.65);
  display: flex; align-items: center; justify-content: center;
  transition: all 200ms;
}
.mce-ponente__red:hover {
  background: var(--mc-gold);
  color: var(--mc-dark);
  border-color: var(--mc-gold);
  transform: translateY(-2px);
}
.mce-ponente__red svg { width: 18px; height: 18px; }

.mce-ponente__nombre {
  font-family: var(--mc-font-heading);
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 800;
  color: white;
  margin-bottom: 6px;
}
.mce-ponente__cargo {
  font-size: 15px;
  color: var(--mc-gold);
  font-weight: 600;
  margin-bottom: 18px;
}
.mce-ponente__especialidades {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-bottom: 24px;
}
.mce-spec-tag {
  font-size: 12px;
  padding: 5px 12px;
  background: rgba(201,162,39,0.12);
  border: 1px solid rgba(201,162,39,0.25);
  border-radius: var(--mc-radius-full);
  color: var(--mc-gold);
  font-weight: 600;
}
.mce-ponente__bio {
  font-size: 15px;
  color: rgba(255,255,255,0.75);
  line-height: 1.75;
  max-width: 620px;
  margin: 0 auto;
}

/* ════════════════════════════════════════════════════════════
   AGENDA · Timeline
═══════════════════════════════════════════════════════════ */
.mce-agenda {
  max-width: 760px;
  margin: 0 auto;
  position: relative;
  padding-left: 28px;
}
.mce-agenda::before {
  content: '';
  position: absolute;
  left: 11px; top: 16px; bottom: 16px;
  width: 2px;
  background: linear-gradient(to bottom, var(--mc-crimson-light) 0%, var(--mc-crimson) 50%, var(--mc-crimson-light) 100%);
}
.mce-agenda__item {
  position: relative;
  padding: 18px 20px 18px 24px;
  margin-bottom: 12px;
  background: white;
  border: 1px solid var(--mc-gray-100);
  border-radius: var(--mc-radius-md);
  transition: all 200ms;
}
.mce-agenda__item:hover { box-shadow: var(--mc-shadow-sm); border-color: var(--mc-gray-200); }
.mce-agenda__item::before {
  content: '';
  position: absolute;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: white;
  border: 3px solid var(--mc-crimson);
  left: -22px; top: 22px;
}
.mce-agenda__head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 6px;
}
.mce-agenda__hora {
  font-family: var(--mc-font-heading);
  font-size: 14px;
  font-weight: 800;
  color: var(--mc-crimson);
  background: var(--mc-crimson-light);
  padding: 4px 10px;
  border-radius: var(--mc-radius-sm);
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
}
.mce-agenda__titulo {
  font-family: var(--mc-font-heading);
  font-size: 16px;
  font-weight: 700;
  color: var(--mc-dark);
  line-height: 1.4;
}
.mce-agenda__desc {
  font-size: 14px;
  color: var(--mc-gray-500);
  line-height: 1.65;
}

/* Tipos: pre, inicio, principal, estandar, asistencia (destacado), cierre */
.mce-agenda__item--pre::before    { background: var(--mc-cream); border-color: var(--mc-gray-200); }
.mce-agenda__item--pre .mce-agenda__hora { color: var(--mc-gray-500); background: var(--mc-gray-100); }

.mce-agenda__item--inicio::before { background: var(--mc-crimson); border-color: var(--mc-crimson); box-shadow: 0 0 0 4px var(--mc-crimson-light); }

.mce-agenda__item--principal { background: linear-gradient(135deg, #FFFFFF 0%, var(--mc-crimson-light) 200%); border-color: var(--mc-crimson-light); }
.mce-agenda__item--principal::before { width: 18px; height: 18px; left: -24px; top: 20px; }

.mce-agenda__item--cierre::before { background: var(--mc-crimson-dark); border-color: var(--mc-crimson-dark); }

/* DESTACADO: asistencia (apertura del registro) */
.mce-agenda__item--asistencia {
  background: linear-gradient(135deg, var(--mc-gold-light) 0%, rgba(201,162,39,0.06) 100%);
  border: 2px solid var(--mc-gold);
  padding: 22px 24px 22px 28px;
  box-shadow: 0 6px 24px rgba(201,162,39,0.18);
}
.mce-agenda__item--asistencia::before {
  background: var(--mc-gold);
  border-color: var(--mc-gold);
  width: 18px; height: 18px;
  left: -24px; top: 24px;
  box-shadow: 0 0 0 5px rgba(201,162,39,0.2);
  animation: mce-key-pulse 2.4s ease-in-out infinite;
}
@keyframes mce-key-pulse {
  0%, 100% { box-shadow: 0 0 0 5px  rgba(201,162,39,0.2); }
  50%      { box-shadow: 0 0 0 10px rgba(201,162,39,0.1); }
}
.mce-agenda__item--asistencia .mce-agenda__hora {
  color: var(--mc-dark);
  background: var(--mc-gold);
  font-size: 16px;
  padding: 6px 14px;
}
.mce-agenda__item--asistencia .mce-agenda__titulo {
  color: var(--mc-crimson-dark);
}
.mce-agenda__badge-key {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--mc-crimson-dark);
  background: rgba(201,162,39,0.3);
  padding: 4px 10px;
  border-radius: var(--mc-radius-sm);
  margin-top: 10px;
}
.mce-agenda__badge-key svg { width: 14px; height: 14px; }

/* ════════════════════════════════════════════════════════════
   PROPÓSITO · Beneficios
═══════════════════════════════════════════════════════════ */
.mce-beneficios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}
.mce-beneficio {
  padding: 28px 24px;
  background: white;
  border: 1px solid var(--mc-gray-100);
  border-radius: var(--mc-radius-lg);
  text-align: left;
  transition: all 200ms;
  position: relative;
  overflow: hidden;
}
.mce-beneficio:hover {
  transform: translateY(-3px);
  box-shadow: var(--mc-shadow-md);
  border-color: var(--mc-gold);
}
.mce-beneficio__icon {
  width: 52px; height: 52px;
  border-radius: var(--mc-radius-md);
  background: linear-gradient(135deg, var(--mc-gold) 0%, #9A7A1C 100%);
  color: var(--mc-dark);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 16px;
  box-shadow: 0 4px 16px rgba(201,162,39,0.3);
}
.mce-beneficio__icon svg { width: 26px; height: 26px; }
.mce-beneficio__titulo {
  font-family: var(--mc-font-heading);
  font-size: 17px;
  font-weight: 700;
  color: var(--mc-dark);
  margin-bottom: 8px;
}
.mce-beneficio__desc {
  font-size: 14px;
  color: var(--mc-gray-500);
  line-height: 1.65;
}

/* ════════════════════════════════════════════════════════════
   ÚNETE · Background diferenciado + grid con sidebox
═══════════════════════════════════════════════════════════ */
.mce-unete {
  position: relative;
  background: linear-gradient(180deg, #F9F5F5 0%, #EDE8E8 100%);
  overflow: hidden;
}
.mce-unete__bg { position: absolute; inset: 0; pointer-events: none; }
.mce-unete__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.4;
}
.mce-unete__glow--1 {
  width: 400px; height: 400px;
  top: -150px; left: -100px;
  background: radial-gradient(circle, rgba(139,26,42,0.2) 0%, transparent 70%);
}
.mce-unete__glow--2 {
  width: 350px; height: 350px;
  bottom: -120px; right: -80px;
  background: radial-gradient(circle, rgba(201,162,39,0.18) 0%, transparent 70%);
}

.mce-unete__grid {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 32px;
  max-width: 1000px;
  margin: 0 auto;
  align-items: start;
  position: relative;
  z-index: 1;
}

/* Sidebox de beneficios */
.mce-unete__side {
  background: linear-gradient(135deg, var(--mc-crimson) 0%, var(--mc-crimson-dark) 100%);
  color: white;
  padding: 32px 28px;
  border-radius: var(--mc-radius-lg);
  box-shadow: 0 12px 40px rgba(139,26,42,0.25);
  position: sticky; top: 96px;
  overflow: hidden;
}
.mce-unete__side::before {
  content: '';
  position: absolute;
  width: 240px; height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,162,39,0.15) 0%, transparent 70%);
  top: -100px; right: -80px;
  pointer-events: none;
}
.mce-unete__side-icon {
  width: 56px; height: 56px;
  border-radius: var(--mc-radius-md);
  background: rgba(201,162,39,0.18);
  color: var(--mc-gold);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.mce-unete__side-icon svg { width: 28px; height: 28px; }
.mce-unete__side-titulo {
  font-family: var(--mc-font-heading);
  font-size: 18px;
  font-weight: 800;
  margin-bottom: 18px;
  position: relative; z-index: 1;
}
.mce-unete__side-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  z-index: 1;
}
.mce-unete__side-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 14px;
  color: rgba(255,255,255,0.92);
  line-height: 1.55;
}
.mce-unete__side-item svg {
  width: 18px; height: 18px;
  color: var(--mc-gold);
  flex-shrink: 0;
  margin-top: 2px;
}

/* Gate */
.mce-gate {
  background: white;
  border-radius: var(--mc-radius-lg);
  padding: 32px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.06);
  border: 1px solid var(--mc-gray-100);
}
.mce-gate__panel { animation: mce-fade-up 0.4s ease-out; }
.mce-gate__header {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--mc-gray-100);
}
.mce-gate__header svg { color: var(--mc-crimson); }
.mce-gate__header h3 {
  font-family: var(--mc-font-heading);
  font-size: 18px;
  font-weight: 800;
  color: var(--mc-dark);
}
.mce-gate__texto {
  font-size: 13.5px;
  color: var(--mc-gray-500);
  line-height: 1.65;
  margin-bottom: 18px;
}
.mce-gate__form { display: flex; flex-direction: column; gap: 14px; }
.mce-gate__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mce-gate__row--phone { grid-template-columns: 110px 1fr; }
.mce-gate__field { display: flex; flex-direction: column; gap: 6px; }
.mce-gate__label {
  font-size: 12px;
  font-weight: 700;
  color: var(--mc-gray-700);
  letter-spacing: 0.02em;
}
.mce-gate__input {
  font-family: inherit;
  font-size: 14px;
  padding: 11px 14px;
  border: 1.5px solid var(--mc-gray-200);
  border-radius: var(--mc-radius-md);
  background: white;
  color: var(--mc-dark);
  transition: border-color 180ms, box-shadow 180ms;
}
.mce-gate__input:focus {
  outline: none;
  border-color: var(--mc-crimson);
  box-shadow: 0 0 0 3px var(--mc-crimson-light);
}
.mce-gate__input[readonly] { background: var(--mc-gray-50); color: var(--mc-gray-500); }
.mce-gate__field-error {
  font-size: 12px;
  color: var(--mc-red);
}
.mce-gate__spinner {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; color: var(--mc-gray-500);
  margin-top: 12px;
}
.mce-spinner {
  display: inline-block;
  width: 18px; height: 18px;
  border: 2px solid var(--mc-gray-200);
  border-top-color: var(--mc-crimson);
  border-radius: 50%;
  animation: mce-spin 0.8s linear infinite;
}
.mce-spinner--lg { width: 32px; height: 32px; border-width: 3px; }
@keyframes mce-spin { to { transform: rotate(360deg); } }

.mce-gate__error {
  margin-top: 14px;
  padding: 14px;
  background: var(--mc-red-light);
  border: 1px solid rgba(176,28,46,0.15);
  border-radius: var(--mc-radius-md);
  display: flex; flex-direction: column; gap: 10px;
}
.mce-gate__error p { font-size: 13px; color: var(--mc-red); }
.mce-gate__error--full { align-items: center; text-align: center; padding: 32px 20px; }
.mce-gate__error--full svg { color: var(--mc-red); margin-bottom: 4px; }
.mce-gate__error--full h3 { font-size: 17px; color: var(--mc-dark); font-family: var(--mc-font-heading); font-weight: 800; }

.mce-gate__loading,
.mce-gate__success {
  display: flex; flex-direction: column;
  align-items: center; text-align: center;
  padding: 32px 20px; gap: 12px;
}
.mce-gate__success-icon {
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--mc-green-light);
  color: var(--mc-green);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 6px;
}
.mce-gate__success h3, .mce-gate__loading h3 {
  font-family: var(--mc-font-heading);
  font-size: 18px; font-weight: 800; color: var(--mc-dark);
}
.mce-gate__success p, .mce-gate__loading p {
  font-size: 14px; color: var(--mc-gray-500); line-height: 1.6;
}

/* ════════════════════════════════════════════════════════════
   WELCOME BANNER · Acceso verificado (encima del form de registro)
═══════════════════════════════════════════════════════════ */
.mce-welcome {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  margin-bottom: 18px;
  background: linear-gradient(135deg, var(--mc-gold-light) 0%, rgba(201,162,39,0.04) 100%);
  border: 1px solid rgba(201,162,39,0.25);
  border-radius: var(--mc-radius-md);
  animation: mce-fade-up 0.3s ease-out;
}
.mce-welcome__logo {
  width: 44px; height: 44px;
  object-fit: contain;
  background: white;
  border-radius: var(--mc-radius-sm);
  padding: 4px;
  border: 1px solid var(--mc-gray-100);
  flex-shrink: 0;
}
.mce-welcome__text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mce-welcome__text strong {
  font-family: var(--mc-font-heading);
  font-size: 15px;
  font-weight: 800;
  color: var(--mc-dark);
}
.mce-welcome__text span {
  font-size: 12px;
  color: var(--mc-gray-500);
}
.mce-welcome__vip {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  background: var(--mc-dark);
  color: var(--mc-gold);
  border-radius: var(--mc-radius-full);
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════
   PANEL NIVEL INSUFICIENTE · Motivacional con logo
═══════════════════════════════════════════════════════════ */
.mce-nivel {
  text-align: center;
  padding: 8px 0;
}
.mce-nivel__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--mc-crimson);
  background: var(--mc-crimson-light);
  padding: 6px 14px;
  border-radius: var(--mc-radius-full);
  margin-bottom: 22px;
}
.mce-nivel__badge svg { width: 14px; height: 14px; }
.mce-nivel__content {
  margin-bottom: 24px;
}
.mce-nivel__logo,
.mce-nivel__logo-placeholder {
  width: 80px; height: 80px;
  margin: 0 auto 18px;
  border-radius: 50%;
  background: white;
  border: 2px solid var(--mc-gold);
  padding: 8px;
  object-fit: contain;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--mc-gold);
}
.mce-nivel__institucion {
  font-family: var(--mc-font-heading);
  font-size: 19px;
  font-weight: 800;
  color: var(--mc-dark);
  margin-bottom: 12px;
}
.mce-nivel__mensaje {
  font-size: 15px;
  color: var(--mc-gray-700);
  line-height: 1.7;
  max-width: 460px;
  margin: 0 auto;
}
.mce-nivel__cta {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
}
.mce-nivel__cta .mc-btn { min-width: 240px; }

/* ════════════════════════════════════════════════════════════
   POST-EVENTO · Asistencia + Grabación
═══════════════════════════════════════════════════════════ */
.mce-postevento {
  background: var(--mc-cream);
}
.mce-postevento__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
  max-width: 880px;
  margin: 0 auto;
}
.mce-postevento__card {
  background: white;
  border: 1px solid var(--mc-gray-100);
  border-radius: var(--mc-radius-lg);
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: all 200ms;
}
.mce-postevento__card:hover { box-shadow: var(--mc-shadow-md); }
.mce-postevento__card-icon {
  width: 56px; height: 56px;
  border-radius: var(--mc-radius-md);
  background: var(--mc-crimson-light);
  color: var(--mc-crimson);
  display: flex; align-items: center; justify-content: center;
}
.mce-postevento__card-titulo {
  font-family: var(--mc-font-heading);
  font-size: 19px;
  font-weight: 800;
  color: var(--mc-dark);
}
.mce-postevento__card-desc {
  font-size: 14px;
  color: var(--mc-gray-500);
  line-height: 1.6;
  flex: 1;
}
.mce-postevento__lock {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  background: var(--mc-gray-50);
  border: 1px dashed var(--mc-gray-200);
  border-radius: var(--mc-radius-md);
}
.mce-postevento__lock-icon {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: white;
  color: var(--mc-gray-500);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.mce-postevento__lock-text {
  font-size: 13px;
  color: var(--mc-gray-700);
  display: flex; flex-direction: column; gap: 4px;
}
.mce-postevento__minicount {
  font-size: 12px;
  color: var(--mc-gray-500);
}
.mce-postevento__minicount strong {
  color: var(--mc-crimson);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

/* ════════════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  .mce-hero__orbit-wrap { display: none; }
  .mce-hero__content { max-width: 100%; }
  .mce-unete__grid { grid-template-columns: 1fr; }
  .mce-unete__side { position: static; }
  .mce-mosaico { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
  .mce-mosaico__item--principal { grid-column: span 2; }
  .mce-mosaico__item--horizontal { grid-column: span 2; }
  .mce-mosaico__item--vertical { grid-row: span 2; }
}
@media (max-width: 768px) {
  .mce-hero { min-height: 100vh; padding: 90px 0 50px; }
  .mce-hero__meta { gap: 14px; }
  .mce-countdown__unit { min-width: 44px; }
  .mce-countdown__grid { padding: 14px 16px; gap: 4px; }
  .mce-mosaico { grid-template-columns: 1fr; }
  .mce-mosaico__item, .mce-mosaico__item--principal, .mce-mosaico__item--horizontal, .mce-mosaico__item--vertical { grid-column: span 1; grid-row: span 1; }
  .mce-mosaico__item--principal { grid-row: span 2; }
  .mce-gate { padding: 22px; }
  .mce-gate__row { grid-template-columns: 1fr; }
  .mce-gate__row--phone { grid-template-columns: 90px 1fr; }
}

/* ═══════════════════════════════════════════════════════════
   AJUSTES 2026-06 · Hero con figura del ponente · Partículas ·
   Agenda en acordeón · Carrusel de beneficios · Footer logo
   (estos bloques son los que se portan a la plantilla canónica)
═══════════════════════════════════════════════════════════ */

/* ── Partículas del hero (2 capas con parallax · sin JS) ────── */
.mce-hero__sparks {
  position: absolute; inset: -20% 0;
  background-image:
    radial-gradient(2px 2px   at 25% 15%, rgba(255,255,255,0.60) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 75% 42%, rgba(201,162,39,0.55) 50%, transparent 51%),
    radial-gradient(1.5px 1.5px at 50% 72%, rgba(255,255,255,0.40) 50%, transparent 51%),
    radial-gradient(2px 2px   at 12% 60%, rgba(201,162,39,0.40) 50%, transparent 51%),
    radial-gradient(1px 1px   at 88% 85%, rgba(255,255,255,0.50) 50%, transparent 51%);
  background-size: 340px 340px;
  background-repeat: repeat;
  animation: mce-sparks 26s linear infinite;
  opacity: 0.55;
}
.mce-hero__sparks--2 { background-size: 520px 520px; animation-duration: 40s; opacity: 0.32; }
@keyframes mce-sparks { from { background-position: 0 0; } to { background-position: 0 -680px; } }

/* ── Figura del ponente (cutout) + aura + anillo ───────────── */
.mce-hero__figure {
  position: relative;
  flex: 0 0 auto;
  width: clamp(260px, 36vw, 440px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.mce-hero__photo {
  position: relative; z-index: 2;
  height: min(74vh, 700px);
  display: flex; align-items: flex-end; justify-content: center;
  animation: mce-fade-up 0.9s ease-out both;
}
.mce-hero__photo img {
  height: 100%; width: auto; max-width: 100%;
  object-fit: contain; object-position: 50% 100%;
  filter: drop-shadow(0 26px 44px rgba(0,0,0,0.55));
  /* Fundido inferior: disuelve el borde recortado del cutout (no más "mordida") */
  -webkit-mask-image: linear-gradient(to bottom, #000 76%, rgba(0,0,0,0.35) 92%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 76%, rgba(0,0,0,0.35) 92%, transparent 100%);
}
/* Luz trasera (backlight) que envuelve al ponente y lo funde con el hero */
.mce-hero__halo {
  position: absolute; z-index: 1;
  width: 120%; aspect-ratio: 1;
  left: 50%; bottom: 4%; transform: translateX(-50%);
  background: radial-gradient(circle at 50% 45%, rgba(201,162,39,0.34) 0%, rgba(139,26,42,0.26) 40%, transparent 68%);
  filter: blur(10px); border-radius: 50%;
  animation: mce-halo 7s ease-in-out infinite;
}
@keyframes mce-halo {
  0%,100% { opacity: 0.85; transform: translateX(-50%) scale(1); }
  50%     { opacity: 1;    transform: translateX(-50%) scale(1.06); }
}
.mce-hero__ringfx {
  position: absolute; z-index: 1;
  width: 80%; aspect-ratio: 1;
  left: 50%; bottom: 12%; transform: translateX(-50%);
  border: 1px dashed rgba(201,162,39,0.20); border-radius: 50%;
  animation: mce-orbit 40s linear infinite;
}
/* Bloque flotante: la foto se ve "pegada encima flotando".
   bottom negativo → el bloque llega por DEBAJO de la base de la figura, así
   el cuerpo queda CONTENIDO dentro del cuadro (no se asoma por abajo).
   Suavizado para leerse como plataforma integrada, no como caja pegada. */
.mce-hero__plinth {
  position: absolute; z-index: 1;
  left: 50%; bottom: -3%; transform: translateX(-50%);
  width: 82%; height: 255px;
  border-radius: 24px;
  background: linear-gradient(165deg, rgba(139,26,42,0.58) 0%, rgba(28,8,14,0.82) 100%);
  border: 2px solid rgba(201,162,39,0.60);
  box-shadow: 0 40px 80px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.10), 0 0 0 1px rgba(201,162,39,0.12);
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
/* Base luminosa donde "apoya" la figura (refuerza el flotar) */
.mce-hero__base {
  position: absolute; z-index: 1;
  left: 50%; bottom: -1%; transform: translateX(-50%);
  width: 60%; height: 34px; border-radius: 50%;
  background: radial-gradient(ellipse at 50% 50%, rgba(201,162,39,0.50) 0%, rgba(201,162,39,0.12) 46%, transparent 72%);
  filter: blur(8px);
  animation: mce-halo 7s ease-in-out infinite;
}

/* ── Agenda en acordeón (desplegable nativo) ───────────────── */
.mce-agenda-acc {
  max-width: 760px; margin: 0 auto;
  border: 1px solid var(--mc-gray-200); border-radius: var(--mc-radius-lg, 16px);
  background: #fff; box-shadow: var(--mc-shadow-sm); overflow: hidden;
}
.mce-agenda-acc__toggle {
  list-style: none; cursor: pointer; user-select: none;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 18px 22px; font-weight: 700; font-size: 15px; color: var(--mc-crimson);
  transition: background 0.2s ease;
}
.mce-agenda-acc__toggle::-webkit-details-marker { display: none; }
.mce-agenda-acc__toggle:hover { background: var(--mc-crimson-light, rgba(139,26,42,0.06)); }
.mce-agenda-acc__chevron { width: 20px; height: 20px; flex-shrink: 0; transition: transform 0.3s ease; }
.mce-agenda-acc[open] .mce-agenda-acc__chevron { transform: rotate(180deg); }
.mce-agenda-acc[open] .mce-agenda-acc__toggle { border-bottom: 1px solid var(--mc-gray-200); }
.mce-agenda-acc .mce-agenda { margin: 0; padding: 24px 22px 28px; animation: mce-fade-up 0.4s ease-out; }

/* ── Carrusel de beneficios ("Por qué participar") ─────────── */
.mce-carousel { position: relative; }
.mce-carousel__track {
  display: flex; gap: 22px;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  padding: 6px 2px 14px; scrollbar-width: none;
}
.mce-carousel__track::-webkit-scrollbar { display: none; }
.mce-carousel__track > * { scroll-snap-align: start; flex: 0 0 clamp(238px, 26%, 290px); }
.mce-carousel__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 46px; height: 46px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: #fff; color: var(--mc-crimson); border: 1px solid var(--mc-gray-200);
  box-shadow: var(--mc-shadow-md); cursor: pointer; transition: background 0.2s, color 0.2s, opacity 0.2s;
}
.mce-carousel__nav svg { width: 22px; height: 22px; }
.mce-carousel__nav:hover { background: var(--mc-crimson); color: #fff; }
.mce-carousel__nav--prev { left: -14px; }
.mce-carousel__nav--next { right: -14px; }
.mce-carousel__nav:disabled { opacity: 0; pointer-events: none; }
.mce-carousel--static .mce-carousel__nav { display: none; }

/* ── Footer · logo masterclass (más alto que el horizontal de Rinsa) ── */
.mc-footer__logo { height: 46px; width: auto; }

/* ── Responsive · hero con figura (stack ≤ 980px) ──────────── */
@media (max-width: 980px) {
  .mce-hero__inner { flex-direction: column; gap: 20px; }
  .mce-hero--figura .mce-hero__content { max-width: 100%; }
  .mce-hero__figure { width: 100%; order: 3; }
  .mce-hero__photo { height: 44vh; }
  .mce-carousel__nav--prev { left: -6px; }
  .mce-carousel__nav--next { right: -6px; }
}
@media (max-width: 768px) {
  .mce-hero__photo { height: 40vh; }
  .mce-carousel__track > * { flex-basis: 80%; }
  .mce-carousel__nav { width: 40px; height: 40px; }
}
