/* ═══════════════════════════════════════════════════════════════
   SUMMIT MIND 2026 — V3 Director Cut
   Loads last → overrides all previous layers
   Focus: continuous flow, contrast, InnovaHub restore,
          section transitions, animation depth
   ═══════════════════════════════════════════════════════════════ */

/* ── 0. CRITICAL BODY RESET ────────────────────────────────────
   v2.css set body to #05080F causing black lines between sections.
   We reset to neutral white so no dark background bleeds through.
   Dark sections (hero, hub, footer) handle their own backgrounds.
────────────────────────────────────────────────────────────────*/
html, body {
  background: #FFFFFF !important;
}

body {
  position: relative !important;
  overflow-x: hidden !important;
}

/* ── 1. SECTION DIVIDERS — COMPLETELY HIDDEN ───────────────────
   These were creating dark/black horizontal lines.
────────────────────────────────────────────────────────────────*/
.section-divider,
[class*="divider"] {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  overflow: hidden !important;
}

/* Remove any default section borders that cause lines */
section, header, footer, main, article, aside {
  border: none !important;
  outline: none !important;
}

/* ── 2. FLOW RIBBON — FULL-PAGE ORGANIC SVG RIBBON ────────────
   Positioned absolute on body, spans full document height.
   JS (v3.js) sets the SVG path dynamically.
────────────────────────────────────────────────────────────────*/
.flow-ribbon {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  pointer-events: none !important;
  z-index: 0 !important;
  overflow: hidden !important;
  mix-blend-mode: normal !important;
}

.flow-ribbon svg {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  display: block !important;
  overflow: visible !important;
}

.flow-ribbon path {
  fill: none !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
}

/* Ribbon invisible on reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .flow-ribbon { opacity: 0 !important; }
}

/* ── 3. HERO ──────────────────────────────────────────────────
   Especificidad (0,3,0) > app.css .hero.hero--singularity (0,2,0)
   isolation:auto libera el nav del stacking context del hero.
────────────────────────────────────────────────────────────────*/
.hero.hero--singularity.hero--summit {
  position: relative !important;
  isolation: auto !important;
  overflow: hidden !important;
}

/* Nav siempre encima — z-index alto explícito */
.nav {
  z-index: 9000 !important;
  position: fixed !important;
}

/* ── VIDEO MÁS OSCURO ─────────────────────────────────────────
   Usar #hero para máxima especificidad (1,0,0).
   Reducir opacidad del video para que los textos se lean.
────────────────────────────────────────────────────────────────*/
#hero video.hero__photo,
#hero .hero__photo.hero__video-bg {
  opacity: 0.55 !important;
  filter: brightness(0.72) !important;
}

/* ── OVERLAY DEL HERO — cubre de izq. a der. ─────────────────
   ID selector (1,0,0) gana a cualquier clase.
   Reemplaza el ::before de app.css que solo cubría la izquierda.
────────────────────────────────────────────────────────────────*/
#hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(
      90deg,
      rgba(4, 95, 120, 0.85) 0%,
      rgba(4, 80, 110, 0.68) 35%,
      rgba(7, 20, 33, 0.52) 65%,
      rgba(7, 20, 33, 0.64) 100%
    ),
    linear-gradient(
      180deg,
      rgba(7, 20, 33, 0.24) 0%,
      transparent 40%,
      rgba(7, 20, 33, 0.48) 100%
    ) !important;
}

/* ── TEXTO DEL HERO encima del overlay ────────────────────────*/
#hero .hero__split {
  position: relative !important;
  z-index: 4 !important;
}

/* ── "2026" — ID selector (1,1,0) ────────────────────────────
   Color CYAN de paleta oficial — visible sobre cualquier
   fondo (claro u oscuro). Con text-shadow para profundidad.
────────────────────────────────────────────────────────────────*/
#hero .hero__year {
  display: block !important;
  width: auto !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: 'Montserrat', 'Clash Display', sans-serif !important;
  font-size: clamp(2.2rem, 3.6vw, 5rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: clamp(0.25em, 1vw, 0.42em) !important;
  text-align: left !important;
  /* Cyan brand color — visible sobre video claro y oscuro */
  color: #00E5FF !important;
  -webkit-text-fill-color: #00E5FF !important;
  /* Sombra azul oscura para dar profundidad */
  text-shadow:
    0 2px 20px rgba(0, 0, 0, 0.65),
    0 0 48px rgba(0, 229, 255, 0.25) !important;
}

/* Hero bottom fade */
#hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 120px !important;
  background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.06)) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}


/* ── HERO META — FECHA Y UBICACIÓN CON DEGRADADO DE MARCA ────
   Selectores reales: .hero__meta-item span (texto de fecha/lugar)
   e ícono SVG en stroke currentColor.
────────────────────────────────────────────────────────────────*/
#hero .hero__meta {
  margin-top: clamp(20px, 2.4vw, 30px) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

#hero .hero__meta-item {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

/* El texto de fecha y ubicación con degradado de marca */
#hero .hero__meta-item span {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-weight: 800 !important;
  font-size: clamp(14px, 1vw, 17px) !important;
  letter-spacing: 0.01em !important;
}

/* Ícono SVG mismo color cian */
#hero .hero__meta-item svg {
  color: #00C1D4 !important;
  stroke: #00C1D4 !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  opacity: 0.9 !important;
}


/* ── P3: HERO BUTTONS — GRADIENT TEXT ─────────────────────────
   Selectores reales del HTML: .hero__btn-primary y .hero__btn-outline
   Se aplica gradiente al texto y borde sólido (no gradiente en borde).
────────────────────────────────────────────────────────────────*/
#hero .hero__btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  /* Fondo sólido blanco con borde sólido negro/oscuro */
  background: #FFFFFF !important;
  border: 2px solid rgba(7,20,33,0.12) !important;
  box-shadow: 0 4px 20px rgba(7,20,33,0.12) !important;
  /* Texto con degradado de marca */
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  background-image: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}

#hero .hero__btn-primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 32px rgba(0,193,212,0.28) !important;
  border-color: rgba(0,193,212,0.3) !important;
}

#hero .hero__btn-outline {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 52px !important;
  padding: 0 28px !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  text-decoration: none !important;
  /* Fondo semi-transparente con borde sólido cian */
  background: rgba(255,255,255,0.10) !important;
  border: 2px solid rgba(0,193,212,0.4) !important;
  /* Texto cian sólido (sin gradiente en el outline para contraste) */
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}

#hero .hero__btn-outline:hover {
  background: rgba(0,193,212,0.15) !important;
  border-color: #00C1D4 !important;
  transform: translateY(-2px) !important;
}

/* ── P4: HERO LAYOUT — 2 columnas con respiración ───────────────
   El selector real es .hero__split (no __content-grid).
   home-redesign.css ya define el grid; aquí añadimos respiración.
────────────────────────────────────────────────────────────────*/
#hero .hero__split {
  position: relative !important;
  z-index: 4 !important;
  /* Ya tiene grid 2 cols en home-redesign.css. Aseguramos alineación */
  align-items: center !important;
  justify-content: center !important;
}

#hero .hero__text-col {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(14px, 1.8vw, 22px) !important;
  padding-left: 0 !important; /* el split ya tiene padding propio */
}

#hero .hero__photo-col {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  min-height: 300px !important;
}

/* ── 4. SOBRE EL EVENTO ────────────────────────────────────────
   Light section — force dark text everywhere for contrast.
────────────────────────────────────────────────────────────────*/
#sobre.sobre-purpose,
.sobre-purpose {
  background: #FFFFFF !important;
  position: relative !important;
}

.purpose__label {
  color: #1E63FF !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.purpose__title {
  color: #071421 !important;
}

.purpose__text {
  color: rgba(7, 20, 33, 0.64) !important;
}

.purpose__keywords li {
  color: #071421 !important;
  border-color: rgba(7, 20, 33, 0.16) !important;
  background: transparent !important;
}

/* ── 5. EJES TEMÁTICOS ─────────────────────────────────────────
   Light section — fix all text contrasts.
────────────────────────────────────────────────────────────────*/
#ejes.ejes-pure-clean,
.ejes-director {
  background: #F5F9FF !important;
  position: relative !important;
}

.ejes-main-title,
.ejes-main-lead,
.ejes-main-sublead {
  color: #071421 !important;
}

.ejes-main-lead,
.ejes-main-sublead {
  color: rgba(7, 20, 33, 0.64) !important;
}

.ejes-tag-top {
  color: #1E63FF !important;
  background: rgba(30, 99, 255, 0.06) !important;
  border-color: rgba(30, 99, 255, 0.18) !important;
}

.ejes-live-pill {
  color: rgba(7, 20, 33, 0.56) !important;
  background: rgba(7, 20, 33, 0.04) !important;
  border-color: rgba(7, 20, 33, 0.12) !important;
}

.ejes-metrics div strong {
  color: #071421 !important;
}

.ejes-metrics div span {
  color: rgba(7, 20, 33, 0.52) !important;
}

.card-inner-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5) !important;
}

.card-inner-desc {
  color: rgba(255, 255, 255, 0.88) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}

.card-index-num {
  color: rgba(255, 255, 255, 0.7) !important;
  text-shadow: none !important;
}

.subtopic-chip {
  background: rgba(255,255,255,0.12) !important;
  color: rgba(255,255,255,0.9) !important;
  border-color: rgba(255,255,255,0.2) !important;
  backdrop-filter: blur(4px) !important;
}

.concept-text {
  color: rgba(255,255,255,0.75) !important;
}

.ejes-section-footer .closing-phrase {
  color: rgba(7,20,33,0.7) !important;
}

.ejes-section-footer .closing-subphrase {
  color: rgba(7,20,33,0.52) !important;
}

/* ── 6. SPEAKERS ───────────────────────────────────────────────
   P2: Force visibility — GSAP anims set opacity:0 on .speakers-shell
   and .speaker-card before ScrollTrigger fires; this ensures they
   always appear even if trigger point is missed.
────────────────────────────────────────────────────────────────*/
.section.speakers,
#speakers.section {
  background: #FFFFFF !important;
  position: relative !important;
  overflow: hidden !important;
  /* P2 FIX — never let the section itself be invisible */
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
}

/* P2: speakers-shell and cards must always be visible */
.speakers-shell,
#speakersSwiper.speakers-shell {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.speaker-card {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

/* Section titles on light backgrounds */
#speakers .section-title,
#speakers h2.section-title {
  color: #071421 !important;
}

#speakers .section-subtitle {
  color: rgba(7, 20, 33, 0.56) !important;
}

/* Improved speaker cards from swiper */
.speaker-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(7,20,33,0.08) !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(7,20,33,0.06), 0 1px 4px rgba(7,20,33,0.04) !important;
  transition: transform 0.4s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.4s cubic-bezier(0.16,1,0.3,1) !important;
}

.speaker-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 56px rgba(7,20,33,0.12), 0 4px 16px rgba(7,20,33,0.06) !important;
}

.speaker-card__name {
  color: #071421 !important;
}

.speaker-card__role,
.speaker-card__company {
  color: rgba(7,20,33,0.58) !important;
}

/* Better swiper navigation */
.speakers-prev,
.speakers-next,
.swiper-button-prev,
.swiper-button-next {
  background: #FFFFFF !important;
  border: 1px solid rgba(7,20,33,0.1) !important;
  border-radius: 50% !important;
  width: 48px !important;
  height: 48px !important;
  box-shadow: 0 4px 16px rgba(7,20,33,0.08) !important;
  color: #071421 !important;
  transition: all 0.25s ease !important;
}

.speakers-prev::after,
.speakers-next::after,
.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 14px !important;
  color: #071421 !important;
  font-weight: 800 !important;
}

.speakers-prev:hover,
.speakers-next:hover,
.swiper-button-prev:hover,
.swiper-button-next:hover {
  background: #1E63FF !important;
  border-color: #1E63FF !important;
  color: #FFFFFF !important;
  box-shadow: 0 8px 24px rgba(30,99,255,0.28) !important;
}

.speakers-prev:hover::after,
.speakers-next:hover::after,
.swiper-button-prev:hover::after,
.swiper-button-next:hover::after {
  color: #FFFFFF !important;
}

.swiper-pagination-bullet {
  background: rgba(7,20,33,0.2) !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background: #1E63FF !important;
  width: 24px !important;
  border-radius: 4px !important;
}

/* ── 7. AGENDA ─────────────────────────────────────────────────
   FONDO OSCURO restaurado — todos los textos deben ser blancos.
   El bg blanco (#F8FFFE) causaba texto blanco sobre blanco.
────────────────────────────────────────────────────────────────*/
.agenda.agenda--engine,
#agenda.agenda--engine {
  background:
    radial-gradient(circle at 10% 8%, rgba(0,169,214,0.12), transparent 26%),
    radial-gradient(circle at 90% 14%, rgba(0,230,118,0.09), transparent 24%),
    linear-gradient(180deg, #07121D 0%, #0C1E30 100%) !important;
  position: relative !important;
  color: rgba(255,255,255,0.92) !important;
}

/* Títulos principales en blanco sobre fondo oscuro */
#agenda .section-title,
#agenda h2.section-title {
  color: #FFFFFF !important;
}

#agenda .section-title span {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

#agenda .section-subtitle {
  color: rgba(255,255,255,0.60) !important;
}

#agenda .agenda__kicker {
  color: rgba(255,255,255,0.48) !important;
}

.agenda__topbar {
  border-bottom-color: rgba(255,255,255,0.08) !important;
}

/* Botones de día: blanco/dark */
.agenda__day,
.agenda__day-btn {
  color: rgba(255,255,255,0.64) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.05) !important;
  transition: all 0.25s ease !important;
}

.agenda__day.active,
.agenda__day-btn.active,
.agenda__day:hover,
.agenda__day-btn:hover {
  background: rgba(0,193,212,0.15) !important;
  color: #FFFFFF !important;
  border-color: rgba(0,193,212,0.4) !important;
}

/* Cards de actividad: dark glass */
.agenda__activity,
.agenda-item {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.agenda__activity-title,
.agenda-item__title {
  color: #FFFFFF !important;
}

.agenda__activity-meta,
.agenda-item__meta {
  color: rgba(255,255,255,0.52) !important;
}

/* Botón descarga */
.agenda__download {
  color: rgba(255,255,255,0.42) !important;
  border-color: rgba(255,255,255,0.14) !important;
  background: transparent !important;
}

/* Chips de filtro */
.agenda__filter,
.filter-chip {
  color: rgba(255,255,255,0.56) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  background: rgba(255,255,255,0.04) !important;
}

.agenda__filter.active,
.filter-chip.active {
  background: rgba(0,193,212,0.15) !important;
  color: #00E5FF !important;
  border-color: rgba(0,193,212,0.4) !important;
}

/* Subtitulo del día */
.agenda__day-meta {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.875rem !important;
}

/* ── P5: AGENDA CONTRASTE — selectores reales del HTML generado ─
   Clases generadas por main.js: .timeline__time, .timeline-card__type,
   .timeline-card__title, .agenda__day-btn span/strong.
   Sección tiene bg oscuro via home-redesign.css por .agenda--engine.
────────────────────────────────────────────────────────────────*/

/* Day nav buttons: spans de número y label del día */
.agenda__day-btn span {
  color: #FFFFFF !important;
  font-weight: 900 !important;
  font-size: 1.1rem !important;
  display: block !important;
  line-height: 1 !important;
}

.agenda__day-btn strong {
  color: rgba(255,255,255,0.82) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  display: block !important;
  margin-top: 3px !important;
}

/* Tiempo de cada actividad (hora: 08:00, 09:30...) */
.timeline__time,
.timeline-card__mobile-time {
  color: #FFFFFF !important;
  font-weight: 800 !important;
  font-size: clamp(13px, 1vw, 16px) !important;
  font-family: var(--font-mono, monospace) !important;
  letter-spacing: 0.04em !important;
}

/* Tipo/categoría: PONENCIA, TALLER, NETWORKING, etc. */
.timeline-card__type {
  display: inline-block !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  margin-bottom: 8px !important;
  /* Gradient de marca */
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  /* Borde sutil */
  border: 1px solid rgba(0,193,212,0.25) !important;
}

/* Título de cada actividad */
.timeline-card__title {
  color: #FFFFFF !important;
  font-size: clamp(15px, 1.1vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  margin-bottom: 6px !important;
}

/* Descripción de cada actividad */
.timeline-card__desc {
  color: rgba(255,255,255,0.68) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Timeline spine line */
.timeline__spine {
  background: linear-gradient(to bottom,
    transparent,
    rgba(0,193,212,0.4) 15%,
    rgba(0,230,118,0.3) 85%,
    transparent) !important;
}

/* Nodo del timeline */
.timeline__node {
  background: var(--item-color, #00C1D4) !important;
  border: 3px solid rgba(255,255,255,0.2) !important;
  box-shadow: 0 0 16px var(--item-color, rgba(0,193,212,0.5)) !important;
}

/* Card base del timeline */
.timeline-card {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.timeline-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(0,193,212,0.3) !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.2) !important;
}

/* Arrow icon */
.timeline-card__arrow {
  color: var(--item-color, #00C1D4) !important;
  width: 20px !important;
  height: 20px !important;
  flex-shrink: 0 !important;
}

/* ── 8. INNOVA HUB — RESTORE DARK ORIGINAL (IMPROVED) ─────────
   Remove bento grid styles. Restore tabs+panel dark design.
   The HTML is restored in index.html; CSS here improves it.
────────────────────────────────────────────────────────────────*/
#innovation-hub.innovahub,
#innovation-hub.innovation-hub.innovahub {
  --active-color: #00C1D4 !important;
  background: #060A14 !important;
  color: rgba(255,255,255,0.92) !important;
  padding: clamp(72px, 8vw, 120px) clamp(20px, 5vw, 72px) !important;
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

/* Subtle radial glows */
#innovation-hub.innovahub::before {
  content: '' !important;
  position: absolute !important;
  top: -20% !important;
  right: -10% !important;
  width: 60% !important;
  height: 80% !important;
  background: radial-gradient(ellipse, rgba(0,193,212,0.07) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#innovation-hub.innovahub::after {
  content: '' !important;
  position: absolute !important;
  bottom: -15% !important;
  left: -5% !important;
  width: 50% !important;
  height: 60% !important;
  background: radial-gradient(ellipse, rgba(0,230,118,0.05) 0%, transparent 65%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

#innovation-hub.innovahub .innovation-hub__inner {
  position: relative !important;
  z-index: 1 !important;
}

/* Layout: left (tabs) + right (panel) */
#innovation-hub.innovahub .innovahub__layout {
  display: grid !important;
  grid-template-columns: 400px minmax(0, 1fr) !important;
  gap: clamp(40px, 5vw, 72px) !important;
  align-items: start !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* Left column */
#innovation-hub.innovahub .innovahub__left {
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
}

/* Section tag */
#innovation-hub.innovahub .innovahub__tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,193,212,0.3) !important;
  background: rgba(0,193,212,0.06) !important;
  color: #00C1D4 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 24px !important;
}

/* Main heading */
#innovation-hub.innovahub .innovahub__title {
  font-size: clamp(1.8rem, 2.8vw, 2.6rem) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  color: rgba(255,255,255,0.95) !important;
  margin: 0 0 16px !important;
}

#innovation-hub.innovahub .innovahub__title span {
  background: linear-gradient(100deg, #00C1D4, #00E676) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Lead text */
#innovation-hub.innovahub .innovahub__lead {
  color: rgba(255,255,255,0.5) !important;
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
  margin: 0 0 36px !important;
  max-width: 340px !important;
}

/* Tab list */
#innovation-hub.innovahub .innovahub__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

/* Vertical connector line — centered on icon column (left 12px + icon width 46px / 2 = 35px) */
#innovation-hub.innovahub .innovahub__list::before {
  content: '' !important;
  position: absolute !important;
  left: 35px !important;
  top: 56px !important;
  bottom: 56px !important;
  width: 1px !important;
  background: linear-gradient(to bottom,
    transparent,
    rgba(0,193,212,0.3) 20%,
    rgba(0,230,118,0.2) 80%,
    transparent) !important;
  pointer-events: none !important;
}

/* Tab item */
#innovation-hub.innovahub .innovahub__item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: 14px 48px 14px 12px !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  cursor: pointer !important;
  text-align: left !important;
  width: 100% !important;
  position: relative !important;
  transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s cubic-bezier(0.16,1,0.3,1) !important;
  color: rgba(255,255,255,0.85) !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

#innovation-hub.innovahub .innovahub__item:hover {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(255,255,255,0.06) !important;
  transform: translateX(4px) !important;
}

#innovation-hub.innovahub .innovahub__item.active {
  background: color-mix(in srgb, var(--event-color, #00C1D4) 8%, transparent) !important;
  border-color: color-mix(in srgb, var(--event-color, #00C1D4) 22%, transparent) !important;
}

/* Icon circle */
#innovation-hub.innovahub .innovahub__icon {
  flex: 0 0 46px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
  display: grid !important;
  place-items: center !important;
  border: 1.5px solid var(--event-color, #00C1D4) !important;
  color: var(--event-color, #00C1D4) !important;
  background: rgba(255,255,255,0.03) !important;
  transition: background 0.3s ease, box-shadow 0.3s ease !important;
}

#innovation-hub.innovahub .innovahub__item:hover .innovahub__icon,
#innovation-hub.innovahub .innovahub__item.active .innovahub__icon {
  background: color-mix(in srgb, var(--event-color, #00C1D4) 14%, transparent) !important;
  box-shadow: 0 0 22px color-mix(in srgb, var(--event-color, #00C1D4) 30%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__icon svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
}

/* Number */
#innovation-hub.innovahub .innovahub__num {
  flex: 0 0 36px !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  color: var(--event-color, #00C1D4) !important;
  line-height: 1.1 !important;
  padding-top: 2px !important;
}

/* Copy */
#innovation-hub.innovahub .innovahub__copy {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  min-width: 0 !important;
}

#innovation-hub.innovahub .innovahub__copy strong {
  display: block !important;
  font-size: 0.8125rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--event-color, #00C1D4) !important;
  line-height: 1.2 !important;
}

#innovation-hub.innovahub .innovahub__copy small {
  display: block !important;
  font-size: 0.8125rem !important;
  line-height: 1.55 !important;
  color: rgba(255,255,255,0.45) !important;
  font-weight: 400 !important;
}

/* Active indicator line */
#innovation-hub.innovahub .innovahub__active-line {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 20px !important;
  height: 2px !important;
  border-radius: 2px !important;
  background: var(--event-color, #00C1D4) !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease, width 0.3s ease !important;
}

#innovation-hub.innovahub .innovahub__item.active .innovahub__active-line {
  opacity: 1 !important;
  width: 24px !important;
}

/* RIGHT PANEL */
#innovation-hub.innovahub .innovahub__panel {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 24px !important;
  overflow: hidden !important;
  position: relative !important;
  box-shadow: 0 32px 80px rgba(0,0,0,0.4) !important;
  transition: border-color 0.5s ease !important;
}

#innovation-hub.innovahub .innovahub__panel:hover {
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 24%, transparent) !important;
}

/* Panel image area */
/* P6: Panel wrapper — glow dynámico con --active-color */
#innovation-hub.innovahub .innovahub__panel {
  border-radius: 20px !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  background: #0B1527 !important;
  /* Glow dynámico que JS actualiza via --active-color */
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--active-color, #00C1D4) 20%, transparent),
    0 20px 60px rgba(0, 0, 0, 0.4),
    0 0 80px color-mix(in srgb, var(--active-color, #00C1D4) 14%, transparent) !important;
  transition:
    box-shadow 0.5s cubic-bezier(0.16,1,0.3,1),
    border-color 0.5s ease !important;
}

#innovation-hub.innovahub .innovahub__panel-img-wrapper {
  position: relative !important;
  height: 260px !important;
  overflow: hidden !important;
}

#innovation-hub.innovahub .innovahub__panel-img {
  width: 100% !important;
  height: 100% !important;
  background:
    radial-gradient(ellipse 100% 100% at 70% 40%,
      color-mix(in srgb, var(--active-color, #00C1D4) 18%, transparent) 0%,
      transparent 60%),
    linear-gradient(145deg, #0B1527 0%, #060A14 100%) !important;
  transition: background 0.6s ease !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Decorative grid pattern on panel image */
#innovation-hub.innovahub .innovahub__panel-img::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px) !important;
  background-size: 40px 40px !important;
  pointer-events: none !important;
}

/* Panel badge */
#innovation-hub.innovahub .innovahub__badge {
  position: absolute !important;
  top: 20px !important;
  left: 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  background: rgba(10,15,30,0.72) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: rgba(255,255,255,0.9) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
  z-index: 2 !important;
}

#innovation-hub.innovahub .innovahub__badge svg {
  width: 18px !important;
  height: 18px !important;
  color: #00C1D4 !important;
  flex-shrink: 0 !important;
}

/* Panel MIND SUMMIT watermark */
#innovation-hub.innovahub .innovahub__panel-img::after {
  content: 'MIND SUMMIT' !important;
  position: absolute !important;
  right: 24px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 2.2rem !important;
  font-weight: 900 !important;
  line-height: 1.05 !important;
  color: rgba(255,255,255,0.08) !important;
  letter-spacing: -0.02em !important;
  text-align: right !important;
  pointer-events: none !important;
}

/* Panel content area */
#innovation-hub.innovahub .innovahub__panel-content {
  padding: 28px 32px 32px !important;
}

#innovation-hub.innovahub .innovahub__eyebrow {
  display: inline-block !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  /* P6: Gradient de marca en el eyebrow label */
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  margin-bottom: 10px !important;
  opacity: 1 !important;
}

#innovation-hub.innovahub .innovahub__panel-title {
  font-size: clamp(1.5rem, 2.2vw, 2.1rem) !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,0.95) !important;
  line-height: 1.1 !important;
  margin: 0 0 20px !important;
  letter-spacing: -0.01em !important;
}

/* Content grid: desc + meta side by side */
#innovation-hub.innovahub .innovahub__content-grid {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 20px !important;
  align-items: start !important;
  margin-bottom: 24px !important;
}

#innovation-hub.innovahub .innovahub__panel-desc {
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.52) !important;
  margin: 0 !important;
}

/* Meta: date, time, place */
#innovation-hub.innovahub .innovahub__meta {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  min-width: 160px !important;
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
}

#innovation-hub.innovahub .innovahub__meta span {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  color: rgba(255,255,255,0.9) !important;
}

#innovation-hub.innovahub .innovahub__meta svg {
  width: 15px !important;
  height: 15px !important;
  flex-shrink: 0 !important;
  opacity: 0.5 !important;
  stroke: currentColor !important;
  fill: none !important;
}

#innovation-hub.innovahub .innovahub__meta strong {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.88) !important;
}

/* Stats row */
#innovation-hub.innovahub .innovahub__stats {
  display: flex !important;
  gap: 0 !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 16px !important;
}

#innovation-hub.innovahub .innovahub__stat {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 14px 12px !important;
  border-right: 1px solid rgba(255,255,255,0.07) !important;
  gap: 4px !important;
}

#innovation-hub.innovahub .innovahub__stat:last-child {
  border-right: none !important;
}

#innovation-hub.innovahub .innovahub__stat-value {
  font-size: 1.4rem !important;
  font-weight: 900 !important;
  color: var(--active-color, #00C1D4) !important;
  line-height: 1 !important;
  display: block !important;
}

#innovation-hub.innovahub .innovahub__stat-label {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.35) !important;
  text-align: center !important;
  display: block !important;
}

/* Tags */
#innovation-hub.innovahub .innovahub__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}

#innovation-hub.innovahub .innovahub__tags span {
  padding: 4px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.08) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.5) !important;
  transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

#innovation-hub.innovahub .innovahub__tags span:hover {
  background: color-mix(in srgb, var(--active-color, #00C1D4) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 28%, transparent) !important;
  color: var(--active-color, #00C1D4) !important;
}

/* Cursor follower */
#innovation-hub.innovahub .innovahub__cursor {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 2px solid var(--active-color, #00C1D4) !important;
  pointer-events: none !important;
  z-index: 9999 !important;
  opacity: 0 !important;
  transform: translate(-50%, -50%) !important;
  will-change: transform !important;
  transition: border-color 0.3s ease !important;
  mix-blend-mode: normal !important;
}

/* Hide bento grid if still present */
.bento-grid,
.bento-card,
.bento-header {
  display: none !important;
}

/* ── 9. PRECIOS / PASSES ───────────────────────────────────────
   Light section — more air, better hierarchy.
────────────────────────────────────────────────────────────────*/
.passes-section,
#precios.passes-section {
  background: #F5FDFF !important;
  position: relative !important;
}

.passes__title,
.passes__header h2 {
  color: #071421 !important;
}

.passes__label {
  color: rgba(7,20,33,0.42) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.1em !important;
}

.passes__limited {
  color: rgba(7,20,33,0.5) !important;
  font-size: 13px !important;
}

/* Pass selector cards */
.pass-card {
  border-color: rgba(7,20,33,0.08) !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 8px rgba(7,20,33,0.04) !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.3s ease,
              border-color 0.3s ease !important;
}

.pass-card:hover,
.pass-card.active {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(7,20,33,0.1) !important;
  border-color: var(--card-color, #00E676) !important;
}

.pass-card strong {
  color: #071421 !important;
}

.pass-card small,
.pass-card em {
  color: rgba(7,20,33,0.54) !important;
}

.pass-card__popular {
  background: linear-gradient(90deg, #00E676, #00C1D4) !important;
  color: #071421 !important;
}

/* Detail panel */
.passes__active-name {
  color: #071421 !important;
}

.passes__active-title {
  color: #071421 !important;
}

.passes__active-desc {
  color: rgba(7,20,33,0.6) !important;
}

.passes__watching {
  color: rgba(7,20,33,0.44) !important;
}

.passes__price span {
  color: rgba(7,20,33,0.44) !important;
}

.passes__price strong {
  color: #071421 !important;
}

.passes__price em {
  color: #00AFC2 !important;
}

/* Benefits list */
#passesBenefits .benefit-item {
  color: rgba(7,20,33,0.7) !important;
}

.passes__benefits h3 {
  color: #071421 !important;
}

/* Gallery */
.passes__gallery-title {
  color: rgba(7,20,33,0.5) !important;
}

/* Contact bar */
.passes__contact-bar {
  background: rgba(7,20,33,0.03) !important;
  border: 1px solid rgba(7,20,33,0.07) !important;
  border-radius: 16px !important;
}

.passes__contact-bar strong {
  color: #071421 !important;
}

.passes__contact-bar p {
  color: rgba(7,20,33,0.56) !important;
}

/* ── 10. BROCHURE SECTION ──────────────────────────────────────*/
#brochure.section.brochure {
  background: #FFFFFF !important;
}

#brochure .section-title {
  color: #071421 !important;
}

#brochure p {
  color: rgba(7,20,33,0.6) !important;
}

.brochure__meta-badge {
  color: rgba(7,20,33,0.5) !important;
  border-color: rgba(7,20,33,0.12) !important;
  background: transparent !important;
}

/* ── 11. ALIANZAS — PREMIUM REDESIGN ──────────────────────────
   Redesigned to remove empty space and add more visual density.
────────────────────────────────────────────────────────────────*/
.strategic-alliances,
#alianzas.strategic-alliances {
  background: #FAFBFF !important;
  position: relative !important;
  overflow: hidden !important;
}

.alliances__heading {
  color: #071421 !important;
}

.alliances__heading span {
  background: linear-gradient(90deg, #1E63FF, #00AFC2) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

.alliances__subtitle {
  color: rgba(7,20,33,0.56) !important;
}

/* Alliance stats */
.alliance-stat-number {
  color: #071421 !important;
}

.alliance-stat span {
  color: rgba(7,20,33,0.5) !important;
}

/* Logo cards */
.alliance-logo-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(7,20,33,0.07) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(7,20,33,0.04) !important;
  transition: transform 0.3s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.3s ease,
              border-color 0.3s ease !important;
}

.alliance-logo-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(7,20,33,0.08) !important;
  border-color: rgba(30,99,255,0.18) !important;
}

.alliance-logo-card span {
  color: rgba(7,20,33,0.5) !important;
  font-weight: 800 !important;
}

/* Category labels */
.alliance-category__label {
  color: rgba(7,20,33,0.42) !important;
}

/* CTA section */
.alliance-cta {
  background: #FFFFFF !important;
  border: 1px solid rgba(7,20,33,0.07) !important;
  border-radius: 20px !important;
  box-shadow: 0 4px 20px rgba(7,20,33,0.05) !important;
}

.alliance-cta__copy h3 {
  color: #071421 !important;
}

.alliance-cta__copy p {
  color: rgba(7,20,33,0.56) !important;
}

.alliance-cta__button {
  background: linear-gradient(135deg, #1E63FF, #21CFA6) !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  font-weight: 900 !important;
  box-shadow: 0 8px 24px rgba(30,99,255,0.24) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, opacity 0.25s ease !important;
}

.alliance-cta__button:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 36px rgba(30,99,255,0.32) !important;
}

.alliance-avatars span {
  background: linear-gradient(135deg, #1E63FF, #00C1D4) !important;
  color: #FFFFFF !important;
  border-color: #FAFBFF !important;
}

/* ── 12. FOOTER ────────────────────────────────────────────────
   Dark footer — matches hero dark tone.
────────────────────────────────────────────────────────────────*/
.footer--premium,
#footer.footer {
  background: #060A14 !important;
  color: rgba(255,255,255,0.85) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Subtle top glow blend from alianzas */
.footer--premium::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0,193,212,0.3) 30%,
    rgba(0,230,118,0.25) 70%,
    transparent) !important;
  pointer-events: none !important;
}

.footer__logo span,
.footer__brand p,
.footer__meta span {
  color: rgba(255,255,255,0.7) !important;
}

.footer__logo span {
  color: rgba(255,255,255,0.9) !important;
  font-weight: 800 !important;
}

.footer__col h4 {
  color: rgba(255,255,255,0.9) !important;
}

.footer__col a {
  color: rgba(255,255,255,0.48) !important;
  transition: color 0.2s ease !important;
}

.footer__col a:hover {
  color: rgba(255,255,255,0.88) !important;
}

.footer__copy {
  color: rgba(255,255,255,0.32) !important;
}

.footer__back {
  color: rgba(255,255,255,0.48) !important;
  border-color: rgba(255,255,255,0.12) !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}

.footer__back:hover {
  color: rgba(255,255,255,0.88) !important;
  border-color: rgba(255,255,255,0.28) !important;
}

.footer__watermark {
  color: rgba(255,255,255,0.025) !important;
}

.footer__bottom {
  border-top-color: rgba(255,255,255,0.06) !important;
}

/* ── 13. GLOBAL SECTION HEADINGS — CONSISTENT DARK TEXT ────────*/
.section-title {
  color: #071421 !important;
}

.section-subtitle {
  color: rgba(7,20,33,0.56) !important;
}

/* Section tags on light backgrounds */
.section-tag {
  background: rgba(30,99,255,0.06) !important;
  color: #1B5FEF !important;
  border: 1px solid rgba(30,99,255,0.16) !important;
}

/* Section tags INSIDE dark sections keep their cyan treatment */
#innovation-hub .section-tag,
.footer .section-tag {
  background: rgba(0,193,212,0.08) !important;
  color: #00C1D4 !important;
  border-color: rgba(0,193,212,0.24) !important;
}

/* ── 14. ANIMATION SYSTEM ──────────────────────────────────────
   Keyframes for float, pulse, gradient-shift effects.
────────────────────────────────────────────────────────────────*/

/* Floating animation (decorative elements) */
@keyframes v3-float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-10px); }
}

/* Gradient animation for hero and dark sections */
@keyframes v3-grad-shift {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Glow pulse */
@keyframes v3-glow-pulse {
  0%, 100% { opacity: 0.5; transform: scale(1); }
  50%       { opacity: 0.8; transform: scale(1.05); }
}

/* Shimmer for badges */
@keyframes v3-shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Ribbon draw-in */
@keyframes v3-ribbon-reveal {
  from { stroke-dashoffset: var(--ribbon-len, 10000); }
  to   { stroke-dashoffset: 0; }
}

/* Scroll reveal transitions — applied by JS */
[data-v3-reveal] {
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1),
              transform 0.7s cubic-bezier(0.16,1,0.3,1) !important;
}

[data-v3-reveal="up"]:not(.v3-visible) {
  opacity: 0 !important;
  transform: translateY(40px) !important;
}

[data-v3-reveal="up"].v3-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

[data-v3-reveal="left"]:not(.v3-visible) {
  opacity: 0 !important;
  transform: translateX(-32px) !important;
}

[data-v3-reveal="right"]:not(.v3-visible) {
  opacity: 0 !important;
  transform: translateX(32px) !important;
}

[data-v3-reveal].v3-visible {
  opacity: 1 !important;
  transform: none !important;
}

/* Staggered children via CSS custom property delay */
[data-v3-stagger] > *:nth-child(1) { transition-delay: 0ms !important; }
[data-v3-stagger] > *:nth-child(2) { transition-delay: 80ms !important; }
[data-v3-stagger] > *:nth-child(3) { transition-delay: 160ms !important; }
[data-v3-stagger] > *:nth-child(4) { transition-delay: 240ms !important; }
[data-v3-stagger] > *:nth-child(5) { transition-delay: 320ms !important; }
[data-v3-stagger] > *:nth-child(6) { transition-delay: 400ms !important; }

/* ── 15. RESPONSIVE ─────────────────────────────────────────────*/
@media (max-width: 1024px) {
  #innovation-hub.innovahub .innovahub__layout {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  #innovation-hub.innovahub .innovahub__left {
    position: static !important;
  }

  #innovation-hub.innovahub .innovahub__lead {
    max-width: 100% !important;
  }

  #innovation-hub.innovahub .innovahub__content-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .flow-ribbon {
    opacity: 0.6 !important;
  }

  #innovation-hub.innovahub {
    padding: 60px 20px !important;
  }

  #innovation-hub.innovahub .innovahub__panel-content {
    padding: 20px 20px 24px !important;
  }

  #innovation-hub.innovahub .innovahub__stat-value {
    font-size: 1.1rem !important;
  }

  #innovation-hub.innovahub .innovahub__panel-img-wrapper {
    height: 200px !important;
  }
}

@media (max-width: 480px) {
  #innovation-hub.innovahub .innovahub__stats {
    flex-wrap: wrap !important;
  }

  #innovation-hub.innovahub .innovahub__stat {
    flex: 1 1 calc(50% - 0.5px) !important;
  }
}

/* ── 16. ULTRAWIDE (> 2000px) ──────────────────────────────────*/
@media (min-width: 2000px) {
  #innovation-hub.innovahub .innovahub__layout {
    grid-template-columns: 480px minmax(0, 1fr) !important;
  }
}

/* ── 17. ACTIVE COLOR CSS VARS (per-item) ─────────────────────
   Each .innovahub__item gets --event-color via style attribute.
   The icon and number use var(--event-color).
   The panel uses --active-color (set by JS on the section).
   We also need --cr for rgba() usage.
────────────────────────────────────────────────────────────────*/
/* These are set via inline style="--event-color: #X" on each item */

/* ── 18. SITE ACCENT LINE — HIDDEN (replaced by flow-ribbon) ───*/
.site-accent-line {
  display: none !important;
}

/* ── 19. PREVENT OVERFLOW LEAKS ────────────────────────────────*/
main#main-content {
  overflow: visible !important;
  position: relative !important;
}

/* ── 20. MARQUEE TRACK — do not override original animation ────*/
/* The app.css defines the marquee keyframe; leave it intact.   */

/* ══════════════════════════════════════════════════════════════
   V3.2 QA DIRECTOR PASS
   Hero video · Contraste · Ejes effects · Agenda · Hub · Footer
   Passes · SVG corner lines · GSAP foundation
══════════════════════════════════════════════════════════════ */

/* ── HERO: Video background + hide decorative curves ────────── */
.hero__curve,
.hero__curve-svg {
  display: none !important;
}

/* Video element inherits .hero__photo positioning from app.css
   (position:absolute, inset:0). We just ensure object-fit. */
.hero__video-bg {
  object-fit: cover !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

/* Stronger veil overlay for video readability */
.hero--summit .hero__veil {
  background: linear-gradient(
    150deg,
    rgba(3,7,18,0.72) 0%,
    rgba(4,13,30,0.55) 45%,
    rgba(5,18,38,0.68) 100%
  ) !important;
  z-index: 1 !important;
}

/* Ensure all hero elements are above video */
.hero__layer,
.hero__logos,
.hero__split {
  position: relative !important;
  z-index: 2 !important;
}

/* Text contrast on video */
.hero__summit,
.hero__year {
  text-shadow: 0 2px 20px rgba(0,0,0,0.55), 0 1px 4px rgba(0,0,0,0.35) !important;
}

.hero__mind {
  text-shadow: 0 4px 28px rgba(0,0,0,0.4), 0 2px 8px rgba(0,0,0,0.28) !important;
}

.hero__desc,
.hero__meta-item {
  text-shadow: 0 1px 10px rgba(0,0,0,0.45) !important;
}

/* Tagline dots — white (no cyan en hero) */
.hero__tagline-dot {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* ── SOBRE: Ensure full text visibility ────────────────────── */
.purpose__bg {
  display: none !important;
}

.purpose__label,
.purpose__title,
.purpose__text,
.purpose__keywords li {
  opacity: 1 !important;
}

.purpose__text {
  color: rgba(7,20,33,0.80) !important;
}

/* Keywords: dark on white */
.purpose__keywords li {
  color: #1A2E42 !important;
  background: rgba(7,20,33,0.04) !important;
  border-color: rgba(7,20,33,0.12) !important;
}

/* kw spans — brand colors with explicit text-fill */
.kw--cyan {
  color: #00A0B6 !important;
  -webkit-text-fill-color: #00A0B6 !important;
  background: none !important;
}

.kw--blue {
  color: #1A58D4 !important;
  -webkit-text-fill-color: #1A58D4 !important;
  background: none !important;
}

/* ── EJES: Darker card overlays + premium hover effects ─────── */
.card-overlay {
  background: linear-gradient(
    170deg,
    rgba(3,7,18,0.20) 0%,
    rgba(3,9,22,0.52) 50%,
    rgba(3,7,18,0.93) 100%
  ) !important;
  z-index: 1 !important;
  transition: background 0.4s ease !important;
}

.eje-card-unsa:hover .card-overlay {
  background: linear-gradient(
    170deg,
    rgba(0,30,50,0.28) 0%,
    rgba(0,40,60,0.60) 50%,
    rgba(0,20,40,0.95) 100%
  ) !important;
}

.card-content-top {
  position: relative !important;
  z-index: 2 !important;
}

.card-body-bottom {
  position: relative !important;
  z-index: 2 !important;
}

.eje-card-unsa {
  overflow: hidden !important;
  transition: transform 0.42s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.42s cubic-bezier(0.16,1,0.3,1) !important;
  will-change: transform !important;
}

.eje-card-unsa:hover {
  transform: translateY(-10px) scale(1.012) !important;
  box-shadow:
    0 28px 68px rgba(0,0,0,0.30),
    0 8px 24px rgba(0,193,212,0.22),
    0 0 0 1px rgba(0,193,212,0.12) !important;
  z-index: 3 !important;
}

.card-inner-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 14px rgba(0,0,0,0.65) !important;
  transition: color 0.3s ease !important;
}

.eje-card-unsa:hover .card-inner-title {
  color: #5AFAD0 !important;
  text-shadow: 0 0 20px rgba(90,250,208,0.5), 0 2px 8px rgba(0,0,0,0.5) !important;
}

.card-inner-desc {
  color: rgba(255,255,255,0.92) !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.55) !important;
}

.card-index-num {
  color: rgba(255,255,255,0.65) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}

.subtopic-chip {
  background: rgba(0,193,212,0.12) !important;
  border: 1px solid rgba(0,193,212,0.32) !important;
  color: rgba(255,255,255,0.94) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  padding: 5px 10px !important;
  border-radius: 6px !important;
  letter-spacing: 0.03em !important;
  transition: background 0.25s ease, border-color 0.25s ease !important;
}

.eje-card-unsa:hover .subtopic-chip {
  background: rgba(0,193,212,0.18) !important;
  border-color: rgba(0,193,212,0.45) !important;
}

.concept-text {
  color: rgba(255,255,255,0.84) !important;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}

.footer-icon-circle {
  color: rgba(255,255,255,0.6) !important;
}

/* ── AGENDA (RUTA DE IMPACTO): Section title span ───────────── */
#agenda .section-title > span {
  background: linear-gradient(90deg, #00C1D4, #1E63FF) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Agenda section tag */
#agenda .section-tag {
  color: #00AFC2 !important;
  background: rgba(0,193,212,0.07) !important;
  border-color: rgba(0,193,212,0.22) !important;
}

/* ── INNOVA HUB: Belt-and-suspenders contrast insurance ─────── */
/* Ensure ALL text containers are dark on white */
#innovation-hub.innovahub .innovahub__left *,
#innovation-hub.innovahub .innovahub__copy,
#innovation-hub.innovahub .innovahub__panel-content,
#innovation-hub.innovahub .innovahub__panel-content * {
  color: inherit !important;
}

/* Direct color assignments — no inheritance ambiguity */
#innovation-hub.innovahub .innovahub__layout {
  color: #071421 !important;
}

/* Ensure panel title is dark */
#innovation-hub.innovahub .innovahub__panel-title,
#innovation-hub.innovahub .innovahub__panel-desc,
#innovation-hub.innovahub .innovahub__meta span,
#innovation-hub.innovahub .innovahub__meta strong {
  -webkit-text-fill-color: initial !important;
}

/* Override any remaining white from dark theme */
#innovation-hub.innovahub .innovahub__copy small {
  color: rgba(7,20,33,0.50) !important;
  -webkit-text-fill-color: rgba(7,20,33,0.50) !important;
}

/* ── PRECIOS: Premium pass card effects ──────────────────────── */
.pass-card {
  position: relative !important;
  overflow: hidden !important;
  transition: transform 0.38s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.38s cubic-bezier(0.16,1,0.3,1),
              border-color 0.3s ease !important;
}

/* Shimmer sweep on hover */
.pass-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -100% !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    105deg,
    transparent 20%,
    rgba(255,255,255,0.10) 50%,
    transparent 80%
  ) !important;
  transition: left 0.5s ease !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

.pass-card:hover::before {
  left: 100% !important;
}

.pass-card:hover {
  transform: translateY(-7px) scale(1.02) !important;
  box-shadow: 0 16px 48px rgba(7,20,33,0.13), 0 4px 16px rgba(7,20,33,0.06) !important;
  border-color: var(--card-color, #00E676) !important;
}

.pass-card.active {
  transform: translateY(-4px) !important;
  box-shadow:
    0 0 0 1.5px var(--card-color, #00E676),
    0 12px 40px color-mix(in srgb, var(--card-color, #00E676) 16%, transparent),
    0 4px 12px rgba(7,20,33,0.07) !important;
  border-color: var(--card-color, #00E676) !important;
}

/* Visual glow under card icon */
.pass-card__icon {
  transition: transform 0.3s ease !important;
}

.pass-card:hover .pass-card__icon {
  transform: scale(1.12) !important;
}

/* ── FOOTER: Cyan-Blue Deep Gradient ────────────────────────── */
.footer--premium,
#footer.footer--premium {
  background: linear-gradient(
    155deg,
    #031B2A 0%,
    #053244 28%,
    #074B66 55%,
    #053244 80%,
    #031B2A 100%
  ) !important;
  color: rgba(255,255,255,0.88) !important;
}

/* Top accent line on new footer */
.footer--premium::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(0,193,212,0.5) 25%,
    rgba(127,232,217,0.45) 50%,
    rgba(0,193,212,0.5) 75%,
    transparent
  ) !important;
  height: 1px !important;
}

/* Footer text on cyan bg */
.footer__logo span {
  color: #FFFFFF !important;
  text-shadow: 0 0 20px rgba(0,193,212,0.3) !important;
}

.footer__brand p,
.footer__meta,
.footer__meta span {
  color: rgba(255,255,255,0.60) !important;
}

.footer__meta svg {
  color: rgba(0,193,212,0.75) !important;
  stroke: rgba(0,193,212,0.75) !important;
}

.footer__col h4 {
  color: rgba(255,255,255,0.95) !important;
  letter-spacing: 0.06em !important;
}

.footer__col a {
  color: rgba(255,255,255,0.48) !important;
  transition: color 0.25s ease !important;
}

.footer__col a:hover {
  color: #7FE8D9 !important;
}

.footer__copy {
  color: rgba(255,255,255,0.30) !important;
}

.footer__back {
  color: rgba(255,255,255,0.48) !important;
  border-color: rgba(255,255,255,0.13) !important;
  transition: color 0.25s ease, border-color 0.25s ease !important;
}

.footer__back:hover {
  color: #7FE8D9 !important;
  border-color: rgba(127,232,217,0.38) !important;
}

.footer__watermark {
  color: rgba(255,255,255,0.03) !important;
}

.footer__bottom {
  border-top-color: rgba(255,255,255,0.07) !important;
}

/* Footer social buttons on cyan bg */
.footer__social a {
  background: rgba(255,255,255,0.07) !important;
  color: rgba(255,255,255,0.65) !important;
  border-color: rgba(255,255,255,0.11) !important;
  transition: all 0.25s ease !important;
}

.footer__social a:hover {
  background: rgba(0,193,212,0.15) !important;
  color: #7FE8D9 !important;
  border-color: rgba(0,193,212,0.35) !important;
}

/* Location / address text in footer meta */
.footer__meta-row span,
.footer__location {
  color: rgba(255,255,255,0.58) !important;
}

/* ── SVG SECTION ART: Increase visibility + corner lines ────── */
/* Corner line accents injected by v3.js appear inside .section-svg-art.
   These CSS rules ensure the wrapper allows full visual */
.section-svg-art {
  opacity: 1 !important;
}

/* ── SPEAKERS SECTION TAG ───────────────────────────────────── */
#speakers .section-tag {
  color: #00AFC2 !important;
  background: rgba(0,193,212,0.06) !important;
  border-color: rgba(0,193,212,0.20) !important;
}

/* ── GLOBAL SECTION TAGS ────────────────────────────────────── */
.section-tag {
  opacity: 1 !important;
  -webkit-text-fill-color: initial !important;
}

/* ── CACHE-BUST: bump to force browser reload ──────────────── */
/* v3.css?v=20260614-v3c */

/* ══════════════════════════════════════════════════════════════
   21. PER-SECTION SVG BRUSHSTROKE CONTAINERS
   Injected by js/v3.js initSectionSvgs()
   Each light section gets position:relative + isolation:isolate
   to contain the absolutely-positioned SVG art.
══════════════════════════════════════════════════════════════ */
.section-svg-art {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
  z-index: -1 !important;
  overflow: hidden !important;
}

.section-svg-art svg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  overflow: hidden !important;
}

/* Ensure all light sections establish stacking context */
#sobre.sobre-purpose,
#ejes.ejes-pure-clean,
#ejes.ejes-director,
.section.speakers,
#speakers.section,
.agenda.agenda--engine,
#agenda.agenda--engine,
.passes-section,
#precios.passes-section,
.strategic-alliances,
#alianzas.strategic-alliances {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
}

/* InnovaHub also gets it (now white background) */
#innovation-hub.innovahub,
.innovation-hub.innovahub {
  overflow: hidden !important;
}

/* SVG art fades on reduced motion */
@media (prefers-reduced-motion: reduce) {
  .section-svg-art {
    opacity: 0 !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   22. INNOVA HUB — LIGHT PREMIUM THEME
   User explicitly requested white background with premium feel.
   These rules override the dark theme above (same specificity,
   later in stylesheet = wins).
══════════════════════════════════════════════════════════════ */
#innovation-hub.innovahub,
#innovation-hub.innovation-hub.innovahub {
  background: #FFFFFF !important;
  color: #071421 !important;
}

#innovation-hub.innovahub::before {
  background: radial-gradient(ellipse, rgba(0,193,212,0.05) 0%, transparent 65%) !important;
}

#innovation-hub.innovahub::after {
  background: radial-gradient(ellipse, rgba(0,180,100,0.04) 0%, transparent 65%) !important;
}

#innovation-hub.innovahub .innovahub__tag {
  border-color: rgba(0,193,212,0.22) !important;
  background: rgba(0,193,212,0.04) !important;
}

#innovation-hub.innovahub .innovahub__title {
  color: #071421 !important;
}

#innovation-hub.innovahub .innovahub__title span {
  background: linear-gradient(100deg, #00AFC2, #1E63FF) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

#innovation-hub.innovahub .innovahub__lead {
  color: rgba(7,20,33,0.55) !important;
}

#innovation-hub.innovahub .innovahub__list::before {
  background: linear-gradient(to bottom,
    transparent,
    rgba(0,193,212,0.18) 20%,
    rgba(0,193,212,0.12) 80%,
    transparent) !important;
}

#innovation-hub.innovahub .innovahub__item {
  color: #071421 !important;
}

#innovation-hub.innovahub .innovahub__item:hover {
  background: rgba(7,20,33,0.03) !important;
  border-color: rgba(7,20,33,0.07) !important;
}

#innovation-hub.innovahub .innovahub__item.active {
  background: color-mix(in srgb, var(--event-color, #00C1D4) 5%, transparent) !important;
  border-color: color-mix(in srgb, var(--event-color, #00C1D4) 18%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__icon {
  background: rgba(7,20,33,0.02) !important;
}

#innovation-hub.innovahub .innovahub__item:hover .innovahub__icon,
#innovation-hub.innovahub .innovahub__item.active .innovahub__icon {
  background: color-mix(in srgb, var(--event-color, #00C1D4) 10%, transparent) !important;
  box-shadow: 0 0 20px color-mix(in srgb, var(--event-color, #00C1D4) 22%, transparent) !important;
}

#innovation-hub.innovahub .innovahub__copy small {
  color: rgba(7,20,33,0.44) !important;
}

#innovation-hub.innovahub .innovahub__panel {
  background: #F7FBFF !important;
  border: 1px solid rgba(7,20,33,0.07) !important;
  box-shadow: 0 8px 40px rgba(7,20,33,0.08), 0 2px 8px rgba(7,20,33,0.04) !important;
}

#innovation-hub.innovahub .innovahub__panel:hover {
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 26%, transparent) !important;
  box-shadow: 0 12px 56px rgba(7,20,33,0.1) !important;
}

#innovation-hub.innovahub .innovahub__panel-img {
  background:
    radial-gradient(ellipse 100% 100% at 70% 40%,
      color-mix(in srgb, var(--active-color, #00C1D4) 14%, transparent) 0%,
      transparent 60%),
    linear-gradient(145deg, #DFF2FF 0%, #C8E8F8 100%) !important;
}

#innovation-hub.innovahub .innovahub__panel-img::before {
  background-image:
    linear-gradient(rgba(7,20,33,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(7,20,33,0.05) 1px, transparent 1px) !important;
}

#innovation-hub.innovahub .innovahub__panel-img::after {
  color: rgba(7,20,33,0.05) !important;
}

#innovation-hub.innovahub .innovahub__badge {
  background: rgba(255,255,255,0.92) !important;
  border-color: rgba(7,20,33,0.09) !important;
  color: #071421 !important;
}

#innovation-hub.innovahub .innovahub__badge svg {
  color: var(--active-color, #00C1D4) !important;
}

#innovation-hub.innovahub .innovahub__panel-title {
  color: #071421 !important;
}

#innovation-hub.innovahub .innovahub__panel-desc {
  color: rgba(7,20,33,0.55) !important;
}

#innovation-hub.innovahub .innovahub__meta {
  background: #FFFFFF !important;
  border: 1px solid rgba(7,20,33,0.07) !important;
}

#innovation-hub.innovahub .innovahub__meta span {
  color: rgba(7,20,33,0.68) !important;
}

#innovation-hub.innovahub .innovahub__meta strong {
  color: #071421 !important;
}

#innovation-hub.innovahub .innovahub__meta svg {
  opacity: 0.36 !important;
}

#innovation-hub.innovahub .innovahub__stats {
  border: 1px solid rgba(7,20,33,0.07) !important;
  background: #FFFFFF !important;
}

#innovation-hub.innovahub .innovahub__stat {
  border-right-color: rgba(7,20,33,0.07) !important;
}

#innovation-hub.innovahub .innovahub__stat-label {
  color: rgba(7,20,33,0.38) !important;
}

#innovation-hub.innovahub .innovahub__tags span {
  background: rgba(7,20,33,0.04) !important;
  border: 1px solid rgba(7,20,33,0.08) !important;
  color: rgba(7,20,33,0.54) !important;
}

#innovation-hub.innovahub .innovahub__tags span:hover {
  background: color-mix(in srgb, var(--active-color, #00C1D4) 8%, transparent) !important;
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 22%, transparent) !important;
  color: var(--active-color, #00C1D4) !important;
}

#innovation-hub.innovahub .innovahub__cursor {
  mix-blend-mode: multiply !important;
  border-color: var(--active-color, #00C1D4) !important;
}

/* Eyebrow on light bg */
#innovation-hub.innovahub .innovahub__eyebrow {
  color: var(--active-color, #00C1D4) !important;
}

/* Active indicator line visible on light bg */
#innovation-hub.innovahub .innovahub__active-line {
  background: var(--event-color, #00C1D4) !important;
}

/* ── InnovaHub responsive adjustments for light theme ── */
@media (max-width: 768px) {
  #innovation-hub.innovahub {
    background: #FAFCFF !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   23. STACKING CONTEXT — isolation:isolate on sections ensures
   z-index: -1 on .section-svg-art stays within the section
   (doesn't bleed below the section's own background).
   Content children are painted above z-index:-1 by default.
══════════════════════════════════════════════════════════════ */
/* The isolation:isolate rule in section 21 handles this. No extra
   z-index rules needed on content children — static elements paint
   after negative-z positioned elements in the same stacking context. */

/* ══════════════════════════════════════════════════════════════
   V3.4 — BRAND PALETTE PASS (v3d)
   Brand: #0B4EFF · #148BFF · #19C6E8 · #24D79E · #49F012
   Text:  #071421 · #56606D · #8B98A7
══════════════════════════════════════════════════════════════ */

/* ── Hero: brand gradient tint over video ─────────────────────
   Replaces the plain dark veil with brand-colored overlay so
   text stands out while the video retains identity.
────────────────────────────────────────────────────────────── */
.hero--summit .hero__veil {
  background: linear-gradient(
    155deg,
    rgba(11, 78, 255, 0.64) 0%,
    rgba(4, 13, 30, 0.40) 38%,
    rgba(25, 198, 232, 0.36) 66%,
    rgba(36, 215, 158, 0.22) 100%
  ) !important;
}

/* ── Sobre: two-column layout with right-side image ───────────
   Adds image column. CSS handles responsive collapse.
────────────────────────────────────────────────────────────── */
.sobre-purpose .purpose__inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: center !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
}
/* Override home-redesign.css which hides .purpose__media on desktop */
#sobre .purpose__media {
  display: block !important;
  min-height: 0 !important;
}
/* Remove left-fade pseudo (was for text-on-image; no longer needed) */
#sobre .purpose__media::before {
  display: none !important;
  content: none !important;
}
#sobre.sobre-purpose .purpose__inner {
  grid-template-columns: 1fr 1fr !important;
}
.sobre-purpose .purpose__media {
  position: relative !important;
  margin: 0 !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  aspect-ratio: 4 / 5 !important;
  box-shadow:
    0 32px 64px rgba(11, 78, 255, 0.14),
    0 8px 24px rgba(0, 0, 0, 0.08) !important;
}
.sobre-purpose .purpose__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
  display: block !important;
}
.sobre-purpose .purpose__media::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
  background: linear-gradient(
    135deg,
    rgba(11, 78, 255, 0.10) 0%,
    rgba(25, 198, 232, 0.06) 100%
  ) !important;
  pointer-events: none !important;
}
@media (max-width: 900px) {
  .sobre-purpose .purpose__inner {
    grid-template-columns: 1fr !important;
  }
  .sobre-purpose .purpose__media {
    aspect-ratio: 3 / 2 !important;
    order: -1 !important;
    max-height: 300px !important;
  }
}

/* ── Ejes: dark text on white card-body-bottom ────────────────
   card-body-bottom bg is #fff (home-redesign.css line 844).
   Prior v3 passes set chip/concept text to white — bug.
────────────────────────────────────────────────────────────── */
.subtopic-chip {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  background: rgba(25, 198, 232, 0.10) !important;
  border: 1px solid rgba(25, 198, 232, 0.28) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  text-shadow: none !important;
}
.eje-card-unsa:hover .subtopic-chip {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  background: rgba(25, 198, 232, 0.18) !important;
  border-color: rgba(25, 198, 232, 0.44) !important;
}

/* Always show drawer so subtopics are immediately readable */
.subtopics-drawer {
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
  padding-top: 8px !important;
}

.concept-text {
  color: rgba(7, 20, 33, 0.70) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.70) !important;
  text-shadow: none !important;
}
.footer-icon-circle {
  color: #19C6E8 !important;
}

/* Ejes section footer on light background */
.ejes-section-footer .closing-phrase,
.ejes-section-footer .closing-phrase strong {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
}
.ejes-section-footer .closing-subphrase {
  color: rgba(7, 20, 33, 0.60) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.60) !important;
}
.text-brand-cyan {
  color: #19C6E8 !important;
  -webkit-text-fill-color: #19C6E8 !important;
}

/* ── Agenda: timeline card text (generated by main.js) ────────
   All .timeline-card* classes have no prior rules in v3.css.
────────────────────────────────────────────────────────────── */
#agenda {
  color: #071421 !important;
}
#agenda .timeline__node {
  background: #FFFFFF !important;
  border-color: rgba(7, 20, 33, 0.12) !important;
}
#agenda .timeline__time {
  color: #071421 !important;
  font-weight: 700 !important;
}
#agenda .timeline-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(7, 20, 33, 0.08) !important;
  box-shadow: 0 4px 20px rgba(7, 20, 33, 0.06) !important;
  color: #071421 !important;
}
#agenda .timeline-card:hover {
  box-shadow:
    0 8px 32px rgba(11, 78, 255, 0.12),
    0 2px 8px rgba(7, 20, 33, 0.06) !important;
  border-color: rgba(11, 78, 255, 0.18) !important;
}
#agenda .timeline-card__mobile-time {
  color: rgba(7, 20, 33, 0.50) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.50) !important;
}
#agenda .timeline-card__type {
  background: var(--item-color, #148BFF) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-weight: 700 !important;
}
#agenda .timeline-card__title {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
}
#agenda .timeline-card__desc {
  color: rgba(7, 20, 33, 0.62) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.62) !important;
}
#agenda .timeline-card__arrow {
  color: rgba(7, 20, 33, 0.28) !important;
}
#agenda .timeline__track,
#agenda .timeline__line,
#agenda .timeline__spine {
  background: rgba(7, 20, 33, 0.10) !important;
}

/* ── InnovaHub: brand-palette pseudo-elements ─────────────────
   Dark radial glows on white bg looked like a ghost overlay.
   Now use brand palette tones at very low opacity.
────────────────────────────────────────────────────────────── */
#innovation-hub.innovahub::before {
  background: radial-gradient(
    ellipse,
    rgba(25, 198, 232, 0.05) 0%,
    transparent 65%
  ) !important;
}
#innovation-hub.innovahub::after {
  background: radial-gradient(
    ellipse,
    rgba(36, 215, 158, 0.04) 0%,
    transparent 65%
  ) !important;
}
/* InnovaHub tag uses brand cyan */
#innovation-hub.innovahub .innovahub__tag {
  color: #19C6E8 !important;
  -webkit-text-fill-color: #19C6E8 !important;
}
#innovation-hub.innovahub .innovahub__title {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
}
#innovation-hub.innovahub .innovahub__title span {
  color: #0B4EFF !important;
  -webkit-text-fill-color: #0B4EFF !important;
}
#innovation-hub.innovahub .innovahub__lead {
  color: rgba(7, 20, 33, 0.65) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.65) !important;
}

/* ── Footer: brand palette gradient ──────────────────────────
   Goes from deep navy → brand blue → brand cyan at bottom-right.
────────────────────────────────────────────────────────────── */
.footer.footer--premium,
footer.footer--premium,
#footer.footer--premium {
  background: linear-gradient(
    155deg,
    #020A1E 0%,
    #04133A 18%,
    #071E5A 35%,
    #0B4EFF 58%,
    #148BFF 72%,
    #19C6E8 85%,
    #062030 100%
  ) !important;
}
.footer__brand p,
.footer__meta span,
.footer__copy {
  color: rgba(255, 255, 255, 0.72) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
}
.footer__logo span,
.footer__col h4,
.footer__back {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.footer__col a {
  color: rgba(255, 255, 255, 0.65) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.65) !important;
}
.footer__col a:hover {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
.footer__watermark {
  color: rgba(255, 255, 255, 0.04) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.04) !important;
}

/* ── Section connectivity: smooth visual flow between sections ─
   Subtle gradient fade-out at section bottom so adjacent
   sections blend rather than hard-cut.
────────────────────────────────────────────────────────────── */
#sobre.sobre-purpose,
#ejes.ejes-pure-clean,
#speakers.speakers,
#precios.passes-section,
#alianzas.strategic-alliances {
  position: relative !important;
}
#sobre.sobre-purpose::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 80px !important;
  background: linear-gradient(to bottom, transparent, rgba(248, 252, 255, 0.6)) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
#ejes.ejes-pure-clean::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 80px !important;
  background: linear-gradient(to bottom, transparent, rgba(250, 252, 253, 0.6)) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   V3E — Hero year typography + footer vivid colours
   ════════════════════════════════════════════════════════════ */

/* Hero year "2026": match MIND's exact typography, center it.
   Also lock opacity:1 — v3.js + animations.js both run
   gsap.from({ opacity:0 }) on it; CSS !important wins. */
#hero .hero__year {
  /* Exact match of .hero--singularity .hero__mind sizing */
  font-family: 'Clash Display', 'Montserrat', sans-serif !important;
  font-size: clamp(5.9rem, 10.15vw, 12.85rem) !important;
  font-weight: 900 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.055em !important;
  text-indent: 0 !important;
  /* Center it directly below MIND */
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  /* Vivid white over video */
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow:
    0 2px 16px rgba(0,0,0,0.65),
    0 0 50px rgba(0,0,0,0.40) !important;
  /* Prevent GSAP opacity:0 from hiding it */
  opacity: 1 !important;
}

/* Footer: prevent competing GSAP from() tweens from leaving
   content hidden (v3.js fires at 92%, animations.js at 90%). */
#footer .footer__top,
#footer .footer__brand,
#footer .footer__col,
#footer .footer__bottom {
  opacity: 1 !important;
}

/* Footer vivid whites — remove rgba opacity reduction */
#footer .footer__brand p,
#footer .footer__meta span,
#footer .footer__copy {
  color: rgba(255, 255, 255, 0.92) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.92) !important;
}
#footer .footer__col a {
  color: rgba(255, 255, 255, 0.88) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.88) !important;
}
#footer .footer__col a:hover {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
/* "Inscripción" registration link — vivid brand accent */
#footer .footer__col a[href*="mindsummit"],
#footer .footer__col a[href*="vercel"] {
  color: #19C6E8 !important;
  -webkit-text-fill-color: #19C6E8 !important;
  font-weight: 700 !important;
}
#footer .footer__col a[href*="mindsummit"]:hover,
#footer .footer__col a[href*="vercel"]:hover {
  color: #24D79E !important;
  -webkit-text-fill-color: #24D79E !important;
}

/* White separator line at top of footer — clear and vivid */
#footer.footer--premium::before {
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.30) 25%,
    rgba(255, 255, 255, 0.45) 50%,
    rgba(255, 255, 255, 0.30) 75%,
    transparent 100%
  ) !important;
  height: 1px !important;
}

/* ── Footer: brand identity gradient (left→right) ──────────────
   Overrides the dark-navy gradient from v3d. Brand colours:
   Electric Blue #1E6CFA → Teal #29CEAD (horizontal, 90deg).
────────────────────────────────────────────────────────────── */
.footer.footer--premium,
footer.footer--premium,
#footer.footer--premium {
  background: linear-gradient(
    90deg,
    #1E6CFA 0%,
    #1687F0 25%,
    #12A6DB 50%,
    #1ABDBF 75%,
    #29CEAD 100%
  ) !important;
}

/* ── Navigation: transparent over video, vivid white chrome ────
   Root causes in home-redesign.css:
   1. .nav { background: rgba(255,255,255,0.76) } → white pill covers video
   2. .nav__link { color: var(--summit-ink); opacity: 0.82 } → dark + dim
   Fix: strip white bg, force transparent, all text #ffffff, opacity:1.
────────────────────────────────────────────────────────────── */

/* Nav base — background/backdrop definitivos en bloque CANON al final */
.nav {
  box-shadow: none !important;
}

/* All nav text: #ffffff, no opacity reduction */
.nav__link,
.nav__brand-text,
.nav__logo-text,
.nav__btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}
.nav__link:hover,
.nav__link.active,
.nav__link:focus-visible {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* Hamburger (mobile) */
.nav__hamburger span {
  background: #ffffff !important;
}

/* "PROGRAMA" outline button */
.nav .nav__btn--outline {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.55) !important;
  background: rgba(255, 255, 255, 0.08) !important;
  opacity: 1 !important;
}

/* "INSCRÍBETE" filled button — brand gradient */
.nav .nav__btn--filled {
  background: linear-gradient(
    90deg,
    #1E6CFA 0%,
    #1687F0 25%,
    #12A6DB 50%,
    #1ABDBF 75%,
    #29CEAD 100%
  ) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: transparent !important;
  opacity: 1 !important;
}

/* Scrolled: keep white on dark backdrop */
.nav.scrolled .nav__link,
.nav.scrolled .nav__brand-text,
.nav.scrolled .nav__logo-text,
.nav.scrolled .nav__btn {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

/* ══════════════════════════════════════════════════════════════
   CANON HERO — ARQUITECTURA DEFINITIVA v5
   ─────────────────────────────────────────────────────────────
   MODELO: hero = flex-column.
   Logos están EN EL FLUJO (position:relative), no flotando.
   El split siempre empieza después de los logos → imposible
   que se solapen, sin importar la altura de los logos.
   Video / canvas / curve = position:absolute → fuera del flujo.
   ─────────────────────────────────────────────────────────────
   Z-INDEX: video(0) → fx(2) → split(3) → logos(4) → nav(9000)
══════════════════════════════════════════════════════════════ */

/* ── 1. HERO: CONTENEDOR FLEX COLUMN ──────────────────────── */
.hero.hero--singularity.hero--summit {
  isolation: auto !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

/* ── 2. VIDEO: absoluto de fondo, fuera del flujo ─────────── */
.hero.hero--singularity.hero--summit .hero__photo,
.hero.hero--singularity.hero--summit .hero__video-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#hero .hero__veil { display: none !important; }

/* ── 3. FX: partículas eliminadas ─────────────────────────── */
.hero.hero--singularity.hero--summit .hero__layer--particles,
#particleCanvas {
  display: none !important;
  visibility: hidden !important;
}
.hero.hero--singularity.hero--summit .hero__arc,
.hero.hero--singularity.hero--summit .hero__curve {
  position: absolute !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* ── 4. LOGOS: EN EL FLUJO — los 3 en una sola fila ─────── */
.hero.hero--singularity.hero--summit .hero__logos {
  position: relative !important;
  z-index: 4 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  align-self: stretch !important;
  flex-shrink: 0 !important;
  margin-top: 80px !important;
  padding: 6px clamp(22px, 4.8vw, 48px) !important;
  max-width: none !important;
  gap: clamp(8px, 1.4vw, 20px) !important;
}

/* Separadores entre logos */
.hero.hero--singularity.hero--summit .hero__logo-sep {
  flex-shrink: 0 !important;
}

/* Cada grupo: mark + label en fila, sin shrink excesivo */
.hero.hero--singularity.hero--summit .hero__logo-group {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: clamp(6px, 0.7vw, 10px) !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}

/* ── 5. SPLIT: FLEX 1 — ocupa el resto de la altura ───────── */
.hero.hero--singularity.hero--summit .hero__split {
  position: relative !important;
  z-index: 3 !important;
  flex: 1 0 auto !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: start !important;
  padding-top: clamp(20px, 2.8vh, 32px) !important;
}

.hero.hero--singularity.hero--summit .hero__text-col {
  align-self: start !important;
}

/* ── 6. NAV ────────────────────────────────────────────────── */
.nav {
  z-index: 9000 !important;
  opacity: 1 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

.nav.scrolled {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.3) !important;
  -webkit-backdrop-filter: blur(20px) saturate(1.3) !important;
  border-color: rgba(7, 20, 33, 0.08) !important;
  box-shadow: 0 4px 28px rgba(7, 20, 33, 0.08) !important;
}

/* Degradado de marca en texto nav al hacer scroll */
.nav.scrolled .nav__link,
.nav.scrolled .nav__brand-text,
.nav.scrolled .nav__logo-text {
  background: linear-gradient(90deg, #1E6CFA 0%, #1687F0 25%, #12A6DB 50%, #1ABDBF 75%, #29CEAD 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  text-shadow: none !important;
}

.nav.scrolled .nav__btn--outline {
  background: linear-gradient(90deg, #1E6CFA 0%, #1687F0 25%, #12A6DB 50%, #1ABDBF 75%, #29CEAD 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  border-color: rgba(30, 108, 250, 0.30) !important;
}

.nav .nav__btn--filled,
.nav.scrolled .nav__btn--filled {
  background: linear-gradient(90deg, #1E6CFA 0%, #1687F0 25%, #12A6DB 50%, #1ABDBF 75%, #29CEAD 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  opacity: 1 !important;
}

.nav__hamburger span { background: #ffffff !important; }
.nav.scrolled .nav__hamburger span { background: #071421 !important; }

/* ── 7. BREAKPOINTS ─────────────────────────────────────────── */

@media (max-width: 1024px) {
  .nav {
    top: 10px !important;
    left: 10px !important;
    right: 10px !important;
  }
  .hero.hero--singularity.hero--summit .hero__logos {
    margin-top: 72px !important;
    max-width: 100% !important;
  }
  .hero.hero--singularity.hero--summit .hero__split {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .hero.hero--singularity.hero--summit {
    min-height: 100svh !important;
  }
  .hero.hero--singularity.hero--summit .hero__logos {
    margin-top: 64px !important;
    padding: 6px 16px !important;
    gap: 8px !important;
    max-width: 100% !important;
  }
  .hero.hero--singularity.hero--summit .hero__split {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-end !important;
    flex: 1 0 auto !important;
    padding: 16px clamp(16px, 5vw, 28px) clamp(36px, 6vh, 56px) !important;
  }
  .hero.hero--singularity.hero--summit .hero__text-col {
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero.hero--singularity.hero--summit .hero__photo-col {
    display: none !important;
  }
}

/* Pantallas muy pequeñas: oculta labels de texto, solo los iconos */
@media (max-width: 520px) {
  .hero.hero--singularity.hero--summit .hero__logo-label {
    display: none !important;
  }
  .hero.hero--singularity.hero--summit .hero__logos {
    gap: 12px !important;
  }
}

@media (min-width: 1800px) {
  .hero.hero--singularity.hero--summit .hero__logos {
    margin-top: 88px !important;
    padding: 8px clamp(48px, 3.5vw, 72px) !important;
  }
  .hero.hero--singularity.hero--summit .hero__split {
    grid-template-columns: minmax(430px, 42vw) minmax(0, 1fr) !important;
    padding-top: 36px !important;
  }
}

/* ── 8. TIPOGRAFÍA ──────────────────────────────────────────── */

#hero .hero__summit {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.70), 0 2px 16px rgba(0,0,0,.40) !important;
  opacity: 1 !important;
}

#hero .hero__mind,
#hero .hero__mind .char {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.65), 0 6px 40px rgba(0,0,0,.35) !important;
  filter: none !important;
  opacity: 1 !important;
}

#hero .hero__year {
  font-size: clamp(1.8rem, 3.2vw, 4.4rem) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: clamp(0.18em, 0.8vw, 0.32em) !important;
  text-indent: 0 !important;
  text-align: center !important;
  display: block !important;
  width: 100% !important;
  margin: clamp(4px, 0.6vh, 8px) 0 0 !important;
  padding: 0 !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 2px 8px rgba(0,0,0,.60), 0 4px 24px rgba(0,0,0,.30) !important;
  filter: none !important;
  opacity: 1 !important;
}

/* ── 9. BOTONES CTA — degradado en texto, no en fondo ────────── */
#hero .hero__btn-primary,
#hero .hero__btn-outline {
  background: linear-gradient(
    90deg,
    #1E6CFA 0%, #1687F0 25%, #12A6DB 50%, #1ABDBF 75%, #29CEAD 100%
  ) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  border: 1.5px solid rgba(255,255,255,0.24) !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

#hero .hero__btn-primary:hover,
#hero .hero__btn-outline:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(255,255,255,0.42) !important;
  box-shadow: 0 18px 44px rgba(30, 99, 255, 0.28) !important;
}

/* ── 16. CURSOR PERSONALIZADO ──────────────────────────────────── */
.cursor-dot {
  width: 6px;
  height: 6px;
  background: #00C1D4;
  border-radius: 50%;
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  z-index: 99999;
  display: block !important;
  transition: background 0.3s ease;
}

.cursor-follower {
  width: 28px;
  height: 28px;
  border: 1.5px solid rgba(0,193,212,0.6);
  border-radius: 50%;
  position: fixed;
  top: 0; left: 0;
  pointer-events: none;
  z-index: 99998;
  display: block !important;
  transition: width 0.3s ease, height 0.3s ease,
              border-color 0.3s ease, background 0.3s ease;
}

.cursor-follower.is-hovering {
  width: 48px;
  height: 48px;
  background: rgba(0,193,212,0.08);
  border-color: #00E676;
}

@media (hover: none) {
  .cursor-dot, .cursor-follower { display: none !important; }
}

/* GLightbox anchor wrapper — no afecta el layout de las cards */
.card-image-wrapper > a.glightbox {
  display: contents;
}

/* ── 17. AGENDA — FIX COLORES ILEGIBLES ───────────────────────
   app.css establece strong { color:#FFFFFF } en botones inactivos
   → texto blanco sobre fondo blanco = invisible.
────────────────────────────────────────────────────────────── */
#agenda.agenda--engine .agenda__day-btn span {
  color: rgba(7, 20, 33, 0.58) !important;
}
#agenda.agenda--engine .agenda__day-btn strong {
  color: #071421 !important;
}
#agenda.agenda--engine .agenda__day-btn.active span {
  color: rgba(255, 255, 255, 0.80) !important;
}
#agenda.agenda--engine .agenda__day-btn.active strong {
  color: #FFFFFF !important;
}

/* ── 18. INNOVA HUB — PANEL BORDER/GLOW CON ACTIVE-COLOR ──────
   El borde del panel ahora siempre refleja el evento activo
   (no solo en hover).
────────────────────────────────────────────────────────────── */
#innovation-hub.innovahub .innovahub__panel {
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 20%, rgba(255,255,255,0.07)) !important;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.4),
    0 0 60px color-mix(in srgb, var(--active-color, #00C1D4) 12%, transparent) !important;
  transition: border-color 0.5s ease, box-shadow 0.5s ease !important;
}

#innovation-hub.innovahub .innovahub__panel:hover {
  border-color: color-mix(in srgb, var(--active-color, #00C1D4) 40%, rgba(255,255,255,0.12)) !important;
  box-shadow:
    0 32px 80px rgba(0,0,0,0.5),
    0 0 90px color-mix(in srgb, var(--active-color, #00C1D4) 24%, transparent) !important;
}

/* ── 19. PASSES — DIFERENCIACIÓN VISUAL EN TEMA CLARO ─────────
   El visual oscuro era diseñado para tema oscuro.
   En tema claro: ocultamos el overlay y clarificamos el panel.
────────────────────────────────────────────────────────────── */

/* Ocultar overlay oscuro que tapa el contenido en tema claro */
.pass-card__visual {
  display: none !important;
}

/* Panel de detalle: fondo blanco con borde coloreado */
#precios.passes-section .passes__detail {
  background: #FFFFFF !important;
  border: 1.5px solid color-mix(in srgb, var(--pass-color, #00E676) 28%, rgba(7,20,33,0.08)) !important;
  box-shadow:
    0 8px 40px color-mix(in srgb, var(--pass-color, #00E676) 10%, transparent),
    0 2px 8px rgba(7,20,33,0.04) !important;
}

/* Divisores internos del panel */
#precios.passes-section .passes__detail-identity,
#precios.passes-section .passes__benefits {
  border-right-color: rgba(7,20,33,0.07) !important;
}

/* Nombre del pass activo en color del pass */
.passes__active-name {
  color: var(--pass-color, #00E676) !important;
  -webkit-text-fill-color: var(--pass-color, #00E676) !important;
}

/* Ícono de cada card en su color propio */
.pass-card .pass-card__icon {
  color: var(--card-color, #00E676) !important;
}
.pass-card .pass-card__icon svg {
  stroke: var(--card-color, #00E676) !important;
}

/* Barra de acento superior en card activa */
.pass-card::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: var(--card-color, #00E676) !important;
  border-radius: 16px 16px 0 0 !important;
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}
.pass-card.active::before {
  opacity: 1 !important;
}

/* Botón secundario legible en fondo blanco */
#precios.passes-section .passes__secondary {
  border-color: rgba(7,20,33,0.18) !important;
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  background: transparent !important;
}

/* Títulos internos del panel en tema claro */
#precios.passes-section .passes__benefits h3,
#precios.passes-section .passes__gallery-title {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
}

/* ============================================================
   MIND v11 final overrides
   ============================================================ */
:root {
  --mind-cyan: #1CC6B5;
  --mind-cyan-2: #00C1D4;
  --mind-blue: #1F8FE0;
  --mind-blue-2: #1A6FDB;
  --mind-green: #00E676;
  --mind-dark: #07192E;
  --mind-muted: #4A5568;
  --mind-soft: #F7F9FC;
  --mind-line: rgba(28, 198, 181, 0.18);
  --mind-gradient: linear-gradient(135deg, #1CC6B5 0%, #1F8FE0 100%);
}

#globalCityBg,
#liquidCanvas,
#particleCanvas,
.hero__layer--particles,
.hero__dot,
.section-svg-art,
.liquid-canvas,
.wave-trail,
.organic-line,
.brush-stroke,
.floating-orb,
.glow-orb,
.radial-blur,
.isometric,
.polygon-bg,
.geo-float,
.low-opacity-poly {
  display: none !important;
  visibility: hidden !important;
}

.hero.hero--singularity.hero--summit .hero__logo-sep,
.hero.hero--singularity.hero--summit .hero__logo-group::before,
.hero.hero--singularity.hero--summit .hero__logo-group::after {
  display: none !important;
  border: 0 !important;
  background: none !important;
}

.nav.nav--light-section,
.nav.scrolled.nav--light-section {
  background: rgba(255,255,255,0.97) !important;
  border-color: rgba(7,25,46,0.08) !important;
  box-shadow: 0 14px 44px rgba(7,25,46,0.10) !important;
  backdrop-filter: blur(14px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.2) !important;
}

.nav.nav--light-section .nav__brand-text,
.nav.nav--light-section .nav__link,
.nav.scrolled.nav--light-section .nav__brand-text,
.nav.scrolled.nav--light-section .nav__link {
  background: none !important;
  color: var(--mind-dark) !important;
  -webkit-text-fill-color: var(--mind-dark) !important;
  text-shadow: none !important;
}

.nav.nav--light-section .nav__link:hover,
.nav.nav--light-section .nav__link.active {
  color: var(--mind-cyan) !important;
  -webkit-text-fill-color: var(--mind-cyan) !important;
}

.nav.nav--light-section .nav__hamburger span {
  background: var(--mind-dark) !important;
  box-shadow: none !important;
}

#hero .hero__btn-primary,
#hero .hero__btn-outline {
  min-height: 52px !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  background:
    linear-gradient(rgba(7,25,46,0.54), rgba(7,25,46,0.54)) padding-box,
    var(--mind-gradient) border-box !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 16px 38px rgba(7,25,46,0.22) !important;
}

#hero .hero__btn-primary:hover,
#hero .hero__btn-outline:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 48px rgba(28,198,181,0.24) !important;
}

#hero .hero__cta {
  flex-wrap: wrap !important;
}

#sobre.sobre-purpose {
  background: #FFFFFF !important;
  color: var(--mind-dark) !important;
  padding-top: clamp(70px, 7vw, 130px) !important;
  padding-bottom: clamp(70px, 7vw, 130px) !important;
}

#sobre .purpose__bg,
#sobre .purpose-arc {
  display: none !important;
}

#sobre .purpose__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: clamp(42px, 6vw, 80px) !important;
  align-items: center !important;
  width: min(100% - 40px, 1180px) !important;
  margin: 0 auto !important;
}

#sobre .purpose__copy {
  max-width: 640px !important;
  padding-left: clamp(0px, 2vw, 32px) !important;
}

#sobre .purpose__label {
  color: var(--mind-cyan) !important;
  font-weight: 900 !important;
  letter-spacing: 0.18em !important;
}

#sobre .purpose__rule {
  display: block !important;
  width: 60px !important;
  height: 3px !important;
  background: var(--mind-gradient) !important;
}

#sobre .purpose__title {
  color: var(--mind-dark) !important;
}

#sobre .kw--cyan,
#sobre .kw--blue,
#agenda .section-title span,
#innovation-hub .innovahub__title span,
#precios .passes__title span {
  background: var(--mind-gradient) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  font-style: normal !important;
}

#sobre .purpose__text {
  color: var(--mind-muted) !important;
}

#sobre .purpose__keywords {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

#sobre .purpose__keywords li {
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  background:
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    var(--mind-gradient) border-box !important;
  color: var(--mind-cyan) !important;
  font-weight: 900 !important;
}

#sobre .purpose__keywords li:hover {
  background: var(--mind-gradient) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

#sobre .purpose__media {
  display: block !important;
  position: relative !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 24px !important;
}

#sobre .purpose__media::before {
  content: "" !important;
  position: absolute !important;
  inset: -2px !important;
  border-radius: 26px !important;
  background: var(--mind-gradient) !important;
  opacity: 0.6 !important;
  z-index: -1 !important;
}

#sobre .purpose__media img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  border-radius: 24px !important;
  box-shadow: 0 30px 80px rgba(28,198,181,0.15), 0 10px 40px rgba(31,143,224,0.10) !important;
  transition: transform 0.6s ease, box-shadow 0.6s ease !important;
}

#sobre .purpose__media img:hover {
  transform: scale(1.02) translateY(-4px) !important;
  box-shadow: 0 40px 100px rgba(28,198,181,0.20), 0 20px 60px rgba(31,143,224,0.15) !important;
}

#ejes .ejes-metrics strong,
#ejes .text-brand-cyan {
  color: var(--mind-cyan) !important;
}

#ejes .ejes-tag-top {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: var(--mind-gradient) !important;
  color: #FFFFFF !important;
}

#ejes .ejes-live-pill {
  border-color: rgba(28,198,181,0.35) !important;
  color: var(--mind-cyan) !important;
}

#ejes .eje-card-unsa {
  border-bottom: 3px solid transparent !important;
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
}

#ejes .eje-card-unsa:hover {
  border-bottom-color: var(--mind-cyan) !important;
  transform: translateY(-8px) scale(1.01) !important;
}

#ejes .subtopic-chip {
  background: rgba(28,198,181,0.10) !important;
  border: 1px solid rgba(28,198,181,0.30) !important;
  color: var(--mind-cyan) !important;
}

#ejes .subtopic-chip:hover {
  background: var(--mind-gradient) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

#ejes .closing-phrase strong:nth-of-type(odd) {
  color: var(--mind-cyan) !important;
}

#ejes .closing-phrase strong:nth-of-type(even) {
  color: var(--mind-blue) !important;
}

#agenda.agenda--engine,
#innovation-hub.innovahub,
#precios.passes-section {
  background: #FFFFFF !important;
  color: var(--mind-dark) !important;
}

#agenda.agenda--engine::before,
#agenda.agenda--engine::after,
#innovation-hub.innovahub::before,
#innovation-hub.innovahub::after,
#precios.passes-section::before,
#precios.passes-section::after {
  display: none !important;
}

#agenda .section-tag {
  color: var(--mind-cyan) !important;
  border: 1px solid var(--mind-cyan) !important;
  background: rgba(28,198,181,0.08) !important;
}

#agenda .section-title,
#innovation-hub .innovahub__title,
#precios .passes__title {
  color: var(--mind-dark) !important;
  text-shadow: none !important;
}

#agenda .section-subtitle,
#innovation-hub .innovahub__lead {
  color: var(--mind-muted) !important;
}

#agenda .agenda__topbar {
  background: var(--mind-soft) !important;
  border: 1px solid rgba(28,198,181,0.20) !important;
  color: var(--mind-dark) !important;
}

#agenda .agenda__kicker {
  color: var(--mind-cyan) !important;
  font-weight: 900 !important;
}

#agenda .agenda__day-meta {
  color: var(--mind-muted) !important;
}

#agenda .agenda__download,
#precios .passes__secondary {
  border: 2px solid transparent !important;
  background:
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    var(--mind-gradient) border-box !important;
  color: var(--mind-cyan) !important;
  -webkit-text-fill-color: var(--mind-cyan) !important;
}

#agenda .agenda__day-btn {
  background: #F0F4F8 !important;
  border: 1px solid #E2E8F0 !important;
  color: var(--mind-muted) !important;
  box-shadow: none !important;
}

#agenda .agenda__day-btn span,
#agenda .agenda__day-btn strong {
  color: inherit !important;
}

#agenda .agenda__day-btn.active {
  background: var(--mind-gradient) !important;
  border-color: transparent !important;
  color: #FFFFFF !important;
  box-shadow: 0 4px 20px rgba(28,198,181,0.30) !important;
}

#agenda .agenda__filters button {
  background: #FFFFFF !important;
  border: 1px solid rgba(28,198,181,0.30) !important;
  color: var(--mind-cyan) !important;
}

#agenda .agenda__filters button.active,
#agenda .agenda__filters button[aria-pressed="true"] {
  background: var(--mind-cyan) !important;
  color: #FFFFFF !important;
}

#agenda .timeline__spine,
#agenda .timeline__line,
#agenda .agenda-timeline__line {
  background: linear-gradient(to bottom, var(--mind-cyan), var(--mind-blue)) !important;
}

#agenda .timeline__node {
  background: var(--mind-cyan) !important;
  border: 3px solid #FFFFFF !important;
  box-shadow: 0 0 0 8px rgba(28,198,181,0.12), 0 12px 28px rgba(28,198,181,0.22) !important;
}

#agenda .timeline__item,
#agenda .activity-card {
  background: #FFFFFF !important;
  border: 1px solid rgba(28,198,181,0.15) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}

#agenda .timeline__item:hover,
#agenda .activity-card:hover {
  border-color: var(--mind-cyan) !important;
  box-shadow: 0 8px 30px rgba(28,198,181,0.15) !important;
  transform: translateY(-2px) !important;
}

#agenda .timeline__time,
#agenda .activity-card__time {
  color: var(--mind-cyan) !important;
  font-weight: 900 !important;
}

#agenda .timeline__badge,
#agenda .activity-card__tipo {
  background: rgba(28,198,181,0.10) !important;
  color: var(--mind-cyan) !important;
}

#agenda [data-category="ponencias"] .timeline__badge,
#agenda [data-category="ponencias"] .activity-card__tipo {
  background: rgba(31,143,224,0.10) !important;
  color: var(--mind-blue) !important;
}

#agenda [data-category="talleres"] .timeline__badge,
#agenda [data-category="talleres"] .activity-card__tipo {
  background: rgba(0,230,118,0.12) !important;
  color: #00875A !important;
}

#agenda .timeline__title,
#agenda .activity-card__title {
  color: var(--mind-dark) !important;
}

#agenda .timeline__desc,
#agenda .activity-card__desc {
  color: var(--mind-muted) !important;
}

#innovation-hub .innovahub__tag {
  display: inline-flex !important;
  width: max-content !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: var(--mind-gradient) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: 0 !important;
}

#innovation-hub .innovahub__item {
  background: var(--mind-soft) !important;
  border-left: 3px solid transparent !important;
  color: var(--mind-dark) !important;
}

#innovation-hub .innovahub__item.active {
  background: #FFFFFF !important;
  border-left-color: var(--event-color, var(--mind-cyan)) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06) !important;
}

#innovation-hub .innovahub__num {
  color: var(--event-color, var(--mind-cyan)) !important;
  font-weight: 900 !important;
}

#innovation-hub .innovahub__copy strong,
#innovation-hub .innovahub__panel-title {
  color: var(--mind-dark) !important;
}

#innovation-hub .innovahub__copy small,
#innovation-hub .innovahub__panel-desc {
  color: var(--mind-muted) !important;
}

#innovation-hub .innovahub__active-line {
  background: var(--event-color, var(--mind-cyan)) !important;
}

#innovation-hub .innovahub__panel {
  background: var(--mind-soft) !important;
  border: 1px solid rgba(28,198,181,0.15) !important;
  border-radius: 20px !important;
  box-shadow: 0 18px 50px rgba(7,25,46,0.08) !important;
}

#innovation-hub .innovahub__panel-img {
  background: var(--mind-gradient) !important;
}

#innovation-hub .innovahub__eyebrow {
  color: var(--mind-cyan) !important;
  font-weight: 900 !important;
}

#innovation-hub .innovahub__meta span {
  background: rgba(28,198,181,0.08) !important;
  border: 1px solid rgba(28,198,181,0.20) !important;
  color: var(--mind-cyan) !important;
}

#innovation-hub .innovahub__badge,
#precios .passes__primary,
#precios .pass-card__popular {
  background: var(--mind-gradient) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

#precios .passes__label {
  color: var(--mind-cyan) !important;
  letter-spacing: 0.18em !important;
  font-weight: 900 !important;
  background: transparent !important;
  border-color: transparent !important;
}

#precios .passes__limited {
  background: rgba(0,230,118,0.10) !important;
  border: 1px solid var(--mind-green) !important;
  color: #00796B !important;
  border-radius: 999px !important;
  padding: 6px 16px !important;
}

#precios .pass-card {
  background: var(--mind-soft) !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

#precios .pass-card strong {
  color: var(--mind-dark) !important;
}

#precios .pass-card small {
  color: var(--mind-muted) !important;
}

#precios .pass-card em {
  color: #718096 !important;
}

#precios .pass-card:hover,
#precios .pass-card.active {
  border: 2px solid var(--card-color, var(--mind-cyan)) !important;
  box-shadow: 0 8px 30px color-mix(in srgb, var(--card-color, var(--mind-cyan)) 22%, transparent) !important;
}

#precios .passes__detail {
  background: #FFFFFF !important;
  box-shadow: 0 18px 54px rgba(7,25,46,0.08) !important;
}

#precios .passes__detail-identity {
  border-right: 1px solid #E2E8F0 !important;
}

#precios .passes__watching,
#precios .passes__thumbs figure figcaption {
  color: #718096 !important;
}

#precios .passes__active-name {
  color: var(--pass-color, var(--mind-cyan)) !important;
  -webkit-text-fill-color: var(--pass-color, var(--mind-cyan)) !important;
}

#precios .passes__active-title,
#precios .passes__price strong,
#precios .passes__gallery-title {
  color: var(--mind-dark) !important;
  -webkit-text-fill-color: var(--mind-dark) !important;
}

#precios .passes__price em {
  color: var(--mind-green) !important;
}

#precios .benefits__list li,
#precios .passes__benefits li {
  color: var(--mind-dark) !important;
}

#precios .benefits__list li::before,
#precios .passes__benefits li::before {
  color: var(--mind-cyan) !important;
}

#precios .passes__gallery-main {
  background: #F0F4F8 !important;
  border: 1px solid rgba(28,198,181,0.20) !important;
  border-radius: 16px !important;
}

@media (max-width: 1024px) {
  #hero .hero__split {
    padding: 120px 40px 60px !important;
  }

  #sobre .purpose__inner {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }
}

@media (max-width: 768px) {
  #hero .hero__mind,
  #hero .hero__mind .char {
    font-size: clamp(80px, 20vw, 140px) !important;
  }

  #hero .hero__cta {
    gap: 12px !important;
  }

  #hero .hero__btn-primary,
  #hero .hero__btn-outline {
    min-width: 200px !important;
  }

  #hero .hero__logos {
    flex-wrap: wrap !important;
    gap: 12px !important;
    padding: 12px 20px !important;
  }

  #agenda .agenda__topbar,
  #precios .passes__header {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

@media (max-width: 480px) {
  #hero.hero.hero--singularity.hero--summit {
    min-height: auto !important;
  }

  #hero .hero__split {
    flex-direction: column !important;
    padding: 100px 20px 40px !important;
  }

  #hero .hero__mind,
  #hero .hero__mind .char {
    font-size: clamp(64px, 18vw, 120px) !important;
  }

  #hero .hero__tagline {
    font-size: clamp(20px, 5vw, 32px) !important;
  }

  #hero .hero__desc {
    font-size: 14px !important;
  }

  #hero .hero__meta {
    flex-direction: column !important;
    gap: 8px !important;
  }

  #hero .hero__cta {
    flex-direction: column !important;
    width: 100% !important;
  }

  #hero .hero__btn-primary,
  #hero .hero__btn-outline {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 16px 24px !important;
    text-align: center !important;
  }

  #hero .hero__logos {
    gap: 12px !important;
    padding: 12px 16px !important;
  }

  #hero .hero__logo-group {
    gap: 8px !important;
  }

  #sobre .purpose__inner,
  #agenda .container,
  #precios .passes__container {
    width: min(100% - 32px, 1180px) !important;
  }

  #sobre .purpose__media img {
    aspect-ratio: 1 / 1 !important;
  }
}

/* ============================================================
   Native module components: Hero CRO, Sobre gallery, Agenda, Innova Hub
   ============================================================ */
:root {
  --mind-primary-gradient: linear-gradient(90deg, #1E6CFA 0%, #1687F0 25%, #12A6DB 50%, #1ABDBF 75%, #29CEAD 100%);
  --mind-cta-border: linear-gradient(135deg, #1CC6B5 0%, #1F8FE0 100%);
  --mind-text-dark: #07192E;
  --mind-text-muted: #4A5568;
  --mind-surface: #FFFFFF;
  --mind-surface-soft: #F8FAFC;
  --mind-shadow-soft: 0 22px 70px rgba(7, 25, 46, 0.10);
}

.nav__links {
  gap: clamp(8px, 0.9vw, 16px) !important;
}

.nav__link {
  font-size: clamp(10px, 0.68vw, 12px) !important;
}

#hero.hero.hero--singularity.hero--summit {
  min-height: 100svh !important;
  height: auto !important;
}

#hero .hero__logos {
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

#hero .hero__logos::before,
#hero .hero__logos::after {
  content: none !important;
  display: none !important;
}

#hero .hero__split {
  min-height: 0 !important;
  padding-block: clamp(1.25rem, 4.4svh, 4.5rem) clamp(2rem, 6svh, 4.5rem) !important;
  gap: clamp(1rem, 4vw, 4rem) !important;
}

#hero .hero__text-col {
  max-width: min(100%, 42rem) !important;
  gap: clamp(0.65rem, 1.5svh, 1.25rem) !important;
}

#hero .hero__summit {
  font-size: clamp(0.72rem, 1.1vw, 1rem) !important;
}

#hero .hero__mind,
#hero .hero__mind .char {
  font-size: clamp(3.7rem, 8.6vw, 8rem) !important;
  line-height: 0.88 !important;
}

#hero .hero__year {
  font-size: clamp(1.45rem, 3.2vw, 3.8rem) !important;
}

#hero .hero__tagline {
  margin-top: clamp(0.7rem, 2svh, 1.4rem) !important;
  font-size: clamp(1.15rem, 2.25vw, 2.25rem) !important;
}

#hero .hero__desc {
  margin-top: clamp(0.65rem, 1.4svh, 1rem) !important;
  font-size: clamp(0.9rem, 1vw, 1.1rem) !important;
  line-height: 1.42 !important;
}

#hero .hero__meta {
  margin-top: clamp(0.7rem, 1.8svh, 1.35rem) !important;
}

#hero .hero__cta {
  margin-top: clamp(0.9rem, 2.2svh, 1.6rem) !important;
}

#hero .hero__btn-primary,
#hero .hero__btn-outline,
.nav .nav__btn--filled {
  --button-brand: var(--mind-primary-gradient);
}

#hero .hero__btn-primary,
#hero .hero__btn-outline {
  background:
    linear-gradient(rgba(7,25,46,0.62), rgba(7,25,46,0.62)) padding-box,
    var(--button-brand) border-box !important;
  border: 2px solid transparent !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

#hero .hero__btn-primary:hover,
#hero .hero__btn-outline:hover {
  background:
    linear-gradient(rgba(7,25,46,0.34), rgba(7,25,46,0.34)) padding-box,
    var(--button-brand) border-box !important;
}

@media (max-height: 760px) and (min-width: 761px) {
  #hero .hero__logos {
    margin-top: 64px !important;
    padding-block: 4px !important;
  }

  #hero .hero__logo-mark {
    width: 34px !important;
    height: 34px !important;
  }

  #hero .hero__split {
    padding-top: clamp(0.75rem, 2svh, 1.5rem) !important;
    padding-bottom: clamp(1.25rem, 3svh, 2rem) !important;
  }

  #hero .hero__mind,
  #hero .hero__mind .char {
    font-size: clamp(3.35rem, 7.2vw, 6.6rem) !important;
  }

  #hero .hero__tagline {
    font-size: clamp(1rem, 1.9vw, 1.75rem) !important;
  }
}

#sobre .purpose__inner {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: min(100% - clamp(2rem, 7vw, 8rem), 1320px) !important;
  gap: clamp(2rem, 6vw, 6rem) !important;
}

#sobre .purpose__copy {
  align-self: center !important;
  max-width: 42rem !important;
}

#sobre .purpose-gallery {
  width: 100% !important;
  min-height: clamp(28rem, 42vw, 42rem) !important;
}

#sobre .purpose-gallery__stage {
  position: relative !important;
  width: 100% !important;
  height: clamp(24rem, 38vw, 38rem) !important;
  overflow: hidden !important;
  border-radius: 1rem !important;
  background: #EAF7F7 !important;
  box-shadow: var(--mind-shadow-soft) !important;
}

#sobre .purpose-gallery__stage::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  border: 1px solid rgba(28,198,181,0.22) !important;
  border-radius: inherit !important;
  pointer-events: none !important;
}

#sobre .purpose-gallery__image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  /* opacity / transform are GSAP-driven (inline) — must stay non-!important
     so the GSAP timeline in js/about-gallery.js can control them. */
  opacity: 0;
}

#sobre .purpose-gallery__image.is-active {
  opacity: 1;
}

#sobre .purpose-gallery__caption {
  margin-top: 0.85rem !important;
  color: var(--mind-text-muted) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
}

#agenda .agenda__shell {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#agenda .agenda__nav,
#agenda .agenda__filters {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

#agenda .agenda__filter.active,
#agenda .agenda__filter[aria-pressed="true"] {
  background: var(--mind-primary-gradient) !important;
  border-color: transparent !important;
  color: #FFFFFF !important;
}

#agenda .timeline--light {
  position: relative !important;
  display: grid !important;
  gap: clamp(1.5rem, 4vw, 3rem) !important;
  margin-top: clamp(2rem, 5vw, 4rem) !important;
  padding: 0 !important;
}

#agenda .timeline--light .timeline__spine {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 50% !important;
  width: 3px !important;
  transform: translateX(-50%) !important;
  background: var(--mind-primary-gradient) !important;
  border-radius: 999px !important;
}

#agenda .timeline__item--light {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 84px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: clamp(1rem, 2.5vw, 2rem) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#agenda .timeline__item.is-hidden {
  display: none !important;
}

#agenda .timeline__checkpoint {
  grid-column: 2 !important;
  grid-row: 1 !important;
  z-index: 2 !important;
  display: grid !important;
  place-items: center !important;
  width: 84px !important;
  height: 84px !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  border: 3px solid var(--item-color, #1CC6B5) !important;
  box-shadow: 0 0 0 8px rgba(28,198,181,0.10), 0 18px 44px rgba(7,25,46,0.08) !important;
}

#agenda .timeline__checkpoint span {
  color: var(--mind-text-dark) !important;
  -webkit-text-fill-color: var(--mind-text-dark) !important;
  font-size: 0.92rem !important;
  font-weight: 900 !important;
}

#agenda .timeline__item--left .timeline-card {
  grid-column: 1 !important;
}

#agenda .timeline__item--right .timeline-card {
  grid-column: 3 !important;
}

#agenda .timeline-card {
  display: grid !important;
  grid-template-columns: minmax(9rem, 0.85fr) minmax(0, 1.15fr) !important;
  gap: 1rem !important;
  align-items: stretch !important;
  padding: 1rem !important;
  background: var(--mind-surface-soft) !important;
  border: 1px solid rgba(28,198,181,0.22) !important;
  border-radius: 1rem !important;
  box-shadow: 0 16px 46px rgba(7,25,46,0.08) !important;
}

#agenda .timeline-card__media {
  min-height: 11rem !important;
  border-radius: 0.8rem !important;
  overflow: hidden !important;
  background: #E6F6F5 !important;
}

#agenda .timeline-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#agenda .timeline-card__time {
  display: inline-flex !important;
  margin-bottom: 0.45rem !important;
  color: var(--item-color, #1CC6B5) !important;
  -webkit-text-fill-color: var(--item-color, #1CC6B5) !important;
  font-weight: 900 !important;
}

#agenda .timeline-card__type {
  display: inline-flex !important;
  width: max-content !important;
  margin-left: 0.45rem !important;
  padding: 0.25rem 0.55rem !important;
  border-radius: 999px !important;
  background: rgba(28,198,181,0.10) !important;
  color: var(--item-color, #1CC6B5) !important;
  font-size: 0.72rem !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

#agenda .timeline-card__title {
  margin: 0.2rem 0 0.5rem !important;
  color: var(--mind-text-dark) !important;
  -webkit-text-fill-color: var(--mind-text-dark) !important;
  font-size: clamp(1.1rem, 1.35vw, 1.45rem) !important;
  line-height: 1.12 !important;
}

#agenda .timeline-card__desc {
  color: var(--mind-text-muted) !important;
  -webkit-text-fill-color: var(--mind-text-muted) !important;
  line-height: 1.55 !important;
}

#innovation-hub .innovation-hub__inner {
  width: min(100% - clamp(2rem, 7vw, 8rem), 1440px) !important;
  max-width: none !important;
}

#innovation-hub .innovahub__layout {
  display: grid !important;
  grid-template-columns: minmax(22rem, 2fr) minmax(0, 3fr) !important;
  gap: clamp(2rem, 5vw, 5rem) !important;
  align-items: center !important;
}

#innovation-hub .innovahub__list {
  display: grid !important;
  gap: 0.8rem !important;
  margin-top: 2rem !important;
}

#innovation-hub .innovahub__item {
  cursor: pointer !important;
  display: grid !important;
  grid-template-columns: 3.2rem minmax(0, 1fr) !important;
  gap: 0.9rem !important;
  align-items: center !important;
  min-height: 5.2rem !important;
  padding: 1rem !important;
  border-radius: 0.9rem !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}

#innovation-hub .innovahub__item:hover,
#innovation-hub .innovahub__item.active {
  transform: translateX(4px) !important;
}

#innovation-hub .innovahub__panel {
  position: relative !important;
  overflow: hidden !important;
  min-height: clamp(34rem, 48vw, 48rem) !important;
  padding: clamp(1rem, 2vw, 1.4rem) !important;
  background:
    radial-gradient(circle at 78% 12%, color-mix(in srgb, var(--active-color, #1CC6B5) 26%, transparent), transparent 32%),
    linear-gradient(145deg, #061326 0%, #0B1D34 54%, #07192E 100%) !important;
  border: 1px solid color-mix(in srgb, var(--active-color, #1CC6B5) 34%, rgba(255,255,255,0.16)) !important;
  color: #FFFFFF !important;
  box-shadow: 0 34px 90px rgba(7,25,46,0.22) !important;
  transition: opacity 0.3s ease, border-color 0.3s ease !important;
}

#innovation-hub .innovahub__panel.is-updating {
  opacity: 0.72 !important;
}

#innovation-hub .innovahub-display__media {
  position: relative !important;
  /* ALTURA FIJA (antes min-height): con min-height + img height:100% el alto
     colapsaba a auto y la caja tomaba la altura intrínseca de cada imagen →
     al cambiar de evento la foto "se agrandaba" y empujaba el layout. Con
     altura fija, object-fit:cover recorta igual para CUALQUIER imagen y el
     panel queda estable (no se mueve, el fade se mantiene). */
  height: clamp(17rem, 26vw, 25rem) !important;
  overflow: hidden !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,0.06) !important;
}

#innovation-hub .innovahub-display__media img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: saturate(1.04) contrast(1.04) brightness(0.86) !important;
}

#innovation-hub .innovahub-display__schedule {
  position: absolute !important;
  left: 1rem !important;
  right: 1rem !important;
  bottom: 1rem !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.65rem !important;
}

#innovation-hub .innovahub-display__schedule span,
#innovation-hub .innovahub-display__tags span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.45rem !important;
  min-height: 2.4rem !important;
  padding: 0.5rem 0.75rem !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.20) !important;
  color: #FFFFFF !important;
  backdrop-filter: blur(14px) !important;
}

#innovation-hub .innovahub-display__schedule svg {
  width: 1rem !important;
  height: 1rem !important;
  fill: none !important;
  stroke: var(--active-color, #1CC6B5) !important;
  stroke-width: 1.8 !important;
}

#innovation-hub .innovahub-display__body {
  padding: clamp(1.25rem, 2.4vw, 2.2rem) 0.4rem 0.4rem !important;
}

#innovation-hub .innovahub__panel .innovahub__eyebrow {
  color: var(--active-color, #1CC6B5) !important;
}

#innovation-hub .innovahub__panel .innovahub__panel-title {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-size: clamp(2rem, 4vw, 4.5rem) !important;
  line-height: 0.95 !important;
}

#innovation-hub .innovahub__panel .innovahub__panel-desc {
  max-width: 64ch !important;
  color: rgba(255,255,255,0.76) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.76) !important;
  font-size: clamp(1rem, 1.1vw, 1.16rem) !important;
}

#innovation-hub .innovahub-display__tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.65rem !important;
  margin-top: 1.2rem !important;
}

#innovation-hub .innovahub-display__tags span {
  color: var(--active-color, #1CC6B5) !important;
  min-height: 2.15rem !important;
}

#innovation-hub .innovahub-display__stats {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 1px !important;
  margin-top: clamp(1.4rem, 3vw, 2.4rem) !important;
  overflow: hidden !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 1rem !important;
  background: rgba(255,255,255,0.14) !important;
}

#innovation-hub .innovahub-display__stats span {
  display: grid !important;
  gap: 0.35rem !important;
  padding: 1rem !important;
  background: rgba(255,255,255,0.07) !important;
}

#innovation-hub .innovahub-display__stats strong {
  color: var(--active-color, #1CC6B5) !important;
  font-size: clamp(1.4rem, 2.3vw, 2.4rem) !important;
}

#innovation-hub .innovahub-display__stats small {
  color: rgba(255,255,255,0.70) !important;
  font-weight: 800 !important;
}

@media (max-width: 1024px) {
  #sobre .purpose__inner,
  #innovation-hub .innovahub__layout {
    grid-template-columns: 1fr !important;
  }

  #sobre .purpose-gallery {
    min-height: 0 !important;
  }
}

@media (max-width: 760px) {
  #agenda .timeline--light .timeline__spine {
    left: 2rem !important;
  }

  #agenda .timeline__item--light {
    grid-template-columns: 4rem minmax(0, 1fr) !important;
    gap: 0.85rem !important;
  }

  #agenda .timeline__checkpoint {
    grid-column: 1 !important;
    width: 4rem !important;
    height: 4rem !important;
  }

  #agenda .timeline__item--left .timeline-card,
  #agenda .timeline__item--right .timeline-card {
    grid-column: 2 !important;
  }

  #agenda .timeline-card {
    grid-template-columns: 1fr !important;
  }

  #innovation-hub .innovahub-display__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  #sobre .purpose__inner,
  #innovation-hub .innovation-hub__inner {
    width: min(100% - 2rem, 1320px) !important;
  }

  #sobre .purpose-gallery__stage {
    height: 22rem !important;
  }

  #innovation-hub .innovahub__panel {
    min-height: 0 !important;
  }
}


/* --- FINAL FIX BLOCK 2026-06-21 --- */

/* -- FIX 1: MOBILE NAV � links visibles sobre fondo oscuro ------------------- */
.nav__mobile {
  background: rgba(4, 10, 22, 0.97) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  /* NO display:none aqui - lo maneja JS con style.display */
  position: fixed !important;
  inset: 0 !important;
  z-index: 8999 !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.28s ease, visibility 0.28s ease !important;
}
.nav__mobile.open {
  opacity: 1 !important;
  visibility: visible !important;
}
.nav__mobile .nav__link {
  font-size: clamp(20px, 6vw, 28px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-decoration: none !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.nav__mobile .nav__link:hover {
  color: #00E5FF !important;
  -webkit-text-fill-color: #00E5FF !important;
}
.nav__mobile .nav__btn--filled {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  border: 0 !important;
  min-height: 48px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.nav__mobile .nav__btn--outline {
  background: transparent !important;
  border: 2px solid rgba(0, 193, 212, 0.5) !important;
  color: #00E5FF !important;
  -webkit-text-fill-color: #00E5FF !important;
  min-height: 48px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

/* -- FIX 2+3: HERO MOBILE � centrar SUMMIT/MIND/2026 ----------------------- */
@media (max-width: 760px) {
  .hero.hero--singularity .hero__text-col {
    align-items: center !important;
    text-align: center !important;
  }
  .hero.hero--singularity .hero__summit {
    text-align: center !important;
    font-size: clamp(1rem, 7vw, 1.6rem) !important;
    letter-spacing: 0.3em !important;
  }
  .hero.hero--singularity .hero__mind {
    text-align: center !important;
    width: 100% !important;
  }
  #hero .hero__year {
    text-align: center !important;
    font-size: clamp(2.8rem, 18vw, 5rem) !important;
    letter-spacing: 0.12em !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    background: none !important;
  }
  .hero.hero--singularity .hero__tagline {
    align-items: center !important;
  }
  .hero.hero--singularity .hero__desc {
    text-align: center !important;
  }
  #hero .hero__meta { align-items: center !important; }
  .hero.hero--singularity .hero__cta {
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
}

/* -- FIX 4: HERO BUTTONS � color solido igual que INSCRIBETE --------------- */
#hero .hero__btn-primary,
.hero.hero--singularity .hero__btn-primary {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  min-height: 52px !important;
  padding: 0 32px !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 28px rgba(0, 193, 212, 0.35) !important;
  transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}
#hero .hero__btn-primary:hover,
.hero.hero--singularity .hero__btn-primary:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 14px 40px rgba(0, 193, 212, 0.50) !important;
}
#hero .hero__btn-outline,
.hero.hero--singularity .hero__btn-outline {
  background: rgba(255,255,255,0.08) !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  border: 2px solid rgba(255,255,255,0.55) !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  min-height: 52px !important;
  padding: 0 32px !important;
  font-size: clamp(13px, 1vw, 15px) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: background 0.22s ease, border-color 0.22s ease !important;
}
#hero .hero__btn-outline:hover,
.hero.hero--singularity .hero__btn-outline:hover {
  background: rgba(0,193,212,0.18) !important;
  border-color: #00E5FF !important;
}

/* -- FIX 5: EJES � bg blanco limpio sin conflictos --------------------------- */
#ejes,
#ejes.ejes-pure-clean,
#ejes.ejes-director,
#ejes.ejes-pure-clean.ejes-director {
  background: #FFFFFF !important;
  color: #071421 !important;
}

/* -- FIX 6: PASSES � bg blanco, textos oscuros, efecto switch visual --------- */
#precios.passes-section {
  background: #FFFFFF !important;
  color: #071421 !important;
}
#precios .passes__title,
#precios .passes__header h2 {
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
}
#precios .passes__title span {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
#precios .passes__active-desc,
#precios .passes__benefits h3,
#precios .passes__gallery-title {
  color: rgba(7, 20, 33, 0.65) !important;
  -webkit-text-fill-color: rgba(7, 20, 33, 0.65) !important;
}
#precios .passes__primary {
  background: linear-gradient(135deg, #00C1D4 0%, #00E676 100%) !important;
  color: #071421 !important;
  -webkit-text-fill-color: #071421 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 6px 24px rgba(0,193,212,0.28) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}
#precios .passes__primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 36px rgba(0,193,212,0.42) !important;
}
#precios .pass-card {
  transition:
    border-color 0.35s cubic-bezier(0.16,1,0.3,1),
    box-shadow   0.35s cubic-bezier(0.16,1,0.3,1),
    transform    0.35s cubic-bezier(0.16,1,0.3,1),
    background   0.35s ease !important;
}
#precios .pass-card.active {
  border: 2px solid var(--card-color, #00C1D4) !important;
  box-shadow:
    0 0 0 4px color-mix(in srgb, var(--card-color, #00C1D4) 14%, transparent),
    0 12px 40px color-mix(in srgb, var(--card-color, #00C1D4) 22%, transparent) !important;
  transform: translateY(-6px) scale(1.02) !important;
  background: #FFFFFF !important;
}
#precios .passes__active-name {
  font-size: clamp(1.1rem, 1.6vw, 1.5rem) !important;
  font-weight: 900 !important;
  letter-spacing: 0.04em !important;
}
#precios .passes__detail {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  box-shadow: 0 12px 48px rgba(7,25,46,0.08) !important;
  transition: border-color 0.4s ease, box-shadow 0.4s ease !important;
}



/* -- HERO DESKTOP � SUMMIT centrado arriba de MIND, 2026 centrado y grande -- */
#hero .hero__titles {
  text-align: center !important;
}
.hero.hero--singularity .hero__summit {
  text-align: center !important;
}
.hero.hero--singularity .hero__mind {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}
#hero .hero__year {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
}
/* Taglines al centro en desktop */
.hero.hero--singularity .hero__tagline {
  align-items: flex-start !important;
}
/* CTA al centro en desktop */
#hero .hero__cta {
  justify-content: flex-start !important;
}
/* Meta items al centro */
#hero .hero__meta {
  align-self: flex-start !important;
}
